Elm ME+ 2.5 PLalpha40 DEB announce

Experimental DEB generator script for Elm ME+ 2.5 PLalpha40
exists on <URL: http://www.elmme-mailer.org/deb/elm-ME+2.5.html > directory.

I do not know dpkg, so please do not blame me, if
I wipe your hardisk...

Files are following

  - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha40-1.gen_deb
    DEB generator script
  - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha40-1.gen_deb.elm-key-2013old.sig
  - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha40-1.gen_deb.elm-key-2013.sig
  - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha40-1.gen_deb.sig

A command

    elm-ME+2.5.alpha40-1.gen_deb  {packager}
  
generates package elmme with version 1.1.40-1.{distribution}.

A command

    elm-ME+2.5.alpha40-1.gen_deb --nonew  {packager}
  
generates package elm with version ME+2.5.alpha40-1.{distribution}.

== Old package names

Package elm with version ME+2.5.alpha40-1.{distribution}.

* Compiled on Debian GNU/Linux 3.1
  (Linux 2.4, glibc 2.3, Exim 3.36)

  - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha40-1.Debian3.1.i386.deb
    Package elm binary DEB build on Debian GNU/Linux 3.1
  - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha40-1.Debian3.1.i386.deb.elm-key-2013old.sig
  - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha40-1.Debian3.1.i386.deb.elm-key-2013.sig
  - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha40-1.Debian3.1.i386.deb.sig

Module libelmme-resolv.so is not included for Debian GNU/Linux 3.1.

* Compiled on Ubuntu 6.06.2 LTS
  (Linux 2.6, glibc 2.3, Sendmail 8.13)

  - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha40-1.Ubuntu6.06.i386.deb
    Package elm binary DEB build on Ubuntu 6.06.2 LTS
  - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha40-1.Ubuntu6.06.i386.deb.elm-key-2013old.sig
  - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha40-1.Ubuntu6.06.i386.deb.elm-key-2013.sig
  - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha40-1.Ubuntu6.06.i386.deb.sig

Module libelmme-resolv.so is not included for Ubuntu 6.06.2 LTS.

* Compiled on Ubuntu 10.04.4 LTS
  (Linux 2.6, glibc 2.11, Sendmail 8.14)

  - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha40-1.Ubuntu10.04.i386.deb
    Package elm binary DEB build on Ubuntu 10.04.4 LTS
  - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha40-1.Ubuntu10.04.i386.deb.elm-key-2013.sig
  - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha40-1.Ubuntu10.04.i386.deb.sig

== New package names

Package elmme with version 1.1.40-1.{distribution}.

* Compiled on Ubuntu 10.04.4 LTS
  (Linux 2.6, glibc 2.11, Sendmail 8.14)

  - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha40-1.Ubuntu10.04.i386.deb
    Package elm binary DEB build on Ubuntu 10.04.4 LTS
  - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha40-1.Ubuntu10.04.i386.deb.elm-key-2013.sig
  - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha40-1.Ubuntu10.04.i386.deb.sig

* Compiled on Ubuntu 12.04.5 LTS
  (Linux 3.2, glibc 2.15, no MTA)

  - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha40-1.Ubuntu12.04.i386.deb
    Package elmme binary DEB build on Ubuntu 12.04.5 LTS
  - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha40-1.Ubuntu12.04.i386.deb.elm-key-2013.sig
  - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha40-1.Ubuntu12.04.i386.deb.sig

== Signatures

{file}.sig                      PGP signature (old key pubkey.asc,      EA5A2379 1996-04-23)
{file}.elm-key-2013.sig         GPG signature (key elm.key.2013.asc,    A54BE3BC 2013-10-20, expires: 2018-10-19)
{file}.elm-key-2013old.sig      GPG signature (key elm.key.2013old.asc, 825FDF78 2013-10-26, expires: 2018-10-25)

== Configuration

Following files (if exists) are rewritten by elmconfwriter on
installation:

  - /usr/local/lib/elm.rc
  - /usr/local/lib/elm.mimecharsets
  - /usr/local/lib/elm.mimetypes
  - /usr/local/lib/elm.terminalinfo
  - /usr/local/lib/elm.iso2022sets
  - /usr/local/lib/elm.mailservices
  - /usr/local/lib/elm.aliases
  - /usr/local/lib/elm.mailinglists 

Deb generator script compiles elm for binary distribution, so you must
edit /usr/local/lib/elm.rc before using Elm ME+ 2.5. Following
variables may need to be modified on elm.rc:

  - mailer
  - hostdomain (this is usually needed)
  - hostfullname
  - hostname (usually this is not needed)
  - mailname (default values is generated from other values)
  - name-resolution (controls default values of hostdomain,
    hostfullname, hostname, mailname) 

By default first value for mailname is read from /etc/mailname file.

Check after installation that libraries are enabled. Global
elm.rc values are:

use-library =
use-base-library = iconv
use-config-library = resolv
use-connect-library = tls resolv
use-mailer-library = smtp resolv

Note that libelmme-resolv.so does not compile on all distributions. In
that case omit resolv from elm.rc.

After editing global elm.rc run /usr/local/lib/elmrc-write -GI for
fixing possible errors.

On installation following existing files are merged with new values:

  - /usr/local/lib/elm.terminalinfo
  - /usr/local/lib/elm.mimetypes
  - /usr/local/lib/elm.mimecharsets
  - /usr/local/lib/elm.mailservices
  - /usr/local/lib/elm.mailinglists
  - /usr/local/lib/elm.aliases
  - /usr/local/lib/elm.iso2022sets 

For re-generation of following file, old information (if exists) is used:

  - /usr/local/lib/elm.rc 

Old values from /usr/local/lib/aliases.text are converted to
/usr/local/lib/elm.aliases and /usr/local/lib/aliases.text is renamed to
/usr/local/lib/aliases.text.OLD.

On installation new values without merging are written to following
files:

  - /usr/local/lib/elm.aliases.NEW
  - /usr/local/lib/elm.mailinglists.NEW
  - /usr/local/lib/elm.mailservices.NEW
  - /usr/local/lib/elm.mimecharsets.NEW
  - /usr/local/lib/elm.mimetypes.NEW
  - /usr/local/lib/elm.terminalinfo.NEW
  - /usr/local/lib/elm.iso2022sets.NEW 

A command

     elm-{version}-{release}.gen_deb {packager}

generates package elmme with version
{library-version}-{release}.{distribution}.  Note that a resulted
filename of package is still elm-{version}-{release}.{arch}.deb.  This
version number is same than on files
/usr/local/lib/libelmme-{module}.so.{library-version}.  A filename of
package is related to used source archive name, which is
elm-{version}-{release}.tar.gz.

A command

     elm-{version}-{release}.gen_deb --nonew {packager}

generates package elm with version {version}-{release}.{distribution}.
Also on this case a resulted filename of package is
elm-{version}-{release}.{arch}.deb.

SUMMARY: This release adds libelmme-resolv.so module
         which makes possible to check the existence of
         mail domains (with changes on "verify-domain"
         elmrc option). Also "use-config-library",
         "mail-services-lookup", "valid-domains" and
         "mailhome-dir" elmrc options are added (and 
         "query-address-type", "query-domain-blacklist", 
         "search-mail-domain" and "search-mail-service" 
         to "resolv:" section of elmrc for 
         libelmme-resolv.so module). Added support of 
         IPv6 literals on user's mail.services and global 
         elm.mailservices file (IPv6 hostnames work only 
         with resolv -module.) Then also some other changes 
         and bug fixes are included.

Elm ME+ 2.5 PLalpha40 changelog

Changes on Elm ME+ 2.5 PLalpha40 compared with Elm ME+ 2.5 PLalpha39
--------------------------------------------------------------------

        SUMMARY: This release adds libelmme-resolv.so module
                 which makes possible to check the existence of
                 mail domains (with changes on "verify-domain"
                 elmrc option). Also "use-config-library",
                 "mail-services-lookup", "valid-domains" and
                 "mailhome-dir" elmrc options are added (and 
                 "query-address-type", "query-domain-blacklist", 
                 "search-mail-domain" and "search-mail-service" 
                 to "resolv:" section of elmrc for 
                 libelmme-resolv.so module). Added support of 
                 IPv6 literals on user's mail.services and global 
                 elm.mailservices file (IPv6 hostnames work only 
                 with resolv -module.) Then also some other changes 
                 and bug fixes are included.

        - Replace NO_ADDRESS with NO_DATA
        - Moved strings.h / string.h test to earlier
          and include correct header on tests (not <stdio.h>)
          when using strcmp()
        - Added Confifure test for inet_pton() and inet_ntop() 

        - Used inet_pton() to parse IPv4-address on lib/service_list.c
        - Added give_addr_as_string() to lib/service_list.c
        - Used inet_ntop() / give_addr_as_string() 
          to print IPv4-address on lib/remote_mbx.c lib/service_list.c
        - Used inet_ntop() to print IPv4-address on lib/read_rc.c

        - Test also I_ARPA_INET -macro and not just I_NETINET_IN -macro
        - Changed  PF_INET to AF_INET on lib/remote_mbx.c

        - Changed Configure to compile test that socket() work. 
          Also test that on Linux even when 
          /usr/include/sys/socket.h does not found.
          Replaced  I_SYS_SOCKET with  HAVE_SOCKET macro.
          This fixes include for Ubuntu 12.04
        - Changed hdrs/elm_defs.h so that REMOTE_MBX is 
          only defined when HAVE_SOCKET is defined
        - Changed PF_UNIX to AF_UNIX  on shared_libs/smtp/smtp.c

        - Added Configure to test that struct sockaddr_in6 
          is defined on <netinet/in.h>. Added
          struct sockaddr_in6 to  union socket_addr on
          hdrs/connection_imp.h

        - Added IPv6 support to give_addr_as_string() on 
          lib/service_list.c if struct sockaddr_in6  
          is available and inet_ntop() is supported. 
          Non-zero scope ids are added on numeric 
          form to address.
        - Added uint32 macro to hdrs/elm_defs.h
        - Added Configure to test that struct sockaddr_in6 
          includes sin6_scope_id
        - Added IPv6 parsing (to get_ip()) on lib/service_list.c
          if  struct sockaddr_in6  is available and 
          inet_pton() is supported. Only numeric scope ids 
          (%n on end of address) are supported.
        - Added inet_ntop() to print IPv6-address on lib/read_rc.c
          (but that is not actually used).

        - Added give_addr_port() and set_addr_port()
          lib/service_list.c. These handled both IPv4
          (struct sockaddr_in) and IPv6 (struct sockaddr_in6)
          ports.

        - Changed connect_remote_account_1() 
          on lib/remote_mbx.c to support IPv6
          if struct sockaddr_in6 is available.
        - Changed connect_remote_account() 
          on lib/remote_mbx.c to support IPv6
          if  struct sockaddr_in6 is available.

        - Added fill_address() on lib/service_list.c
          to handle IPv6 addresses (but that is not 
          actually used). 

        NOTE: lookup_name() / gethostbyname() seems not 
          return IPv6 addresses, so IPv6 addresses
          may work only when literal addresses are given 
          on .elm/mail.services or global elm.mailservices
          file. 

          Reading mail from IPv6 hostname with IMAP is tested
          when
                mail-services-lookup = resolv:addresses
          on user's .elm/elmrc -file was on used. This requires
                   use-connect-library = resolv
           (or     use-connect-library = tls resolv )
          on global elm.rc -file.

        - Compilation fixes when REMOTE_MBX is not defined.

        - Changed ConfTool/Substitute that it uses cp 
          and not ln on hdrs/Makefile which it generates
        - Changed some Configure tests

        - Moved is_it_on() from lib/read_rc to
          lib/rc_handle.c
        - Added is_it_off() to lib/rc_handle.c
        - Added warning if boolean value is not either ON
          or OFF (also TRUE, FALSE, YES and NO are valid values).
        - Added support of boolean values to 
          struct dt_enumerate_info
        - Allowed boolean ON, OFF, TRUE, FALSE, YES and NO
          values on elmrc option "browser-wildcard-matching".
        - Allowed boolean ON, OFF, TRUE, FALSE, YES and NO
          values on elmrc option "local-lockfile-pidcheck".
        - Allowed boolean ON, OFF, TRUE, FALSE, YES and NO
          values on elmrc option "show-header-errors".

        - Fixed error message on dt_SORT_parse_line() file
          lib/rc_handle.c

        - Added elmrc option "use-config-library". This
          includes shared libraries which are assumed
          to change default elmrc values.   
        - Content of option "use-library" is automatically
          moved to variable "use-config-library". 
        - Changed calling convention of post_init_shared_options(),
          RC_post_init_f()
        - Added post_init_change_config()

        - Added support for tag:value values to 
          struct dt_enumerate_info. Tag refer to
          shared library.  
        - Added give_dt_shared_value() to lib/rc_handle.c

        - Add exception for address literals on build_address_l()
        - Add exception for address literals on fastmail
        
        - Added locate_and_load_library1() to lib/shared.c

        - Changed elmrc option "verify-domain" to type
          struct dt_enumerate_info. Value "hostname" specifies 
          that normal hostname -lookup API (that is 
          gethostbyname()) is done. Error HOST_NOT_FOUND is 
          treated as non-existing domain and error NO_DATA 
          is treated as valid mail domain.
          Value "shared" specifies that mail domain is
          verified by shared library if available.
          In that case shared library must be given on 
          elmrc option "use-mailer-library".

        - Added "valid-domains" elmrc option. This gives list
          of mail domains which are considered valid without
          verifying. This also overrides 
          "special-use-domains-blacklist" elmrc option
          for mail addresses.

        - Small fix for print_history_changed()

        - Do not create change record when change
          of use-library or use-*-library
          was not result of error condition.

        - Changed unload_code()
        - Added free_shared_caches()

        - Added libelmme-resolv.so module.  

        - Added "use-config-library"  elmrc option. This 
          includes shared libraries which are assumed
          to change default elmrc values. 
 
        - Added elmrc options "query-address-type",
          "query-domain-blacklist", "search-mail-domain" 
          and "search-mail-service" to "resolv:" section. 

        - Undefined symbols involving the $non_lazy_ptr 
          linker error were generated on  Mac OS X.
         Patch from: dansdragon@gmail.com

        - "The source of the error is the alpha38 version of 
           Configure is line 1874:

                     elif test "$uname_os"="Linux"; then

          Are you aware that this test is always true in bash?  
          If you are currious, I have written a test script that 
          test that section of code by setting $uname_os to "nonsense" 
          and it still exits the conditional at that point. I just 
          learned that spaces are very important in bash. The correct 
          way to write this lins is as follows (like the OSF1 line in 
          line 1868):

               elif test "$uname_os" = "Linux"; then"
         Reported by: dansdragon@gmail.com
        > Fixed test on Configure.
          This bug is introduced on Elm2.4ME+ PL32 (25)

        - Do not fail if canceled mail do not have charset -parameter.

        - Fix case where PressAnyKeyToContinue() is
          called on raw mode
        - Allow content_length == -1 on copy_pgp(), copy_mime(),
          copy_encrypted(), copy_plain(), copy_binary(),
          copy_cooked()
          
        - Replaced #include <values.h> with #include <limits.h>
          and MAXINT with INT_MAX
         Problem noted by: dansdragon@gmail.com

        - Do not call initial_TLS_ra() if USE_DLOPEN is not defined
         Problem noted by: dansdragon@gmail.com

        - "Attached is the patch file for the alpha38 version of 
           Configure that includes all of the bits, some of which was 
           previously discussed that would allow the program to be 
           compiled on newer versions of Mac OS that has the clang 
           compiler from LLVM installed."
         From: dansdragon@gmail.com
         > Added setting of nm_opts for Darwin and  
           /usr/lib/system/libsystem_c.dylib as libc for Darwin.

        - Changed struct remote_account
        - Changed struct service_entry

        - If addr= -parameter gives port on global
          elm.mailservices or user's .elm/mail.services
          that address is uses only for that port.
          If URL gives different explicit port,
          this address is not used. However explicit port
          on URL overrides port= -parameter on
          global elm.mailservices or user's 
          .elm/mail.services.

        - Added "mail-services-lookup" elmrc option. This
          option specifies how names (normally hostnames, that 
          is part after '@' on folder name (before ':' or '/' 
          characters). And also that includes names given on 
          ~/.elm/mail.services or on global elm.mailservices file.
          Default value "hostname" specifies that normal  
          hostname -lookup API (that is gethostbyname()) is done.
          Value "shared" specifies that lookup is done by shared 
          library if available. In that case shared library must 
          be given on elmrc option "use-connect-library". 

        - c)ancel -command on "Mail Sending Screen" was not
          saving message content to  ~/Canceled.mail.dir/.
          Added rewind() to have_cancel_FILE() on 
          lib/mailer/mailer.c

        - Handle situation where mails on ~/Canceled.mail.dir/
          does not include Content-Length: -header. 
          c)ancel -command on "Mail Sending Screen" does
          not add  Content-Length: -header. 

        - Added lines counting for c)ancel -command on
          "Mail Sending Screen" to 
          cancel_ticket_to_canceled_mail() on src/mailmsg2.c.

        - Added following RFC 6857 headers to known headers
          (to array on lib/addr/headers.c):
          Downgraded-Message-Id, Downgraded-Resent-Message-Id, 
          Downgraded-In-Reply-To, Downgraded-References, 
          Downgraded-Original-Recipient, Downgraded-Final-Recipient 
        - Added following RFC 3282 headers to known headers
          (to array on lib/addr/headers.c):
          Accept-Language, Content-Language
        - Added following RFC 5064 header to known headers
          (to array on lib/addr/headers.c):
          Archived-At
        - Added following RFC 7601 header to known headers
          (to array on lib/addr/headers.c):
          Authentication-Results
        - Added following RFC 6376 header to known headers
          (to array on lib/addr/headers.c):
          DKIM-Signature
        - Added following RFC 3798 headers to known headers
          (to array on lib/addr/headers.c):
          Disposition-Notification-To, 
          Disposition-Notification-Options,
          Original-Recipient
        - Added following RFC 5703 headers to known headers
          (to array on lib/addr/headers.c):
          Original-Subject, Original-From
        - Added following RFC 2156 headers to known headers
          (to array on lib/addr/headers.c):
          Supersedes, Autoforwarded, Message-Type, 
          Autosubmitted, Delivery-Date
        - Added following RFC 5064 header to known headers
          (to array on lib/addr/headers.c):
          MT-Priority
        - Added following RFC 7681 header to known headers
          (to array on lib/addr/headers.c):
          Organization
        - Added following RFC 3865 header to known headers
          (to array on lib/addr/headers.c):
          Solicitation
        - Added following RFC 3297 headers to known headers
          (to array on lib/addr/headers.c):
          Content-alternative, Original-Message-ID
        - Added "Apparently-To" to known headers
          (to array on lib/addr/headers.c).

        - Added some checks to add_canceled_mail()
        - Do not write number of lines to Canceled.mail.dir/.index
          if it is zero.
        - If number of lines is zero on  Canceled.mail.dir/.index
          count lines on file.

        - Added shared_libs/resolv/elmrc-resolv-info 
          for documenting of user settable library options.
        - Unified writing main options and shared library
          specific options to write_rc_part().
        - Trim trailing space when reading options
          from comment file. 
        - Added shared_libs/iconv/elmrc-iconv-info
          for documenting of user settable library options.
        - Added shared_libs/tls/elmrc-tls-info
          for documenting of user settable library options.

        - Added global elm.rc option "mailhome-dir" which 
          tells location of local mail spool directory. 
          Special value "none" indicates that empty mailbox 
          (with type "No folder") should be opened (if 
          "incoming-mailbox" elmrc option  is not set).
        - Allow NULL initial value on set_dt_estr()
        - Allow NULL folder name on  enter_new_folder()
        - Let  mbx_sessionlock_no_name(),
          mbx_unlock_no_name(), mbx_prepare_read_no_name()
          and mbx_ferror_no_name() succeed.
        - Give "No folder" as type on mbx_no_name_type()
        - Added mbx_give_normal_server to struct folder_type no_name
        - Set *bytes = 0 on mbx_new_mail_on_no_name()

        NOTE: This change produced side effect however.

          Empty mailbox (with type "No folder") is 
          opened when connection to IMAP or POP servers
          fails. However empty mailbox is not opened when
          IMAP or POP server's name not found.
        
        - Changed value "none" on elmrc option 
          "incoming-mailbox" mean that empty mailbox 
          (with type "No folder") should be opened 
          (and not use literal file "none" as mailbox).

        - Changed *bytes from int to long 
          on  new_mail_on_folder() and  
          mbx_new_mail_on_folder()
        - Some changes on newmail. 

        - Changed dlopen test on Configure
        - Changed Configure test for tls -module

        WARNING: Check after installation that
                 libraries are enabled. Global
                 elm.rc values are:

                 use-library =
                 use-base-library = iconv
                 use-config-library = resolv
                 use-connect-library = tls resolv
                 use-mailer-library = smtp resolv

        After editing global elm.rc run
              .../lib/elmrc-write -GI
        for fixing possible errors.

        See also: shared_libs/resolv/README.ME+

        New files:
            shared_libs/resolv/config
            shared_libs/resolv/resolvertest.c
            shared_libs/resolv/Makefile.SH
            shared_libs/resolv/elmresolv.h
            shared_libs/resolv/resolv.c
            lib/shared_config.c
            nls/C/C/C/s_resolv.m
            hdrs/s_resolv.h
            shared_libs/resolv/README.ME+
            shared_libs/resolv/elmrc-resolv-info
            shared_libs/iconv/elmrc-iconv-info
            shared_libs/tls/elmrc-tls-info

        New elmrc options:
            mail-services-lookup
            use-config-library
            valid-domains
            mailhome-dir

/ Kari Hurtta
Advertisements