From: Julien Cristau Date: Fri, 11 Oct 2019 15:26:16 +0000 (+0200) Subject: ud-mailgate: use subprocess.Popen instead of os.popen. X-Git-Url: https://git.adam-barratt.org.uk/?a=commitdiff_plain;ds=sidebyside;h=0a80c56d2c74ce043b56db0febd37239610818b0;p=mirror%2Fuserdir-ldap.git ud-mailgate: use subprocess.Popen instead of os.popen. --- diff --git a/debian/changelog b/debian/changelog index cbb687c..936ed15 100644 --- a/debian/changelog +++ b/debian/changelog @@ -22,6 +22,7 @@ userdir-ldap (0.3.97) UNRELEASED; urgency=medium * Stop using string exceptions. They were removed in python 2.6. * Delete unmaintained/gpgwrapper. 8 years of non-maintenance ought to be enough. * Delete ud-emailmatcher. Looks broken and unused. + * ud-mailgate: use subprocess.Popen instead of os.popen. -- Peter Palfrader Sat, 06 Apr 2019 22:04:34 +0200 diff --git a/ud-mailgate b/ud-mailgate index 073ee4f..1f63e68 100755 --- a/ud-mailgate +++ b/ud-mailgate @@ -859,10 +859,10 @@ try: # Send the message through sendmail ErrMsg = "A problem occured while trying to send the reply" - Child = os.popen("/usr/sbin/sendmail -t", "w") - # Child = os.popen("cat","w") - Child.write(Reply) - if Child.close() is not None: + Child = subprocess.Popen(['/usr/sbin/sendmail', '-t'], stdin=subprocess.PIPE) + Child.stdin.write(Reply) + Child.stdin.close() + if Child.wait() != 0: raise UDExecuteError("Sendmail gave a non-zero return code") except Exception: @@ -888,10 +888,11 @@ except Exception: try: ErrReply = TemplateSubst(Subst, open(TemplatesDir + "error-reply", "r").read()) - Child = os.popen("/usr/sbin/sendmail -t -oi -f ''", "w") - Child.write(ErrReplyHead) - Child.write(ErrReply) - if Child.close() is not None: + Child = subprocess.Popen(['/usr/sbin/sendmail', '-t', '-oi', '-f', ''], stdin=subprocess.PIPE) + Child.stdin.write(ErrReplyHead) + Child.stdin.write(ErrReply) + Child.stdin.close() + if Child.wait() != 0: raise UDExecuteError("Sendmail gave a non-zero return code") except Exception: sys.exit(EX_TEMPFAIL)