lib: Remove load_case_tables_library()
[vlendec/samba-autobuild/.git] / source3 / pam_smbpass / pam_smb_auth.c
index ac5ef3f21c5156a0f028eb73f482e4668c72cb65..06ab8455d5daa73aeceec5758b456ebd2f639f1f 100644 (file)
 
 #include "support.h"
 
+static void ret_data_cleanup(pam_handle_t *pamh, void *data, int error_status)
+{
+       free(data);
+}
+
 #define AUTH_RETURN                                            \
 do {                                                           \
        /* Restore application signal handler */                \
        CatchSignal(SIGPIPE, oldsig_handler);                   \
        if(ret_data) {                                          \
                *ret_data = retval;                             \
-               pam_set_data( pamh, "smb_setcred_return"        \
-                             , (void *) ret_data, NULL );      \
+               pam_set_data(pamh,                              \
+                       "smb_setcred_return",                   \
+                       (void *)ret_data,                       \
+                       ret_data_cleanup);                      \
        }                                                       \
        TALLOC_FREE(frame);                                     \
        return retval;                                          \
@@ -82,7 +89,6 @@ int pam_sm_authenticate(pam_handle_t *pamh, int flags,
        char *p = NULL;
 
        /* Samba initialization. */
-       load_case_tables_library();
 
        ctrl = set_ctrl(pamh, flags, argc, argv);
 
@@ -207,9 +213,6 @@ static int _smb_add_user(pam_handle_t *pamh, unsigned int ctrl,
                        , "pam_get_item returned error to pam_sm_authenticate" );
                TALLOC_FREE(frame);
                return PAM_AUTHTOK_RECOVER_ERR;
-       } else if (pass == NULL) {
-               TALLOC_FREE(frame);
-               return PAM_AUTHTOK_RECOVER_ERR;
        }
 
        /* Add the user to the db if they aren't already there. */