I have found that netplugd is reporting an error in the journal indicating it is killing a process when a link state transition happens. Example journal message: Jul 28 19:36:31 eos-a netplugd[2405]: /etc/netplug/netplug eth0 in -> pid 2405 Jul 28 19:36:31 eos-a netplugd[2404]: Unexpected child 1106527440 exited with status 0 And as a result it appears that the scripts in /etc/network/if-* are not getting called so our scripts which give our application link state changes are not being called. I backed out the patch 70no-executable-stack.patch and rebuilt that and then everything started working as I was expecting.
I worked out the bug in the 70no-executable-stack.patch. I realize this is not in the correct form for a Debian patch. I am hoping the maintainers get this rolled into a Trixie fix for this package.
diff --git a/if_info.c b/if_info.c
index fbf6ffd..d2c8f02 100644
--- a/if_info.c
+++ b/if_info.c
@@ -317,7 +317,7 @@ void ifsm_scriptdone(pid_t pid, int exitstatus)
int find_pid(struct if_info *i, void *arg) {
pid_t pid = *(pid_t *)(((void **)arg)[0]);
- struct if_info **info = (struct if_info **)(((void **)arg)[0]);
+ struct if_info **info = (struct if_info **)(((void **)arg)[1]);
if (i->worker == pid) {
*info = i;
I worked out the bug in the 70no-executable-stack.patch. I realize this is not in the correct form for a Debian patch. I am hoping the maintainers get this rolled into a Trixie fix for this package.
diff --git a/if_info.c b/if_info.c
index fbf6ffd..d2c8f02 100644
--- a/if_info.c
+++ b/if_info.c
@@ -317,7 +317,7 @@ void ifsm_scriptdone(pid_t pid, int exitstatus)
int find_pid(struct if_info *i, void *arg) {
pid_t pid = *(pid_t *)(((void **)arg)[0]);
- struct if_info **info = (struct if_info **)(((void **)arg)[0]);
+ struct if_info **info = (struct if_info **)(((void **)arg)[1]);
if (i->worker == pid) {
*info = i;