1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
|
Since version 0.7.2, msmtp can be compiled to a DOS executable
using DJGPP (http://www.delorie.com/djgpp/)
To run the DOS executable, you need a DPMI server and an installed Watt32
library from http://www.bgnett.no/~giva/ .
Differences between the UNIX and DOS versions
=============================================
- The default system configuration file is "/env/DJDIR/etc/msmtprc"
- The default user configuration file is "$HOME/_msmtprc"
- The .netrc file is "$HOME/_netrc"
- User configuration file security checks are not done
- The connect timeout setting has no effect. See src/net.c, function
net_connect() for DJGPP.
Notes on TLS/SSL with OpenSSL on DOS
====================================
You need OpenSSL compiled with DJGPP (GnuTLS is not available for DOS as far as
I know). Add something like
LDFLAGS="-Lc:/dos-openssl/lib" \
CPPFLAGS="-Ic:/dos-openssl/include" \
to the configure command line.
OpenSSL needs some truly random data to seed its pseudo random number generator
(PRNG). It reads this data from %RANDFILE% or %HOME%.rnd (in this order). You
have to fill this file with random data yourself on DOS.
If you want as much security as you can get, get some truly random data (for
example with "dd if=/dev/random of=randfile bs=1024 count=1" on a system with
/dev/random) and write it to the file.
The minimum you have to do is to write at least one byte of data to the file.
msmtp will seed the system time into the PRNG, too. If OpenSSL is not satisfied
with the amount of randomness from the file and the system time, msmtp will
continue to seed the PRNG with data from the DJGPP pseudo random number
generator. This is insecure because this data is not truly random! But it's the
best you can get on a DOS system...
Compiling the source
====================
To compile msmtp yourself, you need:
- A DOS with LFN (long file name) support.
- DJGPP with bash, fileutils, shellutils, sed, grep, and gawk.
The utilities are needed to run the configure script.
You need DJGPP 2.04 (which still is in the 'beta' subdirectory on DJGPP
ftp sites as of 2004-09-02). Version 2.03 (which is in 'current') won't work
because it lacks snprintf().
- The Watt32 networking library for DOS from http://www.bgnett.no/~giva/
The library should be available as libsocket.a in the DJGPP lib
directory (as is suggested in the Watt32 docs).
Run configure with arguments similar to
./configure AWK=c:/djgpp/bin/gawk.exe CC=c:/djgpp/bin/gcc.exe
The AWK and CC options are necessary because the configure script won't find
these executables without them (I don't know why).
|