Added fixed nested deleted homes problem
This commit is contained in:
parent
4541727986
commit
84dd6f26e0
|
@ -110,7 +110,18 @@ class UNIXUserMaildirBackend(SieveFilteringMixin, ServiceController):
|
||||||
|
|
||||||
def delete(self, mailbox):
|
def delete(self, mailbox):
|
||||||
context = self.get_context(mailbox)
|
context = self.get_context(mailbox)
|
||||||
self.append('mv %(home)s %(home)s.deleted || exit_code=$?' % context)
|
if context['deleted_home']:
|
||||||
|
self.append(textwrap.dedent("""\
|
||||||
|
# Move home into MAILBOXES_MOVE_ON_DELETE_PATH, nesting if exists.
|
||||||
|
deleted_home="%(deleted_home)s"
|
||||||
|
while [[ -e $deleted_home ]]; do
|
||||||
|
deleted_home="${deleted_home}/$(basename ${deleted_home})"
|
||||||
|
done
|
||||||
|
mv %(home)s $deleted_home || exit_code=$?
|
||||||
|
""") % context
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
self.append("rm -fr %(base_home)s" % context)
|
||||||
self.append(textwrap.dedent("""
|
self.append(textwrap.dedent("""
|
||||||
nohup bash -c '{ sleep 2 && killall -u %(user)s -s KILL; }' &> /dev/null &
|
nohup bash -c '{ sleep 2 && killall -u %(user)s -s KILL; }' &> /dev/null &
|
||||||
killall -u %(user)s || true
|
killall -u %(user)s || true
|
||||||
|
@ -134,6 +145,7 @@ class UNIXUserMaildirBackend(SieveFilteringMixin, ServiceController):
|
||||||
'initial_shell': self.SHELL,
|
'initial_shell': self.SHELL,
|
||||||
'banner': self.get_banner(),
|
'banner': self.get_banner(),
|
||||||
}
|
}
|
||||||
|
context['deleted_home'] = settings.MAILBOXES_MOVE_ON_DELETE_PATH % context
|
||||||
return context
|
return context
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -104,7 +104,15 @@ class UNIXUserBackend(ServiceController):
|
||||||
""") % context
|
""") % context
|
||||||
)
|
)
|
||||||
if context['deleted_home']:
|
if context['deleted_home']:
|
||||||
self.append("mv %(base_home)s %(deleted_home)s || exit_code=$?" % context)
|
self.append(textwrap.dedent("""\
|
||||||
|
# Move home into SYSTEMUSERS_MOVE_ON_DELETE_PATH, nesting if exists.
|
||||||
|
deleted_home="%(deleted_home)s"
|
||||||
|
while [[ -e $deleted_home ]]; do
|
||||||
|
deleted_home="${deleted_home}/$(basename ${deleted_home})"
|
||||||
|
done
|
||||||
|
mv %(base_home)s $deleted_home || exit_code=$?
|
||||||
|
""") % context
|
||||||
|
)
|
||||||
else:
|
else:
|
||||||
self.append("rm -fr %(base_home)s" % context)
|
self.append("rm -fr %(base_home)s" % context)
|
||||||
|
|
||||||
|
|
|
@ -42,7 +42,15 @@ class WebAppServiceMixin(object):
|
||||||
|
|
||||||
def delete_webapp_dir(self, context):
|
def delete_webapp_dir(self, context):
|
||||||
if context['deleted_app_path']:
|
if context['deleted_app_path']:
|
||||||
self.append("mv %(app_path)s %(deleted_app_path)s || exit_code=$?" % context)
|
self.append(textwrap.dedent("""\
|
||||||
|
# Move app into WEBAPPS_MOVE_ON_DELETE_PATH, nesting if exists.
|
||||||
|
deleted_app_path="%(deleted_app_path)s"
|
||||||
|
while [[ -e $deleted_app_path ]]; do
|
||||||
|
deleted_app_path="${deleted_app_path}/$(basename ${deleted_app_path})"
|
||||||
|
done
|
||||||
|
mv %(app_path)s $deleted_app_path || exit_code=$?
|
||||||
|
""") % context
|
||||||
|
)
|
||||||
else:
|
else:
|
||||||
self.append("rm -fr %(app_path)s" % context)
|
self.append("rm -fr %(app_path)s" % context)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue