summaryrefslogtreecommitdiff
path: root/ldap-ethers.c
diff options
context:
space:
mode:
authorArthur de Jong <arthur@arthurdejong.org>2006-10-12 11:01:56 +0000
committerArthur de Jong <arthur@arthurdejong.org>2006-10-12 11:01:56 +0000
commitdba09bb1389491f82beb862323a5ccab428a7f2d (patch)
treee617b84715ab650b6cd162876f7ff6d0b897a05a /ldap-ethers.c
parent54845e6fb6d0fa0f7f77b4a7d8520897e0e98496 (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.c228
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 */