From owner-freebsd-arch@FreeBSD.ORG Mon Oct 3 18:44:10 2005 Return-Path: X-Original-To: arch@freebsd.org Delivered-To: freebsd-arch@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4773516A420 for ; Mon, 3 Oct 2005 18:44:10 +0000 (GMT) (envelope-from ceri@submonkey.net) Received: from shrike.submonkey.net (cpc2-cdif2-3-1-cust208.cdif.cable.ntl.com [82.31.78.208]) by mx1.FreeBSD.org (Postfix) with ESMTP id B005443D53 for ; Mon, 3 Oct 2005 18:44:08 +0000 (GMT) (envelope-from ceri@submonkey.net) Received: from ceri by shrike.submonkey.net with local (Exim 4.53 (FreeBSD)) id 1EMVIF-000Pwl-Qo; Mon, 03 Oct 2005 19:44:07 +0100 Date: Mon, 3 Oct 2005 19:44:07 +0100 From: Ceri Davies To: Brooks Davis Message-ID: <20051003184407.GJ56760@submonkey.net> Mail-Followup-To: Ceri Davies , Brooks Davis , arch@freebsd.org References: <20051001093550.GA32354@odin.ac.hmc.edu> <20051003103124.GB56760@submonkey.net> <20051003180344.GA31888@odin.ac.hmc.edu> <20051003181808.GI56760@submonkey.net> <20051003182406.GA3629@odin.ac.hmc.edu> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="WRT3RXLOp/bBMgTI" Content-Disposition: inline In-Reply-To: <20051003182406.GA3629@odin.ac.hmc.edu> X-PGP: finger ceri@FreeBSD.org User-Agent: Mutt/1.5.11 Sender: Ceri Davies Cc: arch@freebsd.org Subject: Re: error in trimdomain(3) X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Oct 2005 18:44:10 -0000 --WRT3RXLOp/bBMgTI Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Mon, Oct 03, 2005 at 11:24:06AM -0700, Brooks Davis wrote: > On Mon, Oct 03, 2005 at 07:18:08PM +0100, Ceri Davies wrote: > > On Mon, Oct 03, 2005 at 11:03:44AM -0700, Brooks Davis wrote: > > > On Mon, Oct 03, 2005 at 11:31:24AM +0100, Ceri Davies wrote: > > > > On Sat, Oct 01, 2005 at 02:35:50AM -0700, Brooks Davis wrote: > > > > > I discovered today that the trimdomain() implementation in libuti= l deviates > > > > > slightly from the manpage. The manpage says: > > > > >=20 > > > > > The function trimdomain() removes the current domain name fr= om the passed > > > > > fullhost name by writing a NUL character over the first peri= od of the > > > > > ^^^^^^^^^^= ^^ > > > > > passed name. The current domain name is determined by calli= ng > > > > > gethostname(3) and removing everything up to the first perio= d. > > > > >=20 > > > > > which clearly indicates that trimdomain() should return either the > > > > > unmodified string or a host name with no domain. In reality it w= ill > > > > > remove the domain name even if the result is not a host name. Th= is > > > > > means that if the host b.com calls trimdomain with "a.b.com" as t= he > > > > > input string, the result is "a.b". > > > >=20 > > > > That's actually what the excerpt above says will happen. > > > >=20 > > > > gethostname returns "b.com", removing everything up to the first pe= riod > > > > yields ".com", and that removed from "a.b.com" gives you "a.b". > > > >=20 > > > > I don't care if it needs to be changed, but that does exactly what = it > > > > says on the tin so far as I can see. > > >=20 > > > There are two refrences to "first period". You are correct that the > > > domain name of b.com is .com, but the refrence I highlighted states t= hat > > > the only allowable modification to the host name is writing a NUL to > > > the first period in the string (it's actually messier than this becau= se > > > trimdomain also supports X11 DISPLAY strings and thus does a memmove = and > > > reterminates if there is a :0 or :0.0 type string after domain.) > >=20 > > I agree that the documentation gives that impressions but the fact that > > it bothers to call gethostname at all makes me wonder; if it's just goi= ng > > to replace the first period with a NUL then I don't see why that call is > > necessary, unless the intention is to achieve the current behaviour. >=20 > My interpretation is that the function is intended to remove the domain > only if it is the local domain and thus implicit. Ah, now I see it; yes, I'm with you. Ceri --=20 Only two things are infinite, the universe and human stupidity, and I'm not sure about the former. -- Einstein (attrib.) --WRT3RXLOp/bBMgTI Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2 (FreeBSD) iD8DBQFDQXv3ocfcwTS3JF8RAtcdAJ942llczaTBFXnzbJMDnHV9y9c1PgCgqAzv cqQgllQ/FDho4l5kTHreb5A= =anH9 -----END PGP SIGNATURE----- --WRT3RXLOp/bBMgTI--