diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2013-08-27 08:22:09 +0000 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2014-12-22 15:36:47 +0000 |
commit | 1253f80db0b24722e01268175fe6982c37f1ee78 (patch) | |
tree | 68a369bfa6a65137ddd9fbf712daceb2329de42a | |
parent | fefee11712fb0559830e81c3825475bd2b8b9316 (diff) |
main/git: security upgrade to 1.8.5.6 (CVE-2014-9390)
-rw-r--r-- | main/git/0001-config-add-_cb-suffix-to-callback-functions.patch | 82 | ||||
-rw-r--r-- | main/git/APKBUILD | 22 |
2 files changed, 96 insertions, 8 deletions
diff --git a/main/git/0001-config-add-_cb-suffix-to-callback-functions.patch b/main/git/0001-config-add-_cb-suffix-to-callback-functions.patch new file mode 100644 index 00000000000..5a22944be24 --- /dev/null +++ b/main/git/0001-config-add-_cb-suffix-to-callback-functions.patch @@ -0,0 +1,82 @@ +diff -rupN a/config.c b/config.c +--- a/config.c 2013-09-27 01:49:38.000000000 +0200 ++++ b/config.c 2013-10-16 20:26:27.835675951 +0200 +@@ -30,6 +30,9 @@ struct config_source { + int (*do_fgetc)(struct config_source *c); + int (*do_ungetc)(int c, struct config_source *conf); + long (*do_ftell)(struct config_source *c); ++ int (*do_fgetc_cb)(struct config_source *c); ++ int (*do_ungetc_cb)(int c, struct config_source *conf); ++ long (*do_ftell_cb)(struct config_source *c); + }; + + static struct config_source *cf; +@@ -217,13 +220,13 @@ int git_config_from_parameters(config_fn + + static int get_next_char(void) + { +- int c = cf->do_fgetc(cf); ++ int c = cf->do_fgetc_cb(cf); + + if (c == '\r') { + /* DOS like systems */ +- c = cf->do_fgetc(cf); ++ c = cf->do_fgetc_cb(cf); + if (c != '\n') { +- cf->do_ungetc(c, cf); ++ cf->do_ungetc_cb(c, cf); + c = '\r'; + } + } +@@ -995,6 +998,9 @@ int git_config_from_file(config_fn_t fn, + top.do_fgetc = config_file_fgetc; + top.do_ungetc = config_file_ungetc; + top.do_ftell = config_file_ftell; ++ top.do_fgetc_cb = config_file_fgetc; ++ top.do_ungetc_cb = config_file_ungetc; ++ top.do_ftell_cb = config_file_ftell; + + ret = do_config_from(&top, fn, data); + +@@ -1016,6 +1022,9 @@ int git_config_from_buf(config_fn_t fn, + top.do_fgetc = config_buf_fgetc; + top.do_ungetc = config_buf_ungetc; + top.do_ftell = config_buf_ftell; ++ top.do_fgetc_cb = config_buf_fgetc; ++ top.do_ungetc_cb = config_buf_ungetc; ++ top.do_ftell_cb = config_buf_ftell; + + return do_config_from(&top, fn, data); + } +@@ -1196,7 +1205,7 @@ static int store_aux(const char *key, co + return 1; + } + +- store.offset[store.seen] = cf->do_ftell(cf); ++ store.offset[store.seen] = cf->do_ftell_cb(cf); + store.seen++; + } + break; +@@ -1223,19 +1232,19 @@ static int store_aux(const char *key, co + * Do not increment matches: this is no match, but we + * just made sure we are in the desired section. + */ +- store.offset[store.seen] = cf->do_ftell(cf); ++ store.offset[store.seen] = cf->do_ftell_cb(cf); + /* fallthru */ + case SECTION_END_SEEN: + case START: + if (matches(key, value)) { +- store.offset[store.seen] = cf->do_ftell(cf); ++ store.offset[store.seen] = cf->do_ftell_cb(cf); + store.state = KEY_SEEN; + store.seen++; + } else { + if (strrchr(key, '.') - key == store.baselen && + !strncmp(key, store.key, store.baselen)) { + store.state = SECTION_SEEN; +- store.offset[store.seen] = cf->do_ftell(cf); ++ store.offset[store.seen] = cf->do_ftell_cb(cf); + } + } + } diff --git a/main/git/APKBUILD b/main/git/APKBUILD index 4ad68ab5d2c..e6c7be5d7c9 100644 --- a/main/git/APKBUILD +++ b/main/git/APKBUILD @@ -1,7 +1,7 @@ # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=git -pkgver=1.8.2.3 -pkgrel=1 +pkgver=1.8.5.6 +pkgrel=0 pkgdesc="A distributed version control system" url="http://git.or.cz/" arch="all" @@ -9,8 +9,10 @@ license="GPL2+" depends= replaces="git-perl" subpackages="$pkgname-doc $pkgname-svn $pkgname-perl" -makedepends="zlib-dev openssl-dev curl-dev expat-dev perl-dev python-dev" -source="http://git-core.googlecode.com/files/git-$pkgver.tar.gz +makedepends="zlib-dev openssl-dev curl-dev expat-dev perl-dev python-dev + pcre-dev" +source="git-$pkgver.tar.gz::https://github.com/git/git/archive/v$pkgver.tar.gz + 0001-config-add-_cb-suffix-to-callback-functions.patch bb-tar.patch git-daemon.initd git-daemon.confd @@ -20,7 +22,8 @@ _makeopts="NO_ICONV=YesPlease NO_GETTEXT=YesPlease NO_NSEC=YesPlease NO_TCLTK=YesPlease - NO_SVN_TESTS=YesPlease" + NO_SVN_TESTS=YesPlease + USE_LIBPCRE=1" prepare() { cd "$srcdir"/$pkgname-$pkgver @@ -72,15 +75,18 @@ svn() { mv "$pkgdir"/usr/libexec/git-core/git-svn "$subpkgdir"/usr/libexec/git-core } -md5sums="03ebfd403a8cf355da0e3f15e53b8925 git-1.8.2.3.tar.gz +md5sums="bbaa27d812be3ece87fcd830c6fdd6ab git-1.8.5.6.tar.gz +178d2d10f9740fac4a8af0155368b3d9 0001-config-add-_cb-suffix-to-callback-functions.patch e63a201556c4f089de790805c09a2e5b bb-tar.patch c92d9339a131e708cc65e1cac1e2520a git-daemon.initd 2258e95d389ccc6de0b5111d53d9eed6 git-daemon.confd" -sha256sums="ba8d42d47b0955b17905af0133b01ab8e3f28f0e39b9967ec446403c0b49991f git-1.8.2.3.tar.gz +sha256sums="d66f148301d7f04017bba7f9fe141cffae51b9e2b2324efa065bb76c17a6ee00 git-1.8.5.6.tar.gz +c0f66913df49d35e197ff18426b2835a3bd539373c579d253cc4fcdf6c5b77c5 0001-config-add-_cb-suffix-to-callback-functions.patch cb6319f47d81605e199771350154cbed0a6e85ef9042a689f2b405c64039f49c bb-tar.patch 02eb703e3638275104e12c8057f16b9a858ac5c8dc56d2e9ca68d7d3250a1917 git-daemon.initd aaa80bd059db549dadf4c4e27a9aa41a4b5def844f8e563c493bc8513dcd981e git-daemon.confd" -sha512sums="9b9d777ed1cc6beb87dc3783e4873365c59e83b324ec1739cf9823f68d318c8f76107a664f06499d73c2cc2120f3ecc3b04d3603a99e7c3147ef334b0609caf0 git-1.8.2.3.tar.gz +sha512sums="d07d218f33ede72841c84fe95aeed2dc7f8bd928ce0c513b695926e504c27854ac981dca211aa52bda9cde243770567fc9e2f2f97ab5213b947b9dee5d70d858 git-1.8.5.6.tar.gz +3de27e2ff97be2673c218b86c5b0db515a6e6c603302ac158c8cb412e90f13b79381c432adcf661afcc2d5d0d156946bc85c2921c15066d20acf72defc0ce194 0001-config-add-_cb-suffix-to-callback-functions.patch 6fa088a753c2a697e8dbef2032ed63e8c2a0553a41cff2fcff893c2f35c51d2c697054cc921c23ee606f77b93d0f340df85220b15e1c470bd352f7fba3986cd0 bb-tar.patch 6321ea464f0c1d6245a0722e02ff3dc29996e41fb8d9f3c747bfdd914dc1284e6eb62a7d6057e4f99c0c8a23c3e57f9ff76f2cf18d19272f3cc599877f999c41 git-daemon.initd 9640f8078d68ed2678e5249da3f946fc21f50e858b94127a4221de73c6132101afcd46bc1fe33861e9a7f731c0dc9591915b8ebf376b8e690cd7135703966509 git-daemon.confd" |