]> andersk Git - openssh.git/blob - readconf.h
- Merged more OpenBSD CVS changes:
[openssh.git] / readconf.h
1 /*
2
3 readconf.h
4
5 Author: Tatu Ylonen <ylo@cs.hut.fi>
6
7 Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
8                    All rights reserved
9
10 Created: Sat Apr 22 00:25:29 1995 ylo
11
12 Functions for reading the configuration file.
13
14 */
15
16 /* RCSID("$Id$"); */
17
18 #ifndef READCONF_H
19 #define READCONF_H
20
21 /* Data structure for representing a forwarding request. */
22
23 typedef struct
24 {
25   int port;             /* Port to forward. */
26   char *host;           /* Host to connect. */
27   int host_port;        /* Port to connect on host. */
28 } Forward;
29
30 /* Data structure for representing option data. */
31
32 typedef struct
33 {
34   int forward_agent;            /* Forward authentication agent. */
35   int forward_x11;              /* Forward X11 display. */
36   int gateway_ports;            /* Allow remote connects to forwarded ports. */
37   int use_privileged_port;      /* Don't use privileged port if false. */
38   int rhosts_authentication;    /* Try rhosts authentication. */
39   int rhosts_rsa_authentication;/* Try rhosts with RSA authentication. */
40   int rsa_authentication;       /* Try RSA authentication. */
41 #ifdef KRB4
42   int kerberos_authentication;  /* Try Kerberos authentication. */
43 #endif
44 #ifdef AFS
45   int kerberos_tgt_passing;     /* Try Kerberos tgt passing. */
46   int afs_token_passing;        /* Try AFS token passing. */
47 #endif
48   int password_authentication;  /* Try password authentication. */
49   int fallback_to_rsh;          /* Use rsh if cannot connect with ssh. */
50   int use_rsh;                  /* Always use rsh (don\'t try ssh). */
51   int batch_mode;               /* Batch mode: do not ask for passwords. */
52   int check_host_ip;            /* Also keep track of keys for IP address */
53   int strict_host_key_checking; /* Strict host key checking. */
54   int compression;              /* Compress packets in both directions. */
55   int compression_level;        /* Compression level 1 (fast) to 9 (best). */
56   int keepalives;               /* Set SO_KEEPALIVE. */
57   LogLevel log_level;           /* Level for logging. */
58
59   int port;                     /* Port to connect. */
60   int connection_attempts;      /* Max attempts (seconds) before giving up */
61   int number_of_password_prompts; /* Max number of password prompts. */
62   int cipher;                   /* Cipher to use. */
63   char *hostname;               /* Real host to connect. */
64   char *proxy_command;          /* Proxy command for connecting the host. */
65   char *user;                   /* User to log in as. */
66   int escape_char;              /* Escape character; -2 = none */
67
68   char *system_hostfile;        /* Path for /etc/ssh_known_hosts. */
69   char *user_hostfile;          /* Path for $HOME/.ssh/known_hosts. */
70
71   int num_identity_files;       /* Number of files for RSA identities. */
72   char *identity_files[SSH_MAX_IDENTITY_FILES];
73
74   /* Local TCP/IP forward requests. */
75   int num_local_forwards;
76   Forward local_forwards[SSH_MAX_FORWARDS_PER_DIRECTION];
77
78   /* Remote TCP/IP forward requests. */
79   int num_remote_forwards;
80   Forward remote_forwards[SSH_MAX_FORWARDS_PER_DIRECTION];
81 } Options;
82
83
84 /* Initializes options to special values that indicate that they have not
85    yet been set.  Read_config_file will only set options with this value.
86    Options are processed in the following order: command line, user config
87    file, system config file.  Last, fill_default_options is called. */
88 void initialize_options(Options *options);
89
90 /* Called after processing other sources of option data, this fills those
91    options for which no value has been specified with their default values. */
92 void fill_default_options(Options *options);
93
94 /* Processes a single option line as used in the configuration files. 
95    This only sets those values that have not already been set.
96    Returns 0 for legal options */
97 int process_config_line(Options *options, const char *host,
98                          char *line, const char *filename, int linenum,
99                          int *activep);
100
101 /* Reads the config file and modifies the options accordingly.  Options should
102    already be initialized before this call.  This never returns if there
103    is an error.  If the file does not exist, this returns immediately. */
104 void read_config_file(const char *filename, const char *host, 
105                       Options *options);
106
107 /* Adds a local TCP/IP port forward to options.  Never returns if there
108    is an error. */
109 void add_local_forward(Options *options, int port, const char *host,
110                        int host_port);
111
112 /* Adds a remote TCP/IP port forward to options.  Never returns if there
113    is an error. */
114 void add_remote_forward(Options *options, int port, const char *host,
115                         int host_port);
116
117
118 #endif /* READCONF_H */
This page took 0.043227 seconds and 5 git commands to generate.