Hello community, here is the log from the commit of package haproxy for openSUSE:Factory checked in at 2018-07-06 10:47:48 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/haproxy (Old) and /work/SRC/openSUSE:Factory/.haproxy.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "haproxy" Fri Jul 6 10:47:48 2018 rev:63 rq:621110 version:1.8.12~git0.8a200c71 Changes: -------- --- /work/SRC/openSUSE:Factory/haproxy/haproxy.changes 2018-06-27 10:21:32.323781056 +0200 +++ /work/SRC/openSUSE:Factory/.haproxy.new/haproxy.changes 2018-07-06 10:48:20.434801390 +0200 @@ -1,0 +2,14 @@ +Wed Jun 27 17:33:49 UTC 2018 - [email protected] + +- Update to version 1.8.12~git0.8a200c71: + * MINOR: stick-tables: make stktable_release() do nothing on NULL + * BUG/MAJOR: stick_table: Complete incomplete SEGV fix + +------------------------------------------------------------------- +Wed Jun 27 08:36:29 UTC 2018 - [email protected] + +- Update to version 1.8.11~git0.1d6ef58d: + * BUG/BUILD: threads: unbreak build without threads + * BUG/MAJOR: Stick-tables crash with segfault when the key is not in the stick-table + +------------------------------------------------------------------- Old: ---- haproxy-1.8.10~git0.ec17d7a9.tar.gz New: ---- haproxy-1.8.12~git0.8a200c71.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ haproxy.spec ++++++ --- /var/tmp/diff_new_pack.XRT4G5/_old 2018-07-06 10:48:21.018800693 +0200 +++ /var/tmp/diff_new_pack.XRT4G5/_new 2018-07-06 10:48:21.018800693 +0200 @@ -40,7 +40,7 @@ %bcond_without apparmor Name: haproxy -Version: 1.8.10~git0.ec17d7a9 +Version: 1.8.12~git0.8a200c71 Release: 0 # # ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.XRT4G5/_old 2018-07-06 10:48:21.046800660 +0200 +++ /var/tmp/diff_new_pack.XRT4G5/_new 2018-07-06 10:48:21.046800660 +0200 @@ -5,4 +5,4 @@ <param name="url">http://git.haproxy.org/git/haproxy-1.7.git</param> <param name="changesrevision">640d526f8cdad00f7f5043b51f6a34f3f6ebb49f</param></service><service name="tar_scm"> <param name="url">http://git.haproxy.org/git/haproxy-1.8.git</param> - <param name="changesrevision">ec17d7a98f30326918219ba876fcfc56f6ad6823</param></service></servicedata> \ No newline at end of file + <param name="changesrevision">8a200c71bd0848752b71a1aed5727563962b3a1a</param></service></servicedata> \ No newline at end of file ++++++ haproxy-1.8.10~git0.ec17d7a9.tar.gz -> haproxy-1.8.12~git0.8a200c71.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haproxy-1.8.10~git0.ec17d7a9/CHANGELOG new/haproxy-1.8.12~git0.8a200c71/CHANGELOG --- old/haproxy-1.8.10~git0.ec17d7a9/CHANGELOG 2018-06-22 15:58:22.000000000 +0200 +++ new/haproxy-1.8.12~git0.8a200c71/CHANGELOG 2018-06-27 16:27:32.000000000 +0200 @@ -1,6 +1,14 @@ ChangeLog : =========== +2018/06/27 : 1.8.12 + - BUG/MAJOR: stick_table: Complete incomplete SEGV fix + - MINOR: stick-tables: make stktable_release() do nothing on NULL + +2018/06/26 : 1.8.11 + - BUG/MAJOR: Stick-tables crash with segfault when the key is not in the stick-table + - BUG/BUILD: threads: unbreak build without threads + 2018/06/22 : 1.8.10 - BUG/MINOR: lua: Socket.send threw runtime error: 'close' needs 1 arguments. - BUG/MEDIUM: spoe: Flags are not encoded in network order diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haproxy-1.8.10~git0.ec17d7a9/README new/haproxy-1.8.12~git0.8a200c71/README --- old/haproxy-1.8.10~git0.ec17d7a9/README 2018-06-22 15:58:22.000000000 +0200 +++ new/haproxy-1.8.12~git0.8a200c71/README 2018-06-27 16:27:32.000000000 +0200 @@ -3,7 +3,7 @@ ---------------------- version 1.8 willy tarreau - 2018/06/22 + 2018/06/27 1) How to build it diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haproxy-1.8.10~git0.ec17d7a9/VERDATE new/haproxy-1.8.12~git0.8a200c71/VERDATE --- old/haproxy-1.8.10~git0.ec17d7a9/VERDATE 2018-06-22 15:58:22.000000000 +0200 +++ new/haproxy-1.8.12~git0.8a200c71/VERDATE 2018-06-27 16:27:32.000000000 +0200 @@ -1,2 +1,2 @@ $Format:%ci$ -2018/06/22 +2018/06/27 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haproxy-1.8.10~git0.ec17d7a9/VERSION new/haproxy-1.8.12~git0.8a200c71/VERSION --- old/haproxy-1.8.10~git0.ec17d7a9/VERSION 2018-06-22 15:58:22.000000000 +0200 +++ new/haproxy-1.8.12~git0.8a200c71/VERSION 2018-06-27 16:27:32.000000000 +0200 @@ -1 +1 @@ -1.8.10 +1.8.12 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haproxy-1.8.10~git0.ec17d7a9/doc/configuration.txt new/haproxy-1.8.12~git0.8a200c71/doc/configuration.txt --- old/haproxy-1.8.10~git0.ec17d7a9/doc/configuration.txt 2018-06-22 15:58:22.000000000 +0200 +++ new/haproxy-1.8.12~git0.8a200c71/doc/configuration.txt 2018-06-27 16:27:32.000000000 +0200 @@ -4,7 +4,7 @@ ---------------------- version 1.8 willy tarreau - 2018/06/22 + 2018/06/27 This document covers the configuration language as implemented in the version diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haproxy-1.8.10~git0.ec17d7a9/examples/haproxy.spec new/haproxy-1.8.12~git0.8a200c71/examples/haproxy.spec --- old/haproxy-1.8.10~git0.ec17d7a9/examples/haproxy.spec 2018-06-22 15:58:22.000000000 +0200 +++ new/haproxy-1.8.12~git0.8a200c71/examples/haproxy.spec 2018-06-27 16:27:32.000000000 +0200 @@ -1,6 +1,6 @@ Summary: HA-Proxy is a TCP/HTTP reverse proxy for high availability environments Name: haproxy -Version: 1.8.10 +Version: 1.8.12 Release: 1 License: GPL Group: System Environment/Daemons @@ -74,6 +74,12 @@ %attr(0755,root,root) %config %{_sysconfdir}/rc.d/init.d/%{name} %changelog +* Wed Jun 27 2018 William Lallemand <[email protected]> +- updated to 1.8.12 + +* Tue Jun 26 2018 William Lallemand <[email protected]> +- updated to 1.8.11 + * Fri Jun 22 2018 William Lallemand <[email protected]> - updated to 1.8.10 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haproxy-1.8.10~git0.ec17d7a9/reg-tests/stick-table/h00000.vtc new/haproxy-1.8.12~git0.8a200c71/reg-tests/stick-table/h00000.vtc --- old/haproxy-1.8.10~git0.ec17d7a9/reg-tests/stick-table/h00000.vtc 1970-01-01 01:00:00.000000000 +0100 +++ new/haproxy-1.8.12~git0.8a200c71/reg-tests/stick-table/h00000.vtc 2018-06-27 16:27:32.000000000 +0200 @@ -0,0 +1,30 @@ +# Shipped with the commit fixing the bug. + +varnishtest "Stick Table: Crash when accessing unknown key." +feature ignore_unknown_macro + +server s0 { + rxreq + txresp +} -start + +haproxy h0 -conf { + defaults + timeout connect 5000ms + timeout client 50000ms + timeout server 50000ms + + frontend test + mode http + bind "fd@${fe1}" + stick-table type ip size 1m expire 1h store gpc0 + http-request deny if { src,table_trackers(test) eq 1 } + http-request deny if { src,in_table(test) } + http-request deny deny_status 200 +} -start + +client c0 -connect ${h0_fe1_sock} { + txreq -url "/" + rxresp + expect resp.status == 200 +} -run diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haproxy-1.8.10~git0.ec17d7a9/src/haproxy.c new/haproxy-1.8.12~git0.8a200c71/src/haproxy.c --- old/haproxy-1.8.10~git0.ec17d7a9/src/haproxy.c 2018-06-22 15:58:22.000000000 +0200 +++ new/haproxy-1.8.12~git0.8a200c71/src/haproxy.c 2018-06-27 16:27:32.000000000 +0200 @@ -2472,9 +2472,8 @@ list_for_each_entry(ptdf, &per_thread_deinit_list, list) ptdf->fct(); - HA_ATOMIC_AND(&all_threads_mask, ~tid_bit); - #ifdef USE_THREAD + HA_ATOMIC_AND(&all_threads_mask, ~tid_bit); if (tid > 0) pthread_exit(NULL); #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haproxy-1.8.10~git0.ec17d7a9/src/stick_table.c new/haproxy-1.8.12~git0.8a200c71/src/stick_table.c --- old/haproxy-1.8.10~git0.ec17d7a9/src/stick_table.c 2018-06-22 15:58:22.000000000 +0200 +++ new/haproxy-1.8.12~git0.8a200c71/src/stick_table.c 2018-06-27 16:27:32.000000000 +0200 @@ -412,9 +412,11 @@ ts->ref_cnt--; HA_SPIN_UNLOCK(STK_TABLE_LOCK, &t->lock); } -/* Just decrease the ref_cnt of the current session */ -void stktable_release(struct stktable *t, struct stksess *ts) +/* Just decrease the ref_cnt of the current session. Does nothing if <ts> is NULL */ +static void stktable_release(struct stktable *t, struct stksess *ts) { + if (!ts) + return; HA_SPIN_LOCK(STK_TABLE_LOCK, &t->lock); ts->ref_cnt--; HA_SPIN_UNLOCK(STK_TABLE_LOCK, &t->lock); @@ -1520,8 +1522,10 @@ smp->data.type = SMP_T_SINT; smp->data.u.sint = 0; - if (ts) - smp->data.u.sint = ts->ref_cnt; + if (!ts) + return 1; + + smp->data.u.sint = ts->ref_cnt; stktable_release(t, ts); return 1; @@ -1854,7 +1858,7 @@ smp->data.u.sint = !!stkctr; /* release the ref count */ - if ((stkctr == &tmpstkctr) && stkctr_entry(stkctr)) + if ((stkctr == &tmpstkctr)) stktable_release(stkctr->table, stkctr_entry(stkctr)); return 1;
