Parent Directory
|
Revision Log
| Links to HEAD: | (view) (download) (annotate) |
| Sticky Revision: |
use a local module header file to store the function prototype for ap_unixd_setup_child() that is used outside this module.
revert r711228: the ap_unixd_setup_child prototype needs to go somewhere.
API Cleanup in preperation for 2.4.x, make sure all exported functions or variables contain an ap_ prefix.
* unixd_setup_child is no longer implemented by unixd.c.
Further unixd hacks to remove duplication between old-unixd and mod_unixd, and get it working with old MPMS[1] + mod_unixd. It's still an uneasy split, as some modules (mod_cgid, suexec)[2] also use unixd. More thinking+hacking due. [1] Should be prefork/worker/event, but only worker is tested. [2] cgid is OK, suexec is untested.
Support chroot on unix-family platforms PR 43596 (Dimitar Pashev)
APR_HAVE/AP_HAVE are ALWAYS defined, not always 1.
update license header text
Update the copyright year in all .c, .h and .xml files
* os/unix/unixd.h: Use extern "C" linkage. PR: 37357
Doxygen fixup / cleanup submited by: Neale Ranns neale ranns.org reviewed by: Ian Holsman
Update copyright year to 2005 and standardize on current copyright owner line.
general property cleanup
fix name of The Apache Software Foundation
fix copyright dates according to the first check in
apply Apache License, Version 2.0
update license to 2004.
Unix: Handle permissions settings for flock-based mutexes in unixd_set_global|proc_mutex_perms(). Allow the functions to be called for any type of mutex. This resolves a fatal problem with mod_rewrite on systems where APR uses flock-based mutex. It simplifies mod_ssl as well, which had special logic to perform the chown(). It fixed an init error with mod_ssl on systems where flock is used when the user had no SSLMutex directive. The Unix MPMs continue to call unixd_set_global|proc_mutex_perms() only for SysV sems. There is no permission problem with flock-based accept mutexes since the child init logic for the MPMs is done prior to switching identity. PR: 20312
finished that boring job: update license to 2003. Happy New Year! ;-))
Add unixd_set_global_mutex_perms so we can set permissions on things like SysV Semaphores in the core and modules.
Fix suexec invocations from userdir - the ~ was not being prepended to the uid per our convention. Therefore, bad things would happen (like we wouldn't cd to the right directory). Add a flag to the ap_unix_identity_t structure to indicate if we are in a userdir - if so, prefix the ~. (Modified by Justin, but Colm's patch pointed me in the right direction.) PR: 7810 Submitted by: Colm <colmmacc@redbrick.dcu.ie> Reviewed by: Justin Erenkrantz
Update our copyright for this year.
Removed unixd_set_lock_perms(apr_lock_t *), which is no longer used by any of the MPMs. (This is another step toward eliminating the httpd's dependencies on the old lock API.)
Add ap_os_killpg as well as unixd_killpg and beosd_killpg. Move the worker MPM to use ap_os_killpg in place of unixd_killpg as this makes it more portable. Ryan notes that really we should be using the POD mechanism to control death of the child processes, so this is temporary until we have that change in place. Note added to STATUS to that effect.
Allow modules that add sockets to the ap_listeners list to
define the function that should be used to accept on that
socket. Each MPM can define their own function to use for
the accept function with the MPM_ACCEPT_FUNC macro. This
also abstracts out all of the Unix accept error handling
logic, which has become out of synch across Unix MPMs.
The code flow is much easier now for different transports:
1) During pre-config, post-config or while parsing the config
file, add a socket to the ap_listeners list, making sure to
define an accept function at the same time.
2) MPMs find the correct listener, and call the accept function
that was defined in step 1.
3) That accept function returns a void pointer, which is passed
to the create_connection hook.
4) create_connection adds the correct low-level filters.
Remove commas from the end of the macros that define directives that are used by MPMs. Previous to this patch, you would use these macros without commans, which was unlike any other directives. Now, after the macro, you must have a comma. This makes the macros look more like the rest of the directives. I know this is cosmetic, and I was going to leave it alone, but when I found out that it bothered Cliff too, I decided to fix it after all. Submitted by: Ryan Bloom and Cliff Woolley
Use the APR's new OS-specific proc mutex accessors -- they are used here to set permissions on SysV Semaphores. MPMs will be modified to call this new function as they are ported to the new APR lock API.
Added AP_DECLARE_DATA to unixd_config, so that it makes it into the exp file. Submitted by: Mark Nesbitt <mnesbitt@us.ibm.com>
Use the correct macros in unix.h
No <sys/ipc.h> under cygwin.
Fix a new error on Linux.
The Unix MPMs other than perchild now allow child server processes to use the accept mutex when starting as root and using SysV sems for the accept mutex. Previously, this combination would lead to fatal errors in the child server processes. perchild can't use SysV sems because of security issues. translation: steal apache 1.3 code to call semop(IPC_SET) on the semaphore to set permissions and uid/gid
httpd.exp and lots of other export files are generated based on the AP[RU]_DECLARE macros. This commit gets mod_cgid working again as a DSO on AIX. However, this brings up the need to look for any functions that are available as part of the API, and AP[RU]_DECLAREing them, so things don't blow up in DSOs.
Utility to list available hooks.
tweak unixd.h so that exports.c is built properly
Update copyright to 2001
toss the signal description stuff from unixd.[ch], beosd.h, and spmt_os2. use the new functionality in APR.
The big change. This is part 3 of the apr-util symbols rename, please see the first commit of srclib/apr-util/include (cvs apr-util/include) for the quick glance at symbols changed.
<sys/resource.h> requires <sys/time.h> first on some systems (e.g., FreeBSD 3.4)
Make mod_cgi and mod_include work when compiled as DSO's again. This is accomplished by moving suexec out of it's own file and into unixd.[ch]. The problem was that suexec.c wasn't being linked into the server unless a module was actually using ap_os_create_process. This is still not clean, but it works now.
Add back suexec support.
Add a temporary pool argument to unixd_pre_config, so that it can call APR functions (grumble). This is needed for apr_stat, which will be in the suexec path coming up.
Renamed all MODULE_EXPORT symbols to AP_MODULE_DECLARE and all symbols for CORE_EXPORT to AP_CORE_DECLARE (namespace protecting the wrapper) and retitled API_EXPORT as AP_DECLARE and APR_EXPORT as APR_DECLARE. All _VAR_ flavors changes to _DATA to be absolutely clear. Thank you Greg, for the most obvious suggestion.
Remove unixd_detach function, because it is provided by APR as ap_detach. This also modifies the ap_detach function to look like unixd_detach. Finally all calls to unixd_detach are changed to ap_detach.
Make unixd_config.user_name const char * instead of char * to avoid a warning when the set-user-name command handler saves the address of the arg from the config file.
More consification, correct command initialisation.
Protect system header files with the appropriate macros.
Add the resource limiting code back to Apache 2.0. This only works on Unix because I can't find any other platforms with rlimit. If there are other platforms that need this code, then some of the code needs to move. This has just barely been tested, so it could probably use some good testing.
Increase the default NumSIG value from 32 to 33 on behalf of OS/390. unix_siglist_init() will now blow up via ap_assert() if NumSIG is too low. (This is no fun to debug!)
Update to Apache Software License version 1.1
Fix all the License issues. Including: s/Apache Group/Apache Software Foundation/ s/1999/2000/ s/Sascha's license/ASF license
Finish the commits for the change in the header files. Basically, this hides all of the Apache macros that modules don't need access to. This should have been committed with the modules, but I wasn't paying attention to the directory I was in when I ran the commit. Submitted by: Manoj Kasichainula and Ryan Bloom
The first part of the big autoconf patch. This replaces a bunch of NEED_* macros with HAVE_* macros to be more consistent with autoconf.
Move the ap_sys_siglist code from the Unix MPMs to unixd.[ch]
detach, set_group_privs, and such... these will be common amongst the unix MPMs, so split them off into os/unix/unixd.[ch].
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.
| infrastructure at apache.org | ViewVC Help |
| Powered by ViewVC 1.1.26 |