X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=ud-mailgate;h=073ee4f823af598019db99088252889e9e69d02b;hb=c61076ac9d401f7abf65d5e1eac7f5a666a32ba4;hp=30af5831aed09c0b05ca80d9630449faf1a6407e;hpb=16efeb47640693f4404729f08feeadc670ea0203;p=mirror%2Fuserdir-ldap.git diff --git a/ud-mailgate b/ud-mailgate index 30af583..073ee4f 100755 --- a/ud-mailgate +++ b/ud-mailgate @@ -331,10 +331,11 @@ def DoSSH(Str, Attrs, badkeys, uid): Subst["__ERROR__"] = "SSH key with fingerprint %s known as bad key" % (g[1]) ErrReply = TemplateSubst(Subst, open(TemplatesDir + "admin-info", "r").read()) - Child = os.popen("/usr/sbin/sendmail -t", "w") - Child.write(ErrReplyHead) - Child.write(ErrReply) - if Child.close() is not None: + Child = subprocess.Popen(['/usr/sbin/sendmail', '-t'], 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)