/* -*-c-*-
*
- * $Id: identify.c,v 1.5 1999/10/10 16:45:34 mdw Exp $
+ * $Id: identify.c,v 1.10 2003/11/29 22:15:19 mdw Exp $
*
* Identifies and logs the client of a connection
*
/*----- Revision history --------------------------------------------------*
*
* $Log: identify.c,v $
+ * Revision 1.10 2003/11/29 22:15:19 mdw
+ * And a typo fix.
+ *
+ * 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.
+ *
* Revision 1.5 1999/10/10 16:45:34 mdw
* Modified to use new mLib resolver and ident client.
*
sel_timer t; /* Timeout selector */
bres_client r; /* Backgd resolver client block */
ident_request i; /* Ident client block */
- char host[64]; /* Resolved hostname */
- char user[32]; /* Authenticated client user */
+ char host[128]; /* Resolved hostname */
+ char user[64]; /* Authenticated client user */
} id;
#define S_HOST 1u /* Read the hostname from resolver */
/* --- 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@ --- *
static void id_timer(struct timeval *tv, void *vp)
{
id *i = vp;
+ i->state |= S_TIMER;
id_done(i);
}