]> andersk Git - gssapi-openssh.git/commitdiff
- initialize pathname variables with an error message to make it more
authorjbasney <jbasney>
Mon, 13 May 2002 19:13:15 +0000 (19:13 +0000)
committerjbasney <jbasney>
Mon, 13 May 2002 19:13:15 +0000 (19:13 +0000)
  explicit if they're used before being defined
- define _PATH_STDPATH_WITH_SCP to be _PATH_STDPATH plus $GLOBUS_LOCATION/bin
  so scp is always in the path

openssh/pathnames.c

index 9991915fbfe15ead277c00c5aaaf49dc8cad4216..8059f1c148421e38ffdd7ce3093f4308d772ba97 100644 (file)
@@ -6,24 +6,27 @@
 #define LIBEXEC "/libexec"
 #define SSHDIR "/etc/ssh"
 
-char *SSH_PRNG_COMMAND_FILE;
-char *_PATH_SSH_SYSTEM_HOSTFILE;
-char *_PATH_SSH_SYSTEM_HOSTFILE2;
-char *_PATH_SERVER_CONFIG_FILE;
-char *_PATH_HOST_CONFIG_FILE;
-char *_PATH_HOST_KEY_FILE;
-char *_PATH_HOST_DSA_KEY_FILE;
-char *_PATH_HOST_RSA_KEY_FILE;
-char *_PATH_DH_MODULI;
-char *_PATH_DH_PRIMES;
-char *_PATH_SSH_PROGRAM;
-char *_PATH_SSH_SYSTEM_RC;
-char *_PATH_SSH_HOSTS_EQUIV;
-char *_PATH_SFTP_SERVER;
-char *SSH_RAND_HELPER;
+#define STRINIT "init_pathnames() not called!"
+
+char *SSH_PRNG_COMMAND_FILE            = STRINIT;
+char *_PATH_SSH_SYSTEM_HOSTFILE                = STRINIT;
+char *_PATH_SSH_SYSTEM_HOSTFILE2       = STRINIT;
+char *_PATH_SERVER_CONFIG_FILE         = STRINIT;
+char *_PATH_HOST_CONFIG_FILE           = STRINIT;
+char *_PATH_HOST_KEY_FILE              = STRINIT;
+char *_PATH_HOST_DSA_KEY_FILE          = STRINIT;
+char *_PATH_HOST_RSA_KEY_FILE          = STRINIT;
+char *_PATH_DH_MODULI                  = STRINIT;
+char *_PATH_DH_PRIMES                  = STRINIT;
+char *_PATH_SSH_PROGRAM                        = STRINIT;
+char *_PATH_SSH_SYSTEM_RC              = STRINIT;
+char *_PATH_SSH_HOSTS_EQUIV            = STRINIT;
+char *_PATH_SFTP_SERVER                        = STRINIT;
+char *SSH_RAND_HELPER                  = STRINIT;
+char *_PATH_STDPATH_WITH_SCP           = STRINIT;
 
 static char *
-compose(const char str1[], const char str2[], const char str3[])
+compose3(const char str1[], const char str2[], const char str3[])
 {
     int len;
     char *result;
@@ -35,6 +38,20 @@ compose(const char str1[], const char str2[], const char str3[])
     return result;
 }
 
+static char *
+compose4(const char str1[], const char str2[], const char str3[],
+        const char str4[])
+{
+    int len;
+    char *result;
+
+    len = strlen(str1) + strlen(str2) + strlen(str3) + strlen(str4) + 1;
+    result = xmalloc(len);
+    snprintf(result, len, "%s%s%s%s", str1, str2, str3, str4);
+
+    return result;
+}
+
 void
 init_pathnames()
 {
@@ -45,19 +62,21 @@ init_pathnames()
        fatal("GLOBUS_LOCATION environment variable undefined.");
     }
 
-    SSH_PRNG_COMMAND_FILE      = compose(gl, SSHDIR, "/ssh_prng_cmds");
-    _PATH_SSH_SYSTEM_HOSTFILE  = compose(gl, SSHDIR, "/ssh_known_hosts");
-    _PATH_SSH_SYSTEM_HOSTFILE2 = compose(gl, SSHDIR, "/ssh_known_hosts2");
-    _PATH_SERVER_CONFIG_FILE   = compose(gl, SSHDIR, "/sshd_config");
-    _PATH_HOST_CONFIG_FILE     = compose(gl, SSHDIR, "/ssh_config");
-    _PATH_HOST_KEY_FILE                = compose(gl, SSHDIR, "/ssh_host_key");
-    _PATH_HOST_DSA_KEY_FILE    = compose(gl, SSHDIR, "/ssh_host_dsa_key");
-    _PATH_HOST_RSA_KEY_FILE    = compose(gl, SSHDIR, "/ssh_host_rsa_key");
-    _PATH_DH_MODULI            = compose(gl, SSHDIR, "/moduli");
-    _PATH_DH_PRIMES            = compose(gl, SSHDIR, "/primes");
-    _PATH_SSH_PROGRAM          = compose(gl, BINDIR, "/ssh");
-    _PATH_SSH_SYSTEM_RC                = compose(gl, SSHDIR, "/sshrc");
-    _PATH_SSH_HOSTS_EQUIV      = compose(gl, SSHDIR, "/shosts.equiv");
-    _PATH_SFTP_SERVER          = compose(gl, LIBEXEC, "/sftp-server");
-    SSH_RAND_HELPER            = compose(gl, LIBEXEC, "/ssh-rand-helper");
+    /* lots of one time memory leaks here */
+    SSH_PRNG_COMMAND_FILE      = compose3(gl, SSHDIR, "/ssh_prng_cmds");
+    _PATH_SSH_SYSTEM_HOSTFILE  = compose3(gl, SSHDIR, "/ssh_known_hosts");
+    _PATH_SSH_SYSTEM_HOSTFILE2 = compose3(gl, SSHDIR, "/ssh_known_hosts2");
+    _PATH_SERVER_CONFIG_FILE   = compose3(gl, SSHDIR, "/sshd_config");
+    _PATH_HOST_CONFIG_FILE     = compose3(gl, SSHDIR, "/ssh_config");
+    _PATH_HOST_KEY_FILE                = compose3(gl, SSHDIR, "/ssh_host_key");
+    _PATH_HOST_DSA_KEY_FILE    = compose3(gl, SSHDIR, "/ssh_host_dsa_key");
+    _PATH_HOST_RSA_KEY_FILE    = compose3(gl, SSHDIR, "/ssh_host_rsa_key");
+    _PATH_DH_MODULI            = compose3(gl, SSHDIR, "/moduli");
+    _PATH_DH_PRIMES            = compose3(gl, SSHDIR, "/primes");
+    _PATH_SSH_PROGRAM          = compose3(gl, BINDIR, "/ssh");
+    _PATH_SSH_SYSTEM_RC                = compose3(gl, SSHDIR, "/sshrc");
+    _PATH_SSH_HOSTS_EQUIV      = compose3(gl, SSHDIR, "/shosts.equiv");
+    _PATH_SFTP_SERVER          = compose3(gl, LIBEXEC, "/sftp-server");
+    SSH_RAND_HELPER            = compose3(gl, LIBEXEC, "/ssh-rand-helper");
+    _PATH_STDPATH_WITH_SCP     = compose4(_PATH_STDPATH, ":", gl, BINDIR);
 }
This page took 0.042594 seconds and 5 git commands to generate.