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