Another fat commit:
authorBernd Petrovitsch <bernd@firmix.at>
Thu, 8 Nov 2007 22:47:43 +0000 (22:47 +0000)
committerBernd Petrovitsch <bernd@firmix.at>
Thu, 8 Nov 2007 22:47:43 +0000 (22:47 +0000)
commiteaa7d1dd7437796f08d64a642312b09f166703e7
tree12b72ebb75f898c316588308dcdf879a6fb8b1c4
parent6361232d1d6070ee900ccf9e46e844a19d696504
Another fat commit:

The main target was:
- Fixed the misleading definition of "v4" in "struct olsr_ip_addr" fom
  "olsr_u32_t" (in network-byteorder!) to "struct in_addr". Lots of
  temporary variables to call inet_ntoa()/inet_ptoa() vanished .....
- declare "int_addr", "int_netmask" and "int_broadaddr" in "struct interface"
  as "struct sockaddr_in" since it is that what we actually want there (and
  it is similar to the IPv6 code).

To get that thoroughly via compiler errors, we get:
- We have now ip4_to_string(), ip6_to_string() and olsr_ip_to_string()
  to print a "struct in_addr", "struct in6_addr" and "union olsr_ip_addr"
  into a string buffer.

Alas, this also annoyed me since ages:
- cleanup: olsr_ip_to_string() and similar non-reentrant functions now must
  get a target buffer. To ease that, there is the "struct ipaddr_str"
  which is large enough for all of them (read: for an IPv6 address). This
  also removes the cyclic buffer there.
  All of these function return a "const char *" which can be directly used
  for printf(3) and friends.

And some cleanups:
- const'ified more functions
- converted the source to UTF-8.
- "struct sig_msg" uses an olsr_u8_t for a byte array (and not "char")
- force the few inline function to always be inlined.
- #ifdef the body of the olsr_print_hna_set() and olsr_print_neighbor_table()
  if nothing is done
- use "inline_avl_comp_ipv4()" in "avl_comp_ipv4()"
- clean up the routes on more signals. Basically we want to do this on all
  signals which terminate the program.
- killed a superflous global buffer in src/main.c

This version was breing since weeks and running for severa day in Vienna's
FunkFeuer net without any noticably problem!

Please report anything that broke!
74 files changed:
CHANGELOG
lib/bmf/src/Address.c
lib/bmf/src/Bmf.c
lib/bmf/src/NetworkInterfaces.c
lib/dot_draw/src/olsrd_dot_draw.c
lib/dot_draw/src/olsrd_plugin.c
lib/dyn_gw/src/olsrd_dyn_gw.c
lib/dyn_gw_plain/src/olsrd_dyn_gw_plain.c
lib/httpinfo/src/admin_interface.c
lib/httpinfo/src/olsrd_httpinfo.c
lib/httpinfo/src/olsrd_plugin.c
lib/nameservice/src/nameservice.c
lib/pgraph/src/olsrd_pgraph.c
lib/quagga/src/olsrd_plugin.c
lib/quagga/src/quagga.c
lib/secure/src/olsrd_secure.c
lib/secure/src/secure_messages.h
lib/tas/src/plugin.c
lib/txtinfo/src/olsrd_plugin.c
lib/txtinfo/src/olsrd_txtinfo.c
src/build_msg.c
src/cfgparser/cfgfile_gen.c
src/cfgparser/olsrd_conf.c
src/cfgparser/oparse.y
src/defs.h
src/duplicate_set.c
src/generate_msg.c
src/hna_set.c
src/hysteresis.c
src/interfaces.c
src/interfaces.h
src/ipc_frontend.c
src/ipc_frontend.h
src/link_set.c
src/linux/apm.c
src/linux/kernel_routes.c
src/linux/net.c
src/local_hna_set.c
src/lq_avl.c
src/lq_avl.h
src/lq_packet.c
src/lq_route.c
src/main.c
src/mid_set.c
src/mid_set.h
src/mpr.c
src/mpr_selector_set.c
src/neighbor_table.c
src/net_olsr.c
src/net_olsr.h
src/olsr.c
src/olsr_protocol.h
src/olsr_switch/main.c
src/olsr_switch/olsr_host_switch.h
src/olsr_types.h
src/packet.c
src/parser.c
src/parser.h
src/plugin_util.c
src/print_packet.c
src/process_package.c
src/process_package.h
src/process_routes.c
src/rebuild_packet.c
src/rebuild_packet.h
src/routing_table.c
src/routing_table.h
src/scheduler.c
src/tc_set.c
src/tc_set.h
src/two_hop_neighbor_table.c
src/two_hop_neighbor_table.h
src/unix/ifnet.c
src/win32/ifnet.c