comparison src/local.c @ 114:a80ebfa16cd5

better debugging output (thanks to Paolo)
author meillo@marmaro.de
date Wed, 30 Jun 2010 15:00:59 +0200
parents f671821d8222
children d1c53e76096f
comparison
equal deleted inserted replaced
113:c93023f58cc7 114:a80ebfa16cd5
68 gid_ok = (setegid(conf.mail_gid) == 0); 68 gid_ok = (setegid(conf.mail_gid) == 0);
69 uid_ok = (seteuid(pw->pw_uid) == 0); 69 uid_ok = (seteuid(pw->pw_uid) == 0);
70 } 70 }
71 } 71 }
72 72
73 DEBUG(5) debugf("running as euid %d\n", geteuid()); 73 DEBUG(5) debugf("running as euid %d, egid %d\n", geteuid(), getegid());
74 DEBUG(5) debugf("running as egid %d\n", getegid());
75 74
76 if (uid_ok && gid_ok) { 75 if (uid_ok && gid_ok) {
77 gchar *filename; 76 gchar *filename;
78 FILE *out; 77 FILE *out;
79 78
166 gid_ok = (setegid(conf.mail_gid) == 0); 165 gid_ok = (setegid(conf.mail_gid) == 0);
167 uid_ok = (seteuid(pw->pw_uid) == 0); 166 uid_ok = (seteuid(pw->pw_uid) == 0);
168 } 167 }
169 } 168 }
170 169
171 DEBUG(5) debugf("running as euid %d\n", geteuid()); 170 DEBUG(5) debugf("running as euid %d, egid %d\n", geteuid(), getegid());
172 DEBUG(5) debugf("running as egid %d\n", getegid());
173 171
174 if (uid_ok && gid_ok) { 172 if (uid_ok && gid_ok) {
175 char *path = g_strdup_printf("%s/Maildir", pw->pw_dir); 173 char *path = g_strdup_printf("%s/Maildir", pw->pw_dir);
176 struct stat statbuf; 174 struct stat statbuf;
177 int ret; 175 int ret;
178 176
179 DEBUG(5) debugf("path = %s\n", path); 177 DEBUG(5) debugf(" path = %s\n", path);
180 178
181 ok = TRUE; 179 ok = TRUE;
182 ret = stat(path, &statbuf); 180 ret = stat(path, &statbuf);
183 if (ret != 0) { 181 if (ret != 0) {
184 ok = FALSE; 182 ok = FALSE;