2 * Author: Tatu Ylonen <ylo@cs.hut.fi>
3 * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
6 * As far as I am concerned, the code I have written for this software
7 * can be used freely for any purpose. Any derived versions of this
8 * software must be clearly marked as such, and if the derived work is
9 * incompatible with the protocol description in the RFC file, it must be
10 * called by a name other than "ssh" or "Secure Shell".
13 /* RCSID("$OpenBSD: ssh.h,v 1.63 2001/05/24 18:57:53 stevesk Exp $"); */
18 #include <netinet/in.h> /* For struct sockaddr_in */
19 #include <pwd.h> /* For struct pw */
20 #include <stdarg.h> /* For va_list */
21 #include <syslog.h> /* For LOG_AUTH and friends */
22 #include <sys/socket.h> /* For struct sockaddr_storage */
23 #include "openbsd-compat/fake-socket.h" /* For struct sockaddr_storage */
24 #ifdef HAVE_SYS_SELECT_H
25 # include <sys/select.h>
28 /* Cipher used for encrypting authentication files. */
29 #define SSH_AUTHFILE_CIPHER SSH_CIPHER_3DES
31 /* Default port number. */
32 #define SSH_DEFAULT_PORT 22
34 /* Maximum number of TCP/IP ports forwarded per direction. */
35 #define SSH_MAX_FORWARDS_PER_DIRECTION 100
38 * Maximum number of RSA authentication identity files that can be specified
39 * in configuration files or on the command line.
41 #define SSH_MAX_IDENTITY_FILES 100
44 * Major protocol version. Different version indicates major incompatiblity
45 * that prevents communication.
47 * Minor protocol version. Different version indicates minor incompatibility
48 * that does not prevent interoperation.
50 #define PROTOCOL_MAJOR_1 1
51 #define PROTOCOL_MINOR_1 5
53 /* We support both SSH1 and SSH2 */
54 #define PROTOCOL_MAJOR_2 2
55 #define PROTOCOL_MINOR_2 0
58 * Name for the service. The port named by this service overrides the
59 * default port if present.
61 #define SSH_SERVICE_NAME "ssh"
63 #if defined(USE_PAM) && !defined(SSHD_PAM_SERVICE)
64 # define SSHD_PAM_SERVICE __progname
68 * Name of the environment variable containing the pathname of the
69 * authentication socket.
71 #define SSH_AGENTPID_ENV_NAME "SSH_AGENT_PID"
74 * Name of the environment variable containing the pathname of the
75 * authentication socket.
77 #define SSH_AUTHSOCKET_ENV_NAME "SSH_AUTH_SOCK"
80 * Environment variable for overwriting the default location of askpass
82 #define SSH_ASKPASS_ENV "SSH_ASKPASS"
85 * Force host key length and server key length to differ by at least this
86 * many bits. This is to make double encryption with rsaref work.
88 #define SSH_KEY_BITS_RESERVED 128
91 * Length of the session key in bytes. (Specified as 256 bits in the
94 #define SSH_SESSION_KEY_LENGTH 32
96 /* Name of Kerberos service for SSH to use. */
97 #define KRB4_SERVICE_NAME "rcmd"
99 /* Used to identify ``EscapeChar none'' */
100 #define SSH_ESCAPECHAR_NONE -2