Hi, Jim, here is another one:
I've added variable-expandion to config-values and the keywords "set" and
"unset".
With this technique you can easily split configuration of one peer across two
files:
one with the specific and one with the common config values in a way that can
help to
minimize the number of "configuration-knobs".
An example:
/etc/openvpn/customer_123.conf:
# specific configuration for customer #123
set CUSTNO 123
config ./customers.common
/etc/openvpn/customer.common:
# meta-configuration for all customers
dev-name vpn_$(CUSTNO) # vpn_001 to vpn_255
port 5$(CUSTNO) # 5001 to 5255
ifconfig 10.0.0.1 10.0.$(CUSTNO).1 # 10.0.001.1 to 10.0.255.1
dev-type tun # other stuff ...
.
.
.
These are the same variable-expansion routines I committed to the Snort-IDS
some time ago.
The syntax is follows:
set name value define the variable "name" containing "value".
unset name undefine the variable "name".
$(name) replace with the contents of variable "name".
$(name:-default) replace with the contents of the variable "name" or with
"default" if "name" is undefined.
$(name:?message) replace with the contents of variable "name" or print out
the error message "message" and exit.
The next thing could be something like $(( expression or calculation )).
As before, the patch is quite young and certanly needs more testing :-)
Regards,
Christian Lademann <[email protected]>
--
* Christian A. Lademann, ZLS Software GmbH mailto:[email protected]
* ZLS Software GmbH
* Frankfurter Strasse 59 Postfach 1628 mailto:[email protected]
* D-65779 Kelkheim D-65766 Kelkheim http://www.zls.de
* Telefon +49-6195-9902-0 Telefax +49-6195-900600
openvpn-1.3.2-zls-vars.diff
Description: Binary data
