Add __attribute__((format)) to the declarations of the ndo_printf,
ndo_error, and ndo_warning function pointers in a netdissect_options
structure.

Fix some errors adding that caught.

Have the RRCP dissector extract fields itself, with the EXTRACT_ macros
and a u_char pointer, rather than printing numbers from a structure
which doesn't put structure members on natural boundaries
(__attribute__((packed)) doesn't help, as not all compilers support it)
- note also that not all processors support dereferencing unaligned
pointers, e.g. SPARC - and assuming some fields are in the "right" byte
order.  Also have it check whether data is available in the packet
before referring to it.
3 files changed
tree: 0dd07777d4210277e168cc4fe2dffce76fd0ede8
  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