Home | History | Annotate | Line # | Download | only in dist
      1 /*	$NetBSD: ssh.h,v 1.14 2025/04/09 15:49:33 christos Exp $	*/
      2 /* $OpenBSD: ssh.h,v 1.91 2024/09/25 23:01:39 jsg Exp $ */
      3 
      4 /*
      5  * Author: Tatu Ylonen <ylo (at) cs.hut.fi>
      6  * Copyright (c) 1995 Tatu Ylonen <ylo (at) 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 /* Default port number. */
     17 #define SSH_DEFAULT_PORT	22
     18 
     19 /*
     20  * Maximum number of certificate files that can be specified
     21  * in configuration files or on the command line.
     22  */
     23 #define SSH_MAX_CERTIFICATE_FILES	100
     24 
     25 /*
     26  * Maximum number of RSA authentication identity files that can be specified
     27  * in configuration files or on the command line.
     28  */
     29 #define SSH_MAX_IDENTITY_FILES		100
     30 
     31 /*
     32  * Major protocol version.  Different version indicates major incompatibility
     33  * that prevents communication.
     34  *
     35  * Minor protocol version.  Different version indicates minor incompatibility
     36  * that does not prevent interoperation.
     37  *
     38  * We support only SSH2
     39  */
     40 #define PROTOCOL_MAJOR_2	2
     41 #define PROTOCOL_MINOR_2	0
     42 
     43 /*
     44  * Name for the service.  The port named by this service overrides the
     45  * default port if present.
     46  */
     47 #define SSH_SERVICE_NAME	"ssh"
     48 
     49 /*
     50  * Name of the environment variable containing the process ID of the
     51  * authentication agent.
     52  */
     53 #define SSH_AGENTPID_ENV_NAME	"SSH_AGENT_PID"
     54 
     55 /*
     56  * Name of the environment variable containing the pathname of the
     57  * authentication socket.
     58  */
     59 #define SSH_AUTHSOCKET_ENV_NAME "SSH_AUTH_SOCK"
     60 
     61 /*
     62  * Environment variable for overwriting the default location of askpass
     63  */
     64 #define SSH_ASKPASS_ENV		"SSH_ASKPASS"
     65 
     66 /*
     67  * Environment variable to control whether or not askpass is used.
     68  */
     69 #define SSH_ASKPASS_REQUIRE_ENV		"SSH_ASKPASS_REQUIRE"
     70 
     71 /*
     72  * Length of the session key in bytes.  (Specified as 256 bits in the
     73  * protocol.)
     74  */
     75 #define SSH_SESSION_KEY_LENGTH		32
     76 
     77 /* Used to identify ``EscapeChar none'' */
     78 #define SSH_ESCAPECHAR_NONE		-2
     79 
     80 /* Name of Kerberos service for SSH to use. */
     81 #define KRB4_SERVICE_NAME		"rcmd"
     82 
     83 /*
     84  * unprivileged user when UsePrivilegeSeparation=yes;
     85  * sshd will change its privileges to this user and its
     86  * primary group.
     87  */
     88 #define SSH_PRIVSEP_USER		"sshd"
     89 
     90 /* Listen backlog for sshd, ssh-agent and forwarding sockets */
     91 #define SSH_LISTEN_BACKLOG		128
     92 
     93 /* Limits for banner exchange */
     94 #define SSH_MAX_BANNER_LEN		8192
     95 #define SSH_MAX_PRE_BANNER_LINES	1024
     96