You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by mi...@apache.org on 2011/05/22 23:37:21 UTC

svn commit: r1126233 - /httpd/httpd/trunk/modules/session/mod_session_crypto.c

Author: minfrin
Date: Sun May 22 21:37:21 2011
New Revision: 1126233

URL: http://svn.apache.org/viewvc?rev=1126233&view=rev
Log:
mod_session_crypto: Use the apr v2.0 crypto interface, which has been
backported to apr-util v1.4.

Modified:
    httpd/httpd/trunk/modules/session/mod_session_crypto.c

Modified: httpd/httpd/trunk/modules/session/mod_session_crypto.c
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/session/mod_session_crypto.c?rev=1126233&r1=1126232&r2=1126233&view=diff
==============================================================================
--- httpd/httpd/trunk/modules/session/mod_session_crypto.c (original)
+++ httpd/httpd/trunk/modules/session/mod_session_crypto.c Sun May 22 21:37:21 2011
@@ -32,12 +32,6 @@
 
 #else
 
-#if APR_MAJOR_VERSION < 2
-#define CRYPTO_VERSION 104
-#else
-#define CRYPTO_VERSION 200
-#endif
-
 #include "apr_crypto.h"                /* for apr_*_crypt et al */
 
 #define LOG_PREFIX "mod_session_crypto: "
@@ -100,11 +94,7 @@ static apr_status_t crypt_init(request_r
     }
 
     /* set up */
-#if CRYPTO_VERSION < 200
-        res = apr_crypto_make(driver, r->pool, dconf->params, f);
-#else
-        res = apr_crypto_make(f, driver, dconf->params, r->pool);
-#endif
+    res = apr_crypto_make(f, driver, dconf->params, r->pool);
     if (APR_ENOTIMPL == res) {
         ap_log_rerror(APLOG_MARK, APLOG_ERR, res, r, LOG_PREFIX
                 "generic symmetrical encryption is not supported by this "
@@ -112,17 +102,10 @@ static apr_status_t crypt_init(request_r
     }
 
     if (APR_SUCCESS == res) {
-#if CRYPTO_VERSION < 200
-        res = apr_crypto_passphrase(driver, r->pool, *f, dconf->passphrase,
-                strlen(dconf->passphrase),
-                (unsigned char *) salt, salt ? sizeof(apr_uuid_t) : 0,
-                dconf->cipher, MODE_CBC, 1, 4096, key, ivSize);
-#else
         res = apr_crypto_passphrase(key, ivSize, dconf->passphrase,
                 strlen(dconf->passphrase),
                 (unsigned char *) salt, salt ? sizeof(apr_uuid_t) : 0,
                 dconf->cipher, APR_MODE_CBC, 1, 4096, *f, r->pool);
-#endif
     }
 
     if (APR_STATUS_IS_ENOKEY(res)) {
@@ -185,12 +168,7 @@ static apr_status_t encrypt_string(reque
         return res;
     }
 
-#if CRYPTO_VERSION < 200
-    res = apr_crypto_block_encrypt_init(driver, r->pool, f, key, &iv, &block,
-            &blockSize);
-#else
     res = apr_crypto_block_encrypt_init(&block, &iv, key, &blockSize, r->pool);
-#endif
     if (APR_SUCCESS != res) {
         ap_log_rerror(APLOG_MARK, APLOG_ERR, res, r, LOG_PREFIX
                 "apr_crypto_block_encrypt_init failed");
@@ -198,24 +176,14 @@ static apr_status_t encrypt_string(reque
     }
 
     /* encrypt the given string */
-#if CRYPTO_VERSION < 200
-    res = apr_crypto_block_encrypt(driver, block, &encrypt,
-            &encryptlen, (unsigned char *)in, strlen(in));
-#else
     res = apr_crypto_block_encrypt(&encrypt, &encryptlen, (unsigned char *)in,
             strlen(in), block);
-#endif
     if (APR_SUCCESS != res) {
         ap_log_rerror(APLOG_MARK, APLOG_ERR, res, r, LOG_PREFIX
                 "apr_crypto_block_encrypt failed");
         return res;
     }
-#if CRYPTO_VERSION < 200
-    res = apr_crypto_block_encrypt_finish(driver, block, encrypt + encryptlen,
-            &tlen);
-#else
     res = apr_crypto_block_encrypt_finish(encrypt + encryptlen, &tlen, block);
-#endif
     if (APR_SUCCESS != res) {
         ap_log_rerror(APLOG_MARK, APLOG_ERR, res, r, LOG_PREFIX
                 "apr_crypto_block_encrypt_finish failed");
@@ -283,13 +251,8 @@ static apr_status_t decrypt_string(reque
     decoded += sizeof(apr_uuid_t);
     decodedlen -= sizeof(apr_uuid_t);
 
-#if CRYPTO_VERSION < 200
-    res = apr_crypto_block_decrypt_init(driver, r->pool, f, key, (unsigned char *)decoded, &block,
-            &blockSize);
-#else
     res = apr_crypto_block_decrypt_init(&block, &blockSize, (unsigned char *)decoded, key,
             r->pool);
-#endif
     if (APR_SUCCESS != res) {
         ap_log_rerror(APLOG_MARK, APLOG_ERR, res, r, LOG_PREFIX
                 "apr_crypto_block_decrypt_init failed");
@@ -301,13 +264,8 @@ static apr_status_t decrypt_string(reque
     decodedlen -= ivSize;
 
     /* decrypt the given string */
-#if CRYPTO_VERSION < 200
-    res = apr_crypto_block_decrypt(driver, block, &decrypted,
-            &decryptedlen, (unsigned char *)decoded, decodedlen);
-#else
     res = apr_crypto_block_decrypt(&decrypted, &decryptedlen,
             (unsigned char *)decoded, decodedlen, block);
-#endif
     if (res) {
         ap_log_rerror(APLOG_MARK, APLOG_ERR, res, r, LOG_PREFIX
                 "apr_crypto_block_decrypt failed");
@@ -315,12 +273,7 @@ static apr_status_t decrypt_string(reque
     }
     *out = (char *) decrypted;
 
-#if CRYPTO_VERSION < 200
-    res = apr_crypto_block_decrypt_finish(driver, block, decrypted + decryptedlen,
-            &tlen);
-#else
     res = apr_crypto_block_decrypt_finish(decrypted + decryptedlen, &tlen, block);
-#endif
     if (APR_SUCCESS != res) {
         ap_log_rerror(APLOG_MARK, APLOG_ERR, res, r, LOG_PREFIX
                 "apr_crypto_block_decrypt_finish failed");
@@ -423,11 +376,7 @@ AP_DECLARE(int) ap_session_crypto_init(a
             return rv;
         }
 
-#if CRYPTO_VERSION < 200
-        rv = apr_crypto_get_driver(p, conf->library, &driver, conf->params, &err);
-#else
         rv = apr_crypto_get_driver(&driver, conf->library, conf->params, &err, p);
-#endif
         if (APR_EREINIT == rv) {
             if (!conf->noinit) {
                 ap_log_error(APLOG_MARK, APLOG_WARNING, rv, s, LOG_PREFIX
@@ -495,11 +444,7 @@ static void *create_session_crypto_dir_c
     (session_crypto_dir_conf *) apr_pcalloc(p, sizeof(session_crypto_dir_conf));
 
     /* default cipher AES256-SHA */
-#if CRYPTO_VERSION < 200
-    new->cipher = KEY_AES_256;
-#else
     new->cipher = APR_KEY_AES_256;
-#endif
 
     return (void *) new;
 }
@@ -613,19 +558,11 @@ static const char *set_crypto_passphrase
             }
             else if (!strcasecmp(word, "cipher")) {
                 if (!strcasecmp(val, "3des192")) {
-#if CRYPTO_VERSION < 200
-                    dconf->cipher = KEY_3DES_192;
-#else
                     dconf->cipher = APR_KEY_3DES_192;
-#endif
                     dconf->cipher_set = 1;
                 }
                 else if (!strcasecmp(val, "aes256")) {
-#if CRYPTO_VERSION < 200
-                    dconf->cipher = KEY_AES_256;
-#else
                     dconf->cipher = APR_KEY_AES_256;
-#endif
                     dconf->cipher_set = 1;
                 }
                 else {