mbox series

[bug#52603,0/2] Flag missing netmasks early on

Message ID 20211218170227.19999-1-ludo@gnu.org
Headers show
Series Flag missing netmasks early on | expand

Message

Ludovic Courtès Dec. 18, 2021, 5:02 p.m. UTC
Hi!

As discussed yesterday on IRC, I mistakenly configured a machine with
something like:

  (network-address
    (device "eno1")
    (value "1.2.3.4"))

This results in having a “/0” subnet, thereby preventing the addition
of a route without a clear diagnostic from Guile-Netlink or ‘ip’.

To avoid this, this patch flags it at expansion time (if possible) or
at run time, before the machine configuration is built.

Did I go overboard with ‘define-compile-time-procedure’?  I don’t think
so :-), I think it will serve us more than once.

Thoughts?

Ludo’.

Ludovic Courtès (2):
  combinators: Add 'define-compile-time-procedure'.
  services: static-networking: Sanitize <network-address> values.

 gnu/services/base.scm | 28 ++++++++++++++++++++++--
 guix/combinators.scm  | 50 +++++++++++++++++++++++++++++++++++++++++--
 2 files changed, 74 insertions(+), 4 deletions(-)


base-commit: 4204156eb4c1afd5365ef505e356f87daa91787d

Comments

Mathieu Othacehe Dec. 19, 2021, 9:13 a.m. UTC | #1
Hey Ludo,

> To avoid this, this patch flags it at expansion time (if possible) or
> at run time, before the machine configuration is built.
>
> Did I go overboard with ‘define-compile-time-procedure’?  I don’t think
> so :-), I think it will serve us more than once.

I tested this series, works fine! It is still possible to pass incorrect
netmasks (negative, > 32 for IPv4), but they should be way less frequent
than forgetting to add a netmask.

Thanks,

Mathieu
Ludovic Courtès Dec. 20, 2021, 3:28 p.m. UTC | #2
Hi,

Mathieu Othacehe <othacehe@gnu.org> skribis:

>> To avoid this, this patch flags it at expansion time (if possible) or
>> at run time, before the machine configuration is built.
>>
>> Did I go overboard with ‘define-compile-time-procedure’?  I don’t think
>> so :-), I think it will serve us more than once.
>
> I tested this series, works fine! It is still possible to pass incorrect
> netmasks (negative, > 32 for IPv4), but they should be way less frequent
> than forgetting to add a netmask.

Yeah…

Pushed as 4df584aeac56fb6575ba43bc94f60f04522caf88, thanks for testing!

Ludo’.