Index | Thread | Search

From:
Claudio Jeker <cjeker@diehard.n-r-g.com>
Subject:
relayd convert to imsg_get_fd()
To:
tech@openbsd.org
Date:
Wed, 17 Jan 2024 09:50:11 +0100

Download raw body.

Thread
Here is the imsg_get_fd change for relayd.
Very similar to other reykd's.

-- 
:wq Claudio

Index: agentx_control.c
===================================================================
RCS file: /cvs/src/usr.sbin/relayd/agentx_control.c,v
diff -u -p -r1.6 agentx_control.c
--- agentx_control.c	31 Aug 2022 16:17:18 -0000	1.6
+++ agentx_control.c	13 Dec 2023 13:15:31 -0000
@@ -462,16 +462,18 @@ void
 agentx_getsock(struct imsg *imsg)
 {
 	struct timeval		 tv = AGENTX_RECONNECT_TIMEOUT;
+	int 			 fd;
 
-	if (imsg->fd == -1)
+	fd = imsg_get_fd(imsg);
+	if (fd == -1)
 		goto retry;
 
 	event_del(&(env->sc_agentxev));
-	event_set(&(env->sc_agentxev), imsg->fd, EV_READ | EV_PERSIST,
+	event_set(&(env->sc_agentxev), fd, EV_READ | EV_PERSIST,
 	    agentx_sock, env);
 	event_add(&(env->sc_agentxev), NULL);
 
-	agentx_connect(sa, imsg->fd);
+	agentx_connect(sa, fd);
 
  retry:
 	evtimer_set(&env->sc_agentxev, agentx_sock, env);
Index: config.c
===================================================================
RCS file: /cvs/src/usr.sbin/relayd/config.c,v
diff -u -p -r1.44 config.c
--- config.c	25 Jun 2023 08:07:38 -0000	1.44
+++ config.c	13 Dec 2023 13:14:26 -0000
@@ -1030,7 +1030,7 @@ config_getrelay(struct relayd *env, stru
 	memcpy(&rlay->rl_conf, p, sizeof(rlay->rl_conf));
 	s = sizeof(rlay->rl_conf);
 
-	rlay->rl_s = imsg->fd;
+	rlay->rl_s = imsg_get_fd(imsg);
 	rlay->rl_tls_ca_fd = -1;
 	rlay->rl_tls_cacert_fd = -1;
 
@@ -1148,19 +1148,19 @@ config_getrelayfd(struct relayd *env, st
 
 	switch (crfd.type) {
 	case RELAY_FD_CERT:
-		cert->cert_fd = imsg->fd;
+		cert->cert_fd = imsg_get_fd(imsg);
 		break;
 	case RELAY_FD_KEY:
-		cert->cert_key_fd = imsg->fd;
+		cert->cert_key_fd = imsg_get_fd(imsg);
 		break;
 	case RELAY_FD_OCSP:
-		cert->cert_ocsp_fd = imsg->fd;
+		cert->cert_ocsp_fd = imsg_get_fd(imsg);
 		break;
 	case RELAY_FD_CACERT:
-		rlay->rl_tls_ca_fd = imsg->fd;
+		rlay->rl_tls_ca_fd = imsg_get_fd(imsg);
 		break;
 	case RELAY_FD_CAFILE:
-		rlay->rl_tls_cacert_fd = imsg->fd;
+		rlay->rl_tls_cacert_fd = imsg_get_fd(imsg);
 		break;
 	}
 
Index: proc.c
===================================================================
RCS file: /cvs/src/usr.sbin/relayd/proc.c,v
diff -u -p -r1.44 proc.c
--- proc.c	15 Feb 2023 20:44:01 -0000	1.44
+++ proc.c	13 Dec 2023 13:16:18 -0000
@@ -655,7 +655,7 @@ proc_dispatch(int fd, short event, void 
 		case IMSG_CTL_PROCFD:
 			IMSG_SIZE_CHECK(&imsg, &pf);
 			memcpy(&pf, imsg.data, sizeof(pf));
-			proc_accept(ps, imsg.fd, pf.pf_procid,
+			proc_accept(ps, imsg_get_fd(&imsg), pf.pf_procid,
 			    pf.pf_instance);
 			break;
 		default:
@@ -786,7 +786,7 @@ proc_forward_imsg(struct privsep *ps, st
     enum privsep_procid id, int n)
 {
 	return (proc_compose_imsg(ps, id, n, imsg->hdr.type,
-	    imsg->hdr.peerid, imsg->fd, imsg->data, IMSG_DATA_SIZE(imsg)));
+	    imsg->hdr.peerid, -1, imsg->data, IMSG_DATA_SIZE(imsg)));
 }
 
 struct imsgbuf *
Index: relay.c
===================================================================
RCS file: /cvs/src/usr.sbin/relayd/relay.c,v
diff -u -p -r1.258 relay.c
--- relay.c	29 Oct 2023 11:27:11 -0000	1.258
+++ relay.c	13 Dec 2023 13:14:46 -0000
@@ -1993,7 +1993,7 @@ relay_dispatch_parent(int fd, struct pri
 		}
 
 		/* Will validate the result later */
-		con->se_bnds = imsg->fd;
+		con->se_bnds = imsg_get_fd(imsg);
 
 		evtimer_del(&con->se_ev);
 		evtimer_set(&con->se_ev, relay_bindany, con);