|
System | : | Linux MiraNet 3.0.0-14-generic-pae #23-Ubuntu SMP Mon Nov 21 22:07:10 UTC 2011 i686 |
Software | : | Apache. PHP/5.3.6-13ubuntu3.10 |
ID | : | uid=65534(nobody) gid=65534(nogroup) groups=65534(nogroup)
|
|
Safe Mode | : | OFF |
Open_Basedir | : | OFF |
Freespace | : | 24.54 GB of 70.42 GB (34.85%) |
|
MySQL: ON MSSQL: OFF Oracle: OFF PostgreSQL: OFF Curl: OFF Sockets: ON Fetch: OFF Wget: ON Perl: ON |
Disabled Functions: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
|
[ System Info ]
[ Processes ]
[ SQL Manager ]
[ Eval ]
[ Encoder ]
[ Mailer ]
[ Back Connection ]
[ Backdoor Server ]
[ Kernel Exploit Search ]
[ MD5 Decrypter ]
[ Reverse IP ]
[ Kill Shell ]
[ FTP Brute-Force ]
|
|
/
usr/
src/
httpd-2.4.6/
modules/
ssl/
- drwxr-xr-x
|
Viewing file: ssl_engine_mutex.c (3.61 KB) -rw-r--r--Select action/file-type:  ( +) |  ( +) |  ( +) | Code ( +) | Session ( +) |  ( +) | SDB ( +) |  ( +) |  ( +) |  ( +) |  ( +) |  ( +) |
/* Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */
/* _ _ * _ __ ___ ___ __| | ___ ___| | mod_ssl * | '_ ` _ \ / _ \ / _` | / __/ __| | Apache Interface to OpenSSL * | | | | | | (_) | (_| | \__ \__ \ | * |_| |_| |_|\___/ \__,_|___|___/___/_| * |_____| * ssl_engine_mutex.c * Semaphore for Mutual Exclusion */ /* ``Real programmers confuse Christmas and Halloween because DEC 25 = OCT 31.'' -- Unknown */
#include "ssl_private.h"
int ssl_mutex_init(server_rec *s, apr_pool_t *p) { SSLModConfigRec *mc = myModConfig(s); apr_status_t rv;
/* A mutex is only needed if a session cache is configured, and * the provider used is not internally multi-process/thread * safe. */ if (!mc->sesscache || (mc->sesscache->flags & AP_SOCACHE_FLAG_NOTMPSAFE) == 0) { return TRUE; }
if (mc->pMutex) { return TRUE; }
if ((rv = ap_global_mutex_create(&mc->pMutex, NULL, SSL_CACHE_MUTEX_TYPE, NULL, s, s->process->pool, 0)) != APR_SUCCESS) { return FALSE; }
return TRUE; }
int ssl_mutex_reinit(server_rec *s, apr_pool_t *p) { SSLModConfigRec *mc = myModConfig(s); apr_status_t rv; const char *lockfile;
if (mc->pMutex == NULL || !mc->sesscache || (mc->sesscache->flags & AP_SOCACHE_FLAG_NOTMPSAFE) == 0) { return TRUE; }
lockfile = apr_global_mutex_lockfile(mc->pMutex); if ((rv = apr_global_mutex_child_init(&mc->pMutex, lockfile, p)) != APR_SUCCESS) { if (lockfile) ap_log_error(APLOG_MARK, APLOG_ERR, rv, s, APLOGNO(02024) "Cannot reinit %s mutex with file `%s'", SSL_CACHE_MUTEX_TYPE, lockfile); else ap_log_error(APLOG_MARK, APLOG_WARNING, rv, s, APLOGNO(02025) "Cannot reinit %s mutex", SSL_CACHE_MUTEX_TYPE); return FALSE; } return TRUE; }
int ssl_mutex_on(server_rec *s) { SSLModConfigRec *mc = myModConfig(s); apr_status_t rv;
if ((rv = apr_global_mutex_lock(mc->pMutex)) != APR_SUCCESS) { ap_log_error(APLOG_MARK, APLOG_WARNING, rv, s, APLOGNO(02026) "Failed to acquire SSL session cache lock"); return FALSE; } return TRUE; }
int ssl_mutex_off(server_rec *s) { SSLModConfigRec *mc = myModConfig(s); apr_status_t rv;
if ((rv = apr_global_mutex_unlock(mc->pMutex)) != APR_SUCCESS) { ap_log_error(APLOG_MARK, APLOG_WARNING, rv, s, APLOGNO(02027) "Failed to release SSL session cache lock"); return FALSE; } return TRUE; }
|