]> andersk Git - gssapi-openssh.git/blob - openssh/pathnames.c
update ftp url for 3.1 release
[gssapi-openssh.git] / openssh / pathnames.c
1 #include "includes.h"
2 #include "xmalloc.h"
3 #include "log.h"
4
5 #define BINDIR "/bin"
6 #define LIBEXEC "/libexec"
7 #define SSHDIR "/etc/ssh"
8 #define VARDIR "/var"
9
10 #define STRINIT "init_pathnames() not called!"
11
12 char *SSH_PRNG_COMMAND_FILE             = STRINIT;
13 char *_PATH_SSH_SYSTEM_HOSTFILE         = STRINIT;
14 char *_PATH_SSH_SYSTEM_HOSTFILE2        = STRINIT;
15 char *_PATH_SERVER_CONFIG_FILE          = STRINIT;
16 char *_PATH_HOST_CONFIG_FILE            = STRINIT;
17 char *_PATH_HOST_KEY_FILE               = STRINIT;
18 char *_PATH_HOST_DSA_KEY_FILE           = STRINIT;
19 char *_PATH_HOST_RSA_KEY_FILE           = STRINIT;
20 char *_PATH_DH_MODULI                   = STRINIT;
21 char *_PATH_DH_PRIMES                   = STRINIT;
22 char *_PATH_SSH_PROGRAM                 = STRINIT;
23 char *_PATH_SSH_DAEMON_PID_FILE         = STRINIT;
24 char *_PATH_SSH_SYSTEM_RC               = STRINIT;
25 char *_PATH_SSH_HOSTS_EQUIV             = STRINIT;
26 char *_PATH_SSH_KEY_SIGN                = STRINIT;
27 char *_PATH_SFTP_SERVER                 = STRINIT;
28 char *SSH_RAND_HELPER                   = STRINIT;
29 char *_PATH_STDPATH_WITH_SCP            = STRINIT;
30
31 static char *
32 compose3(const char str1[], const char str2[], const char str3[])
33 {
34     int len;
35     char *result;
36
37     len = strlen(str1) + strlen(str2) + strlen(str3) + 1;
38     result = xmalloc(len);
39     snprintf(result, len, "%s%s%s", str1, str2, str3);
40
41     return result;
42 }
43
44 static char *
45 compose4(const char str1[], const char str2[], const char str3[],
46          const char str4[])
47 {
48     int len;
49     char *result;
50
51     len = strlen(str1) + strlen(str2) + strlen(str3) + strlen(str4) + 1;
52     result = xmalloc(len);
53     snprintf(result, len, "%s%s%s%s", str1, str2, str3, str4);
54
55     return result;
56 }
57
58 void
59 init_pathnames()
60 {
61     char *gl;
62
63     gl = getenv("GLOBUS_LOCATION");
64     if (gl == NULL) {
65         fatal("GLOBUS_LOCATION environment variable undefined.");
66     }
67
68     /* lots of one time memory leaks here */
69     SSH_PRNG_COMMAND_FILE       = compose3(gl, SSHDIR, "/ssh_prng_cmds");
70     _PATH_SSH_SYSTEM_HOSTFILE   = compose3(gl, SSHDIR, "/ssh_known_hosts");
71     _PATH_SSH_SYSTEM_HOSTFILE2  = compose3(gl, SSHDIR, "/ssh_known_hosts2");
72     _PATH_SERVER_CONFIG_FILE    = compose3(gl, SSHDIR, "/sshd_config");
73     _PATH_HOST_CONFIG_FILE      = compose3(gl, SSHDIR, "/ssh_config");
74     _PATH_HOST_KEY_FILE         = compose3(gl, SSHDIR, "/ssh_host_key");
75     _PATH_HOST_DSA_KEY_FILE     = compose3(gl, SSHDIR, "/ssh_host_dsa_key");
76     _PATH_HOST_RSA_KEY_FILE     = compose3(gl, SSHDIR, "/ssh_host_rsa_key");
77     _PATH_DH_MODULI             = compose3(gl, SSHDIR, "/moduli");
78     _PATH_DH_PRIMES             = compose3(gl, SSHDIR, "/primes");
79     _PATH_SSH_PROGRAM           = compose3(gl, BINDIR, "/gsissh");
80     _PATH_SSH_DAEMON_PID_FILE   = compose3(gl, VARDIR, "/sshd.pid");
81     _PATH_SSH_SYSTEM_RC         = compose3(gl, SSHDIR, "/sshrc");
82     _PATH_SSH_HOSTS_EQUIV       = compose3(gl, SSHDIR, "/shosts.equiv");
83     _PATH_SSH_KEY_SIGN          = compose3(gl, LIBEXEC, "/ssh-keysign");
84     _PATH_SFTP_SERVER           = compose3(gl, LIBEXEC, "/sftp-server");
85     SSH_RAND_HELPER             = compose3(gl, LIBEXEC, "/ssh-rand-helper");
86     _PATH_STDPATH_WITH_SCP      = compose4(_PATH_STDPATH, ":", gl, BINDIR);
87 }
This page took 0.037374 seconds and 5 git commands to generate.