]> git.pld-linux.org Git - packages/apache-mod_fcgid.git/blob - apache-mod_fcgid-suexec-path.patch
- updated to 2.3.9
[packages/apache-mod_fcgid.git] / apache-mod_fcgid-suexec-path.patch
1 diff -ur mod_fcgid-2.3.6.orig//modules/fcgid/fcgid_conf.c mod_fcgid-2.3.6/modules/fcgid/fcgid_conf.c
2 --- mod_fcgid-2.3.6.orig//modules/fcgid/fcgid_conf.c    2010-11-04 12:43:30.000000000 +0100
3 +++ mod_fcgid-2.3.6/modules/fcgid/fcgid_conf.c  2010-12-27 11:20:47.928883235 +0100
4 @@ -104,6 +104,7 @@
5      config->busy_timeout = DEFAULT_BUSY_TIMEOUT;
6      config->idle_timeout = DEFAULT_IDLE_TIMEOUT;
7      config->proc_lifetime = DEFAULT_PROC_LIFETIME;
8 +    config->suexec_cmd = SUEXEC_BIN;
9  
10      return config;
11  }
12 @@ -1078,3 +1079,22 @@
13  
14      cmdopts->cmdenv = NULL;
15  }
16 +
17 +const char *set_suexec_cmd(cmd_parms * cmd, void *dummy, const char *arg)
18 +{
19 +       server_rec *s = cmd->server;
20 +       fcgid_server_conf *config =
21 +               ap_get_module_config(s->module_config, &fcgid_module);
22 +       config->suexec_cmd = ap_server_root_relative(cmd->pool, arg);
23 +       if (!config->suexec_cmd)
24 +               return "Invalid SuEXEC command";
25 +
26 +       return NULL;
27 +}
28 +
29 +const char *get_suexec_cmd(server_rec * s)
30 +{
31 +       fcgid_server_conf *config =
32 +               ap_get_module_config(s->module_config, &fcgid_module);
33 +       return config->suexec_cmd;
34 +}
35 diff -ur mod_fcgid-2.3.6.orig//modules/fcgid/fcgid_conf.h mod_fcgid-2.3.6/modules/fcgid/fcgid_conf.h
36 --- mod_fcgid-2.3.6.orig//modules/fcgid/fcgid_conf.h    2010-11-04 13:14:15.000000000 +0100
37 +++ mod_fcgid-2.3.6/modules/fcgid/fcgid_conf.h  2010-12-27 11:22:07.160243449 +0100
38 @@ -98,6 +98,7 @@
39      int idle_timeout_set;
40      int proc_lifetime;
41      int proc_lifetime_set;
42 +    char *suexec_cmd;
43  } fcgid_server_conf;
44  
45  typedef struct {
46 @@ -225,6 +226,9 @@
47                                 const char *wrapper, const char *extension, const char* virtual);
48  fcgid_cmd_conf *get_wrapper_info(const char *cgipath, request_rec * r);
49  
50 +const char *set_suexec_cmd(cmd_parms * cmd, void *dummy, const char *arg);
51 +const char *get_suexec_cmd(server_rec * s);
52 +
53  const char *set_authenticator_info(cmd_parms * cmd, void *config,
54                                     const char *arg);
55  const char *set_authenticator_authoritative(cmd_parms * cmd,
56 diff -ur mod_fcgid-2.3.6.orig//modules/fcgid/fcgid_proc_unix.c mod_fcgid-2.3.6/modules/fcgid/fcgid_proc_unix.c
57 --- mod_fcgid-2.3.6.orig//modules/fcgid/fcgid_proc_unix.c       2010-06-14 21:39:40.000000000 +0200
58 +++ mod_fcgid-2.3.6/modules/fcgid/fcgid_proc_unix.c     2010-12-27 11:32:29.586735705 +0100
59 @@ -61,6 +61,7 @@
60  } fcgid_namedpipe_handle;
61  
62  static int g_process_counter = 0;
63 +static const char *g_suexec_cmd = NULL;
64  
65  static apr_status_t ap_unix_create_privileged_process(apr_proc_t *newproc,
66                                                        const char *progname,
67 @@ -107,8 +108,8 @@
68      }
69      /* allocate space for 4 new args, the input args, and a null terminator */
70      newargs = apr_palloc(p, sizeof(char *) * (i + 4));
71 -    newprogname = SUEXEC_BIN;
72 -    newargs[0] = SUEXEC_BIN;
73 +    newprogname = g_suexec_cmd;
74 +    newargs[0] = g_suexec_cmd;
75      newargs[1] = execuser;
76      newargs[2] = execgroup;
77      newargs[3] = apr_pstrdup(p, argv0);
78 @@ -222,6 +223,9 @@
79      }
80      wargv[argc] = NULL;
81  
82 +    if (!g_suexec_cmd)
83 +        g_suexec_cmd = get_suexec_cmd(procinfo->main_server);
84 +
85      /*
86         Create UNIX domain socket before spawn
87       */
88 diff -ur mod_fcgid-2.3.6.orig//modules/fcgid/mod_fcgid.c mod_fcgid-2.3.6/modules/fcgid/mod_fcgid.c
89 --- mod_fcgid-2.3.6.orig//modules/fcgid/mod_fcgid.c     2010-10-29 01:53:29.000000000 +0200
90 +++ mod_fcgid-2.3.6/modules/fcgid/mod_fcgid.c   2010-12-27 11:36:41.468977537 +0100
91 @@ -892,6 +892,9 @@
92      AP_INIT_TAKE123("FcgidWrapper", set_wrapper_config, NULL,
93                      RSRC_CONF | ACCESS_CONF | OR_FILEINFO,
94                      "The CGI wrapper file an optional URL suffix and an optional flag"),
95 +    AP_INIT_TAKE1("FcgidCgiSuexec", set_suexec_cmd, NULL,
96 +                  RSRC_CONF,
97 +                  "Path to FastCGI SuEXEC command"),
98      AP_INIT_TAKE1("FcgidZombieScanInterval", set_zombie_scan_interval, NULL,
99                    RSRC_CONF,
100                    "scan interval for zombie process"),
101 @@ -941,6 +944,9 @@
102      AP_INIT_TAKE123("FCGIWrapper", set_wrapper_config, NULL,
103                      RSRC_CONF | ACCESS_CONF | OR_FILEINFO,
104                      "Deprecated - Use 'FcgidWrapper' instead"),
105 +    AP_INIT_TAKE1("FastCgiSuexec", set_suexec_cmd, NULL,
106 +                  RSRC_CONF,
107 +                  "Deprecated - Use 'FcgidCgiSuexec' instead"),
108      AP_INIT_TAKE1("IdleScanInterval", set_idle_scan_interval, NULL,
109                    RSRC_CONF,
110                    "Deprecated - Use 'FcgidIdleScanInterval' instead"),
This page took 0.062689 seconds and 3 git commands to generate.