Annotation of src/usr.bin/ssh/readconf.h, Revision 1.11
1.1 deraadt 1: /*
1.11 ! deraadt 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: */
1.1 deraadt 15:
1.11 ! deraadt 16: /* RCSID("$Id: readconf.h,v 1.10 1999/11/22 21:52:41 markus Exp $"); */
1.1 deraadt 17:
18: #ifndef READCONF_H
19: #define READCONF_H
20:
21: /* Data structure for representing a forwarding request. */
22:
1.11 ! deraadt 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;
1.1 deraadt 28: /* Data structure for representing option data. */
29:
1.11 ! deraadt 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. */
1.1 deraadt 40: #ifdef KRB4
1.11 ! deraadt 41: int kerberos_authentication; /* Try Kerberos
! 42: * authentication. */
1.1 deraadt 43: #endif
1.3 dugsong 44: #ifdef AFS
1.11 ! deraadt 45: int kerberos_tgt_passing; /* Try Kerberos tgt passing. */
! 46: int afs_token_passing; /* Try AFS token passing. */
1.1 deraadt 47: #endif
1.11 ! deraadt 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;
1.1 deraadt 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. */
1.11 ! deraadt 92: void initialize_options(Options * options);
1.1 deraadt 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. */
1.11 ! deraadt 96: void fill_default_options(Options * options);
1.1 deraadt 97:
1.11 ! deraadt 98: /* Processes a single option line as used in the configuration files.
1.9 markus 99: This only sets those values that have not already been set.
100: Returns 0 for legal options */
1.11 ! deraadt 101: int
! 102: process_config_line(Options * options, const char *host,
! 103: char *line, const char *filename, int linenum,
! 104: int *activep);
1.1 deraadt 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. */
1.11 ! deraadt 109: void
! 110: read_config_file(const char *filename, const char *host,
! 111: Options * options);
1.1 deraadt 112:
113: /* Adds a local TCP/IP port forward to options. Never returns if there
114: is an error. */
1.11 ! deraadt 115: void
! 116: add_local_forward(Options * options, int port, const char *host,
! 117: int host_port);
1.1 deraadt 118:
119: /* Adds a remote TCP/IP port forward to options. Never returns if there
120: is an error. */
1.11 ! deraadt 121: void
! 122: add_remote_forward(Options * options, int port, const char *host,
! 123: int host_port);
1.1 deraadt 124:
125:
1.11 ! deraadt 126: #endif /* READCONF_H */