From 4be32f85eda210d5df760cb799b56b5a3f8e438d Mon Sep 17 00:00:00 2001 From: Per Cederqvist <ceder@lysator.liu.se> Date: Thu, 11 Jun 1992 14:32:54 +0000 Subject: [PATCH] Don't dump core when isc_gethostname return NULL. --- src/server/ChangeLog | 5 +++++ src/server/connections.c | 18 +++++++++++++----- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/src/server/ChangeLog b/src/server/ChangeLog index ae6abfd63..7dbb71a1b 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 6b830dc7e..e7929fc2f 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). */ -- GitLab