Greg Louis wrote:
> Removing the db from that line did solve the problem. (I saw that
> entry but that was yesterday -- didn't spring to mind again this
> morning when I found out I too had a getservbyname() issue :(
:)
> Curious: this works fine without any change to /etc/nsswitch.conf:
> #include <netdb.h>
> #include <stdio.h>
> int main(int argc, char **argv)
> {
> struct servent *p;
> int *port;
> p=getservbyname("smtp","tcp");
> *port=ntohs(p->s_port);
> printf("Got port %d for service %s/%s\n", *port,
> p->s_name, p->s_proto);
> exit(0);
> }
>
> # gcc -O -o testservent testservent.c
> # testservent
> Got port 25 for service smtp/tcp
>
> Anyway, thanks very much indeed for the help!
This works because you simply use the same databaselib thats used inside
of your libc, but exim crashes because it's linked against another
library, and some names are clashing (or whatever) :)
Nico