From commits-return-12320-apmail-apr-commits-archive=apr.apache.org@apr.apache.org Tue Oct 25 21:23:08 2011 Return-Path: X-Original-To: apmail-apr-commits-archive@www.apache.org Delivered-To: apmail-apr-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 5534E97D4 for ; Tue, 25 Oct 2011 21:23:08 +0000 (UTC) Received: (qmail 27871 invoked by uid 500); 25 Oct 2011 21:23:08 -0000 Delivered-To: apmail-apr-commits-archive@apr.apache.org Received: (qmail 27814 invoked by uid 500); 25 Oct 2011 21:23:08 -0000 Mailing-List: contact commits-help@apr.apache.org; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: Reply-To: dev@apr.apache.org List-Id: Delivered-To: mailing list commits@apr.apache.org Received: (qmail 27807 invoked by uid 99); 25 Oct 2011 21:23:08 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 25 Oct 2011 21:23:08 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 25 Oct 2011 21:23:05 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id 0340E23888FE for ; Tue, 25 Oct 2011 21:22:44 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1188924 - in /apr/apr-util/branches/1.5.x/crypto: apr_crypto_nss.c apr_crypto_openssl.c Date: Tue, 25 Oct 2011 21:22:43 -0000 To: commits@apr.apache.org From: minfrin@apache.org X-Mailer: svnmailer-1.0.8-patched Message-Id: <20111025212244.0340E23888FE@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: minfrin Date: Tue Oct 25 21:22:43 2011 New Revision: 1188924 URL: http://svn.apache.org/viewvc?rev=1188924&view=rev Log: Backport from apr-trunk to apr-util-1.5: apr_crypto: Support NULL values for the params field. Modified: apr/apr-util/branches/1.5.x/crypto/apr_crypto_nss.c apr/apr-util/branches/1.5.x/crypto/apr_crypto_openssl.c Modified: apr/apr-util/branches/1.5.x/crypto/apr_crypto_nss.c URL: http://svn.apache.org/viewvc/apr/apr-util/branches/1.5.x/crypto/apr_crypto_nss.c?rev=1188924&r1=1188923&r2=1188924&view=diff ============================================================================== --- apr/apr-util/branches/1.5.x/crypto/apr_crypto_nss.c (original) +++ apr/apr-util/branches/1.5.x/crypto/apr_crypto_nss.c Tue Oct 25 21:22:43 2011 @@ -150,37 +150,41 @@ static apr_status_t crypto_init(apr_pool int i = 0, j; apr_status_t status; - if (APR_SUCCESS != (status = apr_tokenize_to_argv(params, &elts, pool))) { - return status; - } - while ((elt = elts[i])) { - ptr = strchr(elt, '='); - if (ptr) { - for (klen = ptr - elt; klen && apr_isspace(elt[klen - 1]); --klen); - ptr++; - } - else { - for (klen = strlen(elt); klen && apr_isspace(elt[klen - 1]); --klen); - } - elt[klen] = 0; + if (params) { + if (APR_SUCCESS != (status = apr_tokenize_to_argv(params, &elts, pool))) { + return status; + } + while ((elt = elts[i])) { + ptr = strchr(elt, '='); + if (ptr) { + for (klen = ptr - elt; klen && apr_isspace(elt[klen - 1]); --klen) + ; + ptr++; + } + else { + for (klen = strlen(elt); klen && apr_isspace(elt[klen - 1]); --klen) + ; + } + elt[klen] = 0; - for (j = 0; fields[j].field != NULL; ++j) { - if (klen && !strcasecmp(fields[j].field, elt)) { - fields[j].set = 1; - if (ptr) { - fields[j].value = ptr; + for (j = 0; fields[j].field != NULL; ++j) { + if (klen && !strcasecmp(fields[j].field, elt)) { + fields[j].set = 1; + if (ptr) { + fields[j].value = ptr; + } + break; } - break; } - } - i++; + i++; + } + dir = fields[0].value; + keyPrefix = fields[1].value; + certPrefix = fields[2].value; + secmod = fields[3].value; + noinit = fields[4].set; } - dir = fields[0].value; - keyPrefix = fields[1].value; - certPrefix = fields[2].value; - secmod = fields[3].value; - noinit = fields[4].set; /* if we've been asked to bypass, do so here */ if (noinit) { Modified: apr/apr-util/branches/1.5.x/crypto/apr_crypto_openssl.c URL: http://svn.apache.org/viewvc/apr/apr-util/branches/1.5.x/crypto/apr_crypto_openssl.c?rev=1188924&r1=1188923&r2=1188924&view=diff ============================================================================== --- apr/apr-util/branches/1.5.x/crypto/apr_crypto_openssl.c (original) +++ apr/apr-util/branches/1.5.x/crypto/apr_crypto_openssl.c Tue Oct 25 21:22:43 2011 @@ -191,7 +191,7 @@ static apr_status_t crypto_make(apr_cryp apr_crypto_config_t *config = NULL; apr_crypto_t *f = apr_pcalloc(pool, sizeof(apr_crypto_t)); - const char *engine; + const char *engine = NULL; struct { const char *field; @@ -208,33 +208,37 @@ static apr_status_t crypto_make(apr_cryp int i = 0, j; apr_status_t status; - if (APR_SUCCESS != (status = apr_tokenize_to_argv(params, &elts, pool))) { - return status; - } - while ((elt = elts[i])) { - ptr = strchr(elt, '='); - if (ptr) { - for (klen = ptr - elt; klen && apr_isspace(elt[klen - 1]); --klen); - ptr++; - } - else { - for (klen = strlen(elt); klen && apr_isspace(elt[klen - 1]); --klen); - } - elt[klen] = 0; + if (params) { + if (APR_SUCCESS != (status = apr_tokenize_to_argv(params, &elts, pool))) { + return status; + } + while ((elt = elts[i])) { + ptr = strchr(elt, '='); + if (ptr) { + for (klen = ptr - elt; klen && apr_isspace(elt[klen - 1]); --klen) + ; + ptr++; + } + else { + for (klen = strlen(elt); klen && apr_isspace(elt[klen - 1]); --klen) + ; + } + elt[klen] = 0; - for (j = 0; fields[j].field != NULL; ++j) { - if (!strcasecmp(fields[j].field, elt)) { - fields[j].set = 1; - if (ptr) { - fields[j].value = ptr; + for (j = 0; fields[j].field != NULL; ++j) { + if (!strcasecmp(fields[j].field, elt)) { + fields[j].set = 1; + if (ptr) { + fields[j].value = ptr; + } + break; } - break; } - } - i++; + i++; + } + engine = fields[0].value; } - engine = fields[0].value; if (!f) { return APR_ENOMEM;