httpd-bugs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bugzi...@apache.org
Subject DO NOT REPLY [Bug 19182] New: - SSLMutex field in ssl.conf needs to be updated.
Date Sun, 20 Apr 2003 17:35:03 GMT
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=19182>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=19182

SSLMutex field in ssl.conf needs to be updated.

           Summary: SSLMutex field in ssl.conf needs to be updated.
           Product: Apache httpd-2.0
           Version: 2.0.45
          Platform: PC
        OS/Version: Windows NT/2K
            Status: NEW
          Severity: Blocker
          Priority: Other
         Component: All
        AssignedTo: bugs@httpd.apache.org
        ReportedBy: towerofpower@operamail.com


Apache 2.0.45, Openssl-0.9.7b, Zlib, compiled under WinNT.SP3 VS.NET(2002) 
release build.

Std configs with minor dir changes and ssl support. Everything that worked 
under 2.0.44.

Unless I am mistaken: 
Change in 2.0.45(over 2.0.44) needs ssl.conf updated.

C:\Apache2\bin\apache -D SSL -k install

<output>
Syntax error on line 62 of E:/www/Apache2/conf/ssl.conf:
Invalid SSLMutex argument file:logs/ssl_mutex (Valid SSLMutex mechanisms are: 
`none', `default' )
</output>

In ssl.conf, [SSLMutex file:logs/ssl_mutex] is no longer valid; replace with 
[SSLMutex default];
[SSLMutex default] implies [SSLMutex sed]. 




***<httpd-2.0.45\modules\ssl\mod_ssl.c>***
------------------------------------
const char ssl_valid_ssl_mutex_string[] =
"Valid SSLMutex mechanisms are: `none', `default'"
[...]
#if APR_HAS_FLOCK_SERIALIZE || APR_HAS_FCNTL_SERIALIZE
     ", `file:/path/to/file'"
#endif
#if (APR_HAS_SYSVSEM_SERIALIZE && !defined(PERCHILD_MPM)) || 
APR_HAS_POSIXSEM_SERIALIZE
     ", `sem'"
#endif
------------------------------------




***<httpd-2.0.45\modules\ssl\ssl_engine_config.c>***
------------------------------------
const char *ssl_cmd_SSLMutex(cmd_parms *cmd,
                             void *dcfg,
                             const char *arg)
{
    const char *err;
    SSLModConfigRec *mc = myModConfig(cmd->server);

    if ((err = ap_check_cmd_context(cmd, GLOBAL_ONLY))) {
        return err;
    }

    if (ssl_config_global_isfixed(mc)) {
        return NULL;
    }

    if (strcEQ(arg, "none") || strcEQ(arg, "no")) {
        mc->nMutexMode  = SSL_MUTEXMODE_NONE;
    }
    /* NOTE: previously, 'yes' implied 'sem' */
    else if (strcEQ(arg, "default") || strcEQ(arg, "yes")) {
        mc->nMutexMode  = SSL_MUTEXMODE_USED;
        mc->nMutexMech = APR_LOCK_DEFAULT;
        mc->szMutexFile = NULL; /* APR determines temporary filename */
    }
#if APR_HAS_FLOCK_SERIALIZE
    else if (strlen(arg) > 6 && strcEQn(arg, "flock:", 6)) {
        const char *file = ap_server_root_relative(cmd->pool, arg+6);
        if (!file) {
            return apr_pstrcat(cmd->pool, "Invalid SSLMutex flock: path ", 
                               arg+6, NULL);
        }
        mc->nMutexMode  = SSL_MUTEXMODE_USED;
        mc->nMutexMech = APR_LOCK_FLOCK;
        mc->szMutexFile = apr_psprintf(mc->pPool, "%s.%lu",
                                       file, (unsigned long)getpid());
        mc->ChownMutexFile = TRUE;
    }
#endif
#if APR_HAS_FCNTL_SERIALIZE
    else if (strlen(arg) > 6 && strcEQn(arg, "fcntl:", 6)) {
        const char *file = ap_server_root_relative(cmd->pool, arg+6);
        if (!file) {
            return apr_pstrcat(cmd->pool, "Invalid SSLMutex fcntl: path ", 
                               arg+6, NULL);
        }
        mc->nMutexMode  = SSL_MUTEXMODE_USED;
        mc->nMutexMech = APR_LOCK_FCNTL;
        mc->szMutexFile = apr_psprintf(mc->pPool, "%s.%lu",
                                       file, (unsigned long)getpid());
    }
#endif
#if APR_HAS_SYSVSEM_SERIALIZE && !defined(PERCHILD_MPM)
    else if (strcEQ(arg, "sysvsem")) {
        mc->nMutexMode  = SSL_MUTEXMODE_USED;
        mc->nMutexMech = APR_LOCK_SYSVSEM;
        mc->szMutexFile = NULL; /* APR determines temporary filename */
    }
#endif
#if APR_HAS_POSIXSEM_SERIALIZE
    else if (strcEQ(arg, "posixsem")) {
        mc->nMutexMode  = SSL_MUTEXMODE_USED;
        mc->nMutexMech = APR_LOCK_POSIXSEM;
        mc->szMutexFile = NULL; /* APR determines temporary filename */
    }
#endif
#if APR_HAS_PROC_PTHREAD_SERIALIZE
    else if (strcEQ(arg, "pthread")) {
        mc->nMutexMode  = SSL_MUTEXMODE_USED;
        mc->nMutexMech = APR_LOCK_PROC_PTHREAD;
        mc->szMutexFile = NULL; /* APR determines temporary filename */
    }
#endif
#if APR_HAS_FLOCK_SERIALIZE || APR_HAS_FCNTL_SERIALIZE
    else if (strlen(arg) > 5 && strcEQn(arg, "file:", 5)) {
        const char *file = ap_server_root_relative(cmd->pool, arg+5);
        if (!file) {
            return apr_pstrcat(cmd->pool, "Invalid SSLMutex file: path ", 
                               arg+5, NULL);
        }
        mc->nMutexMode  = SSL_MUTEXMODE_USED;
#if APR_HAS_FLOCK_SERIALIZE
        mc->nMutexMech  = APR_LOCK_FLOCK;
        mc->ChownMutexFile = TRUE;
#endif
#if APR_HAS_FCNTL_SERIALIZE
        mc->nMutexMech  = APR_LOCK_FCNTL;
#endif
        mc->szMutexFile =
            apr_psprintf(mc->pPool, "%s.%lu",
                         file, (unsigned long)getpid());
    }
#endif
#if (APR_HAS_SYSVSEM_SERIALIZE && !defined(PERCHILD_MPM)) || 
APR_HAS_POSIXSEM_SERIALIZE
    else if (strcEQ(arg, "sem")) {
        mc->nMutexMode  = SSL_MUTEXMODE_USED;
#if APR_HAS_SYSVSEM_SERIALIZE && !defined(PERCHILD_MPM)
        mc->nMutexMech  = APR_LOCK_SYSVSEM;
#endif
#if APR_HAS_POSIXSEM_SERIALIZE
        mc->nMutexMech  = APR_LOCK_POSIXSEM;
#endif
        mc->szMutexFile = NULL; /* APR determines temporary filename */
    }
#endif
    else {
        return apr_pstrcat(cmd->pool, "Invalid SSLMutex argument ", 
                           arg, " (", ssl_valid_ssl_mutex_string, ")", NULL);
    }

    return NULL;
}
------------------------------------

---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org


Mime
View raw message