Sys::Hostname fails under Solaris 2.5 when setuid
authorPatrick Hayes <Patrick.Hayes.CAP_SESA@renault.fr>
Wed, 20 Aug 1997 01:05:13 +0000 (13:05 +1200)
committerTim Bunce <Tim.Bunce@ig.co.uk>
Fri, 5 Sep 1997 00:00:00 +0000 (00:00 +0000)
commitb6d5cd8ca8d16f83d5c4c7a0bc602634e3efb321
tree9fb86ef3310ebe6302a9e2a59dd1d454aeffdef7
parent63bfca455098588d6283c6105813307e3523e5b7
Sys::Hostname fails under Solaris 2.5 when setuid

encountered a problem when using the Sys::Hostname under Solaris 2.5.1 in
setuid scripts. The problem is due to Solaris' having removed gethostname from
the list of syscalls. gethostname is now a libc compatability function using
the 'sysinfo' syscall. As the environment I'm using this in requires setuid
execution, the other methods (calling `hostname or `uname -n`) are
inapplicable.

I also noticed that Sys::Hostname requires syscall.ph whereas I find only
sys/syscall.ph. The perl headers were created with the standard:
             cd /usr/include; h2ph * sys/*

I've added in the following code to make Hostname.pm work on Solaris. Would it
be possible to integrate this into future releases?

p5p-msgid: 199708201240.OAA04243@goblin.renault.fr
lib/Sys/Hostname.pm