liburcu: Update to 0.8.6
[feed/packages.git] / net / ibrdtnd / files / build-config.sh
1 #!/bin/sh
2 #
3 # convert uci configuration into daemon specific format
4 #
5
6 UCI=/sbin/uci
7
8 create_file() {
9 echo "# -- DO NOT EDIT THIS FILE --" > $1
10 echo "# automatic generated configuration file for IBR-DTN daemon" >> $1
11 echo "#" >> $1
12 }
13
14 add_param() {
15 VALUE=`$UCI -q get $2`
16
17 if [ $? == 0 ]; then
18 echo "$3 = $VALUE" >> $1
19 fi
20 }
21
22 getconfig() {
23 $UCI -q get ibrdtn.$1
24 return $?
25 }
26
27 if [ "$1" == "--safe-mode" ]; then
28 SAFEMODE=yes
29 CONFFILE=$2
30 else
31 SAFEMODE=no
32 CONFFILE=$1
33 fi
34
35 # create the file and write some header info
36 create_file $CONFFILE
37
38 add_param $CONFFILE "ibrdtn.main.uri" "local_uri"
39 add_param $CONFFILE "ibrdtn.main.routing" "routing"
40 add_param $CONFFILE "ibrdtn.main.fragmentation" "fragmentation"
41
42 if [ "$SAFEMODE" == "yes" ]; then
43 if [ -n "`getconfig safemode.forwarding`" ]; then
44 add_param $CONFFILE "ibrdtn.safemode.forwarding" "routing_forwarding"
45 else
46 add_param $CONFFILE "ibrdtn.main.forwarding" "routing_forwarding"
47 fi
48
49 if [ -n "`getconfig safemode.maxblock`" ]; then
50 add_param $CONFFILE "ibrdtn.safemode.maxblock" "limit_blocksize"
51 else
52 add_param $CONFFILE "ibrdtn.main.blocksize" "limit_blocksize"
53 fi
54
55 if [ -n "`getconfig safemode.storage`" ]; then
56 add_param $CONFFILE "ibrdtn.safemode.storage" "limit_storage"
57 else
58 add_param $CONFFILE "ibrdtn.storage.limit" "limit_storage"
59 fi
60 else
61 add_param $CONFFILE "ibrdtn.main.forwarding" "routing_forwarding"
62 add_param $CONFFILE "ibrdtn.main.blocksize" "limit_blocksize"
63 add_param $CONFFILE "ibrdtn.storage.limit" "limit_storage"
64 add_param $CONFFILE "ibrdtn.storage.blobs" "blob_path"
65 add_param $CONFFILE "ibrdtn.storage.bundles" "storage_path"
66 add_param $CONFFILE "ibrdtn.storage.engine" "storage"
67 fi
68
69 add_param $CONFFILE "ibrdtn.main.max_predated_timestamp" "limit_predated_timestamp"
70 add_param $CONFFILE "ibrdtn.main.limit_lifetime" "limit_lifetime"
71 add_param $CONFFILE "ibrdtn.main.foreign_blocksize" "limit_foreign_blocksize"
72
73 add_param $CONFFILE "ibrdtn.discovery.address" "discovery_address"
74 add_param $CONFFILE "ibrdtn.discovery.timeout" "discovery_timeout"
75 add_param $CONFFILE "ibrdtn.discovery.version" "discovery_version"
76 add_param $CONFFILE "ibrdtn.discovery.crosslayer" "discovery_crosslayer"
77
78 add_param $CONFFILE "ibrdtn.tcptuning.idle_timeout" "tcp_idle_timeout"
79 add_param $CONFFILE "ibrdtn.tcptuning.nodelay" "tcp_nodelay"
80 add_param $CONFFILE "ibrdtn.tcptuning.chunksize" "tcp_chunksize"
81
82 add_param $CONFFILE "ibrdtn.security.level" "security_level"
83 add_param $CONFFILE "ibrdtn.security.bab_key" "security_bab_default_key"
84 add_param $CONFFILE "ibrdtn.security.key_path" "security_path"
85 add_param $CONFFILE "ibrdtn.security.generate_dh" "generate_dh_params"
86
87 add_param $CONFFILE "ibrdtn.tls.certificate" "security_certificate"
88 add_param $CONFFILE "ibrdtn.tls.key" "security_key"
89 add_param $CONFFILE "ibrdtn.tls.trustedpath" "security_trusted_ca_path"
90 add_param $CONFFILE "ibrdtn.tls.required" "security_tls_required"
91 add_param $CONFFILE "ibrdtn.tls.noencryption" "security_tls_disable_encryption"
92 add_param $CONFFILE "ibrdtn.tls.fallback_badclock" "security_tls_fallback_badclock"
93
94 add_param $CONFFILE "ibrdtn.timesync.reference" "time_reference"
95 add_param $CONFFILE "ibrdtn.timesync.synchronize" "time_synchronize"
96 add_param $CONFFILE "ibrdtn.timesync.discovery_announcement" "time_discovery_announcements"
97 add_param $CONFFILE "ibrdtn.timesync.sigma" "time_sigma"
98 add_param $CONFFILE "ibrdtn.timesync.psi" "time_psi"
99 add_param $CONFFILE "ibrdtn.timesync.sync_level" "time_sync_level"
100 add_param $CONFFILE "ibrdtn.timesync.time_set_clock" "time_set_clock"
101
102 add_param $CONFFILE "ibrdtn.dht.enabled" "dht_enabled"
103 add_param $CONFFILE "ibrdtn.dht.port" "dht_port"
104 add_param $CONFFILE "ibrdtn.dht.id" "dht_id"
105 add_param $CONFFILE "ibrdtn.dht.bootstrap" "dht_bootstrapping"
106 add_param $CONFFILE "ibrdtn.dht.nodesfile" "dht_nodes_file"
107 add_param $CONFFILE "ibrdtn.dht.enable_ipv4" "dht_enable_ipv4"
108 add_param $CONFFILE "ibrdtn.dht.enable_ipv6" "dht_enable_ipv6"
109 add_param $CONFFILE "ibrdtn.dht.bind_ipv4" "dht_bind_ipv4"
110 add_param $CONFFILE "ibrdtn.dht.bind_ipv6" "dht_bind_ipv6"
111 add_param $CONFFILE "ibrdtn.dht.ignore_neighbour_informations" "dht_ignore_neighbour_informations"
112 add_param $CONFFILE "ibrdtn.dht.allow_neighbours_to_announce_me" "dht_allow_neighbours_to_announce_me"
113 add_param $CONFFILE "ibrdtn.dht.allow_neighbour_announcement" "dht_allow_neighbour_announcement"
114
115
116 # iterate through all network interfaces
117 iter=0
118 netinterfaces=
119 while [ 1 == 1 ]; do
120 $UCI -q get "ibrdtn.@network[$iter]" > /dev/null
121 if [ $? == 0 ]; then
122 netinterfaces="${netinterfaces} lan${iter}"
123 add_param $CONFFILE "ibrdtn.@network[$iter].type" "net_lan${iter}_type"
124 add_param $CONFFILE "ibrdtn.@network[$iter].interface" "net_lan${iter}_interface"
125 add_param $CONFFILE "ibrdtn.@network[$iter].port" "net_lan${iter}_port"
126 else
127 break
128 fi
129
130 let iter=iter+1
131 done
132
133 # write list of network interfaces
134 echo "net_interfaces =$netinterfaces" >> $CONFFILE
135
136 # iterate through all static routes
137 iter=0
138 while [ 1 == 1 ]; do
139 $UCI -q get "ibrdtn.@static-route[$iter]" > /dev/null
140 if [ $? == 0 ]; then
141 PATTERN=`$UCI -q get "ibrdtn.@static-route[$iter].pattern"`
142 DESTINATION=`$UCI -q get "ibrdtn.@static-route[$iter].destination"`
143 let NUMBER=iter+1
144 echo "route$NUMBER = $PATTERN $DESTINATION" >> $CONFFILE
145 else
146 break
147 fi
148
149 let iter=iter+1
150 done
151
152 #iterate through all static connections
153 iter=0
154 while [ 1 == 1 ]; do
155 $UCI -q get "ibrdtn.@static-connection[$iter]" > /dev/null
156 if [ $? == 0 ]; then
157 let NUMBER=iter+1
158 add_param $CONFFILE "ibrdtn.@static-connection[$iter].uri" "static${NUMBER}_uri"
159 add_param $CONFFILE "ibrdtn.@static-connection[$iter].address" "static${NUMBER}_address"
160 add_param $CONFFILE "ibrdtn.@static-connection[$iter].port" "static${NUMBER}_port"
161 add_param $CONFFILE "ibrdtn.@static-connection[$iter].protocol" "static${NUMBER}_proto"
162 add_param $CONFFILE "ibrdtn.@static-connection[$iter].immediately" "static${NUMBER}_immediately"
163 else
164 break
165 fi
166
167 let iter=iter+1
168 done