[Issues] [mod_auth_xradius 0000148]: DBM cache is not working

Mantis Bug Tracker issues at outoforder.cc
Wed Apr 27 13:49:28 EDT 2011


The following issue has been SUBMITTED. 
====================================================================== 
http://issues.outoforder.cc/view.php?id=148 
====================================================================== 
Reported By:                hgfischer
Assigned To:                
====================================================================== 
Project:                    mod_auth_xradius
Issue ID:                   148
Category:                   Other
Reproducibility:            always
Severity:                   major
Priority:                   high
Status:                     new
Apache Version:             2.2.16 
====================================================================== 
Date Submitted:             2011-04-27 13:49 EDT
Last Modified:              2011-04-27 13:49 EDT
====================================================================== 
Summary:                    DBM cache is not working
Description: 
Hi,

I noted that the DBM cache is not working properly. I added a few debug messages
to the module to find out why and discovered that the cache is failing when
comparing 'password' with 'epass'. I did not understood what the code is trying
to do, so I'm asking for help.

The changed code bellow from xradius_cache.c:xrad_cache_dbm_check quits the
function after printing 'here 4'.

    ap_log_error(APLOG_MARK, APLOG_NOTICE, rv,
                 r->server,
                 "xradius: fetched '%s':'%s':'%s'",
                 password, epass, status);

    if (status[0] == 'A') {
        if (strcmp(password, epass) == 0) {
            ap_log_error(APLOG_MARK, APLOG_NOTICE, rv, r->server, "here 1");
            return OK;
        }
        else {
            ap_log_error(APLOG_MARK, APLOG_NOTICE, rv, r->server, "here 2");
            return DECLINED;
        }
    }
    else {
        if (strcmp(password, epass) == 0) {
            ap_log_error(APLOG_MARK, APLOG_NOTICE, rv, r->server, "here 3");
            return HTTP_UNAUTHORIZED;
        }
        else {
            ap_log_error(APLOG_MARK, APLOG_NOTICE, rv, r->server, "here 4");
            return DECLINED;
        }
    }


And the "fetched" debug print this on the log:

fetched 'ZLWeWETImJYhonStuFl+6A==':'[g\\\xbe\x7f':'\xf0[g\\\xbe\x7f'
 



Steps to Reproduce: 
Install, configure module, test it. It always hits Radius with a auth request,
ignoring cache.
====================================================================== 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2011-04-27 13:49 hgfischer      New Issue                                    
======================================================================




More information about the Issues mailing list