ssh.h revision 147005
1/* $OpenBSD: ssh.h,v 1.76 2004/12/06 11:41:03 dtucker 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#ifdef HAVE_SYS_SELECT_H 24# include <sys/select.h> 25#endif 26 27/* Cipher used for encrypting authentication files. */ 28#define SSH_AUTHFILE_CIPHER SSH_CIPHER_3DES 29 30/* Default port number. */ 31#define SSH_DEFAULT_PORT 22 32 33/* Maximum number of TCP/IP ports forwarded per direction. */ 34#define SSH_MAX_FORWARDS_PER_DIRECTION 100 35 36/* 37 * Maximum number of RSA authentication identity files that can be specified 38 * in configuration files or on the command line. 39 */ 40#define SSH_MAX_IDENTITY_FILES 100 41 42/* 43 * Maximum length of lines in authorized_keys file. 44 * Current value permits 16kbit RSA and RSA1 keys and 8kbit DSA keys, with 45 * some room for options and comments. 46 */ 47#define SSH_MAX_PUBKEY_BYTES 8192 48 49/* 50 * Major protocol version. Different version indicates major incompatibility 51 * that prevents communication. 52 * 53 * Minor protocol version. Different version indicates minor incompatibility 54 * that does not prevent interoperation. 55 */ 56#define PROTOCOL_MAJOR_1 1 57#define PROTOCOL_MINOR_1 5 58 59/* We support both SSH1 and SSH2 */ 60#define PROTOCOL_MAJOR_2 2 61#define PROTOCOL_MINOR_2 0 62 63/* 64 * Name for the service. The port named by this service overrides the 65 * default port if present. 66 */ 67#define SSH_SERVICE_NAME "ssh" 68 69/* 70 * Name of the environment variable containing the process ID of the 71 * authentication agent. 72 */ 73#define SSH_AGENTPID_ENV_NAME "SSH_AGENT_PID" 74 75/* 76 * Name of the environment variable containing the pathname of the 77 * authentication socket. 78 */ 79#define SSH_AUTHSOCKET_ENV_NAME "SSH_AUTH_SOCK" 80 81/* 82 * Environment variable for overwriting the default location of askpass 83 */ 84#define SSH_ASKPASS_ENV "SSH_ASKPASS" 85 86/* 87 * Force host key length and server key length to differ by at least this 88 * many bits. This is to make double encryption with rsaref work. 89 */ 90#define SSH_KEY_BITS_RESERVED 128 91 92/* 93 * Length of the session key in bytes. (Specified as 256 bits in the 94 * protocol.) 95 */ 96#define SSH_SESSION_KEY_LENGTH 32 97 98/* Used to identify ``EscapeChar none'' */ 99#define SSH_ESCAPECHAR_NONE -2 100 101/* 102 * unprivileged user when UsePrivilegeSeparation=yes; 103 * sshd will change its privileges to this user and its 104 * primary group. 105 */ 106#ifndef SSH_PRIVSEP_USER 107#define SSH_PRIVSEP_USER "sshd" 108#endif 109 110/* Minimum modulus size (n) for RSA keys. */ 111#define SSH_RSA_MINIMUM_MODULUS_SIZE 768 112 113/* Listen backlog for sshd, ssh-agent and forwarding sockets */ 114#define SSH_LISTEN_BACKLOG 128 115 116#endif /* SSH_H */ 117