~ubuntu-branches/ubuntu/precise/nss-pam-ldapd/precise-updates

« back to all changes in this revision

Viewing changes to nss/prototypes.h

  • Committer: Bazaar Package Importer
  • Author(s): Arthur de Jong
  • Date: 2010-07-03 17:00:00 UTC
  • Revision ID: james.westby@ubuntu.com-20100703170000-qjnaavp1wx04z4ew
Tags: 0.7.7
* don't use use_authtok for password modification by default
* fine-tune pam-auth-update configuration after discussion with Steve
  Langasek (see: #583492)
  Note that this currently requires that shadow information is also provided
  by LDAP (in /etc/nsswitch.conf).
* ensure that nslcd is started after hostname lookups are available so
  getting to the LDAP server via DNS will work (patch by Petter
  Reinholdtsen) (closes: #585968)
* start k5start from the init script to keep the Kerberos ticket active if
  nslcd is configured for SASL GSSAPI Kerberos authentication, based on a
  patch by Daniel Dehennin (closes: #585639)
* upgrade to standards-version 3.9.0 (switch to Breaks/Replaces instead of
  Conflicts)
* refactoring and simplification of PAM module which also improves logging
* implement a nullok PAM option and disable empty passwords by default
* portability improvements and other minor code improvements
* the mechanism to disable name lookups through LDAP from within the nslcd
  process has been improved
* the undocumented use_sasl option has been removed (specifying sasl_mech
  now implies use_sasl)
* the sasl_mech, sasl_realm, sasl_authcid, sasl_authzid and sasl_secprops
  configuration options are now documented

Show diffs side-by-side

added added

removed removed

Lines of Context:
2
2
   prototypes.h - all functions exported by the NSS library
3
3
 
4
4
   Copyright (C) 2006 West Consulting
5
 
   Copyright (C) 2006, 2008 Arthur de Jong
 
5
   Copyright (C) 2006, 2008, 2010 Arthur de Jong
6
6
 
7
7
   This library is free software; you can redistribute it and/or
8
8
   modify it under the terms of the GNU Lesser General Public
20
20
   02110-1301 USA
21
21
*/
22
22
 
23
 
#ifndef _NSS_EXPORTS_H
24
 
#define _NSS_EXPORTS_H 1
25
 
 
26
 
#include <nss.h>
27
 
#ifdef HAVE_ALIASES_H
28
 
#include <aliases.h>
29
 
#endif
30
 
#include <sys/socket.h>
31
 
#include <sys/types.h>
32
 
#include <grp.h>
33
 
#include <netdb.h>
34
 
#include <pwd.h>
35
 
#ifdef HAVE_SHADOW_H
36
 
#include <shadow.h>
37
 
#endif /* HAVE_SHADOW_H */
38
 
 
39
 
#include "compat/ether.h"
40
 
 
41
 
/* We define struct etherent here because it does not seem to
42
 
   be defined in any publicly available header file exposed
43
 
   by glibc. This is taken from include/netinet/ether.h
44
 
   of the glibc (2.3.6) source tarball. */
45
 
struct etherent
46
 
{
47
 
  const char *e_name;
48
 
  struct ether_addr e_addr;
49
 
};
50
 
 
51
 
/* We also define struct __netgrent because it's definition is
52
 
   not publically available. This is taken from inet/netgroup.h
53
 
   of the glibc (2.3.6) source tarball.
54
 
   The first part of the struct is the only part that is modified
55
 
   by the getnetgrent() function, all the other fields are not
56
 
   touched at all. */
57
 
struct __netgrent
58
 
{
59
 
  enum { triple_val, group_val } type;
60
 
  union
61
 
  {
62
 
    struct
63
 
    {
64
 
      const char *host;
65
 
      const char *user;
66
 
      const char *domain;
67
 
    } triple;
68
 
    const char *group;
69
 
  } val;
70
 
  /* the following stuff is used by some NSS services
71
 
     but not by ours (it's not completely clear how these
72
 
     are shared between different services) or is used
73
 
     by our caller */
74
 
  char *data;
75
 
  size_t data_size;
76
 
  union
77
 
  {
78
 
    char *cursor;
79
 
    unsigned long int position;
80
 
  } insertedname; /* added name to union to avoid warning */
81
 
  int first;
82
 
  struct name_list *known_groups;
83
 
  struct name_list *needed_groups;
84
 
  void *nip; /* changed from `service_user *nip' */
85
 
};
 
23
#ifndef NSS__PROTOTYPES_H
 
24
#define NSS__PROTOTYPES_H 1
 
25
 
 
26
#include "compat/nss_compat.h"
86
27
 
87
28
/*
88
29
   These are prototypes for functions exported from the ldap NSS module.
97
38
   http://www.gnu.org/software/libc/manual/html_node/Name-Service-Switch.html
98
39
*/
99
40
 
 
41
/* flag to gloabally disable lookups (all _nss_ldap_*() functions will return
 
42
   NSS_STATUS_UNAVAIL */
 
43
extern int _nss_ldap_enablelookups;
 
44
 
100
45
/* aliases - mail aliases */
101
46
enum nss_status _nss_ldap_getaliasbyname_r(const char *name,struct aliasent *result,char *buffer,size_t buflen,int *errnop);
102
47
enum nss_status _nss_ldap_setaliasent(void);
172
117
enum nss_status _nss_ldap_getspent_r(struct spwd *result,char *buffer,size_t buflen,int *errnop);
173
118
enum nss_status _nss_ldap_endspent(void);
174
119
 
175
 
#endif /* not NSS_EXPORTS */
 
120
#endif /* not NSS__PROTOTYPES_H */