summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
author/C=DE/ST=Berlin/L=Berlin/O=Netfilter Project/OU=Development/CN=laforge/emailAddress=laforge@netfilter.org </C=DE/ST=Berlin/L=Berlin/O=Netfilter Project/OU=Development/CN=laforge/emailAddress=laforge@netfilter.org>2005-11-06 11:34:35 +0000
committer/C=DE/ST=Berlin/L=Berlin/O=Netfilter Project/OU=Development/CN=laforge/emailAddress=laforge@netfilter.org </C=DE/ST=Berlin/L=Berlin/O=Netfilter Project/OU=Development/CN=laforge/emailAddress=laforge@netfilter.org>2005-11-06 11:34:35 +0000
commitd0a9ad5275bcc7b87200724ee9294e9f456ff17f (patch)
treec8e1d0d13472e8a82aa78176f7a8dc581596eff7 /src
parent93022769c4a822e613f11cf64b444d58d6b9ed97 (diff)
introduce library API versioning and plugin release handling
Diffstat (limited to 'src')
-rw-r--r--src/Makefile.am8
-rw-r--r--src/libnetfilter_conntrack.c4
2 files changed, 9 insertions, 3 deletions
diff --git a/src/Makefile.am b/src/Makefile.am
index a7065bd..e7d3a11 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1,3 +1,8 @@
+
+# This is _NOT_ the library release version, it's an API version.
+# Please read Chapter 6 "Library interface versions" of the libtool documentation before making any modification
+LIBVERSION=1:0:0
+
#AUTOMAKE_OPTIONS = no-dependencies foreign
#EXTRA_DIST = $(man_MANS) acinclude.m4
@@ -8,5 +13,6 @@ LIBS=
lib_LTLIBRARIES = libnetfilter_conntrack.la
-libnetfilter_conntrack_la_LDFLAGS = -Wc,-nostartfiles -lnfnetlink
+libnetfilter_conntrack_la_LDFLAGS = -Wc,-nostartfiles -lnfnetlink \
+ -version-info $(LIBVERSION)
libnetfilter_conntrack_la_SOURCES = libnetfilter_conntrack.c
diff --git a/src/libnetfilter_conntrack.c b/src/libnetfilter_conntrack.c
index 7ed76c4..057b24d 100644
--- a/src/libnetfilter_conntrack.c
+++ b/src/libnetfilter_conntrack.c
@@ -300,9 +300,9 @@ static struct nfct_proto *findproto(char *name)
}
if (!handler) {
- char path[sizeof("nfct_proto_.so")
+ char path[sizeof("nfct_proto_.so") + strlen(VERSION)
+ strlen(name) + strlen(lib_dir)];
- sprintf(path, "%s/nfct_proto_%s.so", lib_dir, name);
+ sprintf(path, "%s/nfct_proto_%s-%s.so", lib_dir, name, VERSION);
if (dlopen(path, RTLD_NOW))
handler = findproto(name);
else