httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rob Hartill <r...@imdb.com>
Subject cvs commit: apache/src http_core.c mod_access.c (fwd)
Date Sun, 17 Nov 1996 22:21:40 GMT

...and another one.

Paul have you tested this ?
Let's hear from 3 people who've used this or I think it should be pulled.



----- Forwarded message from Paul Richards -----

Date: Sun, 17 Nov 1996 13:40:14 -0800 (PST)
From: Paul Richards <paul@hyperreal.com>
Message-Id: <199611172140.NAA18323@taz.hyperreal.com>
To: apache-cvs@hyperreal.com
Subject: cvs commit: apache/src http_core.c mod_access.c
Sender: apache-cvs-owner@hyperreal.com
Reply-To: new-httpd@hyperreal.com
Precedence: bulk

paul        96/11/17 13:40:13

  Modified:    src       http_core.c mod_access.c
  Log:
  Implement a saitsfy directive
  Submitted by:	leighg@uwsg.indiana.edu (Leigh Grundhoefer)
  
  Revision  Changes    Path
  1.47      +11 -0     apache/src/http_core.c
  
  Index: http_core.c
  ===================================================================
  RCS file: /export/home/cvs/apache/src/http_core.c,v
  retrieving revision 1.46
  retrieving revision 1.47
  diff -C3 -r1.46 -r1.47
  *** http_core.c	1996/11/17 20:31:52	1.46
  --- http_core.c	1996/11/17 21:40:10	1.47
  ***************
  *** 243,248 ****
  --- 243,259 ----
        core_dir_config *conf = 
          (core_dir_config *)get_module_config(r->per_dir_config, &core_module); 
    
  +     if (satisfy_any(r, 0))
  + 	return NULL;
  +     else
  +         return conf->auth_type;
  + }
  + 
  + char *real_auth_type (request_rec *r)
  + {
  +     core_dir_config *conf =
  + 	(core_dir_config *)get_module_config(r->per_dir_config, &core_module);
  + 
        return conf->auth_type;
    }
    
  
  
  
  1.8       +27 -2     apache/src/mod_access.c
  
  Index: mod_access.c
  ===================================================================
  RCS file: /export/home/cvs/apache/src/mod_access.c,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -C3 -r1.7 -r1.8
  *** mod_access.c	1996/10/20 18:03:33	1.7
  --- mod_access.c	1996/11/17 21:40:11	1.8
  ***************
  *** 76,81 ****
  --- 76,82 ----
        int order[METHODS];
        array_header *allows;
        array_header *denys;
  +     char *satisfy;
    } access_dir_conf;
    
    module access_module;
  ***************
  *** 89,98 ****
  --- 90,120 ----
        for (i = 0; i < METHODS; ++i) conf->order[i] = DENY_THEN_ALLOW;
        conf->allows = make_array (p, 1, sizeof (allowdeny));
        conf->denys = make_array (p, 1, sizeof (allowdeny));
  +     conf->satisfy = NULL;
        
        return (void *)conf;
    }
    
  + int satisfy_any (request_rec *r, int reset)
  + {
  +     char *satisfy;
  +     access_dir_conf *conf =
  +       (access_dir_conf *)get_module_config(r->per_dir_config, &access_module);
  + 
  +     if (!(satisfy = conf->satisfy)) 
  + 	return 0;
  +     
  +     if (!strcasecmp(satisfy, "any")) {
  + 	if (reset) strcpy(satisfy, "all");
  + 	return 1;
  +     } else if (!strcasecmp(satisfy, "all"))
  + 	return 0;
  + 
  +     log_error("Invalid satisfy value.", r->server);
  +     return 0;
  + } 
  + 
  + 
    const char *order (cmd_parms *cmd, void *dv, char *arg)
    {
        access_dir_conf *d = (access_dir_conf *)dv;
  ***************
  *** 133,138 ****
  --- 155,161 ----
        "'from' followed by hostnames or IP-address wildcards" },
    { "deny", allow_cmd, NULL, OR_LIMIT, ITERATE2,
        "'from' followed by hostnames or IP-address wildcards" },
  + { "Satisfy", set_string_slot, (void*)XtOffsetOf(access_dir_conf, satisfy), OR_AUTHCFG,
TAKE1, NULL },
    {NULL}
    };
    
  ***************
  *** 235,242 ****
        }
    
        if (ret == FORBIDDEN)
  ! 	log_reason ("Client denied by server configuration", r->filename, r);
  ! 
        return ret;
    }
    
  --- 258,267 ----
        }
    
        if (ret == FORBIDDEN)
  ! 	if (satisfy_any(r, 1) && real_auth_type(r))
  ! 	    ret = OK;
  ! 	else 
  ! 	    log_reason ("Client denied by server configuration", r->filename, r);
        return ret;
    }
    
  
  
  

----- End of forwarded message from Paul Richards -----


Mime
View raw message