Compactized sendmail in linux

Compactized sendmail in linux

Post by Gandh » Fri, 27 Jun 2003 18:11:57



Is anybody who knows what is the only needed lib for sending mail?
The machine that I am developing is a stand-alone product, which
should have minimized libraries because of performance, storage and
many reasons.
The only needed thing is to send a mail.
Following is libraries that the sendmail in my machine uses.
Which one can I exclude that are not necessary for sending a email?

/usr/sbin# ldd sendmail
        libdb3.so.3 => /usr/lib/libdb3.so.3 (0x4001c000)
        libnsl.so.1 => /lib/libnsl.so.1 (0x400ba000)
        libldap.so.2 => /usr/lib/libldap.so.2 (0x400cd000)
        liblber.so.2 => /usr/lib/liblber.so.2 (0x40104000)
        libresolv.so.2 => /lib/libresolv.so.2 (0x40111000)
        libwrap.so.0 => /lib/libwrap.so.0 (0x40121000)
        libsasl.so.7 => /usr/lib/libsasl.so.7 (0x40129000)
        libcrypto.so.0.9.7 => /usr/lib/i686/cmov/libcrypto.so.0.9.7
(0x40135000)
        libssl.so.0.9.7 => /usr/lib/i686/cmov/libssl.so.0.9.7
(0x40226000)
        libc.so.6 => /lib/libc.so.6 (0x40255000)
        libdl.so.2 => /lib/libdl.so.2 (0x40365000)
        libcrypt.so.1 => /lib/libcrypt.so.1 (0x40368000)
        libsasl2.so.2 => /usr/lib/libsasl2.so.2 (0x40395000)
        libpam.so.0 => /lib/libpam.so.0 (0x403a8000)
        libdb2.so.2 => /lib/libdb2.so.2 (0x403b0000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)

Thank you for any comment!!

Best Regards

Gandhar

 
 
 

Compactized sendmail in linux

Post by Jens.Toerr.. » Fri, 27 Jun 2003 19:54:50



> Is anybody who knows what is the only needed lib for sending mail?
> The machine that I am developing is a stand-alone product, which
> should have minimized libraries because of performance, storage and
> many reasons.
> The only needed thing is to send a mail.
> Following is libraries that the sendmail in my machine uses.
> Which one can I exclude that are not necessary for sending a email?
> /usr/sbin# ldd sendmail
>         libdb3.so.3 => /usr/lib/libdb3.so.3 (0x4001c000)
>         libnsl.so.1 => /lib/libnsl.so.1 (0x400ba000)
>         libldap.so.2 => /usr/lib/libldap.so.2 (0x400cd000)
>         liblber.so.2 => /usr/lib/liblber.so.2 (0x40104000)
>         libresolv.so.2 => /lib/libresolv.so.2 (0x40111000)
>         libwrap.so.0 => /lib/libwrap.so.0 (0x40121000)
>         libsasl.so.7 => /usr/lib/libsasl.so.7 (0x40129000)
>         libcrypto.so.0.9.7 => /usr/lib/i686/cmov/libcrypto.so.0.9.7
> (0x40135000)
>         libssl.so.0.9.7 => /usr/lib/i686/cmov/libssl.so.0.9.7
> (0x40226000)
>         libc.so.6 => /lib/libc.so.6 (0x40255000)
>         libdl.so.2 => /lib/libdl.so.2 (0x40365000)
>         libcrypt.so.1 => /lib/libcrypt.so.1 (0x40368000)
>         libsasl2.so.2 => /usr/lib/libsasl2.so.2 (0x40395000)
>         libpam.so.0 => /lib/libpam.so.0 (0x403a8000)
>         libdb2.so.2 => /lib/libdb2.so.2 (0x403b0000)
>         /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)

There's no single lib for sending mail. It depends on what the program
you you use for sending mail requires. I guess you can write a very
simple MTA that's just sending mails where you only need ld-linux.so,
libc.so and libresolv.so (and you could possibly also replace the
rotines from libresolv.so by your own if you are prepared to deal with
talking to a DNS server all by yourself and you have too much time ;-)
I wrote a set of subroutines for sending mail from within a program
without requiring a MTA being installed, requiring only these three
libraries, that I can send you and that you possibly with quite some
additional work could convert into a simple mail sending only MTA.
But when you plan to use the installed version of sendmail you will
need all of the above libraries. Perhaps you can make your own version
of sendmail with a reduced set of capabilities and thus only a subset
of the libraries being required. Get the sources and have a look at
the configuration options.

BTW, this question seems to be quite a bit off-topic for
comp.os.linux.development.system, comp.os.linux.development.apps
or even comp.unix.programmer would seem to be more appropriate.

                                  Regards, Jens
--
      _  _____  _____

  _  | |  | |    | |
 | |_| |  | |    | |          http://www.physik.fu-berlin.de/~toerring
  \___/ens|_|homs|_|oerring