diff --git a/src/server/ChangeLog b/src/server/ChangeLog index a519463ba05bb7a025221efa7578a4e92962e1f3..2738d468fc59e87d79cd7d092cccffc7c472b738 100644 --- a/src/server/ChangeLog +++ b/src/server/ChangeLog @@ -1,6 +1,16 @@ +Wed Aug 12 01:38:22 1992 Per Cederqvist (ceder@robin) + + * rfc931.c (get_real_username): Introduce 20-second timeout. Log + any ident queries that takes more than 3 seconds. New argument: + hostname (only used for the log). + * connections.c (login_request): Send the new argument. + + * log.c (logv): Print the log message on a single line, with the + time in the first 20 columns. (Facilitate log browsing). + Wed Aug 12 00:33:55 1992 Inge Wallin (inge@lysator) - * simple-cache.c(save_one_text): Write texts to file as long as + * simple-cache.c (save_one_text): Write texts to file as long as they are removed. Thu Jun 11 16:28:39 1992 Per Cederqvist (ceder@lysator) diff --git a/src/server/connections.c b/src/server/connections.c index e7929fc2f86b8668d953a0f9b8c52121c063ddbf..984fba6e3411df0ea0c925f2502db04f7e529939 100644 --- a/src/server/connections.c +++ b/src/server/connections.c @@ -1,5 +1,5 @@ /* - * $Id: connections.c,v 0.19 1992/06/11 14:32:54 ceder Exp $ + * $Id: connections.c,v 0.20 1992/08/12 04:12:53 ceder Exp $ * Copyright (C) 1991 Lysator Academic Computer Association. * * This file is part of the LysKOM server. @@ -30,7 +30,7 @@ * Created by Willf|r 31/3-90. Mostly written by ceder. */ -static char *rcsid = "$Id: connections.c,v 0.19 1992/06/11 14:32:54 ceder Exp $"; +static char *rcsid = "$Id: connections.c,v 0.20 1992/08/12 04:12:53 ceder Exp $"; #include <errno.h> @@ -781,7 +781,7 @@ login_request(IscEvent *event) /* Get the real user name, as returned by the Ident protocol (rfc 931). */ - realuser = get_real_username(event->session); + realuser = get_real_username(event->session, hostname); if (realuser != NULL) s_crea_str(&cp->ident_user, realuser); diff --git a/src/server/rfc931.c b/src/server/rfc931.c index 63e103c0795947c33ab82e2c54eaec58e570e6b4..d57f32415e3378101301dc72f74975869c55ece0 100644 --- a/src/server/rfc931.c +++ b/src/server/rfc931.c @@ -1,5 +1,5 @@ /* - * $Id: rfc931.c,v 1.2 1992/04/01 20:32:03 ceder Exp $ + * $Id: rfc931.c,v 1.3 1992/08/12 04:12:57 ceder Exp $ * Copyright (C) 1991 Lysator Academic Computer Association. * * This file is part of the LysKOM server. @@ -36,22 +36,40 @@ #include <m-config.h> #include "rfc931.h" #include <authuser.h> +#include <errno.h> +#include "log.h" #ifdef RFC_931 char * -get_real_username(IscSession *scb) +get_real_username(IscSession *scb, + char *hostname) { unsigned long inlocal; unsigned long inremote; unsigned short local; unsigned short remote; - + char *result; + time_t before, after; if (auth_fd2(scb->fd, &inlocal, &inremote, &local, &remote) == -1) return NULL; - return auth_tcpuser2(inlocal, inremote, local, remote); + time(&before); + result = auth_tcpuser3(inlocal, inremote, local, remote, 20); + if (result == NULL && errno == ETIMEDOUT) + log ("Identd request to %s timed out.\n", hostname); + else + { + time(&after); + if (difftime(after, before) > 3) + log ("Identd request to %s yielded %s after %d seconds.\n", + hostname, + result == NULL ? "(null)" : result, + (int)difftime(after, before)); + } + + return result; } #endif diff --git a/src/server/rfc931.h b/src/server/rfc931.h index 5e1380430f7d73b1971bb3b7dfe99acce2692f58..3158fc04c64ad65b163bf7978d27680cb538d3b9 100644 --- a/src/server/rfc931.h +++ b/src/server/rfc931.h @@ -1,5 +1,5 @@ /* - * $Id: rfc931.h,v 1.1 1992/03/31 21:51:34 ceder Exp $ + * $Id: rfc931.h,v 1.2 1992/08/12 04:13:01 ceder Exp $ * Copyright (C) 1991 Lysator Academic Computer Association. * * This file is part of the LysKOM server. @@ -23,4 +23,5 @@ * Please mail bug reports to bug-lyskom@lysator.liu.se. */ -char *get_real_username(IscSession *scb); +char *get_real_username(IscSession *scb, + char *hostname);