git: talk: talk into account sa_len field in sockaddr.

Matthew Dillon dillon at crater.dragonflybsd.org
Fri Jan 15 16:46:35 PST 2021


commit 1f28d7d499446ade79662f31f364fecb67f7c06d
Author: Dan Cross <cross at gajendra.net>
Date:   Fri Jan 15 03:16:17 2021 +0000

    talk: talk into account sa_len field in sockaddr.
    
    `osockaddr` predates the introduction of the sa_len
    field in `struct sockaddr`.  The family has moved to
    the second field in the structure, but `talk` didn't
    account for this when it constructs a `sockaddr_in`
    to send data to another system.
    
    The failure case was kind of odd: one could `talk`
    to a user on, say, a Linux machine, the remote user
    could respond, and things would work as expected.
    However, the inverse case, where a user on Linux
    tried to `talk` to a user on Dragonfly failed: the
    talk announcement would be made, but an attempt to
    respond would fail with a protocol error since the
    `sin_family` field would be zero.
    
    Signed-off-by: Dan Cross <cross at gajendra.net>

Summary of changes:
 usr.bin/talk/look_up.c | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/1f28d7d499446ade79662f31f364fecb67f7c06d


-- 
DragonFly BSD source repository



More information about the Commits mailing list