From 5c354c204d288439ae5783aae34addaf2004c7a0 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 6 Jan 2022 10:23:43 +0100 Subject: services: networking: Add netmask to loopback address. Previously, we would get a fishy 127.0.0.1/0 interface: $ ip a show dev lo 1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet 127.0.0.1/0 scope global lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever With this change, we get nothing but the "/8" version: $ ip a show dev lo 1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope global lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever Reported by Yann Dupont . * gnu/services/base.scm (assert-valid-address): Remove special cases for 127.0.0.1 and ::1. (%loopback-static-networking): Add "/8". --- gnu/services/base.scm | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) (limited to 'gnu/services') diff --git a/gnu/services/base.scm b/gnu/services/base.scm index 88869e40d2..e46bb591a9 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès +;;; Copyright © 2013-2022 Ludovic Courtès ;;; Copyright © 2015, 2016 Alex Kost ;;; Copyright © 2015, 2016, 2020 Mark H Weaver ;;; Copyright © 2015 Sou Bunnbu @@ -2393,11 +2393,7 @@ Linux @dfn{kernel mode setting} (KMS)."))) (define-compile-time-procedure (assert-valid-address (address string?)) "Ensure ADDRESS has a valid netmask." - (unless (or (cidr->netmask address) - (and=> (false-if-exception (inet-pton AF_INET address)) - (cut = INADDR_LOOPBACK <>)) - (and=> (false-if-exception (inet-pton AF_INET6 address)) - (cut = 1 <>))) + (unless (cidr->netmask address) (raise (make-compound-condition (formatted-message (G_ "address '~a' lacks a network mask") @@ -2741,7 +2737,7 @@ to handle." (static-networking (addresses (list (network-address (device "lo") - (value "127.0.0.1")))) + (value "127.0.0.1/8")))) (requirement '()) (provision '(loopback)))) -- cgit v1.2.3