The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
From: Ralph Corderoy <ralph@inputplus.co.uk>
To: tuhs@minnie.tuhs.org
Subject: Re: [TUHS] conventions around zero padding in ip4
Date: Sun, 08 May 2022 11:22:08 +0100	[thread overview]
Message-ID: <20220508102208.50A2822158@orac.inputplus.co.uk> (raw)
In-Reply-To: <CAP6exY++wLs+qqAaHL-7bJGfahS6AE1uitxZG1=yP4Se7sZ_rg@mail.gmail.com>

Hi Ron,

> I first learned in the 80s that 127.1 meant 127.0.0.1. I always
> assumed zero padding was defined in a standard *somewhere*, but am
> finding out maybe not.

It has been standardised; see inet_addr(3p) where ‘p’ means the POSIX
version of the man page or
https://pubs.opengroup.org/onlinepubs/9699919799/functions/inet_addr.html

Briefly, the string must be one of

    a.b.c.d
    a.b.cd
    a.bcd
    abcd

where the number of bytes represented is the number of characters.
Each number is as defined by ISO C, e.g. ‘0x...’ means hex, thus
‘ping 017777777776’.

That's all there is to it.  It's simple to explain and I've used it for
years too.  Given POSIX defines it, without deprecation, programming
languages which don't use the C library and programs which must parse
the string themselves should follow POSIX to avoid those annoying
programs which deviate from the long-established norm.

> IP4 padding came up recently: the ip command interprets 10.2 as
> 10.2.0.0, whereas most things (golang libraries, ping, ...) interpret
> it as 10.0.0.2.

Bug the ip(1) folks, pointing to POSIX.  :-)

-- 
Cheers, Ralph.

  parent reply	other threads:[~2022-05-08 10:26 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-07 16:14 ron minnich
2022-05-07 16:38 ` Bakul Shah
2022-05-07 16:48 ` Erik E. Fair
2022-05-07 18:49 ` Steffen Nurpmeso
2022-05-07 19:14 ` Warner Losh
2022-05-07 19:50   ` ron minnich
2022-05-07 19:57     ` ron minnich
2022-05-07 23:19   ` Bakul Shah
2022-05-07 23:49     ` Warner Losh
2022-05-08 10:28     ` Ralph Corderoy
2022-05-08  5:21 ` jason-tuhs
2022-05-08 10:22 ` Ralph Corderoy [this message]
2022-05-09 14:08   ` Steffen Nurpmeso
2022-05-10 10:49     ` Ralph Corderoy
2022-05-07 19:43 Noel Chiappa
2022-05-08 14:54 ` Michael Kjörling
2022-05-09 16:14 Noel Chiappa

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220508102208.50A2822158@orac.inputplus.co.uk \
    --to=ralph@inputplus.co.uk \
    --cc=tuhs@minnie.tuhs.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).