summaryrefslogtreecommitdiff
path: root/package/cfgfs
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2013-10-21 10:25:35 +0200
committerWaldemar Brodkorb <wbx@openadk.org>2013-10-21 10:25:35 +0200
commit0f1fb71b374c9af0bafb373c2135dd5829e5f132 (patch)
tree4fa61dfffd031c2b9b6c8d3588c2294878fdc75c /package/cfgfs
parent76c1916cac0994987d1dfefca57e98ddd1f48129 (diff)
parent068293a4908cafa95898b53ef97282ad8294c1cf (diff)
Merge branch 'master' of git+ssh://openadk.org/git/openadk
Diffstat (limited to 'package/cfgfs')
-rw-r--r--package/cfgfs/Makefile5
-rw-r--r--package/cfgfs/src/defs.h2
-rw-r--r--package/cfgfs/src/wraps.c8
3 files changed, 12 insertions, 3 deletions
diff --git a/package/cfgfs/Makefile b/package/cfgfs/Makefile
index 159bd229b..271827704 100644
--- a/package/cfgfs/Makefile
+++ b/package/cfgfs/Makefile
@@ -4,13 +4,14 @@
include ${TOPDIR}/rules.mk
PKG_NAME:= cfgfs
-PKG_VERSION:= 1.0.9
-PKG_RELEASE:= 6
+PKG_VERSION:= 1.0.10
+PKG_RELEASE:= 1
PKG_DESCR:= compressed config filesystem
PKG_SECTION:= base
PKG_URL:= http://openadk.org/
PKG_CFLINE_CFGFS:= select BUSYBOX_COMM@
+PKG_CFLINE_CFGFS:= select BUSYBOX_DIFF@
PKG_CFLINE_CFGFS+= select BUSYBOX_MD5SUM@
PKG_CFLINE_CFGFS+= select BUSYBOX_XARGS@
PKG_CFLINE_CFGFS+= select BUSYBOX_FEATURE_SORT_BIG@
diff --git a/package/cfgfs/src/defs.h b/package/cfgfs/src/defs.h
index c099ffb5a..5a70d8c14 100644
--- a/package/cfgfs/src/defs.h
+++ b/package/cfgfs/src/defs.h
@@ -10,7 +10,7 @@
#define DEFS_H
#define DEF_FLASHBLOCK 65536 /* size of a flash block */
-#define DEF_FLASHPART 4194304 /* max size of the partition */
+#define DEF_FLASHPART 16777215 /* max size of the partition */
#define FWCF_VER 0x01 /* major version of spec used */
diff --git a/package/cfgfs/src/wraps.c b/package/cfgfs/src/wraps.c
index 288f6dbab..0364c7b71 100644
--- a/package/cfgfs/src/wraps.c
+++ b/package/cfgfs/src/wraps.c
@@ -77,6 +77,14 @@ fwcf_pack(char *odata, size_t i, int algo, size_t *dstsz)
/* 12 bytes header, padding to 4-byte boundary, 4 bytes trailer */
k = ((j + 19) / 4) * 4;
+
+#if DEF_FLASHPART > 0xFFFFFF
+# error DEF_FLASHPART too large
+#endif
+ if (k > DEF_FLASHPART)
+ errx(1, "%lu bytes too large for flash partition of %lu KiB",
+ (u_long)k, DEF_FLASHPART / 1024UL);
+
/* padded to size of flash block */
#if (DEF_FLASHBLOCK & 3)
# error DEF_FLASHBLOCK must be dword-aligned