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