diff options
author | Eduardo Chappa <chappa@washington.edu> | 2015-03-31 12:22:58 -0600 |
---|---|---|
committer | Eduardo Chappa <chappa@washington.edu> | 2015-03-31 12:22:58 -0600 |
commit | e53164a6acbbb123ba97fd227ac0b3cf4ef4eeb0 (patch) | |
tree | 0fc7075642a99b23be3f9a2be4c3d0edf99a51c7 /pith | |
parent | 3a9d4c01e5135f6d5b2aecdaf698d1d960387df9 (diff) | |
download | alpine-e53164a6acbbb123ba97fd227ac0b3cf4ef4eeb0.tar.xz |
* new version 2.20.5
* SMIME: Crash when a certificate has an invalid date of validity. Also
Alpine will use the function ASN1_TIME_print to determine the date of
validity. Reported by Ben Stienstra.
* SMIME: Crash when atempting to unlock the password file and an
incorrect password is entered.
* Alpine version 2.20.4 would not build in Windows, due to a missing
#ifdef SMIME directive in file alpine/mailpart.c. Reported by
Ulf-Dietrich Braunmann.
* Pico: Code reorganization in the search command to make it easier to
add subcommands of the search command.
* Pico: Search command can do a case sensitive match. Use the Ctrl-^
subcommand of the search command to bring this choice into view.
* For a multipart/alternative message, the Take Address command will
work on the part that is being read.
Diffstat (limited to 'pith')
-rw-r--r-- | pith/pine.hlp | 19 | ||||
-rw-r--r-- | pith/smime.c | 10 | ||||
-rw-r--r-- | pith/smkeys.c | 4 | ||||
-rw-r--r-- | pith/takeaddr.c | 9 |
4 files changed, 33 insertions, 9 deletions
diff --git a/pith/pine.hlp b/pith/pine.hlp index 630c301d..7eb2f955 100644 --- a/pith/pine.hlp +++ b/pith/pine.hlp @@ -140,7 +140,7 @@ with help text for the config screen and the composer that didn't have any reasonable place to be called from. Dummy change to get revision in pine.hlp ============= h_revision ================= -Alpine Commit 71 2015-03-25 20:26:58 +Alpine Commit 72 2015-03-31 12:22:49 ============= h_news ================= <HTML> <HEAD> @@ -211,11 +211,28 @@ Additions include: <LI> Unix Alpine only. Experimental: If Alpine/Pico finds a UCS4 code in the width ambiguous zone, it will use other means to determine the width, such as call wcwidth. + + <LI> Pico: Code reorganization in the search command to make it easier to + add subcommands of the search command. + + <LI> Pico: Search command can do a case sensitive match. Use the Ctrl-^ + subcommand of the search command to bring this choice into view. + + <LI> For a multipart/alternative message, the Take Address command will + work on the part that is being read. </UL> + <P> Bugs that have been addressed include: <UL> + <LI> SMIME: Crash when a certificate has an invalid date of validity. Also + Alpine will use the function ASN1_TIME_print to determine the date + of validity. Reported by Ben Stienstra. + + <LI> SMIME: Crash when atempting to unlock the password file and an + incorrect password is entered. + <LI> SMIME: Crash when checking the signature of a message that contains a RFC822 attached message. Reported by Holger Trapp and Björn Krellner. diff --git a/pith/smime.c b/pith/smime.c index 99c80c03..9cef212b 100644 --- a/pith/smime.c +++ b/pith/smime.c @@ -561,22 +561,20 @@ load_pkey_with_prompt(char *fpath, char *text, char *prompt) if(in != NULL){ pkey = PEM_read_bio_PrivateKey(in, NULL, NULL, ""); if(pkey != NULL) return pkey; - } + } else return NULL; if(pith_smime_enter_password) while(pkey == NULL && rc != 1){ - if(in != NULL){ - do { + do { rc = (*pith_smime_enter_password)(prompt, (char *)pass, sizeof(pass)); } while (rc!=0 && rc!=1 && rc>0); (void) BIO_reset(in); pkey = PEM_read_bio_PrivateKey(in, NULL, NULL, (char *)pass); - BIO_free(in); - } - else rc = 1; } + BIO_free(in); + return pkey; } diff --git a/pith/smkeys.c b/pith/smkeys.c index 1c9b4cc1..35228914 100644 --- a/pith/smkeys.c +++ b/pith/smkeys.c @@ -380,7 +380,9 @@ smime_get_date(ASN1_GENERALIZEDTIME *tm) struct tm smtm; (void) BIO_reset(mb); - ASN1_UTCTIME_print(mb, tm); + if(ASN1_TIME_print(mb, tm) == 0) + return cpystr(_("Invalid")); + (void) BIO_flush(mb); BIO_read(mb, iobuf, sizeof(iobuf)); diff --git a/pith/takeaddr.c b/pith/takeaddr.c index 717a1e88..1fb22ef6 100644 --- a/pith/takeaddr.c +++ b/pith/takeaddr.c @@ -1824,6 +1824,8 @@ grab_addrs_from_body(MAILSTREAM *stream, long int msgno, gf_io_t pc; SourceType src = CharStar; int added = 0, failure; + char *partno = "1"; + ATTACH_S *a = ps_global->atmts; dprint((9, "\n - grab_addrs_from_body - \n")); @@ -1848,7 +1850,12 @@ grab_addrs_from_body(MAILSTREAM *stream, long int msgno, gf_set_so_writec(&pc, so); - failure = !get_body_part_text(stream, body, msgno, "1", 0L, pc, + if(body->type == TYPEMULTIPART + && strucmp(body->subtype, "ALTERNATIVE") == 0 + && a && a+1 && (a+1)->shown) + partno = "2"; + + failure = !get_body_part_text(stream, body, msgno, partno, 0L, pc, NULL, NULL, GBPT_NONE); gf_clear_so_writec(so); |