diff options
author | Arthur de Jong <arthur@arthurdejong.org> | 2006-10-12 11:01:56 +0000 |
---|---|---|
committer | Arthur de Jong <arthur@arthurdejong.org> | 2006-10-12 11:01:56 +0000 |
commit | dba09bb1389491f82beb862323a5ccab428a7f2d (patch) | |
tree | e617b84715ab650b6cd162876f7ff6d0b897a05a /ldap-ethers.c | |
parent | 54845e6fb6d0fa0f7f77b4a7d8520897e0e98496 (diff) |
first round of cleanups, all non-glibc NSS stuff has been removed, because we are going to do some major restructuring it will not likely remain valid anyway and we can always re-add it later
git-svn-id: http://arthurdejong.org/svn/nss-pam-ldapd/libnss_ldapd@10 ef36b2f9-881f-0410-afb5-c4e39611909c
Diffstat (limited to 'ldap-ethers.c')
-rw-r--r-- | ldap-ethers.c | 228 |
1 files changed, 10 insertions, 218 deletions
diff --git a/ldap-ethers.c b/ldap-ethers.c index c91b814..ef97233 100644 --- a/ldap-ethers.c +++ b/ldap-ethers.c @@ -1,4 +1,5 @@ -/* Copyright (C) 1997-2005 Luke Howard. +/* + Copyright (C) 1997-2005 Luke Howard This file is part of the nss_ldap library. Contributed by Luke Howard, <lukeh@padl.com>, 1997. @@ -18,11 +19,7 @@ Boston, MA 02111-1307, USA. $Id$ - */ - - -static char rcsId[] = - "$Id$"; +*/ #include "config.h" @@ -77,33 +74,17 @@ static char rcsId[] = #define NSS_BUFLEN_ETHERS 1024 #endif /* NSS_BUFLEN_ETHERS */ -#if defined(HAVE_NSSWITCH_H) || defined(HAVE_NSS_H) -#ifdef HAVE_NSSWITCH_H -#ifdef HAVE_ETHER_ATON -extern struct ether_addr *ether_aton (const char *s); -#else -static struct ether_addr *ether_aton (const char *s); -#endif /* HAVE_ETHER_ATON */ -#ifdef HAVE_ETHER_NTOA -extern char *ether_ntoa (const struct ether_addr *e); -#else -static char *ether_ntoa (const struct ether_addr *e); -#endif /* HAVE_ETHER_NTOA */ -#endif /* HAVE_NSSWITCH_H */ - -#ifdef HAVE_NSS_H static ent_context_t *ether_context = NULL; -#endif -static NSS_STATUS +static enum nss_status _nss_ldap_parse_ether (LDAPMessage * e, ldap_state_t * pvt, void *result, char *buffer, size_t buflen) { struct ether *ether = (struct ether *) result; char *saddr; - NSS_STATUS stat; + enum nss_status stat; struct ether_addr *addr; stat = _nss_ldap_assign_attrval (e, ATM (LM_ETHERS, cn), @@ -122,38 +103,7 @@ _nss_ldap_parse_ether (LDAPMessage * e, return NSS_SUCCESS; } -#ifdef HAVE_NSSWITCH_H -static NSS_STATUS -_nss_ldap_gethostton_r (nss_backend_t * be, void *args) -{ - struct ether result; - ldap_args_t a; - char buffer[NSS_BUFLEN_ETHERS]; - NSS_STATUS status; - - LA_INIT (a); - LA_STRING (a) = NSS_ARGS (args)->key.name; - LA_TYPE (a) = LA_TYPE_STRING; - - status = _nss_ldap_getbyname (&a, - &result, - buffer, - sizeof (buffer), - &NSS_ARGS (args)->erange, - _nss_ldap_filt_gethostton, - LM_ETHERS, _nss_ldap_parse_ether); - - if (status == NSS_SUCCESS) - { - memcpy (NSS_ARGS (args)->buf.result, &result.e_addr, - sizeof (result.e_addr)); - NSS_ARGS (args)->returnval = NSS_ARGS (args)->buf.result; - } - - return status; -} -#elif defined(HAVE_NSS_H) -NSS_STATUS +enum nss_status _nss_ldap_gethostton_r (const char *name, struct ether * result, char *buffer, size_t buflen, int *errnop) { @@ -161,49 +111,8 @@ _nss_ldap_gethostton_r (const char *name, struct ether * result, _nss_ldap_filt_gethostton, LM_ETHERS, _nss_ldap_parse_ether, LDAP_NSS_BUFLEN_DEFAULT); } -#endif - -#ifdef HAVE_NSSWITCH_H -static NSS_STATUS -_nss_ldap_getntohost_r (nss_backend_t * be, void *args) -{ - struct ether result; - char *addr; - ldap_args_t a; - char buffer[NSS_BUFLEN_ETHERS]; - NSS_STATUS status; - - addr = ether_ntoa ((struct ether_addr *) (NSS_ARGS (args)->key.ether)); - LA_INIT (a); - LA_STRING (a) = addr; - LA_TYPE (a) = LA_TYPE_STRING; - - status = _nss_ldap_getbyname (&a, - &result, - buffer, - sizeof (buffer), - &NSS_ARGS (args)->erange, - _nss_ldap_filt_getntohost, - LM_ETHERS, _nss_ldap_parse_ether); - - if (status == NSS_SUCCESS) - { - memcpy (NSS_ARGS (args)->buf.buffer, result.e_name, - strlen (result.e_name) + 1); - NSS_ARGS (args)->returnval = NSS_ARGS (args)->buf.result = - NSS_ARGS (args)->buf.buffer; - NSS_ARGS (args)->buf.buflen = strlen (result.e_name); - } - else - { - NSS_ARGS (args)->returnval = NULL; - } - - return status; -} -#elif defined(HAVE_NSS_H) -NSS_STATUS +enum nss_status _nss_ldap_getntohost_r (struct ether_addr * addr, struct ether * result, char *buffer, size_t buflen, int *errnop) { @@ -214,62 +123,18 @@ _nss_ldap_getntohost_r (struct ether_addr * addr, struct ether * result, buffer, buflen, errnop, _nss_ldap_filt_getntohost, LM_ETHERS, _nss_ldap_parse_ether, LDAP_NSS_BUFLEN_DEFAULT); } -#endif -#ifdef HAVE_NSSWITCH_H -static NSS_STATUS -_nss_ldap_setetherent_r (nss_backend_t * ether_context, void *fakeargs) -#elif defined(HAVE_NSS_H) - NSS_STATUS _nss_ldap_setetherent (void) -#endif -#if defined(HAVE_NSSWITCH_H) || defined(HAVE_NSS_H) + enum nss_status _nss_ldap_setetherent (void) { LOOKUP_SETENT (ether_context); } -#endif -#ifdef HAVE_NSSWITCH_H -static NSS_STATUS -_nss_ldap_endetherent_r (nss_backend_t * ether_context, void *fakeargs) -#elif defined(HAVE_NSS_H) - NSS_STATUS _nss_ldap_endetherent (void) -#endif -#if defined(HAVE_NSS_H) || defined(HAVE_NSSWITCH_H) + enum nss_status _nss_ldap_endetherent (void) { LOOKUP_ENDENT (ether_context); } -#endif - -#ifdef HAVE_NSSWITCH_H -static NSS_STATUS -_nss_ldap_getetherent_r (nss_backend_t * ether_context, void *args) -{ - struct ether result; - NSS_STATUS status; - - status = _nss_ldap_getent (&((nss_ldap_backend_t *) ether_context)->state, - &result, - NSS_ARGS (args)->buf.buffer, - NSS_ARGS (args)->buf.buflen, - &NSS_ARGS (args)->erange, - _nss_ldap_filt_getetherent, - LM_ETHERS, _nss_ldap_parse_ether); - - if (status == NSS_SUCCESS) - { - memcpy (NSS_ARGS (args)->buf.result, &result.e_addr, - sizeof (result.e_addr)); - NSS_ARGS (args)->returnval = NSS_ARGS (args)->buf.result; - } - else - { - NSS_ARGS (args)->returnval = NULL; - } - return status; -} -#elif defined(HAVE_NSS_H) -NSS_STATUS +enum nss_status _nss_ldap_getetherent_r (struct ether * result, char *buffer, size_t buflen, int *errnop) { @@ -277,76 +142,3 @@ _nss_ldap_getetherent_r (struct ether * result, char *buffer, size_t buflen, _nss_ldap_filt_getetherent, LM_ETHERS, _nss_ldap_parse_ether, LDAP_NSS_BUFLEN_DEFAULT); } -#endif - -#ifdef HAVE_NSSWITCH_H -static NSS_STATUS -_nss_ldap_ethers_destr (nss_backend_t * ether_context, void *args) -{ - return _nss_ldap_default_destr (ether_context, args); -} - -static nss_backend_op_t ethers_ops[] = { - _nss_ldap_ethers_destr, - _nss_ldap_gethostton_r, - _nss_ldap_getntohost_r -}; - -nss_backend_t * -_nss_ldap_ethers_constr (const char *db_name, - const char *src_name, const char *cfg_args) -{ - nss_ldap_backend_t *be; - - if (!(be = (nss_ldap_backend_t *) malloc (sizeof (*be)))) - return NULL; - - be->ops = ethers_ops; - be->n_ops = sizeof (ethers_ops) / sizeof (nss_backend_op_t); - - if (_nss_ldap_default_constr (be) != NSS_SUCCESS) - return NULL; - - return (nss_backend_t *) be; - -} - -#endif /* !HAVE_NSS_H */ - -#ifdef HAVE_NSSWITCH_H - -#ifndef HAVE_ETHER_ATON -static struct ether_addr *ether_aton (const char *s) -{ - static struct ether_addr ep; - register int i; - unsigned int t[6]; - - i = sscanf(s, " %x:%x:%x:%x:%x:%x", - &t[0], &t[1], &t[2], &t[3], &t[4], &t[5]); - if (i != 6) - return NULL; - for (i = 0; i < 6; i++) - ep.ether_addr_octet[i] = t[i]; - - return &ep; -} -#endif /* !HAVE_ETHER_ATON */ - -#ifndef HAVE_ETHER_NTOA -#define EI(i) (unsigned int)(e->ether_addr_octet[(i)]) -static char *ether_ntoa (const struct ether_addr *e) -{ - static char s[18]; - - s[0] = 0; - sprintf(s, "%x:%x:%x:%x:%x:%x", - EI(0), EI(1), EI(2), EI(3), EI(4), EI(5)); - - return s; -} -#endif /* !HAVE_ETHER_NTOA */ - -#endif /* HAVE_NSSWITCH_H */ - -#endif /* !HAVE_IRS_H */ |