]> git.ipfire.org Git - thirdparty/apache/httpd.git/commitdiff
mod_ssl: after code review, changed:
authorStefan Eissing <icing@apache.org>
Wed, 6 Jun 2018 09:56:00 +0000 (09:56 +0000)
committerStefan Eissing <icing@apache.org>
Wed, 6 Jun 2018 09:56:00 +0000 (09:56 +0000)
 * eliminated SSLPolicyRec as name no longer used
 * eliminated some left over parameters in internal functions due to policy def removal
 * reverted a NULL test, necessary before

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1832994 13f79535-47bb-0310-9956-ffa450edef68

modules/ssl/ssl_engine_config.c
modules/ssl/ssl_private.h

index 2c39a83720a0f6bd4bc212803dfdbc7a9116ea4c..927caa931fecf95dc260d957ca6490d582a0391c 100644 (file)
@@ -93,7 +93,7 @@ void ssl_config_global_fix(SSLModConfigRec *mc)
 
 BOOL ssl_config_global_isfixed(SSLModConfigRec *mc)
 {
-    return mc && mc->bFixed;
+    return mc->bFixed;
 }
 
 /*  _________________________________________________________________
@@ -512,32 +512,30 @@ static void add_policy(apr_hash_t *policies, apr_pool_t *p, const char *name,
                        int protocols, const char *ssl_ciphers, const char *tls13_ciphers, 
                        int honor_order, int compression, int session_tickets)
 {
-    SSLPolicyRec *policy;
+    SSLSrvConfigRec *policy;
     
-    policy = apr_pcalloc(p, sizeof(*policy));
-    policy->name = name;
-    policy->sc = ssl_config_server_new(p);
+    policy = ssl_config_server_new(p);
     
     if (protocols) {
-        policy->sc->server->protocol_set      = 1;
-        policy->sc->server->protocol          = protocols;
+        policy->server->protocol_set      = 1;
+        policy->server->protocol          = protocols;
     }
     if (ssl_ciphers) {
-        policy->sc->server->auth.cipher_suite = ssl_ciphers;
+        policy->server->auth.cipher_suite = ssl_ciphers;
     }
     if (tls13_ciphers) {
-        policy->sc->server->auth.tls13_ciphers = tls13_ciphers;
+        policy->server->auth.tls13_ciphers = tls13_ciphers;
     }
 
 #ifndef OPENSSL_NO_COMP
-    policy->sc->compression               = compression ? TRUE : FALSE;
+    policy->compression               = compression ? TRUE : FALSE;
 #endif
-    policy->sc->session_tickets           = session_tickets ? TRUE : FALSE;
+    policy->session_tickets           = session_tickets ? TRUE : FALSE;
     
-    apr_hash_set(policies, policy->name, APR_HASH_KEY_STRING, policy);
+    apr_hash_set(policies, name, APR_HASH_KEY_STRING, policy);
 }
 
-static apr_hash_t *get_policies(apr_pool_t *p, int create)
+static apr_hash_t *get_policies(apr_pool_t *p)
 {
     apr_hash_t *policies;
     void *vp;
@@ -546,42 +544,39 @@ static apr_hash_t *get_policies(apr_pool_t *p, int create)
     if (vp) {
         return vp; /* reused for lifetime of the pool */
     }
-    if (create) {
-        policies = apr_hash_make(p);
-        
+    policies = apr_hash_make(p);
+    
 #if SSL_POLICY_MODERN
-        add_policy(policies, p, "modern", 
-                   SSL_POLICY_MODERN_PROTOCOLS, 
-                   SSL_POLICY_MODERN_SSL_CIPHERS, 
-                   SSL_POLICY_MODERN_TLS13_CIPHERS, 
-                   SSL_POLICY_HONOR_ORDER, 
-                   SSL_POLICY_COMPRESSION, 
-                   SSL_POLICY_SESSION_TICKETS);
+    add_policy(policies, p, "modern", 
+               SSL_POLICY_MODERN_PROTOCOLS, 
+               SSL_POLICY_MODERN_SSL_CIPHERS, 
+               SSL_POLICY_MODERN_TLS13_CIPHERS, 
+               SSL_POLICY_HONOR_ORDER, 
+               SSL_POLICY_COMPRESSION, 
+               SSL_POLICY_SESSION_TICKETS);
 #endif        
 #if SSL_POLICY_INTERMEDIATE
-        add_policy(policies, p, "intermediate", 
-                   SSL_POLICY_INTERMEDIATE_PROTOCOLS, 
-                   SSL_POLICY_INTERMEDIATE_SSL_CIPHERS, 
-                   SSL_POLICY_INTERMEDIATE_TLS13_CIPHERS, 
-                   SSL_POLICY_HONOR_ORDER, 
-                   SSL_POLICY_COMPRESSION, 
-                   SSL_POLICY_SESSION_TICKETS);
+    add_policy(policies, p, "intermediate", 
+               SSL_POLICY_INTERMEDIATE_PROTOCOLS, 
+               SSL_POLICY_INTERMEDIATE_SSL_CIPHERS, 
+               SSL_POLICY_INTERMEDIATE_TLS13_CIPHERS, 
+               SSL_POLICY_HONOR_ORDER, 
+               SSL_POLICY_COMPRESSION, 
+               SSL_POLICY_SESSION_TICKETS);
 #endif        
 #if SSL_POLICY_OLD
-        add_policy(policies, p, "old", 
-                   SSL_POLICY_OLD_PROTOCOLS, 
-                   SSL_POLICY_OLD_SSL_CIPHERS, 
-                   SSL_POLICY_OLD_TLS13_CIPHERS, 
-                   SSL_POLICY_HONOR_ORDER, 
-                   SSL_POLICY_COMPRESSION, 
-                   SSL_POLICY_SESSION_TICKETS);
+    add_policy(policies, p, "old", 
+               SSL_POLICY_OLD_PROTOCOLS, 
+               SSL_POLICY_OLD_SSL_CIPHERS, 
+               SSL_POLICY_OLD_TLS13_CIPHERS, 
+               SSL_POLICY_HONOR_ORDER, 
+               SSL_POLICY_COMPRESSION, 
+               SSL_POLICY_SESSION_TICKETS);
 #endif        
-        
-        apr_pool_userdata_set(policies, SSL_MOD_POLICIES_KEY,
-                              apr_pool_cleanup_null, p);
-        return policies;
-    }
-    return NULL;
+    
+    apr_pool_userdata_set(policies, SSL_MOD_POLICIES_KEY,
+                          apr_pool_cleanup_null, p);
+    return policies;
 }
 
 static int policy_collect_names(void *baton, const void *key, apr_ssize_t klen, const void *val)
@@ -596,10 +591,10 @@ static int qstrcmp(const void *v1, const void *v2)
     return strcmp(*(const char**)v1, *(const char**)v2);
 }
 
-static apr_array_header_t *get_policy_names(apr_pool_t *p, int create)
+static apr_array_header_t *get_policy_names(apr_pool_t *p)
 {
     apr_array_header_t *names = apr_array_make(p, 10, sizeof(const char*));
-    apr_hash_t *policies = get_policies(p, create);
+    apr_hash_t *policies = get_policies(p);
     
     if (policies) {
         apr_hash_do(policy_collect_names, names, policies);
@@ -608,20 +603,20 @@ static apr_array_header_t *get_policy_names(apr_pool_t *p, int create)
     return names;
 }
 
-SSLPolicyRec *ssl_policy_lookup(apr_pool_t *pool, const char *name)
+SSLSrvConfigRec *ssl_policy_lookup(apr_pool_t *pool, const char *name)
 {
-    apr_hash_t *policies = get_policies(pool, 1);
+    apr_hash_t *policies = get_policies(pool);
     return apr_hash_get(policies, name, APR_HASH_KEY_STRING);
 }
 
 const char *ssl_cmd_SSLPolicyApply(cmd_parms *cmd, void *mconfig, const char *arg)
 {
     SSLSrvConfigRec *mrg, *sc = mySrvConfig(cmd->server);
-    SSLPolicyRec *policy;
+    SSLSrvConfigRec *policy;
     
     policy = ssl_policy_lookup(cmd->pool, arg);
     if (policy) {
-        mrg = ssl_config_server_merge(cmd->pool, policy->sc, sc);
+        mrg = ssl_config_server_merge(cmd->pool, policy, sc);
         /* apply in place */
         memcpy(sc, mrg, sizeof(*sc));
         return NULL;
@@ -2223,7 +2218,7 @@ const char *ssl_cmd_SSLOCSPResponderCertificateFile(cmd_parms *cmd, void *dcfg,
 
 static void ssl_srv_dump(SSLSrvConfigRec *sc, apr_pool_t *p, 
                             apr_file_t *out, const char *indent, const char **psep);
-static void ssl_policy_dump(SSLPolicyRec *policy, apr_pool_t *p, 
+static void ssl_policy_dump(SSLSrvConfigRec *policy, apr_pool_t *p, 
                             apr_file_t *out, const char *indent);
 
 void ssl_hook_ConfigTest(apr_pool_t *pconf, server_rec *s)
@@ -2287,8 +2282,8 @@ void ssl_hook_ConfigTest(apr_pool_t *pconf, server_rec *s)
     }
 
     if (ap_exists_config_define("DUMP_SSL_POLICIES")) {
-        apr_array_header_t *names = get_policy_names(pconf, 1);
-        SSLPolicyRec *policy;
+        apr_array_header_t *names = get_policy_names(pconf);
+        SSLSrvConfigRec *policy;
         const char *name, *sep = "";
         int i;
         
@@ -2647,13 +2642,11 @@ static void ssl_srv_dump(SSLSrvConfigRec *sc, apr_pool_t *p,
     DMP_ON_OFF("SSLSessionTickets", sc->session_tickets);
 }
 
-static void ssl_policy_dump(SSLPolicyRec *policy, apr_pool_t *p, 
+static void ssl_policy_dump(SSLSrvConfigRec *policy, apr_pool_t *p, 
                             apr_file_t *out, const char *indent)
 {
     const char *sep = "";
-    if (policy->sc) {
-        ssl_srv_dump(policy->sc, p, out, indent, &sep);
-    }
+    ssl_srv_dump(policy, p, out, indent, &sep);
 }
 
 
index 3a3c51cc3cf9b8dec6a6958f3facc79e0cff84e3..e1c871da4f5093e025cc528f0466c54391ffb58e 100644 (file)
@@ -782,13 +782,7 @@ struct SSLDirConfigRec {
     BOOL          proxy_post_config;
 };
 
-typedef struct SSLPolicyRec SSLPolicyRec;
-struct SSLPolicyRec {
-    const char *name;
-    SSLSrvConfigRec *sc;
-};
-
-SSLPolicyRec *ssl_policy_lookup(apr_pool_t *pool, const char *name);
+SSLSrvConfigRec *ssl_policy_lookup(apr_pool_t *pool, const char *name);
 
 /**
  *  function prototypes