You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by ja...@apache.org on 2016/03/05 08:15:56 UTC

svn commit: r1733691 - /httpd/httpd/trunk/modules/aaa/mod_authz_dbd.c

Author: jailletc36
Date: Sat Mar  5 07:15:55 2016
New Revision: 1733691

URL: http://svn.apache.org/viewvc?rev=1733691&view=rev
Log:
Use ap_array_str_contains to simplify code
Remove a useless test (groups is always NULL)
Improve some style

Modified:
    httpd/httpd/trunk/modules/aaa/mod_authz_dbd.c

Modified: httpd/httpd/trunk/modules/aaa/mod_authz_dbd.c
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/aaa/mod_authz_dbd.c?rev=1733691&r1=1733690&r2=1733691&view=diff
==============================================================================
--- httpd/httpd/trunk/modules/aaa/mod_authz_dbd.c (original)
+++ httpd/httpd/trunk/modules/aaa/mod_authz_dbd.c Sat Mar  5 07:15:55 2016
@@ -61,6 +61,7 @@ static void *authz_dbd_cr_cfg(apr_pool_t
     ret->redirect = -1;
     return ret;
 }
+
 static void *authz_dbd_merge_cfg(apr_pool_t *pool, void *BASE, void *ADD)
 {
     authz_dbd_cfg *base = BASE;
@@ -73,6 +74,7 @@ static void *authz_dbd_merge_cfg(apr_poo
     ret->redirect = (add->redirect == -1) ? base->redirect : add->redirect;
     return ret;
 }
+
 static const char *authz_dbd_prepare(cmd_parms *cmd, void *cfg,
                                      const char *query)
 {
@@ -96,6 +98,7 @@ static const char *authz_dbd_prepare(cmd
     /* save the label here for our own use */
     return ap_set_string_slot(cmd, cfg, label);
 }
+
 static const command_rec authz_dbd_cmds[] = {
     AP_INIT_FLAG("AuthzDBDLoginToReferer", ap_set_flag_slot,
                  (void*)APR_OFFSETOF(authz_dbd_cfg, redirect), ACCESS_CONF,
@@ -265,9 +268,9 @@ static authz_status dbdgroup_check_autho
                                                  const char *require_args,
                                                  const void *parsed_require_args)
 {
-    int i, rv;
+    int rv;
     const char *w;
-    apr_array_header_t *groups = NULL;
+    apr_array_header_t *groups;
 
     const char *err = NULL;
     const ap_expr_info_t *expr = parsed_require_args;
@@ -281,12 +284,10 @@ static authz_status dbdgroup_check_autho
         return AUTHZ_DENIED_NO_USER;
     }
 
-    if (groups == NULL) {
-        groups = apr_array_make(r->pool, 4, sizeof(const char*));
-        rv = authz_dbd_group_query(r, cfg, groups);
-        if (rv != OK) {
-            return AUTHZ_GENERAL_ERROR;
-        }
+    groups = apr_array_make(r->pool, 4, sizeof(const char*));
+    rv = authz_dbd_group_query(r, cfg, groups);
+    if (rv != OK) {
+        return AUTHZ_GENERAL_ERROR;
     }
 
     require = ap_expr_str_exec(r, expr, &err);
@@ -300,10 +301,8 @@ static authz_status dbdgroup_check_autho
     t = require;
     while (t[0]) {
         w = ap_getword_white(r->pool, &t);
-        for (i=0; i < groups->nelts; ++i) {
-            if (!strcmp(w, ((const char**)groups->elts)[i])) {
-                return AUTHZ_GRANTED;
-            }
+        if (ap_array_str_contains(groups, w)) {
+            return AUTHZ_GRANTED;
         }
     }
 
@@ -339,18 +338,19 @@ static authz_status dbdlogout_check_auth
 }
 
 static const char *dbd_parse_config(cmd_parms *cmd, const char *require_line,
-                                     const void **parsed_require_line)
+                                    const void **parsed_require_line)
 {
     const char *expr_err = NULL;
     ap_expr_info_t *expr;
 
     expr = ap_expr_parse_cmd(cmd, require_line, AP_EXPR_FLAG_STRING_RESULT,
-            &expr_err, NULL);
+                             &expr_err, NULL);
 
-    if (expr_err)
+    if (expr_err) {
         return apr_pstrcat(cmd->temp_pool,
                            "Cannot parse expression in require line: ",
                            expr_err, NULL);
+    }
 
     *parsed_require_line = expr;
 
@@ -369,7 +369,6 @@ static const authz_provider authz_dbdlog
     NULL,
 };
 
-
 static const authz_provider authz_dbdlogout_provider =
 {
     &dbdlogout_check_authorization,
@@ -402,4 +401,3 @@ AP_DECLARE_MODULE(authz_dbd) =
     authz_dbd_cmds,
     authz_dbd_hooks
 };
-