contrib/package/olsrd-luci: re-add nameservice plugin functionalities, refresh patches
[project/luci.git] / contrib / package / olsrd-luci / patches / 140-olsrd-optimize-size.patch
1 --- a/Makefile.inc
2 +++ b/Makefile.inc
3 @@ -204,6 +204,10 @@
4 $(warning Use CPPFLAGS instead of DEFINES for -D)
5 endif
6
7 +ifeq ($(SVEN_OLA_UNBLOAT),1)
8 +CPPFLAGS += -DSVEN_OLA_UNBLOAT -DNODEBUG
9 +endif
10 +
11 TAGFILE ?= src/TAGS
12
13 help:
14 --- a/lib/bmf/src/NetworkInterfaces.c
15 +++ b/lib/bmf/src/NetworkInterfaces.c
16 @@ -544,7 +544,9 @@
17 OLSR_PRINTF(9, "%s: ----> Not forwarding to %s: no link found\n", PLUGIN_NAME_SHORT,
18 olsr_ip_to_string(&buf, &walker->neighbor_iface_addr));
19 } else {
20 +#ifndef DEBUG
21 struct interface *bestIntf = if_ifwithaddr(&bestLinkToNeighbor->local_iface_addr);
22 +#endif
23
24 OLSR_PRINTF(9, "%s: ----> Not forwarding to %s: \"%s\" gives a better link to this neighbor, costing %5.2f\n",
25 PLUGIN_NAME_SHORT, olsr_ip_to_string(&buf, &walker->neighbor_iface_addr), bestIntf->int_name,
26 --- a/lib/httpinfo/Makefile
27 +++ b/lib/httpinfo/Makefile
28 @@ -47,7 +47,11 @@
29 CPPFLAGS += -DADMIN_INTERFACE
30 endif
31
32 +ifdef SVEN_OLA_UNBLOAT
33 + CFLAGS += -DSVEN_OLA
34 +else
35 OBJS += $(TOPDIR)/src/cfgparser/cfgfile_gen.o
36 +endif
37
38 default_target: $(PLUGIN_FULLNAME)
39 ifdef ADMIN_INTERFACE
40 --- a/lib/httpinfo/src/olsrd_httpinfo.c
41 +++ b/lib/httpinfo/src/olsrd_httpinfo.c
42 @@ -67,7 +67,9 @@
43
44 #include "olsrd_httpinfo.h"
45 #include "admin_interface.h"
46 +#ifndef SVEN_OLA_UNBLOAT
47 #include "gfx.h"
48 +#endif /* SVEN_OLA_UNBLOAT */
49
50 #ifdef OS
51 #undef OS
52 @@ -181,7 +183,9 @@
53
54 static int build_about_body(char *, uint32_t);
55
56 +#ifndef SVEN_OLA_UNBLOAT
57 static int build_cfgfile_body(char *, uint32_t);
58 +#endif /* SVEN_OLA_UNBLOAT */
59
60 static int check_allowed_ip(const struct allowed_net *const allowed_nets, const union olsr_ip_addr *const addr);
61
62 @@ -216,10 +220,13 @@
63 {"Admin", "admin", build_admin_body, true},
64 #endif
65 {"About", "about", build_about_body, true},
66 +#ifndef SVEN_OLA_UNBLOAT
67 {"FOO", "cfgfile", build_cfgfile_body, false},
68 +#endif /* SVEN_OLA_UNBLOAT */
69 {NULL, NULL, NULL, false}
70 };
71
72 +#ifndef SVEN_OLA_UNBLOAT
73 static const struct static_bin_file_entry static_bin_files[] = {
74 {"favicon.ico", favicon_ico, sizeof(favicon_ico)}
75 ,
76 @@ -229,6 +236,7 @@
77 ,
78 {NULL, NULL, 0}
79 };
80 +#endif /* SVEN_OLA_UNBLOAT */
81
82 static const struct static_txt_file_entry static_txt_files[] = {
83 {"httpinfo.css", httpinfo_css},
84 @@ -407,6 +415,7 @@
85 } else if (!strcmp(req_type, "GET")) {
86 int i = 0;
87
88 +#ifndef SVEN_OLA_UNBLOAT
89 for (i = 0; static_bin_files[i].filename; i++) {
90 if (FILENREQ_MATCH(filename, static_bin_files[i].filename)) {
91 break;
92 @@ -422,6 +431,7 @@
93 }
94
95 i = 0;
96 +#endif /* SVEN_OLA_UNBLOAT */
97 while (static_txt_files[i].filename) {
98 if (FILENREQ_MATCH(filename, static_txt_files[i].filename)) {
99 break;
100 @@ -461,16 +471,22 @@
101 snprintf(&body[size], sizeof(body) - size,
102 "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\n" "<head>\n"
103 "<meta http-equiv=\"Content-type\" content=\"text/html; charset=ISO-8859-1\">\n"
104 - "<title>olsr.org httpinfo plugin</title>\n" "<link rel=\"icon\" href=\"favicon.ico\" type=\"image/x-icon\">\n"
105 + "<title>olsr.org httpinfo plugin</title>\n"
106 +#ifndef SVEN_OLA_UNBLOAT
107 + "<link rel=\"icon\" href=\"favicon.ico\" type=\"image/x-icon\">\n"
108 "<link rel=\"shortcut icon\" href=\"favicon.ico\" type=\"image/x-icon\">\n"
109 +#endif /* SVEN_OLA_UNBLOAT */
110 "<link rel=\"stylesheet\" type=\"text/css\" href=\"httpinfo.css\">\n" "</head>\n"
111 "<body bgcolor=\"#ffffff\" text=\"#000000\">\n"
112 +#ifndef SVEN_OLA_UNBLOAT
113 "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"%d\">\n"
114 "<tbody><tr bgcolor=\"#ffffff\">\n" "<td align=\"left\" height=\"69\" valign=\"middle\" width=\"80%%\">\n"
115 "<font color=\"black\" face=\"timesroman\" size=\"6\">&nbsp;&nbsp;&nbsp;<a href=\"http://www.olsr.org/\">olsr.org OLSR daemon</a></font></td>\n"
116 "<td height=\"69\" valign=\"middle\" width=\"20%%\">\n"
117 "<a href=\"http://www.olsr.org/\"><img border=\"0\" src=\"/logo.gif\" alt=\"olsrd logo\"></a></td>\n" "</tr>\n"
118 - "</tbody>\n" "</table>\n", FRAMEWIDTH);
119 + "</tbody>\n" "</table>\n", FRAMEWIDTH
120 +#endif /* SVEN_OLA_UNBLOAT */
121 + );
122
123 size += build_tabs(&body[size], sizeof(body) - size, i);
124 size += build_frame(&body[size], sizeof(body) - size, "Current Routes", "routes", FRAMEWIDTH, tab_entries[i].build_body_cb);
125 @@ -854,7 +870,7 @@
126 size += snprintf(&buf[size], bufsize - size, "<tr><td colspan=\"3\">Status: DOWN</td></tr>\n");
127 continue;
128 }
129 -
130 +#ifndef SVEN_OLA_UNBLOAT
131 if (olsr_cnf->ip_version == AF_INET) {
132 struct ipaddr_str addrbuf, maskbuf, bcastbuf;
133 size +=
134 @@ -867,6 +883,7 @@
135 snprintf(&buf[size], bufsize - size, "<tr>\n" "<td>IP: %s</td>\n" "<td>MCAST: %s</td>\n" "<td></td>\n" "</tr>\n",
136 ip6_to_string(&addrbuf, &rifs->int6_addr.sin6_addr), ip6_to_string(&maskbuf, &rifs->int6_multaddr.sin6_addr));
137 }
138 +#endif /* SVEN_OLA_UNBLOAT */
139 size +=
140 snprintf(&buf[size], bufsize - size, "<tr>\n" "<td>MTU: %d</td>\n" "<td>WLAN: %s</td>\n" "<td>STATUS: UP</td>\n" "</tr>\n",
141 rifs->int_mtu, rifs->is_wireless ? "Yes" : "No");
142 @@ -1115,6 +1132,7 @@
143 build_host);
144 }
145
146 +#ifndef SVEN_OLA_UNBLOAT
147 static int
148 build_cfgfile_body(char *buf, uint32_t bufsize)
149 {
150 @@ -1149,6 +1167,7 @@
151 #endif
152 return size;
153 }
154 +#endif /* SVEN_OLA_UNBLOAT */
155
156 static int
157 check_allowed_ip(const struct allowed_net *const allowed_nets, const union olsr_ip_addr *const addr)
158 --- a/lib/nameservice/src/nameservice.c
159 +++ b/lib/nameservice/src/nameservice.c
160 @@ -65,6 +65,11 @@
161 #include "mapwrite.h"
162 #include "compat.h"
163
164 +#ifdef SVEN_OLA_UNBLOAT
165 +#undef OLSR_PRINTF
166 +#define OLSR_PRINTF(...)
167 +#endif /* SVEN_OLA_UNBLOAT */
168 +
169 /* config parameters */
170 static char my_hosts_file[MAX_FILE + 1];
171 static char my_sighup_pid_file[MAX_FILE + 1];
172 @@ -381,6 +386,7 @@
173 name->ip = olsr_cnf->main_addr;
174 }
175 }
176 +
177 for (name = my_forwarders; name != NULL; name = name->next) {
178 if (name->ip.v4.s_addr == 0) {
179 OLSR_PRINTF(2, "NAME PLUGIN: insert main addr for name %s \n", name->name);
180 @@ -901,9 +907,11 @@
181 pos += sizeof(struct name);
182 pos += 1 + ((ntohs(from_packet->len) - 1) | 3);
183 }
184 +#ifdef DEBUG
185 if (i != 0)
186 OLSR_PRINTF(4, "NAME PLUGIN: Lost %d entries in received packet due to length inconsistency (%s)\n", i,
187 olsr_ip_to_string(&strbuf, originator));
188 +#endif
189 }
190
191 /**
192 --- a/src/apm.h
193 +++ b/src/apm.h
194 @@ -41,6 +41,7 @@
195
196 #ifndef _OLSR_APM
197 #define _OLSR_APM
198 +#ifndef SVEN_OLA_UNBLOAT
199
200 /*
201 * Interface to OS dependent power management information
202 @@ -69,6 +70,7 @@
203 int apm_read(struct olsr_apm_info *);
204
205 #endif
206 +#endif /* SVEN_OLA_UNBLOAT */
207
208 /*
209 * Local Variables:
210 --- a/src/cfgparser/cfgfile_gen.c
211 +++ b/src/cfgparser/cfgfile_gen.c
212 @@ -57,7 +57,9 @@
213 struct olsr_if *in = cnf->interfaces;
214 struct plugin_entry *pe = cnf->plugins;
215 struct plugin_param *pp;
216 +#ifndef SVEN_OLA_UNBLOAT
217 struct ip_prefix_list *ie = cnf->ipc_nets;
218 +#endif /* SVEN_OLA_UNBLOAT */
219 struct olsr_lq_mult *mult;
220
221 char ipv6_buf[100]; /* buffer for IPv6 inet_htop */
222 @@ -133,6 +135,7 @@
223 else
224 fprintf(fd, "Willingness\t%d\n\n", cnf->willingness);
225
226 +#ifndef SVEN_OLA_UNBLOAT
227 /* IPC */
228 fprintf(fd, "# Allow processes like the GUI front-end\n# to connect to the daemon.\n\n");
229 fprintf(fd, "IpcConnect {\n");
230 @@ -149,6 +152,7 @@
231 }
232
233 fprintf(fd, "}\n\n");
234 +#endif /* SVEN_OLA_UNBLOAT */
235
236 /* Hysteresis */
237 fprintf(fd, "# Hysteresis adds more robustness to the\n# link sensing.\n# Used by default. 'yes' or 'no'\n\n");
238 @@ -367,7 +371,9 @@
239 struct olsr_if *in = cnf->interfaces;
240 struct plugin_entry *pe = cnf->plugins;
241 struct plugin_param *pp;
242 +#ifndef SVEN_OLA_UNBLOAT
243 struct ip_prefix_list *ie = cnf->ipc_nets;
244 +#endif /* SVEN_OLA_UNBLOAT */
245 struct olsr_lq_mult *mult;
246
247 int size = 0;
248 @@ -434,6 +440,7 @@
249 else
250 WRITE_TO_BUF("Willingness\t%d\n\n", cnf->willingness);
251
252 +#ifndef SVEN_OLA_UNBLOAT
253 /* IPC */
254 WRITE_TO_BUF("# Allow processes like the GUI front-end\n# to connect to the daemon.\n\n");
255 WRITE_TO_BUF("IpcConnect {\n");
256 @@ -449,6 +456,7 @@
257 }
258
259 WRITE_TO_BUF("}\n\n");
260 +#endif /* SVEN_OLA_UNBLOAT */
261
262 /* Hysteresis */
263 WRITE_TO_BUF("# Hysteresis adds more robustness to the\n# link sensing.\n# Used by default. 'yes' or 'no'\n\n");
264 --- a/src/cfgparser/local.mk
265 +++ b/src/cfgparser/local.mk
266 @@ -41,8 +41,13 @@
267 C=$(if $(CFGDIR),$(CFGDIR)/)
268
269 # add the variables as we may have others already there
270 +ifeq ($(SVEN_OLA_UNBLOAT),1)
271 +SRCS += $(foreach file,olsrd_conf oparse oscan,$(C)$(file).c)
272 +OBJS += $(foreach file,olsrd_conf oparse oscan,$(C)$(file).o)
273 +else
274 SRCS += $(foreach file,olsrd_conf oparse oscan cfgfile_gen,$(C)$(file).c)
275 OBJS += $(foreach file,olsrd_conf oparse oscan cfgfile_gen,$(C)$(file).o)
276 +endif
277 HDRS += $(foreach file,olsrd_conf oparse,$(C)$(file).h)
278
279 $(C)oscan.c: $(C)oscan.lex $(C)Makefile
280 --- a/src/cfgparser/olsrd_conf.c
281 +++ b/src/cfgparser/olsrd_conf.c
282 @@ -81,11 +81,13 @@
283 }
284
285 if ((cnf = olsrd_parse_cnf(argv[1])) != NULL) {
286 +#ifndef SVEN_OLA_UNBLOAT
287 if ((argc > 2) && (!strcmp(argv[2], "-print"))) {
288 olsrd_print_cnf(cnf);
289 olsrd_write_cnf(cnf, "./out.conf");
290 } else
291 printf("Use -print to view parsed values\n");
292 +#endif /* SVEN_OLA_UNBLOAT */
293 printf("Configfile parsed OK\n");
294 } else {
295 printf("Failed parsing \"%s\"\n", argv[1]);
296 @@ -152,7 +154,9 @@
297 /* set various stuff */
298 in->configured = false;
299 in->interf = NULL;
300 +#ifndef SVEN_OLA_UNBLOAT
301 in->host_emul = false;
302 +#endif /* SVEN_OLA_UNBLOAT */
303 }
304 return olsr_cnf;
305 }
306 @@ -401,7 +405,9 @@
307
308 cnf->debug_level = DEF_DEBUGLVL;
309 cnf->no_fork = false;
310 +#ifndef SVEN_OLA_UNBLOAT
311 cnf->host_emul = false;
312 +#endif /* SVEN_OLA_UNBLOAT */
313 cnf->ip_version = AF_INET;
314 cnf->ipsize = sizeof(struct in_addr);
315 cnf->maxplen = 32;
316 @@ -412,7 +418,9 @@
317 cnf->rtproto = DEF_RTPROTO;
318 cnf->rttable_default = 0;
319 cnf->willingness_auto = DEF_WILL_AUTO;
320 +#ifndef SVEN_OLA_UNBLOAT
321 cnf->ipc_connections = DEF_IPC_CONNECTIONS;
322 +#endif /* SVEN_OLA_UNBLOAT */
323 cnf->fib_metric = DEF_FIB_METRIC;
324
325 cnf->use_hysteresis = DEF_USE_HYST;
326 @@ -491,6 +499,7 @@
327
328 }
329
330 +#ifndef SVEN_OLA_UNBLOAT
331 void
332 olsrd_print_cnf(struct olsrd_config *cnf)
333 {
334 @@ -634,6 +643,7 @@
335 }
336 }
337 }
338 +#endif /* SVEN_OLA_UNBLOAT */
339
340 #if defined WIN32
341 struct ioinfo {
342 --- a/src/cfgparser/oparse.y
343 +++ b/src/cfgparser/oparse.y
344 @@ -178,7 +178,6 @@
345 %token TOK_RTPROTO
346 %token TOK_RTTABLE_DEFAULT
347 %token TOK_WILLINGNESS
348 -%token TOK_IPCCON
349 %token TOK_FIBMETRIC
350 %token TOK_USEHYST
351 %token TOK_HYSTSCALE
352 @@ -202,7 +201,6 @@
353
354 %token TOK_HOSTLABEL
355 %token TOK_NETLABEL
356 -%token TOK_MAXIPC
357
358 %token TOK_IP4BROADCAST
359 %token TOK_IFMODE
360 @@ -265,7 +263,6 @@
361
362 block: TOK_HNA4 hna4body
363 | TOK_HNA6 hna6body
364 - | TOK_IPCCON ipcbody
365 | ifblock ifbody
366 | plblock plbody
367 ;
368 @@ -290,18 +287,6 @@
369 | ihna6entry
370 ;
371
372 -ipcbody: TOK_OPEN ipcstmts TOK_CLOSE
373 -;
374 -
375 -ipcstmts: | ipcstmts ipcstmt
376 -;
377 -
378 -ipcstmt: vcomment
379 - | imaxipc
380 - | ipchost
381 - | ipcnet
382 -;
383 -
384 ifblock: ifstart ifnicks
385 ;
386
387 @@ -343,77 +328,6 @@
388 | vcomment
389 ;
390
391 -imaxipc: TOK_MAXIPC TOK_INTEGER
392 -{
393 - olsr_cnf->ipc_connections = $2->integer;
394 - free($2);
395 -}
396 -;
397 -
398 -ipchost: TOK_HOSTLABEL TOK_IP4_ADDR
399 -{
400 - union olsr_ip_addr ipaddr;
401 - PARSER_DEBUG_PRINTF("\tIPC host: %s\n", $2->string);
402 -
403 - if (inet_aton($2->string, &ipaddr.v4) == 0) {
404 - fprintf(stderr, "Failed converting IP address IPC %s\n", $2->string);
405 - YYABORT;
406 - }
407 -
408 - ip_prefix_list_add(&olsr_cnf->ipc_nets, &ipaddr, olsr_cnf->maxplen);
409 -
410 - free($2->string);
411 - free($2);
412 -}
413 -;
414 -
415 -ipcnet: TOK_NETLABEL TOK_IP4_ADDR TOK_IP4_ADDR
416 -{
417 - union olsr_ip_addr ipaddr, netmask;
418 -
419 - PARSER_DEBUG_PRINTF("\tIPC net: %s/%s\n", $2->string, $3->string);
420 -
421 - if (inet_pton(AF_INET, $2->string, &ipaddr.v4) == 0) {
422 - fprintf(stderr, "Failed converting IP net IPC %s\n", $2->string);
423 - YYABORT;
424 - }
425 -
426 - if (inet_pton(AF_INET, $3->string, &netmask.v4) == 0) {
427 - fprintf(stderr, "Failed converting IP mask IPC %s\n", $3->string);
428 - YYABORT;
429 - }
430 -
431 - ip_prefix_list_add(&olsr_cnf->ipc_nets, &ipaddr, olsr_netmask_to_prefix(&netmask));
432 -
433 - free($2->string);
434 - free($2);
435 - free($3->string);
436 - free($3);
437 -}
438 - | TOK_NETLABEL TOK_IP4_ADDR TOK_SLASH TOK_INTEGER
439 -{
440 - union olsr_ip_addr ipaddr;
441 -
442 - PARSER_DEBUG_PRINTF("\tIPC net: %s/%s\n", $2->string, $3->string);
443 -
444 - if (inet_pton(AF_INET, $2->string, &ipaddr.v4) == 0) {
445 - fprintf(stderr, "Failed converting IP net IPC %s\n", $2->string);
446 - YYABORT;
447 - }
448 -
449 - if ($4->integer > olsr_cnf->maxplen) {
450 - fprintf(stderr, "ipcnet: Prefix len %u > %d is not allowed!\n", $4->integer, olsr_cnf->maxplen);
451 - YYABORT;
452 - }
453 -
454 - ip_prefix_list_add(&olsr_cnf->ipc_nets, &ipaddr, $4->integer);
455 -
456 - free($2->string);
457 - free($2);
458 - free($4);
459 -}
460 -;
461 -
462 iifweight: TOK_IFWEIGHT TOK_INTEGER
463 {
464 int ifcnt = ifs_in_curr_cfg;
465 --- a/src/cfgparser/oscan.lex
466 +++ b/src/cfgparser/oscan.lex
467 @@ -253,11 +253,6 @@
468 return TOK_NETLABEL;
469 }
470
471 -"MaxConnections" {
472 - yylval = NULL;
473 - return TOK_MAXIPC;
474 -}
475 -
476 "DebugLevel" {
477 yylval = NULL;
478 return TOK_DEBUGLEVEL;
479 @@ -334,11 +329,6 @@
480 return TOK_WILLINGNESS;
481 }
482
483 -"IpcConnect" {
484 - yylval = NULL;
485 - return TOK_IPCCON;
486 -}
487 -
488 "FIBMetric" {
489 yylval = NULL;
490 return TOK_FIBMETRIC;
491 --- a/src/defs.h
492 +++ b/src/defs.h
493 @@ -190,6 +190,8 @@
494 */
495 clock_t olsr_times(void);
496
497 +#ifndef SVEN_OLA_UNBLOAT
498 +
499 /*
500 *IPC functions
501 *These are moved to a plugin soon
502 @@ -207,6 +209,7 @@
503 int ipc_output(struct olsr *);
504
505 #endif
506 +#endif /* SVEN_OLA_UNBLOAT */
507
508 /*
509 * Local Variables:
510 --- a/src/duplicate_set.c
511 +++ b/src/duplicate_set.c
512 @@ -174,6 +174,7 @@
513 return false; /* no duplicate */
514 }
515
516 +#ifndef SVEN_OLA_UNBLOAT
517 void
518 olsr_print_duplicate_table(void)
519 {
520 @@ -192,6 +193,7 @@
521 } OLSR_FOR_ALL_DUP_ENTRIES_END(entry);
522 #endif
523 }
524 +#endif /* SVEN_OLA_UNBLOAT */
525
526 /*
527 * Local Variables:
528 --- a/src/hna_set.c
529 +++ b/src/hna_set.c
530 @@ -279,6 +279,7 @@
531 *
532 *@return nada
533 */
534 +#ifndef SVEN_OLA_UNBLOAT
535 void
536 olsr_print_hna_set(void)
537 {
538 @@ -320,6 +321,7 @@
539 }
540 #endif
541 }
542 +#endif /* SVEN_OLA_UNBLOAT */
543
544 /**
545 *Process incoming HNA message.
546 --- a/src/interfaces.c
547 +++ b/src/interfaces.c
548 @@ -93,12 +93,16 @@
549 OLSR_PRINTF(1, "\n ---- Interface configuration ---- \n\n");
550 /* Run trough all interfaces immedeatly */
551 for (tmp_if = olsr_cnf->interfaces; tmp_if != NULL; tmp_if = tmp_if->next) {
552 +#ifndef SVEN_OLA_UNBLOAT
553 if (!tmp_if->host_emul) {
554 if (!olsr_cnf->host_emul) /* XXX: TEMPORARY! */
555 +#endif /* SVEN_OLA_UNBLOAT */
556 chk_if_up(tmp_if, 1);
557 +#ifndef SVEN_OLA_UNBLOAT
558 } else {
559 add_hemu_if(tmp_if);
560 }
561 +#endif /* SVEN_OLA_UNBLOAT */
562 }
563
564 /* Kick a periodic timer for the network interface update function */
565 @@ -244,7 +248,11 @@
566 *@return nada
567 */
568 struct olsr_if *
569 +#ifdef SVEN_OLA_UNBLOAT
570 +queue_if(const char *name)
571 +#else /* SVEN_OLA_UNBLOAT */
572 queue_if(const char *name, int hemu)
573 +#endif /* SVEN_OLA_UNBLOAT */
574 {
575 struct olsr_if *interf_n = olsr_cnf->interfaces;
576 size_t name_size;
577 @@ -268,7 +276,9 @@
578 interf_n->interf = NULL;
579 interf_n->configured = 0;
580
581 +#ifndef SVEN_OLA_UNBLOAT
582 interf_n->host_emul = hemu ? true : false;
583 +#endif /* SVEN_OLA_UNBLOAT */
584
585 strscpy(interf_n->name, name, name_size);
586 interf_n->next = olsr_cnf->interfaces;
587 --- a/src/interfaces.h
588 +++ b/src/interfaces.h
589 @@ -200,7 +200,12 @@
590
591 struct interface *if_ifwithindex(const int if_index);
592
593 -struct olsr_if *queue_if(const char *, int);
594 +struct olsr_if *
595 +#ifdef SVEN_OLA_UNBLOAT
596 + queue_if(const char *);
597 +#else /* SVEN_OLA_UNBLOAT */
598 + queue_if(const char *, int);
599 +#endif /* SVEN_OLA_UNBLOAT */
600
601 int add_ifchgf(int (*f) (struct interface *, int));
602
603 --- a/src/ipc_frontend.c
604 +++ b/src/ipc_frontend.c
605 @@ -46,6 +46,7 @@
606 *
607 */
608
609 +#ifndef SVEN_OLA_UNBLOAT
610 #include "ipc_frontend.h"
611 #include "link_set.h"
612 #include "olsr.h"
613 @@ -423,6 +424,7 @@
614
615 return 1;
616 }
617 +#endif /* SVEN_OLA_UNBLOAT */
618
619 /*
620 * Local Variables:
621 --- a/src/ipc_frontend.h
622 +++ b/src/ipc_frontend.h
623 @@ -48,6 +48,7 @@
624
625 #ifndef _OLSR_IPC
626 #define _OLSR_IPC
627 +#ifndef SVEN_OLA_UNBLOAT
628
629 #include <sys/types.h>
630 #include <netinet/in.h>
631 @@ -103,6 +104,7 @@
632 int ipc_route_send_rtentry(const union olsr_ip_addr *, const union olsr_ip_addr *, int, int, const char *);
633
634 #endif
635 +#endif /* SVEN_OLA_UNBLOAT */
636
637 /*
638 * Local Variables:
639 --- a/src/ipcalc.c
640 +++ b/src/ipcalc.c
641 @@ -121,6 +121,7 @@
642 return prefix;
643 }
644
645 +#ifndef SVEN_OLA_UNBLOAT
646 const char *
647 olsr_ip_prefix_to_string(const struct olsr_ip_prefix *prefix)
648 {
649 @@ -147,6 +148,7 @@
650 }
651 return rv;
652 }
653 +#endif /* SVEN_OLA_UNBLOAT */
654
655 /* see if the ipaddr is in the net. That is equivalent to the fact that the net part
656 * of both are equal. So we must compare the first <prefixlen> bits.
657 --- a/src/ipcalc.h
658 +++ b/src/ipcalc.h
659 @@ -146,7 +146,9 @@
660 return inet_ntop(olsr_cnf->ip_version, addr, buf->buf, sizeof(buf->buf));
661 }
662
663 +#ifndef SVEN_OLA_UNBLOAT
664 const char *olsr_ip_prefix_to_string(const struct olsr_ip_prefix *prefix);
665 +#endif /* SVEN_OLA_UNBLOAT */
666
667 static INLINE const char *
668 sockaddr4_to_string(struct ipaddr_str *const buf, const struct sockaddr *const addr)
669 --- a/src/link_set.c
670 +++ b/src/link_set.c
671 @@ -762,6 +762,7 @@
672 return ret;
673 }
674
675 +#ifndef SVEN_OLA_UNBLOAT
676 void
677 olsr_print_link_set(void)
678 {
679 @@ -783,6 +784,7 @@
680 } OLSR_FOR_ALL_LINK_ENTRIES_END(walker);
681 #endif
682 }
683 +#endif /* SVEN_OLA_UNBLOAT */
684
685 /*
686 * called for every LQ HELLO message.
687 --- a/src/linux/apm.c
688 +++ b/src/linux/apm.c
689 @@ -44,6 +44,7 @@
690 * Acpi-Power Enlightenment epplet
691 */
692
693 +#ifndef SVEN_OLA_UNBLOAT
694 #include "apm.h"
695 #include "defs.h"
696 #include <stdio.h>
697 @@ -348,6 +349,7 @@
698 /* No battery found */
699 return -1;
700 }
701 +#endif /* SVEN_OLA_UNBLOAT */
702
703 /*
704 * Local Variables:
705 --- a/src/linux/kernel_routes.c
706 +++ b/src/linux/kernel_routes.c
707 @@ -300,11 +300,13 @@
708 if (rt_ret > 0) rt_ret = 0; /* successful recovery */
709 else rt_ret = -1; /* unrecoverable error */
710 }
711 +#ifndef SVEN_OLA_UNBLOAT
712 //send ipc update on success
713 if ( ( cmd != RTM_NEWRULE ) & ( cmd != RTM_DELRULE ) & (flag = RT_ORIG_REQUEST) & (0 <= rt_ret && olsr_cnf->ipc_connections > 0)) {
714 ipc_route_send_rtentry(&rt->rt_dst.prefix, &nexthop->gateway, metric, RTM_NEWROUTE == cmd,
715 if_ifwithindex_name(nexthop->iif_index));
716 }
717 +#endif /* SVEN_OLA_UNBLOAT */
718 if (rt_ret == -2) olsr_syslog(OLSR_LOG_ERR,"no rtnetlink response! (no system ressources left?, everything may happen now ...)");
719 return rt_ret;
720 }
721 @@ -342,7 +344,9 @@
722 int rslt;
723 #endif /* LINUX_POLICY_ROUTING */
724
725 +#ifndef SVEN_OLA_UNBLOAT
726 OLSR_PRINTF(2, "KERN: Adding %s\n", olsr_rtp_to_string(rt->rt_best));
727 +#endif /* SVEN_OLA_UNBLOAT */
728
729 #if !LINUX_POLICY_ROUTING
730 memset(&kernel_route, 0, sizeof(struct rtentry));
731 @@ -416,7 +420,9 @@
732 struct in6_rtmsg kernel_route;
733 int rslt;
734
735 +#ifndef SVEN_OLA_UNBLOAT
736 OLSR_PRINTF(2, "KERN: Adding %s\n", olsr_rtp_to_string(rt->rt_best));
737 +#endif /* SVEN_OLA_UNBLOAT */
738
739 memset(&kernel_route, 0, sizeof(struct in6_rtmsg));
740
741 @@ -469,7 +475,9 @@
742 int rslt;
743 #endif /* LINUX_POLICY_ROUTING */
744
745 +#ifndef SVEN_OLA_UNBLOAT
746 OLSR_PRINTF(2, "KERN: Deleting %s\n", olsr_rt_to_string(rt));
747 +#endif /* SVEN_OLA_UNBLOAT */
748
749 #if !LINUX_POLICY_ROUTING
750 memset(&kernel_route, 0, sizeof(struct rtentry));
751 @@ -536,7 +544,9 @@
752 int rslt;
753 #endif /* LINUX_POLICY_ROUTING */
754
755 +#ifndef SVEN_OLA_UNBLOAT
756 OLSR_PRINTF(2, "KERN: Deleting %s\n", olsr_rt_to_string(rt));
757 +#endif /* SVEN_OLA_UNBLOAT */
758
759 #if !LINUX_POLICY_ROUTING
760 memset(&kernel_route, 0, sizeof(struct in6_rtmsg));
761 --- a/src/linux/net.c
762 +++ b/src/linux/net.c
763 @@ -69,8 +69,10 @@
764 #define SIOCGIWRATE 0x8B21 /* get default bit rate (bps) */
765
766 /* The original state of the IP forwarding proc entry */
767 +#ifndef SVEN_OLA_UNBLOAT
768 static char orig_fwd_state;
769 static char orig_global_redirect_state;
770 +#endif /* SVEN_OLA_UNBLOAT */
771
772 /**
773 *Bind a socket to a device
774 @@ -91,6 +93,8 @@
775 return setsockopt(sock, SOL_SOCKET, SO_BINDTODEVICE, dev_name, strlen(dev_name) + 1);
776 }
777
778 +#ifndef SVEN_OLA_UNBLOAT
779 +
780 /**
781 *Enable IP forwarding.
782 *Just writing "1" to the /proc/sys/net/ipv4/ip_forward
783 @@ -110,6 +114,9 @@
784 const char *const procfile = version == AF_INET ? "/proc/sys/net/ipv4/ip_forward" : "/proc/sys/net/ipv6/conf/all/forwarding";
785
786 if ((proc_fwd = fopen(procfile, "r")) == NULL) {
787 +#ifdef SVEN_OLA_UNBLOAT_OLD
788 + perror(procfile);
789 +#else
790 /* IPv4 */
791 if (version == AF_INET)
792 fprintf(stderr,
793 @@ -122,6 +129,7 @@
794 procfile);
795
796 sleep(3);
797 +#endif
798 return 0;
799 }
800
801 @@ -131,9 +139,13 @@
802 OLSR_PRINTF(3, "\nIP forwarding is enabled on this system\n");
803 } else {
804 if ((proc_fwd = fopen(procfile, "w")) == NULL) {
805 +#ifdef SVEN_OLA_UNBLOAT_OLD
806 + perror(procfile);
807 +#else
808 fprintf(stderr, "Could not open %s for writing!\n", procfile);
809 fprintf(stderr, "I will continue(in 3 sec) - but you should mannually ensure that IP forwarding is enabeled!\n\n");
810 sleep(3);
811 +#endif
812 return 0;
813 } else {
814 syslog(LOG_INFO, "Writing \"1\" to %s\n", procfile);
815 @@ -154,11 +166,15 @@
816 return -1;
817
818 if ((proc_redirect = fopen(procfile, "r")) == NULL) {
819 +#ifdef SVEN_OLA_UNBLOAT_OLD
820 + perror(procfile);
821 +#else
822 fprintf(stderr,
823 "WARNING! Could not open the %s file to check/disable ICMP redirects!\nAre you using the procfile filesystem?\nDoes your system support IPv4?\nI will continue(in 3 sec) - but you should mannually ensure that ICMP redirects are disabled!\n\n",
824 procfile);
825
826 sleep(3);
827 +#endif
828 return -1;
829 }
830 orig_global_redirect_state = fgetc(proc_redirect);
831 @@ -168,9 +184,13 @@
832 return 0;
833
834 if ((proc_redirect = fopen(procfile, "w")) == NULL) {
835 +#ifdef SVEN_OLA_UNBLOAT_OLD
836 + perror(procfile);
837 +#else
838 fprintf(stderr, "Could not open %s for writing!\n", procfile);
839 fprintf(stderr, "I will continue(in 3 sec) - but you should mannually ensure that ICMP redirect is disabeled!\n\n");
840 sleep(3);
841 +#endif
842 return 0;
843 }
844 syslog(LOG_INFO, "Writing \"0\" to %s", procfile);
845 @@ -196,19 +216,27 @@
846 snprintf(procfile, sizeof(procfile), REDIRECT_PROC, if_name);
847
848 if ((proc_redirect = fopen(procfile, "r")) == NULL) {
849 +#ifdef SVEN_OLA_UNBLOAT_OLD
850 + perror(procfile);
851 +#else
852 fprintf(stderr,
853 "WARNING! Could not open the %s file to check/disable ICMP redirects!\nAre you using the procfile filesystem?\nDoes your system support IPv4?\nI will continue(in 3 sec) - but you should mannually ensure that ICMP redirects are disabled!\n\n",
854 procfile);
855 sleep(3);
856 +#endif
857 return 0;
858 }
859 iface->nic_state.redirect = fgetc(proc_redirect);
860 fclose(proc_redirect);
861
862 if ((proc_redirect = fopen(procfile, "w")) == NULL) {
863 +#ifdef SVEN_OLA_UNBLOAT_OLD
864 + perror(procfile);
865 +#else
866 fprintf(stderr, "Could not open %s for writing!\n", procfile);
867 fprintf(stderr, "I will continue(in 3 sec) - but you should mannually ensure that ICMP redirect is disabeled!\n\n");
868 sleep(3);
869 +#endif
870 return 0;
871 }
872 syslog(LOG_INFO, "Writing \"0\" to %s", procfile);
873 @@ -234,20 +262,28 @@
874 sprintf(procfile, SPOOF_PROC, if_name);
875
876 if ((proc_spoof = fopen(procfile, "r")) == NULL) {
877 +#ifdef SVEN_OLA_UNBLOAT_OLD
878 + perror(procfile);
879 +#else
880 fprintf(stderr,
881 "WARNING! Could not open the %s file to check/disable the IP spoof filter!\nAre you using the procfile filesystem?\nDoes your system support IPv4?\nI will continue(in 3 sec) - but you should mannually ensure that IP spoof filtering is disabled!\n\n",
882 procfile);
883
884 sleep(3);
885 +#endif
886 return 0;
887 }
888 iface->nic_state.spoof = fgetc(proc_spoof);
889 fclose(proc_spoof);
890
891 if ((proc_spoof = fopen(procfile, "w")) == NULL) {
892 +#ifdef SVEN_OLA_UNBLOAT_OLD
893 + perror(procfile);
894 +#else
895 fprintf(stderr, "Could not open %s for writing!\n", procfile);
896 fprintf(stderr, "I will continue(in 3 sec) - but you should mannually ensure that IP spoof filtering is disabeled!\n\n");
897 sleep(3);
898 +#endif
899 return 0;
900 }
901 syslog(LOG_INFO, "Writing \"0\" to %s", procfile);
902 @@ -272,7 +308,11 @@
903 FILE *proc_fd;
904
905 if ((proc_fd = fopen(procfile, "w")) == NULL) {
906 +#ifdef SVEN_OLA_UNBLOAT_OLD
907 + perror(procfile);
908 +#else
909 fprintf(stderr, "Could not open %s for writing!\nSettings not restored!\n", procfile);
910 +#endif
911 } else {
912 syslog(LOG_INFO, "Resetting %s to %c\n", procfile, orig_fwd_state);
913 fputc(orig_fwd_state, proc_fd);
914 @@ -287,7 +327,11 @@
915 FILE *proc_fd;
916
917 if ((proc_fd = fopen(procfile, "w")) == NULL) {
918 +#ifdef SVEN_OLA_UNBLOAT_OLD
919 + perror(procfile);
920 +#else
921 fprintf(stderr, "Could not open %s for writing!\nSettings not restored!\n", procfile);
922 +#endif
923 } else {
924 syslog(LOG_INFO, "Resetting %s to %c\n", procfile, orig_global_redirect_state);
925 fputc(orig_global_redirect_state, proc_fd);
926 @@ -311,7 +355,11 @@
927 snprintf(procfile, sizeof(procfile), REDIRECT_PROC, ifs->int_name);
928
929 if ((proc_fd = fopen(procfile, "w")) == NULL)
930 +#ifdef SVEN_OLA_UNBLOAT_OLD
931 + perror(procfile);
932 +#else
933 fprintf(stderr, "Could not open %s for writing!\nSettings not restored!\n", procfile);
934 +#endif
935 else {
936 syslog(LOG_INFO, "Resetting %s to %c\n", procfile, ifs->nic_state.redirect);
937
938 @@ -324,7 +372,11 @@
939 /* Generate the procfile name */
940 sprintf(procfile, SPOOF_PROC, ifs->int_name);
941 if ((proc_fd = fopen(procfile, "w")) == NULL)
942 +#ifdef SVEN_OLA_UNBLOAT_OLD
943 + perror(procfile);
944 +#else
945 fprintf(stderr, "Could not open %s for writing!\nSettings not restored!\n", procfile);
946 +#endif
947 else {
948 syslog(LOG_INFO, "Resetting %s to %c\n", procfile, ifs->nic_state.spoof);
949
950 @@ -372,6 +424,8 @@
951 return sock;
952 }
953
954 +#endif /* SVEN_OLA_UNBLOAT */
955 +
956 /**
957 *Creates a nonblocking broadcast socket.
958 *@param sa sockaddr struct. Used for bind(2).
959 --- a/src/lq_plugin.c
960 +++ b/src/lq_plugin.c
961 @@ -67,12 +67,18 @@
962 init_lq_handler_tree(void)
963 {
964 avl_init(&lq_handler_tree, &avl_strcasecmp);
965 +#ifndef SVEN_OLA_UNBLOAT
966 register_lq_handler(&lq_etx_float_handler, LQ_ALGORITHM_ETX_FLOAT_NAME);
967 register_lq_handler(&lq_etx_fpm_handler, LQ_ALGORITHM_ETX_FPM_NAME);
968 +#endif /* SVEN_OLA_UNBLOAT */
969 register_lq_handler(&lq_etx_ff_handler, LQ_ALGORITHM_ETX_FF_NAME);
970 +#ifndef SVEN_OLA_UNBLOAT
971 if (activate_lq_handler(olsr_cnf->lq_algorithm)) {
972 activate_lq_handler(LQ_ALGORITHM_ETX_FPM_NAME);
973 }
974 +#else /* SVEN_OLA_UNBLOAT */
975 + activate_lq_handler(LQ_ALGORITHM_ETX_FF_NAME);
976 +#endif /* SVEN_OLA_UNBLOAT */
977 }
978
979 /*
980 @@ -417,7 +423,11 @@
981 * @return pointer to hello_neighbor
982 */
983 struct hello_neighbor *
984 +#ifndef SVEN_OLA_UNBLOAT
985 olsr_malloc_hello_neighbor(const char *id)
986 +#else /* SVEN_OLA_UNBLOAT */
987 +olsr_malloc_hello_neighbor(const char *id __attribute__ ((unused)))
988 +#endif /* SVEN_OLA_UNBLOAT */
989 {
990 struct hello_neighbor *h;
991
992 @@ -439,7 +449,11 @@
993 * @return pointer to tc_mpr_addr
994 */
995 struct tc_mpr_addr *
996 +#ifndef SVEN_OLA_UNBLOAT
997 olsr_malloc_tc_mpr_addr(const char *id)
998 +#else /* SVEN_OLA_UNBLOAT */
999 +olsr_malloc_tc_mpr_addr(const char *id __attribute__ ((unused)))
1000 +#endif /* SVEN_OLA_UNBLOAT */
1001 {
1002 struct tc_mpr_addr *t;
1003
1004 @@ -461,7 +475,11 @@
1005 * @return pointer to lq_hello_neighbor
1006 */
1007 struct lq_hello_neighbor *
1008 +#ifndef SVEN_OLA_UNBLOAT
1009 olsr_malloc_lq_hello_neighbor(const char *id)
1010 +#else /* SVEN_OLA_UNBLOAT */
1011 +olsr_malloc_lq_hello_neighbor(const char *id __attribute__ ((unused)))
1012 +#endif /* SVEN_OLA_UNBLOAT */
1013 {
1014 struct lq_hello_neighbor *h;
1015
1016 @@ -483,7 +501,11 @@
1017 * @return pointer to link_entry
1018 */
1019 struct link_entry *
1020 +#ifndef SVEN_OLA_UNBLOAT
1021 olsr_malloc_link_entry(const char *id)
1022 +#else /* SVEN_OLA_UNBLOAT */
1023 +olsr_malloc_link_entry(const char *id __attribute__ ((unused)))
1024 +#endif /* SVEN_OLA_UNBLOAT */
1025 {
1026 struct link_entry *h;
1027
1028 --- a/src/lq_plugin_default_float.c
1029 +++ b/src/lq_plugin_default_float.c
1030 @@ -39,6 +39,7 @@
1031 *
1032 */
1033
1034 +#ifndef SVEN_OLA_UNBLOAT
1035 #include "tc_set.h"
1036 #include "link_set.h"
1037 #include "olsr_spf.h"
1038 @@ -223,6 +224,7 @@
1039
1040 return buffer->buf;
1041 }
1042 +#endif /* SVEN_OLA_UNBLOAT */
1043
1044 /*
1045 * Local Variables:
1046 --- a/src/lq_plugin_default_float.h
1047 +++ b/src/lq_plugin_default_float.h
1048 @@ -39,6 +39,7 @@
1049 *
1050 */
1051
1052 +#ifndef SVEN_OLA_UNBLOAT
1053 #ifndef LQ_PLUGIN_DEFAULT_H_
1054 #define LQ_PLUGIN_DEFAULT_H_
1055
1056 @@ -77,6 +78,7 @@
1057 extern struct lq_handler lq_etx_float_handler;
1058
1059 #endif /*LQ_PLUGIN_DEFAULT_H_ */
1060 +#endif /* SVEN_OLA_UNBLOAT */
1061
1062 /*
1063 * Local Variables:
1064 --- a/src/lq_plugin_default_fpm.c
1065 +++ b/src/lq_plugin_default_fpm.c
1066 @@ -39,6 +39,7 @@
1067 *
1068 */
1069
1070 +#ifndef SVEN_OLA_UNBLOAT
1071 #include "tc_set.h"
1072 #include "link_set.h"
1073 #include "lq_plugin.h"
1074 @@ -235,6 +236,7 @@
1075 snprintf(buffer->buf, sizeof(buffer->buf), "%.3f", (float)(cost) / LQ_FPM_LINKCOST_MULTIPLIER);
1076 return buffer->buf;
1077 }
1078 +#endif /* SVEN_OLA_UNBLOAT */
1079
1080 /*
1081 * Local Variables:
1082 --- a/src/lq_plugin_default_fpm.h
1083 +++ b/src/lq_plugin_default_fpm.h
1084 @@ -39,6 +39,7 @@
1085 *
1086 */
1087
1088 +#ifndef SVEN_OLA_UNBLOAT
1089 #ifndef LQ_ETX_FPM_
1090 #define LQ_ETX_FPM_
1091
1092 @@ -83,6 +84,7 @@
1093 extern struct lq_handler lq_etx_fpm_handler;
1094
1095 #endif /*LQ_ETX_FPM_ */
1096 +#endif /* SVEN_OLA_UNBLOAT */
1097
1098 /*
1099 * Local Variables:
1100 --- a/src/main.c
1101 +++ b/src/main.c
1102 @@ -256,13 +256,17 @@
1103 /*
1104 * Print configuration
1105 */
1106 +#ifndef SVEN_OLA_UNBLOAT
1107 if (olsr_cnf->debug_level > 1) {
1108 olsrd_print_cnf(olsr_cnf);
1109 }
1110 +#endif /* SVEN_OLA_UNBLOAT */
1111 #ifndef WIN32
1112 +#ifndef SVEN_OLA_UNBLOAT
1113 /* Disable redirects globally */
1114 disable_redirects_global(olsr_cnf->ip_version);
1115 #endif
1116 +#endif /* SVEN_OLA_UNBLOAT */
1117
1118 /*
1119 * socket for ioctl calls
1120 @@ -298,7 +302,9 @@
1121 /*
1122 *enable ip forwarding on host
1123 */
1124 +#ifndef SVEN_OLA_UNBLOAT
1125 enable_ip_forwarding(olsr_cnf->ip_version);
1126 +#endif /* SVEN_OLA_UNBLOAT */
1127
1128 /* Initialize parser */
1129 olsr_init_parser();
1130 @@ -316,6 +322,7 @@
1131 *Set up willingness/APM
1132 */
1133 if (olsr_cnf->willingness_auto) {
1134 +#ifndef SVEN_OLA_UNBLOAT
1135 if (apm_init() < 0) {
1136 OLSR_PRINTF(1, "Could not read APM info - setting default willingness(%d)\n", WILL_DEFAULT);
1137
1138 @@ -324,10 +331,13 @@
1139 olsr_cnf->willingness_auto = 0;
1140 olsr_cnf->willingness = WILL_DEFAULT;
1141 } else {
1142 +#endif /* SVEN_OLA_UNBLOAT */
1143 olsr_cnf->willingness = olsr_calculate_willingness();
1144
1145 OLSR_PRINTF(1, "Willingness set to %d - next update in %.1f secs\n", olsr_cnf->willingness, olsr_cnf->will_int);
1146 +#ifndef SVEN_OLA_UNBLOAT
1147 }
1148 +#endif /* SVEN_OLA_UNBLOAT */
1149 }
1150
1151 /* Initialize net */
1152 @@ -355,9 +365,11 @@
1153
1154 /* Initialize the IPC socket */
1155
1156 +#ifndef SVEN_OLA_UNBLOAT
1157 if (olsr_cnf->ipc_connections > 0) {
1158 ipc_init();
1159 }
1160 +#endif /* SVEN_OLA_UNBLOAT */
1161 /* Initialisation of different tables to be used. */
1162 olsr_init_tables();
1163
1164 @@ -487,9 +499,11 @@
1165 OLSR_PRINTF(1, "Closing sockets...\n");
1166
1167 /* front-end IPC socket */
1168 +#ifndef SVEN_OLA_UNBLOAT
1169 if (olsr_cnf->ipc_connections > 0) {
1170 shutdown_ipc();
1171 }
1172 +#endif /* SVEN_OLA_UNBLOAT */
1173
1174 /* OLSR sockets */
1175 for (ifn = ifnet; ifn; ifn = ifn->int_next)
1176 @@ -499,7 +513,9 @@
1177 olsr_close_plugins();
1178
1179 /* Reset network settings */
1180 +#ifndef SVEN_OLA_UNBLOAT
1181 restore_settings(olsr_cnf->ip_version);
1182 +#endif /* SVEN_OLA_UNBLOAT */
1183
1184 /* ioctl socket */
1185 close(olsr_cnf->ioctl_s);
1186 @@ -540,7 +556,11 @@
1187 "usage: olsrd [-f <configfile>] [ -i interface1 interface2 ... ]\n"
1188 " [-d <debug_level>] [-ipv6] [-multi <IPv6 multicast address>]\n"
1189 " [-lql <LQ level>] [-lqw <LQ winsize>] [-lqnt <nat threshold>]\n"
1190 +#ifdef SVEN_OLA_UNBLOAT
1191 + " [-bcast <broadcastaddr>] [-delgw] (Note: no -ipc,-dispin,-dispout)\n"
1192 +#else /* SVEN_OLA_UNBLOAT */
1193 " [-bcast <broadcastaddr>] [-ipc] [-dispin] [-dispout] [-delgw]\n"
1194 +#endif /* SVEN_OLA_UNBLOAT */
1195 " [-hint <hello interval (secs)>] [-tcint <tc interval (secs)>]\n"
1196 " [-midint <mid interval (secs)>] [-hnaint <hna interval (secs)>]\n"
1197 " [-T <Polling Rate (secs)>] [-nofork] [-hemu <ip_address>]\n" " [-lql <LQ level>] [-lqa <LQ aging factor>]\n");
1198 @@ -704,12 +724,20 @@
1199 olsr_exit(__func__, EXIT_FAILURE);
1200 }
1201 printf("Queuing if %s\n", *argv);
1202 +#ifdef SVEN_OLA_UNBLOAT
1203 + queue_if(*argv);
1204 +#else /* SVEN_OLA_UNBLOAT */
1205 queue_if(*argv, false);
1206 +#endif /* SVEN_OLA_UNBLOAT */
1207
1208 while ((argc - 1) && (argv[1][0] != '-')) {
1209 NEXT_ARG;
1210 printf("Queuing if %s\n", *argv);
1211 +#ifdef SVEN_OLA_UNBLOAT
1212 + queue_if(*argv);
1213 +#else /* SVEN_OLA_UNBLOAT */
1214 queue_if(*argv, false);
1215 +#endif /* SVEN_OLA_UNBLOAT */
1216 }
1217
1218 continue;
1219 @@ -771,7 +799,7 @@
1220 sscanf(*argv, "%f", &cnf->pollrate);
1221 continue;
1222 }
1223 -
1224 +#ifndef SVEN_OLA_UNBLOAT
1225 /*
1226 * Should we display the contents of packages beeing sent?
1227 */
1228 @@ -795,6 +823,7 @@
1229 cnf->ipc_connections = 1;
1230 continue;
1231 }
1232 +#endif /* SVEN_OLA_UNBLOAT */
1233
1234 /*
1235 * IPv6 multicast addr
1236 @@ -812,7 +841,7 @@
1237
1238 continue;
1239 }
1240 -
1241 +#ifndef SVEN_OLA_UNBLOAT
1242 /*
1243 * Host emulation
1244 */
1245 @@ -840,6 +869,7 @@
1246
1247 continue;
1248 }
1249 +#endif /* SVEN_OLA_UNBLOAT */
1250
1251 /*
1252 * Delete possible default GWs
1253 --- a/src/neighbor_table.c
1254 +++ b/src/neighbor_table.c
1255 @@ -362,6 +362,7 @@
1256 *
1257 *@return nada
1258 */
1259 +#ifndef SVEN_OLA_UNBLOAT
1260 void
1261 olsr_print_neighbor_table(void)
1262 {
1263 @@ -391,6 +392,7 @@
1264 }
1265 #endif
1266 }
1267 +#endif /* SVEN_OLA_UNBLOAT */
1268
1269 /*
1270 * Local Variables:
1271 --- a/src/net_olsr.c
1272 +++ b/src/net_olsr.c
1273 @@ -44,7 +44,9 @@
1274 #include "log.h"
1275 #include "olsr.h"
1276 #include "net_os.h"
1277 +#ifndef SVEN_OLA_UNBLOAT
1278 #include "print_packet.h"
1279 +#endif /* SVEN_OLA_UNBLOAT */
1280 #include "link_set.h"
1281 #include "lq_packet.h"
1282
1283 @@ -385,8 +387,10 @@
1284 *if the -dispout option was given
1285 *we print the content of the packets
1286 */
1287 +#ifndef SVEN_OLA_UNBLOAT
1288 if (disp_pack_out)
1289 print_olsr_serialized_packet(stdout, (union olsr_packet *)ifp->netbuf.buff, ifp->netbuf.pending, &ifp->ip_addr);
1290 +#endif /* SVEN_OLA_UNBLOAT */
1291
1292 if (olsr_cnf->ip_version == AF_INET) {
1293 /* IP version 4 */
1294 @@ -400,12 +404,16 @@
1295 /* IP version 6 */
1296 if (olsr_sendto(ifp->olsr_socket, ifp->netbuf.buff, ifp->netbuf.pending, MSG_DONTROUTE, (struct sockaddr *)sin6, sizeof(*sin6))
1297 < 0) {
1298 +#ifndef SVEN_OLA_UNBLOAT
1299 struct ipaddr_str buf;
1300 +#endif /* SVEN_OLA_UNBLOAT */
1301 perror("sendto(v6)");
1302 olsr_syslog(OLSR_LOG_ERR, "OLSR: sendto IPv6 %m");
1303 +#ifndef SVEN_OLA_UNBLOAT
1304 fprintf(stderr, "Socket: %d interface: %d\n", ifp->olsr_socket, ifp->if_index);
1305 fprintf(stderr, "To: %s (size: %u)\n", ip6_to_string(&buf, &sin6->sin6_addr), (unsigned int)sizeof(*sin6));
1306 fprintf(stderr, "Outputsize: %d\n", ifp->netbuf.pending);
1307 +#endif /* SVEN_OLA_UNBLOAT */
1308 retval = -1;
1309 }
1310 }
1311 --- a/src/olsr.c
1312 +++ b/src/olsr.c
1313 @@ -149,7 +149,9 @@
1314 return;
1315
1316 if (olsr_cnf->debug_level > 0 && olsr_cnf->clear_screen && isatty(1)) {
1317 +#ifndef SVEN_OLA_UNBLOAT
1318 clear_console();
1319 +#endif /* SVEN_OLA_UNBLOAT */
1320 printf(" *** %s (%s on %s) ***\n", olsrd_version, build_date, build_host);
1321 }
1322
1323 @@ -165,7 +167,7 @@
1324 if (changes_neighborhood || changes_topology || changes_hna) {
1325 olsr_calculate_routing_table();
1326 }
1327 -
1328 +#ifndef SVEN_OLA_UNBLOAT
1329 if (olsr_cnf->debug_level > 0) {
1330 if (olsr_cnf->debug_level > 2) {
1331 olsr_print_mid_set();
1332 @@ -184,6 +186,7 @@
1333 olsr_print_tc_table();
1334 #endif
1335 }
1336 +#endif /* SVEN_OLA_UNBLOAT */
1337
1338 for (tmp_pc_list = pcf_list; tmp_pc_list != NULL; tmp_pc_list = tmp_pc_list->next) {
1339 tmp_pc_list->function(changes_neighborhood, changes_topology, changes_hna);
1340 @@ -420,12 +423,15 @@
1341 uint8_t
1342 olsr_calculate_willingness(void)
1343 {
1344 +#ifndef SVEN_OLA_UNBLOAT
1345 struct olsr_apm_info ainfo;
1346 +#endif /* SVEN_OLA_UNBLOAT */
1347
1348 /* If fixed willingness */
1349 if (!olsr_cnf->willingness_auto)
1350 return olsr_cnf->willingness;
1351
1352 +#ifndef SVEN_OLA_UNBLOAT
1353 if (apm_read(&ainfo) < 1)
1354 return WILL_DEFAULT;
1355
1356 @@ -442,8 +448,12 @@
1357 * 26% > juice will: 1
1358 */
1359 return (ainfo.battery_percentage / 26);
1360 +#else /* SVEN_OLA_UNBLOAT */
1361 + return WILL_DEFAULT;
1362 +#endif /* SVEN_OLA_UNBLOAT */
1363 }
1364
1365 +#ifndef SVEN_OLA_UNBLOAT
1366 const char *
1367 olsr_msgtype_to_string(uint8_t msgtype)
1368 {
1369 @@ -513,6 +523,7 @@
1370 snprintf(type, sizeof(type), "UNKNOWN(%d)", status);
1371 return type;
1372 }
1373 +#endif /* SVEN_OLA_UNBLOAT */
1374
1375 /**
1376 *Termination function to be called whenever a error occures
1377 @@ -541,6 +552,7 @@
1378 *
1379 * @return a void pointer to the memory allocated
1380 */
1381 +#ifndef SVEN_OLA_UNBLOAT
1382 void *
1383 olsr_malloc(size_t size, const char *id)
1384 {
1385 @@ -565,6 +577,7 @@
1386
1387 return ptr;
1388 }
1389 +#endif /* SVEN_OLA_UNBLOAT */
1390
1391 /**
1392 *Wrapper for printf that prints to a specific
1393 --- a/src/olsr.h
1394 +++ b/src/olsr.h
1395 @@ -72,15 +72,21 @@
1396
1397 uint8_t olsr_calculate_willingness(void);
1398
1399 +#ifndef SVEN_OLA_UNBLOAT
1400 const char *olsr_msgtype_to_string(uint8_t);
1401
1402 const char *olsr_link_to_string(uint8_t);
1403
1404 const char *olsr_status_to_string(uint8_t);
1405 +#endif /* SVEN_OLA_UNBLOAT */
1406
1407 void olsr_exit(const char *, int);
1408
1409 +#ifdef SVEN_OLA_UNBLOAT
1410 +#define olsr_malloc(size, msg) calloc(1, size)
1411 +#else /* SVEN_OLA_UNBLOAT */
1412 void *olsr_malloc(size_t, const char *);
1413 +#endif /* SVEN_OLA_UNBLOAT */
1414
1415 int olsr_printf(int, const char *, ...) __attribute__ ((format(printf, 2, 3)));
1416
1417 --- a/src/olsr_cfg.h
1418 +++ b/src/olsr_cfg.h
1419 @@ -149,8 +149,10 @@
1420 char *name;
1421 char *config;
1422 bool configured;
1423 +#ifndef SVEN_OLA_UNBLOAT
1424 bool host_emul;
1425 union olsr_ip_addr hemu_ip;
1426 +#endif /* SVEN_OLA_UNBLOAT */
1427 struct interface *interf;
1428 struct if_config_options *cnf;
1429 struct olsr_if *next;
1430 @@ -193,7 +195,9 @@
1431 uint16_t olsrport;
1432 int debug_level;
1433 bool no_fork;
1434 +#ifndef SVEN_OLA_UNBLOAT
1435 bool host_emul;
1436 +#endif /* SVEN_OLA_UNBLOAT */
1437 int ip_version;
1438 bool allow_no_interfaces;
1439 uint16_t tos;
1440 @@ -202,13 +206,17 @@
1441 uint8_t rttable_default;
1442 uint8_t willingness;
1443 bool willingness_auto;
1444 +#ifndef SVEN_OLA_UNBLOAT
1445 int ipc_connections;
1446 +#endif /* SVEN_OLA_UNBLOAT */
1447 bool use_hysteresis;
1448 olsr_fib_metric_options fib_metric;
1449 struct hyst_param hysteresis_param;
1450 struct plugin_entry *plugins;
1451 struct ip_prefix_list *hna_entries;
1452 +#ifndef SVEN_OLA_UNBLOAT
1453 struct ip_prefix_list *ipc_nets;
1454 +#endif /* SVEN_OLA_UNBLOAT */
1455 struct olsr_if *interfaces;
1456 float pollrate;
1457 float nic_chgs_pollrate;
1458 @@ -269,7 +277,9 @@
1459
1460 void olsrd_free_cnf(struct olsrd_config *);
1461
1462 +#ifndef SVEN_OLA_UNBLOAT
1463 void olsrd_print_cnf(struct olsrd_config *);
1464 +#endif /* SVEN_OLA_UNBLOAT */
1465
1466 int olsrd_write_cnf(struct olsrd_config *, const char *);
1467
1468 --- a/src/parser.c
1469 +++ b/src/parser.c
1470 @@ -51,7 +51,9 @@
1471 #include "rebuild_packet.h"
1472 #include "net_os.h"
1473 #include "log.h"
1474 +#ifndef SVEN_OLA_UNBLOAT
1475 #include "print_packet.h"
1476 +#endif /* SVEN_OLA_UNBLOAT */
1477 #include "net_olsr.h"
1478
1479 #ifdef WIN32
1480 @@ -281,8 +283,10 @@
1481 //printf("Message from %s\n\n", olsr_ip_to_string(&buf, from_addr));
1482
1483 /* Display packet */
1484 +#ifndef SVEN_OLA_UNBLOAT
1485 if (disp_pack_in)
1486 print_olsr_serialized_packet(stdout, (union olsr_packet *)olsr, size, from_addr);
1487 +#endif /* SVEN_OLA_UNBLOAT */
1488
1489 if (olsr_cnf->ip_version == AF_INET)
1490 msgsize = ntohs(m->v4.olsr_msgsize);
1491 --- a/src/print_packet.c
1492 +++ b/src/print_packet.c
1493 @@ -39,6 +39,7 @@
1494 *
1495 */
1496
1497 +#ifndef SVEN_OLA_UNBLOAT
1498 #include "print_packet.h"
1499 #include "ipcalc.h"
1500 #include "mantissa.h"
1501 @@ -339,6 +340,7 @@
1502 remsize -= olsr_cnf->ipsize;
1503 }
1504 }
1505 +#endif /* SVEN_OLA_UNBLOAT */
1506
1507 /*
1508 * Local Variables:
1509 --- a/src/process_routes.c
1510 +++ b/src/process_routes.c
1511 @@ -159,6 +159,7 @@
1512 static void
1513 olsr_delete_kernel_route(struct rt_entry *rt)
1514 {
1515 +#ifndef SVEN_OLA_UNBLOAT
1516 if (!olsr_cnf->host_emul) {
1517 int16_t error = olsr_cnf->ip_version == AF_INET ? olsr_delroute_function(rt) : olsr_delroute6_function(rt);
1518
1519 @@ -170,6 +171,12 @@
1520 olsr_syslog(OLSR_LOG_ERR, "Delete route %s: %s", routestr, err_msg);
1521 }
1522 }
1523 +#else /* SVEN_OLA_UNBLOAT */
1524 + int16_t error = olsr_cnf->ip_version == AF_INET ? olsr_delroute_function(rt) : olsr_delroute6_function(rt);
1525 + if (0 > error) {
1526 + olsr_syslog(OLSR_LOG_ERR, "Delete route: %s", strerror(errno));
1527 + }
1528 +#endif /* SVEN_OLA_UNBLOAT */
1529 }
1530
1531 /**
1532 @@ -181,6 +188,7 @@
1533 olsr_add_kernel_route(struct rt_entry *rt)
1534 {
1535
1536 +#ifndef SVEN_OLA_UNBLOAT
1537 if (!olsr_cnf->host_emul) {
1538 int16_t error = (olsr_cnf->ip_version == AF_INET) ? olsr_addroute_function(rt) : olsr_addroute6_function(rt);
1539
1540 @@ -199,6 +207,14 @@
1541 rt->rt_metric = rt->rt_best->rtp_metric;
1542 }
1543 }
1544 +#else /* SVEN_OLA_UNBLOAT */
1545 + int16_t error = olsr_cnf->ip_version == AF_INET ? olsr_addroute_function(rt) : olsr_addroute6_function(rt);
1546 + if (0 > error) {
1547 + olsr_syslog(OLSR_LOG_ERR, "Add route: %s", strerror(errno));
1548 + } else {
1549 + rt->rt_nexthop = rt->rt_best->rtp_nexthop;
1550 + }
1551 +#endif /* SVEN_OLA_UNBLOAT */
1552 }
1553
1554 /**
1555 @@ -385,7 +401,7 @@
1556 /* route additions */
1557 olsr_add_kernel_routes(&add_kernel_list);
1558
1559 -#if DEBUG
1560 +#ifdef DEBUG
1561 olsr_print_routing_table(&routingtree);
1562 #endif
1563 }
1564 --- a/src/rebuild_packet.c
1565 +++ b/src/rebuild_packet.c
1566 @@ -60,7 +60,11 @@
1567 mid_chgestruct(struct mid_message *mmsg, const union olsr_message *m)
1568 {
1569 int i;
1570 +#ifndef SVEN_OLA_UNBLOAT
1571 struct mid_alias *alias, *alias_tmp;
1572 +#else /* SVEN_OLA_UNBLOAT */
1573 + struct mid_alias *alias;
1574 +#endif /* SVEN_OLA_UNBLOAT */
1575 int no_aliases;
1576
1577 /* Checking if everything is ok */
1578 @@ -100,6 +104,7 @@
1579 maddr++;
1580 }
1581
1582 +#ifndef SVEN_OLA_UNBLOAT
1583 if (olsr_cnf->debug_level > 1) {
1584 struct ipaddr_str buf;
1585 OLSR_PRINTF(3, "Alias list for %s: ", olsr_ip_to_string(&buf, &mmsg->mid_origaddr));
1586 @@ -111,6 +116,7 @@
1587 }
1588 OLSR_PRINTF(3, "\n");
1589 }
1590 +#endif /* SVEN_OLA_UNBLOAT */
1591 } else {
1592 /* IPv6 */
1593 const struct midaddr6 *maddr6 = m->v6.message.mid.mid_addr;
1594 @@ -144,6 +150,7 @@
1595 maddr6++;
1596 }
1597
1598 +#ifndef SVEN_OLA_UNBLOAT
1599 if (olsr_cnf->debug_level > 1) {
1600 struct ipaddr_str buf;
1601 OLSR_PRINTF(3, "Alias list for %s", ip6_to_string(&buf, &mmsg->mid_origaddr.v6));
1602 @@ -156,6 +163,7 @@
1603 }
1604 OLSR_PRINTF(3, "\n");
1605 }
1606 +#endif /* SVEN_OLA_UNBLOAT */
1607 }
1608
1609 }
1610 --- a/src/routing_table.c
1611 +++ b/src/routing_table.c
1612 @@ -628,6 +628,7 @@
1613 /**
1614 * format a route entry into a buffer
1615 */
1616 +#ifndef SVEN_OLA_UNBLOAT
1617 char *
1618 olsr_rt_to_string(const struct rt_entry *rt)
1619 {
1620 @@ -659,11 +660,13 @@
1621
1622 return buff;
1623 }
1624 +#endif /* SVEN_OLA_UNBLOAT */
1625
1626 /**
1627 * Print the routingtree to STDOUT
1628 *
1629 */
1630 +#ifndef SVEN_OLA_UNBLOAT
1631 void
1632 olsr_print_routing_table(struct avl_tree *tree)
1633 {
1634 @@ -697,6 +700,7 @@
1635 #endif
1636 tree = NULL; /* squelch compiler warnings */
1637 }
1638 +#endif /* SVEN_OLA_UNBLOAT */
1639
1640 /*
1641 * Local Variables:
1642 --- a/src/routing_table.h
1643 +++ b/src/routing_table.h
1644 @@ -210,9 +210,11 @@
1645 bool olsr_cmp_rt(const struct rt_entry *, const struct rt_entry *);
1646 uint8_t olsr_fib_metric(const struct rt_metric *);
1647
1648 +#ifndef SVEN_OLA_UNBLOAT
1649 char *olsr_rt_to_string(const struct rt_entry *);
1650 char *olsr_rtp_to_string(const struct rt_path *);
1651 void olsr_print_routing_table(struct avl_tree *);
1652 +#endif /* SVEN_OLA_UNBLOAT */
1653
1654 const struct rt_nexthop *olsr_get_nh(const struct rt_entry *);
1655
1656 --- a/src/tc_set.c
1657 +++ b/src/tc_set.c
1658 @@ -336,6 +336,7 @@
1659 /**
1660 * Format tc_edge contents into a buffer.
1661 */
1662 +#ifndef SVEN_OLA_UNBLOAT
1663 char *
1664 olsr_tc_edge_to_string(struct tc_edge_entry *tc_edge)
1665 {
1666 @@ -350,6 +351,7 @@
1667
1668 return buf;
1669 }
1670 +#endif /* SVEN_OLA_UNBLOAT */
1671
1672 /**
1673 * Wrapper for the timer callback.
1674 @@ -694,6 +696,7 @@
1675 /**
1676 * Print the topology table to stdout
1677 */
1678 +#ifndef SVEN_OLA_UNBLOAT
1679 void
1680 olsr_print_tc_table(void)
1681 {
1682 @@ -719,6 +722,7 @@
1683 } OLSR_FOR_ALL_TC_ENTRIES_END(tc);
1684 #endif
1685 }
1686 +#endif /* SVEN_OLA_UNBLOAT */
1687
1688 /*
1689 * calculate the border IPs of a tc edge set according to the border flags
1690 --- a/src/tc_set.h
1691 +++ b/src/tc_set.h
1692 @@ -157,7 +157,9 @@
1693
1694 /* tc_edge_entry manipulation */
1695 bool olsr_delete_outdated_tc_edges(struct tc_entry *);
1696 +#ifndef SVEN_OLA_UNBLOAT
1697 char *olsr_tc_edge_to_string(struct tc_edge_entry *);
1698 +#endif /* SVEN_OLA_UNBLOAT */
1699 struct tc_edge_entry *olsr_lookup_tc_edge(struct tc_entry *, union olsr_ip_addr *);
1700 struct tc_edge_entry *olsr_add_tc_edge_entry(struct tc_entry *, union olsr_ip_addr *, uint16_t);
1701 void olsr_delete_tc_entry(struct tc_entry *);
1702 --- a/src/two_hop_neighbor_table.c
1703 +++ b/src/two_hop_neighbor_table.c
1704 @@ -203,6 +203,8 @@
1705 return NULL;
1706 }
1707
1708 +#ifndef SVEN_OLA_UNBLOAT
1709 +
1710 /**
1711 *Print the two hop neighbor table to STDOUT.
1712 *
1713 @@ -240,6 +242,7 @@
1714 }
1715 #endif
1716 }
1717 +#endif /* SVEN_OLA_UNBLOAT */
1718
1719 /*
1720 * Local Variables:
1721 --- a/src/unix/ifnet.c
1722 +++ b/src/unix/ifnet.c
1723 @@ -70,6 +70,8 @@
1724
1725 #define BUFSPACE (127*1024) /* max. input buffer size to request */
1726
1727 +#ifndef SVEN_OLA_UNBLOAT
1728 +
1729 int
1730 set_flag(char *ifname, short flag __attribute__ ((unused)))
1731 {
1732 @@ -100,6 +102,8 @@
1733
1734 }
1735
1736 +#endif /* SVEN_OLA_UNBLOAT */
1737 +
1738 void
1739 check_interface_updates(void *foo __attribute__ ((unused)))
1740 {
1741 @@ -110,11 +114,13 @@
1742 #endif
1743
1744 for (tmp_if = olsr_cnf->interfaces; tmp_if != NULL; tmp_if = tmp_if->next) {
1745 +#ifndef SVEN_OLA_UNBLOAT
1746 if (tmp_if->host_emul)
1747 continue;
1748
1749 if (olsr_cnf->host_emul) /* XXX: TEMPORARY! */
1750 continue;
1751 +#endif /* SVEN_OLA_UNBLOAT */
1752
1753 if (!tmp_if->cnf->autodetect_chg) {
1754 #ifdef DEBUG
1755 @@ -154,8 +160,10 @@
1756 OLSR_PRINTF(3, "Checking if %s is set down or changed\n", iface->name);
1757 #endif
1758
1759 +#ifndef SVEN_OLA_UNBLOAT
1760 if (iface->host_emul)
1761 return -1;
1762 +#endif /* SVEN_OLA_UNBLOAT */
1763
1764 ifp = iface->interf;
1765
1766 @@ -281,7 +289,9 @@
1767 } else
1768 /* IP version 4 */
1769 {
1770 +#ifndef SVEN_OLA_UNBLOAT
1771 struct ipaddr_str buf;
1772 +#endif /* SVEN_OLA_UNBLOAT */
1773 /* Check interface address (IPv4) */
1774 if (ioctl(olsr_cnf->ioctl_s, SIOCGIFADDR, &ifr) < 0) {
1775 OLSR_PRINTF(1, "\tCould not get address of interface - removing it\n");
1776 @@ -294,17 +304,21 @@
1777 if (memcmp
1778 (&((struct sockaddr_in *)&ifp->int_addr)->sin_addr.s_addr, &((struct sockaddr_in *)&ifr.ifr_addr)->sin_addr.s_addr,
1779 olsr_cnf->ipsize) != 0) {
1780 +#ifndef SVEN_OLA_UNBLOAT
1781 /* New address */
1782 OLSR_PRINTF(1, "IPv4 address changed for %s\n", ifr.ifr_name);
1783 OLSR_PRINTF(1, "\tOld:%s\n", ip4_to_string(&buf, ifp->int_addr.sin_addr));
1784 OLSR_PRINTF(1, "\tNew:%s\n", sockaddr4_to_string(&buf, &ifr.ifr_addr));
1785 +#endif /* SVEN_OLA_UNBLOAT */
1786
1787 ifp->int_addr = *(struct sockaddr_in *)&ifr.ifr_addr;
1788 /* deactivated to prevent change of originator IP */
1789 #if 0
1790 if (memcmp(&olsr_cnf->main_addr, &ifp->ip_addr, olsr_cnf->ipsize) == 0) {
1791 OLSR_PRINTF(1, "New main address: %s\n", sockaddr4_to_string(&buf, &ifr.ifr_addr));
1792 +#ifndef SVEN_OLA_UNBLOAT
1793 olsr_syslog(OLSR_LOG_INFO, "New main address: %s\n", sockaddr4_to_string(&buf, &ifr.ifr_addr));
1794 +#endif /* SVEN_OLA_UNBLOAT */
1795 memcpy(&olsr_cnf->main_addr, &((struct sockaddr_in *)&ifr.ifr_addr)->sin_addr.s_addr, olsr_cnf->ipsize);
1796 }
1797 #endif
1798 @@ -366,7 +380,9 @@
1799
1800 remove_interface:
1801 OLSR_PRINTF(1, "Removing interface %s\n", iface->name);
1802 +#ifndef SVEN_OLA_UNBLOAT
1803 olsr_syslog(OLSR_LOG_INFO, "Removing interface %s\n", iface->name);
1804 +#endif /* SVEN_OLA_UNBLOAT */
1805
1806 olsr_delete_link_entry_by_ip(&ifp->ip_addr);
1807
1808 @@ -398,10 +414,14 @@
1809 memset(&olsr_cnf->main_addr, 0, olsr_cnf->ipsize);
1810 OLSR_PRINTF(1, "No more interfaces...\n");
1811 } else {
1812 +#if !defined(SVEN_OLA_UNBLOAT)
1813 struct ipaddr_str buf;
1814 +#endif /* SVEN_OLA_UNBLOAT */
1815 olsr_cnf->main_addr = ifnet->ip_addr;
1816 OLSR_PRINTF(1, "New main address: %s\n", olsr_ip_to_string(&buf, &olsr_cnf->main_addr));
1817 +#ifndef SVEN_OLA_UNBLOAT
1818 olsr_syslog(OLSR_LOG_INFO, "New main address: %s\n", olsr_ip_to_string(&buf, &olsr_cnf->main_addr));
1819 +#endif /* SVEN_OLA_UNBLOAT */
1820 }
1821 }
1822 #endif
1823 @@ -425,7 +445,9 @@
1824
1825 if ((ifnet == NULL) && (!olsr_cnf->allow_no_interfaces)) {
1826 OLSR_PRINTF(1, "No more active interfaces - exiting.\n");
1827 +#ifndef SVEN_OLA_UNBLOAT
1828 olsr_syslog(OLSR_LOG_INFO, "No more active interfaces - exiting.\n");
1829 +#endif /* SVEN_OLA_UNBLOAT */
1830 olsr_cnf->exit_value = EXIT_FAILURE;
1831 kill(getpid(), SIGINT);
1832 }
1833 @@ -434,6 +456,8 @@
1834
1835 }
1836
1837 +#ifndef SVEN_OLA_UNBLOAT
1838 +
1839 /**
1840 * Initializes the special interface used in
1841 * host-client emulation
1842 @@ -585,6 +609,7 @@
1843
1844 return 1;
1845 }
1846 +#endif /* SVEN_OLA_UNBLOAT */
1847
1848 static char basenamestr[32];
1849 static const char *if_basename(const char *name);
1850 @@ -620,8 +645,10 @@
1851 int tos_bits = IPTOS_TOS(olsr_cnf->tos);
1852 #endif
1853
1854 +#ifndef SVEN_OLA_UNBLOAT
1855 if (iface->host_emul)
1856 return -1;
1857 +#endif /* SVEN_OLA_UNBLOAT */
1858
1859 memset(&ifr, 0, sizeof(struct ifreq));
1860 memset(&ifs, 0, sizeof(struct interface));
1861 @@ -728,11 +755,13 @@
1862 ifs.int_broadaddr = *(struct sockaddr_in *)&ifr.ifr_broadaddr;
1863 }
1864
1865 +#ifndef SVEN_OLA_UNBLOAT
1866 /* Deactivate IP spoof filter */
1867 deactivate_spoof(if_basename(ifr.ifr_name), &ifs, olsr_cnf->ip_version);
1868
1869 /* Disable ICMP redirects */
1870 disable_redirects(if_basename(ifr.ifr_name), &ifs, olsr_cnf->ip_version);
1871 +#endif /* SVEN_OLA_UNBLOAT */
1872
1873 }
1874
1875 @@ -762,7 +791,9 @@
1876
1877 OLSR_PRINTF(1, "\tMTU - IPhdr: %d\n", ifs.int_mtu);
1878
1879 +#ifndef SVEN_OLA_UNBLOAT
1880 olsr_syslog(OLSR_LOG_INFO, "Adding interface %s\n", iface->name);
1881 +#endif /* SVEN_OLA_UNBLOAT */
1882 OLSR_PRINTF(1, "\tIndex %d\n", ifs.if_index);
1883
1884 if (olsr_cnf->ip_version == AF_INET) {
1885 @@ -867,10 +898,14 @@
1886 */
1887 memset(&null_addr, 0, olsr_cnf->ipsize);
1888 if (ipequal(&null_addr, &olsr_cnf->main_addr)) {
1889 +#ifndef SVEN_OLA_UNBLOAT
1890 struct ipaddr_str buf;
1891 +#endif
1892 olsr_cnf->main_addr = ifp->ip_addr;
1893 +#ifndef SVEN_OLA_UNBLOAT
1894 OLSR_PRINTF(1, "New main address: %s\n", olsr_ip_to_string(&buf, &olsr_cnf->main_addr));
1895 olsr_syslog(OLSR_LOG_INFO, "New main address: %s\n", olsr_ip_to_string(&buf, &olsr_cnf->main_addr));
1896 +#endif /* SVEN_OLA_UNBLOAT */
1897 }
1898
1899 /*
1900 --- a/src/unix/misc.c
1901 +++ b/src/unix/misc.c
1902 @@ -44,6 +44,7 @@
1903 #include "misc.h"
1904 #include "olsr_types.h"
1905
1906 +#ifndef SVEN_OLA_UNBLOAT
1907 void
1908 clear_console(void)
1909 {
1910 @@ -69,6 +70,7 @@
1911
1912 fflush(stdout);
1913 }
1914 +#endif /* SVEN_OLA_UNBLOAT */
1915
1916 /*
1917 * Local Variables: