To stabilize the simscan 1.4.0 2010081502 * strsep bug in Solaris - Tom Collins * set exit code on errors - Jeremy Kister * band-aid simscanmk NFS timing issue on solaris - Tom Collins * RFC2822 Received field compliance - Tullio Andreatta ######################################################################## Common subdirectories: simscan-1.4.0.original//CVS and simscan-1.4.0//CVS Common subdirectories: simscan-1.4.0.original//autom4te.cache and simscan-1.4.0//autom4te.cache Common subdirectories: simscan-1.4.0.original//cdb and simscan-1.4.0//cdb diff -uN simscan-1.4.0.original//configure simscan-1.4.0//configure --- simscan-1.4.0.original//configure 2007-10-29 10:14:25.000000000 -0400 +++ simscan-1.4.0//configure 2010-08-15 22:33:38.284853498 -0400 @@ -1592,7 +1592,7 @@ # Define the identity of the package. PACKAGE=simscan - VERSION=1.4.0 + VERSION=1.4.0+stabilize-2010081502 cat >>confdefs.h <<_ACEOF diff -uN simscan-1.4.0.original//configure.in simscan-1.4.0//configure.in --- simscan-1.4.0.original//configure.in 2007-10-29 10:13:40.000000000 -0400 +++ simscan-1.4.0//configure.in 2010-08-15 22:33:58.639214333 -0400 @@ -1,7 +1,7 @@ dnl Process this file with autoconf to produce a configure script. AC_INIT(simscan.c) -AM_INIT_AUTOMAKE(simscan,1.4.0) +AM_INIT_AUTOMAKE(simscan,1.4.0+stabilize-2010081502) AM_CONFIG_HEADER(config.h) AC_CANONICAL_HOST AC_CHECK_FUNCS([strsep]) Common subdirectories: simscan-1.4.0.original//contrib and simscan-1.4.0//contrib diff -uN simscan-1.4.0.original//simscan.c simscan-1.4.0//simscan.c --- simscan-1.4.0.original//simscan.c 2007-10-29 10:15:05.000000000 -0400 +++ simscan-1.4.0//simscan.c 2010-08-15 22:35:32.978706222 -0400 @@ -73,6 +73,9 @@ 91 Envelope format error. */ +#if HAVE_STRSEP!=1 +char *strsep (char **pp, char *delim); +#endif #ifdef QUARANTINEDIR void quarantine_msg(char *message_name); @@ -214,6 +217,11 @@ /* write a received line */ #ifdef ENABLE_RECEIVED char runned_scanners[MAX_EMAIL]=""; +struct tm *tm; +static char monthname[12][4] = { + "Jan","Feb","Mar","Apr","May","Jun", + "Jul","Aug","Sep","Oct","Nov","Dec"}; + void add_run_scanner(char *key); #endif @@ -772,10 +780,13 @@ #ifdef ENABLE_RECEIVED gettimeofday(&stop,(struct timezone *) 0); utime=SECS(stop)-SECS(start); - snprintf(buffer,sizeof(buffer), -"Received: by simscan %s ppid: %d, pid: %d, t: %3.4fs\n scanners:%s\n", - VERSION,getppid(),getpid(),utime, - strlen(runned_scanners) > 0 ? runned_scanners : "none"); + + tm = gmtime(&start.tv_sec); + snprintf(buffer,sizeof(buffer), "Received: (simscan %s ppid %ld pid %d t %.4fs)\n" + " (scanners: %s); %02d %s %04d %02d:%02d:%02d -0000\n", + VERSION, getppid(), getpid(), utime, runned_scanners[0] ? runned_scanners : "none", + tm->tm_mday,monthname[tm->tm_mon],tm->tm_year,tm->tm_hour,tm->tm_min,tm->tm_sec); + if ( write(pim[1], buffer,strlen(buffer)) == -1 ) { if ( DebugFlag > 0 ) { fprintf(stderr, "simscan: error writing received line\n"); diff -uN simscan-1.4.0.original//simscanmk.c simscan-1.4.0//simscanmk.c --- simscan-1.4.0.original//simscanmk.c 2006-10-10 19:15:17.000000000 -0400 +++ simscan-1.4.0//simscanmk.c 2010-08-15 22:37:09.621368363 -0400 @@ -72,10 +72,12 @@ get_options(argc,argv); #ifdef ENABLE_RECEIVED if (buildversions){ - make_version_cdb(); + int xcode = make_version_cdb(); + if (xcode != 0) exit(xcode); } else { #endif - make_cdb(); + int xcode = make_cdb(); + if (xcode != 0) exit(xcode); #ifdef ENABLE_RECEIVED } #endif @@ -369,6 +371,7 @@ static char input[MAX_LINE]; uint32 h; + sleep(0); /* some NFS timing crazyness on solaris */ if ( (fs = fopen(ClearFile,"r")) == NULL) { printf("Not building simcontrol.cdb file. No %s/simcontrol text file\n",