|
|
1.1 ! root 1: /* tval.c ! 2: Validate a login name for a system using Taylor UUCP files. ! 3: ! 4: Copyright (C) 1992 Ian Lance Taylor ! 5: ! 6: This file is part of the Taylor UUCP uuconf library. ! 7: ! 8: This library is free software; you can redistribute it and/or ! 9: modify it under the terms of the GNU Library General Public License ! 10: as published by the Free Software Foundation; either version 2 of ! 11: the License, or (at your option) any later version. ! 12: ! 13: This library is distributed in the hope that it will be useful, but ! 14: WITHOUT ANY WARRANTY; without even the implied warranty of ! 15: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ! 16: Library General Public License for more details. ! 17: ! 18: You should have received a copy of the GNU Library General Public ! 19: License along with this library; if not, write to the Free Software ! 20: Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ! 21: ! 22: The author of the program may be contacted at [email protected] or ! 23: c/o Infinity Development Systems, P.O. Box 520, Waltham, MA 02254. ! 24: */ ! 25: ! 26: #include "uucnfi.h" ! 27: ! 28: #if USE_RCS_ID ! 29: const char _uuconf_tval_rcsid[] = "$Id: tval.c,v 1.1 93/07/30 08:08:12 bin Exp Locker: bin $"; ! 30: #endif ! 31: ! 32: /* Validate a login name for a system using Taylor UUCP configuration ! 33: files. This assumes that the zcalled_login field is either NULL or ! 34: "ANY". If makes sure that the login name does not appear in some ! 35: other "called-login" command listing systems not including this ! 36: one. */ ! 37: ! 38: int ! 39: uuconf_taylor_validate (pglobal, qsys, zlogin) ! 40: pointer pglobal; ! 41: const struct uuconf_system *qsys; ! 42: const char *zlogin; ! 43: { ! 44: struct sglobal *qglobal = (struct sglobal *) pglobal; ! 45: struct svalidate *q; ! 46: ! 47: if (! qglobal->qprocess->fread_syslocs) ! 48: { ! 49: int iret; ! 50: ! 51: iret = _uuconf_iread_locations (qglobal); ! 52: if (iret != UUCONF_SUCCESS) ! 53: return iret; ! 54: } ! 55: ! 56: for (q = qglobal->qprocess->qvalidate; q != NULL; q = q->qnext) ! 57: { ! 58: if (strcmp (q->zlogname, zlogin) == 0) ! 59: { ! 60: char **pz; ! 61: ! 62: for (pz = q->pzmachines; *pz != NULL; pz++) ! 63: if (strcmp (*pz, qsys->uuconf_zname) == 0) ! 64: return UUCONF_SUCCESS; ! 65: ! 66: return UUCONF_NOT_FOUND; ! 67: } ! 68: } ! 69: ! 70: return UUCONF_SUCCESS; ! 71: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.