I think it is a bad idea to reverse these changes since they
fix real bugs. Without these changes, it will likely break
all existing sites using this module.


> brian       96/07/01 12:04:11
> 
>   Modified:    src       mod_auth_msql.c
>   Log:
>   Reverse mod_auth_msql.c changes, back to version 1.0.
>   
>   Revision  Changes    Path
>   1.10      +19 -25    apache/src/mod_auth_msql.c
>   
>   Index: mod_auth_msql.c
>   ===================================================================
>   RCS file: /export/home/cvs/apache/src/mod_auth_msql.c,v
>   retrieving revision 1.9
>   retrieving revision 1.10
>   diff -C3 -r1.9 -r1.10
>   *** mod_auth_msql.c 1996/06/30 22:36:57     1.9
>   --- mod_auth_msql.c 1996/07/01 19:04:08     1.10
>   ***************
>   *** 284,295 ****
>      *                Replaced some MAX_STRING_LENGTH claims. 
>      *           1.0  removed some error check as they where already done 
> elsehwere
>      *                NumFields -> NumRows (Thanks Vitek). More stack memory.
>   -  *           1.1  no logging of empty password strings.
>   -  *           1.2  Problem with the Backward vitek which cause it to check
>   -  *                even if msql_auth was not configured; Also more carefull
>   -  *                with the authorative stuff; caught by [EMAIL PROTECTED]
>   -  *           1.3  Even more changes to get it right; that BACKWARD thing 
> was a bad
>   -  *                idea. 
>      */
>     
>     
>   --- 284,289 ----
>   ***************
>   *** 398,404 ****
>   --- 392,400 ----
>     #include "http_log.h"
>     #include "http_protocol.h"
>     #include <msql.h>
>   + #ifdef HAVE_CRYPT_H
>     #include <crypt.h>
>   + #endif
>     
>     typedef struct  {
>     
>   ***************
>   *** 782,791 ****
>          * We do not check on dbase, group, userid or host name, as it is
>          * perfectly possible to only do group control with mSQL and leave
>          * user control to the next (dbm) guy in line.
>   -      * We no longer check on the user field name; to avoid problems
>   -      * with Backward VITEK.
>          */
>   !     if (!sec->auth_msql_pwd_table) return DECLINED;
>     
>         if(!(real_pw = get_msql_pw(r, c->user, sec,msql_errstr ))) {
>       if ( msql_errstr[0] ) {
>   --- 778,788 ----
>          * We do not check on dbase, group, userid or host name, as it is
>          * perfectly possible to only do group control with mSQL and leave
>          * user control to the next (dbm) guy in line.
>          */
>   !     if (
>   !           (!sec->auth_msql_pwd_table) &&
>   !           (!sec->auth_msql_pwd_field)
>   !    ) return DECLINED;
>     
>         if(!(real_pw = get_msql_pw(r, c->user, sec,msql_errstr ))) {
>       if ( msql_errstr[0] ) {
>   ***************
>   *** 812,821 ****
>          */
>     
>         if ((sec->auth_msql_nopasswd) && (!strlen(real_pw))) {
>   - /*
>             sprintf(msql_errstr,"mSQL: user %s: Empty/'any' password 
> accepted",c->user);
>       log_reason (msql_errstr, r->uri, r);
>   -  */
>       return OK;
>       };
>     
>   --- 809,816 ----
>   ***************
>   *** 867,875 ****
>         char *t, *w;
>         msql_errstr[0]='\0';
>     
>   -     /* If we are not configured, ignore */
>   -     if (!sec->auth_msql_pwd_table) return DECLINED;
>   - 
>         if (!reqs_arr) {
>       if (sec->auth_msql_authorative) {
>               sprintf(msql_errstr,"user %s denied, no access rules specified 
> (MSQL-Authorative) ",user);
>   --- 862,867 ----
>   ***************
>   *** 937,959 ****
>           };
>             }
>     
>   !     /* Get serious if we are authorative, previous
>   !      * returns are only if msql yielded a correct result. 
>   !      * This really is not needed.
>          */
>   !     if (((group_result == AUTH_REQUIRED) || (user_result == 
> AUTH_REQUIRED)) && (sec->auth_msql_authorative) ) {
>   !         sprintf(msql_errstr,"mSQL-Authorative: Access denied on %s %s 
> rule(s) ", 
>   !           (group_result == AUTH_REQUIRED) ? "USER" : "", 
>   !           (user_result == AUTH_REQUIRED) ? "GROUP" : ""
>   !           );
>       log_reason (msql_errstr, r->uri, r);
>       return AUTH_REQUIRED;
>       };
>     
>   -     if ( (user_result == OK) || (group_result == OK))
>   -   return OK;
>     
>   !     return DECLINED;
>     }
>     
>     
>   --- 929,953 ----
>           };
>             }
>     
>   !     /* we do not have to check the valid-ness of the group result as
>   !      * have not (yet) a 'valid-group' token
>          */
>   !     if ( (user_result != OK) && (sec->auth_msql_authorative) ) {
>   !         sprintf(msql_errstr,"User %s denied, no access rules applied 
> (MSQL-Authorative) ",user);
>       log_reason (msql_errstr, r->uri, r);
>   +         note_basic_auth_failure(r);
>       return AUTH_REQUIRED;
>       };
>     
>     
>   !     /* if the user is DECLINED, it is up to the group_result to tip
>   !      * the balance. But if the group result is AUTH_REQUIRED it should
>   !      * always override. A SERVER_ERROR should not get here. 
>   !      */
>   !     if ( (user_result == DECLINED) || (group_result == AUTH_REQUIRED))
>   !   return group_result;
>   ! 
>   !     return user_result;
>     }
>     
>     
>   
>   
>   



Reply via email to