]> git.ipfire.org Git - thirdparty/plymouth.git/commitdiff
Make boot.log world readable by default
authorRay Strode <rstrode@redhat.com>
Tue, 12 Aug 2008 17:28:13 +0000 (13:28 -0400)
committerRay Strode <rstrode@redhat.com>
Tue, 12 Aug 2008 17:35:10 +0000 (13:35 -0400)
Before we were only making it readable by root, but
that doesn't make sense. It's not secret information
or anything.

src/libply/ply-logger.c
src/libply/ply-logger.h
src/libply/ply-terminal-session.c

index 22f7233683739ca7c6a0ec2b46b78da1c77d1386..d6026e533b544b3ff355687c5946057605428b21 100644 (file)
@@ -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);
index 34ccecd77a3acc7d482d950318372cc2429bdec6..668616c78899d666ea072854bbfb99229138745f 100644 (file)
@@ -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()                                                        \
index 8be1df3f84fa2995946325f040112d855f2201e4..95ab0dd79a9f1ead57ee5d75e93eb0770216825c 100644 (file)
@@ -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 ();