summaryrefslogtreecommitdiff
path: root/source4/lib/appweb/esp
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2005-07-13 00:43:16 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:22:58 -0500
commit8fc8fa2ad4e38751205afc089c957d38e5fc9384 (patch)
tree7195be3cdb4209bf9572e9ee48c48c62a43f9cde /source4/lib/appweb/esp
parentb4f6a348bb512071af685f4c9e0fe86f6eb81a75 (diff)
downloadsamba-8fc8fa2ad4e38751205afc089c957d38e5fc9384.tar.gz
samba-8fc8fa2ad4e38751205afc089c957d38e5fc9384.tar.bz2
samba-8fc8fa2ad4e38751205afc089c957d38e5fc9384.zip
r8404: small upstream merges of appweb code
(This used to be commit 205ff9a82bd51eae3c1400ea0a24fcf2a662e96f)
Diffstat (limited to 'source4/lib/appweb/esp')
-rw-r--r--source4/lib/appweb/esp/esp.c12
-rw-r--r--source4/lib/appweb/esp/espProcs.c7
2 files changed, 11 insertions, 8 deletions
diff --git a/source4/lib/appweb/esp/esp.c b/source4/lib/appweb/esp/esp.c
index ef20557f93..0be7af6c1b 100644
--- a/source4/lib/appweb/esp/esp.c
+++ b/source4/lib/appweb/esp/esp.c
@@ -1,7 +1,7 @@
/*
* @file esp.c
* @brief Embedded Server Pages (ESP) core processing.
- * @overview The ESP handler provides an efficient way to generate
+ * @overview Embedded Server Pages provides an efficient way to generate
* dynamic pages using server-side Javascript. This code provides
* core processing, and should be called by an associated web
* server URL handler.
@@ -166,7 +166,7 @@ EspRequest *espCreateRequest(EspHandle webServerRequestHandle, char *uri,
* Define variables as globals. headers[] are prefixed with "HTTP_".
* NOTE: MaRequest::setVar does not copy into globals, whereas espSetVar
* does if legacy_api is defined. So variables pre-defined by MaRequest
- * must be copied here into globals[].
+ * must be copied here into globals[].
*
* NOTE: if a variable is in session[] and in form[], the form[] will
* override being later in the variables[] list. Use mprSetProperty
@@ -301,7 +301,7 @@ int espGetVar(EspRequest *ep, EspEnvType oType, char *var, MprVar *value)
*/
int espProcessRequest(EspRequest *ep, const char *docPath, char *docBuf,
- char **errMsg)
+ char **errMsg)
{
char *jsBuf;
@@ -549,7 +549,7 @@ static int getEspToken(int state, EspParse *parse)
if (parse->token == 0) {
return ESP_TOK_ERR;
}
- parse->token[parse->tokLen] = '\0';
+ parse->token[parse->tokLen] = '\0';
parse->tokp = &parse->token[parse->tokLen - 1];
parse->tokLen += ESP_TOK_INCR;
parse->endp = &parse->token[parse->tokLen - 1];
@@ -774,7 +774,7 @@ static int buildScript(EspRequest *ep, char **jsBuf, char *input, char **errMsg)
mprStrcpy(incPath, sizeof(incPath), parse.token);
} else {
mprGetDirName(dir, sizeof(dir), ep->uri);
- mprSprintf(incPath, sizeof(incPath), "%s/%s",
+ mprSprintf(incPath, sizeof(incPath), "%s/%s",
dir, parse.token);
}
if (esp->mapToStorage(ep->requestHandle, path, sizeof(path),
@@ -812,7 +812,7 @@ static int buildScript(EspRequest *ep, char **jsBuf, char *input, char **errMsg)
}
mprFree(parse.token);
if (len < 0) {
- mprAllocSprintf(errMsg, MPR_MAX_STRING,
+ mprAllocSprintf(errMsg, MPR_MAX_STRING,
"Script token is too big in %s.\nConfigured maximum is %d.",
path, maxScriptSize);
return MPR_ERR_WONT_FIT;
diff --git a/source4/lib/appweb/esp/espProcs.c b/source4/lib/appweb/esp/espProcs.c
index 28b69a8a6f..7b5dfe680e 100644
--- a/source4/lib/appweb/esp/espProcs.c
+++ b/source4/lib/appweb/esp/espProcs.c
@@ -93,8 +93,11 @@ static int includeProc(EspRequest *ep, int argc, char **argv)
buf[size] = '\0';
extension = strrchr(argv[i], '.');
- /* this makes handling include files in esp scripts much more convenient */
- if (extension && strcasecmp(extension, ".esp") == 0) {
+
+ /*
+ * Allow nested inclusion of ESP requests
+ */
+ if (extension && mprStrCmpAnyCase(extension, ".esp") == 0) {
if (espProcessRequest(ep, path, buf, &emsg) != 0) {
espError(ep, "Cant evaluate script - %s", emsg?emsg:"");
mprFree(buf);