aboutsummaryrefslogtreecommitdiff
path: root/gnu/services/networking.scm
Commit message (Collapse)AuthorAge
* services: ntp: Fix a crash when using legacy configuration.Maxim Cournoyer2019-10-31
| | | | | | | | | | | | | Fixes issue #37504 (see: https://bugs.gnu.org/37504). The bug was caused by the fact that destructuring an <ntp-configuration> record using match would bind the 'servers' field without using the compatibility accessor. * gnu/services/networking.scm (ntp-shepherd-service): Replace `match-lambda' by distinct `lambda' and `match' calls, so that the 'servers' field can be generated by applying the `ntp-configuration-servers' procedure to the configuration object.
* services: ntp: Ensure no double quotes are output to config file.Maxim Cournoyer2019-10-30
| | | | | | | | | | | * gnu/services/networking.scm (ntp-server->string): Use the textual representation of the values as printed by 'display' rather than 'write', to avoid inserting double quotes in the generated config. * tests/networking.scm (%ntp-server-sample): Add a comment and make one of the options a string, to exercise the fix. ("ntp-server->string"): Move the expected value to the first argument. ("ntp configuration servers deprecated form"): Likewise. ("openntpd generated config string ends with a newline"): Likewise.
* services: network-manager: Create account for 'network-manager-openconnect'.Ludovic Courtès2019-10-18
| | | | | | | | | | | | | Previously, on startup, we'd see: dbus: Unknown username nm-openconnect in message bus configuration file This fixes it. * gnu/services/networking.scm (network-manager-accounts): New procedure. (network-manager-service-type): Extend 'account-service-type'. * gnu/packages/gnome.scm (network-manager-openconnect)[properties]: Add 'user-accounts'.
* services: network-manager: Export 'network-manager-configuration-vpn-plugins'.Ludovic Courtès2019-10-18
| | | | | * gnu/services/networking.scm (<network-manager-configuration>): Export 'network-manager-configuration-vpn-plugins'.
* services: Add nftables-service-type.宋文武2019-09-18
| | | | | | | | * gnu/services/networking.scm (%default-nftables-ruleset): New variable. (<nftables-configuration>): New record type. (nftables-shepherd-service): New procedure. (nftables-service-type): New service type. * doc/guix.texi (Networking Services): Document it.
* services: openntpd: Fix the config generation code.Maxim Cournoyer2019-09-08
| | | | | | | This fixes issue #37318 (see: http://bugs.gnu.org/37318). * gnu/services/networking.scm (openntpd-configuration->string): Rewrite in order to make the "openntpd configuration generation sanity check" test pass.
* services: openntpd: Add test for issue #3731.Maxim Cournoyer2019-09-08
| | | | | | | | | | | See http://debbugs.gnu.org/cgi/bugreport.cgi?bug=37318. * gnu/services/networking.scm (openntpd-configuration->string): New procedure, extracted from top of the `openntpd-shepherd-service' to make it testable. (openntpd-shepherd-service): Adapt following the move of the code to the above procedure. * tests/networking.scm: Add a test for the `openntpd-configuration->string' procedure.
* services: openntpd: Remove useless let.Maxim Cournoyer2019-09-08
| | | | * gnu/services/networking.scm (openntpd-shepherd-service): Remove useless let.
* services: ntp: Support different NTP server types and options.Maxim Cournoyer2019-09-08
| | | | | | | | | | | | | | | | | | | * gnu/services/networking.scm (ntp-server-types): New enum. (<ntp-server>): New record type. (ntp-server->string): New procedure. (%ntp-servers): Define in terms of <htp-server> records. Use the first entrypoint server as a pool instead of a list of static servers. This is more resilient since a new server of the pool can be interrogated on every request. Add the 'iburst' options. (ntp-configuration-servers): Define a custom accessor that warns but honors the now deprecated server format. (<ntp-configuration>): Use it. (%openntpd-servers): New variable, (<openntpd-configuration>): Use it, as a pool ('servers' field) instead of a regular server. * tests/networking.scm: New file. * Makefile.am (SCM_TESTS): Register it. * doc/guix.texi: Update documentation.
* services: ntp: Fix KOD warning.Maxim Cournoyer2019-09-08
| | | | | | | | | | | | | Otherwise the following messages would be printed by ntpd: Sep 2 05:18:21 localhost ntpd[15849]: restrict default: KOD does nothing without LIMITE. Sep 2 05:18:21 localhost ntpd[15849]: restrict ::: KOD does nothing without LIMITED. Debian uses the same set of "restrict" keywords (see: https://sources.debian.org/src/ntp/1:4.2.8p13+dfsg-2/debian/ntp.conf). * gnu/services/networking.scm (ntp-shepherd-service): Add the 'limited' keyword to both the IPv4 and IPv6 'restrict' directives.
* services: ntp: Allow large adjustment by default.Maxim Cournoyer2019-09-08
| | | | | | | | | | This is documented as best practice in `man ntpd', and is required to allow the date to be set correctly when traveling (without having to manually update the hardware clock in the BIOS/UEFI). * gnu/services/networking.scm (<ntp-server>)[allow-large-adjustment?]: Set the default value to #t. * doc/guix.texi (Networking Services): Update documentation.
* services: network-manager: Clear default OpenVPN user.Jelle Licht2019-07-17
| | | | | * gnu/services/networking.scm (network-manager-shepherd-service): Clear 'NM_OPENVPN_USER' and 'NM_OPENVPN_GROUP' in #:environment-variables.
* services: network-manager: Properly load vpn pluginsJelle Licht2019-07-17
| | | | | | | Extends the dbus service when vpn plugins are enabled. * gnu/services/networking.scm (network-manager-service-type): Load vpn plugins when extending dbus service.
* services: network-manager: Create '/var/lib/misc' directory for dnsmasq.Florian Pelz2019-06-24
| | | | | | | | | * gnu/services/networking.scm (%network-manager-activation): Rename to... (network-manager-activation): ... this and make it a procedure. Make it create '/var/lib/misc' when using dnsmasq. (network-manager-service-type): Use it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* services: Add usb-modeswitch-service-type.Florian Pelz2019-06-15
| | | | | | | | | | * gnu/services/networking.scm (usb-modeswitch-service-type): New variable. (usb-modeswitch-configuration): New variable. (usb-modeswitch-sh): New procedure. (usb-modeswitch-configuration->udev-rules): New procedure. * doc/guix.texi (Networking Services): Document it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* services: dhcp-client: Ignore interfaces that are not ARP capable.Marius Bakke2019-05-09
| | | | | * gnu/services/networking.scm (dhcp-client-service-type): Filter interfaces that do not support the ARP protocol.
* services: connman: Redirect output to a log file.Ludovic Courtès2019-04-23
| | | | | * gnu/services/networking.scm (connman-shepherd-service): Pass #:log-file to 'make-forkexec-constructor'.
* services: wpa-supplicant: Log to syslog.Ludovic Courtès2019-04-05
| | | | | * gnu/services/networking.scm (wpa-supplicant-shepherd-service): Pass "-s" to 'wpa_supplicant'. Add 'syslogd' to 'requirement'.
* services: Open vSwitch: Provide a default configuration.Marius Bakke2019-03-31
| | | | | | * gnu/services/networking.scm (openvswitch-service-type): Provide OPENVSWITCH-CONFIGURATION as a default value. * gnu/tests/networking.scm (%openvswitch-os): Don't configure the service.
* services: Deprecate a few more service procedures.Ludovic Courtès2019-01-11
| | | | | | | | | | | | | | | | | | These procedures were already either undocumented (and de facto deprecated) or documented as deprecated or redundant. * gnu/services/base.scm (guix-service, guix-publish-service): Mark as deprecated. * gnu/services/mcron.scm (mcron-service): Likewise. * gnu/services/networking.scm (tor-service): Likewise. * doc/guix.texi (Scheduled Job Execution): Remove 'mcron-service' and adjust example. (Networking Services): Remove 'tor-service'. * gnu/tests/base.scm (%mcron-os): Use 'mcron-service-type' instead of 'mcron-service'. * gnu/tests/networking.scm (%tor-os): Use 'tor-service-type' instead of 'tor-service'. * tests/guix-system.sh: Likewise.
* services: Use 'define-deprecated' for service procedures.Ludovic Courtès2019-01-10
| | | | | | | | | | * gnu/services/base.scm (urandom-seed-service, gpm-service): Define using 'define-deprecated'. * gnu/services/messaging.scm (bitlbee-service): Likewise. * gnu/services/networking.scm (dhcp-client-service): Likewise. (ntp-service): Likewise. * gnu/services/xorg.scm (slim-service): Likewise. (gdm-service): Likewise.
* services: ntp: Document 'ntp-service-type' and 'ntp-configuration'.Ludovic Courtès2018-10-19
| | | | | | | | | | | * gnu/services/networking.scm (<ntp-configuration>)[servers]: Add default value. (ntp-service-type)[default-value]: New field. (ntp-service): Mark as deprecated. * gnu/services/desktop.scm (%desktop-services): Use (service ntp-service-type) instead of calling 'ntp-service'. * doc/guix.texi (Networking Services): Document 'ntp-service-type' and 'ntp-configuration'.
* services: WPA Supplicant: Fix syntax error.Marius Bakke2018-10-19
| | | | | | | | This is a followup to commit acce0a474c1493ab18912bc46285248e4ccb0314. No idea how these disappeared.. :-/ * gnu/services/networking.scm (wpa-supplicant-shepherd-service): Add missing parens.
* services: dhcp-client: Deprecate 'dhcp-client-service' procedure.Ludovic Courtès2018-10-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gnu/services/networking.scm (dhcp-client-service-type): Add default value. * gnu/system/examples/bare-bones.tmpl: Use (service dhcp-client-service-type) instead of (dhcp-client-service). * gnu/system/examples/beaglebone-black.tmpl: Likewise. * gnu/tests/base.scm (%avahi-os): Likewise. * gnu/tests/databases.scm (%memcached-os): Likewise. (%mongodb-os): Likewise. * gnu/tests/dict.scm (%dicod-os): Likewise. * gnu/tests/mail.scm (%opensmtpd-os): Likewise. (%exim-os): Likewise. (%dovecot-os): Likewise. * gnu/tests/messaging.scm (run-xmpp-test): Likewise. (run-bitlbee-test): Likewise. * gnu/tests/monitoring.scm (%prometheus-node-exporter-os): Likewise. * gnu/tests/networking.scm (%inetd-os): Likewise. (run-iptables-test): Likewise. * gnu/tests/nfs.scm (%base-os): Likewise. * gnu/tests/rsync.scm (%rsync-os): Likewise. * gnu/tests/ssh.scm (run-ssh-test): Likewise. * gnu/tests/version-control.scm (%cgit-os): Likewise. (%git-http-os): Likewise. (%gitolite-os): Likewise. * gnu/tests/virtualization.scm (%libvirt-os): Likewise. * gnu/tests/web.scm (%httpd-os): Likewise. (%nginx-os): Likewise. (%varnish-os): Likewise. (%php-fpm-os): Likewise. (%hpcguix-web-os): Likewise. (%tailon-os): Likewise. * tests/guix-system.sh: Likewise. * doc/guix.texi (Networking Services): Document 'dhcp-client-service-type' and remove 'dhcp-client-service'.
* services: wpa-supplicant: Extend to support configuration parameters.Marius Bakke2018-10-17
| | | | | | | | | | This allows using WPA Supplicant "standalone" without an additional network manager. The default configuration is unchanged. * gnu/services/networking.scm (<wpa-supplicant-configuration>): New record type. (wpa-supplicant-shepherd-service): Pass configuration records to the daemon. (wpa-supplicant-service-type): Adjust accordingly. * doc/guix.texi (Networking Services): Document the new service type.
* services: dhcp-client: Use 'read-pid-file'.Ludovic Courtès2018-09-26
| | | | | * gnu/services/networking.scm (dhcp-client-service-type)[start]: Use 'read-pid-file' instead of the custom and possibly infinite loop.
* gnu: services: Add iptables service.Arun Isaac2018-09-20
| | | | | | | | * gnu/services/networking.scm (<iptables-configuration>): New record type. (iptables-service-type): New variable. * gnu/tests/networking.scm (run-iptables-test): New procedure. (%test-iptables): New variable. * doc/guix.texi (Networking Services): Document it.
* services: tor: Make it easier to use UNIX sockets.Chris Marusich2018-08-28
| | | | | | | | | | | | * doc/guix.texi (Networking Services): Document it, and mention that tor-service is deprecated. * gnu/services/networking.scm (<tor-configuration>) <socks-socket-type>: 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.
* services: tor: Rename activation procedure.Chris Marusich2018-08-28
| | | | | * gnu/services/networking.scm: Rename the procedure tor-hidden-service-activation to tor-activation.
* services: tor: Add a system test.Chris Marusich2018-08-28
| | | | | | | | | | | | | * gnu/services/networking.scm (tor-configuration->torrc): Set PidFile to /var/run/tor/tor.pid in the base torrc configuration. (tor-shepherd-service) <start>: Call make-forkexec-constructor/container with a new #:pid-file argument to tell Shepherd where to find the PID file. Add a a new <file-system-mapping> to its existing #:mappings argument to share /var/run/tor with the the container. (tor-hidden-services-activation): Update docstring. Create /var/run/tor and set its permissions so only the tor user can access it. * gnu/tests/networking.scm (%test-tor, %tor-os): New variables. (run-tor-test): New procedure.
* services: tor: Mark end of auto-generated configuration block.Tobias Geerinckx-Rice2018-06-14
| | | | | * gnu/services/networking.scm (tor-configuration->torrc): Clearly demarcate auto-generated lines.
* services: connman: Add polkit hooks for connman.Efraim Flashner2018-05-20
| | | | | * gnu/services/networking.scm (connman-service-type): Extend the polkit-service-type with actions from connman.
* services: openntpd: Add openntpd to the system profile.Efraim Flashner2018-05-20
| | | | | * gnu/services/networking.scm (openntpd-service-type): Extend the profile-service-type and add openntpd to the system profile.
* services: connman: Add default configuration to the connman-service-type.Efraim Flashner2018-05-20
| | | | | * gnu/services/networking.scm (connman-service-type)[default-value]: New field.
* services: Re-export static-networking-service, static-networking-service-type.Danny Milosavljevic2018-04-30
| | | | | * gnu/services/networking.scm: Re-export static-networking-service, static-networking-service-type.
* services: Add modem-manager-service-type.Danny Milosavljevic2018-04-30
| | | | | | | | | * gnu/services/networking.scm (modem-manager-service-type): New variable. (<modem-manager-configuration>): New variable. (modem-manager-configuration): New procedure. (modem-manager-configuration?): New procedure. * doc/guix.texi (Networking Services): Document it. * gnu/tests/networking.scm: Import (gnu services base).
* services: Move static-networking to (gnu services base).Danny Milosavljevic2018-04-30
| | | | | | | | * gnu/services/networking.scm (static-networking, static-networking?, static-networking-interface, static-networking-ip, static-networking-netmask, static-networking-gateway, static-networking-requirement, static-networking-service, static-networking-service-type): Move to... * gnu/services/base.scm: ...here.
* services: Set default <dhcpd-configuration> version to "4".Chris Marusich2018-04-27
| | | | | | * gnu/services/networking.scm (<dhcpd-configuration>) <version>: Set the default to "4" instead of "6"; both our manual and upstream says the default should be "4".
* services: Add dhcpd-service-type and <dhcpd-configuration>.Chris Marusich2018-04-21
| | | | | | | | | | | | | | | | * doc/guix.texi (Networking Services): Document it. * gnu/services/networking.scm (dhcpd-service-type): Add it. (dhcpd-configuration, dhcpd-configuration?): Add it. (dhcpd-configuration-package): Add it. (dhcpd-configuration-config-file): Add it. (dhcpd-configuration-version): Add it. (dhcpd-configuration-run-directory): Add it. (dhcpd-configuration-lease-file): Add it. (dhcpd-configuration-pid-file): Add it. (dhcpd-configuration-interfaces): Add it. * gnu/tests/networking.scm (minimal-dhcpd-v4-config-file) (dhcpd-v4-configuration, %dhcpd-os, run-dhcpd-test, %test-dhcpd): New variables.
* services: Add openntpd service.Efraim Flashner2018-03-05
| | | | | | | | | | * gnu/packages/ntp.scm (openntpd)[arguments]: Add 'configure-flags to set openntpd daemon's user and localstatedir. Add a custom phase to not try to create said directory at install time. * gnu/services/networking.scm (<openntpd-configuration>): New record type. (openntpd-shepherd-service, openntpd-service-activation): New procedures. (openntpd-service-type): New variable. * doc/guix.texi (Networking Services): Add openntpd documentation.
* services: bitlbee: Move to (gnu services messaging).Ludovic Courtès2018-01-15
| | | | | | | | | * gnu/services/networking.scm (<bitlbee-configuration>) (bitlbee-shepherd-service, %bitlbee-accounts, %bitlbee-activation) (bitlbee-service-type, bitlbee-service): Move to... * gnu/services/messaging.scm: ... here. * doc/guix.texi (Networking Services): Move 'bitlbee-service' doc to... (Messaging Services): ... here.
* services: networking: Add a dependency override mechanism to ↵Marius Bakke2017-12-29
| | | | | | | | | | <static-networking>. * gnu/services/networking.scm (<static-networking>)[requirement]: New field. (static-networking-shepherd-service): Don't override requirement for loopback. (static-networking-service): Expose 'requirement' parameter. Default to UDEV. * gnu/services/base.scm (%base-services): Add (requirement '()) for loopback service. * doc/guix.texi (Networking Services): Document it.
* services: Remove unneeded imported.Ludovic Courtès2017-10-08
| | | | | | | | | This caused a circular dependency. Reported by Oleg Pykhalov <go.wigust@gmail.com> at <https://lists.gnu.org/archive/html/help-guix/2017-10/msg00021.html>. * gnu/services/networking.scm: Remove unneeded import of (gnu system base).
* services: network-manager: Add support for VPN plug-ins.Ludovic Courtès2017-09-22
| | | | | | | | | | | | * gnu/services.scm (directory-union): Export. * gnu/services/networking.scm (<network-manager-configuration>)[vpn-plugins]: New field. (vpn-plugin-directory, network-manager-environment): New procedure. (network-manager-shepherd-service): Pass #:environment-variables to 'make-forkexec-constructor'. (network-manager-service-type): Add SESSION-ENVIRONMENT-SERVICE-TYPE extension. * doc/guix.texi (Networking Services): Document it.
* services: networking: Add descriptions.Ludovic Courtès2017-09-16
| | | | | | | | | | * gnu/services/networking.scm (static-networking-service-type) (ntp-service-type, inetd-service-type, tor-service-type) (tor-hidden-service-type, bitlbee-service-type) (wicd-service-type, network-manager-service-type) (connman-service-type, openvswitch-service-type): Add 'description' field. * po/packages/POTFILES.in: Add gnu/services/networking.scm.
* services: ntp: Use the NTP pool via the 'guix' zone.Leo Famulari2017-07-30
| | | | * gnu/services/networking.scm (%ntp-servers): Use *.guix.pool.ntp.org.
* services: network-manager: Specify a default value.Ludovic Courtès2017-06-21
| | | | | * gnu/services/networking.scm (network-manager-service-type)[default-value]: New field.
* services: Add a default value to various service types.Ludovic Courtès2017-04-16
| | | | | | | | | | | | | | | | | | | | | | * gnu/services/admin.scm (rottlog-service-type)[default-value]: New field. * gnu/services/base.scm (guix-service-type)[default-value]: New field. (guix-publish-service-type)[default-value]: New field. * gnu/services/cups.scm (cups-service-type)[default-value]: New field. * gnu/services/dict.scm (dicod-service-type)[default-value]: New field. * gnu/services/mcron.scm (mcron-service-type)[default-value]: New field. * gnu/services/networking.scm (<tor-configuration>)[config-file]: Add default value. (tor-service-type)[default-value]: New field. (<bitlbee-configuration>)[interface, port, extra-settings]: Add default values. (bitlbee-service-type)[default-value]: New field. (wpa-supplicant-service-type)[default-value]: New field. (tlp-service-type)[default-value]: New field. (openssh-service-type)[default-value]: New field. * doc/guix.texi (Base Services, Log Rotation) (Networking Services, Printing Services): (Power management Services): Adjust examples accordingly.
* services: tor: Run in a container.Ludovic Courtès2017-04-13
| | | | | | * gnu/services/networking.scm (tor-shepherd-service): Use (gnu build shepherd) and use 'make-forkexec-constructor/container' instead of 'make-forkexec-constructor'.
* services: Add inetd-service-type.Thomas Danckaert2017-03-24
| | | | | | | | | | * gnu/services/networking.scm (<inetd-configuration>, <inetd-entry>): New record types. (inetd-config-file, inetd-shepherd-service): New procedures. (inetd-service-type): New variable. * doc/guix.texi (Networking Services): Document it. * gnu/tests/networking.scm: New file. * gnu/local.mk: Add it.