Repository: trafficserver Updated Branches: refs/heads/master 6c54ff851 -> 24f1e55c0
TS-3305: fix minor bugs in ats lua plugin Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/24f1e55c Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/24f1e55c Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/24f1e55c Branch: refs/heads/master Commit: 24f1e55c021e134b74a3caf78dd6e588534e4e5a Parents: 6c54ff8 Author: Changming Sun <[email protected]> Authored: Fri Feb 6 08:35:31 2015 +0000 Committer: Kit Chan <[email protected]> Committed: Fri Feb 6 08:35:31 2015 +0000 ---------------------------------------------------------------------- CHANGES | 2 ++ plugins/experimental/ts_lua/ts_lua.c | 9 ++++++--- plugins/experimental/ts_lua/ts_lua_cached_response.c | 4 ++-- plugins/experimental/ts_lua/ts_lua_client_request.c | 4 ++-- plugins/experimental/ts_lua/ts_lua_client_response.c | 4 ++-- plugins/experimental/ts_lua/ts_lua_hook.c | 4 ++-- plugins/experimental/ts_lua/ts_lua_http.c | 4 ++-- plugins/experimental/ts_lua/ts_lua_http_cntl.c | 2 +- plugins/experimental/ts_lua/ts_lua_http_config.c | 2 +- plugins/experimental/ts_lua/ts_lua_package.c | 6 ++++-- plugins/experimental/ts_lua/ts_lua_remap.c | 2 +- plugins/experimental/ts_lua/ts_lua_server_response.c | 4 ++-- plugins/experimental/ts_lua/ts_lua_util.c | 4 ++-- 13 files changed, 29 insertions(+), 22 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/trafficserver/blob/24f1e55c/CHANGES ---------------------------------------------------------------------- diff --git a/CHANGES b/CHANGES index a4c5a1c..33f0ecf 100644 --- a/CHANGES +++ b/CHANGES @@ -1,6 +1,8 @@ -*- coding: utf-8 -*- Changes with Apache Traffic Server 5.3.0 + *) [TS-3305] fix minor bugs in ats lua plugin. + *) [TS-3369] fix bug in header setting functions in lua plugin. *) [TS-3366] TS shouldn't use HostDB for 127.0.0.1 or ::1. http://git-wip-us.apache.org/repos/asf/trafficserver/blob/24f1e55c/plugins/experimental/ts_lua/ts_lua.c ---------------------------------------------------------------------- diff --git a/plugins/experimental/ts_lua/ts_lua.c b/plugins/experimental/ts_lua/ts_lua.c index 93d8abe..3bdd6ba 100644 --- a/plugins/experimental/ts_lua/ts_lua.c +++ b/plugins/experimental/ts_lua/ts_lua.c @@ -39,6 +39,7 @@ TSRemapInit(TSRemapInterface * api_info, char *errbuf, int errbuf_size) if (!api_info || api_info->size < sizeof(TSRemapInterface)) { strncpy(errbuf, "[TSRemapInit] - Incorrect size of TSRemapInterface structure", errbuf_size - 1); + errbuf[errbuf_size - 1] = '\0'; return TS_ERROR; } @@ -67,6 +68,7 @@ TSRemapNewInstance(int argc, char *argv[], void **ih, char *errbuf, int errbuf_s if (argc < 3) { strncpy(errbuf, "[TSRemapNewInstance] - lua script file or string is required !!", errbuf_size - 1); + errbuf[errbuf_size - 1] = '\0'; return TS_ERROR; } @@ -81,14 +83,14 @@ TSRemapNewInstance(int argc, char *argv[], void **ih, char *errbuf, int errbuf_s ts_lua_instance_conf *conf = TSmalloc(sizeof(ts_lua_instance_conf)); if (!conf) { strncpy(errbuf, "[TSRemapNewInstance] TSmalloc failed!!", errbuf_size - 1); + errbuf[errbuf_size - 1] = '\0'; return TS_ERROR; } memset(conf, 0, sizeof(ts_lua_instance_conf)); if (fn) { - sprintf(conf->script, "%s", argv[2]); - + snprintf(conf->script, TS_LUA_MAX_SCRIPT_FNAME_LENGTH, "%s", argv[2]); } else { conf->content = argv[2]; } @@ -99,6 +101,7 @@ TSRemapNewInstance(int argc, char *argv[], void **ih, char *errbuf, int errbuf_s if (ret != 0) { strncpy(errbuf, "[TSRemapNewInstance] ts_lua_add_module failed", errbuf_size - 1); + errbuf[errbuf_size - 1] = '\0'; return TS_ERROR; } @@ -355,7 +358,7 @@ TSPluginInit(int argc, const char *argv[]) } memset(conf, 0, sizeof(ts_lua_instance_conf)); - sprintf(conf->script, "%s", argv[1]); + snprintf(conf->script, TS_LUA_MAX_SCRIPT_FNAME_LENGTH, "%s", argv[1]); ts_lua_init_instance(conf); http://git-wip-us.apache.org/repos/asf/trafficserver/blob/24f1e55c/plugins/experimental/ts_lua/ts_lua_cached_response.c ---------------------------------------------------------------------- diff --git a/plugins/experimental/ts_lua/ts_lua_cached_response.c b/plugins/experimental/ts_lua/ts_lua_cached_response.c index 74935fb..415695d 100644 --- a/plugins/experimental/ts_lua/ts_lua_cached_response.c +++ b/plugins/experimental/ts_lua/ts_lua_cached_response.c @@ -132,9 +132,9 @@ ts_lua_cached_response_get_version(lua_State * L) version = TSHttpHdrVersionGet(http_ctx->cached_response_bufp, http_ctx->cached_response_hdrp); n = snprintf(buf, sizeof(buf), "%d.%d", TS_HTTP_MAJOR(version), TS_HTTP_MINOR(version)); - if(n >= sizeof(buf)) { + if(n >= (int)sizeof(buf)) { lua_pushlstring(L, buf, sizeof(buf) - 1); - } else { + } else if(n > 0){ lua_pushlstring(L, buf, n); } http://git-wip-us.apache.org/repos/asf/trafficserver/blob/24f1e55c/plugins/experimental/ts_lua/ts_lua_client_request.c ---------------------------------------------------------------------- diff --git a/plugins/experimental/ts_lua/ts_lua_client_request.c b/plugins/experimental/ts_lua/ts_lua_client_request.c index 61a27fe..b5f1e5b 100644 --- a/plugins/experimental/ts_lua/ts_lua_client_request.c +++ b/plugins/experimental/ts_lua/ts_lua_client_request.c @@ -767,9 +767,9 @@ ts_lua_client_request_get_version(lua_State * L) version = TSHttpHdrVersionGet(http_ctx->client_request_bufp, http_ctx->client_request_hdrp); n = snprintf(buf, sizeof(buf), "%d.%d", TS_HTTP_MAJOR(version), TS_HTTP_MINOR(version)); - if (n >= sizeof(buf)) { + if (n >= (int)sizeof(buf)) { lua_pushlstring(L, buf, sizeof(buf) - 1); - } else { + } else if(n > 0){ lua_pushlstring(L, buf, n); } http://git-wip-us.apache.org/repos/asf/trafficserver/blob/24f1e55c/plugins/experimental/ts_lua/ts_lua_client_response.c ---------------------------------------------------------------------- diff --git a/plugins/experimental/ts_lua/ts_lua_client_response.c b/plugins/experimental/ts_lua/ts_lua_client_response.c index d35eed1..c3d0508 100644 --- a/plugins/experimental/ts_lua/ts_lua_client_response.c +++ b/plugins/experimental/ts_lua/ts_lua_client_response.c @@ -310,9 +310,9 @@ ts_lua_client_response_get_version(lua_State * L) version = TSHttpHdrVersionGet(http_ctx->client_response_bufp, http_ctx->client_response_hdrp); n = snprintf(buf, sizeof(buf), "%d.%d", TS_HTTP_MAJOR(version), TS_HTTP_MINOR(version)); - if (n >= sizeof(buf)) { + if (n >= (int)sizeof(buf)) { lua_pushlstring(L, buf, sizeof(buf) - 1); - } else { + } else if(n > 0){ lua_pushlstring(L, buf, n); } http://git-wip-us.apache.org/repos/asf/trafficserver/blob/24f1e55c/plugins/experimental/ts_lua/ts_lua_hook.c ---------------------------------------------------------------------- diff --git a/plugins/experimental/ts_lua/ts_lua_hook.c b/plugins/experimental/ts_lua/ts_lua_hook.c index c77acab..df4f35f 100644 --- a/plugins/experimental/ts_lua/ts_lua_hook.c +++ b/plugins/experimental/ts_lua/ts_lua_hook.c @@ -79,10 +79,10 @@ ts_lua_inject_hook_api(lua_State * L) static void ts_lua_inject_hook_variables(lua_State * L) { - int i; + size_t i; for (i = 0; i < sizeof(ts_lua_hook_id_string) / sizeof(char *); i++) { - lua_pushinteger(L, i); + lua_pushinteger(L, (lua_Integer)i); lua_setglobal(L, ts_lua_hook_id_string[i]); } } http://git-wip-us.apache.org/repos/asf/trafficserver/blob/24f1e55c/plugins/experimental/ts_lua/ts_lua_http.c ---------------------------------------------------------------------- diff --git a/plugins/experimental/ts_lua/ts_lua_http.c b/plugins/experimental/ts_lua/ts_lua_http.c index dfc981e..627162a 100644 --- a/plugins/experimental/ts_lua/ts_lua_http.c +++ b/plugins/experimental/ts_lua/ts_lua_http.c @@ -125,10 +125,10 @@ ts_lua_inject_http_misc_api(lua_State * L) static void ts_lua_inject_cache_lookup_result_variables(lua_State * L) { - int i; + size_t i; for (i = 0; i < sizeof(ts_lua_cache_lookup_result_string) / sizeof(char *); i++) { - lua_pushinteger(L, i); + lua_pushinteger(L, (lua_Integer)i); lua_setglobal(L, ts_lua_cache_lookup_result_string[i]); } } http://git-wip-us.apache.org/repos/asf/trafficserver/blob/24f1e55c/plugins/experimental/ts_lua/ts_lua_http_cntl.c ---------------------------------------------------------------------- diff --git a/plugins/experimental/ts_lua/ts_lua_http_cntl.c b/plugins/experimental/ts_lua/ts_lua_http_cntl.c index 7ec8bec..c5e1501 100644 --- a/plugins/experimental/ts_lua/ts_lua_http_cntl.c +++ b/plugins/experimental/ts_lua/ts_lua_http_cntl.c @@ -57,7 +57,7 @@ ts_lua_inject_http_cntl_api(lua_State * L) static void ts_lua_inject_http_cntl_variables(lua_State * L) { - int i; + size_t i; for (i = 0; i < sizeof(ts_lua_http_cntl_type_vars) / sizeof(ts_lua_var_item); i++) { lua_pushinteger(L, ts_lua_http_cntl_type_vars[i].nvar); http://git-wip-us.apache.org/repos/asf/trafficserver/blob/24f1e55c/plugins/experimental/ts_lua/ts_lua_http_config.c ---------------------------------------------------------------------- diff --git a/plugins/experimental/ts_lua/ts_lua_http_config.c b/plugins/experimental/ts_lua/ts_lua_http_config.c index ee1c8d3..e598b70 100644 --- a/plugins/experimental/ts_lua/ts_lua_http_config.c +++ b/plugins/experimental/ts_lua/ts_lua_http_config.c @@ -221,7 +221,7 @@ ts_lua_inject_http_config_api(lua_State * L) static void ts_lua_inject_http_config_variables(lua_State * L) { - int i; + size_t i; for (i = 0; i < sizeof(ts_lua_http_config_vars) / sizeof(ts_lua_var_item); i++) { lua_pushinteger(L, ts_lua_http_config_vars[i].nvar); http://git-wip-us.apache.org/repos/asf/trafficserver/blob/24f1e55c/plugins/experimental/ts_lua/ts_lua_package.c ---------------------------------------------------------------------- diff --git a/plugins/experimental/ts_lua/ts_lua_package.c b/plugins/experimental/ts_lua/ts_lua_package.c index a985340..8953f44 100644 --- a/plugins/experimental/ts_lua/ts_lua_package.c +++ b/plugins/experimental/ts_lua/ts_lua_package.c @@ -62,7 +62,8 @@ ts_lua_add_package_path(lua_State * L) const char *data; const char *ptr, *end, *hit; size_t dlen; - size_t i, n, item_len; + int i, n; + size_t item_len; ts_lua_package_path pp[TS_LUA_MAX_PACKAGE_NUM]; ts_lua_package_path *elt; @@ -183,7 +184,8 @@ ts_lua_add_package_cpath(lua_State * L) const char *data; const char *ptr, *end, *hit; size_t dlen; - size_t i, n, item_len; + int i, n; + size_t item_len; ts_lua_package_path pp[TS_LUA_MAX_PACKAGE_NUM]; ts_lua_package_path *elt; http://git-wip-us.apache.org/repos/asf/trafficserver/blob/24f1e55c/plugins/experimental/ts_lua/ts_lua_remap.c ---------------------------------------------------------------------- diff --git a/plugins/experimental/ts_lua/ts_lua_remap.c b/plugins/experimental/ts_lua/ts_lua_remap.c index 058e821..fde9e19 100644 --- a/plugins/experimental/ts_lua/ts_lua_remap.c +++ b/plugins/experimental/ts_lua/ts_lua_remap.c @@ -50,7 +50,7 @@ ts_lua_inject_remap_api(lua_State * L) static void ts_lua_inject_remap_variables(lua_State * L) { - int i; + size_t i; for (i = 0; i < sizeof(ts_lua_remap_status_vars) / sizeof(ts_lua_var_item); i++) { lua_pushinteger(L, ts_lua_remap_status_vars[i].nvar); http://git-wip-us.apache.org/repos/asf/trafficserver/blob/24f1e55c/plugins/experimental/ts_lua/ts_lua_server_response.c ---------------------------------------------------------------------- diff --git a/plugins/experimental/ts_lua/ts_lua_server_response.c b/plugins/experimental/ts_lua/ts_lua_server_response.c index 071c95e..aa6cac0 100644 --- a/plugins/experimental/ts_lua/ts_lua_server_response.c +++ b/plugins/experimental/ts_lua/ts_lua_server_response.c @@ -292,9 +292,9 @@ ts_lua_server_response_get_version(lua_State * L) n = snprintf(buf, sizeof(buf), "%d.%d", TS_HTTP_MAJOR(version), TS_HTTP_MINOR(version)); - if(n >= sizeof(buf)) { + if(n >= (int)sizeof(buf)) { lua_pushlstring(L, buf, sizeof(buf) - 1); - } else { + } else if(n > 0) { lua_pushlstring(L, buf, n); } http://git-wip-us.apache.org/repos/asf/trafficserver/blob/24f1e55c/plugins/experimental/ts_lua/ts_lua_util.c ---------------------------------------------------------------------- diff --git a/plugins/experimental/ts_lua/ts_lua_util.c b/plugins/experimental/ts_lua/ts_lua_util.c index 658b6ab..9899b45 100644 --- a/plugins/experimental/ts_lua/ts_lua_util.c +++ b/plugins/experimental/ts_lua/ts_lua_util.c @@ -338,7 +338,7 @@ ts_lua_get_http_ctx(lua_State * L) ts_lua_http_ctx * ts_lua_create_http_ctx(ts_lua_main_ctx * main_ctx, ts_lua_instance_conf * conf) { - int i, size; + size_t i, size; ts_lua_http_ctx *http_ctx; lua_State *L; lua_State *l; @@ -445,7 +445,7 @@ ts_lua_get_http_intercept_ctx(lua_State * L) ts_lua_http_intercept_ctx * ts_lua_create_http_intercept_ctx(ts_lua_http_ctx * http_ctx) { - int i, size; + size_t i, size; lua_State *L; ts_lua_http_intercept_ctx *ictx;
