diff options
author | Arthur de Jong <arthur@arthurdejong.org> | 2011-07-02 21:20:39 +0000 |
---|---|---|
committer | Arthur de Jong <arthur@arthurdejong.org> | 2011-07-02 21:20:39 +0000 |
commit | be47be6772da6920e93dddf52fcdbb2799056337 (patch) | |
tree | bdaa889ad2d1f06e8dfcfac5b90bc680d147551a | |
parent | 2b160881f87d3d15d885b208c80b27e112459701 (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.c | 10 | ||||
-rw-r--r-- | nslcd/host.c | 18 | ||||
-rw-r--r-- | nslcd/network.c | 18 | ||||
-rw-r--r-- | nslcd/passwd.c | 4 | ||||
-rw-r--r-- | nslcd/shadow.c | 8 |
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)) |