diff -ur sendmail-8.12.10/vacation/vacation.c sendmail-8.12.10-jm/vacation/vacation.c --- sendmail-8.12.10/vacation/vacation.c Fri Nov 1 11:48:55 2002 +++ sendmail-8.12.10-jm/vacation/vacation.c Thu Dec 11 15:29:48 2003 @@ -66,7 +66,11 @@ #define VMSG ".vacation.msg" /* vacation message */ #define SECSPERDAY (60 * 60 * 24) #define DAYSPERWEEK 7 - +#ifdef _FFR_MIN_INTERVAL +#define SECSPERHOUR (60 * 24) +#define SECSPERMIN (60 * 1) +#define SECSPERWEEK (60 * 60 * 24 * 7) +#endif /* _FFR_MIN_INTERVAL */ typedef struct alias { char *name; @@ -234,7 +238,19 @@ case 'r': if (isascii(*optarg) && isdigit(*optarg)) { - interval = atol(optarg) * SECSPERDAY; + unsigned int multiple = SECSPERDAY; +#if _FFR_MIN_INTERVAL + + if(strcasestr(optarg,"m")) + multiple = SECSPERMIN; + + if(strcasestr(optarg,"h")) + multiple = SECSPERHOUR; + + if(strcasestr(optarg,"w")) + multiple = SECSPERWEEK; +#endif /* _FFR_MIN_INTERVAL */ + interval = atol(optarg) * multiple; if (interval < 0) ufail++; }