On 10/20/2014 02:53 PM, Jakub Hrozek wrote:
On Mon, Oct 20, 2014 at 01:24:38PM +0200, Jakub Hrozek wrote:
> I found a bug in the IFP initialization. The rest of the patches is
> unchanged, only ifpsrv.c changed.
Sorry, one more respin. I added a patch to chown the debug logs.
Initially, I wanted to open the debug logs as root and then just pass
the fd, but then I realized this wouldn't work for logfile rotation. So
I'm afraid we need to chown the log files..
The other patches are unchanged, just a new one was added.
_______________________________________________
sssd-devel mailing list
sssd-devel(a)lists.fedorahosted.org
https://lists.fedorahosted.org/mailman/listinfo/sssd-devel
The changes LGTM I have just one nitpick
+/* In cases SSSD used to run as the root user, but runs as the SSSD
user now,
+ * we need to chown the log files
+ */
+int chown_debug_file(const char *filename,
+ uid_t uid, gid_t gid)
+{
+ char *logpath;
+ const char *log_file;
+ errno_t ret;
+
+ if (filename == NULL) {
+ log_file = debug_log_file;
+ } else {
+ log_file = filename;
+ }
+
+ ret = asprintf(&logpath, "%s/%s.log", LOG_PATH, log_file);
+ if (ret == -1) {
+ return ENOMEM;
+ }
+
+ errno = 0;
No need to set errno as we check ret val of chown and not directly
errno.
+ ret = chown(logpath, uid, gid);
+ free(logpath);
+ if (ret != 0) {
+ ret = errno;
+ DEBUG(SSSDBG_FATAL_FAILURE, "chown failed for [%s]: [%d]\n",
+ log_file, ret);
+ return ret;
+ }
+
+ return EOK;
+}
+