[arch-commits] Commit in memcached/trunk (3 files)
Date: Friday, December 21, 2018 @ 00:03:53 Author: anthraxx Revision: 342617 upgpkg: memcached 1.5.12-1 (enable seccomp) Yes, we enable seccomp - its not rocket science to fix if proper logs and dumps are provided and provides a significant limitation in terms of exploitation. It is tested and it works, if you encounter issues, provide proper logs, dumps an straces. Added: memcached/trunk/memcached.service.patch Modified: memcached/trunk/PKGBUILD Deleted: memcached/trunk/memcached.service -+ PKGBUILD| 20 +++- memcached.service | 16 - memcached.service.patch | 75 ++ 3 files changed, 87 insertions(+), 24 deletions(-) Modified: PKGBUILD === --- PKGBUILD2018-12-20 19:53:18 UTC (rev 342616) +++ PKGBUILD2018-12-21 00:03:53 UTC (rev 342617) @@ -3,7 +3,7 @@ # Contributor: Michael Irwin <6d6...@gmail.com> pkgname=memcached -pkgver=1.5.10 +pkgver=1.5.12 pkgrel=1 pkgdesc='Distributed memory object caching system' url='https://memcached.org/' @@ -12,21 +12,22 @@ depends=('libevent' 'libseccomp') optdepends=('perl: for memcached-tool usage') source=(https://www.memcached.org/files/${pkgname}-${pkgver}.tar.gz -memcached.service +memcached.service.patch memcached.tmpfiles memcached.sysusers) -sha256sums=('494c060dbd96d546c74ab85a3cc3984d009b4423767ac33e05dd2340c01f1c4b' -'fd60fde92b959dc4160facc0d165f04319d2ece4d2c59b68d8ae24824abea7dd' +sha256sums=('c02f97d5685617b209fbe25f3464317b234d765b427d254c2413410a5c095b29' +'303375f1245db0f3bf82faa6cb935639d8194c760fec45f105eecaaec22436a5' 'c4d0ae2218b99a276ff6e0084ae81e66add0ca9347e4bde70e9172db6e44002a' '228c4f536f3c9f9eee4e11226ec8846a22d4ba46c2d3bf2811413efcc322609a') -sha512sums=('5b6217ab90492cb4b3f6597c935a4028697f1d071516d647a70f6ba9353db16184ef229935733e669d4120d34d72f6f2415edcfd3ec899e06eab9d3f494f11f1' - '5b006064b3ab31a6982f5c7b1ab4a49d64118a459913bd4be18ca63bf606dcae3550121d05a34ac8932d28b367e18fa76699c46e311b0b6a22f36ab1885ebebe' +sha512sums=('95927fcc06e83e46a050dd50c85e50faf41e6d1f6901b757f7a842b7727a596054082a512a3b830729171556e8a995f037d39d991df2198a80a4e61a6efa1fd8' + '79b69d3b48ab04ff76607d52de61cfca471edb376d2a08fc2c1b9b259c097d04499d1f326ba06fd058a039de145be475cd3527007dffb2256a0b5c2ea7548a88' '960705ff74d25afed477e0b2a5872a3a4fb49ed3105a351f0d0224abc947778f9dbda81e80be94ab636da4a8411a9dd56a8fd4513e5b86a3096a14fa67f1548b' 'e6ddcab9a6fee024072b6363ef60aa176ed258369bf3a17d475f19b1f410ffd6195b9c5737dc5b1371e8974b44bdbdaa109927acaeb54fb40302a5d67d7c13a8') prepare() { cd ${pkgname}-${pkgver} - sed -e 's/^##safer##//g' -i scripts/memcached.service scripts/memcached@.service + patch -Np1 < ../memcached.service.patch + sed -e 's/^##safer##//g' -i scripts/*.service } build() { @@ -45,8 +46,11 @@ package() { cd ${pkgname}-${pkgver} make DESTDIR="${pkgdir}" install + install -Dm 755 scripts/memcached-tool -t "${pkgdir}/usr/bin" - install -Dm 644 ../memcached.service -t "${pkgdir}/usr/lib/systemd/system" + install -Dm 644 scripts/memcached-tool.1 -t "${pkgdir}/usr/share/man/man1" + + install -Dm 644 scripts/*.service -t "${pkgdir}/usr/lib/systemd/system" install -Dm 644 ../memcached.tmpfiles "${pkgdir}/usr/lib/tmpfiles.d/memcached.conf" install -Dm 644 ../memcached.sysusers "${pkgdir}/usr/lib/sysusers.d/memcached.conf" } Deleted: memcached.service === --- memcached.service 2018-12-20 19:53:18 UTC (rev 342616) +++ memcached.service 2018-12-21 00:03:53 UTC (rev 342617) @@ -1,16 +0,0 @@ -[Unit] -Description=Memcached Daemon -After=network.target - -[Service] -User=memcached -# Remove '-l 127.0.0.1' to listen on all addresses -ExecStart=/usr/bin/memcached -l 127.0.0.1 -o modern -Restart=always -PrivateTmp=yes -PrivateDevices=yes -ProtectSystem=full -MemoryDenyWriteExecute=yes - -[Install] -WantedBy=multi-user.target Added: memcached.service.patch === --- memcached.service.patch (rev 0) +++ memcached.service.patch 2018-12-21 00:03:53 UTC (rev 342617) @@ -0,0 +1,75 @@ +From f74056bec3910ef03b6e993084731b482ba359ba Mon Sep 17 00:00:00 2001 +From: anthraxx +Date: Wed, 19 Dec 2018 01:00:32 +0100 +Subject: [PATCH] modern configuration purely using systemd overrides + +--- + scripts/memcached.service | 12 ++-- + scripts/memcached@.service | 15 +-- + 2 files changed, 19 insertions(+), 8 deletions(-) + +diff --git a/scripts/memcached.service b/scripts/memcached.service +index 88a4b8a..3a1e87e 100644 +--- a/scripts/memcached.service b/scripts/memcached.service +@@ -7,6 +7,9 @@ + # + # [Service] + #
[arch-commits] Commit in memcached/trunk (3 files)
Date: Monday, January 15, 2018 @ 00:57:50 Author: anthraxx Revision: 314793 upgpkg: memcached 1.5.4-1 Added: memcached/trunk/memcached.sysusers Modified: memcached/trunk/PKGBUILD Deleted: memcached/trunk/memcached.install + PKGBUILD | 21 - memcached.install | 15 --- memcached.sysusers |1 + 3 files changed, 13 insertions(+), 24 deletions(-) Modified: PKGBUILD === --- PKGBUILD2018-01-15 00:03:22 UTC (rev 314792) +++ PKGBUILD2018-01-15 00:57:50 UTC (rev 314793) @@ -3,7 +3,7 @@ # Contributor: Michael Irwin <6d6...@gmail.com> pkgname=memcached -pkgver=1.5.3 +pkgver=1.5.4 pkgrel=1 pkgdesc='Distributed memory object caching system' url='https://memcached.org/' @@ -11,16 +11,18 @@ license=('GPL') depends=('libevent') optdepends=('perl: for memcached-tool usage') -install=memcached.install source=(https://www.memcached.org/files/${pkgname}-${pkgver}.tar.gz memcached.service -memcached.tmpfiles) -sha256sums=('258cc3ddb7613685465acfd0215f827220a3bbdd167fd2c080632105b2d2f3ce' +memcached.tmpfiles +memcached.sysusers) +sha256sums=('e0c3cfa89fa4c2ffd8aa45df7825c6d1a2423ac89ab1a7c4f42bb9803f7403d4' 'fd60fde92b959dc4160facc0d165f04319d2ece4d2c59b68d8ae24824abea7dd' -'c4d0ae2218b99a276ff6e0084ae81e66add0ca9347e4bde70e9172db6e44002a') -sha512sums=('b28282c579891e7c5508eb5ab4680b933aa76e8e4a8fe575c996fd4e750f2b4b35ee734d01ae0f280cf4cf6e0530f7f6a95c2e07be3660b07c5ade6ad3c835e2' +'c4d0ae2218b99a276ff6e0084ae81e66add0ca9347e4bde70e9172db6e44002a' +'228c4f536f3c9f9eee4e11226ec8846a22d4ba46c2d3bf2811413efcc322609a') +sha512sums=('3154a2cad54d57f14bf9c07cfc6e4ed0bd6908f81642de9766d65c69b78bb36effb6221684b1e5f9e355fd8c64a0338aade3cb3bf36603d311c86bc94fe5d13d' '5b006064b3ab31a6982f5c7b1ab4a49d64118a459913bd4be18ca63bf606dcae3550121d05a34ac8932d28b367e18fa76699c46e311b0b6a22f36ab1885ebebe' - '960705ff74d25afed477e0b2a5872a3a4fb49ed3105a351f0d0224abc947778f9dbda81e80be94ab636da4a8411a9dd56a8fd4513e5b86a3096a14fa67f1548b') + '960705ff74d25afed477e0b2a5872a3a4fb49ed3105a351f0d0224abc947778f9dbda81e80be94ab636da4a8411a9dd56a8fd4513e5b86a3096a14fa67f1548b' + 'e6ddcab9a6fee024072b6363ef60aa176ed258369bf3a17d475f19b1f410ffd6195b9c5737dc5b1371e8974b44bdbdaa109927acaeb54fb40302a5d67d7c13a8') build() { cd ${pkgname}-${pkgver} @@ -37,8 +39,9 @@ cd ${pkgname}-${pkgver} make DESTDIR="${pkgdir}" install install -Dm 755 scripts/memcached-tool -t "${pkgdir}/usr/bin" - install -Dm 644 "${srcdir}/memcached.service" -t "${pkgdir}/usr/lib/systemd/system" - install -Dm 644 "${srcdir}/memcached.tmpfiles" "${pkgdir}/usr/lib/tmpfiles.d/memcached.conf" + install -Dm 644 ../memcached.service -t "${pkgdir}/usr/lib/systemd/system" + install -Dm 644 ../memcached.tmpfiles "${pkgdir}/usr/lib/tmpfiles.d/memcached.conf" + install -Dm 644 ../memcached.sysusers "${pkgdir}/usr/lib/sysusers.d/memcached.conf" } # vim: ts=2 sw=2 et: Deleted: memcached.install === --- memcached.install 2018-01-15 00:03:22 UTC (rev 314792) +++ memcached.install 2018-01-15 00:57:50 UTC (rev 314793) @@ -1,15 +0,0 @@ -post_install() { - if ! getent group memcached >/dev/null; then -groupadd --system memcached - fi - if ! getent passwd memcached >/dev/null; then -useradd --system -c 'memcached user' -g memcached -d / -s /bin/nologin memcached - fi -} - -post_upgrade() { - post_install $1 - if (( $(vercmp $2 1.4.36-1) <= 0 )); then - usermod -s /bin/nologin memcached - fi -} Added: memcached.sysusers === --- memcached.sysusers (rev 0) +++ memcached.sysusers 2018-01-15 00:57:50 UTC (rev 314793) @@ -0,0 +1 @@ +u memcached - - -
[arch-commits] Commit in memcached/trunk (3 files)
Date: Tuesday, June 13, 2017 @ 13:11:48 Author: anthraxx Revision: 298727 upgpkg: memcached 1.4.37-1 (libevent rebuild) Added: memcached/trunk/memcached.tmpfiles Modified: memcached/trunk/PKGBUILD memcached/trunk/memcached.install + PKGBUILD | 40 memcached.install |5 - memcached.tmpfiles |1 + 3 files changed, 29 insertions(+), 17 deletions(-) Modified: PKGBUILD === --- PKGBUILD2017-06-13 12:46:34 UTC (rev 298726) +++ PKGBUILD2017-06-13 13:11:48 UTC (rev 298727) @@ -1,36 +1,44 @@ -# $Id$ -# Maintainer: Dan McGee+# Maintainer: Levente Polyak +# Contributor: Dan McGee # Contributor: Michael Irwin <6d6...@gmail.com> pkgname=memcached -pkgver=1.4.32 +pkgver=1.4.37 pkgrel=1 -pkgdesc="A distributed memory object caching system" -arch=(i686 x86_64) -url="http://memcached.org/; +pkgdesc='Distributed memory object caching system' +url='https://memcached.org/' +arch=('i686' 'x86_64') license=('GPL') depends=('libevent') optdepends=('perl: for memcached-tool usage') install=memcached.install -source=(http://www.memcached.org/files/$pkgname-$pkgver.tar.gz -memcached.service) -sha256sums=('54bb9acd5fbbb73cd1fbfa67cbc6b301009a2835a26c8a4c3dba634a0c3d875d' -'fd60fde92b959dc4160facc0d165f04319d2ece4d2c59b68d8ae24824abea7dd') +source=(https://www.memcached.org/files/${pkgname}-${pkgver}.tar.gz +memcached.service +memcached.tmpfiles) +sha256sums=('2f335ab9110ce39036c5271ef39a582a852e424bc9659e421844073cfdf8606b' +'fd60fde92b959dc4160facc0d165f04319d2ece4d2c59b68d8ae24824abea7dd' +'c4d0ae2218b99a276ff6e0084ae81e66add0ca9347e4bde70e9172db6e44002a') +sha512sums=('eadcb2ea3caf5946f3348c3cddc9fa4de3268589096a8fbfcb7c2867ce317390bdb91a2539353c756d214eb02ef3f0f0e71adb5dd46fd37fda4e82a59173e1b4' + '5b006064b3ab31a6982f5c7b1ab4a49d64118a459913bd4be18ca63bf606dcae3550121d05a34ac8932d28b367e18fa76699c46e311b0b6a22f36ab1885ebebe' + '960705ff74d25afed477e0b2a5872a3a4fb49ed3105a351f0d0224abc947778f9dbda81e80be94ab636da4a8411a9dd56a8fd4513e5b86a3096a14fa67f1548b') build() { - cd "$srcdir/$pkgname-$pkgver" + cd ${pkgname}-${pkgver} ./configure --prefix=/usr make } check() { - cd "$srcdir/$pkgname-$pkgver" + cd ${pkgname}-${pkgver} make test } package() { - cd "$srcdir/$pkgname-$pkgver" - make DESTDIR="$pkgdir" install - install -D -m 755 scripts/memcached-tool "$pkgdir"/usr/bin/memcached-tool - install -D -m 644 ../memcached.service "$pkgdir"/usr/lib/systemd/system/memcached.service + cd ${pkgname}-${pkgver} + make DESTDIR="${pkgdir}" install + install -Dm 755 scripts/memcached-tool -t "${pkgdir}/usr/bin" + install -Dm 644 "${srcdir}/memcached.service" -t "${pkgdir}/usr/lib/systemd/system" + install -Dm 644 "${srcdir}/memcached.tmpfiles" "${pkgdir}/usr/lib/tmpfiles.d/memcached.conf" } + +# vim: ts=2 sw=2 et: Modified: memcached.install === --- memcached.install 2017-06-13 12:46:34 UTC (rev 298726) +++ memcached.install 2017-06-13 13:11:48 UTC (rev 298727) @@ -3,10 +3,13 @@ groupadd --system memcached fi if ! getent passwd memcached >/dev/null; then -useradd --system -c 'memcached user' -g memcached -d / -s /bin/bash memcached +useradd --system -c 'memcached user' -g memcached -d / -s /bin/nologin memcached fi } post_upgrade() { post_install $1 + if (( $(vercmp $2 1.4.36-1) <= 0 )); then + usermod -s /bin/nologin memcached + fi } Added: memcached.tmpfiles === --- memcached.tmpfiles (rev 0) +++ memcached.tmpfiles 2017-06-13 13:11:48 UTC (rev 298727) @@ -0,0 +1 @@ +d /run/memcached 0775 memcached memcached -
[arch-commits] Commit in memcached/trunk (3 files)
Date: Tuesday, May 6, 2014 @ 17:27:56 Author: dan Revision: 212083 upgpkg: memcached 1.4.19-1 Modified: memcached/trunk/PKGBUILD Deleted: memcached/trunk/0001-don-t-drop-to-a-condition-without-holding-the-lock.patch memcached/trunk/0002-flag-crawler-as-running-during-the-request-to-run.patch ---+ 0001-don-t-drop-to-a-condition-without-holding-the-lock.patch | 35 - 0002-flag-crawler-as-running-during-the-request-to-run.patch | 38 -- PKGBUILD | 14 +-- 3 files changed, 4 insertions(+), 83 deletions(-) Deleted: 0001-don-t-drop-to-a-condition-without-holding-the-lock.patch === --- 0001-don-t-drop-to-a-condition-without-holding-the-lock.patch 2014-05-06 14:39:43 UTC (rev 212082) +++ 0001-don-t-drop-to-a-condition-without-holding-the-lock.patch 2014-05-06 15:27:56 UTC (rev 212083) @@ -1,35 +0,0 @@ -From 9d635fa7f46f000d23663e0be3a900d2c51a3ed8 Mon Sep 17 00:00:00 2001 -From: dormando dorma...@rydia.net -Date: Sat, 19 Apr 2014 12:15:29 -0700 -Subject: [PATCH 1/2] don't drop to a condition without holding the lock - -I am a moran. How do you even thread. - items.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/items.c b/items.c -index 688ad03..3e2f71f 100644 a/items.c -+++ b/items.c -@@ -764,6 +764,7 @@ static void item_crawler_evaluate(item *search, uint32_t hv, int i) { - static void *item_crawler_thread(void *arg) { - int i; - -+pthread_mutex_lock(lru_crawler_lock); - if (settings.verbose 2) - fprintf(stderr, Starting LRU crawler background thread\n); - while (do_run_lru_crawler_thread) { -@@ -827,8 +828,8 @@ static void *item_crawler_thread(void *arg) { - STATS_LOCK(); - stats.lru_crawler_running = false; - STATS_UNLOCK(); --pthread_mutex_unlock(lru_crawler_lock); - } -+pthread_mutex_unlock(lru_crawler_lock); - if (settings.verbose 2) - fprintf(stderr, LRU crawler thread stopping\n); - --- -1.9.2 - Deleted: 0002-flag-crawler-as-running-during-the-request-to-run.patch === --- 0002-flag-crawler-as-running-during-the-request-to-run.patch 2014-05-06 14:39:43 UTC (rev 212082) +++ 0002-flag-crawler-as-running-during-the-request-to-run.patch 2014-05-06 15:27:56 UTC (rev 212083) @@ -1,38 +0,0 @@ -From d8b1047620a54443f6bdca7f0dc5ee3b4d99378e Mon Sep 17 00:00:00 2001 -From: dormando dorma...@rydia.net -Date: Sat, 19 Apr 2014 16:03:28 -0700 -Subject: [PATCH 2/2] flag crawler as running during the request to run - -... so there's no race to tell if it's running if you check after the command -exits. - items.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/items.c b/items.c -index 3e2f71f..6261503 100644 a/items.c -+++ b/items.c -@@ -769,9 +769,6 @@ static void *item_crawler_thread(void *arg) { - fprintf(stderr, Starting LRU crawler background thread\n); - while (do_run_lru_crawler_thread) { - pthread_cond_wait(lru_crawler_cond, lru_crawler_lock); --STATS_LOCK(); --stats.lru_crawler_running = true; --STATS_UNLOCK(); - - while (crawler_count) { - item *search = NULL; -@@ -918,6 +915,9 @@ enum crawler_result_type lru_crawler_crawl(char *slabs) { - } - pthread_mutex_unlock(cache_lock); - pthread_cond_signal(lru_crawler_cond); -+STATS_LOCK(); -+stats.lru_crawler_running = true; -+STATS_UNLOCK(); - pthread_mutex_unlock(lru_crawler_lock); - return CRAWLER_OK; - } --- -1.9.2 - Modified: PKGBUILD === --- PKGBUILD2014-05-06 14:39:43 UTC (rev 212082) +++ PKGBUILD2014-05-06 15:27:56 UTC (rev 212083) @@ -3,7 +3,7 @@ # Contributor: Michael Irwin 6d6...@gmail.com pkgname=memcached -pkgver=1.4.18 +pkgver=1.4.19 pkgrel=1 pkgdesc=A distributed memory object caching system arch=(i686 x86_64) @@ -13,18 +13,12 @@ optdepends=('perl: for memcached-tool usage') install=memcached.install source=(http://www.memcached.org/files/$pkgname-$pkgver.tar.gz -memcached.service -0001-don-t-drop-to-a-condition-without-holding-the-lock.patch -0002-flag-crawler-as-running-during-the-request-to-run.patch) -sha256sums=('6a5cc8d0874f13c5043d741af83fbdc4c681316d32b8313c0dbc82ca96f97439' -'e768a48192aefa2e2f443c86b3c085043005ffc313da40f3074c060a18c8359d' -'dc25b5128e4b5f21d2a2d6186517139281e2e3bfc6142eaa72ef5840dbfc1236' -'07f959563571125248914392fb2a1e3f75a8692f5724c7ed98f0f16737801527') +memcached.service) +sha256sums=('5e18eac2e5b557d7a98b5e866b01ff5fd0f7ceac7356f7b9fffbf8ddbea4a58d' +'e768a48192aefa2e2f443c86b3c085043005ffc313da40f3074c060a18c8359d') build() { cd
[arch-commits] Commit in memcached/trunk (3 files)
Date: Sunday, April 20, 2014 @ 03:24:33 Author: dan Revision: 211561 upgpkg: memcached 1.4.18-1 Added: memcached/trunk/0001-don-t-drop-to-a-condition-without-holding-the-lock.patch memcached/trunk/0002-flag-crawler-as-running-during-the-request-to-run.patch Modified: memcached/trunk/PKGBUILD ---+ 0001-don-t-drop-to-a-condition-without-holding-the-lock.patch | 35 + 0002-flag-crawler-as-running-during-the-request-to-run.patch | 38 ++ PKGBUILD | 14 ++- 3 files changed, 83 insertions(+), 4 deletions(-) Added: 0001-don-t-drop-to-a-condition-without-holding-the-lock.patch === --- 0001-don-t-drop-to-a-condition-without-holding-the-lock.patch (rev 0) +++ 0001-don-t-drop-to-a-condition-without-holding-the-lock.patch 2014-04-20 01:24:33 UTC (rev 211561) @@ -0,0 +1,35 @@ +From 9d635fa7f46f000d23663e0be3a900d2c51a3ed8 Mon Sep 17 00:00:00 2001 +From: dormando dorma...@rydia.net +Date: Sat, 19 Apr 2014 12:15:29 -0700 +Subject: [PATCH 1/2] don't drop to a condition without holding the lock + +I am a moran. How do you even thread. +--- + items.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/items.c b/items.c +index 688ad03..3e2f71f 100644 +--- a/items.c b/items.c +@@ -764,6 +764,7 @@ static void item_crawler_evaluate(item *search, uint32_t hv, int i) { + static void *item_crawler_thread(void *arg) { + int i; + ++pthread_mutex_lock(lru_crawler_lock); + if (settings.verbose 2) + fprintf(stderr, Starting LRU crawler background thread\n); + while (do_run_lru_crawler_thread) { +@@ -827,8 +828,8 @@ static void *item_crawler_thread(void *arg) { + STATS_LOCK(); + stats.lru_crawler_running = false; + STATS_UNLOCK(); +-pthread_mutex_unlock(lru_crawler_lock); + } ++pthread_mutex_unlock(lru_crawler_lock); + if (settings.verbose 2) + fprintf(stderr, LRU crawler thread stopping\n); + +-- +1.9.2 + Added: 0002-flag-crawler-as-running-during-the-request-to-run.patch === --- 0002-flag-crawler-as-running-during-the-request-to-run.patch (rev 0) +++ 0002-flag-crawler-as-running-during-the-request-to-run.patch 2014-04-20 01:24:33 UTC (rev 211561) @@ -0,0 +1,38 @@ +From d8b1047620a54443f6bdca7f0dc5ee3b4d99378e Mon Sep 17 00:00:00 2001 +From: dormando dorma...@rydia.net +Date: Sat, 19 Apr 2014 16:03:28 -0700 +Subject: [PATCH 2/2] flag crawler as running during the request to run + +... so there's no race to tell if it's running if you check after the command +exits. +--- + items.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/items.c b/items.c +index 3e2f71f..6261503 100644 +--- a/items.c b/items.c +@@ -769,9 +769,6 @@ static void *item_crawler_thread(void *arg) { + fprintf(stderr, Starting LRU crawler background thread\n); + while (do_run_lru_crawler_thread) { + pthread_cond_wait(lru_crawler_cond, lru_crawler_lock); +-STATS_LOCK(); +-stats.lru_crawler_running = true; +-STATS_UNLOCK(); + + while (crawler_count) { + item *search = NULL; +@@ -918,6 +915,9 @@ enum crawler_result_type lru_crawler_crawl(char *slabs) { + } + pthread_mutex_unlock(cache_lock); + pthread_cond_signal(lru_crawler_cond); ++STATS_LOCK(); ++stats.lru_crawler_running = true; ++STATS_UNLOCK(); + pthread_mutex_unlock(lru_crawler_lock); + return CRAWLER_OK; + } +-- +1.9.2 + Modified: PKGBUILD === --- PKGBUILD2014-04-19 21:10:15 UTC (rev 211560) +++ PKGBUILD2014-04-20 01:24:33 UTC (rev 211561) @@ -3,7 +3,7 @@ # Contributor: Michael Irwin 6d6...@gmail.com pkgname=memcached -pkgver=1.4.17 +pkgver=1.4.18 pkgrel=1 pkgdesc=A distributed memory object caching system arch=(i686 x86_64) @@ -13,12 +13,18 @@ optdepends=('perl: for memcached-tool usage') install=memcached.install source=(http://www.memcached.org/files/$pkgname-$pkgver.tar.gz - memcached.service) -sha256sums=('d9173ef6d99ba798c982ea4566cb4f0e64eb23859fdbf9926a8d8cdc0458' -'e768a48192aefa2e2f443c86b3c085043005ffc313da40f3074c060a18c8359d') +memcached.service +0001-don-t-drop-to-a-condition-without-holding-the-lock.patch +0002-flag-crawler-as-running-during-the-request-to-run.patch) +sha256sums=('6a5cc8d0874f13c5043d741af83fbdc4c681316d32b8313c0dbc82ca96f97439' +'e768a48192aefa2e2f443c86b3c085043005ffc313da40f3074c060a18c8359d' +'dc25b5128e4b5f21d2a2d6186517139281e2e3bfc6142eaa72ef5840dbfc1236' +'07f959563571125248914392fb2a1e3f75a8692f5724c7ed98f0f16737801527') build() { cd
[arch-commits] Commit in memcached/trunk (3 files)
Date: Monday, January 31, 2011 @ 09:02:05 Author: dan Revision: 108468 upgpkg: memcached 1.4.5-2 rebuild for gcc 4.5.x Added: memcached/trunk/fix-type-punning-issues.patch Modified: memcached/trunk/ChangeLog memcached/trunk/PKGBUILD ---+ ChangeLog |3 + PKGBUILD | 14 --- fix-type-punning-issues.patch | 73 3 files changed, 85 insertions(+), 5 deletions(-) Modified: ChangeLog === --- ChangeLog 2011-01-31 13:57:06 UTC (rev 108467) +++ ChangeLog 2011-01-31 14:02:05 UTC (rev 108468) @@ -1,3 +1,6 @@ +2011-01-31 Dan McGee d...@archlinux.org + * Rebuild 1.4.5 with gcc 4.5.X patch accepted upstream + 2009-11-14 Dan McGee d...@archlinux.org * Bump to 1.4.3 * Added memcached-tool to package Modified: PKGBUILD === --- PKGBUILD2011-01-31 13:57:06 UTC (rev 108467) +++ PKGBUILD2011-01-31 14:02:05 UTC (rev 108468) @@ -3,7 +3,7 @@ pkgname=memcached pkgver=1.4.5 -pkgrel=1 +pkgrel=2 pkgdesc=A distributed memory object caching system arch=(i686 x86_64) url=http://memcached.org/; @@ -13,17 +13,20 @@ backup=('etc/conf.d/memcached') source=(http://memcached.googlecode.com/files/$pkgname-$pkgver.tar.gz memcached.conf -memcached.sh) +memcached.sh +fix-type-punning-issues.patch) +changelog=ChangeLog build() { cd $srcdir/$pkgname-$pkgver + patch -Np1 $srcdir/fix-type-punning-issues.patch ./configure --prefix=/usr - make || return 1 + make } package() { cd $srcdir/$pkgname-$pkgver - make DESTDIR=$pkgdir install || return 1 + make DESTDIR=$pkgdir install install -D -m 755 scripts/memcached-tool $pkgdir/usr/bin/memcached-tool install -D -m 644 $srcdir/$pkgname.conf $pkgdir/etc/conf.d/$pkgname install -D -m 755 $srcdir/$pkgname.sh $pkgdir/etc/rc.d/$pkgname @@ -31,4 +34,5 @@ md5sums=('583441a25f937360624024f2881e5ea8' 'bf15619930dadf0c08669566e4aa809c' - '65f88b69cf3112b178725af121327765') + '65f88b69cf3112b178725af121327765' + 'c4f6da682cb4e7599fede4904021f4ae') Added: fix-type-punning-issues.patch === --- fix-type-punning-issues.patch (rev 0) +++ fix-type-punning-issues.patch 2011-01-31 14:02:05 UTC (rev 108468) @@ -0,0 +1,73 @@ +commit df15887584f0025e7b188e408dd3c9f638d68518 +Author: Dan McGee d...@archlinux.org +Date: Tue Nov 2 18:43:00 2010 -0500 + +Fix type-punning issues exposed with GCC 4.5.1 + +The errors below are due to pointer magic that isn't allowed if following C +strict-aliasing rules: + +memcached.c: In function ‘complete_incr_bin’: +memcached.c:1023:16: error: dereferencing type-punned pointer will break +strict-aliasing rules +memcached.c:1044:13: error: dereferencing type-punned pointer will break +strict-aliasing rules +memcached.c:1061:17: error: dereferencing type-punned pointer will break +strict-aliasing rules + +Fix this by introducing a union type that allows access to the uint64_t +member as necessary, but doesn't add any additional length to the structure. +The size remains the same before and after; the only difference is explict +casts are now refactored into union member accesses and all compilers should +be happy. + +Signed-off-by: Dan McGee d...@archlinux.org + +diff --git a/memcached.h b/memcached.h +index 4a7295b..74a6592 100644 +--- a/memcached.h b/memcached.h +@@ -77,18 +77,22 @@ + #define TAIL_REPAIR_TIME (3 * 3600) + + /* warning: don't use these macros with a function, as it evals its arg twice */ +-#define ITEM_get_cas(i) ((uint64_t)(((i)-it_flags ITEM_CAS) ? \ +-*(uint64_t*)((i)-end[0]) : 0x0)) +-#define ITEM_set_cas(i,v) { if ((i)-it_flags ITEM_CAS) { \ +- *(uint64_t*)((i)-end[0]) = v; } } ++#define ITEM_get_cas(i) (((i)-it_flags ITEM_CAS) ? \ ++(i)-data-cas : (uint64_t)0) + +-#define ITEM_key(item) (((char*)((item)-end[0])) \ ++#define ITEM_set_cas(i,v) { \ ++if ((i)-it_flags ITEM_CAS) { \ ++(i)-data-cas = v; \ ++} \ ++} ++ ++#define ITEM_key(item) (((char*)((item)-data)) \ + + (((item)-it_flags ITEM_CAS) ? sizeof(uint64_t) : 0)) + +-#define ITEM_suffix(item) ((char*) ((item)-end[0]) + (item)-nkey + 1 \ ++#define ITEM_suffix(item) ((char*) ((item)-data) + (item)-nkey + 1 \ + + (((item)-it_flags ITEM_CAS) ? sizeof(uint64_t) : 0)) + +-#define ITEM_data(item) ((char*) ((item)-end[0]) + (item)-nkey + 1 \ ++#define ITEM_data(item) ((char*) ((item)-data) + (item)-nkey + 1 \ + + (item)-nsuffix \ + + (((item)-it_flags ITEM_CAS) ?