ASR_BASE

Change-Id: Icf3719cc0afe3eeb3edc7fa80a2eb5199ca9dda1
diff --git a/external/subpack/net/ibrdtnd/files/build-config.sh b/external/subpack/net/ibrdtnd/files/build-config.sh
new file mode 100644
index 0000000..c9a6128
--- /dev/null
+++ b/external/subpack/net/ibrdtnd/files/build-config.sh
@@ -0,0 +1,173 @@
+#!/bin/sh
+#
+# convert uci configuration into daemon specific format
+#
+
+UCI=/sbin/uci
+
+create_file() {
+	echo "# -- DO NOT EDIT THIS FILE --" > $1
+	echo "# automatic generated configuration file for IBR-DTN daemon" >> $1
+	echo "#" >> $1
+}
+
+add_param() {
+	VALUE=`$UCI -q get $2`
+	
+	if [ $? == 0 ]; then
+		echo "$3 = $VALUE" >> $1
+	fi
+}
+
+getconfig() {
+	$UCI -q get ibrdtn.$1
+	return $?
+}
+
+if [ "$1" == "--safe-mode" ]; then
+	SAFEMODE=yes
+	CONFFILE=$2
+else
+	SAFEMODE=no
+	CONFFILE=$1
+fi
+
+# create the file and write some header info
+create_file $CONFFILE
+
+add_param $CONFFILE "ibrdtn.main.uri" "local_uri"
+add_param $CONFFILE "ibrdtn.main.routing" "routing"
+add_param $CONFFILE "ibrdtn.main.fragmentation" "fragmentation"
+
+if [ "$SAFEMODE" == "yes" ]; then
+	if [ -n "`getconfig safemode.forwarding`" ]; then
+		add_param $CONFFILE "ibrdtn.safemode.forwarding" "routing_forwarding"
+	else
+		add_param $CONFFILE "ibrdtn.main.forwarding" "routing_forwarding"
+	fi
+
+	if [ -n "`getconfig safemode.maxblock`" ]; then
+		add_param $CONFFILE "ibrdtn.safemode.maxblock" "limit_blocksize"
+	else
+		add_param $CONFFILE "ibrdtn.main.blocksize" "limit_blocksize"
+	fi
+
+	if [ -n "`getconfig safemode.storage`" ]; then
+		add_param $CONFFILE "ibrdtn.safemode.storage" "limit_storage"
+	else
+		add_param $CONFFILE "ibrdtn.storage.limit" "limit_storage"
+	fi
+else
+	add_param $CONFFILE "ibrdtn.main.forwarding" "routing_forwarding"
+	add_param $CONFFILE "ibrdtn.main.blocksize" "limit_blocksize"
+	add_param $CONFFILE "ibrdtn.storage.limit" "limit_storage"
+	add_param $CONFFILE "ibrdtn.storage.blobs" "blob_path"
+	add_param $CONFFILE "ibrdtn.storage.bundles" "storage_path"
+	add_param $CONFFILE "ibrdtn.storage.engine" "storage"
+fi
+
+add_param $CONFFILE "ibrdtn.main.max_predated_timestamp" "limit_predated_timestamp"
+add_param $CONFFILE "ibrdtn.main.limit_lifetime" "limit_lifetime"
+add_param $CONFFILE "ibrdtn.main.foreign_blocksize" "limit_foreign_blocksize"
+
+add_param $CONFFILE "ibrdtn.discovery.address" "discovery_address"
+add_param $CONFFILE "ibrdtn.discovery.timeout" "discovery_timeout"
+add_param $CONFFILE "ibrdtn.discovery.version" "discovery_version"
+add_param $CONFFILE "ibrdtn.discovery.crosslayer" "discovery_crosslayer"
+
+add_param $CONFFILE "ibrdtn.tcptuning.idle_timeout" "tcp_idle_timeout"
+add_param $CONFFILE "ibrdtn.tcptuning.nodelay" "tcp_nodelay"
+add_param $CONFFILE "ibrdtn.tcptuning.chunksize" "tcp_chunksize"
+
+add_param $CONFFILE "ibrdtn.security.level" "security_level"
+add_param $CONFFILE "ibrdtn.security.bab_key" "security_bab_default_key"
+add_param $CONFFILE "ibrdtn.security.key_path" "security_path"
+add_param $CONFFILE "ibrdtn.security.generate_dh" "generate_dh_params"
+
+add_param $CONFFILE "ibrdtn.tls.certificate" "security_certificate"
+add_param $CONFFILE "ibrdtn.tls.key" "security_key"
+add_param $CONFFILE "ibrdtn.tls.trustedpath" "security_trusted_ca_path"
+add_param $CONFFILE "ibrdtn.tls.required" "security_tls_required"
+add_param $CONFFILE "ibrdtn.tls.noencryption" "security_tls_disable_encryption"
+add_param $CONFFILE "ibrdtn.tls.fallback_badclock" "security_tls_fallback_badclock"
+
+add_param $CONFFILE "ibrdtn.timesync.reference" "time_reference"
+add_param $CONFFILE "ibrdtn.timesync.synchronize" "time_synchronize"
+add_param $CONFFILE "ibrdtn.timesync.discovery_announcement" "time_discovery_announcements"
+add_param $CONFFILE "ibrdtn.timesync.sigma" "time_sigma"
+add_param $CONFFILE "ibrdtn.timesync.psi" "time_psi"
+add_param $CONFFILE "ibrdtn.timesync.sync_level" "time_sync_level"
+add_param $CONFFILE "ibrdtn.timesync.time_set_clock" "time_set_clock"
+
+add_param $CONFFILE "ibrdtn.dht.enabled" "dht_enabled"
+add_param $CONFFILE "ibrdtn.dht.port" "dht_port"
+add_param $CONFFILE "ibrdtn.dht.id" "dht_id"
+add_param $CONFFILE "ibrdtn.dht.bootstrap" "dht_bootstrapping"
+add_param $CONFFILE "ibrdtn.dht.nodesfile" "dht_nodes_file"
+add_param $CONFFILE "ibrdtn.dht.enable_ipv4" "dht_enable_ipv4"
+add_param $CONFFILE "ibrdtn.dht.enable_ipv6" "dht_enable_ipv6"
+add_param $CONFFILE "ibrdtn.dht.bind_ipv4" "dht_bind_ipv4"
+add_param $CONFFILE "ibrdtn.dht.bind_ipv6" "dht_bind_ipv6"
+add_param $CONFFILE "ibrdtn.dht.ignore_neighbour_informations" "dht_ignore_neighbour_informations"
+add_param $CONFFILE "ibrdtn.dht.allow_neighbours_to_announce_me" "dht_allow_neighbours_to_announce_me"
+add_param $CONFFILE "ibrdtn.dht.allow_neighbour_announcement" "dht_allow_neighbour_announcement"
+
+
+# iterate through all network interfaces
+iter=0
+netinterfaces=
+netinternet=
+while [ 1 == 1 ]; do
+	$UCI -q get "ibrdtn.@network[$iter]" > /dev/null
+	if [ $? == 0 ]; then
+		netinterfaces="${netinterfaces} lan${iter}"
+		add_param $CONFFILE "ibrdtn.@network[$iter].type" "net_lan${iter}_type"
+		add_param $CONFFILE "ibrdtn.@network[$iter].interface" "net_lan${iter}_interface"
+		add_param $CONFFILE "ibrdtn.@network[$iter].port" "net_lan${iter}_port"
+		if [ "$(uci -q get ibrdtn.@network[$iter].global)" == "yes" ]; then
+			netinternet="${netinternet} $(uci -q get ibrdtn.@network[$iter].interface)"
+		fi
+	else
+		break
+	fi
+	
+	let iter=iter+1
+done
+
+# write list of network interfaces
+echo "net_interfaces =$netinterfaces" >> $CONFFILE
+echo "net_internet =${netinternet}" >> $CONFFILE
+
+# iterate through all static routes
+iter=0
+while [ 1 == 1 ]; do
+	$UCI -q get "ibrdtn.@static-route[$iter]" > /dev/null
+	if [ $? == 0 ]; then
+		PATTERN=`$UCI -q get "ibrdtn.@static-route[$iter].pattern"`
+		DESTINATION=`$UCI -q get "ibrdtn.@static-route[$iter].destination"`
+		let NUMBER=iter+1
+		echo "route$NUMBER = $PATTERN $DESTINATION" >> $CONFFILE
+	else
+		break
+	fi
+	
+	let iter=iter+1
+done
+
+#iterate through all static connections
+iter=0
+while [ 1 == 1 ]; do
+	$UCI -q get "ibrdtn.@static-connection[$iter]" > /dev/null
+	if [ $? == 0 ]; then
+		let NUMBER=iter+1
+		add_param $CONFFILE "ibrdtn.@static-connection[$iter].uri" "static${NUMBER}_uri"
+		add_param $CONFFILE "ibrdtn.@static-connection[$iter].address" "static${NUMBER}_address"
+		add_param $CONFFILE "ibrdtn.@static-connection[$iter].port" "static${NUMBER}_port"
+		add_param $CONFFILE "ibrdtn.@static-connection[$iter].protocol" "static${NUMBER}_proto"
+		add_param $CONFFILE "ibrdtn.@static-connection[$iter].immediately" "static${NUMBER}_immediately"
+	else
+		break
+	fi
+	
+	let iter=iter+1
+done