path: root/src/mod_ssi.h
diff options
authorGlenn Strauss <>2016-12-11 01:49:11 -0500
committerGlenn Strauss <>2016-12-11 02:40:58 -0500
commit185e262bf508b84aa5806bb12110fcc3d8a99c4a (patch)
treeceec51f32b97e83080d8326212a2c5abe20fab3c /src/mod_ssi.h
parent879ce0b534fc62fac9e5585f49570d5fac3c7e2c (diff)
[mod_ssi] basic recursive SSI include virtual (fixes #536)
EXPERIMENTAL: basic recursive SSI <!--#include virtual="..." --> Marked experimental since behavior may change in future. Prior behavior was simpler and treated them all as files included as-is. New behavior treats all #include virtual="..." targets as SSI files. In the future, this may change to be a full recursive subrequest and the virtual path may be treated as a new subrequest and might be something other than SSI (e.g. might be CGI). This has not been implemented. Current behavior processes <!--#include virtual="..." --> as static file Enable new behavior by setting ssi.recursion-max to value other than 0. ssi.recursion-max = X to set maximum recusion depth x-ref: "add recursion to the SSI #include directive"
Diffstat (limited to 'src/mod_ssi.h')
1 files changed, 2 insertions, 0 deletions
diff --git a/src/mod_ssi.h b/src/mod_ssi.h
index 7ed63f5b..c4dd5048 100644
--- a/src/mod_ssi.h
+++ b/src/mod_ssi.h
@@ -15,6 +15,7 @@ typedef struct {
buffer *content_type;
unsigned short conditional_requests;
unsigned short ssi_exec;
+ unsigned short ssi_recursion_max;
} plugin_config;
typedef struct {
@@ -42,6 +43,7 @@ typedef struct {
array *ssi_cgi_env;
int if_level, if_is_false_level, if_is_false, if_is_false_endif;
+ unsigned short ssi_recursion_depth;
plugin_config conf;
} handler_ctx;