Commit Graph

54 Commits

Author SHA1 Message Date
736d659de0 use a local module header file to store the function prototype
for ap_unixd_setup_child() that is used outside this module.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@739487 13f79535-47bb-0310-9956-ffa450edef68
2009-01-31 01:46:56 +00:00
5b5045a2d5 revert r711228: the ap_unixd_setup_child prototype needs to go somewhere.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@739150 13f79535-47bb-0310-9956-ffa450edef68
2009-01-30 02:48:08 +00:00
a73acf02f6 API Cleanup in preperation for 2.4.x, make sure all exported functions or variables contain an ap_ prefix.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@722399 13f79535-47bb-0310-9956-ffa450edef68
2008-12-02 08:13:36 +00:00
9327dae3a9 * unixd_setup_child is no longer implemented by unixd.c.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@711228 13f79535-47bb-0310-9956-ffa450edef68
2008-11-04 11:36:31 +00:00
368d9bb335 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.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@711146 13f79535-47bb-0310-9956-ffa450edef68
2008-11-04 00:44:56 +00:00
bafd1071fb Support chroot on unix-family platforms
PR 43596 (Dimitar Pashev)


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@611483 13f79535-47bb-0310-9956-ffa450edef68
2008-01-12 21:16:27 +00:00
cd3ed0c3ca APR_HAVE/AP_HAVE are ALWAYS defined, not always 1.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@486436 13f79535-47bb-0310-9956-ffa450edef68
2006-12-13 00:34:58 +00:00
de659cbed0 update license header text
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@420983 13f79535-47bb-0310-9956-ffa450edef68
2006-07-11 20:33:53 +00:00
dd95d7c37c Update the copyright year in all .c, .h and .xml files
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@395228 13f79535-47bb-0310-9956-ffa450edef68
2006-04-19 12:11:27 +00:00
913e69c609 * os/unix/unixd.h: Use extern "C" linkage.
PR: 37357


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@354389 13f79535-47bb-0310-9956-ffa450edef68
2005-12-06 09:48:19 +00:00
8c1e315d3f Doxygen fixup / cleanup
submited by: Neale Ranns neale ranns.org
reviewed by: Ian Holsman



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@263931 13f79535-47bb-0310-9956-ffa450edef68
2005-08-28 23:03:59 +00:00
905cdf9f0b Update copyright year to 2005 and standardize on current copyright owner line.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@151408 13f79535-47bb-0310-9956-ffa450edef68
2005-02-04 20:28:49 +00:00
eeb57c17ad fix name of The Apache Software Foundation
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@102619 13f79535-47bb-0310-9956-ffa450edef68
2004-02-09 20:40:53 +00:00
e0d2db5107 fix copyright dates according to the first check in
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@102579 13f79535-47bb-0310-9956-ffa450edef68
2004-02-08 13:13:10 +00:00
4f02cb1e18 apply Apache License, Version 2.0
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@102525 13f79535-47bb-0310-9956-ffa450edef68
2004-02-06 22:58:42 +00:00
fb07607180 update license to 2004.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@102135 13f79535-47bb-0310-9956-ffa450edef68
2004-01-01 13:26:26 +00:00
8f0cd048e0 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


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@100189 13f79535-47bb-0310-9956-ffa450edef68
2003-06-07 19:50:01 +00:00
742af25096 finished that boring job:
update license to 2003.

Happy New Year! ;-))


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@98573 13f79535-47bb-0310-9956-ffa450edef68
2003-02-03 17:53:28 +00:00
c33e4574d8 Add unixd_set_global_mutex_perms so we can set permissions on things like
SysV Semaphores in the core and modules.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94968 13f79535-47bb-0310-9956-ffa450edef68
2002-05-06 18:19:53 +00:00
924fc33d06 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


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94791 13f79535-47bb-0310-9956-ffa450edef68
2002-04-25 07:18:40 +00:00
845cbfd508 Update our copyright for this year.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93918 13f79535-47bb-0310-9956-ffa450edef68
2002-03-13 20:48:07 +00:00
90f63dfcd5 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.)


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93558 13f79535-47bb-0310-9956-ffa450edef68
2002-02-24 08:33:56 +00:00
a9eff7270c 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.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@92598 13f79535-47bb-0310-9956-ffa450edef68
2001-12-25 12:24:14 +00:00
91aa604600 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.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91916 13f79535-47bb-0310-9956-ffa450edef68
2001-11-13 22:42:38 +00:00
aefc6b1525 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


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91896 13f79535-47bb-0310-9956-ffa450edef68
2001-11-13 06:04:25 +00:00
648ae56dba 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.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91579 13f79535-47bb-0310-9956-ffa450edef68
2001-10-19 23:32:43 +00:00
f6b61e742b Added AP_DECLARE_DATA to unixd_config, so that it makes it into the exp file.
Submitted by: Mark Nesbitt <mnesbitt@us.ibm.com>


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91022 13f79535-47bb-0310-9956-ffa450edef68
2001-09-13 20:41:15 +00:00
95f9ad5919 Use the correct macros in unix.h
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@90808 13f79535-47bb-0310-9956-ffa450edef68
2001-08-30 06:36:41 +00:00
9e5e701581 No <sys/ipc.h> under cygwin.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@90800 13f79535-47bb-0310-9956-ffa450edef68
2001-08-30 05:11:42 +00:00
2e238e59eb Fix a new error on Linux.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@90215 13f79535-47bb-0310-9956-ffa450edef68
2001-08-16 14:12:39 +00:00
aee4f61414 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


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@90213 13f79535-47bb-0310-9956-ffa450edef68
2001-08-16 13:59:14 +00:00
45b321443b 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.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89790 13f79535-47bb-0310-9956-ffa450edef68
2001-07-30 17:55:38 +00:00
6148b98964 Utility to list available hooks.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89232 13f79535-47bb-0310-9956-ffa450edef68
2001-05-27 15:31:08 +00:00
a386223555 tweak unixd.h so that exports.c is built properly
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88753 13f79535-47bb-0310-9956-ffa450edef68
2001-04-07 19:37:54 +00:00
381f88d56a Update copyright to 2001
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88184 13f79535-47bb-0310-9956-ffa450edef68
2001-02-16 04:26:53 +00:00
39793c7fca toss the signal description stuff from unixd.[ch], beosd.h, and spmt_os2.
use the new functionality in APR.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88079 13f79535-47bb-0310-9956-ffa450edef68
2001-02-11 00:44:40 +00:00
59bbd68bec 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.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87731 13f79535-47bb-0310-9956-ffa450edef68
2001-01-19 07:04:36 +00:00
257a9e2552 <sys/resource.h> requires <sys/time.h> first on some systems
(e.g., FreeBSD 3.4)


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87092 13f79535-47bb-0310-9956-ffa450edef68
2000-11-27 19:11:40 +00:00
e4fe63f3df 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.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@86772 13f79535-47bb-0310-9956-ffa450edef68
2000-10-31 00:47:24 +00:00
b1fb90877e Add back suexec support.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@86712 13f79535-47bb-0310-9956-ffa450edef68
2000-10-23 15:30:57 +00:00
603dec1da3 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.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@86710 13f79535-47bb-0310-9956-ffa450edef68
2000-10-23 10:54:18 +00:00
d6490633eb 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.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@86609 13f79535-47bb-0310-9956-ffa450edef68
2000-10-16 06:05:15 +00:00
0a82e00316 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.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85635 13f79535-47bb-0310-9956-ffa450edef68
2000-06-20 19:16:18 +00:00
43befa39e1 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.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85606 13f79535-47bb-0310-9956-ffa450edef68
2000-06-18 03:05:41 +00:00
c0a4cb7873 More consification, correct command initialisation.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85599 13f79535-47bb-0310-9956-ffa450edef68
2000-06-17 16:29:53 +00:00
750d8cc03c Protect system header files with the appropriate macros.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85558 13f79535-47bb-0310-9956-ffa450edef68
2000-06-12 23:03:05 +00:00
3c8e0cb24f 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.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85449 13f79535-47bb-0310-9956-ffa450edef68
2000-06-06 21:45:16 +00:00
aad98a7ddb 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!)


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85047 13f79535-47bb-0310-9956-ffa450edef68
2000-04-26 14:54:57 +00:00
1be5367573 Update to Apache Software License version 1.1
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@84880 13f79535-47bb-0310-9956-ffa450edef68
2000-03-31 09:17:18 +00:00
b1c26f031a Fix all the License issues. Including:
s/Apache Group/Apache Software Foundation/
s/1999/2000/
s/Sascha's license/ASF license


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@84725 13f79535-47bb-0310-9956-ffa450edef68
2000-03-10 00:07:37 +00:00