save copies of addresses that otherwise get overwritten.

git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@914 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Assar Westerlund
1996-10-29 11:32:21 +00:00
parent 97ce787dec
commit 5e5b36eeda

View File

@@ -151,7 +151,8 @@ pop_init(POP *p,int argcount,char **argmessage)
/* Save the dotted decimal form of the client's IP address /* Save the dotted decimal form of the client's IP address
in the POP parameter block */ in the POP parameter block */
p->ipaddr = inet_ntoa(cs.sin_addr); strncpy (p->ipaddr, inet_ntoa(cs.sin_addr), sizeof(p->ipaddr));
p->ipaddr[sizeof(p->ipaddr) - 1] = '\0';
/* Save the client's port */ /* Save the client's port */
p->ipport = ntohs(cs.sin_port); p->ipport = ntohs(cs.sin_port);
@@ -161,7 +162,7 @@ pop_init(POP *p,int argcount,char **argmessage)
if (ch == NULL){ if (ch == NULL){
pop_log(p,POP_PRIORITY, pop_log(p,POP_PRIORITY,
"Unable to get canonical name of client, err = %d",errno); "Unable to get canonical name of client, err = %d",errno);
p->client = p->ipaddr; strcpy (p->client, p->ipaddr);
} }
/* Save the cannonical name of the client host in /* Save the cannonical name of the client host in
the POP parameter block */ the POP parameter block */
@@ -176,12 +177,13 @@ pop_init(POP *p,int argcount,char **argmessage)
pop_log(p,POP_PRIORITY, pop_log(p,POP_PRIORITY,
"Client at \"%s\" resolves to an unknown host name \"%s\"", "Client at \"%s\" resolves to an unknown host name \"%s\"",
p->ipaddr,ch->h_name); p->ipaddr,ch->h_name);
p->client = p->ipaddr; strcpy (p->client, p->ipaddr);
} }
else { else {
/* Save the host name (the previous value was /* Save the host name (the previous value was
destroyed by gethostbyname) */ destroyed by gethostbyname) */
p->client = ch_again->h_name; strncpy (p->client, ch_again->h_name, sizeof(p->client));
p->client[sizeof(p->client) - 1] = '\0';
/* Look for the client's IP address in the list returned /* Look for the client's IP address in the list returned
for its name */ for its name */
@@ -194,7 +196,7 @@ pop_init(POP *p,int argcount,char **argmessage)
pop_log (p,POP_PRIORITY, pop_log (p,POP_PRIORITY,
"Client address \"%s\" not listed for its host name \"%s\"", "Client address \"%s\" not listed for its host name \"%s\"",
p->ipaddr,ch->h_name); p->ipaddr,ch->h_name);
p->client = p->ipaddr; strcpy (p->client, p->ipaddr);
} }
} }
} }