/* -*-c-*-
*
- * $Id: userdb.c,v 1.8 1998/06/08 11:21:22 mdw Exp $
+ * $Id: userdb.c,v 1.11 2004/04/08 01:36:20 mdw Exp $
*
* User database management
*
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-/*----- Revision history --------------------------------------------------*
- *
- * $Log: userdb.c,v $
- * Revision 1.8 1998/06/08 11:21:22 mdw
- * Fixed bug in password and group file reading: strtok doesn't handle
- * double colons nicely.
- *
- * Revision 1.7 1998/04/23 13:27:46 mdw
- * Switch to using the ypstuff interface to YP server.
- *
- * Revision 1.6 1998/01/12 16:46:33 mdw
- * Fix copyright date.
- *
- * Revision 1.5 1997/09/17 10:24:08 mdw
- * Use `uid_t' instead of `int' for uids and gids. Not quite sure why I
- * didn't do this before.
- *
- * Revision 1.4 1997/08/20 16:24:58 mdw
- * Patch memory leak. Rename `userdb_reinit' to `userdb_end' for more
- * sensible restart.
- *
- * Revision 1.3 1997/08/07 09:44:29 mdw
- * Read NIS-based passwords from the YP server directly, rather than using
- * `popen(ypcat)', which is probably both slower and less secure.
- *
- * Revision 1.2 1997/08/04 10:24:26 mdw
- * Sources placed under CVS control.
- *
- * Revision 1.1 1997/07/21 13:47:43 mdw
- * Initial revision
- *
- */
-
/*----- Header files ------------------------------------------------------*/
/* --- ANSI headers --- */
#include <pwd.h>
#include <unistd.h>
+/* --- mLib headers --- */
+
+#include <mLib/alloc.h>
+#include <mLib/sym.h>
+#include <mLib/trace.h>
+
/* --- Local headers --- */
#include "become.h"
-#include "sym.h"
#include "userdb.h"
-#include "utils.h"
#include "ypstuff.h"
/*----- Type definitions --------------------------------------------------*/
static void userdb__createMap(userdb__map *m)
{
- sym_createTable(&m->nmap);
- sym_createTable(&m->idmap);
+ sym_create(&m->nmap);
+ sym_create(&m->idmap);
m->list = 0;
}
{
userdb__node *n, *t;
- sym_destroyTable(&m->nmap);
- sym_destroyTable(&m->idmap);
+ sym_destroy(&m->nmap);
+ sym_destroy(&m->idmap);
for (n = m->list; n; n = t) {
t = n->next;
* Use: Writes a user's informationt to a stream.
*/
-#ifdef TRACING
+#ifndef NTRACE
static void userdb__dumpUser(const struct passwd *pw)
{
* Use: Writes a group's information to a stream.
*/
-#ifdef TRACING
+#ifndef NTRACE
static void userdb__dumpGroup(const struct group *gr)
{
{ userdb_iterateUsers_r(&userdb__useri); }
void userdb_iterateUsers_r(userdb_iter *i)
-{ sym_createIter(i, &userdb__users.nmap); }
+{ sym_mkiter(i, &userdb__users.nmap); }
/* --- @userdb_nextUser@, @userdb_nextUser_r@ --- *
*
{ userdb_iterateGroups_r(&userdb__groupi); }
void userdb_iterateGroups_r(userdb_iter *i)
-{ sym_createIter(i, &userdb__groups.nmap); }
+{ sym_mkiter(i, &userdb__groups.nmap); }
/* --- @userdb_nextGroup@, @userdb_nextGroup_r@ --- *
*
int main(void)
{
ego("userdb-test");
- traceon(stdout, TRACE_ALL);
+ trace_on(stdout, TRACE_ALL);
userdb_init();
userdb_local();
userdb_yp();