From 3bcb305b98e02f6c9d98e7325813fc00f18f0e6c Mon Sep 17 00:00:00 2001 From: Chris Marusich Date: Tue, 31 Jul 2018 01:13:48 -0700 Subject: services: tor: Make it easier to use UNIX sockets. * doc/guix.texi (Networking Services): Document it, and mention that tor-service is deprecated. * gnu/services/networking.scm () : New field. (tor-configuration->torrc): When socks-socket-type is 'unix, set SocksPort to UNIX domain socket /var/run/tor/socks-sock and set UnixSocksGroupWritable to 1. * gnu/tests/networking.scm (%tor-os/unix-socks-socket): Instead of using a custom config file, just set socks-socket-type to 'unix. --- gnu/services/networking.scm | 10 ++++++++-- gnu/tests/networking.scm | 8 +------- 2 files changed, 9 insertions(+), 9 deletions(-) (limited to 'gnu') diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm index b7f2bfe7b3..b6b5ee3fec 100644 --- a/gnu/services/networking.scm +++ b/gnu/services/networking.scm @@ -577,7 +577,9 @@ demand."))) (config-file tor-configuration-config-file (default (plain-file "empty" ""))) (hidden-services tor-configuration-hidden-services - (default '()))) + (default '())) + (socks-socket-type tor-configuration-socks-socket-type ; 'tcp or 'unix + (default 'tcp))) (define %tor-accounts ;; User account and groups for Tor. @@ -599,7 +601,7 @@ demand."))) (define (tor-configuration->torrc config) "Return a 'torrc' file for CONFIG." (match config - (($ tor config-file services) + (($ tor config-file services socks-socket-type) (computed-file "torrc" (with-imported-modules '((guix build utils)) @@ -615,6 +617,10 @@ User tor DataDirectory /var/lib/tor PidFile /var/run/tor/tor.pid Log notice syslog\n" port) + (when (eq? 'unix '#$socks-socket-type) + (display "\ +SocksPort unix:/var/run/tor/socks-sock +UnixSocksGroupWritable 1\n" port)) (for-each (match-lambda ((service (ports hosts) ...) diff --git a/gnu/tests/networking.scm b/gnu/tests/networking.scm index 7ca71f0c2c..381c5caf14 100644 --- a/gnu/tests/networking.scm +++ b/gnu/tests/networking.scm @@ -354,13 +354,7 @@ subnet 192.168.1.0 netmask 255.255.255.0 { (simple-operating-system (service tor-service-type (tor-configuration - (config-file - (plain-file "test-torrc" - "\ -SocksPort unix:/var/run/tor/socks-sock -UnixSocksGroupWritable 1 -") - ))))) + (socks-socket-type 'unix))))) (define (run-tor-test) (define os -- cgit v1.2.3