Hello community,

here is the log from the commit of package cgit for openSUSE:Factory checked in 
at 2019-02-27 17:29:20
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/cgit (Old)
 and      /work/SRC/openSUSE:Factory/.cgit.new.28833 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "cgit"

Wed Feb 27 17:29:20 2019 rev:32 rq:679553 version:1.2.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/cgit/cgit.changes        2018-08-06 
11:54:32.073271120 +0200
+++ /work/SRC/openSUSE:Factory/.cgit.new.28833/cgit.changes     2019-02-27 
17:29:22.379315957 +0100
@@ -1,0 +2,7 @@
+Thu Dec  6 09:21:03 UTC 2018 - Jan Engelhardt <jeng...@inai.de>
+
+- Create a /var/cache/cgit [boo#1116567]
+- Update bundled git to 2.18.1
+- Remove cgit-optflags.diff
+
+-------------------------------------------------------------------

Old:
----
  cgit-optflags.diff
  git-2.18.0.tar.sign
  git-2.18.0.tar.xz

New:
----
  git-2.18.1.tar.sign
  git-2.18.1.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ cgit.spec ++++++
--- /var/tmp/diff_new_pack.lzoDd6/_old  2019-02-27 17:29:25.815314725 +0100
+++ /var/tmp/diff_new_pack.lzoDd6/_new  2019-02-27 17:29:25.819314724 +0100
@@ -16,7 +16,7 @@
 #
 
 
-%define git_version    2.18.0
+%define git_version    2.18.1
 Name:           cgit
 Version:        1.2.1
 Release:        0
@@ -30,7 +30,6 @@
 Source3:        
https://www.kernel.org/pub/software/scm/git/git-%git_version.tar.sign
 Source4:        %name.keyring
 Source9:        cgitrc
-Patch1:         cgit-optflags.diff
 # Requirements for cgitrc man page generation
 BuildRequires:  asciidoc
 # Requirements for cgit
@@ -39,6 +38,7 @@
 BuildRequires:  libzip-devel
 BuildRequires:  xz
 BuildRoot:      %_tmppath/%name-%version-build
+Provides:       bundled(git) = %version
 
 %description
 A web interface for the Git SCM, using a built-in cache to decrease server
@@ -46,22 +46,22 @@
 
 %prep
 %setup -qa2
-%patch -P 1 -p1
 rm -rf git
 ln -s git-%git_version git
 
 %build
 perl -i -pe 's{^#!/usr/bin/env }{#!/usr/bin/}g' filters/email-gravatar.py \
        filters/html-converters/md2html filters/syntax-highlighting.py
-make V=1 prefix="%_prefix" %{?_smp_mflags}
+make V=1 prefix="%_prefix" CFLAGS="%optflags" %{?_smp_mflags} all
 
 %install
-%make_install install-man prefix="%_prefix" \
-       CGIT_SCRIPT_PATH="/srv/www/htdocs/cgit"
-mkdir -p "%buildroot/srv/www/cgi-bin/cgit/"
-mv %buildroot/srv/www/{htdocs,cgi-bin}/cgit/cgit.cgi
-mkdir -p "%buildroot/%_sysconfdir"
-cp %SOURCE9 "%buildroot/%_sysconfdir/cgitrc"
+%make_install V=1 prefix="%_prefix" CFLAGS="%optflags" \
+       CGIT_SCRIPT_PATH="/srv/www/htdocs/cgit" install-man
+b="%buildroot"
+mkdir -p "$b/srv/www/cgi-bin/cgit/" "$b/var/cache/cgit"
+mv $b/srv/www/htdocs/cgit/cgit.cgi $b/srv/www/cgi-bin/cgit/cgit.cgi
+mkdir -p "$b/%_sysconfdir"
+cp "%_sourcedir/cgitrc" "$b/%_sysconfdir/"
 
 %files
 %defattr(-,root,root)
@@ -70,6 +70,7 @@
 /srv/www/cgi-bin/cgit/
 /srv/www/htdocs/cgit/
 %_prefix/lib/cgit/
+%attr(0750,wwwrun,www) /var/cache/cgit/
 %config(noreplace) %_sysconfdir/cgitrc
 
 %changelog

++++++ git-2.18.0.tar.xz -> git-2.18.1.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/git-2.18.0/Documentation/RelNotes/2.14.5.txt 
new/git-2.18.1/Documentation/RelNotes/2.14.5.txt
--- old/git-2.18.0/Documentation/RelNotes/2.14.5.txt    1970-01-01 
01:00:00.000000000 +0100
+++ new/git-2.18.1/Documentation/RelNotes/2.14.5.txt    2018-09-27 
22:44:44.000000000 +0200
@@ -0,0 +1,16 @@
+Git v2.14.5 Release Notes
+=========================
+
+This release is to address the recently reported CVE-2018-17456.
+
+Fixes since v2.14.4
+-------------------
+
+ * Submodules' "URL"s come from the untrusted .gitmodules file, but
+   we blindly gave it to "git clone" to clone submodules when "git
+   clone --recurse-submodules" was used to clone a project that has
+   such a submodule.  The code has been hardened to reject such
+   malformed URLs (e.g. one that begins with a dash).
+
+Credit for finding and fixing this vulnerability goes to joernchen
+and Jeff King, respectively.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/git-2.18.0/Documentation/RelNotes/2.15.3.txt 
new/git-2.18.1/Documentation/RelNotes/2.15.3.txt
--- old/git-2.18.0/Documentation/RelNotes/2.15.3.txt    1970-01-01 
01:00:00.000000000 +0100
+++ new/git-2.18.1/Documentation/RelNotes/2.15.3.txt    2018-09-27 
22:44:44.000000000 +0200
@@ -0,0 +1,6 @@
+Git v2.15.3 Release Notes
+=========================
+
+This release merges up the fixes that appear in v2.14.5 to address
+the recently reported CVE-2018-17456; see the release notes for that
+version for details.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/git-2.18.0/Documentation/RelNotes/2.16.5.txt 
new/git-2.18.1/Documentation/RelNotes/2.16.5.txt
--- old/git-2.18.0/Documentation/RelNotes/2.16.5.txt    1970-01-01 
01:00:00.000000000 +0100
+++ new/git-2.18.1/Documentation/RelNotes/2.16.5.txt    2018-09-27 
22:44:44.000000000 +0200
@@ -0,0 +1,6 @@
+Git v2.16.5 Release Notes
+=========================
+
+This release merges up the fixes that appear in v2.14.5 to address
+the recently reported CVE-2018-17456; see the release notes for that
+version for details.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/git-2.18.0/Documentation/RelNotes/2.17.2.txt 
new/git-2.18.1/Documentation/RelNotes/2.17.2.txt
--- old/git-2.18.0/Documentation/RelNotes/2.17.2.txt    1970-01-01 
01:00:00.000000000 +0100
+++ new/git-2.18.1/Documentation/RelNotes/2.17.2.txt    2018-09-27 
22:44:44.000000000 +0200
@@ -0,0 +1,12 @@
+Git v2.17.2 Release Notes
+=========================
+
+This release merges up the fixes that appear in v2.14.5 to address
+the recently reported CVE-2018-17456; see the release notes for that
+version for details.
+
+In addition, this release also teaches "fsck" and the server side
+logic to reject pushes to repositories that attempt to create such a
+problematic ".gitmodules" file as tracked contents, to help hosting
+sites protect their customers by preventing malicious contents from
+spreading.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/git-2.18.0/Documentation/RelNotes/2.18.1.txt 
new/git-2.18.1/Documentation/RelNotes/2.18.1.txt
--- old/git-2.18.0/Documentation/RelNotes/2.18.1.txt    1970-01-01 
01:00:00.000000000 +0100
+++ new/git-2.18.1/Documentation/RelNotes/2.18.1.txt    2018-09-27 
22:44:44.000000000 +0200
@@ -0,0 +1,6 @@
+Git v2.18.1 Release Notes
+=========================
+
+This release merges up the fixes that appear in v2.14.5 and in
+v2.17.2 to address the recently reported CVE-2018-17456; see the
+release notes for those versions for details.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/git-2.18.0/GIT-VERSION-GEN 
new/git-2.18.1/GIT-VERSION-GEN
--- old/git-2.18.0/GIT-VERSION-GEN      2018-06-21 19:18:50.000000000 +0200
+++ new/git-2.18.1/GIT-VERSION-GEN      2018-09-27 22:44:44.000000000 +0200
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 GVF=GIT-VERSION-FILE
-DEF_VER=v2.18.0
+DEF_VER=v2.18.1
 
 LF='
 '
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/git-2.18.0/RelNotes new/git-2.18.1/RelNotes
--- old/git-2.18.0/RelNotes     2019-02-27 17:29:27.099314265 +0100
+++ new/git-2.18.1/RelNotes     2019-02-27 17:29:27.103314263 +0100
@@ -1 +1 @@
-symbolic link to Documentation/RelNotes/2.18.0.txt
+symbolic link to Documentation/RelNotes/2.18.1.txt
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/git-2.18.0/builtin/submodule--helper.c 
new/git-2.18.1/builtin/submodule--helper.c
--- old/git-2.18.0/builtin/submodule--helper.c  2018-06-21 19:18:50.000000000 
+0200
+++ new/git-2.18.1/builtin/submodule--helper.c  2018-09-27 22:44:44.000000000 
+0200
@@ -1090,6 +1090,7 @@
        if (gitdir && *gitdir)
                argv_array_pushl(&cp.args, "--separate-git-dir", gitdir, NULL);
 
+       argv_array_push(&cp.args, "--");
        argv_array_push(&cp.args, url);
        argv_array_push(&cp.args, path);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/git-2.18.0/configure new/git-2.18.1/configure
--- old/git-2.18.0/configure    2018-06-21 19:18:50.000000000 +0200
+++ new/git-2.18.1/configure    2018-09-27 22:44:45.000000000 +0200
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for git 2.18.0.
+# Generated by GNU Autoconf 2.69 for git 2.18.1.
 #
 # Report bugs to <g...@vger.kernel.org>.
 #
@@ -580,8 +580,8 @@
 # Identity of this package.
 PACKAGE_NAME='git'
 PACKAGE_TARNAME='git'
-PACKAGE_VERSION='2.18.0'
-PACKAGE_STRING='git 2.18.0'
+PACKAGE_VERSION='2.18.1'
+PACKAGE_STRING='git 2.18.1'
 PACKAGE_BUGREPORT='g...@vger.kernel.org'
 PACKAGE_URL=''
 
@@ -1265,7 +1265,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures git 2.18.0 to adapt to many kinds of systems.
+\`configure' configures git 2.18.1 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1327,7 +1327,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of git 2.18.0:";;
+     short | recursive ) echo "Configuration of git 2.18.1:";;
    esac
   cat <<\_ACEOF
 
@@ -1472,7 +1472,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-git configure 2.18.0
+git configure 2.18.1
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1952,7 +1952,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by git $as_me 2.18.0, which was
+It was created by git $as_me 2.18.1, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -8251,7 +8251,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by git $as_me 2.18.0, which was
+This file was extended by git $as_me 2.18.1, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -8308,7 +8308,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; 
s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-git config.status 2.18.0
+git config.status 2.18.1
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/git-2.18.0/fsck.c new/git-2.18.1/fsck.c
--- old/git-2.18.0/fsck.c       2018-06-21 19:18:50.000000000 +0200
+++ new/git-2.18.1/fsck.c       2018-09-27 22:44:44.000000000 +0200
@@ -64,6 +64,8 @@
        FUNC(GITMODULES_PARSE, ERROR) \
        FUNC(GITMODULES_NAME, ERROR) \
        FUNC(GITMODULES_SYMLINK, ERROR) \
+       FUNC(GITMODULES_URL, ERROR) \
+       FUNC(GITMODULES_PATH, ERROR) \
        /* warnings */ \
        FUNC(BAD_FILEMODE, WARN) \
        FUNC(EMPTY_NAME, WARN) \
@@ -949,6 +951,18 @@
                                    FSCK_MSG_GITMODULES_NAME,
                                    "disallowed submodule name: %s",
                                    name);
+       if (!strcmp(key, "url") && value &&
+           looks_like_command_line_option(value))
+               data->ret |= report(data->options, data->obj,
+                                   FSCK_MSG_GITMODULES_URL,
+                                   "disallowed submodule url: %s",
+                                   value);
+       if (!strcmp(key, "path") && value &&
+           looks_like_command_line_option(value))
+               data->ret |= report(data->options, data->obj,
+                                   FSCK_MSG_GITMODULES_PATH,
+                                   "disallowed submodule path: %s",
+                                   value);
        free(name);
 
        return 0;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/git-2.18.0/submodule-config.c 
new/git-2.18.1/submodule-config.c
--- old/git-2.18.0/submodule-config.c   2018-06-21 19:18:50.000000000 +0200
+++ new/git-2.18.1/submodule-config.c   2018-09-27 22:44:44.000000000 +0200
@@ -383,6 +383,12 @@
                        commit_string, name, option);
 }
 
+static void warn_command_line_option(const char *var, const char *value)
+{
+       warning(_("ignoring '%s' which may be interpreted as"
+                 " a command-line option: %s"), var, value);
+}
+
 struct parse_config_parameter {
        struct submodule_cache *cache;
        const struct object_id *treeish_name;
@@ -408,6 +414,8 @@
        if (!strcmp(item.buf, "path")) {
                if (!value)
                        ret = config_error_nonbool(var);
+               else if (looks_like_command_line_option(value))
+                       warn_command_line_option(var, value);
                else if (!me->overwrite && submodule->path)
                        warn_multiple_config(me->treeish_name, submodule->name,
                                        "path");
@@ -448,6 +456,8 @@
        } else if (!strcmp(item.buf, "url")) {
                if (!value) {
                        ret = config_error_nonbool(var);
+               } else if (looks_like_command_line_option(value)) {
+                       warn_command_line_option(var, value);
                } else if (!me->overwrite && submodule->url) {
                        warn_multiple_config(me->treeish_name, submodule->name,
                                        "url");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/git-2.18.0/t/t7416-submodule-dash-url.sh 
new/git-2.18.1/t/t7416-submodule-dash-url.sh
--- old/git-2.18.0/t/t7416-submodule-dash-url.sh        1970-01-01 
01:00:00.000000000 +0100
+++ new/git-2.18.1/t/t7416-submodule-dash-url.sh        2018-09-27 
22:44:44.000000000 +0200
@@ -0,0 +1,49 @@
+#!/bin/sh
+
+test_description='check handling of .gitmodule url with dash'
+. ./test-lib.sh
+
+test_expect_success 'create submodule with protected dash in url' '
+       git init upstream &&
+       git -C upstream commit --allow-empty -m base &&
+       mv upstream ./-upstream &&
+       git submodule add ./-upstream sub &&
+       git add sub .gitmodules &&
+       git commit -m submodule
+'
+
+test_expect_success 'clone can recurse submodule' '
+       test_when_finished "rm -rf dst" &&
+       git clone --recurse-submodules . dst &&
+       echo base >expect &&
+       git -C dst/sub log -1 --format=%s >actual &&
+       test_cmp expect actual
+'
+
+test_expect_success 'fsck accepts protected dash' '
+       test_when_finished "rm -rf dst" &&
+       git init --bare dst &&
+       git -C dst config transfer.fsckObjects true &&
+       git push dst HEAD
+'
+
+test_expect_success 'remove ./ protection from .gitmodules url' '
+       perl -i -pe "s{\./}{}" .gitmodules &&
+       git commit -am "drop protection"
+'
+
+test_expect_success 'clone rejects unprotected dash' '
+       test_when_finished "rm -rf dst" &&
+       test_must_fail git clone --recurse-submodules . dst 2>err &&
+       test_i18ngrep ignoring err
+'
+
+test_expect_success 'fsck rejects unprotected dash' '
+       test_when_finished "rm -rf dst" &&
+       git init --bare dst &&
+       git -C dst config transfer.fsckObjects true &&
+       test_must_fail git push dst HEAD 2>err &&
+       grep gitmodulesUrl err
+'
+
+test_done
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/git-2.18.0/t/t7417-submodule-path-url.sh 
new/git-2.18.1/t/t7417-submodule-path-url.sh
--- old/git-2.18.0/t/t7417-submodule-path-url.sh        1970-01-01 
01:00:00.000000000 +0100
+++ new/git-2.18.1/t/t7417-submodule-path-url.sh        2018-09-27 
22:44:44.000000000 +0200
@@ -0,0 +1,28 @@
+#!/bin/sh
+
+test_description='check handling of .gitmodule path with dash'
+. ./test-lib.sh
+
+test_expect_success 'create submodule with dash in path' '
+       git init upstream &&
+       git -C upstream commit --allow-empty -m base &&
+       git submodule add ./upstream sub &&
+       git mv sub ./-sub &&
+       git commit -m submodule
+'
+
+test_expect_success 'clone rejects unprotected dash' '
+       test_when_finished "rm -rf dst" &&
+       git clone --recurse-submodules . dst 2>err &&
+       test_i18ngrep ignoring err
+'
+
+test_expect_success 'fsck rejects unprotected dash' '
+       test_when_finished "rm -rf dst" &&
+       git init --bare dst &&
+       git -C dst config transfer.fsckObjects true &&
+       test_must_fail git push dst HEAD 2>err &&
+       grep gitmodulesPath err
+'
+
+test_done
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/git-2.18.0/version new/git-2.18.1/version
--- old/git-2.18.0/version      2018-06-21 19:18:50.000000000 +0200
+++ new/git-2.18.1/version      2018-09-27 22:44:45.000000000 +0200
@@ -1 +1 @@
-2.18.0
+2.18.1


Reply via email to