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