summaryrefslogtreecommitdiff
path: root/pith/send.c
AgeCommit message (Collapse)Author
2019-06-04 * Temporarily reverse a code used when signing: There are two versionsEduardo Chappa
of Openssl that do different things. I need to understand them better. In the mean time, we go back to the original code.
2019-06-03 * Return some code used to sign messages. Apparently openssl is notEduardo Chappa
consistent in what it signs. Problem reported by Björn Krellner.
2019-05-23 * Experimental: Attempt to fix a "digest failure" in which AlpineEduardo Chappa
fails to add a trailing line to signed text. Reported by Stefan Mueller.
2019-01-01 * Some servers report the encoding of a message/rfc822 as 8bit, andEduardo Chappa
because of that, Alpine sets their encoding to quoted-printable, in contradiction to RFC 2045. We handle this by keeping the encoding reported by the server. Based on a report by Holger Trapp.
2019-01-01 * Crash when sending an email due to improper use of memory that wasEduardo Chappa
released by the system.
2018-12-26 * Remove old code to support Pine 4.42 (released November 21, 2001)Eduardo Chappa
and short-lived until release of Pine 4.43 (released November 28, 2001.) Also update message to mean what Alpine is trying to do (forwarding, not answering.)
2018-12-18 * Prevent freeing memory that is not needed to be freed whenEduardo Chappa
removing parameters of the content-type header.
2018-12-16 * Bug: When a message is multipart, and the first part is flowed text,Eduardo Chappa
then forwarding the message will set the first part to be flowed, and sent that way even when the option Do Not Send Flowed Text is enabled. To avoid this issue, we remove any flowed text parameters from the body of the message, so we create a "remove_parameter" function, and then we set the flowed parameter only when the user requested. Reported by Holger Trapp.
2018-05-20 * Move freeing for some SSL memory until after all connections areEduardo Chappa
closed. * A message could fail to verify its signature even if the certificate was saved when the message was open. Based on a report by David Woodhouse to the RedHat bugzilla system.
2018-05-19 * Clear history when closing alpine, for commands that keep it.Eduardo Chappa
* Reversing the clearing of the rmap memory.
2018-05-18 * Release memory of a conversion table to UTF-8, if this was created byEduardo Chappa
us. * Some distributions of OpenSSL do not define ERR_free_strings and EVP_cleanup, so we only execute them when defined. Reported by Erich Eckner.
2018-05-13 * For a calendar entry with method PUBLISH, we show all entries in the ↵Eduardo Chappa
calendar. When "More Details" is selected for each individual event, the description of that entry is shown only. When the calendar is opened from the view attachment list screen, all entries will be shown. Mske sure there are no memory leaks. * Reverse some of the changes to make valgrind happy, as this may make Alpine crash by using memory that was released.
2018-05-13 * More changes to make Valgrind happy. Work in progress.Eduardo Chappa
2018-02-26 * New version 2.21.999Eduardo Chappa
* rewrite of some code in pith/ical.c to make sure function prototypes are correct. * Add a separator line to the calendar entry in case, the calendar is sent as the main body of the message.
2017-03-17 * New version 2.21Eduardo Chappa
2016-11-22 * Minor updates to source to update copyright notices (part 1)Eduardo Chappa
2016-02-02 * New version 2.20.11Eduardo Chappa
* Update of copyright notice * Update to release notes to indicate support of RFC 2971.
2015-07-26 * Clear even more warnings from clang 3.5 and MAC OSX.Eduardo Chappa
2015-07-24 * new version 2.20.9.Eduardo Chappa
* Add command line argument -smimedir, which allows to specify the default path for a directory that contains the public, private, and ca directories. This is useful in case a user has a backup of old certificates that cannot be installed in the ~/.alpine-smime dir. * Update to alpine man page to include documentation on missing command line options such as -nowrite_password_cache, -passfile, -pwdcertdir, and -smimedir. * Various changes in the code to quell some compiler issued warnings in Mac OSX. Reported by Joe St Sauver. This includes the removing deprecated ldap functions from the code and the test in the configure script. The switch to not deprecated functions is done by the use of the belvar structure, which is not completely appropriate for what we are doing, but it is sufficient for our needs. The berval structure is more appropriate for binary data, but it works well with string data, which is what we need. * Various changes in the code to quell some warnings issued by clang 3.5.
2015-04-09 * When sending a message, allow for 512 characters of consecutive non-whiteEduardo Chappa
space before folding the subject line.
2015-02-28 * new version 2.20.2Eduardo Chappa
* Further enhancement to the configure script in finding the location of the SSL include and library files, when they are installed in th e default location by openssl. * When Alpine sends an attachment, it will set the boundary attribute in lower case, as some SMTP servers, such as those of libero.it reject messages if the boundary attribute is in uppercase. * Alpine fails to remove temporary files used during a display or sending filter. Fix contributed by Phil Brooke. * SMIME: Crash when checking the signature of a message that contains a RFC822 attached message. Reported by Holger Trapp and Bjorn Krellner.
2015-01-07 * new version 2.19.9999Eduardo Chappa
* crash on importing certificates that do not have an email address associated to them, such as those of a Certificate Authority. * Disable saving new passwords to the password file. Implemented by Louis Raphael from dpslabs.com. * Panda IMAP does not decode correctly Korean text encoded in UTF-8. Reported by Chulho Yang.
2014-12-07 * new version 2.19.9993Eduardo Chappa
* Aggregate operations allows bouncing a list of messages using a role. Suggested by Ulf-Dietrich Braumann. * Compilation error of module pith/reply.c if SMIME is not defined (as in Windows Alpine). There was a misplaced parenthesis. * Update to S/MIME to explain how to use a PKCS12 certificate in Alpine. * Fix error in compare_certs function, that would modify the name of the certificates after sorting them, and return when no certificates are given. * When replying to several messages, subject will be decoded first, and then stripped from re/fwd before they are compared to determine the subject of the replied message. * Add $(LIBINTL) to the flags to link rpdump, rpload, alpined and alpineldap because MAC OSX 10.8 x86_64 needs it. * When the download of an attachment is interrumpted, Alpine stills caches what was downloaded, making the download incomplete for subsequent calls of Alpine attempting to open the attachment. In the future, Alpine will not cache any downloaded part of the attachment when it is interrupted.
2014-06-20 * new version 2.19.9992Eduardo Chappa
* Alpine would not parse options from the command line, such as -patterns-filters2, correctly. * Add /usr/local/include as a path to find include and libs files for openssl in FreeBSD. * Management certificate screen now prints, in addition to the e-mail address of the owner of the certificates, the dates of validity and the MD5 hash of such certificates. * crash when processing message/rfc822 attachments that are encoded in base64. * Openssl: if /usr/local/ssl exists, assume that this is the intended place where ssl libraries, include files and certificates are located. Typically, distributions do not use this directory, so its existence indicates that Openssl has been specially installed there, so it is probably a preferred place to get the system Openssl files. * Postponed messages whose content-type is text/html, text/enriched and text/richtext are sent with that content-type, even though, after resuming composition, Alpine had changed its type to text/plain. * HTML: <BR>, <BR />, and <BR/&> are considered the same inline tag; the same is valid for the <HR> tag.
2014-05-31 * new version 2.19.9991Eduardo Chappa
* S/MIME Alpine would compute incorrectly the signature of a message that contains 8bit if the option "Enable 8bit ESMTP Negotiation" is enabled, the message contains 8bit characters and the smtp server supports 8bit sending. * Crash while redrawing S/MIME configuration screen when importing a certificate * When forwarding a message before opening it, the message might not be found. The problem is in the forward_body function, where the section of the body is not correctly set in all instances. * When forwarding a signed message Alpine might forward the message as a multipart message, instead of just selecting the body of the message. Change to forward the signed part only. This aligns Alpine with what it does when it replies to a similar message.
2014-05-17 * New version 2.19.999Eduardo Chappa
* Introduce the option "Validate Using Certificate Store Only", and make it the default. This will make Alpine check for the validity of signatures in certificates that a user has installed in their system, and not in the certificates that come with the message. A user can override this, although is not recommended, by disabling this feature. * When viewing a signed message, the ^E command would present an empty screen or Alpine would crash because when Alpine would get the PKCS7 body of the message from body->sparep, it would not decode it properly due to the new way in which the sparep pointer is encoded that was introduced in version 2.19.991. * When a signed message is forwarded, the message might not be filtered correctly, and mime information might make it into the body of the forwarded message. In order to produce this, the message must be forwarded from the index screen and not be opened. The reason why this makes a difference is because opening a signed message changes its body structure. The reason why a person could forward a message before reading it is because the person could already be aware of the content of the message (e.g. the message is in the sent-mail folder). * When a message fails to validate and the body is saved from the server for validation, be careful in the way that body part pointers are set, in order to do this we split the mail_body function into two parts, one that gets the body, the other that gets the section of the body. The new function that gets the section of the body (mail_body_section), is used to assign pointers of the reconstructed new body. * When a container has not been defined, transferring messages to a container will succeed, and the name of the container will be written on screen. * When Alpine is receiving the envelopes from an imap server, it attempts to generate the index line immediately; while doing so it might need to compute a score, and for this, it might need to go back and do some operation in the same imap server. In this case, Alpine will crash with a "lock when already locked" message. In order to avoid this crash, a new check in match_pattern was added to Alpine to avoid the second trip to a server that is busy sending us envelopes. Reported by Peter Koellner. * Update copyright notice in mswin.rc and pmapi.rc, as well as first time user notice and special request notice. * Alpine cannot handle correctly some characters in the Windows-1256 character set, which might lead to a crash or a corruption in the screen. Work was done to contain the bug. A more complete fix will be done in a future release. Reported by Professor Robert Funnell. * Decode the name of attachment names, so they can be written as part of the description of the part. * When transferring certificates to a local container, create container with default names PublicContainer, PrivateContainer and CAContainer, as appropriate for these files, unless the user has provided some other names.
2014-05-02 * Create help for explaining how encrypted password file supportEduardo Chappa
works. * When a message is sent encrypted, add the sender certificate so that the sender can decrypt it too. * When a message is signed and encrypted, first sign it and then encrypt it. This changes the usual order of encrypting and then signing, and it has the shortcoming of making bigger messages. However, this is the way that most clients work with S/MIME, and so for compatibility with other programs, we will send signed, then encrypted, instead of encrypted, then signed. Hmm... should we sign the encrypted part? * Avoid the first RSET smtp command, as this causes delays in some evily managed servers.
2014-04-25 * When downloading a signed message, and processing it, we useEduardo Chappa
body->nested.part instead of b->nested.part in the do_detached_signature_verify function, and save its body and mime headers in create_local_cache. Now all signed messages should verify correctly. * Protect against potential crash bug in write_passfile function by checking if text != NULL. text can only be null if there are no passwords to save. We assume we could get write_passfile called with null arguments, so this is just to protect that. * Add handling of corner cases to several functions by initializing some variables. Reported and patched by James Jerkins. * When selecting the certificate/key pair to encrypt/decrypt the password file choose it in this order: - if -pwdcertdir is given look for certificates there, if nothing there, we bail out; - otherwise we look in the default directory, if anything there and it matches to be a key/cert pair, we use it; - otherwise we check if smime_init() has been called. If not we call it; - we check if a key/cert pair has been found with smime initialized, if so, use it and copy it to the default directory; - if not, check if there is anything in the default smime directories (.alpine-smime/private and .alpine-smime/public), and in this case copy it to the default. - otherwise we bail. We will eventually create a certificate/key pair for the user; - finally, if we called smime_init(), we call smime_deinit(). Throughout this process, if smime_init() was not called before we tried to get the cert/key pair we exit this process without ps_global->smime->inited set, so that other process that need to call smime_init() get the right structure initialized. This is done because we might pick a cert/key pair to decrypt the password file.
2014-02-15 * Fixes to documentation to update old washington.edu/alpine siteEduardo Chappa
for patches.freeiz.com/alpine/. Work in progress. * prototype function tigetstr in pico/osdep/terminal.c * folders encoded in modified utf7 are transformed their names to a human readable utf8. * New attempt to fix smime support in Alpine. Messages sent by alpine with or without attachments should validate in all servers and in all folder formats.
2014-02-02 * Update to version 2.19.5Eduardo Chappa
* check bounds and tie strings off to improve security. Contributed by James Jerkins. * Alpine crashed when a user attempted to add a folder collection, due to bug in GET_NAMESPACE in imap4r1.c.
2013-11-18 * Update to version 2.19.3Eduardo Chappa
* Alpine computes the signature of a signed message on a different message than the one it sends, because of this, messages that are sent can not be validated either in the sent-mail folder, nor in the server that receives such message.
2013-09-05 * Experimental: Write the content-type of a message in lowercase, as someEduardo Chappa
non-compliant servers do not understand uppercase content-type, such as those of GMX.de. * Transformation of UTF-8 to MUTF7 was not being done when creating a folder in an IMAP server.
2013-08-04 * New version 2.10.99999Eduardo Chappa
* Pico: search backwards. * do not allow List- headers to be set up by users in accordance with RFC 2369. * minor fixes for new justification support (add comparison of a line with the previous *and* the next).
2013-05-31 * somehow all.patch got here. Reversing.Eduardo Chappa
2013-05-31 * Fix not allow remote execution by adding PIPE_NOSHELL to the opening of ↵Eduardo Chappa
a url by a browser.
2013-02-03Initial Alpine VersionEduardo Chappa