Project

General

Profile

Actions

Feature #762

closed

support for variables in conditionals

Added by Anonymous over 18 years ago. Updated over 16 years ago.

Status:
Wontfix
Priority:
Normal
Category:
core
Target version:
-
ASK QUESTIONS IN Forums:

Description

please add support of using variables in conditionals. This would allow more flexible configuration.

for example: {{{conf.d/mod_fastcgi.conf}}}:


mod_fastcgi = 1
server.modules += ("mod_fastcgi")

and {{{webapps.d/appname.conf}}}:


if $mod_fastcgi == "1" {
// do mod_fastcgi based configuration
} else {
// do mod_cgi based configuration
}

-- Elan Ruusamäe <glen

Actions #1

Updated by moo over 18 years ago

i still use m4... to generate lighttpd conf

Actions #2

Updated by moo over 18 years ago

hrm.. maybe u can use cpp


#!c
#define HAVE_MOD_FASTCGI
server.modules += ("mod_fastcgi")
....
#ifdef ...
// do mod_fastcgi based configuration
#else
// do mod_cgi based configuration
#endif

#!ShellExample
$ cpp abc.conf.in -o abc.conf

include_shell "cpp sub.conf.in -o -" 

cpp (macro lang) is a bit easier than m4 (macro lang again). cpp is discussed in php dev list when they need one for php script.

Actions #3

Updated by stbuehler over 16 years ago

  • Status changed from New to Fixed
  • Resolution set to wontfix
Actions #4

Updated by glen over 16 years ago

unfortunately cpp adding isn't so transparent. it would change completely syntax for file, as you can use C comments (// and /* */) and # are directives for cpp:


# head /etc/lighttpd/lighttpd.conf
# lighttpd configuration file.
// some comment

include_shell "/bin/cat conf.d/*.conf" 

## a static document-root, for virtual-hosting take look at the
## server.virtual-* options
server.document-root = "/home/services/lighttpd/html/" 

## where to send error-messages to

# cpp /etc/lighttpd/lighttpd.conf|head
/etc/lighttpd/lighttpd.conf:1:3: invalid preprocessing directive #lighttpd
/etc/lighttpd/lighttpd.conf:12:2: invalid preprocessing directive #server
/etc/lighttpd/lighttpd.conf:16:3: invalid preprocessing directive #mimetype
/etc/lighttpd/lighttpd.conf:18:3: invalid preprocessing directive #default
/etc/lighttpd/lighttpd.conf:24:3: invalid preprocessing directive #Linux
/etc/lighttpd/lighttpd.conf:25:3: invalid preprocessing directive #Linux
/etc/lighttpd/lighttpd.conf:26:2: invalid preprocessing directive #server
/etc/lighttpd/lighttpd.conf:28:3: invalid preprocessing directive #maximum
/etc/lighttpd/lighttpd.conf:29:3: invalid preprocessing directive #default
/etc/lighttpd/lighttpd.conf:30:2: invalid preprocessing directive #server
/etc/lighttpd/lighttpd.conf:32:3: invalid preprocessing directive #Use
/etc/lighttpd/lighttpd.conf:33:2: invalid preprocessing directive #mimetype
/etc/lighttpd/lighttpd.conf:37:2: invalid preprocessing directive #server
/etc/lighttpd/lighttpd.conf:50:2: invalid preprocessing directive #server
/etc/lighttpd/lighttpd.conf:53:2: invalid preprocessing directive #$SERVER
/etc/lighttpd/lighttpd.conf:56:2: invalid preprocessing directive #server
/etc/lighttpd/lighttpd.conf:57:2: invalid preprocessing directive #server
/etc/lighttpd/lighttpd.conf:62:2: invalid preprocessing directive #server
/etc/lighttpd/lighttpd.conf:65:2: invalid preprocessing directive #debug
/etc/lighttpd/lighttpd.conf:66:2: invalid preprocessing directive #debug
/etc/lighttpd/lighttpd.conf:67:2: invalid preprocessing directive #debug
/etc/lighttpd/lighttpd.conf:68:2: invalid preprocessing directive #debug
/etc/lighttpd/lighttpd.conf:69:2: invalid preprocessing directive #debug
/etc/lighttpd/lighttpd.conf:73:3: invalid preprocessing directive #chroot
/etc/lighttpd/lighttpd.conf:74:2: invalid preprocessing directive #server
/etc/lighttpd/lighttpd.conf:76:37: missing terminating ' character
/etc/lighttpd/lighttpd.conf:79:37: missing terminating ' character
/etc/lighttpd/lighttpd.conf:82:3: invalid preprocessing directive #Traffic
/etc/lighttpd/lighttpd.conf:84:2: invalid preprocessing directive #connection
/etc/lighttpd/lighttpd.conf:85:2: invalid preprocessing directive #server
/etc/lighttpd/lighttpd.conf:87:3: invalid preprocessing directive #webapps
/etc/lighttpd/lighttpd.conf:90:9: invalid preprocessing directive ##
/etc/lighttpd/lighttpd.conf:91:9: invalid preprocessing directive #$HTTP
/etc/lighttpd/lighttpd.conf:92:17: invalid preprocessing directive #$HTTP
/etc/lighttpd/lighttpd.conf:93:25: invalid preprocessing directive #url
/etc/lighttpd/lighttpd.conf:94:17: invalid preprocessing directive #}
/etc/lighttpd/lighttpd.conf:95:9: invalid preprocessing directive #}
/etc/lighttpd/lighttpd.conf:96:9: #else without #if
/etc/lighttpd/lighttpd.conf:97:17: invalid preprocessing directive #auth
/etc/lighttpd/lighttpd.conf:98:17: invalid preprocessing directive #auth
/etc/lighttpd/lighttpd.conf:100:17: invalid preprocessing directive #auth
/etc/lighttpd/lighttpd.conf:101:25: invalid preprocessing directive #"/" 
/etc/lighttpd/lighttpd.conf:102:28: invalid preprocessing directive #"method" 
/etc/lighttpd/lighttpd.conf:103:28: invalid preprocessing directive #"realm" 
/etc/lighttpd/lighttpd.conf:104:28: invalid preprocessing directive #"require" 
/etc/lighttpd/lighttpd.conf:105:25: invalid preprocessing directive #)
/etc/lighttpd/lighttpd.conf:106:17: invalid preprocessing directive #)
/etc/lighttpd/lighttpd.conf:107:9: invalid preprocessing directive #}
# 1 "/etc/lighttpd/lighttpd.conf" 
# 1 "<built-in>" 
# 1 "<command line>" 
# 1 "/etc/lighttpd/lighttpd.conf" 

include_shell "/bin/cat conf.d/*.conf" 

## a static document-root, for virtual-hosting take look at the
Actions #5

Updated by stbuehler over 16 years ago

  • Status changed from Fixed to Wontfix
Actions

Also available in: Atom