aboutsummaryrefslogtreecommitdiffstats
path: root/package/uboot-lantiq/patches/310-fix-httpd.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/uboot-lantiq/patches/310-fix-httpd.patch')
-rw-r--r--package/uboot-lantiq/patches/310-fix-httpd.patch530
1 files changed, 0 insertions, 530 deletions
diff --git a/package/uboot-lantiq/patches/310-fix-httpd.patch b/package/uboot-lantiq/patches/310-fix-httpd.patch
deleted file mode 100644
index b27ed5859a..0000000000
--- a/package/uboot-lantiq/patches/310-fix-httpd.patch
+++ /dev/null
@@ -1,530 +0,0 @@
---- a/board/infineon/easy50712/danube.c
-+++ b/board/infineon/easy50712/danube.c
-@@ -354,7 +354,7 @@ int do_http_upgrade(const unsigned char
- }
- /* write the image to the flash */
- puts("http ugrade ...\n");
-- sprintf(buf, "era ${kernel_addr} +0x%x; cp.b ${ram_addr} ${kernel_addr} 0x%x", size, size);
-+ sprintf(buf, "era ${kernel_addr} +0x%lx; cp.b ${ram_addr} ${kernel_addr} 0x%lx", size, size);
- return run_command(buf, 0);
- }
-
---- a/common/main.c
-+++ b/common/main.c
-@@ -273,6 +273,10 @@ static __inline__ int abortboot(int boot
-
- void main_loop (void)
- {
-+#ifdef CONFIG_CMD_HTTPD
-+ int ret;
-+#endif
-+
- #ifndef CONFIG_SYS_HUSH_PARSER
- static char lastcommand[CONFIG_SYS_CBSIZE] = { 0, };
- int len;
-@@ -403,12 +407,22 @@ void main_loop (void)
- # endif
-
- # ifndef CONFIG_SYS_HUSH_PARSER
-- run_command (s, 0);
-+ ret = run_command (s, 0);
- # else
-- parse_string_outer(s, FLAG_PARSE_SEMICOLON |
-+ ret = parse_string_outer(s, FLAG_PARSE_SEMICOLON |
- FLAG_EXIT_FROM_LOOP);
- # endif
-
-+# ifdef CONFIG_CMD_HTTPD
-+ if (ret != 0) {
-+ printf("Failed to execute bootcmd "
-+ "(maybe invalid u-boot environment?), "
-+ "starting httpd to update firmware...\n");
-+ NetLoopHttpd();
-+ }
-+# endif
-+
-+
- # ifdef CONFIG_AUTOBOOT_KEYED
- disable_ctrlc(prev); /* restore Control C checking */
- # endif
---- a/include/configs/easy50712.h
-+++ b/include/configs/easy50712.h
-@@ -114,4 +114,7 @@
-
- #define CONFIG_CMD_HTTPD /* enable upgrade via HTTPD */
-
-+#define CONFIG_IPADDR 192.168.0.119
-+#define CONFIG_ETHADDR 00:01:02:03:04:05
-+
- #endif /* __CONFIG_H */
---- a/lib_mips/time.c
-+++ b/lib_mips/time.c
-@@ -29,6 +29,8 @@ static unsigned long timestamp;
- /* how many counter cycles in a jiffy */
- #define CYCLES_PER_JIFFY (CONFIG_SYS_MIPS_TIMER_FREQ + CONFIG_SYS_HZ / 2) / CONFIG_SYS_HZ
-
-+unsigned long ifx_get_cpuclk(void);
-+
- /*
- * timer without interrupts
- */
---- a/net/httpd.c
-+++ b/net/httpd.c
-@@ -35,12 +35,14 @@ HttpdHandler (void)
- }
- }
-
-+#if 0
- static void
- HttpdTimeout (void)
- {
- puts ("T ");
- NetSetTimeout (TIMEOUT * 1000, HttpdTimeout);
- }
-+#endif
-
- void
- HttpdStart (void)
---- a/net/net.c
-+++ b/net/net.c
-@@ -1966,7 +1966,7 @@ NetSendHttpd(void)
- void
- NetReceiveHttpd(volatile uchar * inpkt, int len)
- {
-- memcpy(uip_buf, inpkt, len);
-+ memcpy(uip_buf, (const void *)inpkt, len);
- uip_len = len;
- if(BUF->type == htons(UIP_ETHTYPE_IP)) {
- uip_arp_ipin();
-@@ -1989,6 +1989,7 @@ NetLoopHttpd(void)
- unsigned long long tout = 0;
- bd_t *bd = gd->bd;
- unsigned short int ip[2];
-+ struct uip_eth_addr eaddr;
-
- #ifdef CONFIG_NET_MULTI
- NetRestarted = 0;
-@@ -2039,6 +2040,15 @@ restart:
- eth_getenv_enetaddr("ethaddr", NetOurEther);
- #endif
-
-+ eaddr.addr[0] = NetOurEther[0];
-+ eaddr.addr[1] = NetOurEther[1];
-+ eaddr.addr[2] = NetOurEther[2];
-+ eaddr.addr[3] = NetOurEther[3];
-+ eaddr.addr[4] = NetOurEther[4];
-+ eaddr.addr[5] = NetOurEther[5];
-+
-+ uip_setethaddr(eaddr);
-+
- NetCopyIP(&NetOurIP, &bd->bi_ip_addr);
- NetOurGatewayIP = getenv_IPaddr ("gatewayip");
- NetOurSubnetMask= getenv_IPaddr ("netmask");
-@@ -2072,6 +2082,14 @@ restart:
- tout = t1;
- }
- }
-+
-+ if (ctrlc()) {
-+ eth_halt();
-+ puts ("\nAbort\n");
-+ return (-1);
-+ }
-+
-+
- if(!httpd_upload_complete)
- continue;
- printf("Bytes transferred = %ld (%lx hex)\n",
---- a/net/uip-0.9/fsdata.c
-+++ b/net/uip-0.9/fsdata.c
-@@ -1,199 +1,108 @@
--static const char data_flashing_html[] = {
-- /* /flashing.html */
-- 0x2f, 0x66, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x68, 0x74, 0x6d, 0x6c, 0,
-- 0x48, 0x54, 0x54, 0x50, 0x2f, 0x31, 0x2e, 0x30, 0x20, 0x32,
-- 0x30, 0x30, 0x20, 0x4f, 0x4b, 0xd, 0xa, 0x53, 0x65, 0x72,
-- 0x76, 0x65, 0x72, 0x3a, 0x20, 0x75, 0x49, 0x50, 0x2f, 0x30,
-- 0x2e, 0x39, 0x20, 0x28, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f,
-- 0x2f, 0x64, 0x75, 0x6e, 0x6b, 0x65, 0x6c, 0x73, 0x2e, 0x63,
-- 0x6f, 0x6d, 0x2f, 0x61, 0x64, 0x61, 0x6d, 0x2f, 0x75, 0x69,
-- 0x70, 0x2f, 0x29, 0xd, 0xa, 0x43, 0x6f, 0x6e, 0x74, 0x65,
-- 0x6e, 0x74, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x74,
-- 0x65, 0x78, 0x74, 0x2f, 0x68, 0x74, 0x6d, 0x6c, 0xd, 0xa,
-- 0xd, 0xa, 0x3c, 0x68, 0x74, 0x6d, 0x6c, 0x3e, 0x3c, 0x62,
-- 0x6f, 0x64, 0x79, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d,
-- 0x22, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x3a, 0x20, 0x30,
-- 0x70, 0x74, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x3b, 0x20, 0x68,
-- 0x65, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x31, 0x30, 0x30, 0x25,
-- 0x3b, 0x20, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3a, 0x20, 0x23,
-- 0x66, 0x66, 0x66, 0x3b, 0x20, 0x62, 0x61, 0x63, 0x6b, 0x67,
-- 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x2d, 0x63, 0x6f, 0x6c, 0x6f,
-- 0x72, 0x3a, 0x20, 0x23, 0x66, 0x62, 0x62, 0x30, 0x33, 0x34,
-- 0x3b, 0x22, 0x3e, 0x3c, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72,
-- 0x3e, 0x3c, 0x68, 0x31, 0x3e, 0x55, 0x70, 0x67, 0x72, 0x61,
-- 0x64, 0x69, 0x6e, 0x67, 0x20, 0x73, 0x79, 0x73, 0x74, 0x65,
-- 0x6d, 0x20, 0x2e, 0x2e, 0x2e, 0x2e, 0x3c, 0x2f, 0x68, 0x31,
-- 0x3e, 0x3c, 0x2f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x3e,
-- 0x3c, 0x2f, 0x62, 0x6f, 0x64, 0x79, 0x3e, 0x3c, 0x2f, 0x68,
-- 0x74, 0x6d, 0x6c, 0x3e, 0xa, };
--
--static const char data_fail_html[] = {
-- /* /fail.html */
-- 0x2f, 0x66, 0x61, 0x69, 0x6c, 0x2e, 0x68, 0x74, 0x6d, 0x6c, 0,
-- 0x48, 0x54, 0x54, 0x50, 0x2f, 0x31, 0x2e, 0x30, 0x20, 0x32,
-- 0x30, 0x30, 0x20, 0x4f, 0x4b, 0xd, 0xa, 0x53, 0x65, 0x72,
-- 0x76, 0x65, 0x72, 0x3a, 0x20, 0x75, 0x49, 0x50, 0x2f, 0x30,
-- 0x2e, 0x39, 0x20, 0x28, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f,
-- 0x2f, 0x64, 0x75, 0x6e, 0x6b, 0x65, 0x6c, 0x73, 0x2e, 0x63,
-- 0x6f, 0x6d, 0x2f, 0x61, 0x64, 0x61, 0x6d, 0x2f, 0x75, 0x69,
-- 0x70, 0x2f, 0x29, 0xd, 0xa, 0x43, 0x6f, 0x6e, 0x74, 0x65,
-- 0x6e, 0x74, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x74,
-- 0x65, 0x78, 0x74, 0x2f, 0x68, 0x74, 0x6d, 0x6c, 0xd, 0xa,
-- 0xd, 0xa, 0x3c, 0x68, 0x74, 0x6d, 0x6c, 0x3e, 0xa, 0x9,
-- 0x3c, 0x68, 0x65, 0x61, 0x64, 0x3e, 0xa, 0x9, 0x9, 0x3c,
-- 0x74, 0x69, 0x74, 0x6c, 0x65, 0x3e, 0xa, 0x9, 0x9, 0x9,
-- 0x4c, 0x61, 0x46, 0x6f, 0x6e, 0x65, 0x72, 0x61, 0x20, 0x46,
-- 0x61, 0x69, 0x6c, 0x73, 0x61, 0x66, 0x65, 0x20, 0x55, 0x49,
-- 0xa, 0x9, 0x9, 0x3c, 0x2f, 0x74, 0x69, 0x74, 0x6c, 0x65,
-- 0x3e, 0xa, 0x9, 0x3c, 0x62, 0x6f, 0x64, 0x79, 0x3e, 0xa,
-- 0x9, 0x9, 0x3c, 0x68, 0x31, 0x3e, 0x46, 0x6c, 0x61, 0x73,
-- 0x68, 0x69, 0x6e, 0x67, 0x20, 0x66, 0x61, 0x69, 0x6c, 0x65,
-- 0x64, 0x3c, 0x2f, 0x68, 0x31, 0x3e, 0xa, 0x9, 0x9, 0x45,
-- 0x52, 0x52, 0x4f, 0x52, 0x20, 0x2d, 0x20, 0x74, 0x68, 0x65,
-- 0x20, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x20, 0x79, 0x6f, 0x75,
-- 0x20, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x20,
-- 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20,
-- 0x70, 0x61, 0x73, 0x73, 0x20, 0x76, 0x65, 0x72, 0x69, 0x66,
-- 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x20, 0x50,
-- 0x6c, 0x65, 0x61, 0x73, 0x65, 0x20, 0x6d, 0x61, 0x6b, 0x65,
-- 0x20, 0x73, 0x75, 0x72, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x75,
-- 0x73, 0x65, 0x20, 0x61, 0x6e, 0x20, 0x6f, 0x66, 0x66, 0x69,
-- 0x63, 0x69, 0x61, 0x6c, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74,
-- 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64,
-- 0x20, 0x62, 0x79, 0x20, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f,
-- 0x2f, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x2e,
-- 0x66, 0x6f, 0x6e, 0x6f, 0x73, 0x66, 0x65, 0x72, 0x61, 0x2e,
-- 0x6f, 0x72, 0x67, 0x2f, 0xa, 0x9, 0x3c, 0x2f, 0x62, 0x6f,
-- 0x64, 0x79, 0x3e, 0xa, 0x3c, 0x2f, 0x68, 0x74, 0x6d, 0x6c,
-- 0x3e, 0xa, };
--
--static const char data_404_html[] = {
-- /* /404.html */
-- 0x2f, 0x34, 0x30, 0x34, 0x2e, 0x68, 0x74, 0x6d, 0x6c, 0,
-- 0x48, 0x54, 0x54, 0x50, 0x2f, 0x31, 0x2e, 0x30, 0x20, 0x34,
-- 0x30, 0x34, 0x20, 0x46, 0x69, 0x6c, 0x65, 0x20, 0x6e, 0x6f,
-- 0x74, 0x20, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0xd, 0xa, 0x53,
-- 0x65, 0x72, 0x76, 0x65, 0x72, 0x3a, 0x20, 0x75, 0x49, 0x50,
-- 0x2f, 0x30, 0x2e, 0x39, 0x20, 0x28, 0x68, 0x74, 0x74, 0x70,
-- 0x3a, 0x2f, 0x2f, 0x64, 0x75, 0x6e, 0x6b, 0x65, 0x6c, 0x73,
-- 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x64, 0x61, 0x6d, 0x2f,
-- 0x75, 0x69, 0x70, 0x2f, 0x29, 0xd, 0xa, 0x43, 0x6f, 0x6e,
-- 0x74, 0x65, 0x6e, 0x74, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x3a,
-- 0x20, 0x74, 0x65, 0x78, 0x74, 0x2f, 0x68, 0x74, 0x6d, 0x6c,
-- 0xd, 0xa, 0xd, 0xa, 0x3c, 0x68, 0x74, 0x6d, 0x6c, 0x3e,
-- 0x3c, 0x62, 0x6f, 0x64, 0x79, 0x20, 0x62, 0x67, 0x63, 0x6f,
-- 0x6c, 0x6f, 0x72, 0x3d, 0x22, 0x77, 0x68, 0x69, 0x74, 0x65,
-- 0x22, 0x3e, 0x3c, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x3e,
-- 0x3c, 0x68, 0x31, 0x3e, 0x34, 0x30, 0x34, 0x20, 0x2d, 0x20,
-- 0x66, 0x69, 0x6c, 0x65, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x66,
-- 0x6f, 0x75, 0x6e, 0x64, 0x3c, 0x2f, 0x68, 0x31, 0x3e, 0x3c,
-- 0x2f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x3e, 0x3c, 0x2f,
-- 0x62, 0x6f, 0x64, 0x79, 0x3e, 0x3c, 0x2f, 0x68, 0x74, 0x6d,
-- 0x6c, 0x3e, };
--
--static const char data_index_html[] = {
-- /* /index.html */
-- 0x2f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x68, 0x74, 0x6d, 0x6c, 0,
-- 0x48, 0x54, 0x54, 0x50, 0x2f, 0x31, 0x2e, 0x30, 0x20, 0x32,
-- 0x30, 0x30, 0x20, 0x4f, 0x4b, 0xd, 0xa, 0x53, 0x65, 0x72,
-- 0x76, 0x65, 0x72, 0x3a, 0x20, 0x75, 0x49, 0x50, 0x2f, 0x30,
-- 0x2e, 0x39, 0x20, 0x28, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f,
-- 0x2f, 0x64, 0x75, 0x6e, 0x6b, 0x65, 0x6c, 0x73, 0x2e, 0x63,
-- 0x6f, 0x6d, 0x2f, 0x61, 0x64, 0x61, 0x6d, 0x2f, 0x75, 0x69,
-- 0x70, 0x2f, 0x29, 0xd, 0xa, 0x43, 0x6f, 0x6e, 0x74, 0x65,
-- 0x6e, 0x74, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x74,
-- 0x65, 0x78, 0x74, 0x2f, 0x68, 0x74, 0x6d, 0x6c, 0xd, 0xa,
-- 0xd, 0xa, 0x3c, 0x68, 0x74, 0x6d, 0x6c, 0x3e, 0xa, 0x9,
-- 0x3c, 0x68, 0x65, 0x61, 0x64, 0x3e, 0xa, 0x9, 0x9, 0x3c,
-- 0x74, 0x69, 0x74, 0x6c, 0x65, 0x3e, 0xa, 0x9, 0x9, 0x9,
-- 0x4c, 0x61, 0x46, 0x6f, 0x6e, 0x65, 0x72, 0x61, 0x20, 0x46,
-- 0x61, 0x69, 0x6c, 0x73, 0x61, 0x66, 0x65, 0x20, 0x55, 0x49,
-- 0xa, 0x9, 0x9, 0x3c, 0x2f, 0x74, 0x69, 0x74, 0x6c, 0x65,
-- 0x3e, 0xa, 0x9, 0x3c, 0x2f, 0x68, 0x65, 0x61, 0x64, 0x3e,
-- 0xa, 0x9, 0x3c, 0x62, 0x6f, 0x64, 0x79, 0x20, 0x73, 0x74,
-- 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x6d, 0x61, 0x72, 0x67, 0x69,
-- 0x6e, 0x3a, 0x20, 0x30, 0x70, 0x74, 0x20, 0x61, 0x75, 0x74,
-- 0x6f, 0x3b, 0x20, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x3a,
-- 0x31, 0x30, 0x30, 0x25, 0x3b, 0x20, 0x63, 0x6f, 0x6c, 0x6f,
-- 0x72, 0x3a, 0x20, 0x23, 0x30, 0x30, 0x30, 0x3b, 0x20, 0x62,
-- 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x2d,
-- 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3a, 0x20, 0x23, 0x66, 0x62,
-- 0x62, 0x30, 0x33, 0x34, 0x3b, 0x22, 0x3e, 0xa, 0x9, 0x9,
-- 0x3c, 0x68, 0x31, 0x3e, 0x4c, 0x61, 0x46, 0x6f, 0x6e, 0x65,
-- 0x72, 0x61, 0x20, 0x46, 0x61, 0x69, 0x6c, 0x73, 0x61, 0x66,
-- 0x65, 0x20, 0x55, 0x49, 0x3c, 0x2f, 0x68, 0x31, 0x3e, 0xa,
-- 0x9, 0x9, 0x3c, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x6d, 0x65,
-- 0x74, 0x68, 0x6f, 0x64, 0x3d, 0x22, 0x70, 0x6f, 0x73, 0x74,
-- 0x22, 0x20, 0x65, 0x6e, 0x63, 0x74, 0x79, 0x70, 0x65, 0x3d,
-- 0x22, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x61, 0x72, 0x74,
-- 0x2f, 0x66, 0x6f, 0x72, 0x6d, 0x2d, 0x64, 0x61, 0x74, 0x61,
-- 0x22, 0x3e, 0xa, 0x9, 0x9, 0x9, 0x3c, 0x69, 0x6e, 0x70,
-- 0x75, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x66, 0x69,
-- 0x6c, 0x65, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x66, 0x69,
-- 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x3e, 0xa, 0x9, 0x9,
-- 0x9, 0x3c, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x74, 0x79,
-- 0x70, 0x65, 0x3d, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x3e,
-- 0xa, 0x9, 0x9, 0x3c, 0x2f, 0x66, 0x6f, 0x72, 0x6d, 0x3e,
-- 0xa, 0x9, 0x3c, 0x2f, 0x62, 0x6f, 0x64, 0x79, 0x3e, 0xa,
-- 0x3c, 0x2f, 0x68, 0x74, 0x6d, 0x6c, 0x3e, 0xa, };
--
--static const char data_flash_html[] = {
-- /* /flash.html */
-- 0x2f, 0x66, 0x6c, 0x61, 0x73, 0x68, 0x2e, 0x68, 0x74, 0x6d, 0x6c, 0,
-- 0x48, 0x54, 0x54, 0x50, 0x2f, 0x31, 0x2e, 0x30, 0x20, 0x32,
-- 0x30, 0x30, 0x20, 0x4f, 0x4b, 0xd, 0xa, 0x53, 0x65, 0x72,
-- 0x76, 0x65, 0x72, 0x3a, 0x20, 0x75, 0x49, 0x50, 0x2f, 0x30,
-- 0x2e, 0x39, 0x20, 0x28, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f,
-- 0x2f, 0x64, 0x75, 0x6e, 0x6b, 0x65, 0x6c, 0x73, 0x2e, 0x63,
-- 0x6f, 0x6d, 0x2f, 0x61, 0x64, 0x61, 0x6d, 0x2f, 0x75, 0x69,
-- 0x70, 0x2f, 0x29, 0xd, 0xa, 0x43, 0x6f, 0x6e, 0x74, 0x65,
-- 0x6e, 0x74, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x74,
-- 0x65, 0x78, 0x74, 0x2f, 0x68, 0x74, 0x6d, 0x6c, 0xd, 0xa,
-- 0xd, 0xa, 0x3c, 0x68, 0x74, 0x6d, 0x6c, 0x3e, 0xa, 0x9,
-- 0x3c, 0x68, 0x65, 0x61, 0x64, 0x3e, 0xa, 0x9, 0x9, 0x3c,
-- 0x74, 0x69, 0x74, 0x6c, 0x65, 0x3e, 0xa, 0x9, 0x9, 0x9,
-- 0x4c, 0x61, 0x46, 0x6f, 0x6e, 0x65, 0x72, 0x61, 0x20, 0x46,
-- 0x61, 0x69, 0x6c, 0x73, 0x61, 0x66, 0x65, 0x20, 0x55, 0x49,
-- 0xa, 0x9, 0x9, 0x3c, 0x2f, 0x74, 0x69, 0x74, 0x6c, 0x65,
-- 0x3e, 0xa, 0x9, 0x3c, 0x2f, 0x68, 0x65, 0x61, 0x64, 0x3e,
-- 0xa, 0x9, 0x3c, 0x62, 0x6f, 0x64, 0x79, 0x20, 0x73, 0x74,
-- 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x6d, 0x61, 0x72, 0x67, 0x69,
-- 0x6e, 0x3a, 0x20, 0x30, 0x70, 0x74, 0x20, 0x61, 0x75, 0x74,
-- 0x6f, 0x3b, 0x20, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x3a,
-- 0x31, 0x30, 0x30, 0x25, 0x3b, 0x20, 0x63, 0x6f, 0x6c, 0x6f,
-- 0x72, 0x3a, 0x20, 0x23, 0x30, 0x30, 0x30, 0x3b, 0x20, 0x62,
-- 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x2d,
-- 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3a, 0x20, 0x23, 0x66, 0x62,
-- 0x62, 0x30, 0x33, 0x34, 0x3b, 0x22, 0x3e, 0xa, 0x9, 0x9,
-- 0x3c, 0x68, 0x31, 0x3e, 0x46, 0x6c, 0x61, 0x73, 0x68, 0x69,
-- 0x6e, 0x67, 0x3c, 0x2f, 0x68, 0x31, 0x3e, 0xa, 0x9, 0x9,
-- 0x54, 0x68, 0x65, 0x20, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d,
-- 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x77, 0x20, 0x74, 0x72,
-- 0x79, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x6f, 0x20, 0x66, 0x6c,
-- 0x61, 0x73, 0x68, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68,
-- 0x65, 0x72, 0x65, 0x20, 0x69, 0x73, 0x20, 0x61, 0x20, 0x70,
-- 0x72, 0x6f, 0x62, 0x6c, 0x65, 0x6d, 0x2c, 0x20, 0x74, 0x68,
-- 0x65, 0x20, 0x6c, 0x65, 0x64, 0x73, 0x20, 0x77, 0x69, 0x6c,
-- 0x6c, 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x20, 0x74, 0x6f,
-- 0x20, 0x62, 0x6c, 0x69, 0x6e, 0x6b, 0x2e, 0xa, 0xa, 0x9,
-- 0x9, 0x41, 0x66, 0x74, 0x65, 0x72, 0x20, 0x61, 0x20, 0x73,
-- 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x66, 0x75, 0x6c, 0x6c,
-- 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x74, 0x68,
-- 0x65, 0x20, 0x62, 0x6f, 0x78, 0x20, 0x77, 0x69, 0x6c, 0x6c,
-- 0x20, 0x72, 0x65, 0x62, 0x6f, 0x6f, 0x74, 0xa, 0x9, 0x3c,
-- 0x2f, 0x62, 0x6f, 0x64, 0x79, 0x3e, 0xa, 0x3c, 0x2f, 0x68,
-- 0x74, 0x6d, 0x6c, 0x3e, 0xa, };
--
--const struct fsdata_file file_flashing_html[] = {{NULL, data_flashing_html, data_flashing_html + 15, sizeof(data_flashing_html) - 15}};
-+static const char data_flashing_html[] =
-+"HTTP/1.0 200 OK\n"
-+"Server: uIP/0.9 (http://dunkels.com/adam/uip/)\n"
-+"Content-type: text/html\n"
-+"\n"
-+"<html>\n"
-+"\t<head>\n"
-+"\t\t<title>\n"
-+"\t\t\tFailsafe UI\n"
-+"\t\t</title>\n"
-+"\t</head>\n"
-+"\t<body>\n"
-+"\t\t<center><h1>Upgrading system...</h1></center>\n"
-+"\t</body>\n"
-+"</html>\n";
-+
-+static const char data_fail_html[] =
-+"HTTP/1.0 200 OK\n"
-+"Server: uIP/0.9 (http://dunkels.com/adam/uip/)\n"
-+"Content-type: text/html\n"
-+"\n"
-+"<html>\n"
-+"\t<head>\n"
-+"\t\t<title>\n"
-+"\t\t\tFailsafe UI\n"
-+"\t\t</title>\n"
-+"\t</head>\n"
-+"\t<body>\n"
-+"\t\t<h1>Flashing failed</h1>\n"
-+"\t\tERROR - the image you uploaded failed to pass verification.<br>\n"
-+"\t\tPlease make sure to use an official update provided by http://lantiq.com/\n"
-+"\t</body>\n"
-+"</html>\n";
-+
-+static const char data_404_html[] =
-+"HTTP/1.0 404 File not found\n"
-+"Server: uIP/0.9 (http://dunkels.com/adam/uip/)\n"
-+"Content-type: text/html\n"
-+"\n"
-+"<html>\n"
-+"\t<head>\n"
-+"\t\t<title>\n"
-+"\t\t\tFailsafe UI\n"
-+"\t\t</title>\n"
-+"\t</head>\n"
-+"\t<body>\n"
-+"\t\t<center><h1>404 - file not found</h1></center>\n"
-+"\t</body>\n"
-+"</html>\n";
-+
-+static const char data_index_html[] =
-+"HTTP/1.0 200 OK\n"
-+"Server: uIP/0.9 (http://dunkels.com/adam/uip/)\n"
-+"Content-type: text/html\n"
-+"\n"
-+"<html>\n"
-+"\t<head>\n"
-+"\t\t<title>\n"
-+"\t\t\tFailsafe UI\n"
-+"\t\t</title>\n"
-+"\t</head>\n"
-+"\t<body>\n"
-+"\t\t<h1>Failsafe UI</h1>\n"
-+"\t\t<form method=\"post\" enctype=\"multipart/form-data\">\n"
-+"\t\t\t<input type=file name=firmware>\n"
-+"\t\t\t<input type=submit>\n"
-+"\t\t</form>\n"
-+"\t</body>\n"
-+"</html>\n";
-+
-+static const char data_flash_html[] =
-+"HTTP/1.0 200 OK\n"
-+"Server: uIP/0.9 (http://dunkels.com/adam/uip/)\n"
-+"Content-type: text/html\n"
-+"\n"
-+"<html>\n"
-+"\t<head>\n"
-+"\t\t<title>\n"
-+"\t\t\tFailsafe UI\n"
-+"\t\t</title>\n"
-+"\t</head>\n"
-+"\t<body>\n"
-+"\t\t<h1>Flashing...</h1>\n"
-+"\t\tThe system is now trying to flash. If there is a problem, the LEDs will "
-+"start to blink.<br>\n"
-+"\n"
-+"\t\tAfter a successful update the box will reboot\n"
-+"\t</body>\n"
-+"</html>\n";
-+
-+const struct fsdata_file file_flashing_html[] =
-+{{NULL, "/flashing.html", data_flashing_html, sizeof(data_flashing_html)}};
-+
-+const struct fsdata_file file_fail_html[] =
-+{{file_flashing_html, "/fail.html", data_fail_html, sizeof(data_fail_html)}};
-
--const struct fsdata_file file_fail_html[] = {{file_flashing_html, data_fail_html, data_fail_html + 11, sizeof(data_fail_html) - 11}};
-+const struct fsdata_file file_404_html[] =
-+{{file_fail_html, "/404.html", data_404_html, sizeof(data_404_html)}};
-
--const struct fsdata_file file_404_html[] = {{file_fail_html, data_404_html, data_404_html + 10, sizeof(data_404_html) - 10}};
-+const struct fsdata_file file_index_html[] =
-+{{file_404_html, "/index.html", data_index_html, sizeof(data_index_html)}};
-
--const struct fsdata_file file_index_html[] = {{file_404_html, data_index_html, data_index_html + 12, sizeof(data_index_html) - 12}};
--
--const struct fsdata_file file_flash_html[] = {{file_index_html, data_flash_html, data_flash_html + 12, sizeof(data_flash_html) - 12}};
-+const struct fsdata_file file_flash_html[] =
-+{{file_index_html, "/flash.html", data_flash_html, sizeof(data_flash_html)}};
-
- #define FS_ROOT file_flash_html
-
--#define FS_NUMFILES 5
-\ No newline at end of file
-+#define FS_NUMFILES 5
---- a/net/uip-0.9/httpd.c
-+++ b/net/uip-0.9/httpd.c
-@@ -130,7 +130,7 @@ httpd_appcall(void)
- if(!fs_open((const char *)&uip_appdata[4], &fsfile))
- {
- PRINTLN("couldn't open file");
-- fs_open(file_index_html.name, &fsfile);
-+ fs_open(file_404_html.name, &fsfile);
- }
- }
- hs->script = 0;
-@@ -141,7 +141,7 @@ httpd_appcall(void)
- if(hs->state == HTTP_FIRMWARE)
- {
- unsigned char *start = (unsigned char*)uip_appdata;
-- char *clen = strstr(start, "Content-Length:");
-+ char *clen = strstr((char *)start, "Content-Length:");
- int len = 0;
- unsigned char *next, *end;
- unsigned char *boundary_start;
-@@ -150,14 +150,14 @@ httpd_appcall(void)
- if(clen)
- {
- clen += sizeof("Content-Length:");
-- next = strstr(clen, eol);
-+ next = (unsigned char *)strstr(clen, eol);
- if(next)
- {
- len = atoi(clen);
- next++;
- printf("expecting %d bytes\n", len);
- upload_data = httpd_upload_data = (unsigned char *)do_http_tmp_address();
-- printf("received data will be stored at 0x%08X\n", upload_data);
-+ printf("received data will be stored at %p\n", upload_data);
- if(!upload_data)
- {
- printf("failed to allocate memory\n");
-@@ -174,14 +174,14 @@ httpd_appcall(void)
- uip_close();
- return;
- }
-- boundary_start = strstr(next, "---");
-+ boundary_start = (unsigned char *)strstr((char *)next, "---");
- if(!boundary_start)
- {
- uip_close();
- return;
- }
-- end = strstr(boundary_start, eol);
-- if(!eol)
-+ end = (unsigned char *)strstr((char *)boundary_start, eol);
-+ if(!end)
- {
- uip_close();
- return;
-@@ -189,13 +189,13 @@ httpd_appcall(void)
- boundary_len = end - boundary_start;
- memcpy(boundary, boundary_start, boundary_len);
- boundary[boundary_len] = 0;
-- next = strstr(boundary_start, "name=\"firmware\";");
-+ next = (unsigned char *)strstr((char *)boundary_start, "name=\"firmware\";");
- if(!next)
- {
- uip_close();
- return;
- }
-- next = strstr(next, eol2);
-+ next = (unsigned char *)strstr((char *)next, eol2);
- if(!next)
- {
- printf("could not find start of data\n");
-@@ -259,7 +259,6 @@ httpd_appcall(void)
- {
- if(upload_running)
- {
-- int i;
- httpd_upload_complete = 1;
- // for(i = 0; i < hs->upload_total; i++)
- // printf("%c", httpd_upload_data[i]);
-@@ -267,7 +266,7 @@ httpd_appcall(void)
- uip_close();
- }
- }
-- uip_send(hs->dataptr, hs->count);
-+ uip_send((unsigned char *)hs->dataptr, hs->count);
- }
- break;
-