Skip to content

Commit 90f504f

Browse files
authored
Merge pull request #287 from Castaglia/proxy-ifsess-compat
Set the `CF_MULTI` flag on the mod_proxy directives that can have mul…
2 parents 21e2126 + bf24dc8 commit 90f504f

File tree

1 file changed

+37
-2
lines changed

1 file changed

+37
-2
lines changed

mod_proxy.c

Lines changed: 37 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -825,6 +825,13 @@ MODRET set_proxyoptions(cmd_rec *cmd) {
825825
c->argv[0] = pcalloc(c->pool, sizeof(unsigned long));
826826
*((unsigned long *) c->argv[0]) = opts;
827827

828+
if (pr_module_exists("mod_ifsession.c")) {
829+
/* These are needed in case this directive is used with mod_ifsession
830+
* configuration.
831+
*/
832+
c->flags |= CF_MULTI;
833+
}
834+
828835
return PR_HANDLED(cmd);
829836
}
830837

@@ -983,6 +990,13 @@ MODRET set_proxyreverseservers(cmd_rec *cmd) {
983990
c->argv[1] = pstrdup(c->pool, uri);
984991
}
985992

993+
if (pr_module_exists("mod_ifsession.c")) {
994+
/* These are needed in case this directive is used with mod_ifsession
995+
* configuration.
996+
*/
997+
c->flags |= CF_MULTI;
998+
}
999+
9861000
return PR_HANDLED(cmd);
9871001
}
9881002

@@ -1259,6 +1273,13 @@ MODRET set_proxysftpoptions(cmd_rec *cmd) {
12591273
c->argv[0] = pcalloc(c->pool, sizeof(unsigned long));
12601274
*((unsigned long *) c->argv[0]) = opts;
12611275

1276+
if (pr_module_exists("mod_ifsession.c")) {
1277+
/* These are needed in case this directive is used with mod_ifsession
1278+
* configuration.
1279+
*/
1280+
c->flags |= CF_MULTI;
1281+
}
1282+
12621283
return PR_HANDLED(cmd);
12631284
}
12641285

@@ -1789,7 +1810,7 @@ MODRET set_proxytlscertkeyfile(cmd_rec *cmd) {
17891810

17901811
/* usage: ProxyTLSCipherSuite [protocol] ciphers */
17911812
MODRET set_proxytlsciphersuite(cmd_rec *cmd) {
1792-
#ifdef PR_USE_OPENSSL
1813+
#if defined(PR_USE_OPENSSL)
17931814
config_rec *c = NULL;
17941815
char *ciphersuite = NULL;
17951816
int protocol = 0;
@@ -1885,6 +1906,13 @@ MODRET set_proxytlsciphersuite(cmd_rec *cmd) {
18851906
c->argv[1] = palloc(c->pool, sizeof(int));
18861907
*((int *) c->argv[1]) = protocol;
18871908

1909+
if (pr_module_exists("mod_ifsession.c")) {
1910+
/* These are needed in case this directive is used with mod_ifsession
1911+
* configuration.
1912+
*/
1913+
c->flags |= CF_MULTI;
1914+
}
1915+
18881916
return PR_HANDLED(cmd);
18891917
#else
18901918
CONF_ERROR(cmd, "Missing required OpenSSL support (see --enable-openssl configure option)");
@@ -1934,7 +1962,7 @@ MODRET set_proxytlsengine(cmd_rec *cmd) {
19341962

19351963
/* usage: ProxyTLSOptions ... */
19361964
MODRET set_proxytlsoptions(cmd_rec *cmd) {
1937-
#ifdef PR_USE_OPENSSL
1965+
#if defined(PR_USE_OPENSSL)
19381966
config_rec *c = NULL;
19391967
register unsigned int i = 0;
19401968
unsigned long opts = 0UL;
@@ -1975,6 +2003,13 @@ MODRET set_proxytlsoptions(cmd_rec *cmd) {
19752003
c->argv[0] = pcalloc(c->pool, sizeof(unsigned long));
19762004
*((unsigned long *) c->argv[0]) = opts;
19772005

2006+
if (pr_module_exists("mod_ifsession.c")) {
2007+
/* These are needed in case this directive is used with mod_ifsession
2008+
* configuration.
2009+
*/
2010+
c->flags |= CF_MULTI;
2011+
}
2012+
19782013
return PR_HANDLED(cmd);
19792014
#else
19802015
CONF_ERROR(cmd, "Missing required OpenSSL support (see --enable-openssl configure option)");

0 commit comments

Comments
 (0)