version 1.22, 2000/10/11 20:14:39 |
version 1.22.2.6, 2001/11/15 00:14:59 |
|
|
#ifndef READCONF_H |
#ifndef READCONF_H |
#define READCONF_H |
#define READCONF_H |
|
|
|
#include "key.h" |
|
|
/* Data structure for representing a forwarding request. */ |
/* Data structure for representing a forwarding request. */ |
|
|
typedef struct { |
typedef struct { |
|
|
int rhosts_rsa_authentication; /* Try rhosts with RSA |
int rhosts_rsa_authentication; /* Try rhosts with RSA |
* authentication. */ |
* authentication. */ |
int rsa_authentication; /* Try RSA authentication. */ |
int rsa_authentication; /* Try RSA authentication. */ |
int dsa_authentication; /* Try DSA authentication. */ |
int pubkey_authentication; /* Try ssh2 pubkey authentication. */ |
int skey_authentication; /* Try S/Key or TIS authentication. */ |
int hostbased_authentication; /* ssh2's rhosts_rsa */ |
#ifdef KRB4 |
int challenge_response_authentication; |
int kerberos_authentication; /* Try Kerberos |
/* Try S/Key or TIS, authentication. */ |
* authentication. */ |
#if defined(KRB4) || defined(KRB5) |
|
int kerberos_authentication; /* Try Kerberos authentication. */ |
#endif |
#endif |
|
#if defined(AFS) || defined(KRB5) |
|
int kerberos_tgt_passing; /* Try Kerberos TGT passing. */ |
|
#endif |
#ifdef AFS |
#ifdef AFS |
int kerberos_tgt_passing; /* Try Kerberos tgt passing. */ |
|
int afs_token_passing; /* Try AFS token passing. */ |
int afs_token_passing; /* Try AFS token passing. */ |
#endif |
#endif |
int password_authentication; /* Try password |
int password_authentication; /* Try password |
|
|
* prompts. */ |
* prompts. */ |
int cipher; /* Cipher to use. */ |
int cipher; /* Cipher to use. */ |
char *ciphers; /* SSH2 ciphers in order of preference. */ |
char *ciphers; /* SSH2 ciphers in order of preference. */ |
|
char *macs; /* SSH2 macs in order of preference. */ |
|
char *hostkeyalgorithms; /* SSH2 server key types in order of preference. */ |
int protocol; /* Protocol in order of preference. */ |
int protocol; /* Protocol in order of preference. */ |
char *hostname; /* Real host to connect. */ |
char *hostname; /* Real host to connect. */ |
|
char *host_key_alias; /* hostname alias for .ssh/known_hosts */ |
char *proxy_command; /* Proxy command for connecting the host. */ |
char *proxy_command; /* Proxy command for connecting the host. */ |
char *user; /* User to log in as. */ |
char *user; /* User to log in as. */ |
int escape_char; /* Escape character; -2 = none */ |
int escape_char; /* Escape character; -2 = none */ |
|
|
char *user_hostfile; /* Path for $HOME/.ssh/known_hosts. */ |
char *user_hostfile; /* Path for $HOME/.ssh/known_hosts. */ |
char *system_hostfile2; |
char *system_hostfile2; |
char *user_hostfile2; |
char *user_hostfile2; |
|
char *preferred_authentications; |
|
char *bind_address; /* local socket address for connection to sshd */ |
|
char *smartcard_device; /* Smartcard reader device */ |
|
|
int num_identity_files; /* Number of files for RSA identities. */ |
int num_identity_files; /* Number of files for RSA/DSA identities. */ |
int num_identity_files2; /* DSA identities. */ |
|
char *identity_files[SSH_MAX_IDENTITY_FILES]; |
char *identity_files[SSH_MAX_IDENTITY_FILES]; |
char *identity_files2[SSH_MAX_IDENTITY_FILES]; |
Key *identity_keys[SSH_MAX_IDENTITY_FILES]; |
|
|
/* Local TCP/IP forward requests. */ |
/* Local TCP/IP forward requests. */ |
int num_local_forwards; |
int num_local_forwards; |
|
|
/* Remote TCP/IP forward requests. */ |
/* Remote TCP/IP forward requests. */ |
int num_remote_forwards; |
int num_remote_forwards; |
Forward remote_forwards[SSH_MAX_FORWARDS_PER_DIRECTION]; |
Forward remote_forwards[SSH_MAX_FORWARDS_PER_DIRECTION]; |
|
int clear_forwardings; |
|
int no_host_authentication_for_localhost; |
} Options; |
} Options; |
|
|
|
|
/* |
void initialize_options(Options *); |
* Initializes options to special values that indicate that they have not yet |
void fill_default_options(Options *); |
* been set. Read_config_file will only set options with this value. Options |
int read_config_file(const char *, const char *, Options *); |
* are processed in the following order: command line, user config file, |
|
* system config file. Last, fill_default_options is called. |
|
*/ |
|
void initialize_options(Options * options); |
|
|
|
/* |
|
* Called after processing other sources of option data, this fills those |
|
* options for which no value has been specified with their default values. |
|
*/ |
|
void fill_default_options(Options * options); |
|
|
|
/* |
|
* Processes a single option line as used in the configuration files. This |
|
* only sets those values that have not already been set. Returns 0 for legal |
|
* options |
|
*/ |
|
int |
int |
process_config_line(Options * options, const char *host, |
process_config_line(Options *, const char *, char *, const char *, int, int *); |
char *line, const char *filename, int linenum, |
|
int *activep); |
|
|
|
/* |
void add_local_forward(Options *, u_short, const char *, u_short); |
* Reads the config file and modifies the options accordingly. Options |
void add_remote_forward(Options *, u_short, const char *, u_short); |
* should already be initialized before this call. This never returns if |
|
* there is an error. If the file does not exist, this returns immediately. |
|
*/ |
|
void |
|
read_config_file(const char *filename, const char *host, |
|
Options * options); |
|
|
|
/* |
|
* Adds a local TCP/IP port forward to options. Never returns if there is an |
|
* error. |
|
*/ |
|
void |
|
add_local_forward(Options * options, u_short port, const char *host, |
|
u_short host_port); |
|
|
|
/* |
|
* Adds a remote TCP/IP port forward to options. Never returns if there is |
|
* an error. |
|
*/ |
|
void |
|
add_remote_forward(Options * options, u_short port, const char *host, |
|
u_short host_port); |
|
|
|
#endif /* READCONF_H */ |
#endif /* READCONF_H */ |