aboutsummaryrefslogtreecommitdiffstats
path: root/package/system/opkg/patches/230-drop_md5_support.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/system/opkg/patches/230-drop_md5_support.patch')
-rw-r--r--package/system/opkg/patches/230-drop_md5_support.patch161
1 files changed, 161 insertions, 0 deletions
diff --git a/package/system/opkg/patches/230-drop_md5_support.patch b/package/system/opkg/patches/230-drop_md5_support.patch
new file mode 100644
index 0000000..63671e5
--- /dev/null
+++ b/package/system/opkg/patches/230-drop_md5_support.patch
@@ -0,0 +1,161 @@
+--- a/libopkg/conffile.c
++++ b/libopkg/conffile.c
+@@ -36,7 +36,7 @@
+
+ int conffile_has_been_modified(conffile_t *conffile)
+ {
+- char *md5sum;
++ char *chksum;
+ char *filename = conffile->name;
+ char *root_filename;
+ int ret = 1;
+@@ -48,16 +48,19 @@
+
+ root_filename = root_filename_alloc(filename);
+
+- md5sum = file_md5sum_alloc(root_filename);
+-
+- if (md5sum && (ret = strcmp(md5sum, conffile->value))) {
+- opkg_msg(INFO, "Conffile %s:\n\told md5=%s\n\tnew md5=%s\n",
+- conffile->name, md5sum, conffile->value);
++#ifdef HAVE_MD5
++ chksum = file_md5sum_alloc(root_filename);
++#else
++ chksum = file_sha256sum_alloc(root_filename);
++#endif
++ if (chksum && (ret = strcmp(chksum, conffile->value))) {
++ opkg_msg(INFO, "Conffile %s:\n\told chk=%s\n\tnew chk=%s\n",
++ conffile->name, chksum, conffile->value);
+ }
+
+ free(root_filename);
+- if (md5sum)
+- free(md5sum);
++ if (chksum)
++ free(chksum);
+
+ return ret;
+ }
+--- a/libopkg/file_util.c
++++ b/libopkg/file_util.c
+@@ -26,7 +26,9 @@
+
+ #include "sprintf_alloc.h"
+ #include "file_util.h"
++#ifdef HAVE_MD5
+ #include "md5.h"
++#endif
+ #include "libbb/libbb.h"
+
+ #if defined HAVE_SHA256
+@@ -135,6 +137,7 @@
+ return make_directory(path, mode, FILEUTILS_RECUR);
+ }
+
++#ifdef HAVE_MD5
+ char *file_md5sum_alloc(const char *file_name)
+ {
+ static const int md5sum_bin_len = 16;
+@@ -180,6 +183,7 @@
+
+ return md5sum_hex;
+ }
++#endif
+
+ #ifdef HAVE_SHA256
+ char *file_sha256sum_alloc(const char *file_name)
+--- a/libopkg/opkg_install.c
++++ b/libopkg/opkg_install.c
+@@ -1082,7 +1082,7 @@
+ conffile_list_elt_t *iter;
+ conffile_t *cf;
+ char *cf_backup;
+- char *md5sum;
++ char *chksum;
+
+ if (conf->noaction) return 0;
+
+@@ -1093,7 +1093,11 @@
+
+ /* Might need to initialize the md5sum for each conffile */
+ if (cf->value == NULL) {
++#ifdef HAVE_MD5
+ cf->value = file_md5sum_alloc(root_filename);
++#else
++ cf->value = file_sha256sum_alloc(root_filename);
++#endif
+ }
+
+ if (!file_exists(root_filename)) {
+@@ -1105,8 +1109,12 @@
+
+ if (file_exists(cf_backup)) {
+ /* Let's compute md5 to test if files are changed */
+- md5sum = file_md5sum_alloc(cf_backup);
+- if (md5sum && cf->value && strcmp(cf->value,md5sum) != 0 ) {
++#ifdef HAVE_MD5
++ chksum = file_md5sum_alloc(cf_backup);
++#else
++ chksum = file_sha256sum_alloc(cf_backup);
++#endif
++ if (chksum && cf->value && strcmp(cf->value,chksum) != 0 ) {
+ if (conf->force_maintainer) {
+ opkg_msg(NOTICE, "Conffile %s using maintainer's setting.\n",
+ cf_backup);
+@@ -1123,8 +1131,8 @@
+ }
+ }
+ unlink(cf_backup);
+- if (md5sum)
+- free(md5sum);
++ if (chksum)
++ free(chksum);
+ }
+
+ free(cf_backup);
+@@ -1323,6 +1331,7 @@
+ }
+ #endif
+
++#ifdef HAVE_MD5
+ /* Check for md5 values */
+ if (pkg->md5sum)
+ {
+@@ -1346,6 +1355,7 @@
+ if (file_md5)
+ free(file_md5);
+ }
++#endif
+
+ #ifdef HAVE_SHA256
+ /* Check for sha256 value */
+--- a/libopkg/Makefile.am
++++ b/libopkg/Makefile.am
+@@ -25,13 +25,16 @@
+ pkg_src.c pkg_src.h pkg_src_list.c pkg_src_list.h \
+ str_list.c str_list.h void_list.c void_list.h \
+ active_list.c active_list.h list.h
+-opkg_util_sources = file_util.c file_util.h opkg_message.h opkg_message.c md5.c md5.h \
++opkg_util_sources = file_util.c file_util.h opkg_message.h opkg_message.c \
+ parse_util.c parse_util.h \
+ sprintf_alloc.c sprintf_alloc.h \
+ xregex.c xregex.h xsystem.c xsystem.h
+ if HAVE_PATHFINDER
+ opkg_util_sources += opkg_pathfinder.c opkg_pathfinder.h
+ endif
++if HAVE_MD5
++opkg_util_sources += md5.c md5.h
++endif
+ if HAVE_SHA256
+ opkg_util_sources += sha256.c sha256.h
+ endif
+--- a/configure.ac
++++ b/configure.ac
+@@ -72,6 +72,7 @@
+ AC_DEFINE(HAVE_SHA256, 1, [Define if you want sha256 support])
+ fi
+ AM_CONDITIONAL(HAVE_SHA256, test "x$want_sha256" = "xyes")
++AM_CONDITIONAL(HAVE_MD5, test "x$want_sha256" = "xno")
+
+ # check for openssl
+ AC_ARG_ENABLE(openssl,