Author: igalic
Date: Mon Sep 19 20:23:45 2011
New Revision: 1172798
URL: http://svn.apache.org/viewvc?rev=1172798&view=rev
Log:
TS-953: consolidate string copy/concat for the rest of mgmt/api/.
Modified:
trafficserver/traffic/trunk/mgmt/api/CfgContextImpl.cc
trafficserver/traffic/trunk/mgmt/api/CfgContextManager.cc
trafficserver/traffic/trunk/mgmt/api/CfgContextUtils.cc
trafficserver/traffic/trunk/mgmt/api/CoreAPIShared.cc
trafficserver/traffic/trunk/mgmt/api/GenericParser.cc
trafficserver/traffic/trunk/mgmt/api/INKMgmtAPI.cc
trafficserver/traffic/trunk/mgmt/api/remote/NetworkUtilsRemote.cc
Modified: trafficserver/traffic/trunk/mgmt/api/CfgContextImpl.cc
URL:
http://svn.apache.org/viewvc/trafficserver/traffic/trunk/mgmt/api/CfgContextImpl.cc?rev=1172798&r1=1172797&r2=1172798&view=diff
==============================================================================
--- trafficserver/traffic/trunk/mgmt/api/CfgContextImpl.cc (original)
+++ trafficserver/traffic/trunk/mgmt/api/CfgContextImpl.cc Mon Sep 19 20:23:45
2011
@@ -1,6 +1,6 @@
/** @file
- A brief file description
+ Implementation of CfgContext class and all the CfgEleObj subclasses
@section license License
@@ -21,11 +21,6 @@
limitations under the License.
*/
-/***********************************************************************
- * CfgContextImpl.cc
- *
- * Implementation of CfgContext class and all the CfgEleObj subclasses
- ***********************************************************************/
#include "libts.h"
#include "ink_platform.h"
@@ -147,51 +142,51 @@ CacheObj::formatEleToRule()
m_ele->cfg_ele.error = TS_ERR_INVALID_CONFIG_RULE;
return NULL;
}
- strncat(buf, pd_str, sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, pd_str, sizeof(buf));
ats_free(pd_str);
switch (m_ele->cfg_ele.type) {
case TS_CACHE_NEVER:
- strncat(buf, "action=never-cache ", sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, "action=never-cache ", sizeof(buf));
break;
case TS_CACHE_IGNORE_NO_CACHE:
- strncat(buf, "action=ignore-no-cache ", sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, "action=ignore-no-cache ", sizeof(buf));
break;
case TS_CACHE_IGNORE_CLIENT_NO_CACHE:
- strncat(buf, "action=ignore-client-no-cache ", sizeof(buf) - strlen(buf) -
1);
+ ink_strlcat(buf, "action=ignore-client-no-cache ", sizeof(buf));
break;
case TS_CACHE_IGNORE_SERVER_NO_CACHE:
- strncat(buf, "action=ignore-server-no-cache ", sizeof(buf) - strlen(buf) -
1);
+ ink_strlcat(buf, "action=ignore-server-no-cache ", sizeof(buf));
break;
case TS_CACHE_AUTH_CONTENT:
- strncat(buf, "action=cache-auth-content ", sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, "action=cache-auth-content ", sizeof(buf));
break;
case TS_CACHE_PIN_IN_CACHE:
- strncat(buf, "pin-in-cache=", sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, "pin-in-cache=", sizeof(buf));
time_str = hms_time_to_string(m_ele->time_period);
if (time_str) {
- strncat(buf, time_str, sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, time_str, sizeof(buf));
ats_free(time_str);
}
- strncat(buf, " ", sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, " ", sizeof(buf));
break;
case TS_CACHE_REVALIDATE:
- strncat(buf, "revalidate=", sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, "revalidate=", sizeof(buf));
time_str = hms_time_to_string(m_ele->time_period);
if (time_str) {
- strncat(buf, time_str, sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, time_str, sizeof(buf));
ats_free(time_str);
}
- strncat(buf, " ", sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, " ", sizeof(buf));
break;
case TS_CACHE_TTL_IN_CACHE:
- strncat(buf, "ttl-in-cache=", sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, "ttl-in-cache=", sizeof(buf));
time_str = hms_time_to_string(m_ele->time_period);
if (time_str) {
- strncat(buf, time_str, sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, time_str, sizeof(buf));
ats_free(time_str);
}
- strncat(buf, " ", sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, " ", sizeof(buf));
break;
default:
// Handled here:
@@ -549,10 +544,10 @@ HostingObj::formatEleToRule()
switch (m_ele->pd_type) {
case TS_PD_HOST:
- strncat(buf, "hostname=", sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, "hostname=", sizeof(buf));
break;
case TS_PD_DOMAIN:
- strncat(buf, "domain=", sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, "domain=", sizeof(buf));
break;
default:
// Handled here:
@@ -561,9 +556,9 @@ HostingObj::formatEleToRule()
}
list_str = int_list_to_string(m_ele->volumes, ",");
- strncat(buf, m_ele->pd_val, sizeof(buf) - strlen(buf) - 1);
- strncat(buf, " volume=", sizeof(buf) - strlen(buf) - 1);
- strncat(buf, list_str, sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, m_ele->pd_val, sizeof(buf));
+ ink_strlcat(buf, " volume=", sizeof(buf));
+ ink_strlcat(buf, list_str, sizeof(buf));
ats_free(list_str);
return ats_strdup(buf);
@@ -787,13 +782,13 @@ IcpObj::formatEleToRule()
switch (m_ele->mc_ttl) {
case TS_MC_TTL_SINGLE_SUBNET:
- strncat(buf, "1:", sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, "1:", sizeof(buf));
break;
case TS_MC_TTL_MULT_SUBNET:
- strncat(buf, "2:", sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, "2:", sizeof(buf));
break;
case TS_MC_TTL_UNDEFINED:
- strncat(buf, "0:", sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, "0:", sizeof(buf));
break;
}
@@ -927,22 +922,22 @@ IpAllowObj::formatEleToRule()
char buf[MAX_RULE_SIZE];
memset(buf, 0, MAX_RULE_SIZE);
- ink_strncpy(buf, "src_ip=", sizeof(buf));
+ ink_strlcpy(buf, "src_ip=", sizeof(buf));
if (m_ele->src_ip_addr) {
char *ip_str = ip_addr_ele_to_string(m_ele->src_ip_addr);
if (ip_str) {
- strncat(buf, ip_str, sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, ip_str, sizeof(buf));
ats_free(ip_str);
}
}
- strncat(buf, " action=", sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, " action=", sizeof(buf));
switch (m_ele->action) {
case TS_IP_ALLOW_ALLOW:
- strncat(buf, "ip_allow", sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, "ip_allow", sizeof(buf));
break;
case TS_IP_ALLOW_DENY:
- strncat(buf, "ip_deny", sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, "ip_deny", sizeof(buf));
break;
default:
// Handled here:
@@ -1099,24 +1094,24 @@ ParentProxyObj::formatEleToRule()
pd_str = pdest_sspec_to_string(m_ele->parent_info.pd_type,
m_ele->parent_info.pd_val, &(m_ele->parent_info.sec_spec));
if (!pd_str)
return NULL;
- strncat(buf, pd_str, sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, pd_str, sizeof(buf));
ats_free(pd_str);
// round_robin
if ((m_ele->rr != TS_RR_NONE) && (m_ele->rr != TS_RR_UNDEFINED)) {
if (!isspace(buf[strlen(buf) - 1])) {
- strncat(buf, " ", sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, " ", sizeof(buf));
}
- strncat(buf, "round_robin=", sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, "round_robin=", sizeof(buf));
switch (m_ele->rr) {
case TS_RR_TRUE:
- strncat(buf, "true", sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, "true", sizeof(buf));
break;
case TS_RR_STRICT:
- strncat(buf, "strict", sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, "strict", sizeof(buf));
break;
case TS_RR_FALSE:
- strncat(buf, "false", sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, "false", sizeof(buf));
break;
default:
// Handled here:
@@ -1128,29 +1123,29 @@ ParentProxyObj::formatEleToRule()
if (m_ele->proxy_list != NULL) {
// include space delimiter if not already exist
if (!isspace(buf[strlen(buf) - 1])) {
- strncat(buf, " ", sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, " ", sizeof(buf));
}
list_str = domain_list_to_string(m_ele->proxy_list, ";");
- strncat(buf, "parent=\"", sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, "parent=\"", sizeof(buf));
if (list_str) {
- strncat(buf, list_str, sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, list_str, sizeof(buf));
ats_free(list_str);
}
- strncat(buf, "\"", sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, "\"", sizeof(buf));
}
if (m_ele->direct) {
// include space delimiter if not already exist
if (!isspace(buf[strlen(buf) - 1])) {
- strncat(buf, " ", sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, " ", sizeof(buf));
}
- strncat(buf, "go_direct=true", sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, "go_direct=true", sizeof(buf));
} else {
if (!isspace(buf[strlen(buf) - 1])) {
- strncat(buf, " ", sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, " ", sizeof(buf));
}
- strncat(buf, "go_direct=false", sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, "go_direct=false", sizeof(buf));
}
return ats_strdup(buf);
@@ -1264,7 +1259,7 @@ VolumeObj::formatEleToRule()
switch (m_ele->scheme) {
case TS_VOLUME_HTTP:
- strncat(buf, "http", sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, "http", sizeof(buf));
break;
default:
// Handled here:
@@ -1276,7 +1271,7 @@ VolumeObj::formatEleToRule()
snprintf(buf + pos, sizeof(buf) - pos, " size=%d", m_ele->volume_size);
switch (m_ele->size_format) {
case TS_SIZE_FMT_PERCENT:
- strncat(buf, "%", sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, "%", sizeof(buf));
break;
default:
// Handled here:
@@ -1497,8 +1492,8 @@ RemapObj::RemapObj(TokenList * tokens)
memset(buf, 0, MAX_RULE_SIZE);
for (int i = current; fromTok[i]; i++) {
- strncat(buf, fromTok[i], sizeof(buf) - strlen(buf) - 1);
- strncat(buf, "/", sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, fromTok[i], sizeof(buf));
+ ink_strlcat(buf, "/", sizeof(buf));
}
if ((token->name)[strlen(token->name) - 1] != '/') {
@@ -1510,9 +1505,9 @@ RemapObj::RemapObj(TokenList * tokens)
} else {
if ((token->name)[strlen(token->name) - 1] == '/') {
memset(buf, 0, MAX_RULE_SIZE);
- ink_strncpy(buf, m_ele->from_host, sizeof(buf));
+ ink_strlcpy(buf, m_ele->from_host, sizeof(buf));
ats_free(m_ele->from_host);
- strncat(buf, "/", sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, "/", sizeof(buf));
m_ele->from_host = ats_strdup(buf);
}
}
@@ -1553,8 +1548,8 @@ RemapObj::RemapObj(TokenList * tokens)
memset(buf, 0, MAX_RULE_SIZE);
for (int i = current; toTok[i]; i++) {
- strncat(buf, toTok[i], sizeof(buf) - strlen(buf) - 1);
- strncat(buf, "/", sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, toTok[i], sizeof(buf));
+ ink_strlcat(buf, "/", sizeof(buf));
}
if ((token->name)[strlen(token->name) - 1] != '/') {
@@ -1567,9 +1562,9 @@ RemapObj::RemapObj(TokenList * tokens)
if ((token->value)[strlen(token->value) - 1] == '/') {
memset(buf, 0, MAX_RULE_SIZE);
- ink_strncpy(buf, m_ele->to_host, sizeof(buf));
+ ink_strlcpy(buf, m_ele->to_host, sizeof(buf));
ats_free(m_ele->to_host);
- strncat(buf, "/", sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, "/", sizeof(buf));
m_ele->to_host = ats_strdup(buf);
}
@@ -1600,16 +1595,16 @@ RemapObj::formatEleToRule()
switch (m_ele->cfg_ele.type) {
case TS_REMAP_MAP:
- strncat(buf, "map", sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, "map", sizeof(buf));
break;
case TS_REMAP_REVERSE_MAP:
- strncat(buf, "reverse_map", sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, "reverse_map", sizeof(buf));
break;
case TS_REMAP_REDIRECT:
- strncat(buf, "redirect", sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, "redirect", sizeof(buf));
break;
case TS_REMAP_REDIRECT_TEMP:
- strncat(buf, "redirect_temporary", sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, "redirect_temporary", sizeof(buf));
break;
default:
// Handled here:
@@ -1617,26 +1612,26 @@ RemapObj::formatEleToRule()
break;
}
// space delimitor
- strncat(buf, " ", sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, " ", sizeof(buf));
// from scheme
switch (m_ele->from_scheme) {
case TS_SCHEME_HTTP:
- strncat(buf, "http", sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, "http", sizeof(buf));
break;
case TS_SCHEME_HTTPS:
- strncat(buf, "https", sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, "https", sizeof(buf));
break;
default:
// Handled here:
// TS_SCHEME_NONE, TS_SCHEME_UNDEFINED
break;
}
- strncat(buf, "://", sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, "://", sizeof(buf));
// from host
if (m_ele->from_host) {
- strncat(buf, m_ele->from_host, sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, m_ele->from_host, sizeof(buf));
}
// from port
if (m_ele->from_port != TS_INVALID_PORT) {
@@ -1644,30 +1639,30 @@ RemapObj::formatEleToRule()
}
// from host path
if (m_ele->from_path_prefix) {
- strncat(buf, "/", sizeof(buf) - strlen(buf) - 1);
- strncat(buf, m_ele->from_path_prefix, sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, "/", sizeof(buf));
+ ink_strlcat(buf, m_ele->from_path_prefix, sizeof(buf));
}
// space delimitor
- strncat(buf, " ", sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, " ", sizeof(buf));
// to scheme
switch (m_ele->to_scheme) {
case TS_SCHEME_HTTP:
- strncat(buf, "http", sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, "http", sizeof(buf));
break;
case TS_SCHEME_HTTPS:
- strncat(buf, "https", sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, "https", sizeof(buf));
break;
default:
// Handled here:
// TS_SCHEME_NONE, TS_SCHEME_UNDEFINED
break;
}
- strncat(buf, "://", sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, "://", sizeof(buf));
// to host
if (m_ele->to_host) {
- strncat(buf, m_ele->to_host, sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, m_ele->to_host, sizeof(buf));
}
// to port
if (m_ele->to_port != TS_INVALID_PORT) {
@@ -1675,8 +1670,8 @@ RemapObj::formatEleToRule()
}
// to host path
if (m_ele->to_path_prefix) {
- strncat(buf, "/", sizeof(buf) - strlen(buf) - 1);
- strncat(buf, m_ele->to_path_prefix, sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, "/", sizeof(buf));
+ ink_strlcat(buf, m_ele->to_path_prefix, sizeof(buf));
}
return ats_strdup(buf);
@@ -1866,8 +1861,8 @@ SocksObj::formatEleToRule()
// destination ip
char *ip_str = ip_addr_ele_to_string((TSIpAddrEle *) m_ele->dest_ip_addr);
if (ip_str) {
- strncat(buf, "dest_ip=", sizeof(buf) - strlen(buf) - 1);
- strncat(buf, ip_str, sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, "dest_ip=", sizeof(buf));
+ ink_strlcat(buf, ip_str, sizeof(buf));
ats_free(ip_str);
} else {
return NULL; // invalid IP
@@ -1877,13 +1872,13 @@ SocksObj::formatEleToRule()
if (m_ele->socks_servers != NULL) {
// include space delimiter if not already exist
if (!isspace(buf[strlen(buf) - 1])) {
- strncat(buf, " ", sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, " ", sizeof(buf));
}
char *list_str = domain_list_to_string(m_ele->socks_servers, ";");
if (list_str) {
- strncat(buf, "parent=\"", sizeof(buf) - strlen(buf) - 1);
- strncat(buf, list_str, sizeof(buf) - strlen(buf) - 1);
- strncat(buf, "\"", sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, "parent=\"", sizeof(buf));
+ ink_strlcat(buf, list_str, sizeof(buf));
+ ink_strlcat(buf, "\"", sizeof(buf));
ats_free(list_str);
} else {
return NULL; // invalid list
@@ -1892,18 +1887,18 @@ SocksObj::formatEleToRule()
// round-robin, if specified
if ((m_ele->rr != TS_RR_NONE) && (m_ele->rr != TS_RR_UNDEFINED)) {
if (!isspace(buf[strlen(buf) - 1])) {
- strncat(buf, " ", sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, " ", sizeof(buf));
}
- strncat(buf, "round_robin=", sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, "round_robin=", sizeof(buf));
switch (m_ele->rr) {
case TS_RR_TRUE:
- strncat(buf, "true", sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, "true", sizeof(buf));
break;
case TS_RR_STRICT:
- strncat(buf, "strict", sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, "strict", sizeof(buf));
break;
case TS_RR_FALSE:
- strncat(buf, "false", sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, "false", sizeof(buf));
break;
default:
// Handled here:
@@ -2083,60 +2078,60 @@ SplitDnsObj::formatEleToRule()
}
if (m_ele->pd_val) {
- strncat(buf, pd_name, sizeof(buf) - strlen(buf) - 1);
- strncat(buf, "=", sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, pd_name, sizeof(buf));
+ ink_strlcat(buf, "=", sizeof(buf));
if (strstr(m_ele->pd_val, " ")) {
- strncat(buf, "\"", sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, "\"", sizeof(buf));
}
- strncat(buf, m_ele->pd_val, sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, m_ele->pd_val, sizeof(buf));
if (strstr(m_ele->pd_val, " ")) {
- strncat(buf, "\"", sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, "\"", sizeof(buf));
}
- strncat(buf, " ", sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, " ", sizeof(buf));
}
if (m_ele->dns_servers_addrs) {
- strncat(buf, "named=", sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, "named=", sizeof(buf));
char *temp = domain_list_to_string((LLQ *) m_ele->dns_servers_addrs, ";");
if (temp) {
if (strstr(temp, " ")) {
- strncat(buf, "\"", sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, "\"", sizeof(buf));
}
- strncat(buf, temp, sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, temp, sizeof(buf));
if (strstr(temp, " ")) {
- strncat(buf, "\"", sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, "\"", sizeof(buf));
}
ats_free(temp);
}
- strncat(buf, " ", sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, " ", sizeof(buf));
}
if (m_ele->def_domain) {
- strncat(buf, "def_domain=", sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, "def_domain=", sizeof(buf));
if (strstr(m_ele->def_domain, " ")) {
- strncat(buf, "\"", sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, "\"", sizeof(buf));
}
- strncat(buf, m_ele->def_domain, sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, m_ele->def_domain, sizeof(buf));
if (strstr(m_ele->def_domain, " ")) {
- strncat(buf, "\"", sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, "\"", sizeof(buf));
}
- strncat(buf, " ", sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, " ", sizeof(buf));
}
if (m_ele->search_list) {
- strncat(buf, "search_list=", sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, "search_list=", sizeof(buf));
char *temp = domain_list_to_string(m_ele->search_list, ";");
if (temp) {
if (strstr(temp, " ")) {
- strncat(buf, "\"", sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, "\"", sizeof(buf));
}
- strncat(buf, temp, sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, temp, sizeof(buf));
if (strstr(temp, " ")) {
- strncat(buf, "\"", sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, "\"", sizeof(buf));
}
ats_free(temp);
}
- strncat(buf, " ", sizeof(buf) - strlen(buf) - 1);
+ ink_strlcat(buf, " ", sizeof(buf));
}
// chop the last space
while (isspace(buf[strlen(buf) - 1])) {
Modified: trafficserver/traffic/trunk/mgmt/api/CfgContextManager.cc
URL:
http://svn.apache.org/viewvc/trafficserver/traffic/trunk/mgmt/api/CfgContextManager.cc?rev=1172798&r1=1172797&r2=1172798&view=diff
==============================================================================
--- trafficserver/traffic/trunk/mgmt/api/CfgContextManager.cc (original)
+++ trafficserver/traffic/trunk/mgmt/api/CfgContextManager.cc Mon Sep 19
20:23:45 2011
@@ -32,6 +32,7 @@
*
***************************************************************************/
#include "ink_platform.h"
+#include "ink_string.h"
#include "CfgContextManager.h"
#include "CfgContextUtils.h"
#include "CoreAPI.h"
@@ -120,12 +121,9 @@ CfgContextCommit(CfgContext * ctx, LLQ *
if (size > max_file_size) {
max_file_size *= 2;
new_text = (char *)ats_realloc(new_text, max_file_size + 1);
- if (!new_text) { // out of memory
- return TS_ERR_FAIL;
- }
}
- strncat(new_text, rule, len);
- strncat(new_text, "\n", 1);
+ ink_strlcat(new_text, rule, max_file_size + 1);
+ ink_strlcat(new_text, "\n", max_file_size + 1);
ats_free(rule);
if (ele->getRuleType() != TS_TYPE_COMMENT)
Modified: trafficserver/traffic/trunk/mgmt/api/CfgContextUtils.cc
URL:
http://svn.apache.org/viewvc/trafficserver/traffic/trunk/mgmt/api/CfgContextUtils.cc?rev=1172798&r1=1172797&r2=1172798&view=diff
==============================================================================
--- trafficserver/traffic/trunk/mgmt/api/CfgContextUtils.cc (original)
+++ trafficserver/traffic/trunk/mgmt/api/CfgContextUtils.cc Mon Sep 19 20:23:45
2011
@@ -757,7 +757,7 @@ string_to_domain(const char *str)
dom = TSDomainCreate();
// get hostname
- ink_strncpy(buf, str, sizeof(buf));
+ ink_strlcpy(buf, str, sizeof(buf));
token = ink_strtok_r(buf, ":", &token_pos);
remain = token_pos;
if (token)
@@ -1864,7 +1864,6 @@ char *
chopWhiteSpaces_alloc(char *str)
{
int len;
- char *newStr;
if (!str)
return NULL;
@@ -1880,11 +1879,8 @@ chopWhiteSpaces_alloc(char *str)
// eliminate trailing white spaces
len = strcspn(str, " ");
- newStr = (char *)ats_malloc(len + 1);
- memset(newStr, 0, len + 1);
- strncpy(newStr, str, len);
- return newStr;
+ return ats_strndup(str, len + 1);
}
/***************************************************************
Modified: trafficserver/traffic/trunk/mgmt/api/CoreAPIShared.cc
URL:
http://svn.apache.org/viewvc/trafficserver/traffic/trunk/mgmt/api/CoreAPIShared.cc?rev=1172798&r1=1172797&r2=1172798&view=diff
==============================================================================
--- trafficserver/traffic/trunk/mgmt/api/CoreAPIShared.cc (original)
+++ trafficserver/traffic/trunk/mgmt/api/CoreAPIShared.cc Mon Sep 19 20:23:45
2011
@@ -459,55 +459,55 @@ get_event_name(int id)
memset(name, 0, MAX_EVENT_NAME_SIZE);
switch (id) {
case MGMT_ALARM_PROXY_PROCESS_DIED:
- ink_strncpy(name, "MGMT_ALARM_PROXY_PROCESS_DIED", sizeof(name));
+ ink_strlcpy(name, "MGMT_ALARM_PROXY_PROCESS_DIED", sizeof(name));
break;
case MGMT_ALARM_PROXY_PROCESS_BORN:
- ink_strncpy(name, "MGMT_ALARM_PROXY_PROCESS_BORN", sizeof(name));
+ ink_strlcpy(name, "MGMT_ALARM_PROXY_PROCESS_BORN", sizeof(name));
break;
case MGMT_ALARM_PROXY_PEER_BORN:
- ink_strncpy(name, "MGMT_ALARM_PROXY_PEER_BORN", sizeof(name));
+ ink_strlcpy(name, "MGMT_ALARM_PROXY_PEER_BORN", sizeof(name));
break;
case MGMT_ALARM_PROXY_PEER_DIED:
- ink_strncpy(name, "MGMT_ALARM_PROXY_PEER_DIED", sizeof(name));
+ ink_strlcpy(name, "MGMT_ALARM_PROXY_PEER_DIED", sizeof(name));
break;
case MGMT_ALARM_PROXY_CONFIG_ERROR:
- ink_strncpy(name, "MGMT_ALARM_PROXY_CONFIG_ERROR", sizeof(name));
+ ink_strlcpy(name, "MGMT_ALARM_PROXY_CONFIG_ERROR", sizeof(name));
break;
case MGMT_ALARM_PROXY_SYSTEM_ERROR:
- ink_strncpy(name, "MGMT_ALARM_PROXY_SYSTEM_ERROR", sizeof(name));
+ ink_strlcpy(name, "MGMT_ALARM_PROXY_SYSTEM_ERROR", sizeof(name));
break;
case MGMT_ALARM_PROXY_LOG_SPACE_CRISIS:
- ink_strncpy(name, "MGMT_ALARM_PROXY_LOG_SPACE_CRISIS", sizeof(name));
+ ink_strlcpy(name, "MGMT_ALARM_PROXY_LOG_SPACE_CRISIS", sizeof(name));
break;
case MGMT_ALARM_PROXY_CACHE_ERROR:
- ink_strncpy(name, "MGMT_ALARM_PROXY_CACHE_ERROR", sizeof(name));
+ ink_strlcpy(name, "MGMT_ALARM_PROXY_CACHE_ERROR", sizeof(name));
break;
case MGMT_ALARM_PROXY_CACHE_WARNING:
- ink_strncpy(name, "MGMT_ALARM_PROXY_CACHE_WARNING", sizeof(name));
+ ink_strlcpy(name, "MGMT_ALARM_PROXY_CACHE_WARNING", sizeof(name));
break;
case MGMT_ALARM_PROXY_LOGGING_ERROR:
- ink_strncpy(name, "MGMT_ALARM_PROXY_LOGGING_ERROR", sizeof(name));
+ ink_strlcpy(name, "MGMT_ALARM_PROXY_LOGGING_ERROR", sizeof(name));
break;
case MGMT_ALARM_PROXY_LOGGING_WARNING:
- ink_strncpy(name, "MGMT_ALARM_PROXY_LOGGING_WARNING", sizeof(name));
+ ink_strlcpy(name, "MGMT_ALARM_PROXY_LOGGING_WARNING", sizeof(name));
break;
case MGMT_ALARM_MGMT_TEST:
- ink_strncpy(name, "MGMT_ALARM_MGMT_TEST", sizeof(name));
+ ink_strlcpy(name, "MGMT_ALARM_MGMT_TEST", sizeof(name));
break;
case MGMT_ALARM_CONFIG_UPDATE_FAILED:
- ink_strncpy(name, "MGMT_ALARM_CONFIG_UPDATE_FAILED", sizeof(name));
+ ink_strlcpy(name, "MGMT_ALARM_CONFIG_UPDATE_FAILED", sizeof(name));
break;
case MGMT_ALARM_WEB_ERROR:
- ink_strncpy(name, "MGMT_ALARM_WEB_ERROR", sizeof(name));
+ ink_strlcpy(name, "MGMT_ALARM_WEB_ERROR", sizeof(name));
break;
case MGMT_ALARM_PING_FAILURE:
- ink_strncpy(name, "MGMT_ALARM_PING_FAILURE", sizeof(name));
+ ink_strlcpy(name, "MGMT_ALARM_PING_FAILURE", sizeof(name));
break;
case MGMT_ALARM_MGMT_CONFIG_ERROR:
- ink_strncpy(name, "MGMT_ALARM_MGMT_CONFIG_ERROR", sizeof(name));
+ ink_strlcpy(name, "MGMT_ALARM_MGMT_CONFIG_ERROR", sizeof(name));
break;
case MGMT_ALARM_ADD_ALARM:
- ink_strncpy(name, "MGMT_ALARM_ADD_ALARM", sizeof(name));
+ ink_strlcpy(name, "MGMT_ALARM_ADD_ALARM", sizeof(name));
break;
default:
return NULL;
Modified: trafficserver/traffic/trunk/mgmt/api/GenericParser.cc
URL:
http://svn.apache.org/viewvc/trafficserver/traffic/trunk/mgmt/api/GenericParser.cc?rev=1172798&r1=1172797&r2=1172798&view=diff
==============================================================================
--- trafficserver/traffic/trunk/mgmt/api/GenericParser.cc (original)
+++ trafficserver/traffic/trunk/mgmt/api/GenericParser.cc Mon Sep 19 20:23:45
2011
@@ -79,9 +79,9 @@ Token::appendValue(const char *str)
setValue(str_copy);
} else {
if (!firstTime) {
- strncat(value, " ", BUFSIZ - strlen(value) - 1);
+ ink_strlcat(value, " ", BUFSIZ);
}
- strncat(value, str_copy, BUFSIZ - strlen(value) - 1);;
+ ink_strlcat(value, str_copy, BUFSIZ);
}
firstTime = false;
ats_free(str_copy);
Modified: trafficserver/traffic/trunk/mgmt/api/INKMgmtAPI.cc
URL:
http://svn.apache.org/viewvc/trafficserver/traffic/trunk/mgmt/api/INKMgmtAPI.cc?rev=1172798&r1=1172797&r2=1172798&view=diff
==============================================================================
--- trafficserver/traffic/trunk/mgmt/api/INKMgmtAPI.cc (original)
+++ trafficserver/traffic/trunk/mgmt/api/INKMgmtAPI.cc Mon Sep 19 20:23:45 2011
@@ -1510,18 +1510,13 @@ TSError
TSRecordGetString(const char *rec_name, TSString *string_val)
{
TSError ret;
- char *str;
- size_t str_size = 0;
TSRecordEle *ele = TSRecordEleCreate();
ret = MgmtRecordGet(rec_name, ele);
if (ret != TS_ERR_OKAY)
goto END;
- str_size = strlen(ele->string_val) + 1;
- str = (char *)ats_malloc(sizeof(char) * str_size);
- ink_strncpy(str, ele->string_val, str_size);
- *string_val = str;
+ *string_val = ats_strdup(ele->string_val);
END:
TSRecordEleDestroy(ele);
Modified: trafficserver/traffic/trunk/mgmt/api/remote/NetworkUtilsRemote.cc
URL:
http://svn.apache.org/viewvc/trafficserver/traffic/trunk/mgmt/api/remote/NetworkUtilsRemote.cc?rev=1172798&r1=1172797&r2=1172798&view=diff
==============================================================================
--- trafficserver/traffic/trunk/mgmt/api/remote/NetworkUtilsRemote.cc (original)
+++ trafficserver/traffic/trunk/mgmt/api/remote/NetworkUtilsRemote.cc Mon Sep
19 20:23:45 2011
@@ -158,7 +158,7 @@ ts_connect()
// setup Unix domain socket
memset(&client_sock, 0, sizeof(sockaddr_un));
client_sock.sun_family = AF_UNIX;
- ink_strncpy(client_sock.sun_path, main_socket_path,
sizeof(client_sock.sun_path));
+ ink_strlcpy(client_sock.sun_path, main_socket_path,
sizeof(client_sock.sun_path));
#if defined(darwin) || defined(freebsd)
sockaddr_len = sizeof(sockaddr_un);
#else
@@ -183,7 +183,7 @@ ts_connect()
// setup Unix domain socket
memset(&client_event_sock, 0, sizeof(sockaddr_un));
client_event_sock.sun_family = AF_UNIX;
- ink_strncpy(client_event_sock.sun_path, event_socket_path,
sizeof(client_sock.sun_path));
+ ink_strlcpy(client_event_sock.sun_path, event_socket_path,
sizeof(client_sock.sun_path));
#if defined(darwin) || defined(freebsd)
sockaddr_len = sizeof(sockaddr_un);
#else