summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArthur de Jong <arthur@arthurdejong.org>2011-07-02 21:20:39 +0000
committerArthur de Jong <arthur@arthurdejong.org>2011-07-02 21:20:39 +0000
commitbe47be6772da6920e93dddf52fcdbb2799056337 (patch)
treebdaa889ad2d1f06e8dfcfac5b90bc680d147551a
parent2b160881f87d3d15d885b208c80b27e112459701 (diff)
make buffer sizes consistent, grow gidNumber buffer to hold larger numbers and small consistency improvements
git-svn-id: http://arthurdejong.org/svn/nss-pam-ldapd/nss-pam-ldapd@1476 ef36b2f9-881f-0410-afb5-c4e39611909c
-rw-r--r--nslcd/group.c10
-rw-r--r--nslcd/host.c18
-rw-r--r--nslcd/network.c18
-rw-r--r--nslcd/passwd.c4
-rw-r--r--nslcd/shadow.c8
5 files changed, 29 insertions, 29 deletions
diff --git a/nslcd/group.c b/nslcd/group.c
index c2a09a5..dc45eed 100644
--- a/nslcd/group.c
+++ b/nslcd/group.c
@@ -1,7 +1,7 @@
/*
group.c - group entry lookup routines
- Parts of this file were part of the nss_ldap library (as ldap-grp.c) which
- has been forked into the nss-pam-ldapd library.
+ Parts of this file were part of the nss_ldap library (as ldap-grp.c)
+ which has been forked into the nss-pam-ldapd library.
Copyright (C) 1997-2006 Luke Howard
Copyright (C) 2006 West Consulting
@@ -205,7 +205,7 @@ static int do_write_group(
/* return the list of members */
static const char **getmembers(MYLDAP_ENTRY *entry,MYLDAP_SESSION *session)
{
- char buf[20];
+ char buf[256];
int i;
const char **values;
SET *set;
@@ -249,7 +249,7 @@ static int write_group(TFILE *fp,MYLDAP_ENTRY *entry,const char *reqname,
gid_t gids[MAXGIDS_PER_ENTRY];
int numgids;
char *tmp;
- char passbuffer[80];
+ char passbuffer[64];
int rc;
/* get group name (cn) */
names=myldap_get_values(entry,attmap_group_cn);
@@ -274,7 +274,7 @@ static int write_group(TFILE *fp,MYLDAP_ENTRY *entry,const char *reqname,
myldap_get_dn(entry),attmap_group_gidNumber);
return 0;
}
- for (numgids=0;(gidvalues[numgids]!=NULL)&&(numgids<MAXGIDS_PER_ENTRY);numgids++)
+ for (numgids=0;(numgids<MAXGIDS_PER_ENTRY)&&(gidvalues[numgids]!=NULL);numgids++)
{
if (gidSid!=NULL)
gids[numgids]=(gid_t)binsid2id(gidvalues[numgids]);
diff --git a/nslcd/host.c b/nslcd/host.c
index 3ae5b12..f3d7e53 100644
--- a/nslcd/host.c
+++ b/nslcd/host.c
@@ -5,7 +5,7 @@
Copyright (C) 1997-2005 Luke Howard
Copyright (C) 2006 West Consulting
- Copyright (C) 2006, 2007, 2009, 2010 Arthur de Jong
+ Copyright (C) 2006, 2007, 2009, 2010, 2011 Arthur de Jong
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
@@ -78,18 +78,18 @@ static int mkfilter_host_byname(const char *name,
attmap_host_cn,safename);
}
-static int mkfilter_host_byaddr(const char *name,
+static int mkfilter_host_byaddr(const char *addrname,
char *buffer,size_t buflen)
{
- char safename[64];
+ char safeaddr[64];
/* escape attribute */
- if (myldap_escape(name,safename,sizeof(safename)))
+ if (myldap_escape(addrname,safeaddr,sizeof(safeaddr)))
return -1;
/* build filter */
return mysnprintf(buffer,buflen,
"(&%s(%s=%s))",
host_filter,
- attmap_host_ipHostNumber,safename);
+ attmap_host_ipHostNumber,safeaddr);
}
void host_init(void)
@@ -167,18 +167,18 @@ NSLCD_HANDLE(
int af;
char addr[64];
int len=sizeof(addr);
- char name[64];
+ char addrname[64];
char filter[1024];
READ_ADDRESS(fp,addr,len,af);
/* translate the address to a string */
- if (inet_ntop(af,addr,name,sizeof(name))==NULL)
+ if (inet_ntop(af,addr,addrname,sizeof(addrname))==NULL)
{
log_log(LOG_WARNING,"unable to convert address to string");
return -1;
}
- log_setrequest("host=%s",name);,
+ log_setrequest("host=%s",addrname);,
NSLCD_ACTION_HOST_BYADDR,
- mkfilter_host_byaddr(name,filter,sizeof(filter)),
+ mkfilter_host_byaddr(addrname,filter,sizeof(filter)),
write_host(fp,entry)
)
diff --git a/nslcd/network.c b/nslcd/network.c
index a87f478..39b0e3e 100644
--- a/nslcd/network.c
+++ b/nslcd/network.c
@@ -5,7 +5,7 @@
Copyright (C) 1997-2005 Luke Howard
Copyright (C) 2006 West Consulting
- Copyright (C) 2006, 2007, 2009, 2010 Arthur de Jong
+ Copyright (C) 2006, 2007, 2009, 2010, 2011 Arthur de Jong
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
@@ -76,18 +76,18 @@ static int mkfilter_network_byname(const char *name,
attmap_network_cn,safename);
}
-static int mkfilter_network_byaddr(const char *name,
+static int mkfilter_network_byaddr(const char *addrname,
char *buffer,size_t buflen)
{
- char safename[64];
+ char safeaddr[64];
/* escape attribute */
- if (myldap_escape(name,safename,sizeof(safename)))
+ if (myldap_escape(addrname,safeaddr,sizeof(safeaddr)))
return -1;
/* build filter */
return mysnprintf(buffer,buflen,
"(&%s(%s=%s))",
network_filter,
- attmap_network_ipNetworkNumber,safename);
+ attmap_network_ipNetworkNumber,safeaddr);
}
void network_init(void)
@@ -165,18 +165,18 @@ NSLCD_HANDLE(
int af;
char addr[64];
int len=sizeof(addr);
- char name[64];
+ char addrname[64];
char filter[1024];
READ_ADDRESS(fp,addr,len,af);
/* translate the address to a string */
- if (inet_ntop(af,addr,name,sizeof(name))==NULL)
+ if (inet_ntop(af,addr,addrname,sizeof(addrname))==NULL)
{
log_log(LOG_WARNING,"unable to convert address to string");
return -1;
}
- log_setrequest("network=%s",name);,
+ log_setrequest("network=%s",addrname);,
NSLCD_ACTION_NETWORK_BYADDR,
- mkfilter_network_byaddr(name,filter,sizeof(filter)),
+ mkfilter_network_byaddr(addrname,filter,sizeof(filter)),
write_network(fp,entry)
)
diff --git a/nslcd/passwd.c b/nslcd/passwd.c
index 15124fe..a649322 100644
--- a/nslcd/passwd.c
+++ b/nslcd/passwd.c
@@ -390,12 +390,12 @@ static int write_passwd(TFILE *fp,MYLDAP_ENTRY *entry,const char *requser,
const char *passwd;
uid_t uids[MAXUIDS_PER_ENTRY];
int numuids;
- char gidbuf[10];
+ char gidbuf[32];
gid_t gid;
char gecos[100];
char homedir[100];
char shell[100];
- char passbuffer[80];
+ char passbuffer[64];
int i,j;
/* get the usernames for this entry */
usernames=myldap_get_values(entry,attmap_passwd_uid);
diff --git a/nslcd/shadow.c b/nslcd/shadow.c
index 6de372b..5d6dae7 100644
--- a/nslcd/shadow.c
+++ b/nslcd/shadow.c
@@ -112,7 +112,7 @@ void shadow_init(void)
static long to_date(const char *date,const char *attr)
{
- char buffer[8];
+ char buffer[32];
long value;
char *tmp;
size_t l;
@@ -168,7 +168,7 @@ void get_shadow_properties(MYLDAP_ENTRY *entry,long *lastchangedate,
long *mindays,long *maxdays,long *warndays,
long *inactdays,long *expiredate,unsigned long *flag)
{
- char buffer[80];
+ char buffer[64];
const char *tmpvalue;
char *tmp;
/* get lastchange date */
@@ -202,7 +202,7 @@ int update_lastchange(MYLDAP_SESSION *session,const char *userdn)
int rc;
const char **values;
LDAPMod mod,*mods[2];
- char buffer[80],*strvals[2];
+ char buffer[64],*strvals[2];
/* find the name of the attribute to use */
if ( (attmap_shadow_shadowLastChange==NULL) || (attmap_shadow_shadowLastChange[0]=='\0') )
return LDAP_LOCAL_ERROR; /* attribute not mapped at all */
@@ -270,7 +270,7 @@ static int write_shadow(TFILE *fp,MYLDAP_ENTRY *entry,const char *requser)
long expiredate;
unsigned long flag;
int i;
- char passbuffer[80];
+ char passbuffer[64];
/* get username */
usernames=myldap_get_values(entry,attmap_shadow_uid);
if ((usernames==NULL)||(usernames[0]==NULL))