From: Ryan Bloom Date: Mon, 29 Jan 2001 19:42:16 +0000 (+0000) Subject: Clean up the cgid module now that it supports suexec. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b7813c64e5332707ee426291d3e80c193d5eb8fe;p=apache Clean up the cgid module now that it supports suexec. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87910 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/modules/generators/mod_cgid.c b/modules/generators/mod_cgid.c index c91d940c4b..625dd13025 100644 --- a/modules/generators/mod_cgid.c +++ b/modules/generators/mod_cgid.c @@ -91,6 +91,7 @@ #include "http_conf_globals.h" #include "ap_mpm.h" #include "unixd.h" +#include "mod_suexec.h" #include #ifdef HAVE_SYS_SOCKET_H #include @@ -149,11 +150,6 @@ typedef struct { int bufbytes; } cgid_server_conf; -typedef struct { - ap_unix_identity_t ugid; - int active; -} suexec_config_t; - /* If a request includes query info in the URL (stuff after "?"), and * the query info does not contain "=" (indicative of a FORM submission), * then this routine is called to create the argument list to be passed @@ -273,15 +269,11 @@ static void get_req(int fd, request_rec *r, char **filename, char **argv0, char if (suexec_mod) { suexec_config_t *suexec_cfg = apr_pcalloc(r->pool, sizeof(*suexec_cfg)); - int temp; read(fd, &i, sizeof(int)); - read(fd, &temp, sizeof(uid_t)); - suexec_cfg->ugid.uid = temp; - read(fd, &temp, sizeof(gid_t)); - suexec_cfg->ugid.gid = temp; - read(fd, &temp, sizeof(int)); - suexec_cfg->active = temp; + read(fd, &suexec_cfg->ugid.uid, sizeof(uid_t)); + read(fd, &suexec_cfg->ugid.gid, sizeof(gid_t)); + read(fd, &suexec_cfg->active, sizeof(int)); dconf[i] = (void *)suexec_cfg; } diff --git a/modules/generators/mod_suexec.c b/modules/generators/mod_suexec.c index 3c2a2824d8..d2e881295d 100644 --- a/modules/generators/mod_suexec.c +++ b/modules/generators/mod_suexec.c @@ -63,14 +63,10 @@ #include "apr_strings.h" #include "unixd.h" #include "mpm_common.h" +#include "mod_suexec.h" module AP_MODULE_DECLARE_DATA suexec_module; -typedef struct { - ap_unix_identity_t ugid; - int active; -} suexec_config_t; - /* * Create a configuration specific to this module for a server or directory * location, and fill it with the default settings. diff --git a/modules/generators/mod_suexec.h b/modules/generators/mod_suexec.h new file mode 100644 index 0000000000..e8b13ac7f2 --- /dev/null +++ b/modules/generators/mod_suexec.h @@ -0,0 +1,64 @@ +/* ==================================================================== + * The Apache Software License, Version 1.1 + * + * Copyright (c) 2000 The Apache Software Foundation. All rights + * reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. The end-user documentation included with the redistribution, + * if any, must include the following acknowledgment: + * "This product includes software developed by the + * Apache Software Foundation (http://www.apache.org/)." + * Alternately, this acknowledgment may appear in the software itself, + * if and wherever such third-party acknowledgments normally appear. + * + * 4. The names "Apache" and "Apache Software Foundation" must + * not be used to endorse or promote products derived from this + * software without prior written permission. For written + * permission, please contact apache@apache.org. + * + * 5. Products derived from this software may not be called "Apache", + * nor may "Apache" appear in their name, without prior written + * permission of the Apache Software Foundation. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF + * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT + * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * ==================================================================== + * + * This software consists of voluntary contributions made by many + * individuals on behalf of the Apache Software Foundation. For more + * information on the Apache Software Foundation, please see + * . + * + * Portions of this software are based upon public domain software + * originally written at the National Center for Supercomputing Applications, + * University of Illinois, Urbana-Champaign. + */ +#include "unixd.h" + +typedef struct { + ap_unix_identity_t ugid; + int active; +} suexec_config_t; +