1 /* $OpenBSD: ssh.h,v 1.71 2002/06/22 02:00:29 stevesk Exp $ */
2 /* $FreeBSD: src/crypto/openssh/ssh.h,v 1.6.2.8 2003/02/03 17:31:08 des Exp $ */
3 /* $DragonFly: src/crypto/openssh/Attic/ssh.h,v 1.2 2003/06/17 04:24:36 dillon Exp $ */
6 * Author: Tatu Ylonen <ylo@cs.hut.fi>
7 * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
10 * As far as I am concerned, the code I have written for this software
11 * can be used freely for any purpose. Any derived versions of this
12 * software must be clearly marked as such, and if the derived work is
13 * incompatible with the protocol description in the RFC file, it must be
14 * called by a name other than "ssh" or "Secure Shell".
20 #include <netinet/in.h> /* For struct sockaddr_in */
21 #include <pwd.h> /* For struct pw */
22 #include <stdarg.h> /* For va_list */
23 #include <syslog.h> /* For LOG_AUTH and friends */
24 #include <sys/socket.h> /* For struct sockaddr_storage */
25 #include "openbsd-compat/fake-socket.h" /* For struct sockaddr_storage */
26 #ifdef HAVE_SYS_SELECT_H
27 # include <sys/select.h>
30 /* Cipher used for encrypting authentication files. */
31 #define SSH_AUTHFILE_CIPHER SSH_CIPHER_3DES
33 /* Default port number. */
34 #define SSH_DEFAULT_PORT 22
36 /* Maximum number of TCP/IP ports forwarded per direction. */
37 #define SSH_MAX_FORWARDS_PER_DIRECTION 100
40 * Maximum number of RSA authentication identity files that can be specified
41 * in configuration files or on the command line.
43 #define SSH_MAX_IDENTITY_FILES 100
46 * Major protocol version. Different version indicates major incompatibility
47 * that prevents communication.
49 * Minor protocol version. Different version indicates minor incompatibility
50 * that does not prevent interoperation.
52 #define PROTOCOL_MAJOR_1 1
53 #define PROTOCOL_MINOR_1 5
55 /* We support both SSH1 and SSH2 */
56 #define PROTOCOL_MAJOR_2 2
57 #define PROTOCOL_MINOR_2 0
60 * Name for the service. The port named by this service overrides the
61 * default port if present.
63 #define SSH_SERVICE_NAME "ssh"
66 * Name of the environment variable containing the process ID of the
67 * authentication agent.
69 #define SSH_AGENTPID_ENV_NAME "SSH_AGENT_PID"
72 * Name of the environment variable containing the pathname of the
73 * authentication socket.
75 #define SSH_AUTHSOCKET_ENV_NAME "SSH_AUTH_SOCK"
78 * Environment variable for overwriting the default location of askpass
80 #define SSH_ASKPASS_ENV "SSH_ASKPASS"
83 * Force host key length and server key length to differ by at least this
84 * many bits. This is to make double encryption with rsaref work.
86 #define SSH_KEY_BITS_RESERVED 128
89 * Length of the session key in bytes. (Specified as 256 bits in the
92 #define SSH_SESSION_KEY_LENGTH 32
94 /* Name of Kerberos service for SSH to use. */
95 #define KRB4_SERVICE_NAME "rcmd"
97 /* Used to identify ``EscapeChar none'' */
98 #define SSH_ESCAPECHAR_NONE -2
101 * unprivileged user when UsePrivilegeSeparation=yes;
102 * sshd will change its privileges to this user and its
105 #ifndef SSH_PRIVSEP_USER
106 #define SSH_PRIVSEP_USER "sshd"
109 /* Minimum modulus size (n) for RSA keys. */
110 #define SSH_RSA_MINIMUM_MODULUS_SIZE 768