summaryrefslogtreecommitdiffstats
path: root/usr.bin/ssh/auth-options.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* delete support for legacy v00 certificates; "sure" markus@ dtucker@djm2015-07-031-30/+16
|
* Don't make parsing of authorized_keys' environment= option conditionaldjm2015-05-011-9/+14
| | | | | | | | on PermitUserEnv - always parse it, but only use the result if the option is enabled. This prevents the syntax of authorized_keys changing depending on which sshd_config options were enabled. bz#2329; based on patch from coladict AT gmail.com, ok dtucker@
* unknown certificate extensions are non-fatal, so don't fataldjm2015-04-221-2/+2
| | | | | when they are encountered; bz#2387 reported by Bob Van Zant; ok dtucker@
* swith auth-options to new sshbuf/sshkey; ok djm@markus2015-01-141-44/+38
|
* Add support for Unix domain socket forwarding. A remote TCP portmillert2014-07-151-2/+3
| | | | | | | | may be forwarded to a local Unix domain socket and vice versa or both ends may be a Unix domain socket. This is a reimplementation of the streamlocal patches by William Ahern from: http://www.25thandclement.com/~william/projects/streamlocal.html OK djm@ markus@
* New key API: refactor key-related functions to be more library-like,djm2014-06-241-7/+7
| | | | | | | | | existing API is offered as a set of wrappers. with and ok markus@ Thanks also to Ben Hawkes, David Tomaschik, Ivan Fratric, Matthew Dempsky and Ron Bowes for a detailed review a few months ago.
* simplify freeing of source-address certificate restrictiondjm2013-12-191-7/+7
|
* use calloc for all structure allocations; from markus@djm2013-11-081-2/+2
|
* no need to include monitor_wrap.h and ssh-gss.hmarkus2013-11-021-5/+1
|
* fix pointer-signedness warnings from clang/llvm-3.3; "seems nice" deraadt@djm2013-07-121-3/+5
|
* bye, bye xfree(); ok markus@djm2013-05-171-30/+30
|
* make AllowTcpForwarding accept "local" and "remote" in addition to itsdjm2012-12-021-2/+2
| | | | | current "yes"/"no" to allow the server to specify whether just local or remote TCP forwarding is enabled. ok markus@
* remove explict search for \0 in packet strings, this job is now donedjm2011-10-181-15/+1
| | | | implicitly by buffer_get_cstring; ok markus
* Add wildcard support to PermitOpen, allowing things like "PermitOpendtucker2011-09-231-2/+2
| | | | localhost:*". bz #1857, ok djm markus.
* don't send the actual forced command in a debug message; ok markus deraadtdjm2010-12-241-2/+2
|
* Add buffer_get_cstring() and related functions that verify that thedjm2010-08-311-4/+4
| | | | | | | | | | | | | string extracted from the buffer contains no embedded \0 characters* This prevents random (possibly malicious) crap from being appended to strings where it would not be noticed if the string is used with a string(3) function. Use the new API in a few sensitive places. * actually, we allow a single one at the end of the string for now because we don't know how many deployed implementations get this wrong, but don't count on this to remain indefinitely.
* Move the permit-* options to the non-critical "extensions" field for v01djm2010-05-201-102/+180
| | | | | | | | certificates. The logic is that if another implementation fails to implement them then the connection just loses features rather than fails outright. ok markus@
* add some optional indirection to matching of principal names listeddjm2010-05-071-1/+42
| | | | | | | | | | | | | | | | | | | | | in certificates. Currently, a certificate must include the a user's name to be accepted for authentication. This change adds the ability to specify a list of certificate principal names that are acceptable. When authenticating using a CA trusted through ~/.ssh/authorized_keys, this adds a new principals="name1[,name2,...]" key option. For CAs listed through sshd_config's TrustedCAKeys option, a new config option "AuthorizedPrincipalsFile" specifies a per-user file containing the list of acceptable names. If either option is absent, the current behaviour of requiring the username to appear in principals continues to apply. These options are useful for role accounts, disjoint account namespaces and "user@realm"-style naming policies in certificates. feedback and ok markus@
* revised certificate format ssh-{dss,rsa}-cert-v01@openssh.com with thedjm2010-04-161-10/+11
| | | | | | | | | | | | | | | | | | following changes: move the nonce field to the beginning of the certificate where it can better protect against chosen-prefix attacks on the signature hash Rename "constraints" field to "critical options" Add a new non-critical "extensions" field Add a serial number The older format is still support for authentication and cert generation (use "ssh-keygen -t v00 -s ca_key ..." to generate a v00 certificate) ok markus@
* spelling in error message. ok djm kettenisstevesk2010-03-161-3/+3
|
* Hold authentication debug messages until after successful authentication.dtucker2010-03-071-8/+1
| | | | | Fixes an info leak of environment variables specified in authorized_keys, reported by Jacob Appelbaum. ok djm@
* "force-command" is not spelled "forced-command"; spotted bydjm2010-03-041-2/+2
| | | | imorgan AT nas.nasa.gov
* reject strings with embedded ASCII nul chars in certificate key IDs,djm2010-03-031-8/+20
| | | | principal names and constraints
* Add support for certificate key types for users and hosts.djm2010-02-261-1/+149
| | | | | | | | | | | | | | | | | | | | | | | | OpenSSH certificate key types are not X.509 certificates, but a much simpler format that encodes a public key, identity information and some validity constraints and signs it with a CA key. CA keys are regular SSH keys. This certificate style avoids the attack surface of X.509 certificates and is very easy to deploy. Certified host keys allow automatic acceptance of new host keys when a CA certificate is marked as trusted in ~/.ssh/known_hosts. see VERIFYING HOST KEYS in ssh(1) for details. Certified user keys allow authentication of users when the signing CA key is marked as trusted in authorized_keys. See "AUTHORIZED_KEYS FILE FORMAT" in sshd(8) for details. Certificates are minted using ssh-keygen(1), documentation is in the "CERTIFICATES" section of that manpage. Documentation on the format of certificates is in the file PROTOCOL.certkeys feedback and ok markus@
* another chunk of a2port() diff that got away. wtfdjm??djm2009-01-221-3/+3
|
* support CIDR address matching in .ssh/authorized_keys from="..." stanzasdjm2008-06-101-8/+17
| | | | ok and extensive testing dtucker@
* Implement a channel success/failure status confirmation callbackdjm2008-05-081-1/+2
| | | | | | | | | | | | | mechanism. Each channel maintains a queue of callbacks, which will be drained in order (RFC4253 guarantees confirm messages are not reordered within an channel). Also includes a abandonment callback to clean up if a channel is closed without sending confirmation messages. This probably shouldn't happen in compliant implementations, but it could be abused to leak memory. ok markus@ (as part of a larger diff)
* add no-user-rc authorized_keys option to disable execution of ~/.ssh/rcdjm2008-03-261-1/+10
|
* almost entirely get rid of the culture of ".h files that include .h files"deraadt2006-08-031-4/+10
| | | | | ok djm, sort of ok stevesk makes the pain stop in one easy step
* move #include <string.h> out of includes.hstevesk2006-07-221-1/+2
|
* Use '\0' rather than 0 to terminates strings; ok djm@dtucker2006-07-171-6/+6
|
* move #include <netdb.h> out of includes.h; ok djm@stevesk2006-07-121-1/+2
|
* move #include <pwd.h> out of includes.h; ok markus@stevesk2006-07-061-1/+5
|
* Put $OpenBSD$ tags back (as comments) to replace the RCSID()s thatdjm2006-03-251-0/+1
| | | | Theo nuked - our scripts to sync -portable need them in the files
* RCSID() can diederaadt2006-03-191-1/+0
|
* two changes to the new ssh tunnel support. this breaks compatibilityreyk2005-12-081-2/+2
| | | | | | | | | | | | with the initial commit but is required for a portable approach. - make the tunnel id u_int and platform friendly, use predefined types. - support configuration of layer 2 (ethernet) or layer 3 (point-to-point, default) modes. configuration is done using the Tunnel (yes|point-to-point|ethernet|no) option is ssh_config(5) and restricted by the PermitTunnel (yes|point-to-point|ethernet|no) option in sshd_config(5). ok djm@, man page bits by jmc@
* Add support for tun(4) forwarding over OpenSSH, based on an idea andreyk2005-12-061-1/+40
| | | | | | | | | | | | initial channel code bits by markus@. This is a simple and easy way to use OpenSSH for ad hoc virtual private network connections, e.g. administrative tunnels or secure wireless access. It's based on a new ssh channel and works similar to the existing TCP forwarding support, except that it depends on the tun(4) network interface on both ends of the connection for layer 2 or layer 3 tunneling. This diff also adds support for LocalCommand in the ssh(1) client. ok djm@, markus@, jmc@ (manpages), tested and discussed with others
* spacingderaadt2005-03-101-2/+2
|
* spacingderaadt2005-03-101-3/+3
|
* bz#413: allow optional specification of bind address for port forwardings.djm2005-03-011-12/+16
| | | | | | | | Patch originally by Dan Astorian, but worked on by several people Adds GatewayPorts=clientspecified option on server to allow remote forwards to bind to client-specified ports. ok markus@
* deprecate VerifyReverseMapping since it's dangerous if combinedmarkus2003-06-021-2/+2
| | | | | | | with IP based access control as noted by Mike Harding; replace with a UseDNS option, UseDNS is on by default and includes the VerifyReverseMapping check; with itojun@, provos@, jakob@ and deraadt@ ok deraadt@, djm@
* rename log() into logit() to avoid name conflict. markus ok, from netbsditojun2003-04-081-3/+3
|
* add PermitUserEnvironment (off by default!); from dot@dotat.at; ok provos, deraadtmarkus2002-07-301-2/+3
|
* unneeded includesstevesk2002-07-211-3/+1
|
* move the packet_send_debug handling from auth-options.c to auth.c; ok provos@markus2002-05-131-57/+19
|
* clean up prototypesmarkus2002-03-191-2/+2
|
* integrate privilege separated openssh; its turned off by default for now.provos2002-03-181-15/+65
| | | | work done by me and markus@
* s/ReverseMappingCheck/VerifyReverseMapping/ and avoid confusion; ok stevesk@markus2002-01-291-2/+2
|
* validate ports for permitopen key file option. add host/portstevesk2001-08-301-17/+15
| | | | alternative syntax for IPv6. ok markus@
* move ip+hostname check to match.cmarkus2001-06-241-14/+5
|