[trafficserver] branch 9.0.x updated: Updated ChangeLog

2019-10-03 Thread bcall
This is an automated email from the ASF dual-hosted git repository.

bcall pushed a commit to branch 9.0.x
in repository https://gitbox.apache.org/repos/asf/trafficserver.git


The following commit(s) were added to refs/heads/9.0.x by this push:
 new a9a5b4b  Updated ChangeLog
a9a5b4b is described below

commit a9a5b4bcffcca51f01c5883ba9f35e928dd38129
Author: Bryan Call 
AuthorDate: Thu Oct 3 17:55:05 2019 -0700

Updated ChangeLog
---
 CHANGELOG-9.0.0 | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/CHANGELOG-9.0.0 b/CHANGELOG-9.0.0
index 05d7800..748314d 100644
--- a/CHANGELOG-9.0.0
+++ b/CHANGELOG-9.0.0
@@ -768,11 +768,13 @@ Changes with Apache Traffic Server 9.0.0
   #5848 - Convert check programs in iocore/eventsystem/ into Catch based unit 
tests
   #5853 - correct the size of DNS buffers
   #5856 - Fixes 'traffic_ctl server restart' to restart
+  #5857 - Check for nullptr when locking
   #5865 - cachekey: added --canonical-prefix parameter
   #5867 - PR#5867: Explain how to use open_con().
   #5868 - Update HttpTransact.cc
   #5870 - Fix bad limit in poll loop.  jtest -c1 now works again.
   #5872 - cachekey: added --key-type to allow parent selection URL to be 
modified
+  #5879 - Weak mutex locking macros
   #5883 - Add unit tests for MIOBuffer:write()
   #5885 - Add the ability to static link ASAN, TSAN and LSAN
   #5887 - Fixed const issue with magick plugin



[trafficserver] 02/02: weak mutex macros

2019-10-03 Thread bcall
This is an automated email from the ASF dual-hosted git repository.

bcall pushed a commit to branch 9.0.x
in repository https://gitbox.apache.org/repos/asf/trafficserver.git

commit 55e3ca68ba23bc690499feb832e43ca04a90aa78
Author: Fei Deng 
AuthorDate: Thu Sep 5 15:05:15 2019 -0500

weak mutex macros

(cherry picked from commit f0d82b7d55a25c7a74f379eac9d2852f7f08ced2)
---
 iocore/eventsystem/I_Lock.h  | 137 +++
 iocore/hostdb/HostDB.cc  |   2 +-
 iocore/net/SSLNetVConnection.cc  |   1 +
 proxy/ProxySession.cc|   2 +-
 proxy/http/HttpSM.cc |   2 +-
 src/traffic_server/InkAPI.cc |   4 +-
 src/traffic_server/traffic_server.cc |   4 +-
 7 files changed, 131 insertions(+), 21 deletions(-)

diff --git a/iocore/eventsystem/I_Lock.h b/iocore/eventsystem/I_Lock.h
index d599be2..4850199 100644
--- a/iocore/eventsystem/I_Lock.h
+++ b/iocore/eventsystem/I_Lock.h
@@ -48,13 +48,20 @@
   @param _t The current EThread executing your code.
 
 */
+
+// A weak version of the SCOPED_MUTEX_LOCK macro, allows the mutex to be a 
nullptr.
 #ifdef DEBUG
-#define SCOPED_MUTEX_LOCK(_l, _m, _t) MutexLock _l(MakeSourceLocation(), 
nullptr, _m, _t)
-#else
-#define SCOPED_MUTEX_LOCK(_l, _m, _t) MutexLock _l(_m, _t)
+#define WEAK_SCOPED_MUTEX_LOCK(_l, _m, _t) WeakMutexLock 
_l(MakeSourceLocation(), (char *)nullptr, _m, _t);
+#else // DEBUG
+#define WEAK_SCOPED_MUTEX_LOCK(_l, _m, _t) WeakMutexLock _l(_m, _t);
 #endif // DEBUG
 
 #ifdef DEBUG
+#define SCOPED_MUTEX_LOCK(_l, _m, _t) MutexLock _l(MakeSourceLocation(), (char 
*)nullptr, _m, _t)
+#else // DEBUG
+#define SCOPED_MUTEX_LOCK(_l, _m, _t) MutexLock _l(_m, _t)
+#endif // DEBUG
+
 /**
   Attempts to acquire the lock to the ProxyMutex.
 
@@ -68,8 +75,15 @@
   @param _t The current EThread executing your code.
 
 */
-#define MUTEX_TRY_LOCK(_l, _m, _t) MutexTryLock _l(MakeSourceLocation(), (char 
*)nullptr, _m, _t)
 
+#ifdef DEBUG
+#define WEAK_MUTEX_TRY_LOCK(_l, _m, _t) WeakMutexTryLock 
_l(MakeSourceLocation(), (char *)nullptr, _m, _t);
+#else // DEBUG
+#define WEAK_MUTEX_TRY_LOCK(_l, _m, _t) WeakMutexTryLock _l(_m, _t);
+#endif // DEBUG
+
+#ifdef DEBUG
+#define MUTEX_TRY_LOCK(_l, _m, _t) MutexTryLock _l(MakeSourceLocation(), (char 
*)nullptr, _m, _t)
 #else // DEBUG
 #define MUTEX_TRY_LOCK(_l, _m, _t) MutexTryLock _l(_m, _t)
 #endif // DEBUG
@@ -337,23 +351,21 @@ Mutex_unlock(Ptr , EThread *t)
   }
 }
 
-/** Scoped lock class for ProxyMutex
- */
-class MutexLock
+class WeakMutexLock
 {
 private:
   Ptr m;
   bool locked_p;
 
 public:
-  MutexLock(
+  WeakMutexLock(
 #ifdef DEBUG
 const SourceLocation , const char *ahandler,
 #endif // DEBUG
 Ptr , EThread *t)
 : m(am), locked_p(true)
   {
-if (am) {
+if (m.get()) {
   Mutex_lock(
 #ifdef DEBUG
 location, ahandler,
@@ -365,7 +377,42 @@ public:
   void
   release()
   {
-if (locked_p && m) {
+if (locked_p && m.get()) {
+  Mutex_unlock(m, m->thread_holding);
+}
+locked_p = false;
+  }
+
+  ~WeakMutexLock() { this->release(); }
+};
+
+/** Scoped lock class for ProxyMutex
+ */
+class MutexLock
+{
+private:
+  Ptr m;
+  bool locked_p;
+
+public:
+  MutexLock(
+#ifdef DEBUG
+const SourceLocation , const char *ahandler,
+#endif // DEBUG
+Ptr , EThread *t)
+: m(am), locked_p(true)
+  {
+Mutex_lock(
+#ifdef DEBUG
+  location, ahandler,
+#endif // DEBUG
+  m, t);
+  }
+
+  void
+  release()
+  {
+if (locked_p) {
   Mutex_unlock(m, m->thread_holding);
 }
 locked_p = false;
@@ -376,21 +423,21 @@ public:
 
 /** Scoped try lock class for ProxyMutex
  */
-class MutexTryLock
+class WeakMutexTryLock
 {
 private:
   Ptr m;
   bool lock_acquired;
 
 public:
-  MutexTryLock(
+  WeakMutexTryLock(
 #ifdef DEBUG
 const SourceLocation , const char *ahandler,
 #endif // DEBUG
 Ptr , EThread *t)
 : m(am)
   {
-if (am) {
+if (m.get()) {
   lock_acquired = Mutex_trylock(
 #ifdef DEBUG
 location, ahandler,
@@ -401,11 +448,12 @@ public:
 }
   }
 
-  ~MutexTryLock()
+  ~WeakMutexTryLock()
   {
 if (lock_acquired && m.get()) {
   Mutex_unlock(m, m->thread_holding);
 }
+lock_acquired = false;
   }
 
   /** Spin till lock is acquired
@@ -441,6 +489,67 @@ public:
   }
 };
 
+/** Scoped try lock class for ProxyMutex
+ */
+class MutexTryLock
+{
+private:
+  Ptr m;
+  bool lock_acquired;
+
+public:
+  MutexTryLock(
+#ifdef DEBUG
+const SourceLocation , const char *ahandler,
+#endif // DEBUG
+Ptr , EThread *t)
+: m(am)
+  {
+lock_acquired = Mutex_trylock(
+#ifdef DEBUG
+  location, ahandler,
+#endif // DEBUG
+  m, t);
+  }
+
+  ~MutexTryLock()
+  {
+if (lock_acquired) {
+  Mutex_unlock(m, m->thread_holding);
+}
+  }
+
+  /** Spin till lock is acquired
+   */
+  void
+  acquire(EThread *t)
+  {
+MUTEX_TAKE_LOCK(m, t);
+lock_acquired = true;
+  }
+
+  void
+  release()
+  {
+if 

[trafficserver] branch 9.0.x updated (e83a342 -> 55e3ca6)

2019-10-03 Thread bcall
This is an automated email from the ASF dual-hosted git repository.

bcall pushed a change to branch 9.0.x
in repository https://gitbox.apache.org/repos/asf/trafficserver.git.


from e83a342  Updated ChangeLog
 new 6d5c488  check for nullptr when locking
 new 55e3ca6  weak mutex macros

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 iocore/eventsystem/I_Lock.h  | 127 ---
 iocore/hostdb/HostDB.cc  |   2 +-
 iocore/net/SSLNetVConnection.cc  |   1 +
 proxy/ProxySession.cc|   2 +-
 proxy/http/HttpSM.cc |   2 +-
 src/traffic_server/InkAPI.cc |   4 +-
 src/traffic_server/traffic_server.cc |   4 +-
 7 files changed, 127 insertions(+), 15 deletions(-)



[trafficserver] 01/02: check for nullptr when locking

2019-10-03 Thread bcall
This is an automated email from the ASF dual-hosted git repository.

bcall pushed a commit to branch 9.0.x
in repository https://gitbox.apache.org/repos/asf/trafficserver.git

commit 6d5c488576e73de808ae24f77ae6240dd0c02d2b
Author: Fei Deng 
AuthorDate: Wed Aug 21 14:19:25 2019 -0500

check for nullptr when locking

(cherry picked from commit d75af6f2eb6c63aa216111bd7f477f1f4c775580)
---
 iocore/eventsystem/I_Lock.h | 10 ++
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/iocore/eventsystem/I_Lock.h b/iocore/eventsystem/I_Lock.h
index b5bef2c..d599be2 100644
--- a/iocore/eventsystem/I_Lock.h
+++ b/iocore/eventsystem/I_Lock.h
@@ -353,17 +353,19 @@ public:
 Ptr , EThread *t)
 : m(am), locked_p(true)
   {
-Mutex_lock(
+if (am) {
+  Mutex_lock(
 #ifdef DEBUG
-  location, ahandler,
+location, ahandler,
 #endif // DEBUG
-  m, t);
+m, t);
+}
   }
 
   void
   release()
   {
-if (locked_p) {
+if (locked_p && m) {
   Mutex_unlock(m, m->thread_holding);
 }
 locked_p = false;



[trafficserver] branch master updated (f0d82b7 -> 197a4d5)

2019-10-03 Thread bcall
This is an automated email from the ASF dual-hosted git repository.

bcall pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/trafficserver.git.


from f0d82b7  weak mutex macros
 add 197a4d5  Adds build targets on CI for 9.0.x

No new revisions were added by this update.

Summary of changes:
 ci/jenkins/bin/gh-mirror.sh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)



[trafficserver] branch master updated (526efb0 -> f0d82b7)

2019-10-03 Thread duke8253
This is an automated email from the ASF dual-hosted git repository.

duke8253 pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/trafficserver.git.


from 526efb0  Fix a build issue on enabling FIPS
 add f0d82b7  weak mutex macros

No new revisions were added by this update.

Summary of changes:
 iocore/eventsystem/I_Lock.h  | 137 +++
 iocore/hostdb/HostDB.cc  |   2 +-
 iocore/net/SSLNetVConnection.cc  |   1 +
 proxy/ProxySession.cc|   2 +-
 proxy/http/HttpSM.cc |   2 +-
 src/traffic_server/InkAPI.cc |   4 +-
 src/traffic_server/traffic_server.cc |   4 +-
 7 files changed, 131 insertions(+), 21 deletions(-)



[trafficserver] branch 9.0.x updated: Updated ChangeLog

2019-10-03 Thread zwoop
This is an automated email from the ASF dual-hosted git repository.

zwoop pushed a commit to branch 9.0.x
in repository https://gitbox.apache.org/repos/asf/trafficserver.git


The following commit(s) were added to refs/heads/9.0.x by this push:
 new e83a342  Updated ChangeLog
e83a342 is described below

commit e83a34297b58e03c9f9e4036ed948e67f0de18da
Author: Leif Hedstrom 
AuthorDate: Thu Oct 3 11:40:21 2019 -0600

Updated ChangeLog
---
 CHANGELOG-9.0.0 | 35 ++-
 1 file changed, 34 insertions(+), 1 deletion(-)

diff --git a/CHANGELOG-9.0.0 b/CHANGELOG-9.0.0
index 1b0e8a2..05d7800 100644
--- a/CHANGELOG-9.0.0
+++ b/CHANGELOG-9.0.0
@@ -186,6 +186,7 @@ Changes with Apache Traffic Server 9.0.0
   #4603 - Add cdniip and cdnistd claims to uri signing
   #4604 - Repurpose sub claim and add cdniuc support for URI signing
   #4606 - TLS Bridge: Fix remap for UA connection, tweak docs for remap 
support.
+  #4607 - adding TSHttpTxnRedoCacheLookup
   #4609 - BWF: Change timestamp global name to be consistent with logging 
timestamps
   #4613 - Runroot: Update verify command and refactor
   #4616 - [WEBP] Transform images when a client accepts image/webp.
@@ -458,7 +459,6 @@ Changes with Apache Traffic Server 9.0.0
   #5297 - Doc: fix proxy.config.cache.ram_cache.algorithm description
   #5301 - Slice Plugin: add options for disabling or pacing detailed block 
stitch error logging.
   #5302 - Correct config name for proxy.config.dns.connection_mode
-  #5305 - Throttling results in tight loop if there are no new connections
   #5306 - Removes priorities for AIOs, thanks oknet
   #5307 - correctly handle return value 0 from recv()
   #5308 - cppcheck: Changed from C casting to C++ casting
@@ -702,6 +702,7 @@ Changes with Apache Traffic Server 9.0.0
   #5722 - In test_hooks Au test case, add work-around for flakeyness of VCONN 
start/close events.
   #5723 - Update docs to document wipe_field_action that we use in production
   #5724 - Enable logging of the Elliptic Curve used to communicate with the 
client
+  #5726 - Expose client request SSL stats via API & Lua plugin
   #5728 - Remove header_rewrite conditions deprecated in previous versions
   #5730 - Cleanup and link references to sni.yaml
   #5731 - Use un-deprecated records for SSL server verification
@@ -743,6 +744,8 @@ Changes with Apache Traffic Server 9.0.0
   #5803 - Make TS_NULL_MLOC a valid C compile-time constant.
   #5806 - More doc spelling fixes
   #5808 - Remove unused assignment to satisfy clang-analyzer
+  #5809 - Address possible use after free issue in HttpVCTable::remove_entry
+  #5811 - Fix no_activity timeout for server session reuse.
   #5813 - Fixes broken links to documentation
   #5815 - Updates links to trafficserver.apache.org to https
   #5817 - Fixes various issues found in docs
@@ -762,4 +765,34 @@ Changes with Apache Traffic Server 9.0.0
   #5841 - Cleanup: unifdef WRITE_AND_TRANSFER
   #5844 - Explain how SRV origin selection works
   #5847 - Cleanup: Remove unused empty files
+  #5848 - Convert check programs in iocore/eventsystem/ into Catch based unit 
tests
+  #5853 - correct the size of DNS buffers
   #5856 - Fixes 'traffic_ctl server restart' to restart
+  #5865 - cachekey: added --canonical-prefix parameter
+  #5867 - PR#5867: Explain how to use open_con().
+  #5868 - Update HttpTransact.cc
+  #5870 - Fix bad limit in poll loop.  jtest -c1 now works again.
+  #5872 - cachekey: added --key-type to allow parent selection URL to be 
modified
+  #5883 - Add unit tests for MIOBuffer:write()
+  #5885 - Add the ability to static link ASAN, TSAN and LSAN
+  #5887 - Fixed const issue with magick plugin
+  #5888 - Allow disabling HTTP/2 priority frames limit
+  #5889 - Provide stats for the recently introduced HTTP/2 rate limits
+  #5893 - Cleanup: Remove unused AllocType and unused functions
+  #5902 - Ran clang-format
+  #5903 - Reduce unnecesary IOBufferBlock allocation
+  #5905 - Update Server IP in Transaction when attaching a session from the 
pool
+  #5915 - Update documentation for connect_attempts_timeout.
+  #5920 - Cleanup: VIO
+  #5921 - Cleanup AuTest for HTTP/2
+  #5922 - Make code buildable with BoringSSL
+  #5926 - Fix AuTest for HTTP/2 using httpbin
+  #5930 - Track SSL session cache evictions performed due to full bucket
+  #5934 - Track scheduled events to (read|write)_vio.cont from Http2Stream
+  #5935 - Perform a SSL quiet shutdown when close-notify is not sent
+  #5939 - Remove hard coded filename in error message
+  #5955 - Fix debug output for global_user_agent_header.
+  #5959 - Clear api set bit to avoid crash in following redirect.
+  #5961 - Clarify docs on the change from redirect_enabled.
+  #5962 - Removed hardcoded sni.yaml configuration filename in logs
+  #5977 - YAML config:  output erroneous keyword and line number