xref: /dragonfly/crypto/openssh/ssh.h (revision 1de703da)
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 $	*/
4 
5 /*
6  * Author: Tatu Ylonen <ylo@cs.hut.fi>
7  * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
8  *                    All rights reserved
9  *
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".
15  */
16 
17 #ifndef SSH_H
18 #define SSH_H
19 
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>
28 #endif
29 
30 /* Cipher used for encrypting authentication files. */
31 #define SSH_AUTHFILE_CIPHER	SSH_CIPHER_3DES
32 
33 /* Default port number. */
34 #define SSH_DEFAULT_PORT	22
35 
36 /* Maximum number of TCP/IP ports forwarded per direction. */
37 #define SSH_MAX_FORWARDS_PER_DIRECTION	100
38 
39 /*
40  * Maximum number of RSA authentication identity files that can be specified
41  * in configuration files or on the command line.
42  */
43 #define SSH_MAX_IDENTITY_FILES		100
44 
45 /*
46  * Major protocol version.  Different version indicates major incompatibility
47  * that prevents communication.
48  *
49  * Minor protocol version.  Different version indicates minor incompatibility
50  * that does not prevent interoperation.
51  */
52 #define PROTOCOL_MAJOR_1	1
53 #define PROTOCOL_MINOR_1	5
54 
55 /* We support both SSH1 and SSH2 */
56 #define PROTOCOL_MAJOR_2	2
57 #define PROTOCOL_MINOR_2	0
58 
59 /*
60  * Name for the service.  The port named by this service overrides the
61  * default port if present.
62  */
63 #define SSH_SERVICE_NAME	"ssh"
64 
65 /*
66  * Name of the environment variable containing the process ID of the
67  * authentication agent.
68  */
69 #define SSH_AGENTPID_ENV_NAME	"SSH_AGENT_PID"
70 
71 /*
72  * Name of the environment variable containing the pathname of the
73  * authentication socket.
74  */
75 #define SSH_AUTHSOCKET_ENV_NAME "SSH_AUTH_SOCK"
76 
77 /*
78  * Environment variable for overwriting the default location of askpass
79  */
80 #define SSH_ASKPASS_ENV		"SSH_ASKPASS"
81 
82 /*
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.
85  */
86 #define SSH_KEY_BITS_RESERVED		128
87 
88 /*
89  * Length of the session key in bytes.  (Specified as 256 bits in the
90  * protocol.)
91  */
92 #define SSH_SESSION_KEY_LENGTH		32
93 
94 /* Name of Kerberos service for SSH to use. */
95 #define KRB4_SERVICE_NAME		"rcmd"
96 
97 /* Used to identify ``EscapeChar none'' */
98 #define SSH_ESCAPECHAR_NONE		-2
99 
100 /*
101  * unprivileged user when UsePrivilegeSeparation=yes;
102  * sshd will change its privileges to this user and its
103  * primary group.
104  */
105 #ifndef SSH_PRIVSEP_USER
106 #define SSH_PRIVSEP_USER		"sshd"
107 #endif
108 
109 /* Minimum modulus size (n) for RSA keys. */
110 #define SSH_RSA_MINIMUM_MODULUS_SIZE	768
111 
112 #endif				/* SSH_H */
113