cvsdist 44cd9e5
--- perl-5.7.3/perl.c.syslog	Thu May 23 22:26:46 2002
cvsdist 44cd9e5
+++ perl-5.7.3/perl.c	Thu May 23 22:28:55 2002
cvsdist 44cd9e5
@@ -21,6 +21,10 @@
cvsdist 44cd9e5
 #include <unistd.h>
cvsdist 44cd9e5
 #endif
cvsdist 44cd9e5
 
cvsdist 44cd9e5
+#ifdef I_SYSLOG
cvsdist 44cd9e5
+#include <syslog.h>
cvsdist 44cd9e5
+#endif
cvsdist 44cd9e5
+
cvsdist 44cd9e5
 #if !defined(STANDARD_C) && !defined(HAS_GETENV_PROTOTYPE) && !defined(PERL_MICRO)
cvsdist 44cd9e5
 char *getenv (char *); /* Usually in <stdlib.h> */
cvsdist 44cd9e5
 #endif
cvsdist 44cd9e5
@@ -3017,6 +3021,16 @@
cvsdist 44cd9e5
 	    if (tmpstatbuf.st_dev != PL_statbuf.st_dev ||
cvsdist 44cd9e5
 		tmpstatbuf.st_ino != PL_statbuf.st_ino) {
cvsdist 44cd9e5
 		(void)PerlIO_close(PL_rsfp);
cvsdist 44cd9e5
+#ifdef I_SYSLOG
cvsdist 44cd9e5
+               openlog("suidperl", LOG_CONS | LOG_PID | LOG_NDELAY, LOG_AUTHPRIV);
cvsdist 44cd9e5
+               syslog(LOG_ALERT, "User %ld tried to run dev %ld ino %ld in "
cvsdist 44cd9e5
+                      "place of dev %ld ino %ld!", PL_uid,
cvsdist 44cd9e5
+                      (long)tmpstatbuf.st_dev, (long)tmpstatbuf.st_ino,
cvsdist 44cd9e5
+                      (long)PL_statbuf.st_dev, (long)PL_statbuf.st_ino);
cvsdist 44cd9e5
+               syslog(LOG_ALERT, "Filename of setuid script was %s, uid %"
cvsdist 44cd9e5
+                      Uid_t_f" gid %"Gid_t_f".", CopFILE(PL_curcop),
cvsdist 44cd9e5
+                      PL_statbuf.st_uid, PL_statbuf.st_gid);
cvsdist 44cd9e5
+#endif
cvsdist 44cd9e5
 		Perl_croak(aTHX_ "Permission denied\n");
cvsdist 44cd9e5
 	    }
cvsdist 44cd9e5
 	    if (