summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoey Hess2015-08-25 11:55:04 -0700
committerJoey Hess2015-08-25 11:55:04 -0700
commit7b1c20f2297987b641588c21e4f650347ee7c389 (patch)
tree315778d166133fe74632a6d3c5b7eee343e43792
parentd3ca52d29dfd3c81d19a50ebf2fd0fb6ff92d8c9 (diff)
parent2d5dae129a29990f182104840c58249443a11cf3 (diff)
Merge branch 'joeyconfig'
-rw-r--r--.gitignore1
-rw-r--r--config-joey.hs4
-rw-r--r--debian/changelog3
-rw-r--r--src/Propellor/Property/Tor.hs17
4 files changed, 18 insertions, 7 deletions
diff --git a/.gitignore b/.gitignore
index 19bd3f0e..431b1c4b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -11,3 +11,4 @@ chroot
propellor.1
.lock
.lastchecked
+.stack-work/*
diff --git a/config-joey.hs b/config-joey.hs
index 5c3fbaa0..acb20112 100644
--- a/config-joey.hs
+++ b/config-joey.hs
@@ -133,10 +133,10 @@ orca = standardSystem "orca.kitenet.net" Unstable "amd64"
& Systemd.nspawned (GitAnnexBuilder.autoBuilderContainer
GitAnnexBuilder.standardAutoBuilder
- (System (Debian Unstable) "amd64") fifteenpast "2h")
+ (System (Debian Testing) "amd64") fifteenpast "2h")
& Systemd.nspawned (GitAnnexBuilder.autoBuilderContainer
GitAnnexBuilder.standardAutoBuilder
- (System (Debian Unstable) "i386") fifteenpast "2h")
+ (System (Debian Testing) "i386") fifteenpast "2h")
& Systemd.nspawned (GitAnnexBuilder.androidAutoBuilderContainer
(Cron.Times "1 1 * * *") "3h")
where
diff --git a/debian/changelog b/debian/changelog
index 5f164e80..a93327f3 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -5,6 +5,9 @@ propellor (2.7.2) UNRELEASED; urgency=medium
Thanks, Sean Whitton for completing the implementation.
* Added Propellor.Property.LightDM
Thanks, Sean Whitton.
+ * Multiple Tor.hiddenService properties can now be defined for a host;
+ previously only one such property worked per host.
+ Thanks, FĂ©lix Sipma.
-- Joey Hess <id@joeyh.name> Thu, 20 Aug 2015 10:39:32 -0400
diff --git a/src/Propellor/Property/Tor.hs b/src/Propellor/Property/Tor.hs
index f1aaeeb1..535da951 100644
--- a/src/Propellor/Property/Tor.hs
+++ b/src/Propellor/Property/Tor.hs
@@ -4,6 +4,7 @@ import Propellor
import qualified Propellor.Property.File as File
import qualified Propellor.Property.Apt as Apt
import qualified Propellor.Property.Service as Service
+import qualified Propellor.Property.ConfFile as ConfFile
import Utility.FileMode
import Utility.DataUnits
@@ -112,11 +113,17 @@ hiddenServiceAvailable hn port = hiddenServiceHostName $ hiddenService hn port
return r
hiddenService :: HiddenServiceName -> Int -> Property NoInfo
-hiddenService hn port = configured
- [ ("HiddenServiceDir", varLib </> hn)
- , ("HiddenServicePort", unwords [show port, "127.0.0.1:" ++ show port])
- ]
- `describe` unwords ["hidden service available:", hn, show port]
+hiddenService hn port = ConfFile.adjustSection
+ (unwords ["hidden service", hn, "available on port", show port])
+ (== oniondir)
+ (not . isPrefixOf "HiddenServicePort")
+ (const [oniondir, onionport])
+ (++ [oniondir, onionport])
+ mainConfig
+ `onChange` restarted
+ where
+ oniondir = unwords ["HiddenServiceDir", varLib </> hn]
+ onionport = unwords ["HiddenServicePort", show port, "127.0.0.1:" ++ show port]
hiddenServiceData :: IsContext c => HiddenServiceName -> c -> Property HasInfo
hiddenServiceData hn context = combineProperties desc