Include cert_partial_chain in iked_static instead of sending a separate
authortobhe <tobhe@openbsd.org>
Mon, 15 Jan 2024 15:29:00 +0000 (15:29 +0000)
committertobhe <tobhe@openbsd.org>
Mon, 15 Jan 2024 15:29:00 +0000 (15:29 +0000)
message.

from markus@

sbin/iked/ca.c
sbin/iked/config.c
sbin/iked/iked.c
sbin/iked/iked.h
sbin/iked/ikev2.c
sbin/iked/types.h

index 424bd99..398a9ff 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: ca.c,v 1.97 2023/09/02 18:16:02 tobhe Exp $   */
+/*     $OpenBSD: ca.c,v 1.98 2024/01/15 15:29:00 tobhe Exp $   */
 
 /*
  * Copyright (c) 2010-2013 Reyk Floeter <reyk@openbsd.org>
@@ -351,8 +351,8 @@ ca_dispatch_parent(int fd, struct privsep_proc *p, struct imsg *imsg)
        case IMSG_PUBKEY:
                config_getkey(env, imsg);
                break;
-       case IMSG_CERT_PARTIAL_CHAIN:
-               config_getcertpartialchain(env, imsg);
+       case IMSG_CTL_STATIC:
+               config_getstatic(env, imsg);
                break;
        default:
                return (-1);
index e1dabf7..157aeb4 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: config.c,v 1.93 2023/08/04 19:06:25 claudio Exp $     */
+/*     $OpenBSD: config.c,v 1.94 2024/01/15 15:29:00 tobhe Exp $       */
 
 /*
  * Copyright (c) 2019 Tobias Heider <tobias.heider@stusta.de>
@@ -900,6 +900,8 @@ config_setstatic(struct iked *env)
 {
        proc_compose(&env->sc_ps, PROC_IKEV2, IMSG_CTL_STATIC,
            &env->sc_static, sizeof(env->sc_static));
+       proc_compose(&env->sc_ps, PROC_CERT, IMSG_CTL_STATIC,
+           &env->sc_static, sizeof(env->sc_static));
        return (0);
 }
 
@@ -984,28 +986,6 @@ config_getocsp(struct iked *env, struct imsg *imsg)
        return (0);
 }
 
-int
-config_setcertpartialchain(struct iked *env)
-{
-       unsigned int boolval;
-
-       boolval = env->sc_cert_partial_chain;
-       proc_compose(&env->sc_ps, PROC_CERT, IMSG_CERT_PARTIAL_CHAIN,
-           &boolval, sizeof(boolval));
-       return (0);
-}
-
-int
-config_getcertpartialchain(struct iked *env, struct imsg *imsg)
-{
-       unsigned int boolval;
-
-       IMSG_SIZE_CHECK(imsg, &boolval);
-       memcpy(&boolval, imsg->data, sizeof(boolval));
-       env->sc_cert_partial_chain = boolval;
-       return (0);
-}
-
 int
 config_setkeys(struct iked *env)
 {
index 66268a9..e370424 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: iked.c,v 1.66 2023/06/28 12:31:19 gerhard Exp $       */
+/*     $OpenBSD: iked.c,v 1.67 2024/01/15 15:29:00 tobhe Exp $ */
 
 /*
  * Copyright (c) 2019 Tobias Heider <tobias.heider@stusta.de>
@@ -301,7 +301,6 @@ parent_configure(struct iked *env)
        config_setstatic(env);
        config_setcoupled(env, env->sc_decoupled ? 0 : 1);
        config_setocsp(env);
-       config_setcertpartialchain(env);
        /* Must be last */
        config_setmode(env, env->sc_passive ? 1 : 0);
 
@@ -334,7 +333,6 @@ parent_reload(struct iked *env, int reset, const char *filename)
                config_setstatic(env);
                config_setcoupled(env, env->sc_decoupled ? 0 : 1);
                config_setocsp(env);
-               config_setcertpartialchain(env);
                /* Must be last */
                config_setmode(env, env->sc_passive ? 1 : 0);
        } else {
index bdfac0e..89d491a 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: iked.h,v 1.224 2023/08/11 11:24:55 tobhe Exp $        */
+/*     $OpenBSD: iked.h,v 1.225 2024/01/15 15:29:00 tobhe Exp $        */
 
 /*
  * Copyright (c) 2019 Tobias Heider <tobias.heider@stusta.de>
@@ -774,6 +774,7 @@ enum natt_mode {
 
 struct iked_static {
        uint64_t                 st_alive_timeout;
+       int                      st_cert_partial_chain;
        int                      st_enforcesingleikesa;
        uint8_t                  st_frag;       /* fragmentation */
        uint8_t                  st_mobike;     /* MOBIKE */
@@ -793,6 +794,7 @@ struct iked {
        struct iked_static               sc_static;
 
 #define sc_alive_timeout       sc_static.st_alive_timeout
+#define sc_cert_partial_chain  sc_static.st_cert_partial_chain
 #define sc_enforcesingleikesa  sc_static.st_enforcesingleikesa
 #define sc_frag                        sc_static.st_frag
 #define sc_mobike              sc_static.st_mobike
@@ -836,8 +838,6 @@ struct iked {
 
        struct iked_addrpool             sc_addrpool;
        struct iked_addrpool6            sc_addrpool6;
-
-       int                              sc_cert_partial_chain;
 };
 
 struct iked_socket {
@@ -940,8 +940,6 @@ int  config_setkeys(struct iked *);
 int     config_getkey(struct iked *, struct imsg *);
 int     config_setstatic(struct iked *);
 int     config_getstatic(struct iked *, struct imsg *);
-int     config_setcertpartialchain(struct iked *);
-int     config_getcertpartialchain(struct iked *, struct imsg *);
 
 /* policy.c */
 void    policy_init(struct iked *);
index 673327a..e8eefdb 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: ikev2.c,v 1.380 2023/11/24 14:43:00 tobhe Exp $       */
+/*     $OpenBSD: ikev2.c,v 1.381 2024/01/15 15:29:00 tobhe Exp $       */
 
 /*
  * Copyright (c) 2019 Tobias Heider <tobias.heider@stusta.de>
@@ -295,8 +295,6 @@ ikev2_dispatch_parent(int fd, struct privsep_proc *p, struct imsg *imsg)
                return (config_getcompile(env));
        case IMSG_CTL_STATIC:
                return (config_getstatic(env, imsg));
-       case IMSG_CERT_PARTIAL_CHAIN:
-               return(config_getcertpartialchain(env, imsg));
        default:
                break;
        }
index 64923db..fd8add5 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: types.h,v 1.52 2023/03/04 22:22:51 tobhe Exp $        */
+/*     $OpenBSD: types.h,v 1.53 2024/01/15 15:29:00 tobhe Exp $        */
 
 /*
  * Copyright (c) 2019 Tobias Heider <tobias.heider@stusta.de>
@@ -116,7 +116,6 @@ enum imsg_type {
        IMSG_CERT,
        IMSG_CERTVALID,
        IMSG_CERTINVALID,
-       IMSG_CERT_PARTIAL_CHAIN,
        IMSG_SCERT,
        IMSG_IF_ADDADDR,
        IMSG_IF_DELADDR,