[BACK]Return to readconf.h CVS log [TXT][DIR] Up to [local] / src / usr.bin / ssh

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 */