Add RSE_DISCO.
authorLinus Nordberg <linus@nordu.net>
Wed, 9 Mar 2011 09:16:27 +0000 (10:16 +0100)
committerLinus Nordberg <linus@nordu.net>
Wed, 9 Mar 2011 09:16:27 +0000 (10:16 +0100)
lib/err.c
lib/include/radsec/radsec.h
lib/tcp.c

index eecebb1..4a90019 100644 (file)
--- a/lib/err.c
+++ b/lib/err.c
@@ -32,6 +32,7 @@ static const char *_errtxt[] = {
   "invalid argument",          /* 17 RSE_INVAL */
   "I/O timeout",               /* 18 RSE_TIMEOUT_IO */
   "timeout",                   /* 19 RSE_TIMEOUT */
+  "peer disconnected",         /* 20 RSE_DISCO */
 };
 #define ERRTXT_SIZE (sizeof(_errtxt) / sizeof(*_errtxt))
 
index f620fed..971fc17 100644 (file)
@@ -26,6 +26,7 @@ enum rs_error_code {
     RSE_INVAL = 17,            /* Invalid argument.  */
     RSE_TIMEOUT_IO = 18,       /* I/O timeout.  */
     RSE_TIMEOUT = 19,          /* High level timeout.  */
+    RSE_DISCO = 20,
 };
 
 enum rs_conn_type {
index c315143..063e9b2 100644 (file)
--- a/lib/tcp.c
+++ b/lib/tcp.c
@@ -209,6 +209,7 @@ tcp_event_cb (struct bufferevent *bev, short events, void *user_data)
       if (sockerr == 0)        /* FIXME: True that errno == 0 means closed? */
        {
          event_on_disconnect (conn);
+         rs_err_conn_push_fl (pkt->conn, RSE_DISCO, __FILE__, __LINE__, NULL);
        }
       else
        {