diff options
author | intrigeri <intrigeri@boum.org> | 2012-04-26 16:56:35 +0200 |
---|---|---|
committer | intrigeri <intrigeri@boum.org> | 2012-04-26 17:21:48 +0200 |
commit | 8e0dbb0d9d903fbf89e4263cd29c1b1a7d597075 (patch) | |
tree | 848034bc3ea87ec7058690c2396007ac13163a0c | |
parent | 7bf57976706f73881d18bbaea0e7f87b7f1c3b40 (diff) | |
download | puppet-tor-8e0dbb0d9d903fbf89e4263cd29c1b1a7d597075.tar.gz puppet-tor-8e0dbb0d9d903fbf89e4263cd29c1b1a7d597075.tar.bz2 |
Fix the relay define's outbound_bindaddresses default value setting.
Apparently, we have no guarantee $outbound_bindaddresses's value is set *after*
$listen_addresses is, so (at least on my setup) it ends up being undef,
and then the template parsing fails:
err: Could not retrieve catalog from remote server: Error 400 on SERVER: Failed
to parse template tor/torrc.relay.erb: undefined method `each' for :undef:Symbol
at /etc/puppet/modules/tor/manifests/daemon.pp:117
So, let's set $real_outbound_bindaddresses to $listen_addresses in the define
body, as needed.
-rw-r--r-- | manifests/daemon.pp | 8 | ||||
-rw-r--r-- | templates/torrc.relay.erb | 2 |
2 files changed, 8 insertions, 2 deletions
diff --git a/manifests/daemon.pp b/manifests/daemon.pp index 6d8c315..dddef14 100644 --- a/manifests/daemon.pp +++ b/manifests/daemon.pp @@ -100,7 +100,7 @@ class tor::daemon inherits tor { # relay definition define relay( $port = 0, $listen_addresses = [], - $outbound_bindaddresses = $listen_addresses, + $outbound_bindaddresses = [], $bandwidth_rate = 0, # KB/s, 0 for no limit. $bandwidth_burst = 0, # KB/s, 0 for no limit. $accounting_max = 0, # GB, 0 for no limit. @@ -112,6 +112,12 @@ class tor::daemon inherits tor { $ensure = present ) { $nickname = $name + if $outbound_bindaddresses == [] { + $real_outbound_bindaddresses = $listen_addresses + } else { + $real_outbound_bindaddresses = $outbound_bindaddresses + } + concatenated_file_part { '03.relay': dir => $tor::daemon::snippet_dir, content => template('tor/torrc.relay.erb'), diff --git a/templates/torrc.relay.erb b/templates/torrc.relay.erb index 2ab34bf..990dfcc 100644 --- a/templates/torrc.relay.erb +++ b/templates/torrc.relay.erb @@ -4,7 +4,7 @@ ORPort <%= port %> <%- for listen_address in listen_addresses -%> ORListenAddress <%= listen_address %> <%- end -%> -<%- for outbound_bindaddress in outbound_bindaddresses -%> +<%- for outbound_bindaddress in real_outbound_bindaddresses -%> OutboundBindAddress <%= outbound_bindaddress %> <%- end -%> <%- if nickname != '' then -%> |