PHP :: Request #40013 :: php_uname() doesnt return nodename
| Request #40013 | php_uname() doesnt return nodename | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Submitted: | 2007-01-03 16:32 UTC | Modified: | 2009-09-06 22:01 UTC |
|
||||||||||
| From: | gk at gknw dot de | Assigned: | pajoye (profile) | |||||||||||
| Status: | Closed | Package: | Feature/Change Request | |||||||||||
| PHP Version: | 6CVS-2007-01-03 (snap) | OS: | NetWare | |||||||||||
| Private report: | No | CVE-ID: | None | |||||||||||
[2007-01-03 16:32 UTC] gk at gknw dot de
Description:
------------
On NetWare platform php_uname('n') returns a hardcoded string 'NLM' which is pretty much useless. This is due to the fact that Novell NetWare pupulates the utsname struct different from other Posix platfoms. Nevertheless they have added a bunch of other useful members which return the correct hostname as well as more accurate version infos.
Here's a unified diff against ./ext/standard/info.c which corrects php_uname() for NetWare, and also adds some more useful information:
http://www.gknw.net/test/php_issues/info.c.diff
to verify this proposed patch here's a test script running on PHP 5.2.0 unpatched (NetWare 6.50 SP 6):
http://www.gknw.net/tstphp/phpuname.php
and here's running PHP 5.2.0 patched (NetWare 5.10 SP 8):
http://www.mailkastl.at/tstphp/phpuname.php
as you can see I get here the hostname of the machine, and in addition the NetWare version + SP level, and the libc version too.
Would be great if this patch gets applied.
Thanks!
Patches
Pull Requests
History
AllCommentsChangesGit/SVN commits
[2008-03-05 21:21 UTC] pajoye@php.net
[2009-09-06 22:01 UTC] pajoye@php.net