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:
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user