9 #define LIBEXEC "/libexec"
10 #define SSHDIR "/etc/ssh"
13 #define STRINIT "init_pathnames() not called!"
15 char *SSH_PRNG_COMMAND_FILE = STRINIT;
16 char *_PATH_SSH_SYSTEM_HOSTFILE = STRINIT;
17 char *_PATH_SSH_SYSTEM_HOSTFILE2 = STRINIT;
18 char *_PATH_SERVER_CONFIG_FILE = STRINIT;
19 char *_PATH_HOST_CONFIG_FILE = STRINIT;
20 char *_PATH_HOST_KEY_FILE = STRINIT;
21 char *_PATH_HOST_DSA_KEY_FILE = STRINIT;
22 char *_PATH_HOST_RSA_KEY_FILE = STRINIT;
23 char *_PATH_DH_MODULI = STRINIT;
24 char *_PATH_DH_PRIMES = STRINIT;
25 char *_PATH_SSH_PROGRAM = STRINIT;
26 char *_PATH_SSH_DAEMON_PID_FILE = STRINIT;
27 char *_PATH_SSH_SYSTEM_RC = STRINIT;
28 char *_PATH_SSH_HOSTS_EQUIV = STRINIT;
29 char *_PATH_SSH_KEY_SIGN = STRINIT;
30 char *_PATH_SFTP_SERVER = STRINIT;
31 char *SSH_RAND_HELPER = STRINIT;
32 char *_PATH_STDPATH_WITH_SCP = STRINIT;
35 compose3(const char str1[], const char str2[], const char str3[])
40 len = strlen(str1) + strlen(str2) + strlen(str3) + 1;
41 result = xmalloc(len);
42 snprintf(result, len, "%s%s%s", str1, str2, str3);
48 compose4(const char str1[], const char str2[], const char str3[],
54 len = strlen(str1) + strlen(str2) + strlen(str3) + strlen(str4) + 1;
55 result = xmalloc(len);
56 snprintf(result, len, "%s%s%s%s", str1, str2, str3, str4);
66 gl = (char *)getenv("GLOBUS_LOCATION");
67 if (gl == (char *)NULL) {
68 fatal("GLOBUS_LOCATION environment variable undefined.");
71 /* lots of one time memory leaks here */
72 SSH_PRNG_COMMAND_FILE = compose3(gl, SSHDIR, "/ssh_prng_cmds");
73 _PATH_SSH_SYSTEM_HOSTFILE = compose3(gl, SSHDIR, "/ssh_known_hosts");
74 _PATH_SSH_SYSTEM_HOSTFILE2 = compose3(gl, SSHDIR, "/ssh_known_hosts2");
75 _PATH_SERVER_CONFIG_FILE = compose3(gl, SSHDIR, "/sshd_config");
76 _PATH_HOST_CONFIG_FILE = compose3(gl, SSHDIR, "/ssh_config");
77 _PATH_HOST_KEY_FILE = compose3(gl, SSHDIR, "/ssh_host_key");
78 _PATH_HOST_DSA_KEY_FILE = compose3(gl, SSHDIR, "/ssh_host_dsa_key");
79 _PATH_HOST_RSA_KEY_FILE = compose3(gl, SSHDIR, "/ssh_host_rsa_key");
80 _PATH_DH_MODULI = compose3(gl, SSHDIR, "/moduli");
81 _PATH_DH_PRIMES = compose3(gl, SSHDIR, "/primes");
82 _PATH_SSH_PROGRAM = compose3(gl, BINDIR, "/gsissh");
83 _PATH_SSH_DAEMON_PID_FILE = compose3(gl, VARDIR, "/sshd.pid");
84 _PATH_SSH_SYSTEM_RC = compose3(gl, SSHDIR, "/sshrc");
85 _PATH_SSH_HOSTS_EQUIV = compose3(gl, SSHDIR, "/shosts.equiv");
86 _PATH_SSH_KEY_SIGN = compose3(gl, LIBEXEC, "/ssh-keysign");
87 _PATH_SFTP_SERVER = compose3(gl, LIBEXEC, "/sftp-server");
88 SSH_RAND_HELPER = compose3(gl, LIBEXEC, "/ssh-rand-helper");
89 _PATH_STDPATH_WITH_SCP = compose4(_PATH_STDPATH, ":", gl, BINDIR);