--- fetchmail-5.9.11/options.c.nopermcheck Sun Sep 30 18:30:51 2001 +++ fetchmail-5.9.11/options.c Sun May 19 21:09:38 2002 @@ -86,6 +86,7 @@ #define LA_SSLFINGERPRINT 60 #endif +#define LA_NOPERMCHECK 61 /* options still left: CDgGhHjJoORwWxXYz */ static const char *shortoptions = @@ -107,6 +108,7 @@ {"syslog", no_argument, (int *) 0, LA_SYSLOG }, {"nosyslog", no_argument, (int *) 0, LA_NOSYSLOG }, {"fetchmailrc",required_argument,(int *) 0, LA_RCFILE }, + {"nopermcheck",no_argument, (int *) 0, LA_NOPERMCHECK }, {"idfile", required_argument, (int *) 0, LA_IDFILE }, {"postmaster",required_argument, (int *) 0, LA_POSTMASTER }, {"nobounce", no_argument, (int *) 0, LA_NOBOUNCE }, @@ -283,6 +285,7 @@ case 'V': case LA_VERSION: versioninfo = TRUE; + permcheck = FALSE; break; case 'c': case LA_CHECK: @@ -324,6 +327,9 @@ case 'f': case LA_RCFILE: rcfile = (char *) xstrdup(optarg); + break; + case LA_NOPERMCHECK: + permcheck = FALSE; break; case 'i': case LA_IDFILE: --- fetchmail-5.9.11/fetchmail.h.nopermcheck Mon Apr 1 11:55:07 2002 +++ fetchmail-5.9.11/fetchmail.h Sun May 19 21:09:38 2002 @@ -376,6 +376,7 @@ extern char *rcfile; /* path name of rc file */ extern int linelimit; /* limit # lines retrieved per site */ extern flag versioninfo; /* emit only version info */ +extern flag permcheck; /* perform permission checks on files */ extern char *user; /* name of invoking user */ extern char *home; /* home directory of invoking user */ extern char *fmhome; /* fetchmail home directory */ --- fetchmail-5.9.11/fetchmail.c.nopermcheck Sun Mar 10 22:50:20 2002 +++ fetchmail-5.9.11/fetchmail.c Sun May 19 21:14:13 2002 @@ -57,6 +57,7 @@ flag quitmode; /* if --quit was set */ flag check_only; /* if --probe was set */ flag versioninfo; /* emit only version info */ +flag permcheck = TRUE; /* perform permission checks on files */ char *user; /* the name of the invoking user */ char *home; /* invoking user's home directory */ char *fmhome; /* fetchmail's home directory */ @@ -886,7 +887,7 @@ report(stderr, GT_("couldn't time-check the run-control file\n")); /* this builds the host list */ - if ((st = prc_parse_file(rcfile, !versioninfo)) != 0) + if ((st = prc_parse_file(rcfile, permcheck)) != 0) /* * FIXME: someday, send notification mail here if backgrounded. * Right now, that can happen if the user changes the rcfile @@ -1152,7 +1153,7 @@ #ifdef POP3_ENABLE /* initialize UID handling */ - if (!versioninfo && (st = prc_filecheck(run.idfile, !versioninfo)) != 0) + if (!versioninfo && (st = prc_filecheck(run.idfile, TRUE)) != 0) exit(st); else initialize_saved_lists(querylist, run.idfile);