From 9f697d6c1de2979cc5e0f3689d10086ceac8a672 Mon Sep 17 00:00:00 2001 From: Laurent Bercot Date: Tue, 12 Dec 2023 17:01:07 +0000 Subject: Fix clock programs that recv46; fix s6-tcpserver-access exitcodes Signed-off-by: Laurent Bercot --- src/clock/s6-sntpclock.c | 2 +- src/clock/s6-taiclock.c | 2 +- src/clock/s6-taiclockd.c | 4 +++- 3 files changed, 5 insertions(+), 3 deletions(-) (limited to 'src/clock') diff --git a/src/clock/s6-sntpclock.c b/src/clock/s6-sntpclock.c index 8a30b8a..644591a 100644 --- a/src/clock/s6-sntpclock.c +++ b/src/clock/s6-sntpclock.c @@ -46,7 +46,7 @@ int ntp_exchange (int s, ip46 const *ip, uint16_t port, tain *stamps, tain const r = socket_sendnb46_g(s, query, 48, ip, port, deadline) ; if (r < 0) return 0 ; if (r < 48) return (errno = EPIPE, 0) ; - r = socket_recvnb46_g(s, answer, 48, &dummyip, &dummyport, deadline) ; + r = socket_recvnb46_g(s, answer, 48, &dummyip, &dummyport, ip46_is6(ip), deadline) ; if (r < 0) return 0 ; if (r < 48) return (errno = EPROTO, 0) ; if (((answer[0] & 7) != 2) && ((answer[0] & 7) != 4)) return (errno = EPROTO, 0) ; diff --git a/src/clock/s6-taiclock.c b/src/clock/s6-taiclock.c index 1f0c399..353d767 100644 --- a/src/clock/s6-taiclock.c +++ b/src/clock/s6-taiclock.c @@ -37,7 +37,7 @@ int tain_exchange (int s, ip46 const *ip, uint16_t port, tain *serversays, tain r = socket_sendnb46_g(s, query, N, ip, port, deadline) ; if (r < 0) return 0 ; if (r < N) return (errno = EPIPE, 0) ; - r = socket_recvnb46_g(s, answer, N, &dummyip, &dummyport, deadline) ; + r = socket_recvnb46_g(s, answer, N, &dummyip, &dummyport, ip46_is6(ip), deadline) ; if (r < 0) return 0 ; if (r < N) return (errno = EPROTO, 0) ; if (memcmp(answer, "stai", 4)) return (errno = EPROTO, 0) ; diff --git a/src/clock/s6-taiclockd.c b/src/clock/s6-taiclockd.c index 9a000cc..9dabc5f 100644 --- a/src/clock/s6-taiclockd.c +++ b/src/clock/s6-taiclockd.c @@ -19,6 +19,7 @@ int main (int argc, char const *const *argv) ip46 ip = IP46_ZERO ; uint16_t port = 4014 ; subgetopt l = SUBGETOPT_ZERO ; + int is6 ; PROG = "s6-taiclockd" ; for (;;) { @@ -38,10 +39,11 @@ int main (int argc, char const *const *argv) if (socket_bind46_reuse(s, &ip, port) < 0) strerr_diefu1sys(111, "socket_bind_reuse") ; + is6 = ip46_is6(&ip) ; for (;;) { char packet[256] ; - ssize_t r = socket_recv46(s, packet, 256, &ip, &port) ; + ssize_t r = socket_recv46(s, packet, 256, &ip, &port, is6) ; if ((r >= 20) && !memcmp(packet, "ctai", 4)) { tain now ; -- cgit v1.2.3