diff --git a/src/server/ChangeLog b/src/server/ChangeLog index ae6abfd636ded41965c1553aa4555d4528e4aa51..7dbb71a1bbb76a0bf5d75c55ac0f214ae19c0637 100644 --- a/src/server/ChangeLog +++ b/src/server/ChangeLog @@ -1,3 +1,8 @@ +Thu Jun 11 16:28:39 1992 Per Cederqvist (ceder@lysator) + + * connections.c (login_request): Don't dump core when we can't get + the name of the originating host. + Wed Jun 10 03:36:30 1992 Per Cederqvist (ceder@robin) * ramkomd.c (main): Log version number and pid when starting a new diff --git a/src/server/connections.c b/src/server/connections.c index 6b830dc7e2071d370e7b11f8e3fd84ed092a9472..e7929fc2f86b8668d953a0f9b8c52121c063ddbf 100644 --- a/src/server/connections.c +++ b/src/server/connections.c @@ -1,5 +1,5 @@ /* - * $Id: connections.c,v 0.18 1992/05/25 21:13:27 ceder Exp $ + * $Id: connections.c,v 0.19 1992/06/11 14:32:54 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.18 1992/05/25 21:13:27 ceder Exp $"; +static char *rcsid = "$Id: connections.c,v 0.19 1992/06/11 14:32:54 ceder Exp $"; #include <errno.h> @@ -710,6 +710,7 @@ login_request(IscEvent *event) char *realuser; int localport; IscAddress *isc_adr; + char *hostname = NULL; if (isc_sessions(kom_server_mcb) >= MAX_NO_OF_CONNECTIONS) { @@ -767,9 +768,16 @@ login_request(IscEvent *event) cp = new_client(); cp->mux = event->session->udg; - s_crea_str(&cp->hostname, - isc_gethostname(event->session->info.tcp.raddr, - NULL, 0)); + hostname = isc_gethostname(event->session->info.tcp.raddr, NULL, 0); + if (hostname == NULL) + hostname = isc_getipnum(event->session->info.tcp.raddr, NULL, 0); + if (hostname == NULL) + { + log("WNG: login_request(): unknown hostid.\n"); + s_crea_str(&cp->hostname, "unknown"); + } + else + s_crea_str(&cp->hostname, hostname); /* Get the real user name, as returned by the Ident protocol (rfc 931). */