print-olsr: Add basic IPv6 support.

Unfortunately OLSR uses the same IDs for IPv4 and IPv6 packets, even
though the size of "messages" differ. The version of the internet protocol
is therefore handed to the "olsr_print" function.

The code isn't very nice, due to a high density of #ifdef INET6'es. If
IPv6-support really should be optional, I'm afraid this is inevitable.
Both, compilation with and without IPv6 support has been tested.

The patch addresses fixes other issues, too. The length given in the packet
was used for pointer arithmetic without checking if the value was in a
reasonable range first in several places. It should now be possible to
decode more than one "namespace message" within a single packet. Other
changes remove trailing whitespace or fix lines indented with tabs (the
majority of the file is indented using spaces).

Signed-off-by: Florian Forster <octo@leeloo.lan.home.verplant.org>
4 files changed
tree: 6897c5bc9d5dde9d4d2ae187fc440749a7274060
  1. lbl/
  2. missing/
  3. tests/
  4. win32/
  5. .cvsignore
  6. .gitignore
  7. acconfig.h
  8. aclocal.m4
  9. addrtoname.c
  10. addrtoname.h
  11. af.c
  12. af.h
  13. ah.h
  14. aodv.h
  15. appletalk.h
  16. arcnet.h
  17. atime.awk
  18. atm.h
  19. atmuni31.h
  20. bgp.h
  21. bootp.h
  22. bpf_dump.c
  23. CHANGES
  24. chdlc.h
  25. checksum.c
  26. config.guess
  27. config.h.in
  28. config.sub
  29. configure
  30. configure.in
  31. cpack.c
  32. cpack.h
  33. CREDITS
  34. dccp.h
  35. decnet.h
  36. decode_prefix.h
  37. enc.h
  38. esp.h
  39. ether.h
  40. ethertype.h
  41. extract.h
  42. fddi.h
  43. gmpls.c
  44. gmpls.h
  45. gmt2local.c
  46. gmt2local.h
  47. icmp6.h
  48. ieee802_11.h
  49. ieee802_11_radio.h
  50. igrp.h
  51. install-sh
  52. INSTALL.txt
  53. interface.h
  54. ip.h
  55. ip6.h
  56. ipfc.h
  57. ipproto.c
  58. ipproto.h
  59. ipsec_doi.h
  60. ipx.h
  61. isakmp.h
  62. l2tp.h
  63. l2vpn.c
  64. l2vpn.h
  65. lane.h
  66. LICENSE
  67. llc.h
  68. machdep.c
  69. machdep.h
  70. Makefile-devel-adds
  71. Makefile.in
  72. makemib
  73. mib.h
  74. mkdep
  75. mpls.h
  76. nameser.h
  77. netbios.h
  78. netdissect.h
  79. nfs.h
  80. nfsfh.h
  81. nlpid.c
  82. nlpid.h
  83. ntp.h
  84. oakley.h
  85. ospf.h
  86. ospf6.h
  87. oui.c
  88. oui.h
  89. packetdat.awk
  90. parsenfsfh.c
  91. pcap-missing.h
  92. pcap_dump_ftell.c
  93. PLATFORMS
  94. pmap_prot.h
  95. ppp.h
  96. print-802_11.c
  97. print-ah.c
  98. print-aodv.c
  99. print-ap1394.c
  100. print-arcnet.c
  101. print-arp.c
  102. print-ascii.c
  103. print-atalk.c
  104. print-atm.c
  105. print-beep.c
  106. print-bfd.c
  107. print-bgp.c
  108. print-bootp.c
  109. print-bt.c
  110. print-cdp.c
  111. print-cfm.c
  112. print-chdlc.c
  113. print-cip.c
  114. print-cnfp.c
  115. print-dccp.c
  116. print-decnet.c
  117. print-dhcp6.c
  118. print-domain.c
  119. print-dtp.c
  120. print-dvmrp.c
  121. print-eap.c
  122. print-egp.c
  123. print-eigrp.c
  124. print-enc.c
  125. print-esp.c
  126. print-ether.c
  127. print-fddi.c
  128. print-fr.c
  129. print-frag6.c
  130. print-gre.c
  131. print-hsrp.c
  132. print-icmp.c
  133. print-icmp6.c
  134. print-igmp.c
  135. print-igrp.c
  136. print-ip.c
  137. print-ip6.c
  138. print-ip6opts.c
  139. print-ipcomp.c
  140. print-ipfc.c
  141. print-ipx.c
  142. print-isakmp.c
  143. print-isoclns.c
  144. print-juniper.c
  145. print-krb.c
  146. print-l2tp.c
  147. print-lane.c
  148. print-ldp.c
  149. print-llc.c
  150. print-lldp.c
  151. print-lmp.c
  152. print-lspping.c
  153. print-lwapp.c
  154. print-lwres.c
  155. print-mobile.c
  156. print-mobility.c
  157. print-mpcp.c
  158. print-mpls.c
  159. print-msdp.c
  160. print-netbios.c
  161. print-nfs.c
  162. print-ntp.c
  163. print-null.c
  164. print-olsr.c
  165. print-ospf.c
  166. print-ospf6.c
  167. print-pflog.c
  168. print-pgm.c
  169. print-pim.c
  170. print-ppp.c
  171. print-pppoe.c
  172. print-pptp.c
  173. print-radius.c
  174. print-raw.c
  175. print-rip.c
  176. print-ripng.c
  177. print-rrcp.c
  178. print-rsvp.c
  179. print-rt6.c
  180. print-rx.c
  181. print-sctp.c
  182. print-sflow.c
  183. print-sip.c
  184. print-sl.c
  185. print-sll.c
  186. print-slow.c
  187. print-smb.c
  188. print-snmp.c
  189. print-stp.c
  190. print-sunatm.c
  191. print-sunrpc.c
  192. print-symantec.c
  193. print-syslog.c
  194. print-tcp.c
  195. print-telnet.c
  196. print-tftp.c
  197. print-timed.c
  198. print-token.c
  199. print-udld.c
  200. print-udp.c
  201. print-usb.c
  202. print-vjc.c
  203. print-vqp.c
  204. print-vrrp.c
  205. print-vtp.c
  206. print-wb.c
  207. print-zephyr.c
  208. README
  209. Readme.Win32
  210. route6d.h
  211. rpc_auth.h
  212. rpc_msg.h
  213. rx.h
  214. sctpConstants.h
  215. sctpHeader.h
  216. send-ack.awk
  217. setsignal.c
  218. setsignal.h
  219. signature.c
  220. signature.h
  221. slcompress.h
  222. slip.h
  223. sll.h
  224. smb.h
  225. smbutil.c
  226. stime.awk
  227. strcasecmp.c
  228. tcp.h
  229. tcpdump-stdinc.h
  230. tcpdump.1.in
  231. tcpdump.c
  232. telnet.h
  233. tftp.h
  234. timed.h
  235. TODO
  236. token.h
  237. udp.h
  238. util.c
  239. VERSION
  240. vfprintf.c