See bugzilla id #8464 for details, but currently in 2.0.36 you cannot
specify command-line arguments to an external rewrite program, thus:
RewriteMap "prg:/path/to/my/engine -arg1 -arg2"
This was valid in 1.3.24, as it exec'd a shell with the "-c
/path/to/my/engine -arg1 -arg2" arguments.
Hopefully this patch should enable us to be able to supply command-line
arguments to our external program again, negating the need for a shell
script wrapper and meaning the configuration is all in httpd.conf.
Cheers,
JT
--
+------------------------------------+------------------------------------+
| James Tait | ICQ# 17834893 |
| MUD programmer and Linux advocate | http://www.wyrddreams.demon.co.uk/ |
+------------------------------------+------------------------------------+
________________________________________________________________________
This email has been scanned for all viruses by the MessageLabs SkyScan
service. For more information on a proactive anti-virus service working
around the clock, around the globe, visit http://www.messagelabs.com
________________________________________________________________________
--- ../httpd-2.0.36-unmodified/modules/mappers/mod_rewrite.c Mon Apr 22 11:27:01
2002
+++ modules/mappers/mod_rewrite.c Thu May 23 17:21:26 2002
@@ -3370,6 +3370,24 @@
apr_status_t rc;
apr_procattr_t *procattr;
apr_proc_t *procnew;
+ char *arg;
+ char *datafile;
+ const char **args;
+ int nargs;
+
+ procnew = apr_pcalloc(p, sizeof(*procnew));
+ datafile = apr_pstrdup(p, progname);
+ nargs = 0;
+ while (*datafile && ap_getword_white_nc(p, &datafile)) {
+ nargs++;
+ }
+ args = (const char **)apr_pcalloc(p, sizeof(char *) * (nargs + 1));
+ datafile = apr_pstrdup(p, progname);
+ nargs = 0;
+ while (*datafile && (arg = ap_getword_white_nc(p, &datafile))) {
+ args[nargs++] = apr_pstrdup(p, arg);
+ }
+ args[nargs] = NULL;
if (((rc = apr_procattr_create(&procattr, p)) != APR_SUCCESS) ||
((rc = apr_procattr_io_set(procattr, APR_FULL_BLOCK,