diff options
| author | Félix Sipma <felix.sipma@no-log.org> | 2015-08-20 19:46:01 +0200 |
|---|---|---|
| committer | Joey Hess <joeyh@joeyh.name> | 2015-08-25 11:52:55 -0700 |
| commit | a5efaff1a69a697c4bcd79049ddfe37f67390dfd (patch) | |
| tree | 7a1ca5914a9e10255c4d3f5d028cab8e31692c1b /src/Propellor/Property/Tor.hs | |
| parent | 4125d5039ac666591108ffe24c8803bc407f85c4 (diff) | |
use ConfFile.ajustSection to define Tor.hiddenService
It should be possible to have multiple hidden services with this.
Signed-off-by: Félix Sipma <felix.sipma@no-log.org>
Diffstat (limited to 'src/Propellor/Property/Tor.hs')
| -rw-r--r-- | src/Propellor/Property/Tor.hs | 17 |
1 files changed, 12 insertions, 5 deletions
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 |
