On hardened there are problems when loading modules with undefined symbols that do not resolve, so add stubs and make sure the neon symbols are local for libhttp.so. Martin Schlemmer (22 July 2006) diff -urpN gnome-vfs-2.14.2/imported/neon/Makefile.am gnome-vfs-2.14.2.az/imported/neon/Makefile.am --- gnome-vfs-2.14.2/imported/neon/Makefile.am 2006-01-08 18:53:09.000000000 +0200 +++ gnome-vfs-2.14.2.az/imported/neon/Makefile.am 2006-07-22 15:30:26.000000000 +0200 @@ -53,8 +53,9 @@ NEON_BASE_SOURCES = ne_request.c ne_sess ne_uri.c ne_dates.c ne_alloc.c \ ne_md5.c ne_utils.c \ ne_auth.c \ - ne_redirect.c \ - ne_compress.c + ne_redirect.c \ + ne_compress.c \ + ne_stubs.c NEON_DAV_SOURCES = \ ne_207.c ne_xml.c \ diff -urpN gnome-vfs-2.14.2/imported/neon/ne_stubs.c gnome-vfs-2.14.2.az/imported/neon/ne_stubs.c --- gnome-vfs-2.14.2/imported/neon/ne_stubs.c 1970-01-01 02:00:00.000000000 +0200 +++ gnome-vfs-2.14.2.az/imported/neon/ne_stubs.c 2006-07-22 15:29:49.000000000 +0200 @@ -0,0 +1,28 @@ +#include "ne_ssl.h" +#include "ne_request.h" +#include "ne_xml.h" + +/* + * Stubs so that the functions are not marked as UND in the global symbol + * table. Assuming that nothing that calls them are actually used in + * gnome-vfs, they are bare. + */ + +void ne_ssl_context_trustcert(ne_ssl_context *ctx, const ne_ssl_certificate *cert) +{ + NE_DEBUG(NE_DBG_SSL, "SSL: stub ne_ssl_context_trustcert() in use\n"); + return; +} + +int ne_xml_parse_response(ne_request *req, ne_xml_parser *parser) +{ + NE_DEBUG(NE_DBG_XMLPARSE, "XML: stub ne_xml_parse_response() in use\n"); + return 0; +} + +int ne_xml_dispatch_request(ne_request *req, ne_xml_parser *parser) +{ + NE_DEBUG(NE_DBG_XML, "XML: stub ne_xml_dispatch_request() in use\n"); + return 0; +} + diff -urpN gnome-vfs-2.14.2/modules/libhttp.map gnome-vfs-2.14.2.az/modules/libhttp.map --- gnome-vfs-2.14.2/modules/libhttp.map 1970-01-01 02:00:00.000000000 +0200 +++ gnome-vfs-2.14.2.az/modules/libhttp.map 2006-07-22 15:05:30.000000000 +0200 @@ -0,0 +1,6 @@ +{ + local: + # Neon symbols should not be global + ne_*; +}; + diff -urpN gnome-vfs-2.14.2/modules/Makefile.am gnome-vfs-2.14.2.az/modules/Makefile.am --- gnome-vfs-2.14.2/modules/Makefile.am 2005-12-11 01:50:19.000000000 +0200 +++ gnome-vfs-2.14.2.az/modules/Makefile.am 2006-07-22 15:05:30.000000000 +0200 @@ -44,7 +44,8 @@ EXTRA_DIST = \ inotify-path.h \ inotify-path.c \ local_inotify.h \ - local_inotify_syscalls.h + local_inotify_syscalls.h \ + libhttp.map ### Module setup if HAVE_CDDA @@ -230,6 +231,10 @@ libhttp_la_SOURCES = \ $(NULL) libhttp_la_LDFLAGS = $(module_flags) +if USE_HTTP_NEON +libhttp_la_LDFLAGS += \ + -Wl,--version-script,$(srcdir)/libhttp.map +endif libhttp_la_LIBADD = $(HTTP_LIBS) libtar_la_SOURCES = tar-method.c tarpet.h