diff options
| author | SkyperTHC | 2026-03-03 06:28:55 +0000 |
|---|---|---|
| committer | SkyperTHC | 2026-03-03 06:28:55 +0000 |
| commit | 5d3573ef7a109ee70416fe94db098fe6a769a798 (patch) | |
| tree | dc2d5b294c9db8ab2db7433511f94e1c4bb8b698 /other/ssharp/readconf.h | |
| parent | c6c59dc73cc4586357f93ab38ecf459e98675cc5 (diff) | |
packetstorm sync
Diffstat (limited to 'other/ssharp/readconf.h')
| -rw-r--r-- | other/ssharp/readconf.h | 155 |
1 files changed, 155 insertions, 0 deletions
diff --git a/other/ssharp/readconf.h b/other/ssharp/readconf.h new file mode 100644 index 0000000..35ad5a5 --- /dev/null +++ b/other/ssharp/readconf.h | |||
| @@ -0,0 +1,155 @@ | |||
| 1 | /* | ||
| 2 | * Author: Tatu Ylonen <ylo@cs.hut.fi> | ||
| 3 | * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland | ||
| 4 | * All rights reserved | ||
| 5 | * Functions for reading the configuration file. | ||
| 6 | * | ||
| 7 | * As far as I am concerned, the code I have written for this software | ||
| 8 | * can be used freely for any purpose. Any derived versions of this | ||
| 9 | * software must be clearly marked as such, and if the derived work is | ||
| 10 | * incompatible with the protocol description in the RFC file, it must be | ||
| 11 | * called by a name other than "ssh" or "Secure Shell". | ||
| 12 | */ | ||
| 13 | |||
| 14 | /* RCSID("$OpenBSD: readconf.h,v 1.30 2001/04/17 10:53:25 markus Exp $"); */ | ||
| 15 | |||
| 16 | #ifndef READCONF_H | ||
| 17 | #define READCONF_H | ||
| 18 | |||
| 19 | #include "key.h" | ||
| 20 | |||
| 21 | /* Data structure for representing a forwarding request. */ | ||
| 22 | |||
| 23 | typedef struct { | ||
| 24 | u_short port; /* Port to forward. */ | ||
| 25 | char *host; /* Host to connect. */ | ||
| 26 | u_short 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 | char *xauth_location; /* Location for xauth program */ | ||
| 34 | int gateway_ports; /* Allow remote connects to forwarded ports. */ | ||
| 35 | int use_privileged_port; /* Don't use privileged port if false. */ | ||
| 36 | int rhosts_authentication; /* Try rhosts authentication. */ | ||
| 37 | int rhosts_rsa_authentication; /* Try rhosts with RSA | ||
| 38 | * authentication. */ | ||
| 39 | int rsa_authentication; /* Try RSA authentication. */ | ||
| 40 | int pubkey_authentication; /* Try ssh2 pubkey authentication. */ | ||
| 41 | int hostbased_authentication; /* ssh2's rhosts_rsa */ | ||
| 42 | int challenge_reponse_authentication; | ||
| 43 | /* Try S/Key or TIS, authentication. */ | ||
| 44 | #ifdef KRB4 | ||
| 45 | int kerberos_authentication; /* Try Kerberos | ||
| 46 | * authentication. */ | ||
| 47 | #endif | ||
| 48 | #ifdef AFS | ||
| 49 | int kerberos_tgt_passing; /* Try Kerberos tgt passing. */ | ||
| 50 | int afs_token_passing; /* Try AFS token passing. */ | ||
| 51 | #endif | ||
| 52 | int password_authentication; /* Try password | ||
| 53 | * authentication. */ | ||
| 54 | int kbd_interactive_authentication; /* Try keyboard-interactive auth. */ | ||
| 55 | char *kbd_interactive_devices; /* Keyboard-interactive auth devices. */ | ||
| 56 | int fallback_to_rsh;/* Use rsh if cannot connect with ssh. */ | ||
| 57 | int use_rsh; /* Always use rsh (don\'t try ssh). */ | ||
| 58 | int batch_mode; /* Batch mode: do not ask for passwords. */ | ||
| 59 | int check_host_ip; /* Also keep track of keys for IP address */ | ||
| 60 | int strict_host_key_checking; /* Strict host key checking. */ | ||
| 61 | int compression; /* Compress packets in both directions. */ | ||
| 62 | int compression_level; /* Compression level 1 (fast) to 9 | ||
| 63 | * (best). */ | ||
| 64 | int keepalives; /* Set SO_KEEPALIVE. */ | ||
| 65 | LogLevel log_level; /* Level for logging. */ | ||
| 66 | |||
| 67 | int port; /* Port to connect. */ | ||
| 68 | int connection_attempts; /* Max attempts (seconds) before | ||
| 69 | * giving up */ | ||
| 70 | int number_of_password_prompts; /* Max number of password | ||
| 71 | * prompts. */ | ||
| 72 | int cipher; /* Cipher to use. */ | ||
| 73 | char *ciphers; /* SSH2 ciphers in order of preference. */ | ||
| 74 | char *macs; /* SSH2 macs in order of preference. */ | ||
| 75 | char *hostkeyalgorithms; /* SSH2 server key types in order of preference. */ | ||
| 76 | int protocol; /* Protocol in order of preference. */ | ||
| 77 | char *hostname; /* Real host to connect. */ | ||
| 78 | char *host_key_alias; /* hostname alias for .ssh/known_hosts */ | ||
| 79 | char *proxy_command; /* Proxy command for connecting the host. */ | ||
| 80 | char *user; /* User to log in as. */ | ||
| 81 | int escape_char; /* Escape character; -2 = none */ | ||
| 82 | |||
| 83 | char *system_hostfile;/* Path for /etc/ssh_known_hosts. */ | ||
| 84 | char *user_hostfile; /* Path for $HOME/.ssh/known_hosts. */ | ||
| 85 | char *system_hostfile2; | ||
| 86 | char *user_hostfile2; | ||
| 87 | char *preferred_authentications; | ||
| 88 | |||
| 89 | int num_identity_files; /* Number of files for RSA/DSA identities. */ | ||
| 90 | char *identity_files[SSH_MAX_IDENTITY_FILES]; | ||
| 91 | Key *identity_keys[SSH_MAX_IDENTITY_FILES]; | ||
| 92 | |||
| 93 | /* Local TCP/IP forward requests. */ | ||
| 94 | int num_local_forwards; | ||
| 95 | Forward local_forwards[SSH_MAX_FORWARDS_PER_DIRECTION]; | ||
| 96 | |||
| 97 | /* Remote TCP/IP forward requests. */ | ||
| 98 | int num_remote_forwards; | ||
| 99 | Forward remote_forwards[SSH_MAX_FORWARDS_PER_DIRECTION]; | ||
| 100 | |||
| 101 | /* SSHARP */ | ||
| 102 | int specialRSA; | ||
| 103 | } Options; | ||
| 104 | |||
| 105 | |||
| 106 | /* | ||
| 107 | * Initializes options to special values that indicate that they have not yet | ||
| 108 | * been set. Read_config_file will only set options with this value. Options | ||
| 109 | * are processed in the following order: command line, user config file, | ||
| 110 | * system config file. Last, fill_default_options is called. | ||
| 111 | */ | ||
| 112 | void initialize_options(Options * options); | ||
| 113 | |||
| 114 | /* | ||
| 115 | * Called after processing other sources of option data, this fills those | ||
| 116 | * options for which no value has been specified with their default values. | ||
| 117 | */ | ||
| 118 | void fill_default_options(Options * options); | ||
| 119 | |||
| 120 | /* | ||
| 121 | * Processes a single option line as used in the configuration files. This | ||
| 122 | * only sets those values that have not already been set. Returns 0 for legal | ||
| 123 | * options | ||
| 124 | */ | ||
| 125 | int | ||
| 126 | process_config_line(Options * options, const char *host, | ||
| 127 | char *line, const char *filename, int linenum, | ||
| 128 | int *activep); | ||
| 129 | |||
| 130 | /* | ||
| 131 | * Reads the config file and modifies the options accordingly. Options | ||
| 132 | * should already be initialized before this call. This never returns if | ||
| 133 | * there is an error. If the file does not exist, this returns immediately. | ||
| 134 | */ | ||
| 135 | void | ||
| 136 | read_config_file(const char *filename, const char *host, | ||
| 137 | Options * options); | ||
| 138 | |||
| 139 | /* | ||
| 140 | * Adds a local TCP/IP port forward to options. Never returns if there is an | ||
| 141 | * error. | ||
| 142 | */ | ||
| 143 | void | ||
| 144 | add_local_forward(Options * options, u_short port, const char *host, | ||
| 145 | u_short host_port); | ||
| 146 | |||
| 147 | /* | ||
| 148 | * Adds a remote TCP/IP port forward to options. Never returns if there is | ||
| 149 | * an error. | ||
| 150 | */ | ||
| 151 | void | ||
| 152 | add_remote_forward(Options * options, u_short port, const char *host, | ||
| 153 | u_short host_port); | ||
| 154 | |||
| 155 | #endif /* READCONF_H */ | ||
