Hello community, here is the log from the commit of package linuxrc for openSUSE:Factory checked in at 2017-02-14 00:38:38 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/linuxrc (Old) and /work/SRC/openSUSE:Factory/.linuxrc.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "linuxrc" Changes: -------- --- /work/SRC/openSUSE:Factory/linuxrc/linuxrc.changes 2017-01-24 10:30:41.449458812 +0100 +++ /work/SRC/openSUSE:Factory/.linuxrc.new/linuxrc.changes 2017-02-14 00:38:40.192665621 +0100 @@ -1,0 +2,7 @@ +Fri Feb 10 10:20:26 UTC 2017 - snw...@suse.com + +- avoid segfault when image files are missing +- match only file name, not path when checking digests +- 5.0.99 + +------------------------------------------------------------------- Old: ---- linuxrc-5.0.98.tar.xz New: ---- linuxrc-5.0.99.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ linuxrc.spec ++++++ --- /var/tmp/diff_new_pack.DDN8cV/_old 2017-02-14 00:38:40.880568503 +0100 +++ /var/tmp/diff_new_pack.DDN8cV/_new 2017-02-14 00:38:40.880568503 +0100 @@ -17,7 +17,7 @@ Name: linuxrc -Version: 5.0.98 +Version: 5.0.99 Release: 0 Summary: SUSE Installation Program License: GPL-3.0+ ++++++ linuxrc-5.0.98.tar.xz -> linuxrc-5.0.99.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/linuxrc-5.0.98/VERSION new/linuxrc-5.0.99/VERSION --- old/linuxrc-5.0.98/VERSION 2017-01-19 16:35:56.000000000 +0100 +++ new/linuxrc-5.0.99/VERSION 2017-02-10 11:18:01.000000000 +0100 @@ -1 +1 @@ -5.0.98 +5.0.99 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/linuxrc-5.0.98/changelog new/linuxrc-5.0.99/changelog --- old/linuxrc-5.0.98/changelog 2017-01-19 16:35:56.000000000 +0100 +++ new/linuxrc-5.0.99/changelog 2017-02-10 11:18:01.000000000 +0100 @@ -1,3 +1,7 @@ +2017-02-09: 5.0.99 + - avoid segfault when image files are missing + - match only file name, not path when checking digests + 2017-01-19: 5.0.98 - allow reading of config files from instsys location, part 2 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/linuxrc-5.0.98/install.c new/linuxrc-5.0.99/install.c --- old/linuxrc-5.0.98/install.c 2017-01-19 16:35:56.000000000 +0100 +++ new/linuxrc-5.0.99/install.c 2017-02-10 11:18:01.000000000 +0100 @@ -1176,6 +1176,8 @@ if(!config.test) { for(sl = config.url.instsys_list; sl; sl = sl->next) { + log_debug("instsys_list: key = %s, value = %s\n", sl->key, sl->value); + if(!sl->value) return 1; argv[1] = sl->value; argv[2] = "/"; util_lndir_main(3, argv); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/linuxrc-5.0.98/url.c new/linuxrc-5.0.99/url.c --- old/linuxrc-5.0.98/url.c 2017-01-19 16:35:56.000000000 +0100 +++ new/linuxrc-5.0.99/url.c 2017-02-10 11:18:01.000000000 +0100 @@ -1951,7 +1951,7 @@ strprintf(&buf, "%s: %s\n\n%s", url_print2(url_data->url, NULL), - "SHA1 sum wrong.", + "Digest verification failed.", "If you really trust your repository, you may continue in an insecure mode." ); if(!(win = config.win)) util_disp_init(); @@ -3057,13 +3057,19 @@ slist_t *sl, *sl0; int len, file_name_len, ok = 0; + // match only last path element + if(file_name) { + char *s = strrchr(file_name, '/'); + if(s) file_name = s + 1; + } + file_name_len = file_name ? strlen(file_name) : 0; for(sl = config.digests.list; sl; sl = sl->next) { // first check file name if(file_name_len) { len = strlen(sl->value); - if(len > file_name_len || strcmp(file_name + file_name_len - len, sl->value)) continue; + if(len < file_name_len || strcmp(file_name, sl->value + len - file_name_len)) continue; } // compare digest