File: ldap-hosts.h

package info (click to toggle)
libnss-ldap 122-1
  • links: PTS
  • area: main
  • in suites: potato
  • size: 680 kB
  • ctags: 819
  • sloc: ansic: 8,324; perl: 89; makefile: 34
file content (73 lines) | stat: -rw-r--r-- 2,513 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73

/* Copyright (C) 1997 Luke Howard.
   This file is part of the nss_ldap library.
   Contributed by Luke Howard, <lukeh@padl.com>, 1997.

   The nss_ldap library is free software; you can redistribute it and/or
   modify it under the terms of the GNU Library General Public License as
   published by the Free Software Foundation; either version 2 of the
   License, or (at your option) any later version.

   The nss_ldap library is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   Library General Public License for more details.

   You should have received a copy of the GNU Library General Public
   License along with the nss_ldap library; see the file COPYING.LIB.  If not,
   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
   Boston, MA 02111-1307, USA.
 */

#ifndef _LDAP_NSS_LDAP_LDAP_HOSTS_H
#define _LDAP_NSS_LDAP_LDAP_HOSTS_H

/*

   It's critical that we support IPv6 both in the IRS and the NSS modules.
   For code, check out the BIND IRS and the glibc as it stands. Both support
   NIS lookups for IPv6 addresses.

 */


#if defined(SUN_NSS) || defined(DL_NSS)
/* XXX Fixme */
#ifndef INADDRSZ
#define INADDRSZ (sizeof(u_long))
#endif
#endif

static const char *host_attributes[] =
{AT (cn), AT (ipHostNumber), NULL};

static const char filt_gethostbyname[] =
"(&(objectclass="
OC (ipHost) ")(" AT (cn) "=%s))";
     static const char filt_gethostbyaddr[] =
     "(&(objectclass=" OC (ipHost) ")(" AT (ipHostNumber) "=%s))";
     static const char filt_gethostent[] =
     "(objectclass=" OC (ipHost) ")";


     static NSS_STATUS _nss_ldap_parse_host (
					      LDAP * ld,
					      LDAPMessage * e,
					      ldap_state_t * pvt,
					      void *result,
					      char *buffer,
					      size_t buflen);

#ifdef SUN_NSS
     static NSS_STATUS _nss_ldap_gethostbyname_r (nss_backend_t * be, void *fakeargs);
     static NSS_STATUS _nss_ldap_gethostbyaddr_r (nss_backend_t * be, void *fakeargs);
     static NSS_STATUS _nss_ldap_gethostent_r (nss_backend_t * be, void *fakeargs);
     static NSS_STATUS _nss_ldap_sethostent_r (nss_backend_t * be, void *fakeargs);
     static NSS_STATUS _nss_ldap_endhostent_r (nss_backend_t * be, void *fakeargs);

     nss_backend_t *_nss_ldap_hosts_constr (const char *db_name,
					    const char *src_name,
					    const char *cfg_args);
#endif

#endif /* _LDAP_NSS_LDAP_LDAP_HOSTS_H */