X-Git-Url: https://git.distorted.org.uk/~mdw/become/blobdiff_plain/2e11036b730ebc95892951f5b03642fbc83e931b..f60a34341fee6aafd5b878dce23b80af7c60064d:/src/name.c diff --git a/src/name.c b/src/name.c index 91f045a..bd49ab9 100644 --- a/src/name.c +++ b/src/name.c @@ -1,10 +1,10 @@ /* -*-c-*- * - * $Id: name.c,v 1.5 1997/09/17 10:26:11 mdw Exp $ + * $Id: name.c,v 1.8 2003/10/12 00:14:55 mdw Exp $ * * Looking up of names in symbol tables * - * (c) 1997 EBI + * (c) 1998 EBI */ /*----- Licensing notice --------------------------------------------------* @@ -29,7 +29,17 @@ /*----- Revision history --------------------------------------------------* * * $Log: name.c,v $ - * Revision 1.5 1997/09/17 10:26:11 mdw + * Revision 1.8 2003/10/12 00:14:55 mdw + * Major overhaul. Now uses DSA signatures rather than the bogus symmetric + * encrypt-and-hope thing. Integrated with mLib and Catacomb. + * + * Revision 1.7 1998/04/23 13:23:56 mdw + * Fix bugs involving empty classes. + * + * Revision 1.6 1998/01/12 16:46:14 mdw + * Fix copyright date. + * + * Revision 1.5 1997/09/17 10:26:11 mdw * Use rewritten class handler. Support `none' class. * * Revision 1.4 1997/08/20 16:17:59 mdw @@ -69,6 +79,11 @@ #include #include +/* --- mLib headers --- */ + +#include +#include + /* --- Local headers --- */ #include "config.h" @@ -77,9 +92,7 @@ #include "class.h" #include "name.h" #include "netg.h" -#include "sym.h" #include "userdb.h" -#include "utils.h" /*----- Static variables --------------------------------------------------*/ @@ -202,6 +215,8 @@ static void name__groups(void) if ((pw = userdb_userByName(*p)) != 0) n->c = class_addUser(n->c, pw->pw_uid); } + if (!n->c) + n->c = class_none; } } } @@ -341,7 +356,7 @@ void name_init(void) { /* --- Initialise the name table --- */ - sym_createTable(&name__table); + sym_create(&name__table); /* --- Add everyone into the table --- */ @@ -388,7 +403,7 @@ void name_end(void) sym_iter i; name *n; - for (sym_createIter(&i, &name__table); (n = sym_next(&i)) != 0; ) { + for (sym_mkiter(&i, &name__table); (n = sym_next(&i)) != 0; ) { if (n->c) class_dec(n->c); } @@ -396,7 +411,7 @@ void name_end(void) /* --- Destroy and recreate the table --- */ - sym_destroyTable(&name__table); + sym_destroy(&name__table); } /* --- @name_find@ --- * @@ -436,9 +451,12 @@ void name_dump(void) name *n; trace(TRACE_DEBUG, "name: dumping names"); - for (sym_createIter(&i, &name__table); (n = sym_next(&i)) != 0; ) { + for (sym_mkiter(&i, &name__table); (n = sym_next(&i)) != 0; ) { trace(TRACE_DEBUG, "name: dumping `%s'", n->base.name); - class_dump(n->c, 1); + if (!n->c) + trace(TRACE_DEBUG, "name: "); + else + class_dump(n->c, 1); } #endif } @@ -450,28 +468,32 @@ void name_dump(void) int main(void) { ego("name-test"); - /* traceon(stdout, TRACE_ALL); */ + traceon(stdout, TRACE_ALL); userdb_init(); userdb_local(); userdb_yp(); netg_init(); name_init(); - printf("loaded (%lu)\n", track_memused()); + /* printf("loaded (%lu)\n", track_memused()); */ +#ifdef notdef getchar(); for (;;) { name_end(); netg_end(); userdb_end(); - printf("cleared (%lu)\n", track_memused()); - track_memlist(); + /* printf("cleared (%lu)\n", track_memused()); */ + /* track_memlist(); */ userdb_init(); userdb_local(); userdb_yp(); netg_init(); name_init(); - printf("reloaded (%lu)\n", track_memused()); + /* printf("reloaded (%lu)\n", track_memused()); */ getchar(); } +#else + name_dump(); +#endif return (0); }