Date: Thu, 29 May 2008 14:58:38 +0000 (UTC) From: "Bjoern A. Zeeb" <bz@FreeBSD.org> To: Oliver Fromme <olli@fromme.com> Cc: cvs-src@FreeBSD.org, src-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: inet(3) inet_network() bug, [was: cvs commit: src/usr.sbin/jexec jexec.8 jexec.c] Message-ID: <20080529144348.L65662@maildrop.int.zabbadoz.net> In-Reply-To: <200805291416.m4TEGn5X066744@haluter.fromme.com> References: <200805291416.m4TEGn5X066744@haluter.fromme.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 29 May 2008, Oliver Fromme wrote: Hi, > > > However, I do share the concern that there's an ambiguity > > > in the syntax: "127" can be a jail ID as well as an IP > > > number (same as 0.0.0.127) or a hostname. Either the > > > > actually 127.0.0.0 > > I'm afraid I think it is 0.0.0.127. > 127.0.0.0 would be 2130706432. 127.0.0.1 is 0x0000007f. ~/tmp> ./a.out 127 127.0.0.0 > > > using 127.1 as a shotcut for 127.0.0.1. > > > > Yes. because that is 127.1.0.0 and not 127.0.0.1. > > I'm pretty sure 127.1 is the same as 127.0.0.1. Last > time I used telnet 127.1 to test things it worked fine. > > 127.1.0.0 would be 127.65536. re-reading the man page inet(3) it seems you would be right for 127.0.0.1 == 127.1 -- just that our implementation of inet_network() doesn't think you are... *sigh* I know this function. It's from bind sources... ~/tmp> ./a.out 127.1 1.127.0.0 btw. the 3 digit version seems to be broken as well: ~/tmp> ./a.out 128.1.2 2.1.128.0 ~/tmp> cat 127.c #include <stdio.h> #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> #include <err.h> int main(int argc, char *argv[]) { in_addr_t ia; char buf[16]; if (argc != 2) errx(1, "usage: %s IP-address", argv[0]); ia = inet_network(argv[1]); if (ia == INADDR_NONE) err(1, "inet_network"); if (inet_ntop(AF_INET, &ia, buf, sizeof(buf)) == NULL) err(1, "inet_ntop"); printf("%s\n", buf); return (0); } -- Bjoern A. Zeeb Stop bit received. Insert coin for new game.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20080529144348.L65662>