summaryrefslogtreecommitdiffstats
path: root/usr.bin/ssh/ssh-agent.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* move private key (de)serialization to key.c; ok djmmarkus2013-12-061-117/+11
|
* call cleanup_handler on SIGINT when in debug mode to ensure socketsdjm2013-07-201-3/+2
| | | | are cleaned up on manual exit; bz#2120
* Make parent_alive_interval time_t to avoid signed/unsigned comparisondtucker2013-06-021-2/+2
|
* Use clock_gettime(CLOCK_MONOTONIC ...) for ssh timers so that things likedtucker2013-06-011-6/+6
| | | | | keepalives and rekeying will work properly over clock steps. Suggested by markus@, "looks good" djm@.
* Use time_t where appropriate. ok djmdtucker2013-05-311-9/+12
|
* bye, bye xfree(); ok markus@djm2013-05-171-35/+28
|
* Check current parent process ID against saved one to determine if the parentdtucker2011-06-031-2/+6
| | | | | | has exited, rather than attempting to send a zero signal, since the latter won't work if the parent has changed privs. bz#1905, patch from Daniel Kahn Gillmor, ok djm@
* honour $TMPDIR for client xauth and ssh-agent temporary directories;djm2010-11-211-2/+2
| | | | feedback and ok markus@
* reintroduce commit from tedu@, which I pulled out for release engineering:djm2010-08-311-2/+2
| | | | | OpenSSL_add_all_algorithms is the name of the function we have a man page for, so use that. ok djm
* Implement Elliptic Curve Cryptography modes for key exchange (ECDH) anddjm2010-08-311-3/+57
| | | | | | | | | | | | | | | | | host/user keys (ECDSA) as specified by RFC5656. ECDH and ECDSA offer better performance than plain DH and DSA at the same equivalent symmetric key length, as well as much shorter keys. Only the mandatory sections of RFC5656 are implemented, specifically the three REQUIRED curves nistp256, nistp384 and nistp521 and only ECDH and ECDSA. Point compression (optional in RFC5656 is NOT implemented). Certificate host and user keys using the new ECDSA key types are supported. Note that this code has not been tested for interoperability and may be subject to change. feedback and ok markus@
* backout previous temporarily; discussed with deraadt@djm2010-08-161-2/+2
|
* OpenSSL_add_all_algorithms is the name of the function we have a man pagetedu2010-08-121-2/+2
| | | | for, so use that. ok djm
* revised certificate format ssh-{dss,rsa}-cert-v01@openssh.com with thedjm2010-04-161-1/+4
| | | | | | | | | | | | | | | | | | 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@
* Add support for certificate key types for users and hosts.djm2010-02-261-1/+23
| | | | | | | | | | | | | | | | | | | | | | | | 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@
* fallout from PKCS#11: unbreak -Ddjm2010-02-091-2/+3
|
* replace our obsolete smartcard code with PKCS#11.markus2010-02-081-50/+51
| | | | | | | | | ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-11/v2-20/pkcs-11v2-20.pdf ssh(1) and ssh-keygen(1) use dlopen(3) directly to talk to a PKCS#11 provider (shared library) while ssh-agent(1) delegates PKCS#11 to a forked a ssh-pkcs11-helper process. PKCS#11 is currently a compile time option. feedback and ok djm@; inspired by patches from Alon Bar-Lev
* fix a race condition in ssh-agent that could result in a wedged ordjm2009-09-011-19/+13
| | | | | | | spinning agent: don't read off the end of the allocated fd_sets, and don't issue blocking read/write on agent sockets - just fall back to select() on retriable read/write errors. bz#1633 reported and tested by "noodle10000 AT googlemail.com"; ok dtucker@ markus@
* My previous commit didn't fix the problem at all, so stick at my firsttobias2009-03-231-3/+4
| | | | | | | | version of the fix presented to dtucker. Issue notified by Matthias Barkhoff (matthias dot barkhoff at gmx dot de). ok dtucker
* Fixed a possible out-of-bounds memory access if the environment variabletobias2009-03-231-2/+2
| | | | | | SHELL is shorter than 3 characters. with input by and ok dtucker
* reset global compat flag after processing a protocol 2 signaturedjm2008-06-281-1/+4
| | | | request with the legacy DSA encoding flag set; ok markus
* refuse to add a key that has unknown constraints specified;djm2008-06-281-8/+16
| | | | ok markus
* When adding a key that already exists, update the propertiescanacar2007-09-251-7/+8
| | | | (time, confirm, comment) instead of discarding them. ok djm@ markus@
* sort synopsis and options in ssh-agent(1); usage is lowercasesobrado2007-09-091-2/+2
| | | | ok jmc@
* Remove the signal handler that checks if the agent's parent processdtucker2007-03-191-25/+41
| | | | | | | has gone away, instead check when the select loop returns. Record when the next key will expire when scanning for expired keys. Set the select timeout to whichever of these two things happens next. With djm@, with & ok deraadt@ markus@
* Remove expired keys periodically so they don't remain in memory whendtucker2007-02-281-10/+14
| | | | | | the agent is entirely idle, as noted by David R. Piegdon. This is the simple fix, a more efficient one will be done later. With markus, deraadt, with & ok djm.
* sys/resource.h needs sys/time.h; prompted by brad@djm2006-10-061-2/+2
|
* spacesstevesk2006-08-041-2/+2
|
* almost entirely get rid of the culture of ".h files that include .h files"deraadt2006-08-031-5/+3
| | | | | ok djm, sort of ok stevesk makes the pain stop in one easy step
* move #include <stdio.h> out of includes.hstevesk2006-08-011-1/+2
|
* move #include <stdlib.h> out of includes.hstevesk2006-07-261-1/+2
|
* move #include <sys/param.h> out of includes.hstevesk2006-07-261-1/+2
|
* move #include <sys/time.h> out of includes.hstevesk2006-07-251-1/+2
|
* move #include <string.h> out of includes.hstevesk2006-07-221-4/+5
|
* move #include <time.h> out of includes.hstevesk2006-07-221-1/+2
|
* move #include <unistd.h> out of includes.hstevesk2006-07-171-1/+2
|
* move #include <errno.h> out of includes.h; ok markus@stevesk2006-07-111-1/+2
|
* move #include <fcntl.h> out of includes.hstevesk2006-07-091-1/+2
|
* move #include <sys/socket.h> out of includes.hstevesk2006-07-081-1/+2
|
* revert; i am on drugs. spotted by alexander AT beard.sedjm2006-06-131-3/+3
|
* always use a format string, even when printing a constantdjm2006-06-131-3/+3
|
* fix leak; coverity via Kylene Jo Hallmarkus2006-05-171-2/+2
|
* replace {GET,PUT}_XXBIT macros with functionally similar functions,djm2006-03-301-3/+2
| | | | | | silencing a heap of lint warnings. also allows them to use __bounded__ checking which can't be applied to macros; requested by and feedback from deraadt@
* use strtonum() to parse the pid from the file, and range check itderaadt2006-03-281-6/+10
| | | | better; ok djm
* mark two more signal handlers ARGSUSEDderaadt2006-03-251-1/+3
|
* 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
* change OpenSSH's xrealloc() function from being xrealloc(p, new_size) todjm2006-03-251-1/+1
| | | | | | | | xrealloc(p, new_nmemb, new_itemsize). realloc is particularly prone to integer overflows because it is almost always allocating "n * size" bytes, so this is a far safer API; ok deraadt@
* introduce xcalloc() and xasprintf() failure-checked allocations functionsdjm2006-03-251-6/+3
| | | | | | | | | | and use them throughout openssh xcalloc is particularly important because malloc(nmemb * size) is a dangerous idiom (subject to integer overflow) and it is time for it to die feedback and ok deraadt@
* annoying spacing fixes getting in the way of real diffsderaadt2006-03-201-2/+2
|
* RCSID() can diederaadt2006-03-191-1/+0
|
* move #include <signal.h> out of includes.h; ok markus@stevesk2006-02-201-1/+2
|