X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flibsystemd%2Fsd-bus%2Fbus-dump.c;h=b57ac41e055cdf19210d1d9259df14b1ad66c812;hb=1797280193ea25a91cc38332c7cee34ba01e7808;hp=d6e5546053e6181ebb6c4fa7f9e0e2762c42f26b;hpb=705a415f684f8e9ee19983e5859de00bbb1477cb;p=elogind.git diff --git a/src/libsystemd/sd-bus/bus-dump.c b/src/libsystemd/sd-bus/bus-dump.c index d6e554605..b57ac41e0 100644 --- a/src/libsystemd/sd-bus/bus-dump.c +++ b/src/libsystemd/sd-bus/bus-dump.c @@ -126,7 +126,7 @@ int bus_message_dump(sd_bus_message *m, FILE *f, unsigned flags) { r = sd_bus_message_rewind(m, !(flags & BUS_MESSAGE_DUMP_SUBTREE_ONLY)); if (r < 0) { - log_error("Failed to rewind: %s", strerror(-r)); + log_error_errno(r, "Failed to rewind: %m"); return r; } @@ -152,7 +152,7 @@ int bus_message_dump(sd_bus_message *m, FILE *f, unsigned flags) { r = sd_bus_message_peek_type(m, &type, &contents); if (r < 0) { - log_error("Failed to peek type: %s", strerror(-r)); + log_error_errno(r, "Failed to peek type: %m"); return r; } @@ -162,7 +162,7 @@ int bus_message_dump(sd_bus_message *m, FILE *f, unsigned flags) { r = sd_bus_message_exit_container(m); if (r < 0) { - log_error("Failed to exit container: %s", strerror(-r)); + log_error_errno(r, "Failed to exit container: %m"); return r; } @@ -183,7 +183,7 @@ int bus_message_dump(sd_bus_message *m, FILE *f, unsigned flags) { if (bus_type_is_container(type) > 0) { r = sd_bus_message_enter_container(m, type, contents); if (r < 0) { - log_error("Failed to enter container: %s", strerror(-r)); + log_error_errno(r, "Failed to enter container: %m"); return r; } @@ -203,7 +203,7 @@ int bus_message_dump(sd_bus_message *m, FILE *f, unsigned flags) { r = sd_bus_message_read_basic(m, type, &basic); if (r < 0) { - log_error("Failed to get basic: %s", strerror(-r)); + log_error_errno(r, "Failed to get basic: %m"); return r; } @@ -384,8 +384,18 @@ int bus_creds_dump(sd_bus_creds *c, FILE *f, bool terse) { if (c->mask & SD_BUS_CREDS_FSGID) fprintf(f, "%sFSGID=%s"GID_FMT"%s", prefix, color, c->fsgid, suffix); + if (c->mask & SD_BUS_CREDS_SUPPLEMENTARY_GIDS) { + unsigned i; + + fprintf(f, "%sSupplementaryGIDs=%s", prefix, color); + for (i = 0; i < c->n_supplementary_gids; i++) + fprintf(f, "%s" GID_FMT, i > 0 ? " " : "", c->supplementary_gids[i]); + fprintf(f, "%s", suffix); + } + if (terse && ((c->mask & (SD_BUS_CREDS_UID|SD_BUS_CREDS_EUID|SD_BUS_CREDS_SUID|SD_BUS_CREDS_FSUID| - SD_BUS_CREDS_GID|SD_BUS_CREDS_EGID|SD_BUS_CREDS_SGID|SD_BUS_CREDS_FSGID)) || r >= 0)) + SD_BUS_CREDS_GID|SD_BUS_CREDS_EGID|SD_BUS_CREDS_SGID|SD_BUS_CREDS_FSGID| + SD_BUS_CREDS_SUPPLEMENTARY_GIDS)) || r >= 0)) fputs("\n", f); if (c->mask & SD_BUS_CREDS_COMM)