Hi there,

With freeradius-0.9.1 radiusd constantly crashed (using radiusd -X) when
doing MSCHAP. I tracked the problem to the code that generates the
SMB-Account-CTRL value from SMB-Account-CTRL-TEXT if SMB-Account-CTRL was
missing (BTW: I am using LDAP to store data). The integer value for
SMB-Account-CTRL was initialized from an empty string ("") instead of a
string representation of an integer (eg. "0"), resulting in a NULL pointer
deref later on.  Changing this MSCHAP now works for me. I did not check 
if there was another way to init SMB-Account-CTRL, but even if there is 
the code under question seems broken without the fix.

Thus please consider to apply the following trivial patch:

--- src/modules/rlm_mschap/rlm_mschap.c.org     Sun Sep  7 11:04:44 2003
+++ src/modules/rlm_mschap/rlm_mschap.c Sun Sep  7 10:58:17 2003
@@ -620,7 +620,7 @@
                password = pairfind(request->config_items,
                                    PW_SMB_ACCOUNT_CTRL_TEXT);
                if (password) {
-                       smb_ctrl = pairmake("SMB-Account-CTRL", "", T_OP_SET);
+                       smb_ctrl = pairmake("SMB-Account-CTRL", "0", T_OP_SET);
                        pairadd(&request->config_items, smb_ctrl);
                        smb_ctrl->lvalue = pdb_decode_acct_ctrl(password->strvalue);
                }


If there is something wrong with this patch: please tell me.

peter



- 
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html

Reply via email to