diff options
author | Colin Watson <cjwatson@debian.org> | 2007-06-12 16:16:35 +0000 |
---|---|---|
committer | Colin Watson <cjwatson@debian.org> | 2007-06-12 16:16:35 +0000 |
commit | b7e40fa9da0b5491534a429dadb321eab5a77558 (patch) | |
tree | bed1da11e9f829925797aa093e379fc0b5868ecd /servconf.h | |
parent | 4f84beedf1005e44ff33c854abd6b711ffc0adb7 (diff) | |
parent | 086ea76990b1e6287c24b6db74adffd4605eb3b0 (diff) |
* New upstream release (closes: #395507, #397961, #420035). Important
changes not previously backported to 4.3p2:
- 4.4/4.4p1 (http://www.openssh.org/txt/release-4.4):
+ On portable OpenSSH, fix a GSSAPI authentication abort that could be
used to determine the validity of usernames on some platforms.
+ Implemented conditional configuration in sshd_config(5) using the
"Match" directive. This allows some configuration options to be
selectively overridden if specific criteria (based on user, group,
hostname and/or address) are met. So far a useful subset of
post-authentication options are supported and more are expected to
be added in future releases.
+ Add support for Diffie-Hellman group exchange key agreement with a
final hash of SHA256.
+ Added a "ForceCommand" directive to sshd_config(5). Similar to the
command="..." option accepted in ~/.ssh/authorized_keys, this forces
the execution of the specified command regardless of what the user
requested. This is very useful in conjunction with the new "Match"
option.
+ Add a "PermitOpen" directive to sshd_config(5). This mirrors the
permitopen="..." authorized_keys option, allowing fine-grained
control over the port-forwardings that a user is allowed to
establish.
+ Add optional logging of transactions to sftp-server(8).
+ ssh(1) will now record port numbers for hosts stored in
~/.ssh/known_hosts when a non-standard port has been requested
(closes: #50612).
+ Add an "ExitOnForwardFailure" option to cause ssh(1) to exit (with a
non-zero exit code) when requested port forwardings could not be
established.
+ Extend sshd_config(5) "SubSystem" declarations to allow the
specification of command-line arguments.
+ Replacement of all integer overflow susceptible invocations of
malloc(3) and realloc(3) with overflow-checking equivalents.
+ Many manpage fixes and improvements.
+ Add optional support for OpenSSL hardware accelerators (engines),
enabled using the --with-ssl-engine configure option.
+ Tokens in configuration files may be double-quoted in order to
contain spaces (closes: #319639).
+ Move a debug() call out of a SIGCHLD handler, fixing a hang when the
session exits very quickly (closes: #307890).
+ Fix some incorrect buffer allocation calculations (closes: #410599).
+ ssh-add doesn't ask for a passphrase if key file permissions are too
liberal (closes: #103677).
+ Likewise, ssh doesn't ask either (closes: #99675).
- 4.6/4.6p1 (http://www.openssh.org/txt/release-4.6):
+ sshd now allows the enabling and disabling of authentication methods
on a per user, group, host and network basis via the Match directive
in sshd_config.
+ Fixed an inconsistent check for a terminal when displaying scp
progress meter (closes: #257524).
+ Fix "hang on exit" when background processes are running at the time
of exit on a ttyful/login session (closes: #88337).
* Update to current GSSAPI patch from
http://www.sxw.org.uk/computing/patches/openssh-4.6p1-gsskex-20070312.patch;
install ChangeLog.gssapi.
Diffstat (limited to 'servconf.h')
-rw-r--r-- | servconf.h | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/servconf.h b/servconf.h index 0ef05bcd9..257de1c8b 100644 --- a/servconf.h +++ b/servconf.h | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: servconf.h,v 1.72 2005/12/06 22:38:27 reyk Exp $ */ | 1 | /* $OpenBSD: servconf.h,v 1.80 2007/02/19 10:45:58 dtucker Exp $ */ |
2 | 2 | ||
3 | /* | 3 | /* |
4 | * Author: Tatu Ylonen <ylo@cs.hut.fi> | 4 | * Author: Tatu Ylonen <ylo@cs.hut.fi> |
@@ -16,8 +16,6 @@ | |||
16 | #ifndef SERVCONF_H | 16 | #ifndef SERVCONF_H |
17 | #define SERVCONF_H | 17 | #define SERVCONF_H |
18 | 18 | ||
19 | #include "buffer.h" | ||
20 | |||
21 | #define MAX_PORTS 256 /* Max # ports. */ | 19 | #define MAX_PORTS 256 /* Max # ports. */ |
22 | 20 | ||
23 | #define MAX_ALLOW_USERS 256 /* Max # users on allow list. */ | 21 | #define MAX_ALLOW_USERS 256 /* Max # users on allow list. */ |
@@ -27,6 +25,7 @@ | |||
27 | #define MAX_SUBSYSTEMS 256 /* Max # subsystems. */ | 25 | #define MAX_SUBSYSTEMS 256 /* Max # subsystems. */ |
28 | #define MAX_HOSTKEYS 256 /* Max # hostkeys. */ | 26 | #define MAX_HOSTKEYS 256 /* Max # hostkeys. */ |
29 | #define MAX_ACCEPT_ENV 256 /* Max # of env vars. */ | 27 | #define MAX_ACCEPT_ENV 256 /* Max # of env vars. */ |
28 | #define MAX_MATCH_GROUPS 256 /* Max # of groups for Match. */ | ||
30 | 29 | ||
31 | /* permit_root_login */ | 30 | /* permit_root_login */ |
32 | #define PERMIT_NOT_SET -1 | 31 | #define PERMIT_NOT_SET -1 |
@@ -90,6 +89,7 @@ typedef struct { | |||
90 | int gss_authentication; /* If true, permit GSSAPI authentication */ | 89 | int gss_authentication; /* If true, permit GSSAPI authentication */ |
91 | int gss_keyex; /* If true, permit GSSAPI key exchange */ | 90 | int gss_keyex; /* If true, permit GSSAPI key exchange */ |
92 | int gss_cleanup_creds; /* If true, destroy cred cache on logout */ | 91 | int gss_cleanup_creds; /* If true, destroy cred cache on logout */ |
92 | int gss_strict_acceptor; /* If true, restrict the GSSAPI acceptor name */ | ||
93 | int password_authentication; /* If true, permit password | 93 | int password_authentication; /* If true, permit password |
94 | * authentication. */ | 94 | * authentication. */ |
95 | int kbd_interactive_authentication; /* If true, permit */ | 95 | int kbd_interactive_authentication; /* If true, permit */ |
@@ -112,6 +112,7 @@ typedef struct { | |||
112 | u_int num_subsystems; | 112 | u_int num_subsystems; |
113 | char *subsystem_name[MAX_SUBSYSTEMS]; | 113 | char *subsystem_name[MAX_SUBSYSTEMS]; |
114 | char *subsystem_command[MAX_SUBSYSTEMS]; | 114 | char *subsystem_command[MAX_SUBSYSTEMS]; |
115 | char *subsystem_args[MAX_SUBSYSTEMS]; | ||
115 | 116 | ||
116 | u_int num_accept_env; | 117 | u_int num_accept_env; |
117 | char *accept_env[MAX_ACCEPT_ENV]; | 118 | char *accept_env[MAX_ACCEPT_ENV]; |
@@ -135,15 +136,24 @@ typedef struct { | |||
135 | char *authorized_keys_file; /* File containing public keys */ | 136 | char *authorized_keys_file; /* File containing public keys */ |
136 | char *authorized_keys_file2; | 137 | char *authorized_keys_file2; |
137 | 138 | ||
139 | char *adm_forced_command; | ||
140 | |||
138 | int use_pam; /* Enable auth via PAM */ | 141 | int use_pam; /* Enable auth via PAM */ |
139 | 142 | ||
140 | int permit_tun; | 143 | int permit_tun; |
144 | |||
145 | int num_permitted_opens; | ||
141 | } ServerOptions; | 146 | } ServerOptions; |
142 | 147 | ||
143 | void initialize_server_options(ServerOptions *); | 148 | void initialize_server_options(ServerOptions *); |
144 | void fill_default_server_options(ServerOptions *); | 149 | void fill_default_server_options(ServerOptions *); |
145 | int process_server_config_line(ServerOptions *, char *, const char *, int); | 150 | int process_server_config_line(ServerOptions *, char *, const char *, int, |
151 | int *, const char *, const char *, const char *); | ||
146 | void load_server_config(const char *, Buffer *); | 152 | void load_server_config(const char *, Buffer *); |
147 | void parse_server_config(ServerOptions *, const char *, Buffer *); | 153 | void parse_server_config(ServerOptions *, const char *, Buffer *, |
154 | const char *, const char *, const char *); | ||
155 | void parse_server_match_config(ServerOptions *, const char *, const char *, | ||
156 | const char *); | ||
157 | void copy_set_server_options(ServerOptions *, ServerOptions *, int); | ||
148 | 158 | ||
149 | #endif /* SERVCONF_H */ | 159 | #endif /* SERVCONF_H */ |