Elm ME+ 2.5 PLalpha41 DEB announcement

Experimental DEB generator script for Elm ME+ 2.5 PLalpha41
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.alpha41-1.gen_deb
    DEB generator script
  - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha41-1.gen_deb.elm-key-2013old.sig
  - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha41-1.gen_deb.elm-key-2013.sig
  - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha41-1.gen_deb.sig

A command

    elm-ME+2.5.alpha41-1.gen_deb  {packager}

generates package elmme with version 1.1.41-1.{distribution}.

A command

    elm-ME+2.5.alpha41-1.gen_deb --nonew  {packager}

generates package elm with version ME+2.5.alpha41-1.{distribution}.

Module libelmme-resolv.so is now included for all distributions below.

== Old package names

Package elm with version ME+2.5.alpha41-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.alpha41-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.alpha41-1.Debian3.1.i386.deb.elm-key-2013old.sig
  - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha41-1.Debian3.1.i386.deb.elm-key-2013.sig
  - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha41-1.Debian3.1.i386.deb.sig

* 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.alpha41-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.alpha41-1.Ubuntu6.06.i386.deb.elm-key-2013old.sig
  - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha41-1.Ubuntu6.06.i386.deb.elm-key-2013.sig
  - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha41-1.Ubuntu6.06.i386.deb.sig

* 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.alpha41-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.alpha41-1.Ubuntu10.04.i386.deb.elm-key-2013.sig
  - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha41-1.Ubuntu10.04.i386.deb.sig

== New package names

Package elmme with version 1.1.41-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.alpha41-1.Ubuntu10.04.i386.deb
    Package elmme binary DEB build on Ubuntu 10.04.4 LTS
  - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha41-1.Ubuntu10.04.i386.deb.elm-key-2013.sig
  - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha41-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.alpha41-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.alpha41-1.Ubuntu12.04.i386.deb.elm-key-2013.sig
  - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha41-1.Ubuntu12.04.i386.deb.sig

* Compiled on Ubuntu 14.04.4 LTS
  (Linux 3.13, glibc 2.19, no MTA)

  - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha41-1.Ubuntu14.04.i386.deb
    Package elmme binary DEB build on Ubuntu 14.04.4 LTS
  - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha41-1.Ubuntu14.04.i386.deb.elm-key-2013.sig
  - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha41-1.Ubuntu14.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

  - /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.

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

On installation new values without merging are written to following

  - /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

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

SUMMARY: This release adds new memory allocation wrappers,
         compiles libelmme-resolv.so module on more Linux 
         distributions, makes IPv6 support more complete, 
         may use getaddrinfo(), getifaddrs() and 
         if_nameindex() -functions. New elmrc option 
         "ipv6-scope-id" is added and new values are added 
         to elmrc option "mail-services-lookup". This 
         release changes error handling on parsing of 
         headers. Then also some other changes and bug 
         fixes are included.

Elm ME+ 2.5 PLalpha41 changelog

Changes on Elm ME+ 2.5 PLalpha41 compared with Elm ME+ 2.5 PLalpha40

        SUMMARY: This release adds new memory allocation wrappers,
                 compiles libelmme-resolv.so module on more Linux 
                 distributions, makes IPv6 support more complete, 
                 may use getaddrinfo(), getifaddrs() and 
                 if_nameindex() -functions. New elmrc option 
                 "ipv6-scope-id" is added and new values are added 
                 to elmrc option "mail-services-lookup". This 
                 release changes error handling on parsing of 
                 headers. Then also some other changes and bug 
                 fixes are included.

        WARNING: There are some changes on nm usage so it may
                 cause that different set of symbols are found.
                 Please report possible problems.

        - metapager() did not display correctly a header
          whose unfolded length was 2560 characters or more.
          Raised that to 32k characters as it is on 

        - Added safe_calloc() as wrapper to calloc().
          That is similar to safe_malloc(). 
        - Changed len from unsigned to size_t on safe_*
          allocation functions
        - Fail if size < 1  on safe_*  allocation functions
        - Added safe_array_realloc() to lib/safemalloc.c
        - Added safe_zero_alloc() to lib/safemalloc.c

        - Possible fix for debug_print_buffer()

        - Added Configure test for <stdint.h>

        - On Red Hat Enterprise Linux Server release 5.6 (Tikanga)
          Configure test for resolv library fails with
                /tmp/ccOfeE26.o: In function `main':
                tryresolv.c:(.text+0x474): undefined reference to `__ns_initparse'
                tryresolv.c:(.text+0x605): undefined reference to `__ns_parserr'
                tryresolv.c:(.text+0x86f): undefined reference to `__ns_name_uncompress'
                tryresolv.c:(.text+0x902): undefined reference to `__ns_name_uncompress'
                tryresolv.c:(.text+0x9a0): undefined reference to `__ns_name_uncompress'
                tryresolv.c:(.text+0xbb4): undefined reference to `__ns_name_uncompress'
                tryresolv.c:(.text+0xc58): undefined reference to `__ns_name_uncompress'
                collect2: ld returned 1 exit status
        > Linked tryresolv with static libresolv.a

        - Added nls/C/C/C/s_iconv.m
        - Added nls/C/C/C/s_smtp.m
        - Added nls/C/C/C/s_tls.m

        - Changed struct smtp_callbacks on

        - Do not call flush_filter() with NULL
          ptr->filter_line on set_out_state_line_mode().
          Possible fix for crash.
        - Fix for add_se_alias_to_entry()
          on lib/service_list.c

        - If getaddrinfo() is available, use it for address lookup 
                mail-services-lookup = hostname
          was used on user's .elm/elmrc -file. This is default.
        - New value 
                mail-services-lookup = gethostbyname
          on user's .elm/elmrc -file specifies that 
          gethostbyname() should be used.
        - New value 
                mail-services-lookup = getaddrinfo
          on user's .elm/elmrc -file specifies that 
          getaddrinfo() should be used.
        * However gethostbyname() is still used to 
          initialize "hostdomain" and IPv4 addressed 
          returned are still used for default values of
          "mailname" elmrc variable. This does not
          use "mail-services-lookup" elmrc variable
          and getaddrinfo() is not used on here.
        - Configure tests if AI_ADDRCONFIG is usable
          with getaddrinfo()

        - Fix panic on connect_remote_account_1():
          "CONNECTION PANIC in remote_mbx.c:521:connect_remote_account_1
           >>>No data (ra_from)"
        - Fixed some wrong definitions on known
          headers array on lib/addr/headers.c 

        - Changed parse_header_address() on
          lib/addr/getaddrc.c so that missing ','
          after '>' is detected. Before that change
          components of two address was catenated.

        - Do not alloc zero length vector
          if add_name_to_string() is called
          with empty ascii string. add_ascii_to_string()
          uses actually add_name_to_string().

        - Added more wrapping of headers when they are printed
          to editor's buffer on src/hdrconfg.c

        - If getifaddrs() is available, Configure asks
          that should interface addresses added to "mailname" 
          global elm.rc variable. Interface "lo" is
          ignored when adding addresses to "mailname".
          Also IPv6 addresses with scope id are ignored.

        - Added get_interfaces(), update_interface_list(),
          set_SOCKADDR_from_data(), free_interface_list() ,
          same_SOCKADDR_ptr_generic() to lib/remote_mbx.c

        - Small fix to lookup_domain_name() on

        - If getifaddrs() is available and elmrc variable
          "query-address-type" (on resolv: -section on 
          user's .elm/elmrc -file) have value "default", 
          resolv -module uses interface address list to 
          determine if query A (IPv4) or AAAA (IPv6) records 
          need to be queried. Interface "lo" and IPv6 
          addresses with non-zero scope-id are ignored. 
          If only IPv4 addresses are seen then A (IPv4) 
          records are queried. If only IPv6 addresses are 
          seen then AAAA (IPv6) records are queried. Mail 
          domain verify queries both A (IPv4) or AAAA (IPv6) 
          records for query-address-type=default
          (when verify-domain=resolv:mx-address is used.)

        - Settings
                mail-services-lookup = shared
                mail-services-lookup = resolv:addresses
                mail-services-lookup = resolv:all-addresses
          caused that that command that IP-address
          an mailbox name as
             elm -f username@
          was not accepted on Fedora release 19 
          and Ubuntu 10.04.4 LTS. Changed  give_service_entry3()
          to ignore mail-services-lookup if literal
          IP address is given as argument.
        - Do not allow addr= on user's mail.services
          or global elm.mailservices file if
          name of entry matches to literal IP-address.

        - If if_nameindex is available, elmrc
                ipv6-scope-id = link-local-if-index
          can be used to tell that scope id's
          for link local IPv6-addresses are
          are interface indexes. This adds
          support for interface names as
          textual form of scope ids.
        * Scope id is part after % -character
          on numeric IPv6 -address.
        - Option
                ipv6-scope-id = auto
                ipv6-scope-id = link-local-if-index
          if numeric scope id's of link
          local addresses matches to interface
          index on where address is located.
        - Scope-ids for other type IPv6-addresses
          are still numeric with
              ipv6-scope-id = link-local-if-index
        - Configure asks is struct sockaddr_in6's 
          sin6_scope_id -field is always interface 
          index as given on if_nametoindex() and
          if_indextoname() for link local addresses.
          For Linux this default to "yes".

        NOTE: Currently numeric IPv6 addresses is 
          possible to give on user's mail.services
          -file or on global elm.mailservices -file. 
          Elsewhere (for example hostnames on
          mailbox names) they are misparsed.

        - Added FL_SHOWSYS value for flags -field of 
          struct rc_save_info_rec.
        - "/usr/bin/nm -D -f sysv" seems crash on
          Ubuntu 14.04.4 LTS. Try "nm -D" instead
          if "nm -D -f sysv" crashes on Configure.

        - Using previous answer to "What is your domain name?"
          question as default on Configure even when
          hostname gives different domain.
        New files:

        New elmrc options:

/ Kari Hurtta