--- atd.c.orig +++ atd.c @@ -612,11 +612,13 @@ run_file(const char *filename, uid_t uid unlink(filename); #ifdef WITH_PAM + PRIV_START pam_setcred(pamh, PAM_DELETE_CRED | PAM_SILENT ); pam_close_session(pamh, PAM_SILENT); pam_end(pamh, PAM_ABORT); closelog(); openlog("atd", LOG_PID, LOG_ATD); + PRIV_END #endif /* The job is now finished. We can delete its input file. @@ -737,11 +739,13 @@ run_file(const char *filename, uid_t uid waitpid(mail_pid, (int *) NULL, 0); } #ifdef WITH_PAM + PRIV_START pam_setcred(pamh, PAM_DELETE_CRED | PAM_SILENT ); pam_close_session(pamh, PAM_SILENT); pam_end(pamh, PAM_ABORT); closelog(); openlog("atd", LOG_PID, LOG_ATD); + PRIV_END #endif } exit(EXIT_SUCCESS);