Fix ip4 address extraction.
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@2176 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -100,10 +100,16 @@ find_all_addresses (krb5_addresses *res)
|
|||||||
switch (ifr->ifr_addr.sa_family) {
|
switch (ifr->ifr_addr.sa_family) {
|
||||||
#ifdef AF_INET
|
#ifdef AF_INET
|
||||||
case AF_INET: {
|
case AF_INET: {
|
||||||
|
unsigned char addr[4];
|
||||||
|
struct sockaddr_in *sin;
|
||||||
res->val[j].addr_type = AF_INET;
|
res->val[j].addr_type = AF_INET;
|
||||||
|
/* This is somewhat XXX */
|
||||||
|
sin = (struct sockaddr_in*)&ifr->ifr_addr;
|
||||||
|
memcpy(addr,
|
||||||
|
&sin->sin_addr,
|
||||||
|
4);
|
||||||
err = krb5_data_copy(&res->val[j].address,
|
err = krb5_data_copy(&res->val[j].address,
|
||||||
&ifr->ifr_addr,
|
addr, 4);
|
||||||
sizeof(struct sockaddr_in));
|
|
||||||
if (err) {
|
if (err) {
|
||||||
close (fd);
|
close (fd);
|
||||||
free (res->val);
|
free (res->val);
|
||||||
|
Reference in New Issue
Block a user