--- a/configure.in +++ b/configure.in @@ -21,7 +21,7 @@ dnl Check for the usual programs dnl AC_PROG_CC AC_PROG_INSTALL -AC_PROG_RANLIB +AC_PROG_LIBTOOL AC_CHECK_HEADERS(sys/sockio.h) --- a/include/libnet/libnet-functions.h +++ b/include/libnet/libnet-functions.h @@ -1429,7 +1429,7 @@ libnet_t *l, libnet_ptag_t ptag); * @param ptag protocol tag to modify an existing header, 0 to build a new one * @return protocol tag value on success, -1 on error */ -inline u_int32_t +u_int32_t libnet_getgre_length(u_int16_t fv); /** --- a/Makefile.am +++ b/Makefile.am @@ -12,4 +12,4 @@ SUBDIRS = include src sample EXTRA_DIST = Makefile.am.common -bin_scripts = libnet-config +bin_SCRIPTS = libnet-config --- a/sample/Makefile.am +++ b/sample/Makefile.am @@ -60,4 +60,4 @@ ip_raw_SOURCES = ip_raw.c ip_link_SOURCES = ip_link.c sebek_SOURCES = sebek.c -LDADD = $(top_srcdir)/src/libnet.a +LDADD = $(top_srcdir)/src/libnet.la --- a/src/libnet_checksum.c +++ b/src/libnet_checksum.c @@ -42,8 +42,10 @@ int libnet_in_cksum(u_int16_t *addr, int len) { int sum; + u_int16_t last_byte; sum = 0; + last_byte = 0; while (len > 1) { @@ -52,7 +54,8 @@ libnet_in_cksum(u_int16_t *addr, int len } if (len == 1) { - sum += *(u_int16_t *)addr; + *(u_int8_t*)&last_byte = *(u_int8_t*)addr; + sum += last_byte; } return (sum); --- a/src/Makefile.am +++ b/src/Makefile.am @@ -8,9 +8,9 @@ include $(top_srcdir)/Makefile.am.common -lib_LIBRARIES = libnet.a +lib_LTLIBRARIES = libnet.la -libnet_a_SOURCES = libnet_asn1.c \ +libnet_la_SOURCES = libnet_asn1.c \ libnet_build_802.1q.c \ libnet_build_802.1x.c \ libnet_build_802.2.c \ @@ -57,15 +57,20 @@ libnet_a_SOURCES = libnet_asn1.c \ libnet_version.c \ libnet_write.c -EXTRA_libnet_a_SOURCES = libnet_link_bpf.c \ - libnet_link_dlpi.c \ - libnet_link_linux.c \ - libnet_link_nit.c \ - libnet_link_none.c \ - libnet_link_pf.c \ - libnet_link_snit.c \ - libnet_link_snoop.c \ - libnet_link_win32.c - -libnet_a_LIBADD = @LIBOBJS@ +libnet_la_LIBADD = @LTLIBOBJS@ +# Here are a set of rules to help you update your library version +# information: +# +# 1. If the library source code has changed at all since the last +# update, then increment REVISION (`C:R:A' becomes `C:r+1:A'). +# +# 2. If any interfaces have been added, removed, or changed since the +# last update, increment CURRENT, and set REVISION to 0. +# +# 3. If any interfaces have been added since the last public release, +# then increment AGE. +# +# 4. If any interfaces have been removed since the last public release, +# then set AGE to 0. +libnet_la_LDFLAGS = -version-info 4:0:3 # CURRENT[:REVISION[:AGE]]