diff -Nur olsrd-0.5.3.orig/lib/httpinfo/Makefile olsrd-0.5.3/lib/httpinfo/Makefile
--- olsrd-0.5.3.orig/lib/httpinfo/Makefile	2007-07-26 19:34:54.000000000 +0200
+++ olsrd-0.5.3/lib/httpinfo/Makefile	2007-09-17 21:35:44.000000000 +0200
@@ -48,7 +48,11 @@
 CPPFLAGS +=	-DADMIN_INTERFACE
 endif
 
+ifdef SVEN_OLA_UNBLOAT
+	CFLAGS += -DSVEN_OLA
+else
 OBJS += $(TOPDIR)/src/cfgparser/cfgfile_gen.o
+endif
 
 default_target: $(PLUGIN_FULLNAME)
 ifdef ADMIN_INTERFACE
diff -Nur olsrd-0.5.3.orig/lib/httpinfo/src/html.h olsrd-0.5.3/lib/httpinfo/src/html.h
--- olsrd-0.5.3.orig/lib/httpinfo/src/html.h	2007-02-04 23:37:36.000000000 +0100
+++ olsrd-0.5.3/lib/httpinfo/src/html.h	2007-09-17 21:35:44.000000000 +0200
@@ -90,11 +90,14 @@
   "<HEAD>\n",
   "<META http-equiv=\"Content-type\" content=\"text/html; charset=ISO-8859-1\">\n",
   "<TITLE>olsr.org httpinfo plugin</TITLE>\n",
+#ifndef SVEN_OLA_UNBLOAT
   "<link rel=\"icon\" href=\"favicon.ico\" type=\"image/x-icon\">\n",
   "<link rel=\"shortcut icon\" href=\"favicon.ico\" type=\"image/x-icon\">\n",
+#endif
   "<link rel=\"stylesheet\" type=\"text/css\" href=\"httpinfo.css\">\n",
   "</HEAD>\n",
   "<body bgcolor=\"#ffffff\" text=\"#000000\">\n",
+#ifndef SVEN_OLA_UNBLOAT
   "<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"800\">"
   "<tbody><tr bgcolor=\"#ffffff\">",
   "<td align=\"left\" height=\"69\" valign=\"middle\" width=\"80%\">",
@@ -105,6 +108,7 @@
   "<p>",
   "</table>",
   "<!-- END HEAD -->\n\n",
+#endif
   NULL
 };
 
diff -Nur olsrd-0.5.3.orig/lib/httpinfo/src/olsrd_httpinfo.c olsrd-0.5.3/lib/httpinfo/src/olsrd_httpinfo.c
--- olsrd-0.5.3.orig/lib/httpinfo/src/olsrd_httpinfo.c	2007-09-17 21:35:44.000000000 +0200
+++ olsrd-0.5.3/lib/httpinfo/src/olsrd_httpinfo.c	2007-09-17 21:35:44.000000000 +0200
@@ -66,7 +66,9 @@
 #include "olsrd_httpinfo.h"
 #include "admin_interface.h"
 #include "html.h"
+#ifndef SVEN_OLA_UNBLOAT
 #include "gfx.h"
+#endif
 
 #ifdef OS
 #undef OS
@@ -196,10 +198,13 @@
     {"Admin", "admin", build_admin_body, OLSR_TRUE},
 #endif
     {"About", "about", build_about_body, OLSR_TRUE},
+#ifndef SVEN_OLA_UNBLOAT
     {"FOO", "cfgfile", build_cfgfile_body, OLSR_FALSE},
+#endif
     {NULL, NULL, NULL, OLSR_FALSE}
   };
 
+#ifndef SVEN_OLA_UNBLOAT
 static const struct static_bin_file_entry static_bin_files[] =
   {
     {"favicon.ico", favicon_ico, 1406/*favicon_ico_len*/},
@@ -207,6 +212,7 @@
     {"grayline.gif", grayline_gif, 43/*grayline_gif_len*/},
     {NULL, NULL, 0}
   };
+#endif
 
 static const struct static_txt_file_entry static_txt_files[] =
   {
@@ -409,6 +415,7 @@
       int i = 0;
       int y = 0;
 
+#ifndef SVEN_OLA_UNBLOAT
       while(static_bin_files[i].filename)
 	{
 	  if(FILENREQ_MATCH(filename, static_bin_files[i].filename))
@@ -426,6 +433,7 @@
 	}
 
       i = 0;
+#endif
 
       while(static_txt_files[i].filename)
 	{
@@ -543,6 +551,7 @@
 }
 
 
+#ifndef SVEN_OLA_UNBLOAT
 int
 build_http_header(http_header_type type, 
 		  olsr_bool is_html, 
@@ -601,7 +610,7 @@
 
   return size;
 }
-
+#endif
 
 
 static int build_tabs(char *buf, const olsr_u32_t bufsize, int active)
diff -Nur olsrd-0.5.3.orig/lib/nameservice/src/nameservice.c olsrd-0.5.3/lib/nameservice/src/nameservice.c
--- olsrd-0.5.3.orig/lib/nameservice/src/nameservice.c	2007-09-17 21:35:44.000000000 +0200
+++ olsrd-0.5.3/lib/nameservice/src/nameservice.c	2007-09-17 21:36:12.000000000 +0200
@@ -62,6 +62,10 @@
 #include "olsrd_copy.h"
 #include "compat.h"
 
+#ifdef SVEN_OLA_UNBLOAT
+#undef OLSR_PRINTF
+#define OLSR_PRINTF(...)
+#endif
 
 /* send buffer: huge */
 static char buffer[10240];
@@ -72,7 +76,9 @@
 static char my_suffix[MAX_SUFFIX];
 static int my_interval = EMISSION_INTERVAL;
 static double my_timeout = NAME_VALID_TIME;
+#ifndef SVEN_OLA_UNBLOAT
 static char my_resolv_file[MAX_FILE +1];
+#endif
 static char my_services_file[MAX_FILE + 1];
 static char latlon_in_file[MAX_FILE + 1];
 static char my_latlon_file[MAX_FILE + 1];
@@ -92,9 +98,11 @@
 struct name_entry *my_services = NULL;
 olsr_bool service_table_changed = OLSR_TRUE;
 
+#ifndef SVEN_OLA_UNBLOAT
 struct db_entry* forwarder_list[HASHSIZE];
 struct name_entry *my_forwarders = NULL;
 olsr_bool forwarder_table_changed = OLSR_TRUE;
+#endif
 
 struct db_entry* latlon_list[HASHSIZE];
 olsr_bool latlon_table_changed = OLSR_TRUE;
@@ -136,10 +144,12 @@
 		my_services_file[len++] = '\\';
 	strcpy(my_services_file + len, "services_olsr");
 
+#ifndef SVEN_OLA_UNBLOAT
 	len = strlen(my_resolv_file);
 	if (my_resolv_file[len - 1] != '\\')
 		my_resolv_file[len++] = '\\';
 	strcpy(my_resolv_file + len, "resolvconf_olsr");
+#endif
 
 	len = strlen(my_latlon_file);
 	if (my_latlon_file[len - 1] != '\\')
@@ -148,7 +158,9 @@
 #else
 	strcpy(my_hosts_file, "/var/run/hosts_olsr");
 	strcpy(my_services_file, "/var/run/services_olsr");
+#ifndef SVEN_OLA_UNBLOAT
 	strcpy(my_resolv_file, "/var/run/resolvconf_olsr");
+#endif	
 	strcpy(my_latlon_file, "/var/run/latlon.js");
 #endif
 
@@ -159,7 +171,9 @@
 	/* init lists */
 	for(i = 0; i < HASHSIZE; i++) {
 		list[i] = NULL;
+#ifndef SVEN_OLA_UNBLOAT
 		forwarder_list[i] = NULL;
+#endif
 		service_list[i] = NULL;
 		latlon_list[i] = NULL;
 	}
@@ -168,6 +182,7 @@
 }
 
 
+#ifndef SVEN_OLA_UNBLOAT
 static int set_nameservice_server(const char *value, void *data, set_plugin_parameter_addon addon)
 {
 	union olsr_ip_addr ip;
@@ -190,6 +205,7 @@
 	}
 	return 1;
 }
+#endif
 
 static int set_nameservice_name(const char *value, void *data, set_plugin_parameter_addon addon)
 {
@@ -245,7 +261,9 @@
     { .name = "interval",      .set_plugin_parameter = &set_plugin_int,         .data = &my_interval },
     { .name = "timeout",       .set_plugin_parameter = &set_nameservice_float,  .data = &my_timeout },
     { .name = "hosts-file",    .set_plugin_parameter = &set_plugin_string,      .data = &my_hosts_file,    .addon = {sizeof(my_hosts_file)} },
+#ifndef SVEN_OLA_UNBLOAT
     { .name = "resolv-file",   .set_plugin_parameter = &set_plugin_string,      .data = &my_resolv_file,   .addon = {sizeof(my_resolv_file)} },
+#endif
     { .name = "suffix",        .set_plugin_parameter = &set_plugin_string,      .data = &my_suffix,        .addon = {sizeof(my_suffix)} },
     { .name = "add-hosts",     .set_plugin_parameter = &set_plugin_string,      .data = &my_add_hosts,     .addon = {sizeof(my_add_hosts)} },
     { .name = "services-file", .set_plugin_parameter = &set_plugin_string,      .data = &my_services_file, .addon = {sizeof(my_services_file)} },
@@ -253,7 +271,9 @@
     { .name = "lon",           .set_plugin_parameter = &set_nameservice_float,  .data = &my_lon },
     { .name = "latlon-file",   .set_plugin_parameter = &set_plugin_string,      .data = &my_latlon_file,   .addon = {sizeof(my_latlon_file)} },
     { .name = "latlon-infile", .set_plugin_parameter = &set_plugin_string,      .data = &latlon_in_file,   .addon = {sizeof(latlon_in_file)} },
+#ifndef SVEN_OLA_UNBLOAT
     { .name = "dns-server",    .set_plugin_parameter = &set_nameservice_server, .data = &my_forwarders,    .addon = {NAME_FORWARDER} },
+#endif
     { .name = "name",          .set_plugin_parameter = &set_nameservice_name,   .data = &my_names,         .addon = {NAME_HOST} },
     { .name = "service",       .set_plugin_parameter = &set_nameservice_name,   .data = &my_services,      .addon = {NAME_SERVICE} },
     { .name = "",              .set_plugin_parameter = &set_nameservice_host,   .data = &my_names },
@@ -367,16 +387,20 @@
 			memcpy(&name->ip, &olsr_cnf->main_addr, olsr_cnf->ipsize);
 		}
 	}
+#ifndef SVEN_OLA_UNBLOAT
 	for (name = my_forwarders; name != NULL; name = name->next) {
 		if (name->ip.v4 == 0) {
 			OLSR_PRINTF(2, "NAME PLUGIN: insert main addr for name %s \n", name->name);
 			memcpy(&name->ip, &olsr_cnf->main_addr, olsr_cnf->ipsize);
 		}
 	}
+#endif
 
 	//check if entries I want to announce myself are valid and allowed
 	my_names = remove_nonvalid_names_from_list(my_names, NAME_HOST);
+#ifndef SVEN_OLA_UNBLOAT
 	my_forwarders = remove_nonvalid_names_from_list(my_forwarders, NAME_FORWARDER);
+#endif
 	my_services = remove_nonvalid_names_from_list(my_services, NAME_SERVICE);
 
 
@@ -442,11 +466,15 @@
 	
 	free_name_entry_list(&my_names);
 	free_name_entry_list(&my_services);
+#ifndef SVEN_OLA_UNBLOAT
 	free_name_entry_list(&my_forwarders);
+#endif
 
 	free_all_list_entries(list);
 	free_all_list_entries(service_list);
+#ifndef SVEN_OLA_UNBLOAT
 	free_all_list_entries(forwarder_list);
+#endif
 	free_all_list_entries(latlon_list);
 
 	regfree(&regex_t_name);
@@ -494,12 +522,16 @@
 	{
 		case 0:
 			timeout_old_names(list, &name_table_changed);
+#ifndef SVEN_OLA_UNBLOAT
 			timeout_old_names(forwarder_list, &forwarder_table_changed);
+#endif
 			timeout_old_names(service_list, &service_table_changed);
 			timeout_old_names(latlon_list, &latlon_table_changed);
 			break;
 		case 1:
+#ifndef SVEN_OLA_UNBLOAT
 			write_resolv_file(); // if forwarder_table_changed
+#endif
 			break;
 		case 2:
 			write_hosts_file(); // if name_table_changed
@@ -688,12 +720,14 @@
 		pos = create_packet( (struct name*) pos, my_name);
 		i++;
 	}
+#ifndef SVEN_OLA_UNBLOAT
 	// forwarders
 	for (my_name = my_forwarders; my_name!=NULL; my_name = my_name->next)
 	{
 		pos = create_packet( (struct name*) pos, my_name);
 		i++;
 	}
+#endif
 	// services
 	for (my_service = my_services; my_service!=NULL; my_service = my_service->next)
 	{
@@ -882,9 +916,11 @@
 			case NAME_HOST: 
 				insert_new_name_in_list(originator, list, from_packet, &name_table_changed, vtime); 
 				break;
+#ifndef SVEN_OLA_UNBLOAT
 			case NAME_FORWARDER:
 				insert_new_name_in_list(originator, forwarder_list, from_packet, &forwarder_table_changed, vtime); 
 				break;
+#endif
 			case NAME_SERVICE:
 				insert_new_name_in_list(originator, service_list, from_packet, &service_table_changed, vtime); 
 				break;
@@ -1095,6 +1131,7 @@
  * write the 3 best upstream DNS servers to resolv.conf file
  * best means the 3 with the best etx value in routing table
  */
+#ifndef SVEN_OLA_UNBLOAT
 void
 write_resolv_file(void)
 {
@@ -1208,6 +1245,7 @@
 	fclose(resolv);
 	forwarder_table_changed = OLSR_FALSE;
 }
+#endif
 
 
 /**
@@ -1374,8 +1412,14 @@
 	 * these are then used by allowed_hostname_or_ip_in_service
 	 * see regexec(3) for more infos */
 	if (!is_service_wellformed(service_line)) {
+#ifdef SVEN_OLA_UNBLOAT
+		olsr_printf(1, "NAME PLUGIN: %s: Not 'x://y:z/|tcp|Text'\n", service_line);
+#endif
 		return OLSR_FALSE;
 	} else if (!allowed_hostname_or_ip_in_service(service_line, &(regmatch_t_service[1]))) {
+#ifdef SVEN_OLA_UNBLOAT
+		olsr_printf(1, "NAME PLUGIN: %s: IP/Addr not yours and not HNA\n", service_line);
+#endif
 		return OLSR_FALSE;
 	} 
 
diff -Nur olsrd-0.5.3.orig/Makefile.inc olsrd-0.5.3/Makefile.inc
--- olsrd-0.5.3.orig/Makefile.inc	2007-09-17 21:35:44.000000000 +0200
+++ olsrd-0.5.3/Makefile.inc	2007-09-17 21:35:44.000000000 +0200
@@ -117,6 +117,10 @@
 $(warning Use CPPFLAGS instead of DEFINES for -D)
 endif
 
+ifdef SVEN_OLA_UNBLOAT
+CFLAGS += -DSVEN_OLA_UNBLOAT -DNODEBUG
+endif
+
 TAGFILE ?=	src/TAGS
 
 help:
diff -Nur olsrd-0.5.3.orig/src/apm.h olsrd-0.5.3/src/apm.h
--- olsrd-0.5.3.orig/src/apm.h	2005-05-29 14:47:45.000000000 +0200
+++ olsrd-0.5.3/src/apm.h	2007-09-17 21:35:44.000000000 +0200
@@ -42,6 +42,7 @@
 
 #ifndef _OLSR_APM
 #define _OLSR_APM
+#ifndef SVEN_OLA_UNBLOAT
 
 /*
  * Interface to OS dependent power management information
@@ -72,3 +73,4 @@
 int apm_read(struct olsr_apm_info *);
 
 #endif
+#endif
diff -Nur olsrd-0.5.3.orig/src/cfgparser/Makefile olsrd-0.5.3/src/cfgparser/Makefile
--- olsrd-0.5.3.orig/src/cfgparser/Makefile	2007-08-02 21:59:15.000000000 +0200
+++ olsrd-0.5.3/src/cfgparser/Makefile	2007-09-17 21:35:44.000000000 +0200
@@ -41,7 +41,11 @@
 TOPDIR=../..
 include $(TOPDIR)/Makefile.inc
 
+ifdef SVEN_OLA_UNBLOAT
+SRCS =		olsrd_conf.c  oparse.c  oscan.c
+else
 SRCS =		olsrd_conf.c  oparse.c  oscan.c cfgfile_gen.c
+endif
 HDRS =		olsrd_conf.h  oparse.h
 
 ifeq ($(OS), win32)
diff -Nur olsrd-0.5.3.orig/src/cfgparser/olsrd_conf.c olsrd-0.5.3/src/cfgparser/olsrd_conf.c
--- olsrd-0.5.3.orig/src/cfgparser/olsrd_conf.c	2007-09-17 21:35:44.000000000 +0200
+++ olsrd-0.5.3/src/cfgparser/olsrd_conf.c	2007-09-17 21:35:44.000000000 +0200
@@ -159,7 +159,9 @@
       /* set various stuff */
       in->configured = OLSR_FALSE;
       in->interf = NULL;
+#ifndef SVEN_OLA_UNBLOAT
       in->host_emul = OLSR_FALSE;
+#endif
       in = in->next;
     }
 
@@ -449,14 +451,18 @@
     
     cnf->debug_level = DEF_DEBUGLVL;
     cnf->no_fork = OLSR_FALSE;
+#ifndef SVEN_OLA_UNBLOAT
     cnf->host_emul = OLSR_FALSE;
+#endif
     cnf->ip_version  = AF_INET;
     cnf->allow_no_interfaces = DEF_ALLOW_NO_INTS;
     cnf->tos = DEF_TOS;
     cnf->rttable = 254;
     cnf->willingness_auto = DEF_WILL_AUTO;
+#ifndef SVEN_OLA_UNBLOAT
     cnf->ipc_connections = DEF_IPC_CONNECTIONS;
     cnf->open_ipc = cnf->ipc_connections ? OLSR_TRUE : OLSR_FALSE;
+#endif
 
     cnf->use_hysteresis = DEF_USE_HYST;
     cnf->hysteresis_param.scaling = HYST_SCALING;
@@ -541,6 +547,7 @@
 void
 olsrd_print_cnf(struct olsrd_config *cnf)
 {
+#ifndef SVEN_OLA_UNBLOAT
   struct hna4_entry        *h4 = cnf->hna4_entries;
   struct hna6_entry        *h6 = cnf->hna6_entries;
   struct olsr_if           *in = cnf->interfaces;
@@ -710,6 +717,7 @@
 	  h6 = h6->next;
 	}
     }
+#endif
 }
 
 void *olsrd_cnf_malloc(unsigned int len)
diff -Nur olsrd-0.5.3.orig/src/cfgparser/oparse.y olsrd-0.5.3/src/cfgparser/oparse.y
--- olsrd-0.5.3.orig/src/cfgparser/oparse.y	2007-09-17 21:35:44.000000000 +0200
+++ olsrd-0.5.3/src/cfgparser/oparse.y	2007-09-17 21:35:44.000000000 +0200
@@ -151,7 +151,6 @@
 %token TOK_TOS
 %token TOK_RTTABLE
 %token TOK_WILLINGNESS
-%token TOK_IPCCON
 %token TOK_USEHYST
 %token TOK_HYSTSCALE
 %token TOK_HYSTUPPER
@@ -173,7 +172,6 @@
 
 %token TOK_HOSTLABEL
 %token TOK_NETLABEL
-%token TOK_MAXIPC
 
 %token TOK_IP4BROADCAST
 %token TOK_IP6ADDRTYPE
@@ -229,7 +227,6 @@
 
 block:      TOK_HNA4 hna4body
           | TOK_HNA6 hna6body
-          | TOK_IPCCON ipcbody
           | ifblock ifbody
           | plblock plbody
 ;
@@ -254,18 +251,6 @@
          | ihna6entry
 ;
 
-ipcbody:    TOK_OPEN ipcstmts TOK_CLOSE
-;
-
-ipcstmts: | ipcstmts ipcstmt
-;
-
-ipcstmt:  vcomment
-          | imaxipc
-          | ipchost
-          | ipcnet
-;
-
 ifblock:   ifstart ifnicks
 ;
 
@@ -308,75 +293,6 @@
 ;
 
 
-imaxipc: TOK_MAXIPC TOK_INTEGER
-{
-  cnf->ipc_connections = $2->integer;
-
-  cnf->open_ipc = cnf->ipc_connections ? OLSR_TRUE : OLSR_FALSE;
-
-  free($2);
-}
-;
-
-ipchost: TOK_HOSTLABEL TOK_IP4_ADDR
-{
-  struct in_addr in;
-  struct ipc_host *ipch;
-
-  PARSER_DEBUG_PRINTF("\tIPC host: %s\n", $2->string);
-  
-  if(inet_aton($2->string, &in) == 0)
-    {
-      fprintf(stderr, "Failed converting IP address IPC %s\n", $2->string);
-      return -1;
-    }
-
-  ipch = malloc(sizeof(struct ipc_host));
-  ipch->host.v4 = in.s_addr;
-
-  ipch->next = cnf->ipc_hosts;
-  cnf->ipc_hosts = ipch;
-
-  free($2->string);
-  free($2);
-
-}
-;
-
-ipcnet: TOK_NETLABEL TOK_IP4_ADDR TOK_IP4_ADDR
-{
-  struct in_addr in1, in2;
-  struct ipc_net *ipcn;
-
-  PARSER_DEBUG_PRINTF("\tIPC net: %s/%s\n", $2->string, $3->string);
-  
-  if(inet_aton($2->string, &in1) == 0)
-    {
-      fprintf(stderr, "Failed converting IP net IPC %s\n", $2->string);
-      return -1;
-    }
-
-  if(inet_aton($3->string, &in2) == 0)
-    {
-      fprintf(stderr, "Failed converting IP mask IPC %s\n", $3->string);
-      return -1;
-    }
-
-  ipcn = malloc(sizeof(struct ipc_net));
-  ipcn->net.v4 = in1.s_addr;
-  ipcn->mask.v4 = in2.s_addr;
-
-  ipcn->next = cnf->ipc_nets;
-  cnf->ipc_nets = ipcn;
-
-  free($2->string);
-  free($2);
-  free($3->string);
-  free($3);
-
-}
-;
-
 iifweight:       TOK_IFWEIGHT TOK_INTEGER
 {
   int ifcnt = ifs_in_curr_cfg;
diff -Nur olsrd-0.5.3.orig/src/cfgparser/oscan.lex olsrd-0.5.3/src/cfgparser/oscan.lex
--- olsrd-0.5.3.orig/src/cfgparser/oscan.lex	2007-09-17 21:35:44.000000000 +0200
+++ olsrd-0.5.3/src/cfgparser/oscan.lex	2007-09-17 21:35:44.000000000 +0200
@@ -244,11 +244,6 @@
     return TOK_NETLABEL;
 }
 
-"MaxConnections" {
-    yylval = NULL;
-    return TOK_MAXIPC;
-}
-
 "DebugLevel" {
     yylval = NULL;
     return TOK_DEBUGLEVEL;
@@ -309,11 +304,6 @@
     return TOK_WILLINGNESS;
 }
 
-"IpcConnect" {
-    yylval = NULL;
-    return TOK_IPCCON;
-}
-
 "UseHysteresis" {
     yylval = NULL;
     return TOK_USEHYST;
diff -Nur olsrd-0.5.3.orig/src/defs.h olsrd-0.5.3/src/defs.h
--- olsrd-0.5.3.orig/src/defs.h	2007-09-17 21:35:44.000000000 +0200
+++ olsrd-0.5.3/src/defs.h	2007-09-17 21:35:44.000000000 +0200
@@ -137,6 +137,7 @@
 extern olsr_bool olsr_win32_end_flag;
 #endif
 
+#ifndef SVEN_OLA_UNBLOAT
 /*
  *IPC functions
  *These are moved to a plugin soon
@@ -161,3 +162,4 @@
 ipc_route_send_rtentry(union olsr_ip_addr*, union olsr_ip_addr *, int, int, char *);
 
 #endif
+#endif
diff -Nur olsrd-0.5.3.orig/src/duplicate_set.c olsrd-0.5.3/src/duplicate_set.c
--- olsrd-0.5.3.orig/src/duplicate_set.c	2007-09-17 21:35:44.000000000 +0200
+++ olsrd-0.5.3/src/duplicate_set.c	2007-09-17 21:35:44.000000000 +0200
@@ -344,6 +344,7 @@
   return 1;
 }
 
+#ifndef SVEN_OLA_UNBLOAT
 void
 olsr_print_duplicate_table(void)
 {
@@ -367,3 +368,4 @@
   printf("\n");
 
 }
+#endif
diff -Nur olsrd-0.5.3.orig/src/hna_set.c olsrd-0.5.3/src/hna_set.c
--- olsrd-0.5.3.orig/src/hna_set.c	2007-09-17 21:35:44.000000000 +0200
+++ olsrd-0.5.3/src/hna_set.c	2007-09-17 21:35:44.000000000 +0200
@@ -318,6 +318,7 @@
  *
  *@return nada
  */
+#ifndef SVEN_OLA_UNBLOAT
 void
 olsr_print_hna_set(void)
 {
@@ -364,5 +365,6 @@
     }
 
 }
+#endif
 
 
diff -Nur olsrd-0.5.3.orig/src/interfaces.c olsrd-0.5.3/src/interfaces.c
--- olsrd-0.5.3.orig/src/interfaces.c	2007-09-17 21:35:44.000000000 +0200
+++ olsrd-0.5.3/src/interfaces.c	2007-09-17 21:35:44.000000000 +0200
@@ -105,13 +105,17 @@
     /* Run trough all interfaces immedeatly */
     for(tmp_if = olsr_cnf->interfaces; tmp_if != NULL; tmp_if = tmp_if->next)
       {
+#ifndef SVEN_OLA_UNBLOAT
 	if(!tmp_if->host_emul)
 	  {
 	    if(!olsr_cnf->host_emul) /* XXX: TEMPORARY! */
+#endif
 	      chk_if_up(tmp_if, 1);	
+#ifndef SVEN_OLA_UNBLOAT
 	  }
 	else
 	  add_hemu_if(tmp_if);
+#endif
       }
   
   /* register network interface update function with scheduler */
@@ -343,7 +347,9 @@
   interf_n->interf = NULL;
   interf_n->configured = 0;
 
+#ifndef SVEN_OLA_UNBLOAT
   interf_n->host_emul = hemu ? OLSR_TRUE : OLSR_FALSE;
+#endif
 
   strncpy(interf_n->name, name, strlen(name) + 1);
   interf_n->next = olsr_cnf->interfaces;
diff -Nur olsrd-0.5.3.orig/src/ipc_frontend.c olsrd-0.5.3/src/ipc_frontend.c
--- olsrd-0.5.3.orig/src/ipc_frontend.c	2007-09-17 21:35:44.000000000 +0200
+++ olsrd-0.5.3/src/ipc_frontend.c	2007-09-17 21:35:44.000000000 +0200
@@ -46,6 +46,7 @@
  *
  */
 
+#ifndef SVEN_OLA_UNBLOAT
 #include "ipc_frontend.h"
 #include "link_set.h"
 #include "olsr.h"
@@ -549,3 +550,4 @@
   
   return 1;
 }
+#endif
diff -Nur olsrd-0.5.3.orig/src/ipc_frontend.h olsrd-0.5.3/src/ipc_frontend.h
--- olsrd-0.5.3.orig/src/ipc_frontend.h	2007-08-01 18:19:48.000000000 +0200
+++ olsrd-0.5.3/src/ipc_frontend.h	2007-09-17 21:35:44.000000000 +0200
@@ -48,6 +48,7 @@
 
 #ifndef _OLSR_IPC
 #define _OLSR_IPC
+#ifndef SVEN_OLA_UNBLOAT
 
 #include <sys/types.h>
 #include <netinet/in.h>
@@ -108,3 +109,4 @@
 frontend_msgparser(union olsr_message *, struct interface *, union olsr_ip_addr *);
 
 #endif
+#endif
diff -Nur olsrd-0.5.3.orig/src/link_set.c olsrd-0.5.3/src/link_set.c
--- olsrd-0.5.3.orig/src/link_set.c	2007-09-17 21:35:44.000000000 +0200
+++ olsrd-0.5.3/src/link_set.c	2007-09-17 21:35:44.000000000 +0200
@@ -941,6 +941,7 @@
   return;
 }
 
+#ifndef SVEN_OLA_UNBLOAT
 void olsr_print_link_set(void)
 {
   struct link_entry *walker;
@@ -981,6 +982,7 @@
 		walker->neigh_link_quality, etx);
   }
 }
+#endif
 
 static void update_packet_loss_worker(struct link_entry *entry, int lost)
 {
diff -Nur olsrd-0.5.3.orig/src/linux/apm.c olsrd-0.5.3/src/linux/apm.c
--- olsrd-0.5.3.orig/src/linux/apm.c	2007-04-26 00:08:17.000000000 +0200
+++ olsrd-0.5.3/src/linux/apm.c	2007-09-17 21:35:44.000000000 +0200
@@ -44,6 +44,7 @@
  * Acpi-Power Enlightenment epplet
  */
 
+#ifndef SVEN_OLA_UNBLOAT
 #include "apm.h"
 #include "defs.h"
 #include <stdio.h>
@@ -363,3 +364,4 @@
   /* No battery found */
   return -1;
 }
+#endif
diff -Nur olsrd-0.5.3.orig/src/linux/kernel_routes.c olsrd-0.5.3/src/linux/kernel_routes.c
--- olsrd-0.5.3.orig/src/linux/kernel_routes.c	2007-09-17 21:35:44.000000000 +0200
+++ olsrd-0.5.3/src/linux/kernel_routes.c	2007-09-17 21:35:44.000000000 +0200
@@ -518,6 +518,7 @@
 				h = NLMSG_NEXT(h, ret);
 			}
 		}
+#ifndef SVEN_OLA_UNBLOAT
 		if (0 <= ret && olsr_cnf->open_ipc)
 		{
 			ipc_route_send_rtentry(
@@ -527,6 +528,7 @@
 			       	RTM_NEWROUTE == cmd,
 			       	destination->rt_if->int_name);
 		}
+#endif
 	}
 	return ret;
 }
diff -Nur olsrd-0.5.3.orig/src/linux/net.c olsrd-0.5.3/src/linux/net.c
--- olsrd-0.5.3.orig/src/linux/net.c	2007-04-26 00:08:18.000000000 +0200
+++ olsrd-0.5.3/src/linux/net.c	2007-09-17 21:35:44.000000000 +0200
@@ -80,6 +80,7 @@
   return setsockopt(sock, SOL_SOCKET, SO_BINDTODEVICE, dev_name, strlen(dev_name)+1);
 }
 
+#ifndef SVEN_OLA_UNBLOAT
 
 /**
  *Enable IP forwarding.
@@ -103,6 +104,9 @@
 
   if ((proc_fwd=fopen(procfile, "r"))==NULL)
     {
+#ifdef SVEN_OLA_UNBLOAT_OLD
+      perror(procfile);
+#else
       /* IPv4 */
       if(version == AF_INET)
 	fprintf(stderr, "WARNING! Could not open the %s file to check/enable IP forwarding!\nAre you using the procfile filesystem?\nDoes your system support IPv4?\nI will continue(in 3 sec) - but you should mannually ensure that IP forwarding is enabeled!\n\n", procfile);
@@ -111,6 +115,7 @@
 	fprintf(stderr, "WARNING! Could not open the %s file to check/enable IP forwarding!\nAre you using the procfile filesystem?\nDoes your system support IPv6?\nI will continue(in 3 sec) - but you should mannually ensure that IP forwarding is enabeled!\n\n", procfile);
       
       sleep(3);
+#endif
       return 0;
     }
   
@@ -124,9 +129,13 @@
     {
       if ((proc_fwd=fopen(procfile, "w"))==NULL)
         {
+#ifdef SVEN_OLA_UNBLOAT_OLD
+          perror(procfile);
+#else
           fprintf(stderr, "Could not open %s for writing!\n", procfile);
           fprintf(stderr, "I will continue(in 3 sec) - but you should mannually ensure that IP forwarding is enabeled!\n\n");
           sleep(3);
+#endif
           return 0;
         }
       else
@@ -150,9 +159,13 @@
 
   if((proc_redirect = fopen(procfile, "r")) == NULL)
     {
+#ifdef SVEN_OLA_UNBLOAT_OLD
+      perror(procfile);
+#else
       fprintf(stderr, "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", procfile);
       
       sleep(3);
+#endif
       return -1;
     }
   orig_global_redirect_state = fgetc(proc_redirect);
@@ -163,9 +176,13 @@
 
   if ((proc_redirect = fopen(procfile, "w"))==NULL)
     {
+#ifdef SVEN_OLA_UNBLOAT_OLD
+      perror(procfile);
+#else
       fprintf(stderr, "Could not open %s for writing!\n", procfile);
       fprintf(stderr, "I will continue(in 3 sec) - but you should mannually ensure that ICMP redirect is disabeled!\n\n");
       sleep(3);
+#endif
       return 0;
     }
   syslog(LOG_INFO, "Writing \"0\" to %s", procfile);
@@ -193,8 +210,12 @@
 
   if((proc_redirect = fopen(procfile, "r")) == NULL)
     {
+#ifdef SVEN_OLA_UNBLOAT_OLD
+      perror(procfile);
+#else
       fprintf(stderr, "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", procfile);      
       sleep(3);
+#endif
       return 0;
     }
   iface->nic_state.redirect = fgetc(proc_redirect);
@@ -202,9 +223,13 @@
 
   if ((proc_redirect = fopen(procfile, "w"))==NULL)
     {
+#ifdef SVEN_OLA_UNBLOAT_OLD
+      perror(procfile);
+#else
       fprintf(stderr, "Could not open %s for writing!\n", procfile);
       fprintf(stderr, "I will continue(in 3 sec) - but you should mannually ensure that ICMP redirect is disabeled!\n\n");
       sleep(3);
+#endif
       return 0;
     }
   syslog(LOG_INFO, "Writing \"0\" to %s", procfile);
@@ -231,9 +256,13 @@
 
   if((proc_spoof = fopen(procfile, "r")) == NULL)
     {
+#ifdef SVEN_OLA_UNBLOAT_OLD
+      perror(procfile);
+#else
       fprintf(stderr, "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", procfile);
       
       sleep(3);
+#endif
       return 0;
     }
   iface->nic_state.spoof = fgetc(proc_spoof);
@@ -241,9 +270,13 @@
 
   if ((proc_spoof = fopen(procfile, "w")) == NULL)
     {
+#ifdef SVEN_OLA_UNBLOAT_OLD
+      perror(procfile);
+#else
       fprintf(stderr, "Could not open %s for writing!\n", procfile);
       fprintf(stderr, "I will continue(in 3 sec) - but you should mannually ensure that IP spoof filtering is disabeled!\n\n");
       sleep(3);
+#endif
       return 0;
     }
   syslog(LOG_INFO, "Writing \"0\" to %s", procfile);
@@ -272,7 +305,11 @@
 
       if ((proc_fd = fopen(procfile, "w")) == NULL)
 	{
+#ifdef SVEN_OLA_UNBLOAT_OLD
+           perror(procfile);
+#else
 	  fprintf(stderr, "Could not open %s for writing!\nSettings not restored!\n", procfile);
+#endif
 	}
       else
 	{
@@ -292,7 +329,11 @@
 
 	  if ((proc_fd = fopen(procfile, "w")) == NULL)
 	    {
+#ifdef SVEN_OLA_UNBLOAT_OLD
+              perror(procfile);
+#else
 	      fprintf(stderr, "Could not open %s for writing!\nSettings not restored!\n", procfile);
+#endif
 	    }
 	  else
 	    {
@@ -319,7 +360,11 @@
       snprintf(procfile, sizeof(procfile), REDIRECT_PROC, ifs->int_name);
       
       if ((proc_fd = fopen(procfile, "w")) == NULL)
+#ifdef SVEN_OLA_UNBLOAT_OLD
+          perror(procfile);
+#else
 	  fprintf(stderr, "Could not open %s for writing!\nSettings not restored!\n", procfile);
+#endif
       else
 	{
 	  syslog(LOG_INFO, "Resetting %s to %c\n", procfile, ifs->nic_state.redirect);
@@ -333,7 +378,11 @@
       /* Generate the procfile name */
       sprintf(procfile, SPOOF_PROC, ifs->int_name);
       if ((proc_fd = fopen(procfile, "w")) == NULL)
+#ifdef SVEN_OLA_UNBLOAT_OLD
+          perror(procfile);
+#else
 	  fprintf(stderr, "Could not open %s for writing!\nSettings not restored!\n", procfile);
+#endif
       else
 	{
 	  syslog(LOG_INFO, "Resetting %s to %c\n", procfile, ifs->nic_state.spoof);
@@ -385,6 +434,7 @@
   return sock;
 }
 
+#endif /* SVEN_OLA_UNBLOAT */
 
 /**
  *Creates a nonblocking broadcast socket.
diff -Nur olsrd-0.5.3.orig/src/main.c olsrd-0.5.3/src/main.c
--- olsrd-0.5.3.orig/src/main.c	2007-09-17 21:35:44.000000000 +0200
+++ olsrd-0.5.3/src/main.c	2007-09-17 21:35:44.000000000 +0200
@@ -254,13 +254,17 @@
   /*
    * Print configuration 
    */
+#ifndef SVEN_OLA_UNBLOAT
   if(olsr_cnf->debug_level > 1)
     olsrd_print_cnf(olsr_cnf);
+#endif
 
 #ifndef WIN32
   /* Disable redirects globally */
+#ifndef SVEN_OLA_UNBLOAT
   disable_redirects_global(olsr_cnf->ip_version);
 #endif
+#endif
 
   /*
    *socket for icotl calls
@@ -295,7 +299,9 @@
   /*
    *enable ip forwarding on host
    */
+#ifndef SVEN_OLA_UNBLOAT
   enable_ip_forwarding(olsr_cnf->ip_version);
+#endif
 
   /* Initialize parser */
   olsr_init_parser();
@@ -314,6 +320,7 @@
    */
   if(olsr_cnf->willingness_auto)
     {
+#ifndef SVEN_OLA_UNBLOAT
       if(apm_init() < 0)
 	{
 	  OLSR_PRINTF(1, "Could not read APM info - setting default willingness(%d)\n", WILL_DEFAULT);
@@ -325,10 +332,13 @@
 	}
       else
 	{
+#endif
 	  olsr_cnf->willingness = olsr_calculate_willingness();
 
 	  OLSR_PRINTF(1, "Willingness set to %d - next update in %.1f secs\n", olsr_cnf->willingness, olsr_cnf->will_int);
+#ifndef SVEN_OLA_UNBLOAT
 	}
+#endif
     }
 
   /* Set ipsize */
@@ -373,8 +383,10 @@
 
   /* Initialize the IPC socket */
 
+#ifndef SVEN_OLA_UNBLOAT
   if(olsr_cnf->open_ipc)
       ipc_init();
+#endif
 
   /* Initialisation of different tables to be used.*/
   olsr_init_tables();
@@ -486,9 +498,11 @@
 
   OLSR_PRINTF(1, "Closing sockets...\n");
 
+#ifndef SVEN_OLA_UNBLOAT
   /* front-end IPC socket */
   if(olsr_cnf->open_ipc)
     shutdown_ipc();
+#endif
 
   /* OLSR sockets */
   for (ifn = ifnet; ifn; ifn = ifn->int_next) 
@@ -498,7 +512,9 @@
   olsr_close_plugins();
 
   /* Reset network settings */
+#ifndef SVEN_OLA_UNBLOAT
   restore_settings(olsr_cnf->ip_version);
+#endif
 
   /* ioctl socket */
   close(olsr_cnf->ioctl_s);
@@ -531,7 +547,11 @@
           "usage: olsrd [-f <configfile>] [ -i interface1 interface2 ... ]\n"
           "  [-d <debug_level>] [-ipv6] [-multi <IPv6 multicast address>]\n"
           "  [-lql <LQ lev>] [-lqw <LQ win>] [-lqnt <nat thresh>] [-lqmid]\n"
+#ifdef SVEN_OLA_UNBLOAT
+          "  [-bcast <broadcastaddr>] [-delgw] (Note: no -ipc,-dispin,-dispout)\n"
+#else
           "  [-bcast <broadcastaddr>] [-ipc] [-dispin] [-dispout] [-delgw]\n"
+#endif
           "  [-hint <hello interval (secs)>] [-tcint <tc interval (secs)>]\n"
           "  [-midint <mid interval (secs)>] [-hnaint <hna interval (secs)>]\n"
           "  [-T <Polling Rate (secs)>] [-nofork] [-hemu <ip_address>]\n"
@@ -804,6 +824,7 @@
 	}
 
 
+#ifndef SVEN_OLA_UNBLOAT
       /*
        * Should we display the contents of packages beeing sent?
        */
@@ -832,6 +853,7 @@
 	  cnf->open_ipc = OLSR_TRUE;
 	  continue;
 	}
+#endif
 
       /*
        * IPv6 multicast addr
@@ -875,9 +897,11 @@
 	    continue;
 
 	  ifa->cnf = get_default_if_config();
+#ifndef SVEN_OLA_UNBLOAT
 	  ifa->host_emul = OLSR_TRUE;
 	  memcpy(&ifa->hemu_ip, &in, sizeof(union olsr_ip_addr));
 	  cnf->host_emul = OLSR_TRUE;
+#endif
 
 	  continue;
 	}
diff -Nur olsrd-0.5.3.orig/src/neighbor_table.c olsrd-0.5.3/src/neighbor_table.c
--- olsrd-0.5.3.orig/src/neighbor_table.c	2007-09-17 21:35:44.000000000 +0200
+++ olsrd-0.5.3/src/neighbor_table.c	2007-09-17 21:35:44.000000000 +0200
@@ -428,6 +428,7 @@
  *
  *@return nada
  */
+#ifndef SVEN_OLA_UNBLOAT
 void
 olsr_print_neighbor_table(void)
 {
@@ -472,3 +473,4 @@
         }
     }
 }
+#endif
diff -Nur olsrd-0.5.3.orig/src/net_olsr.c olsrd-0.5.3/src/net_olsr.c
--- olsrd-0.5.3.orig/src/net_olsr.c	2007-09-17 21:35:44.000000000 +0200
+++ olsrd-0.5.3/src/net_olsr.c	2007-09-17 21:35:44.000000000 +0200
@@ -43,7 +43,9 @@
 #include "log.h"
 #include "olsr.h"
 #include "net_os.h"
+#ifndef SVEN_OLA_UNBLOAT
 #include "print_packet.h"
+#endif
 #include "link_set.h"
 #include "lq_packet.h"
 
@@ -401,9 +403,11 @@
    *if the -dispout option was given
    *we print the content of the packets
    */
+#ifndef SVEN_OLA_UNBLOAT
   if(disp_pack_out)
     print_olsr_serialized_packet(stdout, (union olsr_packet *)ifp->netbuf.buff, 
 				 ifp->netbuf.pending, &ifp->ip_addr); 
+#endif
   
   if(olsr_cnf->ip_version == AF_INET)
     {
diff -Nur olsrd-0.5.3.orig/src/olsr.c olsrd-0.5.3/src/olsr.c
--- olsrd-0.5.3.orig/src/olsr.c	2007-09-17 21:35:44.000000000 +0200
+++ olsrd-0.5.3/src/olsr.c	2007-09-17 21:35:44.000000000 +0200
@@ -155,7 +155,9 @@
 
   if (olsr_cnf->debug_level > 0 && olsr_cnf->clear_screen && isatty(1))
   {
+#ifndef SVEN_OLA_UNBLOAT
       clear_console();
+#endif
       printf("%s", OLSRD_VERSION_DATE);
   }
 
@@ -203,6 +205,7 @@
       olsr_calculate_lq_routing_table();
     }
   
+#ifndef SVEN_OLA_UNBLOAT
   if (olsr_cnf->debug_level > 0)
     {      
       if (olsr_cnf->debug_level > 2) 
@@ -224,6 +227,7 @@
       olsr_print_two_hop_neighbor_table();
       olsr_print_tc_table();
     }
+#endif
 
   for(tmp_pc_list = pcf_list; 
       tmp_pc_list != NULL;
@@ -457,12 +461,15 @@
 olsr_u8_t
 olsr_calculate_willingness(void)
 {
+#ifndef SVEN_OLA_UNBLOAT
   struct olsr_apm_info ainfo;
+#endif
 
   /* If fixed willingness */
   if(!olsr_cnf->willingness_auto)
     return olsr_cnf->willingness;
 
+#ifndef SVEN_OLA_UNBLOAT
   if(apm_read(&ainfo) < 1)
     return WILL_DEFAULT;
 
@@ -479,6 +486,9 @@
    * 26% > juice will: 1
    */
   return (ainfo.battery_percentage / 26);
+#else
+  return WILL_DEFAULT;
+#endif
 }
 
 const char *
@@ -585,6 +595,7 @@
  *
  *@return a void pointer to the memory allocated
  */
+#ifndef SVEN_OLA_UNBLOAT
 void *
 olsr_malloc(size_t size, const char *id)
 {
@@ -599,6 +610,7 @@
     }
   return ptr;
 }
+#endif
 
 
 /**
diff -Nur olsrd-0.5.3.orig/src/olsr_cfg.h olsrd-0.5.3/src/olsr_cfg.h
--- olsrd-0.5.3.orig/src/olsr_cfg.h	2007-09-17 21:35:44.000000000 +0200
+++ olsrd-0.5.3/src/olsr_cfg.h	2007-09-17 21:35:44.000000000 +0200
@@ -140,8 +140,10 @@
   char                     *name;
   char                     *config;
   olsr_bool                configured;
+#ifndef SVEN_OLA_UNBLOAT
   olsr_bool                host_emul;
   union olsr_ip_addr       hemu_ip;
+#endif
   struct interface         *interf;
   struct if_config_options *cnf;
   struct olsr_if           *next;
@@ -182,6 +184,7 @@
   struct plugin_entry      *next;
 };
 
+#ifndef SVEN_OLA_UNBLOAT
 struct ipc_host
 {
   union olsr_ip_addr       host;
@@ -194,6 +197,7 @@
   union olsr_ip_addr       mask;
   struct ipc_net           *next;
 };
+#endif
 
 /*
  * The config struct
@@ -203,15 +207,19 @@
 {
   int                      debug_level;
   olsr_bool                no_fork;
+#ifndef SVEN_OLA_UNBLOAT
   olsr_bool                host_emul;
+#endif
   int                      ip_version;
   olsr_bool                allow_no_interfaces;
   olsr_u16_t               tos;
   olsr_u8_t                rttable;
   olsr_bool                willingness_auto;
   olsr_u8_t                willingness;
+#ifndef SVEN_OLA_UNBLOAT
   int                      ipc_connections;
   olsr_bool                open_ipc;
+#endif
   olsr_bool                use_hysteresis;
   struct hyst_param        hysteresis_param;
   float                    pollrate;
@@ -229,8 +237,10 @@
   struct plugin_entry      *plugins;
   struct hna4_entry        *hna4_entries;
   struct hna6_entry        *hna6_entries;
+#ifndef SVEN_OLA_UNBLOAT
   struct ipc_host          *ipc_hosts;
   struct ipc_net           *ipc_nets;
+#endif
   struct olsr_if           *interfaces;
 
   /* Stuff set by olsrd */
@@ -268,8 +278,10 @@
 void
 olsrd_free_cnf(struct olsrd_config *);
 
+#ifndef SVEN_OLA_UNBLOAT
 void
 olsrd_print_cnf(struct olsrd_config *);
+#endif
 
 int
 olsrd_write_cnf(struct olsrd_config *, const char *);
diff -Nur olsrd-0.5.3.orig/src/olsr.h olsrd-0.5.3/src/olsr.h
--- olsrd-0.5.3.orig/src/olsr.h	2007-04-20 15:46:04.000000000 +0200
+++ olsrd-0.5.3/src/olsr.h	2007-09-17 21:35:44.000000000 +0200
@@ -97,8 +97,12 @@
 void
 olsr_exit(const char *, int);
 
+#ifdef SVEN_OLA_UNBLOAT
+#define olsr_malloc(size, msg) malloc(size)
+#else
 void *
 olsr_malloc(size_t, const char *);
+#endif
 
 int
 olsr_printf(int, char *, ...) __attribute__((format(printf,2,3)));
diff -Nur olsrd-0.5.3.orig/src/parser.c olsrd-0.5.3/src/parser.c
--- olsrd-0.5.3.orig/src/parser.c	2007-05-09 01:34:52.000000000 +0200
+++ olsrd-0.5.3/src/parser.c	2007-09-17 21:35:44.000000000 +0200
@@ -50,7 +50,9 @@
 #include "rebuild_packet.h"
 #include "net_os.h"
 #include "log.h"
+#ifndef SVEN_OLA_UNBLOAT
 #include "print_packet.h"
+#endif
 
 #ifdef WIN32
 #undef EWOULDBLOCK
@@ -190,9 +192,11 @@
 
   //printf("Message from %s\n\n", olsr_ip_to_string(from_addr)); 
       
+#ifndef SVEN_OLA_UNBLOAT
   /* Display packet */
   if(disp_pack_in)
     print_olsr_serialized_packet(stdout, (union olsr_packet *)olsr, size, from_addr);
+#endif
 
   if(olsr_cnf->ip_version == AF_INET)
     msgsize = ntohs(m->v4.olsr_msgsize);
diff -Nur olsrd-0.5.3.orig/src/print_packet.c olsrd-0.5.3/src/print_packet.c
--- olsrd-0.5.3.orig/src/print_packet.c	2007-09-17 21:35:44.000000000 +0200
+++ olsrd-0.5.3/src/print_packet.c	2007-09-17 21:35:44.000000000 +0200
@@ -39,6 +39,7 @@
  * $Id: print_packet.c,v 1.11 2007/08/28 20:45:17 bernd67 Exp $
  */
 
+#ifndef SVEN_OLA_UNBLOAT
 #include "print_packet.h"
 #include "mantissa.h"
 #include "defs.h"
@@ -396,3 +397,5 @@
       remsize -= olsr_cnf->ipsize;
     }
 }
+#endif /* SVEN_OLA_UNBLOAT */
+
diff -Nur olsrd-0.5.3.orig/src/process_package.c olsrd-0.5.3/src/process_package.c
--- olsrd-0.5.3.orig/src/process_package.c	2007-09-17 21:35:44.000000000 +0200
+++ olsrd-0.5.3/src/process_package.c	2007-09-17 21:35:44.000000000 +0200
@@ -245,6 +245,7 @@
       return;
     }
 
+#ifndef SVEN_OLA_UNBLOAT
   if(olsr_cnf->debug_level > 2)
     {
       mpr = message->multipoint_relay_selector_address;
@@ -258,6 +259,7 @@
 
       OLSR_PRINTF(3, "]\n");
     }
+#endif
 
   tc_last = olsr_lookup_tc_entry(&message->originator);
    
diff -Nur olsrd-0.5.3.orig/src/process_routes.c olsrd-0.5.3/src/process_routes.c
--- olsrd-0.5.3.orig/src/process_routes.c	2007-09-17 21:35:44.000000000 +0200
+++ olsrd-0.5.3/src/process_routes.c	2007-09-17 21:35:44.000000000 +0200
@@ -127,7 +127,9 @@
 		new->rt_metric,
 		new->rt_etx);
 #endif
+#ifndef SVEN_OLA_UNBLOAT
 	if(!olsr_cnf->host_emul)
+#endif
 	{
 		if(0 > (ret = (olsr_cnf->ip_version == AF_INET ?
 			olsr_addroute_function(new) :
@@ -172,7 +174,9 @@
 		old->rt_metric,
 		old->rt_etx);
 #endif
+#ifndef SVEN_OLA_UNBLOAT
 	if(!olsr_cnf->host_emul)
+#endif
 	{
 		if(0 > (ret = (AF_INET == olsr_cnf->ip_version ?
 			olsr_delroute_function(old) :
diff -Nur olsrd-0.5.3.orig/src/rebuild_packet.c olsrd-0.5.3/src/rebuild_packet.c
--- olsrd-0.5.3.orig/src/rebuild_packet.c	2007-09-17 21:35:44.000000000 +0200
+++ olsrd-0.5.3/src/rebuild_packet.c	2007-09-17 21:35:44.000000000 +0200
@@ -228,6 +228,7 @@
 	}
       
       
+#ifndef SVEN_OLA_UNBLOAT
       if(olsr_cnf->debug_level > 1)
 	{
 	  OLSR_PRINTF(3, "Alias list for %s: ", ip_to_string(&mmsg->mid_origaddr.v4));
@@ -240,6 +241,7 @@
 	    }
 	  OLSR_PRINTF(3, "\n");
 	}
+#endif
     }
   else
     {
@@ -280,6 +282,7 @@
 	}
 
 
+#ifndef SVEN_OLA_UNBLOAT
       if(olsr_cnf->debug_level > 1)
 	{
 	  OLSR_PRINTF(3, "Alias list for %s", ip6_to_string(&mmsg->mid_origaddr.v6));
@@ -293,6 +296,7 @@
 	    }
 	  OLSR_PRINTF(3, "\n");
 	}
+#endif
     }
 
 }
diff -Nur olsrd-0.5.3.orig/src/routing_table.c olsrd-0.5.3/src/routing_table.c
--- olsrd-0.5.3.orig/src/routing_table.c	2007-09-17 21:35:44.000000000 +0200
+++ olsrd-0.5.3/src/routing_table.c	2007-09-17 21:35:44.000000000 +0200
@@ -513,6 +513,7 @@
     }
 
 
+#ifndef SVEN_OLA_UNBLOAT
   if(olsr_cnf->debug_level > 5)
     {
       printf("************** TABLES ****************\n");
@@ -520,6 +521,7 @@
       olsr_print_routing_table(routingtable);
       printf("**************************************\n");
     }
+#endif
 }
 
 
@@ -699,11 +701,13 @@
 	}
     }
 
+#ifndef SVEN_OLA_UNBLOAT
   if(olsr_cnf->debug_level > 2)
     {
       OLSR_PRINTF(3, "HNA table:\n");
       olsr_print_routing_table(hna_routes);
     }
+#endif
 }
 
 
@@ -731,6 +735,7 @@
  *
  */
 
+#ifndef SVEN_OLA_UNBLOAT
 void
 olsr_print_routing_table(struct rt_entry *table)
 {
@@ -753,3 +758,4 @@
 	}
     }
 }
+#endif
diff -Nur olsrd-0.5.3.orig/src/tc_set.c olsrd-0.5.3/src/tc_set.c
--- olsrd-0.5.3.orig/src/tc_set.c	2007-09-17 21:35:44.000000000 +0200
+++ olsrd-0.5.3/src/tc_set.c	2007-09-17 21:35:44.000000000 +0200
@@ -419,6 +419,7 @@
 /**
  *Print the topology table to stdout
  */
+#ifndef SVEN_OLA_UNBLOAT
 int
 olsr_print_tc_table(void)
 {
@@ -466,3 +467,4 @@
     }
   return 1;
 }
+#endif
diff -Nur olsrd-0.5.3.orig/src/two_hop_neighbor_table.c olsrd-0.5.3/src/two_hop_neighbor_table.c
--- olsrd-0.5.3.orig/src/two_hop_neighbor_table.c	2007-09-17 21:35:44.000000000 +0200
+++ olsrd-0.5.3/src/two_hop_neighbor_table.c	2007-09-17 21:35:44.000000000 +0200
@@ -236,6 +236,7 @@
 
 
 
+#ifndef SVEN_OLA_UNBLOAT
 /**
  *Print the two hop neighbor table to STDOUT.
  *
@@ -288,3 +289,4 @@
 	}
     }
 }
+#endif
diff -Nur olsrd-0.5.3.orig/src/unix/ifnet.c olsrd-0.5.3/src/unix/ifnet.c
--- olsrd-0.5.3.orig/src/unix/ifnet.c	2007-09-17 21:35:44.000000000 +0200
+++ olsrd-0.5.3/src/unix/ifnet.c	2007-09-17 21:35:44.000000000 +0200
@@ -70,6 +70,7 @@
 
 int bufspace = 127*1024;	/* max. input buffer size to request */
 
+#ifndef SVEN_OLA_UNBLOAT
 
 int
 set_flag(char *ifname, short flag __attribute__((unused)))
@@ -104,6 +105,7 @@
 
 }
 
+#endif /* SVEN_OLA_UNBLOAT */
 
 
 
@@ -118,11 +120,13 @@
 
   for(tmp_if = olsr_cnf->interfaces; tmp_if != NULL; tmp_if = tmp_if->next)
     {
+#ifndef SVEN_OLA_UNBLOAT
       if(tmp_if->host_emul)
 	continue;
       
       if(olsr_cnf->host_emul) /* XXX: TEMPORARY! */
 	continue;
+#endif
 
       if(!tmp_if->cnf->autodetect_chg) 
         {
@@ -166,8 +170,10 @@
   OLSR_PRINTF(3, "Checking if %s is set down or changed\n", iface->name);
 #endif
 
+#ifndef SVEN_OLA_UNBLOAT
   if(iface->host_emul)
     return -1;
+#endif
 
   ifp = iface->interf;
 
@@ -519,6 +525,7 @@
 
 }
 
+#ifndef SVEN_OLA_UNBLOAT
 /**
  * Initializes the special interface used in
  * host-client emulation
@@ -703,6 +710,7 @@
 
   return 1;
 }
+#endif /* SVEN_OLA_UNBLOAT */
 
 static char basenamestr[32];
 static const char* if_basename(const char* name);
@@ -736,8 +744,10 @@
   int tos_bits = IPTOS_TOS(olsr_cnf->tos);
 #endif
 
+#ifndef SVEN_OLA_UNBLOAT
   if(iface->host_emul)
     return -1;
+#endif
 
   memset(&ifr, 0, sizeof(struct ifreq));
   strncpy(ifr.ifr_name, iface->name, IFNAMSIZ);
@@ -864,11 +874,13 @@
 	  ifs.int_broadaddr = ifr.ifr_broadaddr;
 	}
       
+#ifndef SVEN_OLA_UNBLOAT
       /* Deactivate IP spoof filter */
       deactivate_spoof(if_basename(ifr.ifr_name), &ifs, olsr_cnf->ip_version);
       
       /* Disable ICMP redirects */
       disable_redirects(if_basename(ifr.ifr_name), &ifs, olsr_cnf->ip_version);
+#endif
       
     }
   
diff -Nur olsrd-0.5.3.orig/src/unix/misc.c olsrd-0.5.3/src/unix/misc.c
--- olsrd-0.5.3.orig/src/unix/misc.c	2007-09-17 21:35:44.000000000 +0200
+++ olsrd-0.5.3/src/unix/misc.c	2007-09-17 21:35:44.000000000 +0200
@@ -45,6 +45,7 @@
 #include "misc.h"
 #include "olsr_types.h"
 
+#ifndef SVEN_OLA_UNBLOAT
 void clear_console(void)
 {
   static int len = -1;
@@ -71,3 +72,4 @@
 
   fflush(stdout);
 }
+#endif
diff -Nur olsrd-0.5.3.orig/src/win32/kernel_routes.c olsrd-0.5.3/src/win32/kernel_routes.c
--- olsrd-0.5.3.orig/src/win32/kernel_routes.c	2007-04-26 00:22:15.000000000 +0200
+++ olsrd-0.5.3/src/win32/kernel_routes.c	2007-09-17 21:35:44.000000000 +0200
@@ -104,9 +104,11 @@
     return -1;
   }
 
+#ifndef SVEN_OLA_UNBLOAT
   if(olsr_cnf->open_ipc)
     ipc_route_send_rtentry(&Dest->rt_dst, &Dest->rt_router, Dest->rt_metric,
                            1, Dest->rt_if->int_name);
+#endif
 
   return 0;
 }
@@ -162,8 +164,10 @@
     return -1;
   }
 
+#ifndef SVEN_OLA_UNBLOAT
   if(olsr_cnf->open_ipc)
     ipc_route_send_rtentry(&Dest->rt_dst, NULL, Dest->rt_metric, 0, NULL);
+#endif
 
   return 0;
 }
