Newsgroup: it.comp.programmare.win32
Titolo: Cgi su IIS

Ho creato una cgi che funziona perfettamente fino a che non viene chiamata
la funzione che è quello per cui ho creato la cgi... cioè la risoluzione di
un DNS.
La funzione utilizzata sotto windows funziona perfettamente, quando la uso
su di una cgi locale mi da errore generale e balle varie...
Non penso sia un problema del mio IIS perchè non funziona neanche sul mio
server su internet...
Cosa può essere secondo voi?
Utilizzo le winsock2, ed includo tutto, è tutto linkato staticamente....
Altre note:
Faccio il dovuto WSAStartup(), il WSA CleanU alla fine e utilizzo la
if ((hostinfo = gethostbyaddr(ip,strlen(ip),AF_INET))!=NULL)
Comuqneu ribadisco su windows mi funziona tutto alla perfezione.

 su di una cgi locale mi da errore generale e balle varie...
Scusa ma cosa intendi che se gira sotto windows tutto ok se la usi una cgi
locale ti da errore?
La prima condizione (sotto windows) indica un sistema operativo nel quale
tuo codice viene eseguito.
La seconda, che condizione identifica?

La descrizione del problema è un pò generica.
Che errore specifico ti restituisce il cgi?
Eventualmente posta il codice
"Gabry23" <Gab...@Yahoo.it> wrote in message
news:artgnc$mrs$1...@lacerta.tiscalinet.it...


Mi spiego meglio..
Ho creato una unit che contiene una funzione RisolviDns, e quando utilizzo
questa funzione da un qualsiasi programma scritto in c++ sotto linux, tutto
funziona perfettamente.
Invece ho incluso questa funzione in una cgi che ho creato e ho messo nella
cartella http:://localhost/cgi-bin (per capirci), che funziona perfettamente
fino a quando questa funzione non viene richiamata, e in quel momento mi
dice che l'applicazione ha causato degli errori e verrà chiusa.
Tutti i diritti su iis sono settati alla perfezione, la mia funzione
"funziona" quando la utilizzo da altri programmi, e comunque distrugge tutti
i puntatori che crea, chiude i wsastartup ecc...
Spero di essere stata più chiara
"Roß®" <fhc...@tinPUNTO.it> ha scritto nel messaggio
news:0JuE9.54272$744.1...@news1.tin.it...


 Spero di essere stata più chiara
Dunque...
Tu hai un modulo (oppure codice che sposti con copia incolla) che implementa
questa funzione: se la richiami da codice c++ sotto linux tutto ok, se la
richiami da cgi no e se invece la chiami da codice c++ sotto windows?
Se ti da errore sia come cgi sia come codice compilato allora probabilmente
l'uso dei socket che fai è conforme allo standard unix ma non al winsock
(che libreria usi?) altrimenti se ti da errore solo come cgi può essere
davvero un errore di sicurezza, anche se è strano che l'errore non sia
gestito in modo esplicito.
Fai un ulteriore prova fai girare lo script su apache *sotto windows*...
ciao

Sto impazzendo!! :)
Non so perchè ho scritto sotto linux, ma non c'entra niente, intendevo dire
windows.
Comunque, proprio cosi':
Ho creato una funzione char* RisolviDNS(char* Indirizzo);
Non fa niente di pazzesco, startuppa il WSA e chiama la
gethostbyaddress(Indirizzo)
Quando la riutilizzo nei miei programmi funziona alla perfezione.
Da problemi quando la utilizzo nella mia cgi che comunque funziona, non da
errore generale finchè non viene mandato il comando
cgi.exe?Ipdaconvertire=...
Lo stesso vale per la funzione IpToDNS(...)
Uso la libreria Winsock2, uso c++Builder, il codice è un pò lungo a causa di
un pò di controlli che faccio sullo startup del wsa, ma lo posso inviare in
via privata...
Queste alcuni informazioni che da... errore su kernel32..
AppName: cgidns.exe AppVer: 0.0.0.0 ModName: kernel32.dll
ModVer: 5.1.2600.0 Offset: 0000d756
"Roß®" <fhc...@tinPUNTO.it> ha scritto nel messaggio
news:H42F9.999$kM1....@news1.tin.it...
