|
|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T v
Length: 848 (0x350)
Types: TextFile
Names: »validname.c«
└─⟦a0efdde77⟧ Bits:30001252 EUUGD11 Tape, 1987 Spring Conference Helsinki
└─⟦this⟧ »EUUGD11/euug-87hel/sec1/elm/src/validname.c«
/** validname.c **/
/** This routine takes a single address, no machine hops or
anything, and returns 1 if it's valid and 0 if not. The
algorithm it uses is the same one that uux uses, namely:
1. Is there a file '/usr/mail/%s'?
2. Is there a password entry for %s?
(C) Copyright 1986 Dave Taylor
**/
#include "defs.h"
#include <stdio.h>
#ifndef NOCHECK_VALIDNAME
# ifdef BSD4.1
# include <sys/pwd.h>
# else
# include <pwd.h>
# endif
#endif
int
valid_name(name)
char *name;
{
/** does what it says above, boss! **/
#ifdef NOCHECK_VALIDNAME
return(1); /* always say it's okay! */
#else
struct passwd *getpwname();
char filebuf[SLEN];
sprintf(filebuf,"%s/%s", mailhome, name);
if (access(filebuf, ACCESS_EXISTS) == 0)
return(1);
if (getpwnam(name) != NULL)
return(1);
return(0);
#endif
}