]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
don't use request->password
authorAlan T. DeKok <aland@freeradius.org>
Mon, 12 Aug 2019 14:59:31 +0000 (10:59 -0400)
committerAlan T. DeKok <aland@freeradius.org>
Mon, 12 Aug 2019 14:59:31 +0000 (10:59 -0400)
src/modules/rlm_winbind/auth_wbclient_pap.c
src/modules/rlm_winbind/auth_wbclient_pap.h
src/modules/rlm_winbind/rlm_winbind.c

index e4d86e1e773148ed26ecd3854f97e10e76cb58d1..f616b2983a4689837033dca078fb6127831e616d 100644 (file)
@@ -39,6 +39,7 @@ RCSID("$Id$")
  *
  * @param[in] inst Module instance
  * @param[in] request The current request
+ * @param[in] password the User-Password
  *
  * @return
  *     - 0     Success
@@ -46,7 +47,7 @@ RCSID("$Id$")
  *     - -648  Password expired
  *
  */
-int do_auth_wbclient_pap(rlm_winbind_t const *inst, REQUEST *request)
+int do_auth_wbclient_pap(rlm_winbind_t const *inst, REQUEST *request, VALUE_PAIR *password)
 {
        int rcode = -1;
        struct wbcContext *wb_ctx;
@@ -96,7 +97,7 @@ int do_auth_wbclient_pap(rlm_winbind_t const *inst, REQUEST *request)
         * Build the wbcAuthUserParams structure with what we know
         */
        authparams.level = WBC_AUTH_USER_LEVEL_PLAIN;
-       authparams.password.plaintext = request->password->data.vb_strvalue;
+       authparams.password.plaintext = password->data.vb_strvalue;
 
        /*
         * Parameters documented as part of the MSV1_0_SUBAUTH_LOGON structure
index 8faeb683d00747ac1fc067354fe2bea33fd3ca72..99d3ac831ed180d833977ee05bb94c08c23cf8df 100644 (file)
@@ -4,4 +4,4 @@
 
 RCSIDH(auth_wbclient_h, "$Id$")
 
-int do_auth_wbclient_pap(rlm_winbind_t const *inst, REQUEST *request);
+int do_auth_wbclient_pap(rlm_winbind_t const *inst, REQUEST *request, VALUE_PAIR *password);
index 74950ed70564eab8e02d2bf92c540b70e4c966ce..5e58f4084bfb0ac48f013f21aabd60a0b2851c7e 100644 (file)
@@ -530,7 +530,7 @@ static rlm_rcode_t CC_HINT(nonnull) mod_authenticate(void *instance, UNUSED void
         *      many debug outputs or errors as the auth function is
         *      chatty enough.
         */
-       if (do_auth_wbclient_pap(inst, request) == 0) {
+       if (do_auth_wbclient_pap(inst, request, password) == 0) {
                REDEBUG2("User authenticated successfully using winbind");
                return RLM_MODULE_OK;
        }