Files
heimdal/lib/krb5/address.c
Assar Westerlund 81ba44a29a implement `krb5_address_order'
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@2284 ec53bebd-3082-4978-b11e-865c3cabbd6b
1997-07-14 11:45:51 +00:00

92 lines
1.8 KiB
C

#include "krb5_locl.h"
RCSID("$Id$");
#if 0
/* This is the supposedly MIT-api version */
krb5_boolean
krb5_address_search(krb5_context context,
const krb5_address *addr,
krb5_address *const *addrlist)
{
krb5_address *a;
while((a = *addrlist++))
if (krb5_address_compare (context, addr, a))
return TRUE;
return FALSE;
}
#endif
krb5_boolean
krb5_address_search(krb5_context context,
const krb5_address *addr,
const krb5_addresses *addrlist)
{
int i;
for (i = 0; i < addrlist->len; ++i)
if (krb5_address_compare (context, addr, &addrlist->val[i]))
return TRUE;
return FALSE;
}
int
krb5_address_order(krb5_context context,
const krb5_address *addr1,
const krb5_address *addr2)
{
return (addr1->addr_type - addr2->addr_type)
|| memcmp (addr1->address.data,
addr2->address.data,
addr1->address.length);
}
krb5_boolean
krb5_address_compare(krb5_context context,
const krb5_address *addr1,
const krb5_address *addr2)
{
return krb5_address_order (context, addr1, addr2) == 0;
}
#if 0
return addr1->addr_type == addr2->addr_type
&& memcmp (addr1->address.data,
addr2->address.data,
addr1->address.length) == 0;
#endif
krb5_error_code
krb5_copy_address(krb5_context context,
const krb5_address *inaddr,
krb5_address *outaddr)
{
copy_HostAddress(inaddr, outaddr);
}
krb5_error_code
krb5_copy_addresses(krb5_context context,
const krb5_addresses *inaddr,
krb5_addresses *outaddr)
{
copy_HostAddresses(inaddr, outaddr);
return 0;
}
krb5_error_code
krb5_free_address(krb5_context context,
krb5_address *address)
{
krb5_data_free (&address->address);
return 0;
}
krb5_error_code
krb5_free_addresses(krb5_context context,
krb5_addresses *addresses)
{
free_HostAddresses(addresses);
return 0;
}