You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by zw...@apache.org on 2017/11/29 22:27:03 UTC

[trafficserver] branch master updated: header_rewrite - Delete cookies if they are empty in rm-cookie operation.

This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/master by this push:
     new b203b71  header_rewrite - Delete cookies if they are empty in rm-cookie operation.
b203b71 is described below

commit b203b71bc4fdb1edfb39f237c2d0bba2ad2c1848
Author: Steven Feltner <sf...@godaddy.com>
AuthorDate: Wed Nov 29 11:42:05 2017 -0700

    header_rewrite - Delete cookies if they are empty in rm-cookie operation.
---
 plugins/header_rewrite/operators.cc | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/plugins/header_rewrite/operators.cc b/plugins/header_rewrite/operators.cc
index 160c652..417a0fb 100644
--- a/plugins/header_rewrite/operators.cc
+++ b/plugins/header_rewrite/operators.cc
@@ -692,10 +692,15 @@ OperatorRMCookie::exec(const Resources &res) const
     int cookies_len     = 0;
     const char *cookies = TSMimeHdrFieldValueStringGet(res.bufp, res.hdr_loc, field_loc, -1, &cookies_len);
     std::string updated_cookie;
-    if (CookieHelper::cookieModifyHelper(cookies, cookies_len, updated_cookie, CookieHelper::COOKIE_OP_DEL, _cookie) &&
-        TS_SUCCESS ==
-          TSMimeHdrFieldValueStringSet(res.bufp, res.hdr_loc, field_loc, -1, updated_cookie.c_str(), updated_cookie.size())) {
-      TSDebug(PLUGIN_NAME, "OperatorRMCookie::exec, updated_cookie = [%s]", updated_cookie.c_str());
+    if (CookieHelper::cookieModifyHelper(cookies, cookies_len, updated_cookie, CookieHelper::COOKIE_OP_DEL, _cookie)) {
+      if (updated_cookie.empty()) {
+        if (TS_SUCCESS == TSMimeHdrFieldDestroy(res.bufp, res.hdr_loc, field_loc)) {
+          TSDebug(PLUGIN_NAME, "OperatorRMCookie::exec, empty cookie deleted");
+        }
+      } else if (TS_SUCCESS == TSMimeHdrFieldValueStringSet(res.bufp, res.hdr_loc, field_loc, -1, updated_cookie.c_str(),
+                                                            updated_cookie.size())) {
+        TSDebug(PLUGIN_NAME, "OperatorRMCookie::exec, updated_cookie = [%s]", updated_cookie.c_str());
+      }
     }
     TSHandleMLocRelease(res.bufp, res.hdr_loc, field_loc);
   }

-- 
To stop receiving notification emails like this one, please contact
['"commits@trafficserver.apache.org" <co...@trafficserver.apache.org>'].