nis_result *res;
enum nss_status retval;
char buf[NIS_MAXNAMELEN+2];
+ size_t slen;
char *domain, *cptr;
int len;
return NSS_STATUS_UNAVAIL;
domain++;
- snprintf (buf, NIS_MAXNAMELEN,
- "[auth_name=%s,auth_type=DES],cred.org_dir.%s",
- netname, domain);
+ slen = snprintf (buf, NIS_MAXNAMELEN,
+ "[auth_name=%s,auth_type=DES],cred.org_dir.%s",
+ netname, domain);
- if (buf[strlen (buf)-1] != '.')
- strcat (buf, ".");
+ if (buf[slen - 1] != '.')
+ {
+ buf[slen++] = '.';
+ buf[slen] = '\0';
+ }
res = nis_list (buf, USE_DGRAM+NO_AUTHINFO+FOLLOW_LINKS+FOLLOW_PATH,
NULL, NULL);
nis_result *res;
enum nss_status retval;
char buf[NIS_MAXNAMELEN+2];
+ size_t slen;
char *domain, *cptr;
int len;
return NSS_STATUS_UNAVAIL;
domain++;
- snprintf (buf, NIS_MAXNAMELEN,
- "[auth_name=%s,auth_type=DES],cred.org_dir.%s",
- netname, domain);
+ slen = snprintf (buf, NIS_MAXNAMELEN,
+ "[auth_name=%s,auth_type=DES],cred.org_dir.%s",
+ netname, domain);
- if (buf[strlen(buf)-1] != '.')
- strcat(buf, ".");
+ if (buf[slen - 1] != '.')
+ {
+ buf[slen++] = '.';
+ buf[slen] = '\0';
+ }
res = nis_list (buf, USE_DGRAM+NO_AUTHINFO+FOLLOW_LINKS+FOLLOW_PATH,
NULL, NULL);
if (!s || (!isdigit (*s)))
{
- syslog (LOG_ERR, "netname2user: missing group id list in '%s'.", s);
+ syslog (LOG_ERR, _("netname2user: missing group id list in '%s'."), s);
return NSS_STATUS_NOTFOUND;
}
char *domain;
nis_result *res;
char sname[NIS_MAXNAMELEN+1]; /* search criteria + table name */
+ size_t slen;
char principal[NIS_MAXNAMELEN+1];
int len;
(size_t) NIS_MAXNAMELEN)
return NSS_STATUS_UNAVAIL;
- snprintf (sname, NIS_MAXNAMELEN,
- "[auth_name=%s,auth_type=DES],cred.org_dir.%s",
- netname, domain);
- if (sname[strlen (sname) - 1] != '.')
- strcat(sname, ".");
+ slen = snprintf (sname, NIS_MAXNAMELEN,
+ "[auth_name=%s,auth_type=DES],cred.org_dir.%s",
+ netname, domain);
+
+ if (sname[slen - 1] != '.')
+ {
+ sname[slen++] = '.';
+ sname[slen] = '\0';
+ }
/* must use authenticated call here */
/* XXX but we cant, for now. XXX */
return NSS_STATUS_NOTFOUND;
case NIS_S_NOTFOUND:
case NIS_TRYAGAIN:
- syslog (LOG_ERR, "netname2user: (nis+ lookup): %s\n",
+ syslog (LOG_ERR, _("netname2user: (nis+ lookup): %s\n"),
nis_sperrno (res->status));
nis_freeresult (res);
return NSS_STATUS_TRYAGAIN;
default:
- syslog (LOG_ERR, "netname2user: (nis+ lookup): %s\n",
+ syslog (LOG_ERR, _("netname2user: (nis+ lookup): %s\n"),
nis_sperrno (res->status));
nis_freeresult (res);
return NSS_STATUS_UNAVAIL;
* 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);
return NSS_STATUS_UNAVAIL;
}
- sprintf (sname, "[cname=%s,auth_type=LOCAL],cred.org_dir.%s",
- principal, domain);
- if (sname[strlen(sname) - 1] != '.')
- strcat(sname, ".");
+
+ slen = sprintf (sname, "[cname=%s,auth_type=LOCAL],cred.org_dir.%s",
+ principal, domain);
+
+ if (sname[slen - 1] != '.')
+ {
+ sname[slen++] = '.';
+ sname[slen] = '\0';
+ }
/* must use authenticated call here */
/* XXX but we cant, for now. XXX */
return NSS_STATUS_NOTFOUND;
case NIS_S_NOTFOUND:
case NIS_TRYAGAIN:
- syslog (LOG_ERR, "netname2user: (nis+ lookup): %s\n",
+ syslog (LOG_ERR, _("netname2user: (nis+ lookup): %s\n"),
nis_sperrno (res->status));
nis_freeresult (res);
return NSS_STATUS_TRYAGAIN;
case NIS_S_SUCCESS:
break; /* go and do something useful */
default:
- syslog (LOG_ERR, "netname2user: (nis+ lookup): %s\n",
+ syslog (LOG_ERR, _("netname2user: (nis+ lookup): %s\n"),
nis_sperrno (res->status));
nis_freeresult (res);
return NSS_STATUS_UNAVAIL;
* Something wrong with cred table.
* Warn user and continue.
*/
- syslog(LOG_ALERT,
- _("netname2user: LOCAL entry for %s in directory %s not unique"),
- netname, domain);
+ syslog (LOG_ALERT,
+ _("netname2user: LOCAL entry for %s in directory %s not unique"),
+ netname, domain);
}
/* Fetch the uid */
*uidp = atoi (ENTRY_VAL (res->objects.objects_val, 2));