aboutsummaryrefslogtreecommitdiff
path: root/src/or/channel.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/or/channel.c')
-rw-r--r--src/or/channel.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/or/channel.c b/src/or/channel.c
index df6d7d3423..8348ffd649 100644
--- a/src/or/channel.c
+++ b/src/or/channel.c
@@ -65,6 +65,7 @@
#include "routerlist.h"
#include "scheduler.h"
#include "compat_time.h"
+#include "networkstatus.h"
/* Global lists of channels */
@@ -2711,7 +2712,11 @@ channel_do_open_actions(channel_t *chan)
/* Disable or reduce padding according to user prefs. */
if (chan->padding_enabled || get_options()->ConnectionPadding == 1) {
- if (!get_options()->ConnectionPadding) {
+ if (!get_options()->ConnectionPadding ||
+ (get_options()->Tor2webMode &&
+ !networkstatus_get_param(NULL, "nf_pad_tor2web", 1, 0, 1))
+ || (get_options()->HiddenServiceSingleHopMode &&
+ !networkstatus_get_param(NULL, "nf_pad_single_onion", 1, 0, 1))) {
channelpadding_disable_padding_on_channel(chan);
}