zsh-users
 help / color / mirror / code / Atom feed
* $HOST on OS X
       [not found] <A31BDCF6-D2C6-4674-B4D5-86B60347A0B2@chemistry.ucsc.edu>
@ 2010-06-05 14:24 ` William G. Scott
  2010-06-05 15:37   ` Benjamin R. Haskell
  0 siblings, 1 reply; 7+ messages in thread
From: William G. Scott @ 2010-06-05 14:24 UTC (permalink / raw)
  To: zsh-users



Dear citizens:

I just noticed odd behavior for how $HOST is getting set on OS X v. 10.6.3.

One one home machine connected to a wireless router and ADSL modem:

% print $HOST
internalcheck.apple.com

On another -- This one worries me more:

% print $HOST
e3191.c.akamaiedge.net

The manual says $HOST is automatically set by the shell, but I wonder how this is happening?  I don't have anything weird in /etc/hosts for example...

Thanks in advance for any advice.

Bill




^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: $HOST on OS X
  2010-06-05 14:24 ` $HOST on OS X William G. Scott
@ 2010-06-05 15:37   ` Benjamin R. Haskell
  2010-06-05 15:45     ` Benjamin R. Haskell
  0 siblings, 1 reply; 7+ messages in thread
From: Benjamin R. Haskell @ 2010-06-05 15:37 UTC (permalink / raw)
  To: William G. Scott; +Cc: zsh-users

On Sat, 5 Jun 2010, William G. Scott wrote:

> Dear citizens:
> 
> I just noticed odd behavior for how $HOST is getting set on OS X v. 
> 10.6.3.
> 
> One one home machine connected to a wireless router and ADSL modem:
> 
> % print $HOST
> internalcheck.apple.com
> 
> On another -- This one worries me more:
> 
> % print $HOST
> e3191.c.akamaiedge.net
> 
> The manual says $HOST is automatically set by the shell, but I wonder 
> how this is happening?  I don't have anything weird in /etc/hosts for 
> example...

$HOST is set by the following lines in Src/params.c:

682    hostnam = (char *)zalloc(256);
683    gethostname(hostnam, 256);
684    setsparam("HOST", ztrdup(hostnam));

If gethostname is defined in unistd.h, it's a standard library call that 
fills its char* first parameter with your hostname.  Otherwise, there's 
a compatibility replacement in Src/compat.c that basically gets the node 
name via uname.  Omitting error-checking, it's:

int gethostname(char*name, size_t namelen) {
    struct utsname uts;
    uname(&uts);
    strcpy(name,uts.nodename);
}

So, either way, it follows a pretty standard path to getting a hostname.

I'm not sure whether OS X would have gethostname, but what does `uname 
-n` return?  Or `hostname`?

-- 
Best,
Ben


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: $HOST on OS X
  2010-06-05 15:37   ` Benjamin R. Haskell
@ 2010-06-05 15:45     ` Benjamin R. Haskell
  2010-06-05 16:55       ` François Revol
  0 siblings, 1 reply; 7+ messages in thread
From: Benjamin R. Haskell @ 2010-06-05 15:45 UTC (permalink / raw)
  To: William G. Scott; +Cc: zsh-users

On Sat, 5 Jun 2010, Benjamin R. Haskell wrote:

> On Sat, 5 Jun 2010, William G. Scott wrote:
> 
> > Dear citizens:
> > 
> > I just noticed odd behavior for how $HOST is getting set on OS X v. 
> > 10.6.3.
> > 
> > One one home machine connected to a wireless router and ADSL modem:
> > 
> > % print $HOST
> > internalcheck.apple.com
> > 
> > On another -- This one worries me more:
> > 
> > % print $HOST
> > e3191.c.akamaiedge.net
> > 
> > The manual says $HOST is automatically set by the shell, but I wonder 
> > how this is happening?  I don't have anything weird in /etc/hosts for 
> > example...
> 
> $HOST is set by the following lines in Src/params.c:
> 
> 682    hostnam = (char *)zalloc(256);
> 683    gethostname(hostnam, 256);
> 684    setsparam("HOST", ztrdup(hostnam));
> 
> If gethostname is defined in unistd.h, it's a standard library call that 
> fills its char* first parameter with your hostname.  Otherwise, there's 
> a compatibility replacement in Src/compat.c that basically gets the node 
> name via uname.  Omitting error-checking, it's:
> 
> int gethostname(char*name, size_t namelen) {
>     struct utsname uts;
>     uname(&uts);
>     strcpy(name,uts.nodename);
> }
> 
> So, either way, it follows a pretty standard path to getting a hostname.
> 
> I'm not sure whether OS X would have gethostname, but what does `uname 
> -n` return?  Or `hostname`?

I also neglected to mention that $HOST can be inherited from the 
environment.

e.g.:
$ HOST=whatever zsh -c 'echo $HOST'
whatever
$

So, maybe there was some script you/someone ran that set 
HOST=e3191.c.akamaiedge.net, for convenience.  (For uploading things to 
Akamai's CDN, maybe?  Seems a bit of a stretch.)

-- 
Best,
Ben


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: $HOST on OS X
  2010-06-05 15:45     ` Benjamin R. Haskell
@ 2010-06-05 16:55       ` François Revol
  2010-06-05 18:52         ` Benjamin R. Haskell
  0 siblings, 1 reply; 7+ messages in thread
From: François Revol @ 2010-06-05 16:55 UTC (permalink / raw)
  To: zsh-users


Le 5 juin 2010 à 17:45, Benjamin R. Haskell a écrit :

> So, maybe there was some script you/someone ran that set 
> HOST=e3191.c.akamaiedge.net, for convenience.  (For uploading things to 
> Akamai's CDN, maybe?  Seems a bit of a stretch.)

No it's only a bad habit of OSX to update hostname depending on the joined network, I often noticed this when using wifi or an unusual LAN. So when you open a Terminal at that point it shows this in the prompt and other stuff...
IMO it's a security risk though...

François.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: $HOST on OS X
  2010-06-05 16:55       ` François Revol
@ 2010-06-05 18:52         ` Benjamin R. Haskell
  2010-06-05 19:46           ` François Revol
  2010-06-06 15:34           ` Vincent Lefevre
  0 siblings, 2 replies; 7+ messages in thread
From: Benjamin R. Haskell @ 2010-06-05 18:52 UTC (permalink / raw)
  To: François Revol; +Cc: zsh-users

[-- Attachment #1: Type: TEXT/PLAIN, Size: 1474 bytes --]

On Sat, 5 Jun 2010, François Revol wrote:

> Le 5 juin 2010 à 17:45, Benjamin R. Haskell a écrit :
> 
> > So, maybe there was some script you/someone ran that set 
> > HOST=e3191.c.akamaiedge.net, for convenience.  (For uploading things 
> > to Akamai's CDN, maybe?  Seems a bit of a stretch.)
> 
> No it's only a bad habit of OSX to update hostname depending on the 
> joined network, I often noticed this when using wifi or an unusual 
> LAN. So when you open a Terminal at that point it shows this in the 
> prompt and other stuff...

If that's the case, I might expect a hostname like 
pool-68-162-167-80.pitt.east.verizon.net (something from a DHCP pool 
assigned by an ISP).  Not something on akamaiedge.net, which is 
certainly not an ISP.  Unless someone's playing weird games with routing 
via Amazon-EC2.  (More likely, that one in particular seems like some 
upstream DNS misconfiguration, akin to the bad PTR record for an RFC 
1918 address in this post[1].)

Regardless, OS X is far from the only O/S that'll update hostnames when 
you join a network.  And especially on a laptop, it often makes sense.  
For instance, after associating with a university's wireless network, 
your host probably has a different name assigned to it.  Why would it be 
bad to update it?


> IMO it's a security risk though...

What part, and how so?

-- 
Best,
Ben

[1] http://www.techsupportforum.com/networking-forum/networking-support/407794-strange-hostname-private-ip.html

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: $HOST on OS X
  2010-06-05 18:52         ` Benjamin R. Haskell
@ 2010-06-05 19:46           ` François Revol
  2010-06-06 15:34           ` Vincent Lefevre
  1 sibling, 0 replies; 7+ messages in thread
From: François Revol @ 2010-06-05 19:46 UTC (permalink / raw)
  To: zsh-users


Le 5 juin 2010 à 20:52, Benjamin R. Haskell a écrit :

> Regardless, OS X is far from the only O/S that'll update hostnames when 
> you join a network.  And especially on a laptop, it often makes sense.  
> For instance, after associating with a university's wireless network, 
> your host probably has a different name assigned to it.  Why would it be 
> bad to update it?

Right, makes some sense.

>> IMO it's a security risk though...
> 
> What part, and how so?

Dunno, didn't think much about it, but I suppose it could be a problem when inadvertently joining a network you didn't want to.

In any case it should be possible to disable it, but I've yet to find the setting on OSX.

François.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: $HOST on OS X
  2010-06-05 18:52         ` Benjamin R. Haskell
  2010-06-05 19:46           ` François Revol
@ 2010-06-06 15:34           ` Vincent Lefevre
  1 sibling, 0 replies; 7+ messages in thread
From: Vincent Lefevre @ 2010-06-06 15:34 UTC (permalink / raw)
  To: zsh-users

On 2010-06-05 14:52:33 -0400, Benjamin R. Haskell wrote:
> Regardless, OS X is far from the only O/S that'll update hostnames when 
> you join a network.  And especially on a laptop, it often makes sense.  

Changing the host may confuse software that expects it not to change,
may break user configuration (for instance, I use the same config
files on various machines, and test the FQDN when a difference is
needed), and so on.

> For instance, after associating with a university's wireless network, 
> your host probably has a different name assigned to it.  Why would it be 
> bad to update it?

There's a host name associated with the IP address, but this doesn't
mean that it should be the same as $HOST. Otherwise what would you do
if you wanted to connect to 2 networks (wireless or not) at the same
time?

-- 
Vincent Lefèvre <vincent@vinc17.net> - Web: <http://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <http://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / Arénaire project (LIP, ENS-Lyon)


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2010-06-06 15:40 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <A31BDCF6-D2C6-4674-B4D5-86B60347A0B2@chemistry.ucsc.edu>
2010-06-05 14:24 ` $HOST on OS X William G. Scott
2010-06-05 15:37   ` Benjamin R. Haskell
2010-06-05 15:45     ` Benjamin R. Haskell
2010-06-05 16:55       ` François Revol
2010-06-05 18:52         ` Benjamin R. Haskell
2010-06-05 19:46           ` François Revol
2010-06-06 15:34           ` Vincent Lefevre

Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

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).