Release the authmech before starting to free data in an authhandle.
[doldaconnect.git] / daemon / auth.c
index a407886..d8c7a35 100644 (file)
@@ -80,10 +80,10 @@ void authputhandle(struct authhandle *auth)
 {
     if(--auth->refcount)
        return;
-    if(auth->text != NULL)
-       free(auth->text);
     if(auth->mechdata != NULL)
        auth->mech->release(auth);
+    if(auth->text != NULL)
+       free(auth->text);
     free(auth);
 }
 
@@ -155,12 +155,9 @@ void regmech(struct authmech *mech)
 
 static void preinit(int hup)
 {
-    extern struct authmech authmech_pam;
-    
     if(hup)
        return;
     regmech(&authless);
-    regmech(&authmech_pam);
 }
 
 static int init(int hup)
@@ -171,8 +168,6 @@ static int init(int hup)
 
 static struct configvar myvars[] =
 {
-    /** The name of the PAM service file to use. */
-    {CONF_VAR_STRING, "pamserv", {.str = L"doldacond"}},
     /** Specifies whether insecure authentication is to be allowed. If
      * you are not completely sure what you are doing, never turn this
      * on without also turning on net.onlylocal. */