olsrd stable port information

# TODO
# figure out daemonic setup for setting up olsrd as a daemon
#
Package: olsrd
Version: 0.6.2
Revision: 2
###
Source: http://www.olsr.org/releases/0.6/olsrd-%v.tar.bz2
Source-MD5: 1f55bbbaf0737364b53daaeecc2cd50c
###
PatchFile: %n.patch
PatchFile-MD5: f6da1ce9a8730912405d18b1b6906de6
###
DocFiles: <<
CHANGELOG
README-Olsr-Extensions
license.txt
release-howto.txt
valgrind-howto.txt
lib/arprefresh/README_ARPREFRESH
lib/bmf/README_BMF
lib/dot_draw/README_DOT_DRAW
lib/dyn_gw/README_DYN_GW
lib/dyn_gw_plain/README_DYN_GW_PLAIN
lib/httpinfo/README_HTTPINFO
lib/mini/README_MINI
lib/nameservice/README_NAMESERVICE
lib/pgraph/README_PGRAPH
lib/quagga/README_QUAGGA
lib/secure/README_SECURE
lib/txtinfo/README_TXTINFO
lib/watchdog/README_WATCHDOG
README-Olsr-Extensions
<<
###
Maintainer: Hans-Christoph Steiner
HomePage: http://www.olsr.org/
License: DFSG-Approved
Description: Adhoc wireless mesh routing daemon
###
Depends: daemonic
BuildDepends: fink (>= 0.24.12)
###
CompileScript: <<
make EXTRA_CPPFLAGS="-DOLSRD_GLOBAL_CONF_FILE='\"%p/etc/olsrd/olsrd.conf\"' \
-DLIBDIR='\"%p/lib/olsrd/\"'" \
build_all
<<
InstallScript: <<
install -d %i/lib/olsrd
make DESTDIR=%d PREFIX=%p ETCDIR=%i/etc/olsrd LIBDIR=%i/lib/olsrd \
SBINDIR=%i/sbin DOCDIR=%i/share/doc MANDIR=%i/share/man \
install_all
# install an olsrd.conf tailored to Mac OS X
rm %i/etc/olsrd/olsrd.conf
install -d %i/etc/olsrd
install -p -m0644 %b/files/olsrd.conf.* %i/etc/olsrd/
mv %i/etc/olsrd/olsrd.conf.fink %i/etc/olsrd/olsrd.conf
<<

PostInstScript: <<
if [ "$1" = "configure" ]; then
echo "To use olsrd, edit %p/etc/olsrd/olsrd.conf as root."
echo "Run \`sudo daemonic enable olsrd' to run it at startup."
fi
<<
PreRmScript: daemonic remove olsrd

ConfFiles: %p/etc/olsrd/olsrd.conf
DaemonicFile: <<

olsrd
OLSR adhoc wireless mesh networking daemon

%p/sbin/olsrd
%p/etc/olsrd/olsrd.conf


<<
DaemonicName: olsrd

###
DescDetail: <<
The olsr.org OLSR daemon is an implementation of the Optimized Link
State Routing protocol for Mobile Ad-Hoc networks(MANET), as
described in RFC3626. It is designed to be run as a standalone server
process is allows mesh routing for any network equipment. It runs on
any wifi card that supports ad-hoc mode and of course on any ethernet
device. OLSR is next to AODV one of the main two internet standards
for mesh networks.

OLSR operates as a table driven, proactive protocol, i.e., it
exchanges topology information with other nodes of the network
regularly. It is developed to work independently from other
protocols. Likewise, OLSR makes no assumptions about the underlying
link-layer.

The following plugins are available:

* httpinfo - tiny webserver for information purposes
* dyn_gw - dynamically announce uplinks
* dot_draw - generates output (over a TCP socket) in the dot format
* secure - secure OLSR routing with a shared key
* nameservice - announce hostnames and dns servers
* bmf - basic multicast forwarding
* quagga - import external routes from quagga
* txtinfo - display information about the OSLR node

The following plugins are also included, even though experimental and
demo plugins:

* pgraph - performance graph
* watchdog - detection of olsrd freeze
* tas - tiny application server
* mini - minimal example plugin (demo)
* dyn_gw_plain - dyn_gw without ping/libthread
* arprefresh - optimize kernel arp cache from olsr UDP sniffing
* mdnsp - multicast DNS via OLSR mesh network
* p2pd - distribute P2P Discovery messages
<<

olsrd stable port .patch

--- olsrd-0.6.2/src/plugin_loader.c 2010-03-31 13:03:54.000000000 -0400
+++ olsrd-0.6.2/src/plugin_loader.c 2011-06-02 23:03:35.000000000 -0400
@@ -95,7 +95,8 @@

OLSR_PRINTF(0, "---------- LOADING LIBRARY %s ----------\n", libname);

-#if TESTLIB_PATH
+#ifdef __APPLE__
+ char path[256] = LIBDIR;
strcat(path, libname);
plugin->dlhandle = dlopen(path, RTLD_NOW);
#else
--- olsrd-0.6.2/Makefile 2010-11-27 13:53:01.000000000 -0500
+++ olsrd-0.6.2/Makefile 2011-06-02 23:26:53.000000000 -0400
@@ -117,7 +117,7 @@
@echo can be found at files/olsrd.conf.default.lq
@echo ==========================================================
mkdir -p $(ETCDIR)
- -cp -i files/olsrd.conf.default.lq $(CFGFILE)
+ -cp -i files/olsrd.conf.fink $(CFGFILE)
@echo -------------------------------------------
@echo Edit $(CFGFILE) before running olsrd!!
@echo -------------------------------------------
--- olsrd-0.6.2/lib/txtinfo/README_TXTINFO 2011-10-03 14:12:05.000000000 -0400
+++ olsrd-0.6.2/lib/txtinfo/README_TXTINFO 2012-05-04 14:23:10.000000000 -0400
@@ -1,16 +1,68 @@
-LoadPlugin "olsrd_txtinfo.so.0.1"
-{
- PlParam "accept" "10.247.200.4"
-}

-ABOUT
-
-telnet 127.0.0.1 2006
-or
-wget localhost:2006 -qO -
+ PLUGIN USAGE
+==================

installation:
make
make install

-- Lorenz Schori
+echo /all | nc 127.0.0.1 2006
+ or
+telnet 127.0.0.1 2006 (and type /all then enter)
+ or
+wget http://localhost:2006/all -qO -
+ or
+curl http://localhost:2006/all
+
+Or in a web browser: http://localhost:2006/all
+
+The output shows the links of the node, its neighbors, the topology
+table, HNA (Host and Network Association) and MID (Multiple Interface
+Declaration) tables and the actual routing table.
+
+So what commands does the txtinfo plugin accept?
+
+ * Config: "/config" -> send_what=SIW_CONFIG
+ * Gateways: "/gateway" -> send_what=SIW_GATEWAY
+ * HNA: "/hna" -> send_what=SIW_HNA
+ * Interfaces: "/interface" -> send_what=SIW_INTERFACE
+ * Links: "/link" -> send_what=SIW_LINK
+ * MID: "/mid" -> send_what=SIW_MID
+ * Neighbors: "/neigh" -> send_what=SIW_NEIGH
+ * Routes: "/route" -> send_what=SIW_ROUTE
+ * Topology: "/topo" -> send_what=SIW_TOPO
+ * 2-hop neighbors: "/2hop" -> send_what=SIW_2HOP
+
+This is the same as the "/neigh" and "/link" commands combined:
+
+ * "/neighbours" -> send_what = SIW_NEIGHLINK -> neighbours and links
+
+Then there is "/all" which returns all of the most commonly used
+commands above (but not every command above). "/all" is the same as
+"/links/neigh/topo/hna/mid/routes".
+
+http://www.olsr.org/?q=node/26
+
+
+ PLUGIN CONFIGURATION
+==========================
+
+The plugin accepts two parameters: "port" and "accept". There are no
+futher parameters. Here's an example configuration for UNIX systems
+(for Windows, change the plugin to end in .dll):
+
+LoadPlugin "olsrd_txtinfo.so.0.1"
+{
+ # the default port is 2006 but you can change it like this:
+ #PlParam "port" "8080"
+
+ # You can set a "accept" single address to allow to connect to
+ # txtinfo. If no address is specified, then localhost (127.0.0.1)
+ # is allowed by default. txtinfo will only use the first "accept"
+ # parameter specified and will ignore the rest.
+
+ # to allow a specific host:
+ #PlParam "accept" "172.29.44.23"
+ # if you set it to 0.0.0.0, it will accept all connections
+ #PlParam "accept" "0.0.0.0"
+}
--- /dev/null 2012-05-04 15:46:11.000000000 -0400
+++ olsrd-0.6.2/files/olsrd.conf.fink 2012-05-04 12:17:39.000000000 -0400
@@ -0,0 +1,354 @@
+#
+# olsr.org OLSR daemon config file
+#
+# Lines starting with a # are discarded
+#
+# This file was shipped with olsrd 0.X.X
+#
+
+# This file is an example of a typical
+# configuration for a mostly static
+# network(regarding mobility) using
+# the LQ extention
+
+# Debug level(0-9)
+# If set to 0 the daemon runs in the background
+
+DebugLevel 0
+
+# IP version to use (4 or 6)
+
+IpVersion 4
+
+
+#RtTable 254
+
+# FIBMetric ("flat", "correct", or "approx")
+
+FIBMetric "flat"
+
+
+#LinkQualityAlgorithm "etx_ff"
+LinkQualityAlgorithm "etx_ff"
+
+
+# Clear the screen each time the internal state changes
+
+ClearScreen no
+
+# HNA IPv4 routes
+# syntax: netaddr netmask
+# Example Internet gateway:
+# 0.0.0.0 0.0.0.0
+
+LoadPlugin "olsrd_httpinfo.so.0.1"
+{
+ # port number the httpinfo plugin will be listening, default 1978
+ PlParam "port" "8080"
+
+ # ip address that can access the plugin, use "0.0.0.0"
+ # to allow everyone
+ PlParam "Host" "127.0.0.1"
+# PlParam "Host" "80.23.53.22"
+
+ # networks that can access the plugin (ip/netmask)
+ # careful with 0.0.0.0/0, makes (ddos) attacks poss.
+ PlParam "Net" "172.29.0.0 255.255.0.0"
+# PlParam "Net" "0.0.0.0 0.0.0.0"
+# PlParam "Net" "104.0.0.0 255.255.0.0"
+# PlParam "Net" "192.168.0.0 255.255.0.0"
+}
+
+LoadPlugin "olsrd_txtinfo.so.0.1"
+{
+ # the default port is 2006 but you can change it like this:
+ #PlParam "port" "8080"
+
+ # You can set a "accept" single address to allow to connect to
+ # txtinfo. If no address is specified, then localhost (127.0.0.1)
+ # is allowed by default. txtinfo will only use the first "accept"
+ # parameter specified and will ignore the rest.
+
+ # to allow a specific host:
+ #PlParam "accept" "172.29.44.23"
+ # if you set it to 0.0.0.0, it will accept all connections
+ #PlParam "accept" "0.0.0.0"
+}
+
+#LoadPlugin "olsrd_tas.so.0.1"
+#{
+# PlParam "address" "0.0.0.0"
+# PlParam "port" "1979"
+# PlParam "rootdir" "/etc/tas"
+# PlParam "workdir" "/var/run/tas"
+# PlParam "indexfile" "index.html"
+## PlParam "user" "test"
+## PlParam "password" "test"
+# PlParam "sesstime" "600"
+# PlParam "pubdir" "pub"
+# PlParam "quantum" "30"
+# PlParam "messtime" "60"
+# PlParam "messlimit" "50"
+#}
+
+
+Hna4
+{
+# Internet gateway:
+# 0.0.0.0 0.0.0.0
+# more entries can be added:
+# 192.168.1.0 255.255.255.0
+}
+
+# HNA IPv6 routes
+# syntax: netaddr prefix
+# Example Internet gateway:
+Hna6
+{
+# Internet gateway:
+# :: 0
+# more entries can be added:
+# fec0:2200:106:: 48
+}
+
+
+# Should olsrd keep on running even if there are
+# no interfaces available? This is a good idea
+# for a PCMCIA/USB hotswap environment.
+# "yes" OR "no"
+
+AllowNoInt yes
+
+# TOS(type of service) value for
+# the IP header of control traffic.
+# If not set it will default to 16
+
+#TosValue 16
+
+# The fixed willingness to use(0-7)
+# If not set willingness will be calculated
+# dynamically based on battery/power status
+# if such information is available
+# The willingness should be lower for mobile devices
+
+#Willingness 4
+
+# Allow processes like the GUI front-end
+# to connect to the daemon.
+
+#IpcConnect
+#{
+ # Determines how many simultaneously
+ # IPC connections that will be allowed
+ # Setting this to 0 disables IPC
+
+# MaxConnections 0
+
+ # By default only 127.0.0.1 is allowed
+ # to connect. Here allowed hosts can
+ # be added
+
+# Host 127.0.0.1
+ #Host 10.0.0.5
+
+ # You can also specify entire net-ranges
+ # that are allowed to connect. Multiple
+ # entries are allowed
+
+ #Net 192.168.1.0 255.255.255.0
+#}
+
+
+# Link quality level
+# 0 = do not use link quality
+# 1 = use link quality for MPR selection
+# 2 = use link quality for MPR selection and routing
+# Defaults to 0
+
+LinkQualityLevel 2
+
+# Link quality window size
+# Defaults to 10
+
+#LinkQualityWinSize 16
+
+# Polling rate in seconds(float).
+# Default value 0.05 sec
+
+Pollrate 0.05
+
+# Interval to poll network interfaces for configuration
+# changes. Defaults to 2.5 seconds
+
+NicChgsPollInt 3.0
+
+# TC redundancy
+# Specifies how much neighbor info should
+# be sent in TC messages
+# Possible values are:
+# 0 - only send MPR selectors
+# 1 - send MPR selectors and MPRs
+# 2 - send all neighbors
+#
+# defaults to 0
+
+TcRedundancy 2
+
+
+#
+# MPR coverage
+# Specifies how many MPRs a node should
+# try select to reach every 2 hop neighbor
+#
+# Can be set to any integer >0
+#
+# defaults to 1
+
+MprCoverage 3
+
+
+# Olsrd plugins to load
+# This must be the absolute path to the file
+# or the loader will use the following scheme:
+# - Try the paths in the LD_LIBRARY_PATH
+# environment variable.
+# - The list of libraries cached in /etc/ld.so.cache
+# - /lib, followed by /usr/lib
+
+# Example plugin entry with parameters:
+
+#LoadPlugin "olsrd_dyn_gw.so.0.3"
+#{
+ # Here parameters are set to be sent to the
+ # plugin. Theese are on the form "key" "value".
+ # Parameters ofcause, differs from plugin to plugin.
+ # Consult the documentation of your plugin for details.
+
+ # Example: dyn_gw params
+
+ # how often to check for Internet connectivity
+ # defaults to 5 secs
+# PlParam "Interval" "40"
+
+ # if one or more IPv4 addresses are given, do a ping on these in
+ # descending order to validate that there is not only an entry in
+ # routing table, but also a real internet connection. If any of
+ # these addresses could be pinged successfully, the test was
+ # succesful, i.e. if the ping on the 1st address was successful,the
+ # 2nd won't be pinged
+# PlParam "Ping" "141.1.1.1"
+# PlParam "Ping" "194.25.2.129"
+#}
+
+# Interfaces and their rules
+# Omitted options will be set to the
+# default values. Multiple interfaces
+# can be specified in the same block
+# and multiple blocks can be set.
+
+
+
+# !!CHANGE THE INTERFACE LABEL(s) TO MATCH YOUR INTERFACE(s)!!
+# eg. en1, wlan0, or eth1. en0 and en1 should cover the vast majority of
+# computers running Mac OS X
+
+Interface "en0" "en1"
+{
+ # Olsrd can autodetect changes in NIC
+ # configurations(IP address changes etc.).
+ # This is Enabled by default and the interval
+ # to poll for changes on is defined by
+ # NicChgsPollInt.
+ # This polling can be disabled pr. NIC by setting
+ # AutoDetectChanges to no.
+
+ AutoDetectChanges yes
+
+ # IPv4 broadcast address to use. The
+ # one usefull example would be 255.255.255.255
+ # If not defined the broadcastaddress
+ # every card is configured with is used
+
+ #Ip4Broadcast 255.255.255.255
+ #Ip4Broadcast 192.168.100.255
+
+ # IPv6 address scope to use.
+ # Must be 'site-local' or 'global'
+
+ # Ip6AddrType site-local
+
+ # IPv6 multicast address to use when
+ # using site-local addresses.
+ # If not defined, ff05::15 is used
+
+ # Ip6MulticastSite ff05::11
+
+ # IPv6 multicast address to use when
+ # using global addresses
+ # If not defined, ff0e::1 is used
+
+ # Ip6MulticastGlobal ff0e::1
+
+
+ # Emission intervals.
+ # If not defined, RFC proposed values will
+ # be used in most cases.
+
+ # Hello interval in seconds(float)
+ HelloInterval 2.0
+
+ # HELLO validity time
+ HelloValidityTime 60.0
+
+ # TC interval in seconds(float)
+ TcInterval 5.0
+
+ # TC validity time
+ TcValidityTime 30.0
+
+ # MID interval in seconds(float)
+ MidInterval 50.0
+
+ # MID validity time
+ MidValidityTime 300.0
+
+ # HNA interval in seconds(float)
+ HnaInterval 5.0
+
+ # HNA validity time
+ HnaValidityTime 30.0
+
+
+ # When multiple links exist between hosts
+ # the weight of interface is used to determine
+ # the link to use. Normally the weight is
+ # automatically calculated by olsrd based
+ # on the characteristics of the interface,
+ # but here you can specify a fixed value.
+ # Olsrd will choose links with the lowest value.
+ # Note:
+ # Interface weight is used only when LinkQualityLevel is 0.
+ # For any other value of LinkQualityLevel, the interface ETX
+ # value is used instead.
+ # Weight 0
+
+
+ # If a certain route should be preferred
+ # or ignored by the mesh, the Link Quality
+ # value of a node can be multiplied with a factor
+ # entered here. In the example the route
+ # using 192.168.0.1 would rather be ignored.
+ # A multiplier of 0.5 will result in a small
+ # (bad) LinkQuality value and a high (bad)
+ # ETX value.
+ # Note:
+ # Link quality multiplier is used only when
+ # LinkQualityLevel is > 0.
+
+ # LinkQualityMult 192.168.0.1 0.979
+
+ # This multiplier applies to all other nodes
+ #LinkQualityMult default 0.999
+
+}
+

olsrd _unstable_ port .patch