Commit Graph

35 Commits

Author SHA1 Message Date
Francois Perrad
89e64c631e Pointer parameter could be declared as pointing to const 2017-08-19 17:16:13 +02:00
Francois Perrad
6c43be767c fix indentation 2017-06-01 16:39:26 +02:00
Matt Johnston
c6e912f9e2 merge 2016.74 2016-07-21 23:38:42 +08:00
Matt Johnston
32a28d0d9c Convert #ifdef to #if, other build changes 2016-05-04 15:33:40 +02:00
Matt Johnston
d6daad29fc options for disabling "normal" DH 2016-05-02 23:48:16 +02:00
Matt Johnston
0ee860a011 make indenting consistent 2016-07-12 23:33:15 +08:00
Matt Johnston
5127943673 add length checks for ecc too 2016-07-12 23:28:42 +08:00
Matt Johnston
3ee9656250 merge fixes from PuTTY import.c
toint() from misc.c

(revids are from hggit conversion)

changeset:   4620:60a336a6c85c
user:        Simon Tatham <anakin@pobox.com>
date:        Thu Feb 25 20:26:33 2016 +0000
files:       import.c
description:
Fix potential segfaults in reading OpenSSH's ASN.1 key format.

The length coming back from ber_read_id_len might have overflowed, so
treat it as potentially negative. Also, while I'm here, accumulate it
inside ber_read_id_len as an unsigned, so as to avoid undefined
behaviour on integer overflow, and toint() it before return.

Thanks to Hanno Böck for spotting this, with the aid of AFL.

(cherry picked from commit 5b7833cd474a24ec098654dcba8cb9509f3bf2c1)

Conflicts:
	import.c

(cherry-picker's note: resolving the conflict involved removing an
entire section of the original commit which fixed ECDSA code not
present on this branch)


changeset:   4619:9c6c638d98d8
user:        Simon Tatham <anakin@pobox.com>
date:        Sun Jul 14 10:45:54 2013 +0000
files:       import.c ssh.c sshdss.c sshpubk.c sshrsa.c
description:
Tighten up a lot of casts from unsigned to int which are read by one
of the GET_32BIT macros and then used as length fields. Missing bounds
checks against zero have been added, and also I've introduced a helper
function toint() which casts from unsigned to int in such a way as to
avoid C undefined behaviour, since I'm not sure I trust compilers any
more to do the obviously sensible thing.

[originally from svn r9918]


changeset:   4618:3957829f24d3
user:        Simon Tatham <anakin@pobox.com>
date:        Mon Jul 08 22:36:04 2013 +0000
files:       import.c sshdss.c sshrsa.c
description:
Add an assortment of extra safety checks.

[originally from svn r9896]


changeset:   4617:2cddee0bce12
user:        Jacob Nevins <jacobn@chiark.greenend.org.uk>
date:        Wed Dec 07 00:24:45 2005 +0000
files:       import.c
description:
Institutional failure to memset() things pointed at rather than pointers.
Things should now be zeroed and memory not leaked. Spotted by Brant Thomsen.

[originally from svn r6476]


changeset:   4616:24ac78a9c71d
user:        Simon Tatham <anakin@pobox.com>
date:        Wed Feb 11 13:58:27 2004 +0000
files:       import.c
description:
Jacob's last-minute testing found a couple of trivial bugs in
import.c, and my attempts to reproduce them in cmdgen found another
one there :-)

[originally from svn r3847]


changeset:   4615:088d39a73db0
user:        Simon Tatham <anakin@pobox.com>
date:        Thu Jan 22 18:52:49 2004 +0000
files:       import.c
description:
Placate some gcc warnings.

[originally from svn r3761]


changeset:   4614:e4288bad4d93
parent:      1758:108b8924593d
user:        Simon Tatham <anakin@pobox.com>
date:        Fri Oct 03 21:21:23 2003 +0000
files:       import.c
description:
My ASN.1 decoder returned wrong IDs for anything above 0x1E! Good
job it's never had to yet. Ahem.

[originally from svn r3479]
2016-07-12 23:00:01 +08:00
Francois Perrad
9bda22e702 more hard tab 2016-01-01 15:02:09 +01:00
Matt Johnston
1a4db21fe4 buf_getstring and buf_putstring now use non-unsigned char* 2015-06-04 23:08:50 +08:00
Gaël PORTAY
6e15e75391 Turn modptr local variable into unsigned char * 2015-05-05 20:39:14 +02:00
Gaël PORTAY
224b16b247 Fix pointer differ in signess warnings [-Werror=pointer-sign] 2015-05-05 20:39:13 +02:00
Gaël PORTAY
897da4ee36 Uses k_size as an signed integer
buf_incrwritepos() and mp_to_unsigned_bin() functions use k_size as signed
integer argument.

k_size is also used in an assertion that compared it to curve_size which is
a signed long.

Only buf_getwriteptr() is using k_size as unsigned.

So it safe to use it as signed.
2015-05-05 20:30:49 +02:00
Thorsten Horstmann
59bb1777be Use m_burn rather than memset 2015-02-24 22:48:14 +08:00
Thorsten Horstmann
ab9439519a Fix for old compilers, variable declarations at beginning of functions
and /**/ comments
2015-02-24 20:51:18 +08:00
Christian Engelmayer
d857faf18e When clearing the memory of 'key' in function openssh_read(), only the size
of the pointer to the data instead of the whole size of struct openssh_key
is cleared. Correct the size calculation as detected by Coverity CID 1191543.
2015-01-28 22:42:29 +08:00
Like Ma
5c57a31184 Fix variables may be uninitialized.
(fixup of pull request #7)
2015-01-23 22:23:23 +08:00
Matt Johnston
6b5317e7cc Fix compiling with ECDSA and DSS disabled 2014-06-25 23:37:44 +08:00
Matt Johnston
0b62d71e70 - Increase buffer size, fixes converting 521bit ECC key
- Fix assertion that key size is exactly curve size
2013-11-27 21:30:05 +08:00
Matt Johnston
de1deaf0bd use oldstyle comments 2013-11-14 22:03:30 +08:00
Matt Johnston
58fe1c2d2a Add '-R' for delayed hostkey option
--HG--
branch : keyondemand
2013-11-07 23:49:37 +08:00
Matt Johnston
4363b8b32d refactor key generation, make it generate as required.
Needs UI in server command line options

--HG--
branch : keyondemand
2013-11-07 00:18:52 +08:00
Matt Johnston
cfac8435a7 merge yet again 2013-11-01 00:21:59 +08:00
Matt Johnston
082a2dde35 Fix specifying a keysize for key generation, fix key name arguments
--HG--
branch : ecc
2013-11-01 00:13:09 +08:00
Matt Johnston
7fda6418e1 writing out openssh ecc keys works
--HG--
branch : ecc
2013-10-20 21:06:18 +08:00
Matt Johnston
aafeebd0c8 have separate ecdsa keys for each size
fix crash from the mp_alloc_init_multi change in RSA

--HG--
branch : ecc
2013-05-25 00:54:19 +08:00
Matt Johnston
6b0d47b364 hackish ECC import code from OpenSSH
--HG--
branch : ecc
2013-05-23 22:18:33 +08:00
Matt Johnston
5c87c6a435 A bit of work on ecdsa for host/auth keys
--HG--
branch : ecc
2013-04-14 00:50:03 +08:00
Matt Johnston
e1a8bf0240 Remove an unused variable
--HG--
extra : convert_revision : 63f95bd7b4b15b61cd13cdcc86cdeef2681ce6e7
2008-09-22 14:13:14 +00:00
Matt Johnston
4cb673b644 Fixes from Erik Hovland:
cli-authpubkey.c:
    fix leak of keybuf

cli-kex.c:
    fix leak of fingerprint fp

cli-service.c:
    remove commented out code

dropbearkey.c:
    don't attepmt to free NULL key on failure

common-kex.c:
    only free key if it is initialised

keyimport.c:
    remove dead encrypted-key code
    don't leak a FILE* loading OpenSSH keys

rsa.c, dss.c:
    check return values for some libtommath functions

svr-kex.c:
    check return value retrieving DH kex mpint

svr-tcpfwd.c:
    fix null-dereference if remote tcp forward request fails

tcp-accept.c:
    don't incorrectly free the tcpinfo var

--HG--
extra : convert_revision : 640a55bc710cbaa6d212453c750026c770e19193
2006-07-07 09:17:18 +00:00
Matt Johnston
4a4e1b49ec * keyimport.c: fclose() the key file to make sure data gets written
--HG--
extra : convert_revision : 54840316c94733a793222ad54331ab207b4097e5
2005-11-30 06:32:26 +00:00
Matt Johnston
53681cbdb6 * use own assertions which should get logged properly
--HG--
extra : convert_revision : 3dc365619f0840ab5781660b1257a9f22c05d3fe
2005-09-05 15:16:10 +00:00
Matt Johnston
ee23b01f0b Some small fixes for unused vars, and old messages
--HG--
extra : convert_revision : 83d9a25ee973ab65fa64dcf8595838b160c21663
2004-08-17 11:14:13 +00:00
Matt Johnston
403c18a300 Dropbearkey can now print out pubkey portions
--HG--
extra : convert_revision : 2d897b12ba8710efe0b042b36b1fd31b2469eb15
2004-08-14 17:35:28 +00:00
Matt Johnston
674a607488 Makefile.in contains updated files required
--HG--
extra : convert_revision : cc8a8c49dc70e632c352853a39801089b08149be
2004-06-01 02:46:09 +00:00