Arthur de Jong

Open Source / Free Software developer

summaryrefslogtreecommitdiffstats
path: root/nss/networks.c
diff options
context:
space:
mode:
authorArthur de Jong <arthur@arthurdejong.org>2010-10-08 13:56:56 +0200
committerArthur de Jong <arthur@arthurdejong.org>2010-10-08 13:56:56 +0200
commit611dc583a05914f81c97c165163bcce021b0dfac (patch)
tree7136faabebdef16fc8690f1fee37d209a53fa7dd /nss/networks.c
parent5afa471c1b514d82da2fde66fbed699a2e2862fa (diff)
re-introduce {set,get,end}**ent() file handle in Solaris code path and some other miscellaneous small fixes
git-svn-id: http://arthurdejong.org/svn/nss-pam-ldapd/nss-pam-ldapd-solaris@1246 ef36b2f9-881f-0410-afb5-c4e39611909c
Diffstat (limited to 'nss/networks.c')
-rw-r--r--nss/networks.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/nss/networks.c b/nss/networks.c
index 923f562..d25f8ad 100644
--- a/nss/networks.c
+++ b/nss/networks.c
@@ -179,7 +179,6 @@ static nss_status_t _xnss_ldap_getnetbyname_r(nss_backend_t UNUSED(*be),void *ar
{
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 @@ static nss_status_t _xnss_ldap_getnetbyname_r(nss_backend_t UNUSED(*be),void *ar
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 @@ static nss_status_t _xnss_ldap_getnetbyname_r(nss_backend_t UNUSED(*be),void *ar
{
/* 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 @@ static nss_status_t _xnss_ldap_getnetbyaddr_r(nss_backend_t UNUSED(*be),void *ar
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);