Subject: [htdig3-dev] 3.2.0b1 core dumps
From: loic@ceic.com
Date: Mon Feb 21 2000 - 01:01:11 PST
Hi,
It looks like the problems we run into because of the modified
version of Berkeley DB are not over. Despite the new name (libhtdb)
there still is a problem because the symbols in the library are
identical (same name) to the symbols in a regular libdb.
This is a problem, for instance, if domain name resolution uses
a Berkely DB base to solve names. Someone in France reported such a problem
Example provided by Fabien Seisen <seisen@linuxfr.org>.
----
#include <stdio.h>
#include <netdb.h>
int main(int argc, char *argv[])
{
struct servent *serv_ptr;
serv_ptr = getservbyname("telnet", "tcp");
if (serv_ptr) {
printf("name=%s port=%dn",
serv_ptr->s_name, ntohs(serv_ptr->s_port));
} else printf("pas trouvén");
exit(0);
}
----
Avec gcc e.c le prog fonctionne.
$ gcc e.c
$ ./a.out
name=telnet port=23
$
$ gcc e.c -lhtdb
$ ./a.out
Segmentation fault
$
The only bullet proof solution to this is to rename symbols (prefixing
them). Fabien will probably do this by himself. Otherwise I'll take care
of that next week.
Cheers,
-- Loic Dachary24 av Secretan 75019 Paris Tel: 33 1 42 45 09 16 e-mail: loic@dachary.org URL: http://www.senga.org/
------------------------------------ To unsubscribe from the htdig3-dev mailing list, send a message to htdig3-dev-unsubscribe@htdig.org You will receive a message to confirm this.
This archive was generated by hypermail 2b28 : Sun Feb 20 2000 - 23:40:50 PST