]> arthur.barton.de Git - netatalk.git/blobdiff - etc/papd/auth.c
Remove bdb env on exit
[netatalk.git] / etc / papd / auth.c
index 37cc5c6c53a8101efdf9cbdc633313f2e6acff2c..a8ba6fd6d69f54e491aa7df514e62ce8b9ba6ac6 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $Id: auth.c,v 1.5 2002-01-04 04:45:47 sibaz Exp $
+ * $Id: auth.c,v 1.9 2009-10-13 22:55:37 didg Exp $
  *
  * Copyright (c) 1990,1993 Regents of The University of Michigan.
  * All Rights Reserved.  See COPYRIGHT.
 #include "uam_auth.h"
 
 static struct uam_mod uam_modules = {NULL, NULL, &uam_modules, &uam_modules};
-static struct uam_obj uam_login = {"", "", 0, {{NULL}}, &uam_login,
+static struct uam_obj uam_login = {"", "", 0, {{NULL, NULL, NULL}}, &uam_login,
                                   &uam_login};
-static struct uam_obj uam_changepw = {"", "", 0, {{NULL}}, &uam_changepw, 
+static struct uam_obj uam_changepw = {"", "", 0, {{NULL, NULL, NULL}}, &uam_changepw, 
                                      &uam_changepw};
-static struct uam_obj uam_printer = {"", "", 0, {{NULL}}, &uam_printer,
+static struct uam_obj uam_printer = {"", "", 0, {{NULL, NULL, NULL}}, &uam_printer,
                                        &uam_printer};
 
 
@@ -87,7 +87,7 @@ int auth_register(const int type, struct uam_obj *uam)
     return -1;
 
   if (!(start = UAM_LIST(type)))
-    return 0; /* silently fail */
+    return 1; 
 
   uam_attach(start, uam);
   return 0;
@@ -99,12 +99,12 @@ int auth_load(const char *path, const char *list)
   char name[MAXPATHLEN + 1], buf[MAXPATHLEN + 1], *p; 
   struct uam_mod *mod;
   struct stat st;
-  int len;
+  size_t len;
   
   if (!path || !list || (len = strlen(path)) > sizeof(name) - 2)
     return -1;
 
-  strncpy(buf, list, sizeof(buf));
+  strlcpy(buf, list, sizeof(buf));
   if ((p = strtok(buf, ",")) == NULL)
     return -1;
 
@@ -115,10 +115,10 @@ int auth_load(const char *path, const char *list)
   }
 
   while (p) {
-    strncpy(name + len, p, sizeof(name) - len);
+    strlcpy(name + len, p, sizeof(name) - len);
     if ((stat(name, &st) == 0) && (mod = uam_load(name, p))) {
       uam_attach(&uam_modules, mod);
-      LOG(log_info, logtype_default, "uam: %s loaded", p);
+      LOG(log_info, logtype_papd, "uam: %s loaded", p);
     }
     p = strtok(NULL, ",");
   }
@@ -126,7 +126,7 @@ int auth_load(const char *path, const char *list)
 }
 
 /* get rid of all of the uams */
-void auth_unload()
+void auth_unload(void)
 {
   struct uam_mod *mod, *prev, *start = &uam_modules;