From: Ray Strode Date: Tue, 12 Aug 2008 17:28:13 +0000 (-0400) Subject: Make boot.log world readable by default X-Git-Tag: 0.6.0~208 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fc5cd88767db61805519fef53182386ba56c6405;p=thirdparty%2Fplymouth.git Make boot.log world readable by default Before we were only making it readable by root, but that doesn't make sense. It's not secret information or anything. --- diff --git a/src/libply/ply-logger.c b/src/libply/ply-logger.c index 22f72336..d6026e53 100644 --- a/src/libply/ply-logger.c +++ b/src/libply/ply-logger.c @@ -285,18 +285,28 @@ ply_logger_free (ply_logger_t *logger) bool ply_logger_open_file (ply_logger_t *logger, - const char *filename) + const char *filename, + bool world_readable) { int fd; + mode_t mode; assert (logger != NULL); assert (filename != NULL); - fd = open (filename, PLY_LOGGER_OPEN_FLAGS, 0600); + if (world_readable) + mode = 0644; + else + mode = 0600; + + fd = open (filename, PLY_LOGGER_OPEN_FLAGS, mode); if (fd < 0) return false; + if (fchmod (fd, mode) < 0) + return false; + ply_logger_set_output_fd (logger, fd); free (logger->filename); diff --git a/src/libply/ply-logger.h b/src/libply/ply-logger.h index 34ccecd7..668616c7 100644 --- a/src/libply/ply-logger.h +++ b/src/libply/ply-logger.h @@ -39,7 +39,8 @@ typedef enum ply_logger_t *ply_logger_new (void); void ply_logger_free (ply_logger_t *logger); bool ply_logger_open_file (ply_logger_t *logger, - const char *filename); + const char *filename, + bool world_readable); void ply_logger_close_file (ply_logger_t *logger); void ply_logger_set_output_fd (ply_logger_t *logger, int fd); @@ -96,7 +97,7 @@ while (0) /* convenience macros */ #define ply_open_log_file(filename) \ - ply_logger_open_file (ply_logger_get_default (), filename) + ply_logger_open_file (ply_logger_get_default (), filename, false) #define ply_close_log_file() \ ply_logger_close_file (ply_logger_get_default ()) #define ply_flush_log() \ diff --git a/src/libply/ply-terminal-session.c b/src/libply/ply-terminal-session.c index 8be1df3f..95ab0dd7 100644 --- a/src/libply/ply-terminal-session.c +++ b/src/libply/ply-terminal-session.c @@ -438,7 +438,7 @@ ply_terminal_session_open_log (ply_terminal_session_t *session, assert (session->logger != NULL); ply_save_errno (); - log_is_opened = ply_logger_open_file (session->logger, filename); + log_is_opened = ply_logger_open_file (session->logger, filename, true); if (log_is_opened) ply_logger_flush (session->logger); ply_restore_errno ();