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 2011/06/09 19:46:51 UTC
svn commit: r1134013 - in /trafficserver/traffic/branches/3.0.x: ./ CHANGES
STATUS iocore/net/Socks.cc proxy/hdrs/MIME.cc proxy/http/HttpTransact.cc
Author: zwoop
Date: Thu Jun 9 17:46:50 2011
New Revision: 1134013
URL: http://svn.apache.org/viewvc?rev=1134013&view=rev
Log:
Merge approved backport bugs from trunk
Modified:
trafficserver/traffic/branches/3.0.x/ (props changed)
trafficserver/traffic/branches/3.0.x/CHANGES
trafficserver/traffic/branches/3.0.x/STATUS
trafficserver/traffic/branches/3.0.x/iocore/net/Socks.cc
trafficserver/traffic/branches/3.0.x/proxy/hdrs/MIME.cc
trafficserver/traffic/branches/3.0.x/proxy/http/HttpTransact.cc
Propchange: trafficserver/traffic/branches/3.0.x/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Jun 9 17:46:50 2011
@@ -1,4 +1,4 @@
/incubator/trafficserver/traffic/branches/dev:891823-915885
/trafficserver/traffic/branches/ts-291:965529-991993
/trafficserver/traffic/branches/wccp:1021790-1040544
-/trafficserver/traffic/trunk:1129268,1131473
+/trafficserver/traffic/trunk:1129268,1131080,1131473,1133066,1133071
Modified: trafficserver/traffic/branches/3.0.x/CHANGES
URL: http://svn.apache.org/viewvc/trafficserver/traffic/branches/3.0.x/CHANGES?rev=1134013&r1=1134012&r2=1134013&view=diff
==============================================================================
--- trafficserver/traffic/branches/3.0.x/CHANGES (original)
+++ trafficserver/traffic/branches/3.0.x/CHANGES Thu Jun 9 17:46:50 2011
@@ -1,15 +1,24 @@
-*- coding: utf-8 -*-
Changes with Apache Traffic Server 3.0.0
+ *) [TS-827] TSMimeHdrFieldValueStringInsert() can use freed memory to
+ edit headers. Author: William Bardwell.
+
+ *) [TS-825] negative caching caches responses that should never be
+ cached: Author: William Bardwell.
+
*) [TS-820] Restore log buffer size to previous defaults.
- *) [TS-798] We add broken remap rules when we encounter parse errors of
- remap.config.
+ *) [TS-818] Assertion/abort when starting TS with SOCKS proxy enabled.
+ Author: Yakov Markovitch
*) [TS-810] Typo in switch statement + slight improvement.
*) [TS-809] ts.h broken when compiling C plugins.
+ *) [TS-798] We add broken remap rules when we encounter parse errors of
+ remap.config.
+
Changes with Apache Traffic Server 2.1.9
*) [TS-805] HostDB wastes a lot of storage for round-robin entries,
Modified: trafficserver/traffic/branches/3.0.x/STATUS
URL: http://svn.apache.org/viewvc/trafficserver/traffic/branches/3.0.x/STATUS?rev=1134013&r1=1134012&r2=1134013&view=diff
==============================================================================
--- trafficserver/traffic/branches/3.0.x/STATUS (original)
+++ trafficserver/traffic/branches/3.0.x/STATUS Thu Jun 9 17:46:50 2011
@@ -39,22 +39,6 @@ A list of all bugs open for the next v3.
PATCHES PROPOSED TO BACKPORT FROM TRUNK:
[ New proposals should be added at the end of the list ]
- * SOCKS: Assertion/abort when starting TS with SOCKS proxy enabled
- Trunk patch: http://svn.apache.org/viewvc?rev=1131080&view=rev
- Jira: https://issues.apache.org/jira/browse/TS-818
- +1: zwoop, ming_zym, ericb, jplevyak
-
- * HTTP: We can end up caching responses which should not be cached,
- when negative caching is enabled.
- Trunk patch: http://svn.apache.org/viewvc?rev=1133066&view=rev
- Jira: https://issues.apache.org/jira/browse/TS-825
- +1: zwoop, ming_zym, ericb, jplevyak
-
- * API: It's possible for a plugin to end up using free'd memory
- Trunk patch: http://svn.apache.org/viewvc?rev=1133071&view=rev
- Jira: https://issues.apache.org/jira/browse/TS-827
- +1: zwoop, ericb, jplevyak
-
RELEASE PROCESS
Modified: trafficserver/traffic/branches/3.0.x/iocore/net/Socks.cc
URL: http://svn.apache.org/viewvc/trafficserver/traffic/branches/3.0.x/iocore/net/Socks.cc?rev=1134013&r1=1134012&r2=1134013&view=diff
==============================================================================
--- trafficserver/traffic/branches/3.0.x/iocore/net/Socks.cc (original)
+++ trafficserver/traffic/branches/3.0.x/iocore/net/Socks.cc Thu Jun 9 17:46:50 2011
@@ -431,11 +431,6 @@ SocksEntry::mainEvent(int event, void *d
return ret;
}
-#define SOCKS_REG_STAT(stat) \
- RecRegisterRawStat(net_rsb, RECT_PROCESS, \
- "proxy.process.socks." #stat, RECD_INT, RECP_NULL, \
- socks_##stat##_stat, RecRawStatSyncSum)
-
void
loadSocksConfiguration(socks_conf_struct * socks_conf_stuff)
{
@@ -514,9 +509,6 @@ loadSocksConfiguration(socks_conf_struct
goto error;
}
Debug("Socks", "Socks Turned on");
- SOCKS_REG_STAT(connections_successful);
- SOCKS_REG_STAT(connections_unsuccessful);
- SOCKS_REG_STAT(connections_currently_open);
::close(socks_config_fd);
return;
Modified: trafficserver/traffic/branches/3.0.x/proxy/hdrs/MIME.cc
URL: http://svn.apache.org/viewvc/trafficserver/traffic/branches/3.0.x/proxy/hdrs/MIME.cc?rev=1134013&r1=1134012&r2=1134013&view=diff
==============================================================================
--- trafficserver/traffic/branches/3.0.x/proxy/hdrs/MIME.cc (original)
+++ trafficserver/traffic/branches/3.0.x/proxy/hdrs/MIME.cc Thu Jun 9 17:46:50 2011
@@ -1938,6 +1938,19 @@ mime_field_value_str_from_strlist(HdrHea
return new_value;
}
+// Make sure that there is enough space for a header value string with out calling coalesce_str_heaps()
+// when we have pointers into the heap. TODO: This might need to attention for a future release, but
+// ok for now. /leif
+static void verify_heap_prealloc(HdrHeap *heap, size_t prealloc_len)
+{
+ // If there just isn't enough free space in the read-write heap.
+ if (heap->m_read_write_heap && heap->m_read_write_heap->m_free_size <= prealloc_len) {
+ // Allocate enough space, 'free' it, and then coalesce it so it will actually be free not just lost.
+ heap->free_string(heap->allocate_str(prealloc_len), prealloc_len);
+ heap->coalesce_str_heaps();
+ }
+}
+
/*-------------------------------------------------------------------------
-------------------------------------------------------------------------*/
@@ -1949,6 +1962,8 @@ mime_field_value_set_comma_val(HdrHeap *
Str *cell;
StrList list(false);
+ verify_heap_prealloc(heap, field->m_len_value + 2 + new_piece_len);
+
// (1) rip the value into tokens, keeping surrounding quotes, but not whitespace
HttpCompat::parse_tok_list(&list, 0, field->m_ptr_value, field->m_len_value, ',');
@@ -1979,6 +1994,8 @@ mime_field_value_delete_comma_val(HdrHea
Str *cell;
StrList list(false);
+ verify_heap_prealloc(heap, field->m_len_value);
+
// (1) rip the value into tokens, keeping surrounding quotes, but not whitespace
HttpCompat::parse_tok_list(&list, 0, field->m_ptr_value, field->m_len_value, ',');
@@ -2025,6 +2042,7 @@ mime_field_value_insert_comma_val(HdrHea
Str *cell, *prev;
StrList list(false);
+ verify_heap_prealloc(heap, field->m_len_value + 2 + new_piece_len);
// (1) rip the value into tokens, keeping surrounding quotes, but not whitespace
HttpCompat::parse_tok_list(&list, 0, field->m_ptr_value, field->m_len_value, ',');
@@ -2065,6 +2083,8 @@ mime_field_value_extend_comma_val(HdrHea
size_t extended_len;
char *dest, *temp_ptr, temp_buf[128];
+ verify_heap_prealloc(heap, field->m_len_value + 2 + new_piece_len);
+
// (1) rip the value into tokens, keeping surrounding quotes, but not whitespace
HttpCompat::parse_tok_list(&list, 0, field->m_ptr_value, field->m_len_value, ',');
Modified: trafficserver/traffic/branches/3.0.x/proxy/http/HttpTransact.cc
URL: http://svn.apache.org/viewvc/trafficserver/traffic/branches/3.0.x/proxy/http/HttpTransact.cc?rev=1134013&r1=1134012&r2=1134013&view=diff
==============================================================================
--- trafficserver/traffic/branches/3.0.x/proxy/http/HttpTransact.cc (original)
+++ trafficserver/traffic/branches/3.0.x/proxy/http/HttpTransact.cc Thu Jun 9 17:46:50 2011
@@ -6324,6 +6324,10 @@ HttpTransact::is_response_cacheable(Stat
return false;
}
}
+ if (response_code == HTTP_STATUS_SEE_OTHER ||
+ response_code == HTTP_STATUS_UNAUTHORIZED ||
+ response_code == HTTP_STATUS_PROXY_AUTHENTICATION_REQUIRED)
+ return false;
// let is_negative_caching_approriate decide what to do
return true;
/* Since we weren't caching response obtained with