You are viewing a plain text version of this content. The canonical link for it is here.
Posted to bugs@httpd.apache.org by bu...@apache.org on 2002/09/18 05:09:17 UTC
DO NOT REPLY [Bug 12757] New: -
mod_ldap cache tries to open an existing shared memory file
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=12757>.
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=12757
mod_ldap cache tries to open an existing shared memory file
Summary: mod_ldap cache tries to open an existing shared memory
file
Product: Apache httpd-2.0
Version: HEAD
Platform: PC
OS/Version: Linux
Status: NEW
Severity: Normal
Priority: Other
Component: Other Modules
AssignedTo: bugs@httpd.apache.org
ReportedBy: skelly@mynrma.com.au
File: /modules/experimental/util_ldap_cach.c
apr_status_t util_ldap_cache_init(apr_pool_t *pool, apr_size_t reqsize)
{
#if APR_HAS_SHARED_MEMORY
apr_status_t result;
- result = apr_shm_create(&util_ldap_shm, reqsize, "/tmp/ldap_cache", pool);
+ result = apr_shm_create(&util_ldap_shm, reqsize, NULL, pool);
if (result != APR_SUCCESS) {
return result;
}
pool);
#endif
....
}
The ldap cache used by mod_ldap and mod_auth_ldap tries to create a shared
memory file for each process forked. The problem is that only the first process
is able to create the file, all the other processes fail to create the file
because it already exists. This disables caching on all processes other than
the initial process. Caching LDAP authentication is essential as this is a slow
task, especially with Microsoft Active Directory. One solution on linux is to
use an anonymous shared memory file (fileName is NULL) but apparently anonymous
shared memory is not supported on other platforms. I assume all processes
should share a single cache. Would anonymous shared memory create a new file
for each process? If this is not desired, only the first process should create
the file and all the other processes should attach to in.
---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org