Fix bug in identification timout handling.
[fwd] / identify.c
index 87ba126..e35799c 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: identify.c,v 1.6 2001/06/22 19:36:49 mdw Exp $
+ * $Id: identify.c,v 1.9 2003/11/29 22:13:43 mdw Exp $
  *
  * Identifies and logs the client of a connection
  *
 /*----- Revision history --------------------------------------------------* 
  *
  * $Log: identify.c,v $
+ * Revision 1.9  2003/11/29 22:13:43  mdw
+ * Fix bug in identification timout handling.
+ *
+ * Revision 1.8  2003/11/29 20:36:07  mdw
+ * Privileged outgoing connections.
+ *
+ * Revision 1.7  2002/02/22 23:43:32  mdw
+ * Call @xfree@ rather than @free@.
+ *
  * Revision 1.6  2001/06/22 19:36:49  mdw
  * Enlarge the identity buffer.
  *
@@ -130,14 +139,15 @@ static void id_done(id *i)
 
   /* --- Report the final result --- */
 
-  fw_log(i->when, "[%s] %s from %s@%s [%s]",
+  fw_log(i->when, "[%s] %s from %s@%s [%s:%u]",
         i->q.desc, i->q.act,
-        i->user, i->host, inet_ntoa(i->q.rsin.sin_addr));
+        i->user, i->host,
+        inet_ntoa(i->q.rsin.sin_addr), (unsigned)ntohs(i->q.rsin.sin_port));
 
   /* --- Dispose of the block --- */
 
   REFFD_DEC(i->q.r);
-  free(i);
+  xfree(i);
 }
 
 /* --- @id_res@ --- *
@@ -199,6 +209,7 @@ static void id_ident(ident_reply *ir, void *vp)
 static void id_timer(struct timeval *tv, void *vp)
 {
   id *i = vp;
+  i->state |= S_TIMER:
   id_done(i);
 }