* epg.el (epg-process-sentinel): New function; set 'error if gpg
process exited abnormally, but we have not received an error
response from it.
+ (epg-sign-file): Signal an error only when a signature is not
+ created.
+ (epg-sign-string): Ditto.
+ (epg-encrypt-file): Signal an error if SIGN is specified and
+ signature is not created.
+ (epg-encrypt-string): Ditto.
2006-04-22 Daiki Ueno <ueno@unixuser.org>
(epg-make-temp-file "epg-output")))
(epg-start-sign context (epg-make-data-from-file plain) mode)
(epg-wait-for-completion context)
- (if (epg-context-result-for context 'error)
- (error "Sign failed: %S"
- (epg-context-result-for context 'error)))
+ (unless (epg-context-result-for context 'sign)
+ (error "Sign failed: %S"
+ (epg-context-result-for context 'error)))
(unless signature
(epg-read-output context)))
(unless signature
(epg-start-sign context (epg-make-data-from-string plain) mode)
(epg-flush context)
(epg-wait-for-completion context)
- (if (epg-context-result-for context 'error)
- (error "Sign failed: %S"
- (epg-context-result-for context 'error)))
+ (unless (epg-context-result-for context 'sign)
+ (error "Sign failed: %S"
+ (epg-context-result-for context 'error)))
(epg-read-output context))
(epg-delete-output-file context)
(epg-reset context)))
(epg-start-encrypt context (epg-make-data-from-file plain)
recipients sign always-trust)
(epg-wait-for-completion context)
+ (if (and sign
+ (not (epg-context-result-for context 'sign)))
+ (error "Sign encrypt failed: %S"
+ (epg-context-result-for context 'error)))
(if (epg-context-result-for context 'error)
(error "Encrypt failed: %S"
(epg-context-result-for context 'error)))
recipients sign always-trust)
(epg-flush context)
(epg-wait-for-completion context)
+ (if (and sign
+ (not (epg-context-result-for context 'sign)))
+ (error "Sign encrypt failed: %S"
+ (epg-context-result-for context 'error)))
(if (epg-context-result-for context 'error)
(error "Encrypt failed: %S"
(epg-context-result-for context 'error)))