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
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 */
p->ipport = ntohs(cs.sin_port);
@@ -161,7 +162,7 @@ pop_init(POP *p,int argcount,char **argmessage)
if (ch == NULL){
pop_log(p,POP_PRIORITY,
"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
the POP parameter block */
@@ -176,12 +177,13 @@ pop_init(POP *p,int argcount,char **argmessage)
pop_log(p,POP_PRIORITY,
"Client at \"%s\" resolves to an unknown host name \"%s\"",
p->ipaddr,ch->h_name);
p->client = p->ipaddr;
strcpy (p->client, p->ipaddr);
}
else {
/* Save the host name (the previous value was
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
for its name */
@@ -194,7 +196,7 @@ pop_init(POP *p,int argcount,char **argmessage)
pop_log (p,POP_PRIORITY,
"Client address \"%s\" not listed for its host name \"%s\"",
p->ipaddr,ch->h_name);
p->client = p->ipaddr;
strcpy (p->client, p->ipaddr);
}
}
}