aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorintrigeri <intrigeri@boum.org>2012-04-26 16:56:35 +0200
committerintrigeri <intrigeri@boum.org>2012-04-26 17:21:48 +0200
commit8e0dbb0d9d903fbf89e4263cd29c1b1a7d597075 (patch)
tree848034bc3ea87ec7058690c2396007ac13163a0c
parent7bf57976706f73881d18bbaea0e7f87b7f1c3b40 (diff)
downloadpuppet-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.pp8
-rw-r--r--templates/torrc.relay.erb2
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 -%>