-*- coding: utf-8 -*-
Changes with Apache 2.2.18
+ *) mod_win32: Added shebang check for '! so that .vbs scripts can work as CGI.
+ Win32's cscript interpreter can only use a single quote as comment char.
+ [Guenter Knauf]
+
*) configure: Fix htpasswd/htdbm libcrypt link errors with some newer
linkers. [Stefan Fritsch]
PATCHES ACCEPTED TO BACKPORT FROM TRUNK:
[ start all new proposals below, under PATCHES PROPOSED. ]
- * mod_win32: Add shebang check so that .vbs scripts can work as CGI.
- Trunk patch: http://svn.apache.org/viewvc?view=revision&revision=1054347
- 2.2.x patch: Trunk version of patch works with offset
- +1 fuankg, wrowe, trawick
- wrowe notes: CHANGES needs to be clearer than the text above.
- Trunk/CHANGES and 2.2.x/CHANGES need an update.
-
* htpasswd.c: Syncronize with trunk version. This includes a couple of fixes:
r826805, r826822, r829162, r829355, r829431. The patch below covers only
the C code - we also need to apply the docs and CHANGES parts of r826805.
memmove(buffer, buffer + 3, bytes -= 3);
}
- /* Script or executable, that is the question... */
- if ((bytes >= 2) && (buffer[0] == '#') && (buffer[1] == '!')) {
+ /* Script or executable, that is the question...
+ * we check here also for '! so that .vbs scripts can work as CGI.
+ */
+ if ((bytes >= 2) && ((buffer[0] == '#') || (buffer[0] == '\''))
+ && (buffer[1] == '!')) {
/* Assuming file is a script since it starts with a shebang */
for (i = 2; i < bytes; i++) {
if ((buffer[i] == '\r') || (buffer[i] == '\n')) {
if (!interpreter) {
ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r,
"%s is not executable; ensure interpreted scripts have "
- "\"#!\" first line", *cmd);
+ "\"#!\" or \"'!\" first line", *cmd);
return APR_EBADF;
}