1215116Sdes/* $OpenBSD: ssh.h,v 1.79 2010/06/25 07:14:46 djm Exp $ */
292559Sdes
357429Smarkm/*
457429Smarkm * Author: Tatu Ylonen <ylo@cs.hut.fi>
557429Smarkm * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
657429Smarkm *                    All rights reserved
760576Skris *
865674Skris * As far as I am concerned, the code I have written for this software
965674Skris * can be used freely for any purpose.  Any derived versions of this
1065674Skris * software must be clearly marked as such, and if the derived work is
1165674Skris * incompatible with the protocol description in the RFC file, it must be
1265674Skris * called by a name other than "ssh" or "Secure Shell".
1357429Smarkm */
1457429Smarkm
1557429Smarkm/* Cipher used for encrypting authentication files. */
1657429Smarkm#define SSH_AUTHFILE_CIPHER	SSH_CIPHER_3DES
1757429Smarkm
1857429Smarkm/* Default port number. */
1957429Smarkm#define SSH_DEFAULT_PORT	22
2057429Smarkm
2157429Smarkm/*
2257429Smarkm * Maximum number of RSA authentication identity files that can be specified
2357429Smarkm * in configuration files or on the command line.
2457429Smarkm */
2557429Smarkm#define SSH_MAX_IDENTITY_FILES		100
2657429Smarkm
2757429Smarkm/*
28147005Sdes * Maximum length of lines in authorized_keys file.
29147005Sdes * Current value permits 16kbit RSA and RSA1 keys and 8kbit DSA keys, with
30147005Sdes * some room for options and comments.
31147005Sdes */
32147005Sdes#define SSH_MAX_PUBKEY_BYTES		8192
33147005Sdes
34147005Sdes/*
3598684Sdes * Major protocol version.  Different version indicates major incompatibility
3657429Smarkm * that prevents communication.
3760576Skris *
3857429Smarkm * Minor protocol version.  Different version indicates minor incompatibility
3957429Smarkm * that does not prevent interoperation.
4057429Smarkm */
4160576Skris#define PROTOCOL_MAJOR_1	1
4260576Skris#define PROTOCOL_MINOR_1	5
4357429Smarkm
4460576Skris/* We support both SSH1 and SSH2 */
4560576Skris#define PROTOCOL_MAJOR_2	2
4660576Skris#define PROTOCOL_MINOR_2	0
4760576Skris
4857429Smarkm/*
4957429Smarkm * Name for the service.  The port named by this service overrides the
5057429Smarkm * default port if present.
5157429Smarkm */
5257429Smarkm#define SSH_SERVICE_NAME	"ssh"
5357429Smarkm
5457429Smarkm/*
5599063Sdes * Name of the environment variable containing the process ID of the
5699063Sdes * authentication agent.
5757429Smarkm */
5876262Sgreen#define SSH_AGENTPID_ENV_NAME	"SSH_AGENT_PID"
5957429Smarkm
6057429Smarkm/*
6157429Smarkm * Name of the environment variable containing the pathname of the
6257429Smarkm * authentication socket.
6357429Smarkm */
6476262Sgreen#define SSH_AUTHSOCKET_ENV_NAME "SSH_AUTH_SOCK"
6557429Smarkm
6657429Smarkm/*
6776262Sgreen * Environment variable for overwriting the default location of askpass
6857429Smarkm */
6957429Smarkm#define SSH_ASKPASS_ENV		"SSH_ASKPASS"
7057429Smarkm
7157429Smarkm/*
7257429Smarkm * Force host key length and server key length to differ by at least this
7357429Smarkm * many bits.  This is to make double encryption with rsaref work.
7457429Smarkm */
7557429Smarkm#define SSH_KEY_BITS_RESERVED		128
7657429Smarkm
7757429Smarkm/*
7857429Smarkm * Length of the session key in bytes.  (Specified as 256 bits in the
7957429Smarkm * protocol.)
8057429Smarkm */
8157429Smarkm#define SSH_SESSION_KEY_LENGTH		32
8257429Smarkm
8392559Sdes/* Used to identify ``EscapeChar none'' */
8492559Sdes#define SSH_ESCAPECHAR_NONE		-2
8557565Smarkm
8698684Sdes/*
8798684Sdes * unprivileged user when UsePrivilegeSeparation=yes;
8898684Sdes * sshd will change its privileges to this user and its
8998684Sdes * primary group.
9098684Sdes */
9198941Sdes#ifndef SSH_PRIVSEP_USER
9298684Sdes#define SSH_PRIVSEP_USER		"sshd"
9398941Sdes#endif
9498684Sdes
9598684Sdes/* Minimum modulus size (n) for RSA keys. */
9698684Sdes#define SSH_RSA_MINIMUM_MODULUS_SIZE	768
9798684Sdes
98126277Sdes/* Listen backlog for sshd, ssh-agent and forwarding sockets */
99126277Sdes#define SSH_LISTEN_BACKLOG		128
100