nss-pam-ldapd commit: r1246 - nss-pam-ldapd-solaris/nss
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
nss-pam-ldapd commit: r1246 - nss-pam-ldapd-solaris/nss
- From: Commits of the nss-pam-ldapd project <nss-pam-ldapd-commits [at] lists.arthurdejong.org>
- To: nss-pam-ldapd-commits [at] lists.arthurdejong.org
- Reply-to: nss-pam-ldapd-users [at] lists.arthurdejong.org
- Subject: nss-pam-ldapd commit: r1246 - nss-pam-ldapd-solaris/nss
- Date: Fri, 8 Oct 2010 13:56:58 +0200 (CEST)
Author: arthur
Date: Fri Oct 8 13:56:56 2010
New Revision: 1246
URL: http://arthurdejong.org/viewvc/nss-pam-ldapd?view=rev&revision=1246
Log:
re-introduce {set,get,end}**ent() file handle in Solaris code path and some
other miscellaneous small fixes
Modified:
nss-pam-ldapd-solaris/nss/ethers.c
nss-pam-ldapd-solaris/nss/group.c
nss-pam-ldapd-solaris/nss/hosts.c
nss-pam-ldapd-solaris/nss/netgroup.c
nss-pam-ldapd-solaris/nss/networks.c
nss-pam-ldapd-solaris/nss/passwd.c
nss-pam-ldapd-solaris/nss/protocols.c
nss-pam-ldapd-solaris/nss/rpc.c
nss-pam-ldapd-solaris/nss/services.c
nss-pam-ldapd-solaris/nss/shadow.c
Modified: nss-pam-ldapd-solaris/nss/ethers.c
==============================================================================
--- nss-pam-ldapd-solaris/nss/ethers.c Fri Oct 8 13:24:38 2010 (r1245)
+++ nss-pam-ldapd-solaris/nss/ethers.c Fri Oct 8 13:56:56 2010 (r1246)
@@ -95,7 +95,9 @@
#ifdef NSS_FLAVOUR_SOLARIS
+#ifndef NSS_BUFLEN_ETHERS
#define NSS_BUFLEN_ETHERS 1024
+#endif
#define errnop &errno
@@ -157,6 +159,9 @@
return retv;
}
+/* thread-local file pointer to an ongoing request */
+static __thread TFILE *etherentfp;
+
static nss_status_t _xnss_ldap_setetherent(nss_backend_t UNUSED(*be),void
UNUSED(*args))
{
NSS_SETENT(etherentfp);
Modified: nss-pam-ldapd-solaris/nss/group.c
==============================================================================
--- nss-pam-ldapd-solaris/nss/group.c Fri Oct 8 13:24:38 2010 (r1245)
+++ nss-pam-ldapd-solaris/nss/group.c Fri Oct 8 13:56:56 2010 (r1246)
@@ -54,8 +54,10 @@
int32_t res=(int32_t)NSLCD_RESULT_BEGIN;
int32_t tmpint32,tmp2int32,tmp3int32;
gid_t gid;
+#ifdef NSS_FLAVOUR_GLIBC
gid_t *newgroups;
long int newsize;
+#endif /* NSS_FLAVOUR_GLIBC */
/* loop over results */
while (res==(int32_t)NSLCD_RESULT_BEGIN)
{
@@ -275,6 +277,9 @@
return status;
}
+/* thread-local file pointer to an ongoing request */
+static __thread TFILE *grentfp;
+
static nss_status_t _xnss_ldap_setgrent(nss_backend_t UNUSED(*be),void
UNUSED(*args))
{
NSS_SETENT(grentfp);
Modified: nss-pam-ldapd-solaris/nss/hosts.c
==============================================================================
--- nss-pam-ldapd-solaris/nss/hosts.c Fri Oct 8 13:24:38 2010 (r1245)
+++ nss-pam-ldapd-solaris/nss/hosts.c Fri Oct 8 13:56:56 2010 (r1246)
@@ -355,6 +355,8 @@
return retv;
}
+/* thread-local file pointer to an ongoing request */
+static __thread TFILE *hostentfp;
static nss_status_t _xnss_ldap_sethostent(nss_backend_t UNUSED(*be),void
UNUSED(*args))
{
Modified: nss-pam-ldapd-solaris/nss/netgroup.c
==============================================================================
--- nss-pam-ldapd-solaris/nss/netgroup.c Fri Oct 8 13:24:38 2010
(r1245)
+++ nss-pam-ldapd-solaris/nss/netgroup.c Fri Oct 8 13:56:56 2010
(r1246)
@@ -189,6 +189,9 @@
return group;
}
+/* thread-local file pointer to an ongoing request */
+static __thread TFILE *netgrentfp;
+
static nss_status_t _nss_nslcd_getnetgrent_r(struct __netgrent *result,char
*buffer,size_t buflen,int *errnop)
{
NSS_GETENT(netgrentfp,NSLCD_ACTION_NETGROUP_BYNAME,buffer,buflen,
@@ -196,7 +199,7 @@
return retv;
}
-static nss_status_t _nss_nslcd_setnetgrent(const char *group,struct __netgrent
UNUSED(* result))
+static nss_status_t _nss_nslcd_setnetgrent(const char *group,struct __netgrent
UNUSED(*result))
{
/* we cannot use NSS_SETENT() here because we have a parameter that is only
available in this function */
Modified: nss-pam-ldapd-solaris/nss/networks.c
==============================================================================
--- nss-pam-ldapd-solaris/nss/networks.c Fri Oct 8 13:24:38 2010
(r1245)
+++ nss-pam-ldapd-solaris/nss/networks.c Fri Oct 8 13:56:56 2010
(r1246)
@@ -179,7 +179,6 @@
{
struct netent priv_network;
struct netent *network=NSS_ARGS(args)->buf.result?(struct netent
*)NSS_ARGS(args)->buf.result:&priv_network;
- char *name=(char *)NSS_ARGS(args)->key.name;
int af=NSS_ARGS(args)->key.netaddr.type;
char *buffer=NSS_ARGS(args)->buf.buffer;
size_t buflen=NSS_ARGS(args)->buf.buflen;
@@ -191,7 +190,7 @@
NSS_ARGS(args)->erange=1;
return NSS_STATUS_TRYAGAIN;
}
- status=_nss_nslcd_getnetbyname_r(name,network,buffer,
+ status=_nss_nslcd_getnetbyname_r(NSS_ARGS(args)->key.name,network,buffer,
buflen,&errno,&h_errno);
if (status!=NSS_STATUS_SUCCESS)
{
@@ -202,7 +201,7 @@
{
/* result==NULL, return file format */
data_ptr=(char *)malloc(buflen);
- sprintf(data_ptr,"%s %s",name,inet_ntoa(network->n_net)); /*
ipNetworkNumber */
+ sprintf(data_ptr,"%s %s",network->n_name,inet_ntoa(network->n_net)); /*
ipNetworkNumber */
if (network->n_aliases)
{
int i;
@@ -291,6 +290,9 @@
return status;
}
+/* thread-local file pointer to an ongoing request */
+static __thread TFILE *netentfp;
+
static nss_status_t _xnss_ldap_setnetent(nss_backend_t UNUSED(*be),void
UNUSED(*args))
{
NSS_SETENT(netentfp);
Modified: nss-pam-ldapd-solaris/nss/passwd.c
==============================================================================
--- nss-pam-ldapd-solaris/nss/passwd.c Fri Oct 8 13:24:38 2010 (r1245)
+++ nss-pam-ldapd-solaris/nss/passwd.c Fri Oct 8 13:56:56 2010 (r1246)
@@ -158,6 +158,9 @@
return retv;
}
+/* thread-local file pointer to an ongoing request */
+static __thread TFILE *pwentfp;
+
/* open a connection to the nslcd and write the request */
static nss_status_t _xnss_ldap_setpwent(nss_backend_t UNUSED(*be),void
UNUSED(*args))
{
Modified: nss-pam-ldapd-solaris/nss/protocols.c
==============================================================================
--- nss-pam-ldapd-solaris/nss/protocols.c Fri Oct 8 13:24:38 2010
(r1245)
+++ nss-pam-ldapd-solaris/nss/protocols.c Fri Oct 8 13:56:56 2010
(r1246)
@@ -203,6 +203,9 @@
return status;
}
+/* thread-local file pointer to an ongoing request */
+static __thread TFILE *protoentfp;
+
static nss_status_t _xnss_ldap_setprotoent(nss_backend_t UNUSED(*be),void
UNUSED(*args))
{
NSS_SETENT(protoentfp);
Modified: nss-pam-ldapd-solaris/nss/rpc.c
==============================================================================
--- nss-pam-ldapd-solaris/nss/rpc.c Fri Oct 8 13:24:38 2010 (r1245)
+++ nss-pam-ldapd-solaris/nss/rpc.c Fri Oct 8 13:56:56 2010 (r1246)
@@ -116,6 +116,9 @@
return retv;
}
+/* thread-local file pointer to an ongoing request */
+static __thread TFILE *protoentfp;
+
static nss_status_t _xnss_ldap_setrpcent(nss_backend_t UNUSED(*be),void
UNUSED(*args))
{
NSS_SETENT(protoentfp);
Modified: nss-pam-ldapd-solaris/nss/services.c
==============================================================================
--- nss-pam-ldapd-solaris/nss/services.c Fri Oct 8 13:24:38 2010
(r1245)
+++ nss-pam-ldapd-solaris/nss/services.c Fri Oct 8 13:56:56 2010
(r1246)
@@ -72,12 +72,12 @@
}
/* thread-local file pointer to an ongoing request */
-static __thread TFILE *protoentfp;
+static __thread TFILE *serventfp;
/* open request to get all services */
nss_status_t _nss_ldap_setservent(int UNUSED(stayopen))
{
- NSS_SETENT(protoentfp);
+ NSS_SETENT(serventfp);
}
/* read a single returned service definition */
@@ -85,15 +85,15 @@
struct servent *result,
char *buffer,size_t buflen,int *errnop)
{
- NSS_GETENT(protoentfp,NSLCD_ACTION_SERVICE_ALL,buffer,buflen,
- read_servent(protoentfp,result,buffer,buflen,errnop));
+ NSS_GETENT(serventfp,NSLCD_ACTION_SERVICE_ALL,buffer,buflen,
+ read_servent(serventfp,result,buffer,buflen,errnop));
return retv;
}
/* close the stream opened by setservent() above */
nss_status_t _nss_ldap_endservent(void)
{
- NSS_ENDENT(protoentfp);
+ NSS_ENDENT(serventfp);
}
#endif /* NSS_FLAVOUR_GLIBC */
@@ -120,22 +120,25 @@
return retv;
}
+/* thread-local file pointer to an ongoing request */
+static __thread TFILE *serventfp;
+
static nss_status_t _xnss_ldap_setservent(nss_backend_t UNUSED(*be),void
UNUSED(*args))
{
- NSS_SETENT(protoentfp);
+ NSS_SETENT(serventfp);
}
static nss_status_t _nss_nslcd_getservent_r(
struct servent *result,char *buffer,size_t buflen,int *errnop)
{
- NSS_GETENT(protoentfp,NSLCD_ACTION_SERVICE_ALL,buffer,buflen,
- read_servent(protoentfp,result,buffer,buflen,errnop));
+ NSS_GETENT(serventfp,NSLCD_ACTION_SERVICE_ALL,buffer,buflen,
+ read_servent(serventfp,result,buffer,buflen,errnop));
return retv;
}
static nss_status_t _xnss_ldap_endservent(nss_backend_t UNUSED(*be),void
UNUSED(*args))
{
- NSS_ENDENT(protoentfp);
+ NSS_ENDENT(serventfp);
}
static nss_status_t _xnss_ldap_getservbyname_r(nss_backend_t UNUSED(*be),void
*args)
Modified: nss-pam-ldapd-solaris/nss/shadow.c
==============================================================================
--- nss-pam-ldapd-solaris/nss/shadow.c Fri Oct 8 13:24:38 2010 (r1245)
+++ nss-pam-ldapd-solaris/nss/shadow.c Fri Oct 8 13:56:56 2010 (r1246)
@@ -108,6 +108,7 @@
char *buffer=NSS_ARGS(args)->buf.buffer;
size_t buflen=NSS_ARGS(args)->buf.buflen;
char *data_ptr;
+ char field_buf[128];
nss_status_t status;
if (NSS_ARGS(args)->buf.buflen<0)
{
@@ -121,7 +122,6 @@
{
/* result==NULL, return file format */
data_ptr=(char *)malloc(buflen);
- char field_buf[128];
sprintf(data_ptr,"%s:%s:",sp->sp_namp,sp->sp_pwdp);
if (sp->sp_lstchg >= 0)
sprintf(field_buf,"%d:",sp->sp_lstchg);
@@ -170,6 +170,9 @@
return status;
}
+/* thread-local file pointer to an ongoing request */
+static __thread TFILE *spentfp;
+
static nss_status_t _xnss_ldap_setspent(nss_backend_t UNUSED(*be),void
UNUSED(*args))
{
NSS_SETENT(spentfp);
--
To unsubscribe send an email to
nss-pam-ldapd-commits-unsubscribe@lists.arthurdejong.org or see
http://lists.arthurdejong.org/nss-pam-ldapd-commits
- nss-pam-ldapd commit: r1246 - nss-pam-ldapd-solaris/nss,
Commits of the nss-pam-ldapd project