--- fetchmail-6.3.3/fetchmail.c.orig 2006-03-14 19:08:36 +0300 +++ fetchmail-6.3.3/fetchmail.c 2006-03-31 11:44:19 +0400 @@ -63,6 +63,7 @@ int quitind; /* optind after position of last --quit option */ 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 */ @@ -307,7 +308,7 @@ { int st; - 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); @@ -991,7 +992,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 --- fetchmail-6.3.3/fetchmail.h.orig 2006-03-15 19:17:27 +0300 +++ fetchmail-6.3.3/fetchmail.h 2006-03-31 11:46:57 +0400 @@ -427,6 +427,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-6.3.3/options.c.orig 2006-03-15 19:26:38 +0300 +++ fetchmail-6.3.3/options.c 2006-03-31 11:44:19 +0400 @@ -26,6 +26,7 @@ LA_INVISIBLE = 256, LA_SYSLOG, LA_NOSYSLOG, + LA_NOPERMCHECK, LA_POSTMASTER, LA_NOBOUNCE, LA_AUTH, @@ -72,6 +73,7 @@ {"syslog", no_argument, (int *) 0, LA_SYSLOG }, {"nosyslog", no_argument, (int *) 0, LA_NOSYSLOG }, {"fetchmailrc",required_argument,(int *) 0, 'f' }, + {"nopermcheck",no_argument, (int *) 0, LA_NOPERMCHECK }, {"idfile", required_argument, (int *) 0, 'i' }, {"postmaster",required_argument, (int *) 0, LA_POSTMASTER }, {"nobounce", no_argument, (int *) 0, LA_NOBOUNCE }, @@ -248,6 +250,7 @@ switch (c) { case 'V': versioninfo = TRUE; + permcheck = FALSE; break; case 'c': check_only = TRUE; @@ -284,6 +287,9 @@ xfree(rcfile); rcfile = prependdir (optarg, currentwd); break; + case LA_NOPERMCHECK: + permcheck = FALSE; + break; case 'i': rctl->idfile = prependdir (optarg, currentwd); break;