libnet4r 0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (306) hide show
  1. data/CHANGELOG +15 -0
  2. data/LICENSE +28 -0
  3. data/README +187 -0
  4. data/Rakefile +110 -0
  5. data/ext/extconf.rb +60 -0
  6. data/ext/libnet.c +705 -0
  7. data/ext/libnet_arp.c +152 -0
  8. data/ext/libnet_ethernet.c +115 -0
  9. data/ext/libnet_ipv4.c +140 -0
  10. data/ext/libnet_ipv6.c +138 -0
  11. data/ext/libnet_udp.c +112 -0
  12. data/ext/libnet_vlan.c +131 -0
  13. data/lib/libnet4r/header.rb +609 -0
  14. data/lib/libnet4r/helpers.rb +19 -0
  15. data/lib/libnet4r/libnet.rb +39 -0
  16. data/libnet/CVS/Entries +24 -0
  17. data/libnet/CVS/Repository +1 -0
  18. data/libnet/CVS/Root +1 -0
  19. data/libnet/Makefile.am +15 -0
  20. data/libnet/Makefile.am.common +10 -0
  21. data/libnet/Makefile.in +443 -0
  22. data/libnet/README +21 -0
  23. data/libnet/VERSION +1 -0
  24. data/libnet/acconfig.h +36 -0
  25. data/libnet/acinclude.m4 +463 -0
  26. data/libnet/aclocal.m4 +1337 -0
  27. data/libnet/autom4te.cache/CVS/Entries +1 -0
  28. data/libnet/autom4te.cache/CVS/Repository +1 -0
  29. data/libnet/autom4te.cache/CVS/Root +1 -0
  30. data/libnet/autom4te.cache/output.0 +6225 -0
  31. data/libnet/autom4te.cache/requests +111 -0
  32. data/libnet/autom4te.cache/traces.0 +272 -0
  33. data/libnet/config.guess +1314 -0
  34. data/libnet/config.sub +1410 -0
  35. data/libnet/configure +6225 -0
  36. data/libnet/configure.in +235 -0
  37. data/libnet/doc/BUGS +19 -0
  38. data/libnet/doc/CHANGELOG +527 -0
  39. data/libnet/doc/CONTRIB +53 -0
  40. data/libnet/doc/COPYING +31 -0
  41. data/libnet/doc/CVS/Entries +12 -0
  42. data/libnet/doc/CVS/Repository +1 -0
  43. data/libnet/doc/CVS/Root +1 -0
  44. data/libnet/doc/DESIGN_NOTES +134 -0
  45. data/libnet/doc/MIGRATION +172 -0
  46. data/libnet/doc/PACKET_BUILDING +161 -0
  47. data/libnet/doc/PORTED +45 -0
  48. data/libnet/doc/RAWSOCKET_NON_SEQUITUR +41 -0
  49. data/libnet/doc/TODO +96 -0
  50. data/libnet/doc/html/acconfig_8h-source.html +49 -0
  51. data/libnet/doc/html/annotated.html +17 -0
  52. data/libnet/doc/html/bpf_8h-source.html +277 -0
  53. data/libnet/doc/html/config_8h-source.html +125 -0
  54. data/libnet/doc/html/doxygen.css +169 -0
  55. data/libnet/doc/html/doxygen.png +0 -0
  56. data/libnet/doc/html/files.html +29 -0
  57. data/libnet/doc/html/functions.html +26 -0
  58. data/libnet/doc/html/functions_vars.html +26 -0
  59. data/libnet/doc/html/getopt_8h-source.html +97 -0
  60. data/libnet/doc/html/globals.html +219 -0
  61. data/libnet/doc/html/globals_defs.html +104 -0
  62. data/libnet/doc/html/globals_func.html +136 -0
  63. data/libnet/doc/html/gnuc_8h-source.html +56 -0
  64. data/libnet/doc/html/graph_legend.dot +22 -0
  65. data/libnet/doc/html/graph_legend.html +75 -0
  66. data/libnet/doc/html/ifaddrlist_8h-source.html +65 -0
  67. data/libnet/doc/html/in__systm_8h-source.html +90 -0
  68. data/libnet/doc/html/index.html +17 -0
  69. data/libnet/doc/html/libnet-asn1_8h-source.html +268 -0
  70. data/libnet/doc/html/libnet-functions_8h-source.html +742 -0
  71. data/libnet/doc/html/libnet-functions_8h.html +8844 -0
  72. data/libnet/doc/html/libnet-headers_8h-source.html +1655 -0
  73. data/libnet/doc/html/libnet-headers_8h.html +3053 -0
  74. data/libnet/doc/html/libnet-macros_8h-source.html +161 -0
  75. data/libnet/doc/html/libnet-macros_8h.html +358 -0
  76. data/libnet/doc/html/libnet-structures_8h-source.html +233 -0
  77. data/libnet/doc/html/libnet-types_8h-source.html +58 -0
  78. data/libnet/doc/html/libnet_8h-source.html +119 -0
  79. data/libnet/doc/html/libnet_8h.html +24 -0
  80. data/libnet/doc/html/structlibnet__802__1q__hdr.html +145 -0
  81. data/libnet/doc/html/structlibnet__802__1x__hdr.html +97 -0
  82. data/libnet/doc/libnet.doxygen.conf +1102 -0
  83. data/libnet/doc/man/CVS/Entries +1 -0
  84. data/libnet/doc/man/CVS/Repository +1 -0
  85. data/libnet/doc/man/CVS/Root +1 -0
  86. data/libnet/doc/man/man3/libnet-functions.h.3 +3136 -0
  87. data/libnet/doc/man/man3/libnet-headers.h.3 +1872 -0
  88. data/libnet/doc/man/man3/libnet-macros.h.3 +172 -0
  89. data/libnet/doc/man/man3/libnet.h.3 +17 -0
  90. data/libnet/doc/man/man3/libnet_802_1q_hdr.3 +53 -0
  91. data/libnet/doc/man/man3/libnet_802_1x_hdr.3 +41 -0
  92. data/libnet/include/CVS/Entries +10 -0
  93. data/libnet/include/CVS/Repository +1 -0
  94. data/libnet/include/CVS/Root +1 -0
  95. data/libnet/include/Makefile.am +7 -0
  96. data/libnet/include/Makefile.in +395 -0
  97. data/libnet/include/bpf.h +264 -0
  98. data/libnet/include/config.h.in +118 -0
  99. data/libnet/include/gnuc.h +43 -0
  100. data/libnet/include/ifaddrlist.h +52 -0
  101. data/libnet/include/libnet/CVS/Entries +9 -0
  102. data/libnet/include/libnet/CVS/Repository +1 -0
  103. data/libnet/include/libnet/CVS/Root +1 -0
  104. data/libnet/include/libnet/Makefile.am +12 -0
  105. data/libnet/include/libnet/Makefile.in +294 -0
  106. data/libnet/include/libnet/libnet-asn1.h +255 -0
  107. data/libnet/include/libnet/libnet-functions.h +2157 -0
  108. data/libnet/include/libnet/libnet-headers.h +1662 -0
  109. data/libnet/include/libnet/libnet-macros.h +186 -0
  110. data/libnet/include/libnet/libnet-structures.h +222 -0
  111. data/libnet/include/libnet/libnet-types.h +45 -0
  112. data/libnet/include/libnet.h.in +132 -0
  113. data/libnet/include/stamp-h.in +1 -0
  114. data/libnet/include/win32/CVS/Entries +5 -0
  115. data/libnet/include/win32/CVS/Repository +1 -0
  116. data/libnet/include/win32/CVS/Root +1 -0
  117. data/libnet/include/win32/config.h +112 -0
  118. data/libnet/include/win32/getopt.h +84 -0
  119. data/libnet/include/win32/in_systm.h +77 -0
  120. data/libnet/include/win32/libnet.h +106 -0
  121. data/libnet/install-sh +250 -0
  122. data/libnet/libnet-config.in +62 -0
  123. data/libnet/libnet.doxygen.conf +1102 -0
  124. data/libnet/man/CVS/Entries +1 -0
  125. data/libnet/man/CVS/Repository +1 -0
  126. data/libnet/man/CVS/Root +1 -0
  127. data/libnet/missing +283 -0
  128. data/libnet/mkinstalldirs +40 -0
  129. data/libnet/sample/CVS/Entries +47 -0
  130. data/libnet/sample/CVS/Repository +1 -0
  131. data/libnet/sample/CVS/Root +1 -0
  132. data/libnet/sample/Makefile.am +63 -0
  133. data/libnet/sample/Makefile.in +729 -0
  134. data/libnet/sample/arp-new.c +144 -0
  135. data/libnet/sample/arp.c +151 -0
  136. data/libnet/sample/bgp4_hdr.c +225 -0
  137. data/libnet/sample/bgp4_notification.c +242 -0
  138. data/libnet/sample/bgp4_open.c +266 -0
  139. data/libnet/sample/bgp4_update.c +337 -0
  140. data/libnet/sample/cdp.c +187 -0
  141. data/libnet/sample/dhcp_discover.c +257 -0
  142. data/libnet/sample/dns.c +260 -0
  143. data/libnet/sample/dot1x.c +113 -0
  144. data/libnet/sample/fddi_tcp1.c +213 -0
  145. data/libnet/sample/fddi_tcp2.c +209 -0
  146. data/libnet/sample/get_addr.c +112 -0
  147. data/libnet/sample/gre.c +410 -0
  148. data/libnet/sample/icmp6_echoreq.c +184 -0
  149. data/libnet/sample/icmp_echo_cq.c +201 -0
  150. data/libnet/sample/icmp_redirect.c +200 -0
  151. data/libnet/sample/icmp_timeexceed.c +190 -0
  152. data/libnet/sample/icmp_timestamp.c +157 -0
  153. data/libnet/sample/icmp_unreach.c +204 -0
  154. data/libnet/sample/ieee.c +177 -0
  155. data/libnet/sample/ip_link.c +201 -0
  156. data/libnet/sample/ip_raw.c +180 -0
  157. data/libnet/sample/isl.c +167 -0
  158. data/libnet/sample/libnet_test.h +60 -0
  159. data/libnet/sample/mpls.c +251 -0
  160. data/libnet/sample/ntp.c +193 -0
  161. data/libnet/sample/ospf_hello.c +179 -0
  162. data/libnet/sample/ospf_lsa.c +190 -0
  163. data/libnet/sample/ping_of_death.c +171 -0
  164. data/libnet/sample/rpc_tcp.c +214 -0
  165. data/libnet/sample/rpc_udp.c +213 -0
  166. data/libnet/sample/sebek.c +299 -0
  167. data/libnet/sample/smurf.c +194 -0
  168. data/libnet/sample/stp.c +227 -0
  169. data/libnet/sample/synflood.c +200 -0
  170. data/libnet/sample/synflood6.c +209 -0
  171. data/libnet/sample/synflood6_frag.c +234 -0
  172. data/libnet/sample/tcp1.c +227 -0
  173. data/libnet/sample/tcp2.c +192 -0
  174. data/libnet/sample/tftp.c +207 -0
  175. data/libnet/sample/tring_tcp1.c +214 -0
  176. data/libnet/sample/tring_tcp2.c +210 -0
  177. data/libnet/sample/udp1.c +223 -0
  178. data/libnet/sample/udp2.c +232 -0
  179. data/libnet/sample/win32/CVS/Entries +9 -0
  180. data/libnet/sample/win32/CVS/Repository +1 -0
  181. data/libnet/sample/win32/CVS/Root +1 -0
  182. data/libnet/sample/win32/arp/CVS/Entries +2 -0
  183. data/libnet/sample/win32/arp/CVS/Repository +1 -0
  184. data/libnet/sample/win32/arp/CVS/Root +1 -0
  185. data/libnet/sample/win32/arp/arp.vcproj +136 -0
  186. data/libnet/sample/win32/cdp/CVS/Entries +2 -0
  187. data/libnet/sample/win32/cdp/CVS/Repository +1 -0
  188. data/libnet/sample/win32/cdp/CVS/Root +1 -0
  189. data/libnet/sample/win32/cdp/cdp.vcproj +136 -0
  190. data/libnet/sample/win32/dhcp_discover/CVS/Entries +2 -0
  191. data/libnet/sample/win32/dhcp_discover/CVS/Repository +1 -0
  192. data/libnet/sample/win32/dhcp_discover/CVS/Root +1 -0
  193. data/libnet/sample/win32/dhcp_discover/dhcp_discover.vcproj +139 -0
  194. data/libnet/sample/win32/dns/CVS/Entries +2 -0
  195. data/libnet/sample/win32/dns/CVS/Repository +1 -0
  196. data/libnet/sample/win32/dns/CVS/Root +1 -0
  197. data/libnet/sample/win32/dns/dns.vcproj +139 -0
  198. data/libnet/sample/win32/get_addr/CVS/Entries +2 -0
  199. data/libnet/sample/win32/get_addr/CVS/Repository +1 -0
  200. data/libnet/sample/win32/get_addr/CVS/Root +1 -0
  201. data/libnet/sample/win32/get_addr/get_addr.vcproj +139 -0
  202. data/libnet/sample/win32/getopt.c +121 -0
  203. data/libnet/sample/win32/icmp_echo_cq/CVS/Entries +2 -0
  204. data/libnet/sample/win32/icmp_echo_cq/CVS/Repository +1 -0
  205. data/libnet/sample/win32/icmp_echo_cq/CVS/Root +1 -0
  206. data/libnet/sample/win32/icmp_echo_cq/icmp_echo_cq.vcproj +139 -0
  207. data/libnet/sample/win32/tcp1/CVS/Entries +2 -0
  208. data/libnet/sample/win32/tcp1/CVS/Repository +1 -0
  209. data/libnet/sample/win32/tcp1/CVS/Root +1 -0
  210. data/libnet/sample/win32/tcp1/tcp1.vcproj +142 -0
  211. data/libnet/sample/win32/udp1/CVS/Entries +3 -0
  212. data/libnet/sample/win32/udp1/CVS/Repository +1 -0
  213. data/libnet/sample/win32/udp1/CVS/Root +1 -0
  214. data/libnet/sample/win32/udp1/dns.vcproj +125 -0
  215. data/libnet/sample/win32/udp1/udp1.vcproj +139 -0
  216. data/libnet/src/CVS/Entries +60 -0
  217. data/libnet/src/CVS/Repository +1 -0
  218. data/libnet/src/CVS/Root +1 -0
  219. data/libnet/src/Makefile.am +71 -0
  220. data/libnet/src/Makefile.in +428 -0
  221. data/libnet/src/libnet_advanced.c +136 -0
  222. data/libnet/src/libnet_asn1.c +436 -0
  223. data/libnet/src/libnet_build_802.1q.c +115 -0
  224. data/libnet/src/libnet_build_802.1x.c +103 -0
  225. data/libnet/src/libnet_build_802.2.c +167 -0
  226. data/libnet/src/libnet_build_802.3.c +101 -0
  227. data/libnet/src/libnet_build_arp.c +169 -0
  228. data/libnet/src/libnet_build_bgp.c +350 -0
  229. data/libnet/src/libnet_build_cdp.c +191 -0
  230. data/libnet/src/libnet_build_data.c +90 -0
  231. data/libnet/src/libnet_build_dhcp.c +156 -0
  232. data/libnet/src/libnet_build_dns.c +129 -0
  233. data/libnet/src/libnet_build_ethernet.c +173 -0
  234. data/libnet/src/libnet_build_fddi.c +191 -0
  235. data/libnet/src/libnet_build_gre.c +427 -0
  236. data/libnet/src/libnet_build_icmp.c +437 -0
  237. data/libnet/src/libnet_build_igmp.c +112 -0
  238. data/libnet/src/libnet_build_ip.c +892 -0
  239. data/libnet/src/libnet_build_ipsec.c +232 -0
  240. data/libnet/src/libnet_build_isl.c +113 -0
  241. data/libnet/src/libnet_build_link.c +90 -0
  242. data/libnet/src/libnet_build_mpls.c +112 -0
  243. data/libnet/src/libnet_build_ntp.c +121 -0
  244. data/libnet/src/libnet_build_ospf.c +699 -0
  245. data/libnet/src/libnet_build_rip.c +108 -0
  246. data/libnet/src/libnet_build_rpc.c +138 -0
  247. data/libnet/src/libnet_build_sebek.c +108 -0
  248. data/libnet/src/libnet_build_snmp.c +52 -0
  249. data/libnet/src/libnet_build_stp.c +222 -0
  250. data/libnet/src/libnet_build_tcp.c +365 -0
  251. data/libnet/src/libnet_build_token_ring.c +193 -0
  252. data/libnet/src/libnet_build_udp.c +111 -0
  253. data/libnet/src/libnet_build_vrrp.c +117 -0
  254. data/libnet/src/libnet_checksum.c +376 -0
  255. data/libnet/src/libnet_cq.c +395 -0
  256. data/libnet/src/libnet_crc.c +113 -0
  257. data/libnet/src/libnet_dll.c +47 -0
  258. data/libnet/src/libnet_error.c +55 -0
  259. data/libnet/src/libnet_if_addr.c +415 -0
  260. data/libnet/src/libnet_init.c +234 -0
  261. data/libnet/src/libnet_internal.c +310 -0
  262. data/libnet/src/libnet_link_bpf.c +348 -0
  263. data/libnet/src/libnet_link_dlpi.c +785 -0
  264. data/libnet/src/libnet_link_linux.c +310 -0
  265. data/libnet/src/libnet_link_nit.c +125 -0
  266. data/libnet/src/libnet_link_none.c +66 -0
  267. data/libnet/src/libnet_link_pf.c +179 -0
  268. data/libnet/src/libnet_link_snit.c +149 -0
  269. data/libnet/src/libnet_link_snoop.c +166 -0
  270. data/libnet/src/libnet_link_win32.c +346 -0
  271. data/libnet/src/libnet_pblock.c +511 -0
  272. data/libnet/src/libnet_port_list.c +295 -0
  273. data/libnet/src/libnet_prand.c +106 -0
  274. data/libnet/src/libnet_raw.c +257 -0
  275. data/libnet/src/libnet_resolve.c +414 -0
  276. data/libnet/src/libnet_version.c +54 -0
  277. data/libnet/src/libnet_write.c +502 -0
  278. data/libnet/version.h.in +6 -0
  279. data/libnet/win32/CVS/Entries +15 -0
  280. data/libnet/win32/CVS/Repository +1 -0
  281. data/libnet/win32/CVS/Root +1 -0
  282. data/libnet/win32/Libnet-1.1.1-2002.sln +77 -0
  283. data/libnet/win32/Libnet-1.1.1-2003.ncb +0 -0
  284. data/libnet/win32/Libnet-1.1.1-2003.sln +84 -0
  285. data/libnet/win32/Libnet-1.1.1-2003.suo +0 -0
  286. data/libnet/win32/Libnet-1.1.1.vcproj +311 -0
  287. data/libnet/win32/Libnet-latest.ncb +0 -0
  288. data/libnet/win32/Libnet-latest.opt +0 -0
  289. data/libnet/win32/Libnet-latest.sln +77 -0
  290. data/libnet/win32/Libnet-latest.suo +0 -0
  291. data/libnet/win32/Libnet-latest.vcproj +311 -0
  292. data/libnet/win32/Libnet.dsp +337 -0
  293. data/libnet/win32/Libnet.dsw +32 -0
  294. data/libnet/win32/README.txt +57 -0
  295. data/libnet/win32/libnet_dll.def +164 -0
  296. data/test/tc_arp.rb +169 -0
  297. data/test/tc_class.rb +219 -0
  298. data/test/tc_ethernet.rb +97 -0
  299. data/test/tc_header.rb +163 -0
  300. data/test/tc_init.rb +25 -0
  301. data/test/tc_ipv4.rb +219 -0
  302. data/test/tc_ipv6.rb +235 -0
  303. data/test/tc_udp.rb +229 -0
  304. data/test/tc_vlan.rb +118 -0
  305. data/test/ts_all.rb +15 -0
  306. metadata +401 -0
@@ -0,0 +1,235 @@
1
+ dnl $Id: configure.in,v 1.9 2004/03/01 20:26:11 mike Exp $
2
+ dnl
3
+ dnl Libnet autoconfiguration information file
4
+ dnl Copyright (c) 1998 - 2002 Mike D. Schiffman <mike@infonexus.com>
5
+ dnl All rights reserved.
6
+ dnl
7
+ dnl Process this file with autoconf to produce a configure script.
8
+
9
+
10
+ AC_INIT(src/libnet_build_ip.c)
11
+ LIBNET_VERSION=`cat VERSION`
12
+ AC_MSG_RESULT(beginning autoconfiguration process for libnet-$LIBNET_VERSION...)
13
+ AC_CANONICAL_SYSTEM
14
+
15
+ AM_INIT_AUTOMAKE(libnet, $LIBNET_VERSION)
16
+ AM_CONFIG_HEADER(include/config.h)
17
+ AM_MAINTAINER_MODE
18
+
19
+ dnl
20
+ dnl Check for the usual programs
21
+ dnl
22
+ AC_PROG_CC
23
+ AC_PROG_INSTALL
24
+ AC_PROG_RANLIB
25
+
26
+ AC_CHECK_HEADERS(sys/sockio.h)
27
+
28
+ dnl
29
+ dnl And some custom things
30
+ dnl
31
+
32
+ AC_LIBNET_ENDIAN_CHECK
33
+ AC_LBL_UNALIGNED_ACCESS
34
+ dnl AC_LBL_LIBRARY_NET
35
+
36
+ AC_SUBST(ENDIANESS)
37
+ AC_SUBST(LIBNET_VERSION)
38
+ AC_SUBST(HAVE_PACKET_SOCKET)
39
+ AC_SUBST(ADDITIONAL_LIBS)
40
+ AC_SUBST(LIBNET_CONFIG_DEFINES)
41
+ AC_SUBST(LIBNET_CONFIG_LIBS)
42
+ AC_SUBST(LIBNET_CONFIG_CFLAGS)
43
+
44
+ dnl
45
+ dnl Check for typedefs, structures, and compiler characteristics
46
+ dnl
47
+ AC_PROG_GCC_TRADITIONAL
48
+ if test "$GCC" = yes ; then
49
+ CFLAGS="$CFLAGS -Wall"
50
+ fi
51
+
52
+ dnl
53
+ dnl Set the root install directory
54
+ dnl
55
+ AC_PREFIX_DEFAULT(/usr)
56
+ dnl if test "$prefix" = "NONE"; then
57
+ dnl prefix="/usr"
58
+ dnl fi
59
+
60
+ dnl
61
+ dnl Check for library functions.
62
+ dnl
63
+ AC_CHECK_FUNCS(strerror)
64
+
65
+ dnl
66
+ dnl Get link-layer interface type
67
+ dnl
68
+ AC_MSG_CHECKING(link-layer packet interface type)
69
+
70
+ if test -r /dev/bpf0 ; then
71
+ AC_LIBOBJ([libnet_link_bpf])
72
+ AC_MSG_RESULT(found bpf)
73
+ elif test -r /usr/include/net/pfilt.h ; then
74
+ AC_LIBOBJ([libnet_link_pf])
75
+ AC_MSG_RESULT(found pf)
76
+ elif test -r /dev/nit ; then
77
+ AC_LIBOBJ([libnet_link_snit])
78
+ AC_MSG_RESULT(found snit)
79
+ elif test -r /usr/include/sys/net/nit.h ; then
80
+ AC_LIBOBJ([libnet_link_nit])
81
+ AC_MSG_RESULT(found nit)
82
+ elif test -r /usr/include/net/raw.h ; then
83
+ AC_LIBOBJ([libnet_link_snoop])
84
+ AC_MSG_RESULT(found snoop)
85
+ elif test -r /usr/include/sys/dlpi.h ; then
86
+ AC_LIBOBJ([libnet_link_dlpi])
87
+ AC_MSG_RESULT(found dlpi)
88
+ AC_DEFINE(HAVE_DLPI)
89
+ elif test -r /usr/include/linux/socket.h ; then
90
+ AC_LIBOBJ([libnet_link_linux])
91
+ AC_MSG_RESULT(found linux primitives)
92
+ AC_LIBNET_CHECK_PF_PACKET
93
+ AC_LIBNET_LINUX_PROCFS
94
+ elif test -c /dev/bpf0 ; then # check again in case not readable
95
+ AC_LIBOBJ([libnet_link_bpf])
96
+ AC_MSG_RESULT(found bpf)
97
+ elif test -c /dev/nit ; then # check again in case not readable
98
+ AC_LIBOBJ([libnet_link_snit])
99
+ AC_MSG_RESULT(found snit)
100
+ elif test "$target_os" = "cygwin" ; then
101
+ AC_LIBOBJ([libnet_link_win32])
102
+ AC_MSG_RESULT(found win32 wpcap)
103
+ else
104
+ AC_LIBOBJ([libnet_link_none])
105
+ AC_MSG_WARN(could not find a link-layer packet interface)
106
+ AC_MSG_WARN(link-layer packet injection will not be available)
107
+ fi
108
+
109
+ dnl
110
+ dnl Inform user about the packet builders we've got
111
+ dnl
112
+ echo -n "scanning available packet construction modules: "
113
+ for dir in src/*build*c ; do
114
+ echo $dir | sed -e /src\\/libnet_build_/s/// | sed -e /\\.c/s/// | tr \\n \\040
115
+ done
116
+ echo ""
117
+
118
+ dnl
119
+ dnl Check and set OS specific parameters
120
+ dnl
121
+
122
+ case "$target_os" in
123
+
124
+ *linux*)
125
+ AC_DEFINE(_BSD_SOURCE)
126
+ AC_DEFINE(__BSD_SOURCE)
127
+ AC_DEFINE(__FAVOR_BSD)
128
+ LIBNET_CONFIG_DEFINES="-D_BSD_SOURCE -D__BSD_SOURCE -D__FAVOR_BSD"
129
+ AC_CHECK_HEADERS(net/ethernet.h, \
130
+ LIBNET_CONFIG_DEFINES="$LIBNET_CONFIG_DEFINES -DHAVE_NET_ETHERNET_H")
131
+ ;;
132
+
133
+ *freebsd*)
134
+ AC_DEFINE(LIBNET_BSDISH_OS)
135
+ AC_DEFINE(LIBNET_BSD_BYTE_SWAP)
136
+ AC_DEFINE(HAVE_SOCKADDR_SA_LEN)
137
+ LIBNET_CONFIG_DEFINES="-DLIBNET_BSDISH_OS -DLIBNET_BSD_BYTE_SWAP -DHAVE_SOCKADDR_SA_LEN"
138
+ ;;
139
+
140
+ *netbsd*)
141
+ AC_DEFINE(LIBNET_BSDISH_OS)
142
+ AC_DEFINE(LIBNET_BSD_BYTE_SWAP)
143
+ LIBNET_CONFIG_DEFINES="-DLIBNET_BSDISH_OS -DLIBNET_BSD_BYTE_SWAP"
144
+ ;;
145
+
146
+ *openbsd*)
147
+ AC_DEFINE(LIBNET_BSDISH_OS)
148
+ AC_DEFINE(HAVE_SOCKADDR_SA_LEN)
149
+ LIBNET_CONFIG_DEFINES="-DLIBNET_BSDISH_OS"
150
+ ;;
151
+
152
+ *bsdi*)
153
+ AC_DEFINE(LIBNET_BSDISH_OS)
154
+ AC_DEFINE(LIBNET_BSD_BYTE_SWAP)
155
+ LIBNET_CONFIG_DEFINES="-DLIBNET_BSDISH_OS -DLIBNET_BSD_BYTE_SWAP"
156
+ ;;
157
+
158
+ *darwin*)
159
+ AC_DEFINE(HAVE_SOCKADDR_SA_LEN)
160
+ LIBNET_CONFIG_DEFINES="-DHAVE_SOCKADDR_SA_LEN"
161
+ ;;
162
+
163
+ *solaris*)
164
+ AC_DEFINE(HAVE_SOLARIS)
165
+ AC_CHECK_HEADERS(sys/bufmod.h sys/dlpi_ext.h)
166
+ AC_MSG_CHECKING(for /dev/dlpi device)
167
+ if test -c /dev/dlpi; then
168
+ AC_MSG_RESULT(yes)
169
+ AC_DEFINE(HAVE_DEV_DLPI)
170
+ else
171
+ AC_MSG_RESULT(no)
172
+ dir="/dev/dlpi"
173
+ AC_MSG_CHECKING(for $dir directory)
174
+ if test -d $dir ; then
175
+ AC_MSG_RESULT(yes)
176
+ AC_DEFINE_UNQUOTED(DLPI_DEV_PREFIX, "$dir")
177
+ else
178
+ AC_MSG_RESULT(no)
179
+ fi
180
+ fi
181
+ AC_CHECK_LIB(socket, socket, ,AC_MSG_ERROR(libsocket not found.))
182
+ AC_CHECK_LIB(nsl, gethostbyname, ,AC_MSG_ERROR(libnsl not found.))
183
+
184
+ dnl
185
+ dnl Broken checksums?
186
+ dnl
187
+ case "`uname -r`" in
188
+ 5.4)
189
+ AC_DEFINE(STUPID_SOLARIS_CHECKSUM_BUG)
190
+ ;;
191
+ 5.5*)
192
+ AC_DEFINE(STUPID_SOLARIS_CHECKSUM_BUG)
193
+ ;;
194
+ 5.8)
195
+ AC_DEFINE(STUPID_SOLARIS_CHECKSUM_BUG)
196
+ AC_DEFINE(HAVE_SOLARIS_IPV6)
197
+ ;;
198
+ 5.9)
199
+ AC_DEFINE(STUPID_SOLARIS_CHECKSUM_BUG)
200
+ AC_DEFINE(HAVE_SOLARIS_IPV6)
201
+ ;;
202
+
203
+ esac
204
+
205
+ ADDITIONAL_LIBS='-lsocket -lnsl'
206
+ LIBNET_CONFIG_LIBS="$LIBNET_CONFIG_LIBS -lsocket -lnsl"
207
+ ;;
208
+
209
+ *hpux11*)
210
+ AC_DEFINE(HAVE_HPUX11)
211
+ AC_CHECK_HEADERS(sys/dlpi_ext.h)
212
+ ;;
213
+
214
+ *cygwin*)
215
+ AC_DEFINE(LIBNET_BSDISH_OS)
216
+ AC_DEFINE(NO_SNPRINTF)
217
+ LIBNET_CONFIG_DEFINES="-DLIBNET_BSDISH_OS -DNO_SNPRINTF"
218
+ CFLAGS="$CFLAGS -mno-cygwin -O0 -fnative-struct -DNO_SNPRINTF -I/usr/include/pcap"
219
+ AC_CHECK_LIB(packet, PacketSetMode, ,AC_MSG_ERROR(packet lib not found.))
220
+ AC_CHECK_LIB(wpcap, pcap_setmode, ,AC_MSG_ERROR(pcap lib not found.))
221
+ LIBS="$LIBS -lws2_32"
222
+ ;;
223
+
224
+ *)
225
+ AC_MSG_WARN(apparently your OS is not officially supported yet)
226
+ AC_MSG_WARN(this may not work)
227
+ AC_MSG_RESULT(please send diffs to mike@infonexus.com)
228
+ ;;
229
+
230
+ esac
231
+
232
+ AC_OUTPUT(Makefile src/Makefile include/Makefile \
233
+ include/libnet/Makefile sample/Makefile version.h include/libnet.h \
234
+ libnet-config, chmod +x libnet-config)
235
+ dnl EOF
data/libnet/doc/BUGS ADDED
@@ -0,0 +1,19 @@
1
+ ===============================================================================
2
+ $Id: BUGS,v 1.2 2004/01/03 20:31:00 mike Exp $
3
+ LIBNET 1.1 (c) 1998 - 2004 Mike D. Schiffman <mike@infonexus.com>
4
+ http://www.packetfactory.net/libnet
5
+ ===============================================================================
6
+
7
+
8
+ 1.1.0 KNOWN BUG LIST
9
+
10
+ - It appears as though getprotobynumber() is broken in some linux
11
+ distributions. The /etc/protocols file should be of the format:
12
+ protocol name protocol number proctocol symbolic constant comment
13
+ Most of the file (in my redhat 7.1) distro complies with this format
14
+ until you get to the end of the file:
15
+ # 134-254 # Unassigned
16
+ # 255 # Reserved
17
+ This will cause getprotobynumber() and presumably getprotobyname() to
18
+ segfault. If you get this behavior in your program and you're calling
19
+ __libnet_file_dump(), this could be the reason. Caveat Emptor.