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@lists.fedorahosted.org https://lists.fedorahosted.org/mailman/listinfo/sssd-devel
+/* In cases SSSD used to run as the root user, but runs as the SSSD user now,No need to set errno as we check ret val of chown and not directly errno.
+ * 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;
+ 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;
+}
+