]> git.pld-linux.org Git - packages/apache-mod_fcgid.git/commitdiff
- patch to allow setting path to suexec binary, found at
authorhawk <hawk@pld-linux.org>
Fri, 5 Jun 2009 13:31:41 +0000 (13:31 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
  http://www.mail-archive.com/mod-fcgid-users@lists.sourceforge.net/msg00150.html

Changed files:
    apache-mod_fcgid-suexec-path.patch -> 1.1

apache-mod_fcgid-suexec-path.patch [new file with mode: 0644]

diff --git a/apache-mod_fcgid-suexec-path.patch b/apache-mod_fcgid-suexec-path.patch
new file mode 100644 (file)
index 0000000..8c8be86
--- /dev/null
@@ -0,0 +1,98 @@
+diff -ur mod_fcgid.2.2.orig/arch/unix/fcgid_proc_unix.c mod_fcgid.2.2/arch/unix/fcgid_proc_unix.c
+--- mod_fcgid.2.2.orig/arch/unix/fcgid_proc_unix.c     2007-07-31 11:09:19.000000000 +0200
++++ mod_fcgid.2.2/arch/unix/fcgid_proc_unix.c  2009-06-05 15:01:05.000000000 +0200
+@@ -30,6 +30,7 @@
+ static int g_process_counter = 0;
+ static apr_pool_t *g_inode_cginame_map = NULL;
+ static const char *g_socket_dir = NULL;
++static const char *g_suexec_cmd = NULL;
+ static apr_status_t ap_unix_create_privileged_process(apr_proc_t * newproc,
+                                                                                                         const char *progname,
+@@ -79,8 +80,8 @@
+       }
+       /* allocate space for 4 new args, the input args, and a null terminator */
+       newargs = apr_palloc(p, sizeof(char *) * (i + 4));
+-      newprogname = SUEXEC_BIN;
+-      newargs[0] = SUEXEC_BIN;
++      newprogname = g_suexec_cmd;
++      newargs[0] = g_suexec_cmd;
+       newargs[1] = execuser;
+       newargs[2] = execgroup;
+       newargs[3] = apr_pstrdup(p, argv0);
+@@ -179,6 +180,8 @@
+                                               procinfo->main_server->process->pconf);
+       }
++      if (!g_suexec_cmd)
++              g_suexec_cmd = get_suexec_cmd(procinfo->main_server);
+       if (!g_socket_dir)
+               g_socket_dir = get_socketpath(procinfo->main_server);
+       if (!g_inode_cginame_map || !g_socket_dir) {
+diff -ur mod_fcgid.2.2.orig/fcgid_conf.c mod_fcgid.2.2/fcgid_conf.c
+--- mod_fcgid.2.2.orig/fcgid_conf.c    2007-07-31 11:09:20.000000000 +0200
++++ mod_fcgid.2.2/fcgid_conf.c 2009-06-05 15:03:19.000000000 +0200
+@@ -61,6 +61,7 @@
+       config->max_requests_per_process = DEFAULT_MAX_REQUESTS_PER_PROCESS;
+       config->max_request_len = DEFAULT_MAX_REQUEST_LEN;
+       config->max_mem_request_len = DEFAULT_MAX_MEM_REQUEST_LEN;
++      config->suexec_cmd = SUEXEC_BIN;
+ }
+ void *create_fcgid_server_config(apr_pool_t * p, server_rec * s)
+@@ -846,3 +847,22 @@
+       return NULL;
+ }
++
++const char *set_suexec_cmd(cmd_parms * cmd, void *dummy, const char *arg)
++{
++      server_rec *s = cmd->server;
++      fcgid_server_conf *config =
++              ap_get_module_config(s->module_config, &fcgid_module);
++      config->suexec_cmd = ap_server_root_relative(cmd->pool, arg);
++      if (!config->suexec_cmd)
++              return "Invalid SuEXEC command";
++
++      return NULL;
++}
++
++const char *get_suexec_cmd(server_rec * s)
++{
++      fcgid_server_conf *config =
++              ap_get_module_config(s->module_config, &fcgid_module);
++      return config->suexec_cmd;
++}
+diff -ur mod_fcgid.2.2.orig/fcgid_conf.h mod_fcgid.2.2/fcgid_conf.h
+--- mod_fcgid.2.2.orig/fcgid_conf.h    2007-07-31 11:09:22.000000000 +0200
++++ mod_fcgid.2.2/fcgid_conf.h 2009-06-05 15:03:51.000000000 +0200
+@@ -43,6 +43,7 @@
+       int ipc_comm_timeout;
+       int busy_timeout;
+       int php_fix_pathinfo_enable;
++      char *suexec_cmd;
+ } fcgid_server_conf;
+ typedef struct {
+@@ -160,6 +161,9 @@
+                                                          const char *wrapper, const char *extension);
+ fcgid_wrapper_conf *get_wrapper_info(const char *cgipath, request_rec * r);
++const char *set_suexec_cmd(cmd_parms * cmd, void *dummy, const char *arg);
++const char *get_suexec_cmd(server_rec * s);
++
+ const char *set_authenticator_info(cmd_parms * cmd, void *config,
+                                                                  const char *arg);
+ const char *set_authenticator_authoritative(cmd_parms * cmd,
+diff -ur mod_fcgid.2.2.orig/mod_fcgid.c mod_fcgid.2.2/mod_fcgid.c
+--- mod_fcgid.2.2.orig/mod_fcgid.c     2007-07-31 11:09:22.000000000 +0200
++++ mod_fcgid.2.2/mod_fcgid.c  2009-06-05 15:06:51.000000000 +0200
+@@ -594,6 +594,8 @@
+       AP_INIT_TAKE12("FCGIWrapper", set_wrapper_config, NULL,
+                                  RSRC_CONF | ACCESS_CONF | OR_FILEINFO,
+                                  "The CGI wrapper setting"),
++      AP_INIT_TAKE1("FastCgiSuexec", set_suexec_cmd, NULL, RSRC_CONF,
++                                 "Path to FastCGI SuEXEC command"),
+       AP_INIT_TAKE1("PHP_Fix_Pathinfo_Enable",
+                                 set_php_fix_pathinfo_enable,
+                                 NULL, RSRC_CONF,
This page took 0.115808 seconds and 4 git commands to generate.