1 /* $OpenBSD: ssh.h,v 1.71 2002/06/22 02:00:29 stevesk Exp $ */ 2 3 /* 4 * Author: Tatu Ylonen <ylo@cs.hut.fi> 5 * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland 6 * All rights reserved 7 * 8 * As far as I am concerned, the code I have written for this software 9 * can be used freely for any purpose. Any derived versions of this 10 * software must be clearly marked as such, and if the derived work is 11 * incompatible with the protocol description in the RFC file, it must be 12 * called by a name other than "ssh" or "Secure Shell". 13 */ 14 15 #ifndef SSH_H 16 #define SSH_H 17 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> 26 #endif 27 28 /* Cipher used for encrypting authentication files. */ 29 #define SSH_AUTHFILE_CIPHER SSH_CIPHER_3DES 30 31 /* Default port number. */ 32 #define SSH_DEFAULT_PORT 22 33 34 /* Maximum number of TCP/IP ports forwarded per direction. */ 35 #define SSH_MAX_FORWARDS_PER_DIRECTION 100 36 37 /* 38 * Maximum number of RSA authentication identity files that can be specified 39 * in configuration files or on the command line. 40 */ 41 #define SSH_MAX_IDENTITY_FILES 100 42 43 /* 44 * Major protocol version. Different version indicates major incompatibility 45 * that prevents communication. 46 * 47 * Minor protocol version. Different version indicates minor incompatibility 48 * that does not prevent interoperation. 49 */ 50 #define PROTOCOL_MAJOR_1 1 51 #define PROTOCOL_MINOR_1 5 52 53 /* We support both SSH1 and SSH2 */ 54 #define PROTOCOL_MAJOR_2 2 55 #define PROTOCOL_MINOR_2 0 56 57 /* 58 * Name for the service. The port named by this service overrides the 59 * default port if present. 60 */ 61 #define SSH_SERVICE_NAME "ssh" 62 63 /* 64 * Name of the environment variable containing the process ID of the 65 * authentication agent. 66 */ 67 #define SSH_AGENTPID_ENV_NAME "SSH_AGENT_PID" 68 69 /* 70 * Name of the environment variable containing the pathname of the 71 * authentication socket. 72 */ 73 #define SSH_AUTHSOCKET_ENV_NAME "SSH_AUTH_SOCK" 74 75 /* 76 * Environment variable for overwriting the default location of askpass 77 */ 78 #define SSH_ASKPASS_ENV "SSH_ASKPASS" 79 80 /* 81 * Force host key length and server key length to differ by at least this 82 * many bits. This is to make double encryption with rsaref work. 83 */ 84 #define SSH_KEY_BITS_RESERVED 128 85 86 /* 87 * Length of the session key in bytes. (Specified as 256 bits in the 88 * protocol.) 89 */ 90 #define SSH_SESSION_KEY_LENGTH 32 91 92 /* Name of Kerberos service for SSH to use. */ 93 #define KRB4_SERVICE_NAME "rcmd" 94 95 /* Used to identify ``EscapeChar none'' */ 96 #define SSH_ESCAPECHAR_NONE -2 97 98 /* 99 * unprivileged user when UsePrivilegeSeparation=yes; 100 * sshd will change its privileges to this user and its 101 * primary group. 102 */ 103 #ifndef SSH_PRIVSEP_USER 104 #define SSH_PRIVSEP_USER "sshd" 105 #endif 106 107 /* Minimum modulus size (n) for RSA keys. */ 108 #define SSH_RSA_MINIMUM_MODULUS_SIZE 768 109 110 #endif /* SSH_H */ 111