Change the default behaviour of talk(1) to use "localhost" as the

"machine name" in ntalkd(8) request packets, when the destination
and source are local.

This should make talk(1) use much more pleasant for those security-
conscious individuals who have chosen to bind talkd to "localhost".

Previous to this change, talk(1) would require that the hostname of
the machine, as retrieved by gethostname(3), resolved to a valid and
reachable IPv4 address, using gethostbyname(3).

This makes talk(1) dependent on a valid host entry for "localhost"
in /etc/hosts (or the Domain Name System).

PR:		bin/23178
Submitted by:	angui.sh admin (with cleanups)
This commit is contained in:
bms 2004-06-14 22:34:13 +00:00
parent aa5653471f
commit be62d61163
2 changed files with 18 additions and 1 deletions

View File

@ -90,7 +90,7 @@ get_names(argc, argv)
if (*cp == '\0') {
/* this is a local to local talk */
his_name = argv[1];
his_machine_name = my_machine_name;
my_machine_name = his_machine_name = "localhost";
} else {
if (*cp++ == '@') {
/* user@host */

View File

@ -142,3 +142,20 @@ The
.Nm
command appeared in
.Bx 4.2 .
.Pp
In
.Fx 5.2 ,
the default behaviour of
.Nm
was changed to treat local-to-local talk requests as originating
and terminating at
.Em localhost .
Before this change, it was required that the hostname (as per
.Xr gethostname 3 )
resolved to a valid IPv4 address (via
.Xr gethostbyname 3 ) ,
making
.Nm
unsuitable for use in configurations where
.Xr talkd 8
was bound to the loopback interface (normally for security reasons).