Azzurra IRC Network Forum

Dead error

Steve · 20/11/2002 17:58 · #1
Miracoli dell'ADSL: il mio pc e la mia connessione hanno un uptime di 8 giorni, e sono su Azzurra a fare un po' il bot :)
Stamane ho cambiato nick in `work`, mi sono messo away e son filato in ufficio. Tornato a casa, ho visto che l'ultimo messaggio su mIRC era datato alle 09:29 , e nello status non ho avuto alcuna riconnessione automatica. A quel punto, ho eseguito una disconnessione, ho killato il mio stunnel, e mi son riconnesso nuovamente in SSL.
Rientrato in canale, mi e' stato riferito il mio quit message:

(18:48:12) * `work` (~steve@62.123.AzzurraNET=712D9CA6) Quit (Read/Dead Error: Input/output error)

...qualcuno me lo sa decifrare, o mi sa dire cosa e' successo nelle 9 ore fra l'ultimo messaggio e la mia disconnessione? :)

Tnx! ^^

Edit/Update : dai log del mio router, 9 ore fa mi sono disconnesso e riconnesso... strano che mIRC non se ne sia accorto, e strano anche che la mia assenza sia stata segnalata proprio quando mi sono disconnesso, anche se con un quit "inedito"...
void` · 30/11/2002 16:29 · #2
[cut]

(18:48:12) * `work` (~steve@62.123.AzzurraNET=712D9CA6) Quit (Read/Dead Error: Input/output error)

...qualcuno me lo sa decifrare, o mi sa dire cosa e' successo nelle 9 ore fra l'ultimo messaggio e la mia disconnessione? :)

Edit/Update : dai log del mio router, 9 ore fa mi sono disconnesso e riconnesso... strano che mIRC non se ne sia accorto, e strano anche che la mia assenza sia stata segnalata proprio quando mi sono disconnesso, anche se con un quit "inedito"...


il problema risiede in come e` fatto l`ircd, e nel suo originario non-supporto per SSL. quando
c`e` un errore non ricoverabile durante la connessione, il server e` costretto ad abortirla
nel peggiore dei modi, e questo e` stato implementato marcando il socket come "DEAD",
per evitare che su una connessione gia` morta venisse inviata la stringa "ERROR", causando
un loop e quindi uno stack overflow =)

in questi casi ho quindi deciso di marcare forzatamente come "DEAD" il socket e, se non ho
informazioni sufficienti sulla natura dell`errore utilizzo EIO, cioe` un generico errore di Input/
output.

il codice relativo e` questo:


/* if we reply() something here, we might just trigger another
* fatal_ssl_error() call and loop until a stack overflow...
* the client won`t get the ERROR : ... string, but this is
* the only way to do it.
* IRC protocol wasn`t SSL enabled .. --vjt
*/

errno = errtmp ? errtmp : EIO; /* Stick a generic I/O error */
sptr->sockerr = IRCERR_SSL;
sptr->flags |= FLAGS_DEADSOCKET;


non e` il massimo della pulizia, ma fa il suo dovere =)

spero di non esser stato troppo tecnico =)

ciao
Steve · 30/11/2002 20:40 · #3
Grazie per la risposta vjt :)
Non temere, l'ho capita, anche se non so nemmeno che linguaggio di programmazione usa quel pezzo di codice che hai pastato... :D

Comunque, il mio dubbio dubbioso rimane sempre questo: se io alle 9 mi sono sconnesso e riconnesso, devo avere per forza perso il link con crypto.azzurra.org, giusto? Eppure, perche' il Dead Error mi e' giunto esattamente quando sul mio client, alle 18, ho cliccato su "disconnect" ? Dal momento che mi ero sconnesso e NON riconnesso ad irc, come faceva l'ircd a sapere che mi stavo disconnettendo?

...stavolta spero di essere stato chiaro io... :)
void` · 01/12/2002 20:11 · #4
Comunque, il mio dubbio dubbioso rimane sempre questo: se io alle 9 mi sono sconnesso e riconnesso, devo avere per forza perso il link con crypto.azzurra.org, giusto? Eppure, perche' il Dead Error mi e' giunto esattamente quando sul mio client, alle 18, ho cliccato su "disconnect" ? Dal momento che mi ero sconnesso e NON riconnesso ad irc, come faceva l'ircd a sapere che mi stavo disconnettendo?

...stavolta spero di essere stato chiaro io... :)


ora ho capito davvero che intendevi dire .. e non so risponderti. e` come se la connessione fosse rimasta in "stallo" ed il tuo stunnel non l`abbia chiusa. ovviamente quando lo hai chiuso essa e` stata forzatamente chiusa. mi documentero` ma penso sia uno di quei bug "oscuri" di openssl (non e` ancora 1.0 =)

ciao =)
Steve · 01/12/2002 20:32 · #5
ora ho capito davvero che intendevi dire .. e non so risponderti. e` come se la connessione fosse rimasta in "stallo" ed il tuo stunnel non l`abbia chiusa. ovviamente quando lo hai chiuso essa e` stata forzatamente chiusa. mi documentero` ma penso sia uno di quei bug "oscuri" di openssl (non e` ancora 1.0 =)

ciao =)

Azzardo un'ipotesi... Non so se la mia connessione e' ad IP statico, ma se lo fosse potrebbe voler dire qualcosa? Magari invece di cadere per ping timeout son finito in questa strana situazione...
Grazie per l'analisi, cmq e' piu' una curiosita' che altro... difatti ora sto chattando senza problemi :D