2022-04-26 09:55:22 +02:00
|
|
|
diff --git a/getmailcore/baseclasses.py b/getmailcore/baseclasses.py
|
|
|
|
index 7143886..e94ba0d 100755
|
|
|
|
--- a/getmailcore/baseclasses.py
|
|
|
|
+++ b/getmailcore/baseclasses.py
|
|
|
|
@@ -261,7 +261,7 @@ class ConfFile(ConfString):
|
|
|
|
if val is None:
|
|
|
|
return None
|
|
|
|
val = expand_user_vars(val)
|
|
|
|
- if not os.path.isfile(val):
|
|
|
|
+ if not os.path.isfile(val) and not self.name == 'path' and not self.name == 'password_command':
|
|
|
|
raise getmailConfigurationError(
|
|
|
|
'%s: specified file "%s" does not exist' % (self.name, val)
|
|
|
|
)
|
2022-05-31 20:51:01 +02:00
|
|
|
@@ -473,7 +473,7 @@ class ForkingBase(object):
|
2022-04-26 09:55:22 +02:00
|
|
|
stdout, stderr, args, nolog=False):
|
|
|
|
self._pipemail(msg, delivered_to, received, unixfrom, stdout, stderr)
|
|
|
|
nolog or self.log.debug('about to execl() with args %s\n' % str(args))
|
|
|
|
- os.execl(*args)
|
|
|
|
+ os.execlp(*args)
|
2022-05-31 20:51:01 +02:00
|
|
|
|
2022-04-26 09:55:22 +02:00
|
|
|
def forkchild(self, childfun, with_out=True):
|
|
|
|
self.child = child = Namespace()
|
|
|
|
diff --git a/getmailcore/destinations.py b/getmailcore/destinations.py
|
|
|
|
index 2d25558..d7adeba 100755
|
|
|
|
--- a/getmailcore/destinations.py
|
|
|
|
+++ b/getmailcore/destinations.py
|
|
|
|
@@ -607,9 +607,9 @@ class MDA_external(DeliverySkeleton, ForkingBase):
|
|
|
|
def initialize(self):
|
|
|
|
self.log.trace()
|
|
|
|
self.conf['command'] = os.path.basename(self.conf['path'])
|
|
|
|
- if not os.access(self.conf['path'], os.X_OK):
|
|
|
|
- raise getmailConfigurationError('%s not executable'
|
|
|
|
- % self.conf['path'])
|
|
|
|
+ # if not os.access(self.conf['path'], os.X_OK):
|
|
|
|
+ # raise getmailConfigurationError('%s not executable'
|
|
|
|
+ # % self.conf['path'])
|
|
|
|
if type(self.conf['arguments']) != tuple:
|
|
|
|
raise getmailConfigurationError(
|
|
|
|
'incorrect arguments format; see documentation (%s)'
|
|
|
|
diff --git a/getmailcore/filters.py b/getmailcore/filters.py
|
|
|
|
index e118e8e..014970a 100755
|
|
|
|
--- a/getmailcore/filters.py
|
|
|
|
+++ b/getmailcore/filters.py
|
|
|
|
@@ -193,10 +193,10 @@ class Filter_external(FilterSkeleton, ForkingBase):
|
|
|
|
def initialize(self):
|
|
|
|
self.log.trace()
|
|
|
|
self.conf['command'] = os.path.basename(self.conf['path'])
|
|
|
|
- if not os.access(self.conf['path'], os.X_OK):
|
|
|
|
- raise getmailConfigurationError(
|
|
|
|
- '%s not executable' % self.conf['path']
|
|
|
|
- )
|
|
|
|
+ # if not os.access(self.conf['path'], os.X_OK):
|
|
|
|
+ # raise getmailConfigurationError(
|
|
|
|
+ # '%s not executable' % self.conf['path']
|
|
|
|
+ # )
|
|
|
|
if type(self.conf['arguments']) != tuple:
|
|
|
|
raise getmailConfigurationError(
|
|
|
|
'incorrect arguments format; see documentation (%s)'
|
2022-05-31 20:51:01 +02:00
|
|
|
@@ -332,10 +332,10 @@ class Filter_TMDA(FilterSkeleton, ForkingBase):
|
2022-04-26 09:55:22 +02:00
|
|
|
def initialize(self):
|
|
|
|
self.log.trace()
|
|
|
|
self.conf['command'] = os.path.basename(self.conf['path'])
|
|
|
|
- if not os.access(self.conf['path'], os.X_OK):
|
|
|
|
- raise getmailConfigurationError(
|
|
|
|
- '%s not executable' % self.conf['path']
|
|
|
|
- )
|
|
|
|
+ # if not os.access(self.conf['path'], os.X_OK):
|
|
|
|
+ # raise getmailConfigurationError(
|
|
|
|
+ # '%s not executable' % self.conf['path']
|
|
|
|
+ # )
|
|
|
|
self.exitcodes_keep = (0, )
|
|
|
|
self.exitcodes_drop = (99, )
|
2022-05-31 20:51:01 +02:00
|
|
|
|