summaryrefslogtreecommitdiff
path: root/gnu/services/networking.scm
AgeCommit message (Collapse)Author
2022-05-24services: Add log rotation to most networking services.ykonai
This adds a simple log rotation extension to every networking service that specifies a #:log-file in its Shepherd service, which should prevent some logs from accumulating indefinitely. * gnu/services/networking.scm (%ntp-log-rotation): New variable. (ntp-service-type): Extend 'rottlog-service-type'. (openntpd-shepherd-service): Change #:log-file argument to "/var/log/ntpd.log". (openntpd-service-type): Extend 'rottlog-service-type'. (%tor-log-rotation): New variable. (tor-service-type): Extend 'rottlog-service-type'. (%connman-log-rotation): New variable. (connman-service-type): Extend 'rottlog-service-type'. (%hostapd-log-rotation): New variable. (hostapd-service-type): Extend 'rottlog-service-type'. (%pagekite-log-rotation): New variable. (pagekite-service-type): Extend 'rottlog-service-type'. (%yggdrasil-log-rotation): New variable. (yggdrasil-service-type): Extend 'rottlog-service-type'. (%ipfs-log-rotation): New variable. (ipfs-service-type): Extend 'rottlog-service-type'. (%keepalived-log-rotation): New variable. (keepalived-service-type): Extend 'rottlog-service-type'. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-05-01services: opendht: Use 'least-authority-wrapper'.Ludovic Courtès
* gnu/services/networking.scm (opendht-configuration->command-line-arguments): Use 'least-authority-wrapper'. (opendht-shepherd-service): Use 'make-forkexec-constructor'.
2022-05-01services: ipfs: Use 'least-authority-wrapper'.Ludovic Courtès
* gnu/services/networking.scm (ipfs-binary): Call 'least-authority-wrapper'. (%ipfs-home-mapping): Remove surrounding gexp. (ipfs-shepherd-service)[exec-command]: New procedure. [ipfs-config-command, set-config!-gexp, shepherd&co] [container-gexp, container-script]: Remove. [inner-gexp]: Use 'exec-command'.
2022-04-19services: yggdrasil: Tweak description.Ludovic Courtès
* gnu/services/networking.scm (yggdrasil-service-type)[description]: Add @command markup.
2022-04-18services: ipfs: Adjust for Shepherd 0.9.Ludovic Courtès
This is a followup to e1f0c88ea221d846b5a533c4dc88e99e953af63e. * gnu/services/networking.scm (%ipfs-activation)[shepherd&co]: New variable. [container-gexp]: Use it.
2022-01-06services: Document the full list of available NTP URLs.Leo Famulari
* gnu/services/networking.scm (%ntp-servers): List the URLs granted to us.
2021-11-30services: Accept <inferior-package>s in lieu of <package>s.Tobias Geerinckx-Rice
* gnu/services/authentication.scm (fprintd-configuration) (nslcd-configuration): Substitute file-like objects for package ones. * gnu/services/cgit.scm (cgit-configuration, opaque-cgit-configuration): Likewise. * gnu/services/cups.scm (package-list?, cups-configuration): Likewise. * gnu/services/dns.scm (verify-knot-configuration) (ddclient-configuration): Likewise. * gnu/services/docker.scm (docker-configuration): Likewise. * gnu/services/file-sharing.scm (transmission-daemon-configuration): Likewise. * gnu/services/getmail.scm (getmail-configuration): Likewise. * gnu/services/mail.scm (dovecot-configuration) (opaque-dovecot-configuration): Likewise. * gnu/services/messaging.scm (prosody-configuration) (opaque-prosody-configuration): Likewise. * gnu/services/monitoring.scm (zabbix-server-configuration) (zabbix-agent-configuration): Likewise. * gnu/services/networking.scm (opendht-configuration): Likewise. * gnu/services/pm.scm (tlp-configuration): Likewise. * gnu/services/telephony.scm (jami-configuration): Likewise. * gnu/services/virtualization.scm (libvirt-configuration) (qemu-guest-agent-configuration): Likewise. * gnu/services/vpn.scm (openvpn-client-configuration): Likewise.
2021-08-15Update copyright/name notices for Christine Lemmer-Webber.Christopher Lemmer Webber
* doc/guix-cookbook.texi: Update copyright/name for Christine Lemmer-Webber. * gnu/build/image.scm: Likewise. * gnu/build/vm.scm: Likewise. * gnu/packages/admin.scm: Likewise. * gnu/packages/assembly.scm: Likewise. * gnu/packages/audio.scm: Likewise. * gnu/packages/backup.scm: Likewise. * gnu/packages/check.scm: Likewise. * gnu/packages/databases.scm: Likewise. * gnu/packages/emacs-xyz.scm: Likewise. * gnu/packages/finance.scm: Likewise. * gnu/packages/gnupg.scm: Likewise. * gnu/packages/guile-xyz.scm: Likewise. * gnu/packages/guile.scm: Likewise. * gnu/packages/haskell-xyz.scm: Likewise. * gnu/packages/linux.scm: Likewise. * gnu/packages/mail.scm: Likewise. * gnu/packages/password-utils.scm: Likewise. * gnu/packages/perl.scm: Likewise. * gnu/packages/python-web.scm: Likewise. * gnu/packages/python-xyz.scm: Likewise. * gnu/packages/python.scm: Likewise. * gnu/packages/sphinx.scm: Likewise. * gnu/packages/ssh.scm: Likewise. * gnu/packages/xdisorg.scm: Likewise. * gnu/services/networking.scm: Likewise. * gnu/system/vm.scm: Likewise.
2021-07-24services: dhcpd: Fix activation with IPv6 configuration.Guillaume Le Vaillant
* gnu/services/networking.scm (dhcpd-activation): Pass the IP version parameter to dhcpd.
2021-07-13services: ntp: Log to file.Brice Waegeneire
* gnu/services/networking.scm (ntp-shepherd-service)[start]: Specify log file.
2021-07-13services: tor: Log to file.Brice Waegeneire
* gnu/services/networking.scm (tor-shepherd-service)[start]: Specify log file.
2021-06-14services: Remove deprecated service procedures.Ludovic Courtès
These service procedures were deprecated in January 2019, for instance in commit 65a67bf711b14bc7200f6730c0f173375ca12974. * gnu/services/avahi.scm (avahi-service): Remove. * gnu/services/base.scm (console-keymap, guix-service) (guix-publish-service, gpm-service, urandom-seed-service): Remove. * gnu/services/desktop.scm (upower-service, colord-service): Remove. * gnu/services/mcron.scm (mcron-service): Remove. * gnu/services/messaging.scm (bitlbee-service): Remove. * gnu/services/networking.scm (dhcp-client-service, ntp-service) (tor-service): Remove. * gnu/services/xorg.scm (slim-service, gdm-service): Remove.
2021-05-31services: hostapd: Use package from configuration.Brice Waegeneire
* gnu/services/networking.scm (hostapd-shepherd-services): Replace 'hostapd' by the package specified in the configuration.
2021-05-19services: opendht: Fix hang at boot.Maxim Cournoyer
Fixes <https://issues.guix.gnu.org/48521>. The problem was caused by the 'file-system-mapping' record not being in scope. * gnu/services/networking.scm (opendht-shepherd-service): Import the (gnu system file-systems) module. [requirement]: Depend on networking, to avoid spurious output. [modules]: New field. [start] <group>: New argument.
2021-05-17services: Add a service for opendht.Maxim Cournoyer
* gnu/services/networking.scm (maybe-number?, maybe-string?): New procedures. (<opendht-configuration>): New configuration record. (%opendht-accounts): New variable. (opendht-configuration->command-line-arguments): New procedure. (opendht-shepherd-service, opendht-service-type): New variables. * doc/guix.texi (Networking Services): Document the new service.
2021-04-12services: ipfs: Tweak description.Ludovic Courtès
* gnu/services/networking.scm (ipfs-service-type)[description]: Avoid abbreviation.
2021-04-12services: Add ipfs-service-typeMaxime Devos
* gnu/services/networking.scm (ipfs-service-type) (%ipfs-home-mapping, %ipfs-environment) (%ipfs-accounts, %ipfs-home): New variables. (ipfs-configuration, ipfs-configuration?) (ipfs-configuration-package, ipfs-configuration-gateway) (ipfs-configuration-api, ipfs-shepherd-service) (ipfs-binary, %ipfs-activation): New procedures. * doc/guix.texi (Networking Services): Document it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-02-22services: tor: Add control-socket? option.Christopher Lemmer Webber
* doc/guix.texi (Networking Services): Document new `control-socket?' option for `tor-configuration`. * gnu/services/networking.scm (<tor-configuration>): (tor-configuration->torrc):
2021-01-16services: openntpd: Remove support for deprecated "-s" option.Simon South
* gnu/services/networking.scm (openntpd-configuration): Remove "allow-large-adjustment?" field. (openntpd-shepherd-service): Remove use of "allow-large-adjustment?" configuration field and "-s" daemon option. * tests/networking.scm (%openntpd-conf-sample): Remove "allow-large-adjustment?" field. * doc/guix.texi (Networking Services)[openntpd-service-type]: Remove "allow-large-adjustment?" field from sample configuration. [openntpd-configuration]: Remove description of "allow-large-adjustment?" field. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-01-13services: shepherd: 'shepherd-service-type' requires documentation.Ludovic Courtès
* gnu/services/shepherd.scm (shepherd-service-type): Require a 'description' form. * gnu/services/base.scm (root-file-system-service-type) (rngd-service-type, host-name-service-type): (virtual-terminal-service-type, console-keymap-service-type) (syslog-service-type, swap-service-type) (kmscon-service-type): Add description. * gnu/services/networking.scm (dhcp-client-service-type): Likewise. * gnu/system/install.scm (cow-store-service-type): Likewise. * gnu/system/linux-container.scm (dummy-networking-service-type): Likewise. * gnu/system/mapped-devices.scm (device-mapping-service-type): Likewise. * tests/guix-system.sh: Likewise.
2021-01-12services: Add keepalived service.Oleg Pykhalov
* gnu/services/networking.scm (<keepalived-configuration>): New record. (keepalived-shepherd-service): New procedure. (keepalived-service-type): New variable. * doc/guix.texi (Networking Services): Document this.
2020-11-05services: Add yggdrasil-service-type.raingloom
* gnu/services/networking.scm (yggdrasil-configuration) (yggdrasil-configuration?, yggdrasil-configuration-package) (yggdrasil-configuration-auto-conf, yggdrasil-configuration-log-level) (yggdrasil-configuration-log-to): New procedures. (yggdrasil-service-type): New variable. * doc/guix.texi: Document it. * gnu/system/examples/yggdrasil.tmpl: Provide example. Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2020-09-24services: WPA Supplicant: Conditionally depend on D-Bus.Marius Bakke
Fixes <https://bugs.gnu.org/43567>. Reported by calcium <calcium@disroot.org>. * gnu/services/networking.scm (<wpa-supplicant-configuration>)[requirement]: Remove 'dbus-system. (wpa-supplicant-shepherd-service)[requirement]: Add 'dbus-system when DBUS? is true. * doc/guix.texi (Networking Services)[wpa-supplicant-service-type]: Adjust accordingly.
2020-08-16services: connman-shepherd-service: Don't use short flags.Efraim Flashner
* gnu/services/networking.scm (connman-shepherd-service): Use the long flag options for the start command.
2020-07-06services: simulated-wifi: Use 'kernel-module-loader'.Brice Waegeneire
* gnu/services/networking.scm (simulated-wifi-shepherd-services): Change 'mac-simulation-module' service to use 'kernel-module-loader'.
2020-07-02services: wpa-supplicant: Support specifying additional service dependencies.Marius Bakke
* gnu/services/networking.scm (<wpa-supplicant-configuration>)[requirement]: New parameter. (wpa-supplicant-shepherd-service): Use it instead of hard-coded list. * doc/guix.texi (Networking Services): Document accordingly.
2020-07-02services: wpa-supplicant: Do not export the <wpa-supplicant-configuration> ↵Marius Bakke
record. * gnu/services/networking.scm: Remove <wpa-supplicant-configuration> from exports.
2020-05-08services: Add descriptions.Ludovic Courtès
* gnu/services/dbus.scm (polkit-service-type)[description]: New field. * gnu/services/dict.scm (dicod-service-type)[description]: New field. * gnu/services/dns.scm (knot-service-type)[description]: New field. * gnu/services/networking.scm (dhcpd-service-type)[description]: New field. * gnu/services/shepherd.scm (shepherd-root-service-type)[description]: New field. * gnu/services/xorg.scm (slim-service-type)[description]: New field. (screen-locker-service-type)[description]: New field. * gnu/system/pam.scm (pam-root-service-type)[description]: New field. * gnu/system/shadow.scm (account-service-type)[description]: New field.
2020-04-19services: Add 'simulated-wifi-service-type'.Ludovic Courtès
* gnu/services/networking.scm (simulated-wifi-shepherd-services): New procedure. (simulated-wifi-service-type): New variable. * doc/guix.texi (Networking Services): Document it.
2020-04-19services: Add 'hostapd-service-type'.Ludovic Courtès
* gnu/services/networking.scm (<hostapd-configuration>): New record type. (hostapd-configuration-file, hostapd-shepherd-services): New procedures. (hostapd-service-type): New variable. * doc/guix.texi (Networking Services): Document it.
2020-03-16services: dhcpd: Use 'invoke/quiet' when validating the config file.Ludovic Courtès
This avoids the lengthy copyright/config message from dhcpd. * gnu/services/networking.scm (dhcpd-activation): Use 'invoke/quiet' instead of 'invoke'.
2019-12-29services: dhcp-client: Ignore interfaces that cannot be activated.Brice Waegeneire
Fixes <https://bugs.gnu.org/38524>. * gnu/services/networking.scm (dhcp-client-service-type): Filter interfaces that cannot be activated. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-11-11services: Add pagekite-service-type.Alex Griffin
* gnu/services/networking.scm (pagekite-service-type): New service type. (<pagekite-configuration>): New record type. (pagekite-shepherd-service): New procedure. * doc/guix.texi (Networking Services): Document it.
2019-10-31services: ntp: Fix a crash when using legacy configuration.Maxim Cournoyer
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.
2019-10-30services: ntp: Ensure no double quotes are output to config file.Maxim Cournoyer
* 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.
2019-10-18services: network-manager: Create account for 'network-manager-openconnect'.Ludovic Courtès
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'.
2019-10-18services: network-manager: Export 'network-manager-configuration-vpn-plugins'.Ludovic Courtès
* gnu/services/networking.scm (<network-manager-configuration>): Export 'network-manager-configuration-vpn-plugins'.
2019-09-18services: Add nftables-service-type.宋文武
* 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.
2019-09-08services: openntpd: Fix the config generation code.Maxim Cournoyer
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.
2019-09-08services: openntpd: Add test for issue #3731.Maxim Cournoyer
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.
2019-09-08services: openntpd: Remove useless let.Maxim Cournoyer
* gnu/services/networking.scm (openntpd-shepherd-service): Remove useless let.
2019-09-08services: ntp: Support different NTP server types and options.Maxim Cournoyer
* 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.
2019-09-08services: ntp: Fix KOD warning.Maxim Cournoyer
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.
2019-09-08services: ntp: Allow large adjustment by default.Maxim Cournoyer
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.
2019-07-17services: network-manager: Clear default OpenVPN user.Jelle Licht
* gnu/services/networking.scm (network-manager-shepherd-service): Clear 'NM_OPENVPN_USER' and 'NM_OPENVPN_GROUP' in #:environment-variables.
2019-07-17services: network-manager: Properly load vpn pluginsJelle Licht
Extends the dbus service when vpn plugins are enabled. * gnu/services/networking.scm (network-manager-service-type): Load vpn plugins when extending dbus service.
2019-06-24services: network-manager: Create '/var/lib/misc' directory for dnsmasq.Florian Pelz
* 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>
2019-06-15services: Add usb-modeswitch-service-type.Florian Pelz
* 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>
2019-05-09services: dhcp-client: Ignore interfaces that are not ARP capable.Marius Bakke
* gnu/services/networking.scm (dhcp-client-service-type): Filter interfaces that do not support the ARP protocol.
2019-04-23services: connman: Redirect output to a log file.Ludovic Courtès
* gnu/services/networking.scm (connman-shepherd-service): Pass #:log-file to 'make-forkexec-constructor'.