Arthur de Jong

Open Source / Free Software developer

summaryrefslogtreecommitdiffstats
path: root/nslcd/netgroup.c
diff options
context:
space:
mode:
Diffstat (limited to 'nslcd/netgroup.c')
-rw-r--r--nslcd/netgroup.c189
1 files changed, 94 insertions, 95 deletions
diff --git a/nslcd/netgroup.c b/nslcd/netgroup.c
index 535bc27..29cd91a 100644
--- a/nslcd/netgroup.c
+++ b/nslcd/netgroup.c
@@ -5,7 +5,7 @@
Copyright (C) 1997-2005 Luke Howard
Copyright (C) 2006 West Consulting
- Copyright (C) 2006, 2007, 2009, 2010, 2011 Arthur de Jong
+ Copyright (C) 2006, 2007, 2009, 2010, 2011, 2012 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
@@ -63,149 +63,148 @@ const char *attmap_netgroup_memberNisNetgroup = "memberNisNetgroup";
static const char *netgroup_attrs[4];
static int mkfilter_netgroup_byname(const char *name,
- char *buffer,size_t buflen)
+ char *buffer, size_t buflen)
{
char safename[300];
/* escape attribute */
- if (myldap_escape(name,safename,sizeof(safename)))
+ if (myldap_escape(name, safename, sizeof(safename)))
return -1;
/* build filter */
- return mysnprintf(buffer,buflen,
- "(&%s(%s=%s))",
- netgroup_filter,
- attmap_netgroup_cn,safename);
+ return mysnprintf(buffer, buflen, "(&%s(%s=%s))",
+ netgroup_filter, attmap_netgroup_cn, safename);
}
void netgroup_init(void)
{
int i;
/* set up search bases */
- if (netgroup_bases[0]==NULL)
- for (i=0;i<NSS_LDAP_CONFIG_MAX_BASES;i++)
- netgroup_bases[i]=nslcd_cfg->ldc_bases[i];
+ if (netgroup_bases[0] == NULL)
+ for (i = 0; i < NSS_LDAP_CONFIG_MAX_BASES; i++)
+ netgroup_bases[i] = nslcd_cfg->ldc_bases[i];
/* set up scope */
- if (netgroup_scope==LDAP_SCOPE_DEFAULT)
- netgroup_scope=nslcd_cfg->ldc_scope;
+ if (netgroup_scope == LDAP_SCOPE_DEFAULT)
+ netgroup_scope = nslcd_cfg->ldc_scope;
/* set up attribute list */
- netgroup_attrs[0]=attmap_netgroup_cn;
- netgroup_attrs[1]=attmap_netgroup_nisNetgroupTriple;
- netgroup_attrs[2]=attmap_netgroup_memberNisNetgroup;
- netgroup_attrs[3]=NULL;
+ netgroup_attrs[0] = attmap_netgroup_cn;
+ netgroup_attrs[1] = attmap_netgroup_nisNetgroupTriple;
+ netgroup_attrs[2] = attmap_netgroup_memberNisNetgroup;
+ netgroup_attrs[3] = NULL;
}
-static int write_string_stripspace_len(TFILE *fp,const char *str,int len)
+static int write_string_stripspace_len(TFILE *fp, const char *str, int len)
{
int32_t tmpint32;
- int i,j;
- DEBUG_PRINT("WRITE_STRING: var="__STRING(str)" string=\"%s\"",str);
- if (str==NULL)
+ int i, j;
+ DEBUG_PRINT("WRITE_STRING: var=" __STRING(str) " string=\"%s\"", str);
+ if (str == NULL)
{
- WRITE_INT32(fp,0);
+ WRITE_INT32(fp, 0);
}
else
{
/* skip leading spaces */
- for (i=0;(str[i]!='\0')&&(isspace(str[i]));i++)
- /* nothing else to do */ ;
+ for (i = 0; (str[i] != '\0') && (isspace(str[i])); i++)
+ /* nothing */ ;
/* skip trailing spaces */
- for (j=len;(j>i)&&(isspace(str[j-1]));j--)
- /* nothing else to do */ ;
+ for (j = len; (j > i) && (isspace(str[j - 1])); j--)
+ /* nothing */ ;
/* write length of string */
- WRITE_INT32(fp,j-i);
+ WRITE_INT32(fp, j - i);
/* write string itself */
- if (j>i)
+ if (j > i)
{
- WRITE(fp,str+i,j-i);
+ WRITE(fp, str + i, j - i);
}
}
/* we're done */
return 0;
}
-#define WRITE_STRING_STRIPSPACE_LEN(fp,str,len) \
- if (write_string_stripspace_len(fp,str,len)) \
+#define WRITE_STRING_STRIPSPACE_LEN(fp, str, len) \
+ if (write_string_stripspace_len(fp, str, len)) \
return -1;
-#define WRITE_STRING_STRIPSPACE(fp,str) \
- WRITE_STRING_STRIPSPACE_LEN(fp,str,strlen(str))
+#define WRITE_STRING_STRIPSPACE(fp, str) \
+ WRITE_STRING_STRIPSPACE_LEN(fp, str, strlen(str))
-static int write_netgroup_triple(TFILE *fp,MYLDAP_ENTRY *entry,const char *triple)
+static int write_netgroup_triple(TFILE *fp, MYLDAP_ENTRY *entry,
+ const char *triple)
{
int32_t tmpint32;
int i;
- int hostb,hoste,userb,usere,domainb,domaine;
+ int hostb, hoste, userb, usere, domainb, domaine;
/* skip leading spaces */
- for (i=0;(triple[i]!='\0')&&(isspace(triple[i]));i++)
- /* nothing else to do */ ;
+ for (i = 0; (triple[i] != '\0') && (isspace(triple[i])); i++)
+ /* nothing */ ;
/* we should have a bracket now */
- if (triple[i]!='(')
+ if (triple[i] != '(')
{
- log_log(LOG_WARNING,"%s: %s: does not begin with '('",
- myldap_get_dn(entry),attmap_netgroup_nisNetgroupTriple);
+ log_log(LOG_WARNING, "%s: %s: does not begin with '('",
+ myldap_get_dn(entry), attmap_netgroup_nisNetgroupTriple);
return 0;
}
i++;
- hostb=i;
+ hostb = i;
/* find comma (end of host string) */
- for (;(triple[i]!='\0')&&(triple[i]!=',');i++)
- /* nothing else to do */ ;
- if (triple[i]!=',')
+ for (; (triple[i] != '\0') && (triple[i] != ','); i++)
+ /* nothing */ ;
+ if (triple[i] != ',')
{
- log_log(LOG_WARNING,"%s: %s: missing ','",
- myldap_get_dn(entry),attmap_netgroup_nisNetgroupTriple);
+ log_log(LOG_WARNING, "%s: %s: missing ','",
+ myldap_get_dn(entry), attmap_netgroup_nisNetgroupTriple);
return 0;
}
- hoste=i;
+ hoste = i;
i++;
- userb=i;
+ userb = i;
/* find comma (end of user string) */
- for (;(triple[i]!='\0')&&(triple[i]!=',');i++)
- /* nothing else to do */ ;
- if (triple[i]!=',')
+ for (; (triple[i] != '\0') && (triple[i] != ','); i++)
+ /* nothing */ ;
+ if (triple[i] != ',')
{
- log_log(LOG_WARNING,"%s: %s: missing ','",
- myldap_get_dn(entry),attmap_netgroup_nisNetgroupTriple);
+ log_log(LOG_WARNING, "%s: %s: missing ','",
+ myldap_get_dn(entry), attmap_netgroup_nisNetgroupTriple);
return 0;
}
- usere=i;
+ usere = i;
i++;
- domainb=i;
+ domainb = i;
/* find closing bracket (end of domain string) */
- for (;(triple[i]!='\0')&&(triple[i]!=')');i++)
- /* nothing else to do */ ;
- if (triple[i]!=')')
+ for (; (triple[i] != '\0') && (triple[i] != ')'); i++)
+ /* nothing */ ;
+ if (triple[i] != ')')
{
- log_log(LOG_WARNING,"%s: %s: missing ')'",
- myldap_get_dn(entry),attmap_netgroup_nisNetgroupTriple);
+ log_log(LOG_WARNING, "%s: %s: missing ')'",
+ myldap_get_dn(entry), attmap_netgroup_nisNetgroupTriple);
return 0;
}
- domaine=i;
+ domaine = i;
i++;
/* skip trailing spaces */
- for (;(triple[i]!='\0')&&(isspace(triple[i]));i++)
- /* nothing else to do */ ;
+ for (; (triple[i] != '\0') && (isspace(triple[i])); i++)
+ /* nothing */ ;
/* if anything is left in the string we have a problem */
- if (triple[i]!='\0')
+ if (triple[i] != '\0')
{
- log_log(LOG_WARNING,"%s: %s: contains trailing data",
- myldap_get_dn(entry),attmap_netgroup_nisNetgroupTriple);
+ log_log(LOG_WARNING, "%s: %s: contains trailing data",
+ myldap_get_dn(entry), attmap_netgroup_nisNetgroupTriple);
return 0;
}
/* write strings */
- WRITE_INT32(fp,NSLCD_RESULT_BEGIN);
- WRITE_INT32(fp,NSLCD_NETGROUP_TYPE_TRIPLE);
- WRITE_STRING_STRIPSPACE_LEN(fp,triple+hostb,hoste-hostb)
- WRITE_STRING_STRIPSPACE_LEN(fp,triple+userb,usere-userb)
- WRITE_STRING_STRIPSPACE_LEN(fp,triple+domainb,domaine-domainb)
+ WRITE_INT32(fp, NSLCD_RESULT_BEGIN);
+ WRITE_INT32(fp, NSLCD_NETGROUP_TYPE_TRIPLE);
+ WRITE_STRING_STRIPSPACE_LEN(fp, triple + hostb, hoste - hostb);
+ WRITE_STRING_STRIPSPACE_LEN(fp, triple + userb, usere - userb);
+ WRITE_STRING_STRIPSPACE_LEN(fp, triple + domainb, domaine - domainb);
/* we're done */
return 0;
}
-#define WRITE_NETGROUP_TRIPLE(fp,entry,triple) \
- if (write_netgroup_triple(fp,entry,triple)) \
+#define WRITE_NETGROUP_TRIPLE(fp, entry, triple) \
+ if (write_netgroup_triple(fp, entry, triple)) \
return -1;
-static int write_netgroup(TFILE *fp,MYLDAP_ENTRY *entry,const char *reqname)
+static int write_netgroup(TFILE *fp, MYLDAP_ENTRY *entry, const char *reqname)
{
int32_t tmpint32;
int i;
@@ -213,48 +212,48 @@ static int write_netgroup(TFILE *fp,MYLDAP_ENTRY *entry,const char *reqname)
const char **triples;
const char **members;
/* get the netgroup name */
- names=myldap_get_values(entry,attmap_netgroup_cn);
- if ((names==NULL)||(names[0]==NULL))
+ names = myldap_get_values(entry, attmap_netgroup_cn);
+ if ((names == NULL) || (names[0] == NULL))
{
- log_log(LOG_WARNING,"%s: %s: missing",
- myldap_get_dn(entry),attmap_netgroup_cn);
+ log_log(LOG_WARNING, "%s: %s: missing",
+ myldap_get_dn(entry), attmap_netgroup_cn);
return 0;
}
- for (i=0;(names[i]!=NULL)&&(STR_CMP(reqname,names[i])!=0);i++)
- /* nothing here */ ;
- if (names[i]==NULL)
+ for (i = 0; (names[i] != NULL) && (STR_CMP(reqname, names[i]) != 0); i++)
+ /* nothing */ ;
+ if (names[i] == NULL)
return 0; /* the name was not found */
/* get the netgroup triples and member */
- triples=myldap_get_values(entry,attmap_netgroup_nisNetgroupTriple);
- members=myldap_get_values(entry,attmap_netgroup_memberNisNetgroup);
+ triples = myldap_get_values(entry, attmap_netgroup_nisNetgroupTriple);
+ members = myldap_get_values(entry, attmap_netgroup_memberNisNetgroup);
/* write the netgroup triples */
- if (triples!=NULL)
- for (i=0;triples[i]!=NULL;i++)
+ if (triples != NULL)
+ for (i = 0; triples[i] != NULL; i++)
{
- WRITE_NETGROUP_TRIPLE(fp,entry,triples[i]);
+ WRITE_NETGROUP_TRIPLE(fp, entry, triples[i]);
}
/* write netgroup members */
- if (members!=NULL)
- for (i=0;members[i]!=NULL;i++)
+ if (members != NULL)
+ for (i = 0; members[i] != NULL; i++)
{
/* write the result code */
- WRITE_INT32(fp,NSLCD_RESULT_BEGIN);
+ WRITE_INT32(fp, NSLCD_RESULT_BEGIN);
/* write triple indicator */
- WRITE_INT32(fp,NSLCD_NETGROUP_TYPE_NETGROUP);
+ WRITE_INT32(fp, NSLCD_NETGROUP_TYPE_NETGROUP);
/* write netgroup name */
- WRITE_STRING_STRIPSPACE(fp,members[i]);
+ WRITE_STRING_STRIPSPACE(fp, members[i]);
}
/* we're done */
return 0;
}
NSLCD_HANDLE(
- netgroup,byname,
+ netgroup, byname,
char name[256];
char filter[4096];
- READ_STRING(fp,name);
- log_setrequest("netgroup=\"%s\"",name);,
+ READ_STRING(fp, name);
+ log_setrequest("netgroup=\"%s\"", name);,
NSLCD_ACTION_NETGROUP_BYNAME,
- mkfilter_netgroup_byname(name,filter,sizeof(filter)),
- write_netgroup(fp,entry,name)
+ mkfilter_netgroup_byname(name, filter, sizeof(filter)),
+ write_netgroup(fp, entry, name)
)