]> git.meshlink.io Git - meshlink/blobdiff - src/devtools.c
Add a probe point for SPTPS renewal and devtool_force_sptps_renewal().
[meshlink] / src / devtools.c
index 5bd061800a0c72f7445cab68cb344d6570470f8c..fb6ab257a0f3eae901ff869c53a774aeb48c413d 100644 (file)
@@ -44,10 +44,16 @@ static void inviter_commits_first_nop_probe(bool stage) {
        return;
 }
 
+static void sptps_renewal_nop_probe(meshlink_node_t *node) {
+       (void)node;
+       return;
+}
+
 void (*devtool_trybind_probe)(void) = nop_probe;
 void (*devtool_keyrotate_probe)(int stage) = keyrotate_nop_probe;
 void (*devtool_set_inviter_commits_first)(bool inviter_commited_first) = inviter_commits_first_nop_probe;
 void (*devtool_adns_resolve_probe)(void) = nop_probe;
+void (*devtool_sptps_renewal_probe)(meshlink_node_t *node) = sptps_renewal_nop_probe;
 
 /* Return an array of edges in the current network graph.
  * Data captures the current state and will not be updated.
@@ -337,3 +343,19 @@ meshlink_handle_t *devtool_open_in_netns(const char *confbase, const char *name,
 
        return handle;
 }
+
+void devtool_force_sptps_renewal(meshlink_handle_t *mesh, meshlink_node_t *node) {
+       if(!mesh || !node) {
+               meshlink_errno = MESHLINK_EINVAL;
+               return;
+       }
+
+       node_t *n = (node_t *)node;
+       connection_t *c = n->connection;
+
+       n->last_req_key = 0;
+
+       if(c) {
+               c->last_key_renewal = 0;
+       }
+}