[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[msmtp-users] msmtp: runtime fails with "Bad value for ai_flags"



Hi,

I'm a developer with AstLinux, we love msmtp :-)

I just tried 1.6.0 and had a runtime failure with:

msmtp: cannot locate host foo.example.com: Bad value for ai_flags msmtp: could not send mail...

I fixed the problem with this patch:
http://svn.code.sf.net/p/astlinux/code/branches/1.0/package/msmtp/msmtp-ignore-AI_IDN.patch

I did more research, and for AI_IDN to work it must be compiled into glibc.  We use crosstool-ng to create a toolchain using eglibc, and we use the default...
--
CT_LIBC_ADDONS_LIST=""
--

if we wanted AI_IDN to work, we would need to specify...
--
CT_LIBC_ADDONS_LIST="libidn"
--
which we currently do not do.

So the bottom line seems to be that checking the headers for AI_IDN (via autoconf) is not good enough.

Here is a somewhat ugly solution...
--
whois: fallback to no AI_IDN if glibc doesn't support it
http://git.pld-linux.org/?p=packages/whois.git;a=commitdiff;h=126789cab80e6a9afff2846aea7eecceb18fc886
--

The question is can autoconf determine if glibc was build with libidn ?

Another solution would be a --with-idn configure switch which would add a USE_IDN config.h define.

-#ifdef AI_IDN
+#if defined(AI_IDN) && defined(USE_IDN)

 --with-idn would be the default, I would set --without-idn

Possibly,  --with-libc-idn and --without-libc-idn would be more clear.

Lonnie