commit e363f37338a22278024be1d227fba6208c0e1976 from: Stefan Sperling date: Wed Jul 30 12:50:24 2025 UTC ensure that error messages from gotsysd libexec helpers get logged commit - 47401bdb9012816db071e58a63f3a73486eecd3e commit + e363f37338a22278024be1d227fba6208c0e1976 blob - 953bf687d75b924af61456ac698d4683cfe2dd49 blob + fe0a2f05c2dbbe860c3b503b97febf4566ff2ea6 --- gotsysd/libexec/gotsys-apply-conf/gotsys-apply-conf.c +++ gotsysd/libexec/gotsys-apply-conf/gotsys-apply-conf.c @@ -448,17 +448,19 @@ done: err = got_error_from_errno("close"); if (secrets_fd != -1 && close(secrets_fd) == -1 && err == NULL) err = got_error_from_errno("close"); - if (err) { - fprintf(stderr, "%s: %s\n", getprogname(), err->msg); - gotsysd_imsg_send_error(&gotsysd_iev.ibuf, 0, 0, err); - } if (gotsysd_iev.ibuf.fd != -1) imsgbuf_clear(&gotsysd_iev.ibuf); if (gotd_iev.ibuf.fd != -1) imsgbuf_clear(&gotd_iev.ibuf); - if (close(GOTSYSD_FILENO_MSG_PIPE) == -1 && err == NULL) - err = got_error_from_errno("close"); if (gotd_sock != -1 && close(gotd_sock) == -1 && err == NULL) + err = got_error_from_errno("close"); + if (err) { + fprintf(stderr, "%s: %s\n", getprogname(), err->msg); + gotsysd_imsg_send_error(&gotsysd_iev.ibuf, 0, 0, err); + } + if (close(GOTSYSD_FILENO_MSG_PIPE) == -1 && err == NULL) { err = got_error_from_errno("close"); + fprintf(stderr, "%s: %s\n", getprogname(), err->msg); + } return err ? 1 : 0; } blob - 8e3e40da1a48c9d2f58e00a85d3e7a794444d023 blob + b089d372683108989a7c20f57dbe3fac47729c16 --- gotsysd/libexec/gotsys-groupadd/gotsys-groupadd.c +++ gotsysd/libexec/gotsys-groupadd/gotsys-groupadd.c @@ -686,21 +686,18 @@ main(int argc, char **argv) event_dispatch(); done: - if (close(GOTSYSD_FILENO_MSG_PIPE) == -1 && err == NULL) { - err = got_error_from_errno("close"); - gotsysd_imsg_send_error(&iev.ibuf, 0, 0, err); - } - - if (group_temp && fclose(group_temp) == EOF && err == NULL) { + if (group_temp && fclose(group_temp) == EOF && err == NULL) err = got_error_from_errno2("fclose", group_temp_path); - gotsysd_imsg_send_error(&iev.ibuf, 0, 0, err); - } - - if (group_temp_path && unlink(group_temp_path) == -1 && err == NULL) { + if (group_temp_path && unlink(group_temp_path) == -1 && err == NULL) err = got_error_from_errno2("unlink", group_temp_path); + if (err) { + fprintf(stderr, "%s: %s\n", getprogname(), err->msg); gotsysd_imsg_send_error(&iev.ibuf, 0, 0, err); } - + if (close(GOTSYSD_FILENO_MSG_PIPE) == -1 && err == NULL) { + err = got_error_from_errno("close"); + fprintf(stderr, "%s: %s\n", getprogname(), err->msg); + } free(group_temp_path); imsgbuf_clear(&iev.ibuf); return err ? 1 : 0; blob - 44ee2119c6a0b8e920787724490fd709ede7dc17 blob + bf14d5a01337e3cd00432ebf69be96fb1010f03e --- gotsysd/libexec/gotsys-read-conf/gotsys-read-conf.c +++ gotsysd/libexec/gotsys-read-conf/gotsys-read-conf.c @@ -26,6 +26,7 @@ #include #include #include +#include #include #include "got_error.h" @@ -266,7 +267,7 @@ done: imsgbuf_clear(&iev.ibuf); if (close(GOTSYSD_FILENO_MSG_PIPE) == -1 && err == NULL) { err = got_error_from_errno("close"); - gotsysd_imsg_send_error(&iev.ibuf, 0, 0, err); + fprintf(stderr, "%s: %s\n", getprogname(), err->msg); } return err ? 1 : 0; } blob - 0022bec28505fa335dd8deeebaaefa71b090f25f blob + 59b5a043614e9af1be1d6819c54c7780c2bbd554 --- gotsysd/libexec/gotsys-repo-create/gotsys-repo-create.c +++ gotsysd/libexec/gotsys-repo-create/gotsys-repo-create.c @@ -496,14 +496,18 @@ main(int argc, char **argv) event_dispatch(); done: + if (error) + gotsysd_imsg_send_error(&iev.ibuf, 0, 0, error); if (repos_dir_fd != -1 && close(repos_dir_fd) == -1 && error == NULL) error = got_error_from_errno("close"); - if (close(GOTSYSD_FILENO_MSG_PIPE) == -1 && error == NULL) - error = got_error_from_errno("close"); if (error) { - warnx("%s", error->msg); + fprintf(stderr, "%s: %s\n", getprogname(), error->msg); gotsysd_imsg_send_error(&iev.ibuf, 0, 0, error); } + if (close(GOTSYSD_FILENO_MSG_PIPE) == -1 && error == NULL) { + error = got_error_from_errno("close"); + fprintf(stderr, "%s: %s\n", getprogname(), error->msg); + } imsgbuf_clear(&iev.ibuf); return error ? 1 : 0; } blob - 92da3e9ed49ecbf470550609078515eca6349180 blob + 95d8ee39598d3a3e20ba91667a65ee5d15ae421d --- gotsysd/libexec/gotsys-rmkeys/gotsys-rmkeys.c +++ gotsysd/libexec/gotsys-rmkeys/gotsys-rmkeys.c @@ -306,5 +306,7 @@ main(int argc, char **argv) done: gotsys_userlist_purge(&gotsysconf_users); imsgbuf_clear(&iev.ibuf); + if (err) + fprintf(stderr, "%s: %s\n", getprogname(), err->msg); return err ? 1 : 0; } blob - bf83573c240a3f71b09cbf1d56845a5ddc743cd8 blob + 22993eaeac8cb1cb56b68b3aec8a0f1563bd7860 --- gotsysd/libexec/gotsys-sshdconfig/gotsys-sshdconfig.c +++ gotsysd/libexec/gotsys-sshdconfig/gotsys-sshdconfig.c @@ -333,10 +333,14 @@ done: close(sshd_config_tmpfd) == -1 && error == NULL) error = got_error_from_errno2("close", sshd_config_tmppath); free(sshd_config_tmppath); - if (close(GOTSYSD_FILENO_MSG_PIPE) == -1 && error == NULL) - error = got_error_from_errno("close"); - if (error) + if (error) { + fprintf(stderr, "%s: %s\n", getprogname(), error->msg); gotsysd_imsg_send_error(&iev.ibuf, 0, 0, error); + } + if (close(GOTSYSD_FILENO_MSG_PIPE) == -1 && error == NULL) { + error = got_error_from_errno("close"); + fprintf(stderr, "%s: %s\n", getprogname(), error->msg); + } imsgbuf_clear(&iev.ibuf); return error ? 1 : 0; } blob - c7dbe6c154af86c95cb78fd351ade423c0e54aef blob + a36f393cbcb3177e1b10c06ded19e7f21c032c72 --- gotsysd/libexec/gotsys-useradd/gotsys-useradd.c +++ gotsysd/libexec/gotsys-useradd/gotsys-useradd.c @@ -970,10 +970,6 @@ main(int argc, char **argv) event_dispatch(); done: gotsys_userlist_purge(&adduser_users); - if (close(GOTSYSD_FILENO_MSG_PIPE) == -1 && err == NULL) { - err = got_error_from_errno("close"); - gotsysd_imsg_send_error(&iev.ibuf, 0, 0, err); - } #if 0 if (mp_db_temp && fclose(mp_db_temp) == EOF && err == NULL) { err = got_error_from_errno2("fclose", mp_db_temp_path); @@ -1007,6 +1003,10 @@ done: free(smp_db_temp_path); #endif free(group_temp_path); + if (close(GOTSYSD_FILENO_MSG_PIPE) == -1 && err == NULL) { + err = got_error_from_errno("close"); + fprintf(stderr, "%s: %s\n", getprogname(), err->msg); + } imsgbuf_clear(&iev.ibuf); return err ? 1 : 0; } blob - 683b0947c22e1c2ddc25ebe17483cafb03847799 blob + 6db22b4f35e5bcb9a93cd7bdfc34e856e3669285 --- gotsysd/libexec/gotsys-userhome/gotsys-userhome.c +++ gotsysd/libexec/gotsys-userhome/gotsys-userhome.c @@ -364,7 +364,7 @@ main(int argc, char **argv) done: if (close(GOTSYSD_FILENO_MSG_PIPE) == -1 && err == NULL) { err = got_error_from_errno("close"); - gotsysd_imsg_send_error(&iev.ibuf, 0, 0, err); + fprintf(stderr, "%s: %s\n", getprogname(), err->msg); } imsgbuf_clear(&iev.ibuf); return err ? 1 : 0; blob - 0fcc5a687a031594482c0015d28b257fe642e9a2 blob + 85247e9112e6bb40448e21e69afb0073b62517f1 --- gotsysd/libexec/gotsys-userkeys/gotsys-userkeys.c +++ gotsysd/libexec/gotsys-userkeys/gotsys-userkeys.c @@ -418,11 +418,15 @@ done: if (authorized_keys_tmpfd != -1 && close(authorized_keys_tmpfd) == -1 && error == NULL) error = got_error_from_errno2("close", authorized_keys_tmppath); + if (error) { + gotsysd_imsg_send_error(&iev.ibuf, 0, 0, error); + fprintf(stderr, "%s: %s\n", getprogname(), error->msg); + } free(authorized_keys_tmppath); - if (close(GOTSYSD_FILENO_MSG_PIPE) == -1 && error == NULL) + if (close(GOTSYSD_FILENO_MSG_PIPE) == -1 && error == NULL) { error = got_error_from_errno("close"); - if (error) - gotsysd_imsg_send_error(&iev.ibuf, 0, 0, error); + fprintf(stderr, "%s: %s\n", getprogname(), error->msg); + } imsgbuf_clear(&iev.ibuf); return error ? 1 : 0; } blob - 12ca1fecf1f999c56f4cc86fe5638973e2a976e2 blob + 1fb23e1efc3fb48df0a11e28046f9e271e8cdb92 --- gotsysd/libexec/gotsys-write-conf/gotsys-write-conf.c +++ gotsysd/libexec/gotsys-write-conf/gotsys-write-conf.c @@ -1326,8 +1326,6 @@ done: err == NULL) err = got_error_from_errno2("unlink", gotd_secrets_tmppath); free(gotd_secrets_tmppath); - if (close(GOTSYSD_FILENO_MSG_PIPE) == -1 && err == NULL) - err = got_error_from_errno("close"); if (gotd_conf_tmpfd != -1 && close(gotd_conf_tmpfd) == -1 && err == NULL) err = got_error_from_errno("close"); @@ -1336,6 +1334,10 @@ done: err = got_error_from_errno("close"); if (err) gotsysd_imsg_send_error(&iev.ibuf, 0, 0, err); + if (close(GOTSYSD_FILENO_MSG_PIPE) == -1 && err == NULL) { + err = got_error_from_errno("close"); + fprintf(stderr, "%s: %s\n", getprogname(), err->msg); + } imsgbuf_clear(&iev.ibuf); return err ? 1 : 0; }