Newsgroup: it.comp.lang.visual-basic
Titolo: Norton e timeout?

Il Norton antivirus all'interno della sezione email ha un'opzione "Proteggi
da timeout". So qual'e' il problema che corregge (impedisce che durante la
scansione di grosse email il client di posta vada in timeout per l'attesa),
ma mi incuriosiva l'aspetto tecnico, quindi la domanda e': in quale modo
riesce ad evitare che il client vada in timeout?
Nel protocollo POP3 (RFC1939) non trovo un qualcosa che possa dire "attendi
ancora" al client, mi aspettavo qualcosa tipo NOOP ma qualunque cosa venga
inviata al client (io ho provato con OE), anche solo uno spazio o un CR o
LF, mentre questi attende una risposta provoca l'interruzione della sessione
e conseguente messaggio di errore per aver ricevuto una risposta non valida!
So che e' una domanda molto "tecnica" ed approfondita, ma qualcuno sa come
faccia, o almeno puo' suggerire come trovare la risposta?
Nei documenti RFC non ho trovato nulla che possa servirmi, ma hai visto mai
che ho mal interpretato qualcosa...;-)
-- 
Ciao!
   -DocDoc-
--- Per scrivermi: 
do...@despammed.com
Sei anche tu stanco dei messaggi spam? Usa Terminator, il programma
anti-spam italiano FREEWARE! 
http://www.sertel.net/terminator/

mah, guarda, me lo sono chiesto anche io. Ecco la mia conclusione.
Immagina la scena con tre attori:
OE    <--->   Norton <--->   servermail.
Ok. Ora immagina una mail da 3Mb, che ci mette un po' ad arrivare. Tu
clicchi Invia/Ricevi su OE. Norton comincia a scaricare l'e-mail dal server
(3Mb); ovviamente ci vuole il suo tempo. Durante questo lasso di tempo,
Norton e il servermail comunicano tra loro tramite TCP/IP. OE non sa più
nulla di quello che gli accade, perciò dopo un x numeri di secondi avvisa
del timeout scaduto. Questo errore appare anche senza Norton, quando magari
Internet è particolarmente lenta (ad esempio, con un modem 33.6K).
Invece quei flag fanno in modo che ogni tanto Norton dice ad OE un qualcosa
(non saprei dirti cosa) che lo fanno stare buono. Evita quindi che OE vada
in timeout, come se Norton dicesse "sto scaricando, aspetta, è tutto
ok".....
<morale>se tu hai usato un linguaggio poco tecnico, dove metti il
mio?!?!?!</morale>
good coding!!!
-- 
Damiani Liborio Igor
ig...@igordamiani.it
 - 
soft...@igordamiani.it
 - 
idam...@hotmail.com
http://www.igordamiani.it
ICQ : 11847262

 ok".....
Esatto, il problema e' proprio questo.
Ho anche fatto una piccola routine in VB per "simulare" un server pop3
(ovviamente ho creato su OE un account di prova che punta a "localhost"
quindi OE quando faccio invia/ricevi contatta il mio programma) e vedere se,
mettendomi nei "panni" del Norton, trovavo un modo per dre ad OE di
aspettare. Ebbene, quando OE fa l'accesso ed attende una qualche risposta,
qualsiasi risposta diversa da "+OK", anche un semplice carriage return o
line feed, provoca l'errore di OE!
Sto cercando un modo per evitare che quando il mio programma (che si
comporta come Norton, ossia da server pop3 locale) effettua qualche lunga
elaborazione o in caso di lentezze nella rete, OE possa andare in timeout.
Negli RFC (se puo' servire: 
http://www.faqs.org/rfcs/rfc1939.html
) non ho
trovato nulla che possa far pensare a questa situazione, eppure Norton lo
fa, quindi un modo DEVE esserci....
Qualche idea?


ok, ero partito un po' alla lontana perchè non sapevo valutare, diciamo, le
tue abilità....
:-o
allora, la tua è una bella idea. ma una domanda mi sorge!!
invece di fare la parte di norton, perchè non fai l'inverso?
cioè fai un piccolo smtp server, e vedi il norton cosa ti dice, no?
su questo discorso non sono molto ferrato, magari sto dicendo stupidaggini,
in qual caso dimmelo subito....
:-))


 cioè fai un piccolo smtp server, e vedi il norton cosa ti dice, no?
Uhm, probabilmente intendi dire un SMTP client, ossia al posto di OE dovrei
connettermi al Norton e cercare di scaricare la posta... Si puo' fare, non
e' un problema fare un SMTP client, d'altronde basterebbe anche il semplice
telnet, ossia:
telnet nomeserver 110
per collegarmi a "nomeserver" sulla porta POP3 ossia la 110, e con Norton di
mezzo dovrei vedere qualcosa.
Ma con il telnet non avrei modo di sapere se viene inviato qualche carattere
non stampabile, potrei attivare un log della sessione, ma preferisco fare un
programmino ad hoc.
Il fatto e' che non so bene come provocare il timeout (ossia la condizione
per la quale Norton evita il timeout di OE) da parte del Norton...
Ci devo pensare, almeno e' una traccia che potrebbe risultarmi utile, ti
ringrazio.


sai cosa stavo pensando? che magari dopo l'installazione del norton vengono
modificate una o più dll di OE.
Sarebbe interessante vedere 'sta cosa. Ho pensato questa cosa dopo aver
installato il messenger della microsoft, che va a modificare la finestra
Opzioni di OE, per caricare messenger all'avvio e cose del genere)....
magari, ripeto, il norton si interfaccia con oe tramite dll apposite.
Oppure, ancora, non è che norton fa da proxy in qualche modo? OE dialoga con
norton su una porta diversa da quelle standard.....no, non credo, *tutti* i
programmi che accedono vengono intercettati da norton, per cui....no, non
credo che sia questa la strada.....


Mi intrometto a mezza via, ma da quel poco che avevo visto Norton
va solo a sostituire il server pop3 frapponendo l'indirizzo di un server
di posta della norton stessa nella quale veicola i messaggi li scansiona
e poi li rispedisce al client oe o chi per lui.
Escluderei quindi qualche dll sovrascritta.
-- 
Saluti
Andrea Moro

 dovrei connettermi al Norton e cercare di scaricare la posta...
Posso darti un altro suggerimento: metti uno sniffer e controlla quello
che passa. D'altra parte tieni presente che, come dice Andrea Moro,
Norton si mette come filtro tra OE e il server SMTP, il che complica
un po' le cose. Il sistema, AFAIK, è che Norton ha un server SMTP
interno, sulla porta 110 e su localhost (127.0.0.1). Quando riceve una
richiesta da OE, a sua volta si connette al server SMTP esterno, scarica
la posta e la mette a disposizione di OE, sul _suo_ server.
Quindi, bisogna vedere se gli sniffer possono vedere i dati che
girano su localhost oppure se il S.O. (come temo) li "cortocircuita"
direttamente senza mandarli neanche ai driver di rete.
Un'altra idea: non è che Norton si limita ad allungare a dismisura
il timeout di OE ? Non ho Norton, ma immagino che debba aggiungere
un suo account dentro OE; se è così, controlla in questa chiave:
HKEY_CURRENT_USER\Software\Microsoft\Internet Account
Manager\Accounts\[numero relativo all'account di Norton]\SMTP Timeout
Bye, G.

 Oppure, ancora, non è che norton fa da proxy in qualche modo?
Fino alla versione 2001 faceva cosi', ma dalla 2002 no, agisce piu' a basso
livello, ossia non si pone come normale server POP3 ma e' in grado di
"vedere" cosa richiede il client di posta sulla porta POP3 110, e cosa
risponde il server, quindi forse agganciandosi alle comunicazioni tramite un
qualche "hook" con cui riesce a evitare il timeout.
Ma anche in questo caso non ho trovato alcun riferimento ne' a come potersi
agganciare alle comunicazioni TCP/IP, quanto meno in VB, ne' a qualche
eventuale altro metodo per poter evitare il timeout da normale sessione
POP3.
Ma se il discorso del "testo nascosto nella parte superiore" e'
valido...:-))


 il timeout di OE ?
Non credo, perche', come ho detto, non e' un parametro specifico per OE ma
e' generale.
Ma un'occhiata a quella chiave potrebbe essere interessante, grazie! :-)


 bene anche una demo che vale per 30 giorni...;-))
Gugla per "sniffer freeware", trovi sicuramente qualcosa basato
sulle WinPcap del PoliTo. Altrimenti, cerca SpyNet. Se sei su W2K
Server (non so sul pro) c'è già qualcosa, "Network Monitor".
Bye, G.