aboutsummaryrefslogtreecommitdiffstats
path: root/package/system/opkg/patches
diff options
context:
space:
mode:
authorJohn Crispin <john@openwrt.org>2016-03-01 09:17:12 +0000
committerJohn Crispin <john@openwrt.org>2016-03-01 09:17:12 +0000
commit61c839ddd728112761bc21df1b84c3c27b913bd6 (patch)
tree027d6b90da98f646a550227f91e05af17ed28f61 /package/system/opkg/patches
parent7d008e8bf092ac366d46c4255ef4828ed6315b99 (diff)
downloadupstream-61c839ddd728112761bc21df1b84c3c27b913bd6.tar.gz
upstream-61c839ddd728112761bc21df1b84c3c27b913bd6.tar.bz2
upstream-61c839ddd728112761bc21df1b84c3c27b913bd6.zip
opkg: Make opkg understand old md5
Opkg now uses sha256 by default and expects them. Making it optionally understand md5s also and detect md5 sum so we can migrate from configuration that used md5. Signed-off-by: Michal Hrusecky <Michal.Hrusecky@nic.cz> SVN-Revision: 48867
Diffstat (limited to 'package/system/opkg/patches')
-rw-r--r--package/system/opkg/patches/230-drop_md5_support.patch55
1 files changed, 36 insertions, 19 deletions
diff --git a/package/system/opkg/patches/230-drop_md5_support.patch b/package/system/opkg/patches/230-drop_md5_support.patch
index 63671e5abf..3b281040b0 100644
--- a/package/system/opkg/patches/230-drop_md5_support.patch
+++ b/package/system/opkg/patches/230-drop_md5_support.patch
@@ -1,6 +1,6 @@
--- a/libopkg/conffile.c
+++ b/libopkg/conffile.c
-@@ -36,7 +36,7 @@
+@@ -36,7 +36,7 @@ void conffile_deinit(conffile_t *conffil
int conffile_has_been_modified(conffile_t *conffile)
{
@@ -9,7 +9,7 @@
char *filename = conffile->name;
char *root_filename;
int ret = 1;
-@@ -48,16 +48,19 @@
+@@ -48,16 +48,23 @@ int conffile_has_been_modified(conffile_
root_filename = root_filename_alloc(filename);
@@ -19,7 +19,11 @@
- 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);
++ if(conffile->value && strlen(conffile->value) > 33) {
++ chksum = file_sha256sum_alloc(root_filename);
++ } else {
++ chksum = file_md5sum_alloc(root_filename);
++ }
+#else
+ chksum = file_sha256sum_alloc(root_filename);
+#endif
@@ -48,7 +52,7 @@
#include "libbb/libbb.h"
#if defined HAVE_SHA256
-@@ -135,6 +137,7 @@
+@@ -135,6 +137,7 @@ file_mkdir_hier(const char *path, long m
return make_directory(path, mode, FILEUTILS_RECUR);
}
@@ -56,7 +60,7 @@
char *file_md5sum_alloc(const char *file_name)
{
static const int md5sum_bin_len = 16;
-@@ -180,6 +183,7 @@
+@@ -180,6 +183,7 @@ char *file_md5sum_alloc(const char *file
return md5sum_hex;
}
@@ -66,7 +70,7 @@
char *file_sha256sum_alloc(const char *file_name)
--- a/libopkg/opkg_install.c
+++ b/libopkg/opkg_install.c
-@@ -1082,7 +1082,7 @@
+@@ -1082,7 +1082,7 @@ resolve_conffiles(pkg_t *pkg)
conffile_list_elt_t *iter;
conffile_t *cf;
char *cf_backup;
@@ -75,26 +79,27 @@
if (conf->noaction) return 0;
-@@ -1093,7 +1093,11 @@
+@@ -1093,7 +1093,7 @@ resolve_conffiles(pkg_t *pkg)
/* 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_md5sum_alloc(root_filename);
+ cf->value = file_sha256sum_alloc(root_filename);
-+#endif
}
if (!file_exists(root_filename)) {
-@@ -1105,8 +1109,12 @@
+@@ -1105,8 +1105,16 @@ resolve_conffiles(pkg_t *pkg)
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);
++ if(cf->value && strlen(cf->value) > 33) {
++ chksum = file_sha256sum_alloc(cf_backup);
++ } else {
++ chksum = file_md5sum_alloc(cf_backup);
++ }
+#else
+ chksum = file_sha256sum_alloc(cf_backup);
+#endif
@@ -102,7 +107,7 @@
if (conf->force_maintainer) {
opkg_msg(NOTICE, "Conffile %s using maintainer's setting.\n",
cf_backup);
-@@ -1123,8 +1131,8 @@
+@@ -1123,8 +1131,8 @@ resolve_conffiles(pkg_t *pkg)
}
}
unlink(cf_backup);
@@ -113,7 +118,7 @@
}
free(cf_backup);
-@@ -1323,6 +1331,7 @@
+@@ -1323,6 +1331,7 @@ opkg_install_pkg(pkg_t *pkg, int from_up
}
#endif
@@ -121,7 +126,7 @@
/* Check for md5 values */
if (pkg->md5sum)
{
-@@ -1346,6 +1355,7 @@
+@@ -1346,6 +1355,7 @@ opkg_install_pkg(pkg_t *pkg, int from_up
if (file_md5)
free(file_md5);
}
@@ -131,7 +136,7 @@
/* Check for sha256 value */
--- a/libopkg/Makefile.am
+++ b/libopkg/Makefile.am
-@@ -25,13 +25,16 @@
+@@ -25,13 +25,16 @@ opkg_list_sources = conffile.c conffile.
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
@@ -151,11 +156,23 @@
endif
--- a/configure.ac
+++ b/configure.ac
-@@ -72,6 +72,7 @@
+@@ -68,10 +68,19 @@ AC_ARG_ENABLE(sha256,
+ (sha256.{c,h} are GPLv3 licensed) [[default=no]] ]),
+ [want_sha256="$enableval"], [want_sha256="no"])
+
++AC_ARG_ENABLE(md5,
++ AC_HELP_STRING([--enable-md5], [Enable md5sum check
++ (md5.{c,h} are GPLv3 licensed) [[default=no]] ]),
++ [want_md5="$enableval"], [want_md5="yes"])
++
+ if test "x$want_sha256" = "xyes"; then
AC_DEFINE(HAVE_SHA256, 1, [Define if you want sha256 support])
fi
++if test "x$want_md5" = "xyes"; then
++ AC_DEFINE(HAVE_MD5, 1, [Define if you want md5 support])
++fi
AM_CONDITIONAL(HAVE_SHA256, test "x$want_sha256" = "xyes")
-+AM_CONDITIONAL(HAVE_MD5, test "x$want_sha256" = "xno")
++AM_CONDITIONAL(HAVE_MD5, test "x$want_md5" = "xyes")
# check for openssl
AC_ARG_ENABLE(openssl,