diff --git a/GnuPG/__init__.py b/GnuPG/__init__.py index efdb9ea..e34d22e 100644 --- a/GnuPG/__init__.py +++ b/GnuPG/__init__.py @@ -100,7 +100,7 @@ class GPGEncryptor: def encrypt(self): p = subprocess.Popen( self._command(), stdin=subprocess.PIPE, stdout=subprocess.PIPE,stderr=subprocess.PIPE ) encdata = p.communicate(input=self._message)[0] - return encdata + return (encdata, p.returncode) def _command(self): cmd = ["/usr/bin/gpg", "--trust-model", "always", "--homedir", self._keyhome, "--batch", "--yes", "--pgp7", "--no-secmem-warning", "-a", "-e"] diff --git a/gpg-mailgate.py b/gpg-mailgate.py index 8879a60..035695e 100755 --- a/gpg-mailgate.py +++ b/gpg-mailgate.py @@ -82,7 +82,10 @@ def encrypt_payload( payload, gpg_to_cmdline ): return payload gpg = GnuPG.GPGEncryptor( cfg['gpg']['keyhome'], gpg_to_cmdline, payload.get_content_charset() ) gpg.update( raw_payload ) - payload.set_payload( gpg.encrypt() ) + encrypted_data, returncode = gpg.encrypt() + if verbose: + log("Return code from encryption=%d (0 indicates success)." % returncode) + payload.set_payload( encrypted_data ) isAttachment = payload.get_param( 'attachment', None, 'Content-Disposition' ) is not None if isAttachment: filename = payload.get_filename()