ID:               38091
 Updated by:       ka...@php.net
 Reported By:      danb1974 at gmail dot com
-Status:           Closed
+Status:           Assigned
 Bug Type:         Mail related
 Operating System: Windows
 PHP Version:      *
 Assigned To:      kalle


Previous Comments:
------------------------------------------------------------------------

[2009-06-30 11:40:52] ka...@php.net

This bug has been fixed in CVS.

Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
http://snaps.php.net/.
 
Thank you for the report, and for helping us make PHP better.



------------------------------------------------------------------------

[2009-06-27 11:31:55] ka...@php.net

Patch available at:
http://php.tuxxedo.net/patches/bugs/38091.patch

------------------------------------------------------------------------

[2009-06-22 13:52:00] rick at longbowgames dot com

This isn't really a bug in Windows, since the official documentation
for Winsock[1] clearly states that the name returned by gethostname "can
be a simple host name, or it can be a fully qualified domain name." 
Like many parts of Winsock, this is slightly different from the typical
behaviour of the POSIX function of the same name, which usually returns
a FQDN.

Actually, while the name returned by gethostname() is *usually* a FQDN
on a POSIX machine, I don't actually think it's guaranteed there,
either.

For a C solution, the code given by danb1974 should work.  An easy way
to do it in pure PHP is, instead of just calling gethostname(), call
gethostbyaddr(gethostbyname(gethostname())).

Thanks,

-Rick-

[1] http://msdn.microsoft.com/en-us/library/ms738527(VS.85).aspx

------------------------------------------------------------------------

[2009-06-20 08:53:14] paj...@php.net

Reopen, seems to be still valid.

------------------------------------------------------------------------

[2006-07-14 07:45:01] danb1974 at gmail dot com

It seems it's not enough to just gethostname. You have to do something
like this (this is not actual production code):

hostent *hent;
gethostname(hname, sizeof(hname));
hent = gethostbyname(hname);
strcpy(hostname, hent->h_name); // h_name is the official name
according to winsock api

------------------------------------------------------------------------

The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
    http://bugs.php.net/38091

-- 
Edit this bug report at http://bugs.php.net/?id=38091&edit=1

Reply via email to