You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by mt...@apache.org on 2010/05/20 09:35:50 UTC

svn commit: r946550 - in /trafficserver/traffic/trunk/proxy: CacheInspectorAllow.cc ControlMatcher.cc IPAllow.cc Main.cc Plugin.cc

Author: mturk
Date: Thu May 20 07:35:50 2010
New Revision: 946550

URL: http://svn.apache.org/viewvc?rev=946550&view=rev
Log:
TS-359: Use ink_filepath_make and Layout instead directly constructing paths

Modified:
    trafficserver/traffic/trunk/proxy/CacheInspectorAllow.cc
    trafficserver/traffic/trunk/proxy/ControlMatcher.cc
    trafficserver/traffic/trunk/proxy/IPAllow.cc
    trafficserver/traffic/trunk/proxy/Main.cc
    trafficserver/traffic/trunk/proxy/Plugin.cc

Modified: trafficserver/traffic/trunk/proxy/CacheInspectorAllow.cc
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/CacheInspectorAllow.cc?rev=946550&r1=946549&r2=946550&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/CacheInspectorAllow.cc (original)
+++ trafficserver/traffic/trunk/proxy/CacheInspectorAllow.cc Thu May 20 07:35:50 2010
@@ -153,13 +153,12 @@ err_allow_all(false)
   char *config_file;
 
   config_file_var = xstrdup(config_var);
-  config_file_path[0] = '\0';
 
   REC_ReadConfigStringAlloc(config_file, (char *) config_file_var);
   ink_release_assert(config_file != NULL);
-  ink_strncpy(config_file_path, system_config_directory, sizeof(config_file_path));
-  strncat(config_file_path, DIR_SEP, (sizeof(config_file_path) - strlen(config_file_path) - 1));
-  strncat(config_file_path, config_file, (sizeof(config_file_path) - strlen(config_file_path) - 1));
+  // XXX: If this is config directive it might contain
+  //      absolute path for config_file_val ?
+  ink_filepath_make(config_file_path, sizeof(config_file_path), system_config_directory, config_file);
   xfree(config_file);
 }
 
@@ -170,6 +169,8 @@ CacheInspectorAllow::~CacheInspectorAllo
 void
 CacheInspectorAllow::Print()
 {
+  // TODO: Use log directives instead directly printing to the stdout
+  //
   printf("CacheInspectorAllow Table with %d entries\n", num_el);
   if (err_allow_all == true) {
     printf("\t err_allow_all is true\n");

Modified: trafficserver/traffic/trunk/proxy/ControlMatcher.cc
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/ControlMatcher.cc?rev=946550&r1=946549&r2=946550&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/ControlMatcher.cc (original)
+++ trafficserver/traffic/trunk/proxy/ControlMatcher.cc Thu May 20 07:35:50 2010
@@ -583,15 +583,9 @@ template<class Data, class Result>
 
   if (!(flags & DONT_BUILD_TABLE)) {
     ink_release_assert(config_file != NULL);
-    ink_strncpy(config_file_path, system_config_directory, sizeof(config_file_path));
-    strncat(config_file_path, DIR_SEP, sizeof(config_file_path) - strlen(config_file_path) - 1);
-    strncat(config_file_path, config_file, sizeof(config_file_path) - strlen(config_file_path) - 1);
-    xfree(config_file);
-  }
-  // XXX: memory leak if flags have DONT_BUILD_TABLE ?
-  // else {
-  //  xfree(config_file)
-  // }
+    ink_filepath_make(config_file_path, sizeof(config_file_path), system_config_directory, config_file);
+  }
+  xfree(config_file);
 
   reMatch = NULL;
   hostMatch = NULL;

Modified: trafficserver/traffic/trunk/proxy/IPAllow.cc
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/IPAllow.cc?rev=946550&r1=946549&r2=946550&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/IPAllow.cc (original)
+++ trafficserver/traffic/trunk/proxy/IPAllow.cc Thu May 20 07:35:50 2010
@@ -153,9 +153,7 @@ err_allow_all(false)
 
   IPAllowReadConfigStringAlloc(config_file, (char *) config_file_var);
   ink_release_assert(config_file != NULL);
-  ink_strncpy(config_file_path, system_config_directory, sizeof(config_file_path));
-  strncat(config_file_path, DIR_SEP, (sizeof(config_file_path) - strlen(config_file_path) - 1));
-  strncat(config_file_path, config_file, (sizeof(config_file_path) - strlen(config_file_path) - 1));
+  ink_filepath_make(config_file_path, sizeof(config_file_path), system_config_directory, config_file);
   xfree(config_file);
 }
 

Modified: trafficserver/traffic/trunk/proxy/Main.cc
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/Main.cc?rev=946550&r1=946549&r2=946550&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/Main.cc (original)
+++ trafficserver/traffic/trunk/proxy/Main.cc Thu May 20 07:35:50 2010
@@ -768,7 +768,7 @@ cmd_clear(char *cmd)
   if (c_all || c_hdb) {
     Note("Clearing Configuration");
     Layout::relative_to(p, sizeof(p), system_config_directory,
-                        "internal" DIR_SEP "hostdb.config");
+                        "internal/hostdb.config");
     if (unlink(p) < 0)
       Note("unable to unlink %s", p);
   }
@@ -1397,9 +1397,10 @@ init_logging()
 static void
 init_http_header()
 {
-  char internal_config_dir[PATH_NAME_MAX];
+  char internal_config_dir[PATH_NAME_MAX + 1];
 
-  snprintf(internal_config_dir, sizeof(internal_config_dir) - 1, "%s%sinternal", system_config_directory, DIR_SEP);
+  ink_filepath_make(internal_config_dir, sizeof(internal_config_dir),
+                    system_config_directory, "internal");
 
   url_init(internal_config_dir);
   mime_init(internal_config_dir);

Modified: trafficserver/traffic/trunk/proxy/Plugin.cc
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/Plugin.cc?rev=946550&r1=946549&r2=946550&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/Plugin.cc (original)
+++ trafficserver/traffic/trunk/proxy/Plugin.cc Thu May 20 07:35:50 2010
@@ -31,6 +31,7 @@
 #include "Compatability.h"
 #include "ParseRules.h"
 #include "I_RecCore.h"
+#include "I_Layout.h"
 #include "InkAPIInternal.h"
 #include "Main.h"
 #include "Plugin.h"
@@ -111,18 +112,17 @@ dll_close(void *dlp)
 static void
 plugin_load(int argc, char *argv[], bool internal)
 {
-  char path[PATH_NAME_MAX];
+  char path[PATH_NAME_MAX + 1];
   void *handle;
   init_func_t init;
   lic_req_func_t lic_req;
   PluginRegInfo *plugin_reg_temp;
-  const char *P_DIR = internal ? extensions_dir : plugin_dir;
-
+  const char *pdir = internal ? extensions_dir : plugin_dir;
 
   if (argc < 1) {
     return;
   }
-  snprintf(path, sizeof(path), "%s%s%s", P_DIR, DIR_SEP, argv[0]);
+  ink_filepath_make(path, sizeof(path), pdir, argv[0]);
 
   Note("loading plugin '%s'", path);
 
@@ -261,14 +261,17 @@ not_found:
 int
 plugins_exist(const char *config_dir)
 {
-  char path[PATH_NAME_MAX];
+  char path[PATH_NAME_MAX + 1];
   char line[1024], *p;
   int fd;
   int plugin_count = 0;
 
-  RecGetRecordString_Xmalloc("proxy.config.plugin.plugin_dir", (char**)&plugin_dir);
+  // XXX: Commented out.
+  //      Why reading plugin_dir when unused?
+  //
+  // RecGetRecordString_Xmalloc("proxy.config.plugin.plugin_dir", (char **)&plugin_dir);
 
-  snprintf(path, sizeof(path), "%s%splugin.config", config_dir, DIR_SEP);
+  ink_filepath_make(path, sizeof(path), config_dir, "plugin.config");
   fd = open(path, O_RDONLY);
   if (fd < 0) {
     Warning("unable to open plugin config file '%s': %d, %s", path, errno, strerror(errno));
@@ -290,7 +293,7 @@ plugins_exist(const char *config_dir)
 void
 plugin_init(const char *config_dir, bool internal)
 {
-  char path[PATH_NAME_MAX];
+  char path[PATH_NAME_MAX + 1];
   char line[1024], *p;
   char *argv[64];
   char *vars[64];
@@ -302,11 +305,21 @@ plugin_init(const char *config_dir, bool
   if (INIT_ONCE) {
     api_init();
     init_inkapi_stat_system();
+    char *cfg = NULL;
 
-    RecGetRecordString_Xmalloc("proxy.config.plugin.plugin_dir", (char**)&plugin_dir);
-    RecGetRecordString_Xmalloc("proxy.config.plugin.extensions_dir", (char**)&extensions_dir);
-
-    snprintf(path, sizeof(path), "%s%splugin.db", config_dir, DIR_SEP);
+    RecGetRecordString_Xmalloc("proxy.config.plugin.plugin_dir", (char**)&cfg);
+    if (cfg != NULL) {
+      plugin_dir = Layout::get()->relative(cfg);
+      xfree(cfg);
+      cfg = NULL;
+    }
+    RecGetRecordString_Xmalloc("proxy.config.plugin.extensions_dir", (char**)&cfg);
+    if (cfg != NULL) {
+      extensions_dir = Layout::get()->relative(cfg);
+      xfree(cfg);
+      cfg = NULL;
+    }
+    ink_filepath_make(path, sizeof(path), config_dir, "plugin.db");
     plugin_db = new PluginDB(path);
     INIT_ONCE = false;
   }
@@ -314,9 +327,9 @@ plugin_init(const char *config_dir, bool
   ink_assert(plugin_db);
 
   if (internal == false) {
-    snprintf(path, sizeof(path), "%s%splugin.config", config_dir, DIR_SEP);
+    ink_filepath_make(path, sizeof(path), config_dir, "plugin.config");
   } else {
-    snprintf(path, sizeof(path), "%s%sextensions.config", config_dir, DIR_SEP);
+    ink_filepath_make(path, sizeof(path), config_dir, "extensions.config");
   }
 
   fd = open(path, O_RDONLY);