mirror of
https://sourceware.org/git/glibc.git
synced 2025-01-08 18:30:18 +00:00
* nis/nss_nisplus/nisplus-publickey.c: Minor cleanups throughout.
This commit is contained in:
parent
38c2f8bc62
commit
004c621963
@ -1,5 +1,6 @@
|
||||
2006-04-15 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
* nis/nss_nisplus/nisplus-publickey.c: Minor cleanups throughout.
|
||||
* nis/nss_nisplus/nisplus-proto.c (_nss_nisplus_parse_protoent):
|
||||
Significant cleanups. Correct adjustment for pointer array
|
||||
* nis/nss_nisplus/nisplus-network.c (_nss_nisplus_parse_netent):
|
||||
|
@ -91,20 +91,20 @@ _nss_nisplus_getpublickey (const char *netname, char *pkey, int *errnop)
|
||||
return retval;
|
||||
}
|
||||
|
||||
if (res->objects.objects_len > 1)
|
||||
if (NIS_RES_NUMOBJ (res) > 1)
|
||||
{
|
||||
/*
|
||||
* More than one principal with same uid?
|
||||
* something wrong with cred table. Should be unique
|
||||
* Warn user and continue.
|
||||
*/
|
||||
printf (_("DES entry for netname %s not unique\n"), netname);
|
||||
syslog (LOG_ERR, _("DES entry for netname %s not unique\n"), netname);
|
||||
nis_freeresult (res);
|
||||
return NSS_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
len = ENTRY_LEN (res->objects.objects_val, 3);
|
||||
memcpy (pkey, ENTRY_VAL (res->objects.objects_val,3), len);
|
||||
len = ENTRY_LEN (NIS_RES_OBJECT (res), 3);
|
||||
memcpy (pkey, ENTRY_VAL (NIS_RES_OBJECT (res),3), len);
|
||||
pkey[len] = 0;
|
||||
cptr = strchr (pkey, ':');
|
||||
if (cptr)
|
||||
@ -114,6 +114,7 @@ _nss_nisplus_getpublickey (const char *netname, char *pkey, int *errnop)
|
||||
return NSS_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
enum nss_status
|
||||
_nss_nisplus_getsecretkey (const char *netname, char *skey, char *passwd,
|
||||
int *errnop)
|
||||
@ -172,20 +173,20 @@ _nss_nisplus_getsecretkey (const char *netname, char *skey, char *passwd,
|
||||
return retval;
|
||||
}
|
||||
|
||||
if (res->objects.objects_len > 1)
|
||||
if (NIS_RES_NUMOBJ (res) > 1)
|
||||
{
|
||||
/*
|
||||
* More than one principal with same uid?
|
||||
* something wrong with cred table. Should be unique
|
||||
* Warn user and continue.
|
||||
*/
|
||||
printf (_("DES entry for netname %s not unique\n"), netname);
|
||||
syslog (LOG_ERR, _("DES entry for netname %s not unique\n"), netname);
|
||||
nis_freeresult (res);
|
||||
return NSS_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
len = ENTRY_LEN (res->objects.objects_val, 4);
|
||||
memcpy (buf, ENTRY_VAL (res->objects.objects_val,4), len);
|
||||
len = ENTRY_LEN (NIS_RES_OBJECT (res), 4);
|
||||
memcpy (buf, ENTRY_VAL (NIS_RES_OBJECT (res), 4), len);
|
||||
buf[len] = '\0';
|
||||
cptr = strchr (buf, ':');
|
||||
if (cptr)
|
||||
@ -204,6 +205,7 @@ _nss_nisplus_getsecretkey (const char *netname, char *skey, char *passwd,
|
||||
return NSS_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
/* Parse information from the passed string.
|
||||
The format of the string passed is gid,grp,grp, ... */
|
||||
static enum nss_status
|
||||
@ -305,7 +307,7 @@ _nss_nisplus_netname2user (char netname[MAXNETNAMELEN + 1], uid_t *uidp,
|
||||
return NSS_STATUS_UNAVAIL;
|
||||
}
|
||||
|
||||
if (res->objects.objects_len > 1)
|
||||
if (NIS_RES_NUMOBJ (res) > 1)
|
||||
/*
|
||||
* A netname belonging to more than one principal?
|
||||
* Something wrong with cred table. should be unique.
|
||||
@ -315,8 +317,8 @@ _nss_nisplus_netname2user (char netname[MAXNETNAMELEN + 1], uid_t *uidp,
|
||||
_("netname2user: DES entry for %s in directory %s not unique"),
|
||||
netname, domain);
|
||||
|
||||
len = ENTRY_LEN (res->objects.objects_val, 0);
|
||||
strncpy (principal, ENTRY_VAL (res->objects.objects_val, 0), len);
|
||||
len = ENTRY_LEN (NIS_RES_OBJECT (res), 0);
|
||||
strncpy (principal, ENTRY_VAL (NIS_RES_OBJECT (res), 0), len);
|
||||
principal[len] = '\0';
|
||||
nis_freeresult (res);
|
||||
|
||||
@ -328,7 +330,7 @@ _nss_nisplus_netname2user (char netname[MAXNETNAMELEN + 1], uid_t *uidp,
|
||||
* LOCAL entry in **local** cred table.
|
||||
*/
|
||||
domain = nis_local_directory ();
|
||||
if ((strlen (principal) + strlen (domain) + 45) > (size_t) NIS_MAXNAMELEN)
|
||||
if (strlen (principal) + strlen (domain) + 45 > (size_t) NIS_MAXNAMELEN)
|
||||
{
|
||||
syslog (LOG_ERR, _("netname2user: principal name `%s' too long"),
|
||||
principal);
|
||||
@ -379,7 +381,7 @@ _nss_nisplus_netname2user (char netname[MAXNETNAMELEN + 1], uid_t *uidp,
|
||||
return NSS_STATUS_UNAVAIL;
|
||||
}
|
||||
|
||||
if (res->objects.objects_len > 1)
|
||||
if (NIS_RES_NUMOBJ (res) > 1)
|
||||
/*
|
||||
* A principal can have more than one LOCAL entry?
|
||||
* Something wrong with cred table.
|
||||
@ -389,7 +391,7 @@ _nss_nisplus_netname2user (char netname[MAXNETNAMELEN + 1], uid_t *uidp,
|
||||
_("netname2user: LOCAL entry for %s in directory %s not unique"),
|
||||
netname, domain);
|
||||
/* Fetch the uid */
|
||||
*uidp = strtoul (ENTRY_VAL (res->objects.objects_val, 2), NULL, 10);
|
||||
*uidp = strtoul (ENTRY_VAL (NIS_RES_OBJECT (res), 2), NULL, 10);
|
||||
|
||||
if (*uidp == 0)
|
||||
{
|
||||
@ -398,7 +400,7 @@ _nss_nisplus_netname2user (char netname[MAXNETNAMELEN + 1], uid_t *uidp,
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
}
|
||||
|
||||
parse_grp_str (ENTRY_VAL (res->objects.objects_val, 3),
|
||||
parse_grp_str (ENTRY_VAL (NIS_RES_OBJECT (res), 3),
|
||||
gidp, gidlenp, gidlist, errnop);
|
||||
|
||||
nis_freeresult (res);
|
||||
|
Loading…
Reference in New Issue
Block a user