Commit Graph

136 Commits (700a01f6f0f357af25f4cfe2ba3d101ce673ef49)

Author SHA1 Message Date
John Safranek 9ebcd5c44a fix trying to decrypt messages where the body fits in with the length block 2016-07-14 15:42:23 -07:00
John Safranek 525a8858c5 Add return code when the peer window is too small on a send. Echoserver wasn't properly checking the return code on the stream receive. 2016-07-14 14:47:30 -07:00
John Safranek a2c5e8e793 React to invalid username with a regular auth failure, nothing fancy. Fancy was causing a crash. 2016-07-14 13:53:23 -07:00
John Safranek d101f1d537 fix a few stray memory leaks 2016-07-14 12:58:37 -07:00
John Safranek 0994a1816d fix a couple initialization issues found in scan-build 2016-07-13 23:53:13 -07:00
John Safranek cf2cb5f67b deleted extra print statements 2016-07-13 15:11:33 -07:00
John Safranek 4dc3c56a88 fixing RSA public key user auth, failover to password 2016-07-13 15:11:33 -07:00
John Safranek a1e07e3161 1. Added extra debugging logs to the user authentication.
2. Reject invalid user names.
3. Fix the readme with regards to the public key log in testing.
2016-07-13 15:11:33 -07:00
John Safranek de477fcc14 remove stray peerMacSz printf 2016-06-22 14:48:26 -06:00
John Safranek 84b1fd3d0e added HMAC-SHA2-256 2016-06-22 11:26:18 -06:00
John Safranek 15023f54b6 verify the correct public key type and signature type during auth 2016-06-17 15:54:24 -07:00
John Safranek 89d92bb886 refactor userauth 2016-06-17 14:23:20 -07:00
John Safranek a275ac59f0 1. Flushed out the authentication callback.
2. Added public key authentication.
2016-06-17 14:23:20 -07:00
John Safranek a744dcc540 refactor DoPacket to pass the correct data pointer and data index update 2016-06-17 14:23:20 -07:00
John Safranek 911ac8c433 1. Adding parsing of publickey authentication data.
2. Changed logging of authentication requests.
3. Reply to "none" authentication types with a failure that
   has the supported auth type list.
4. Fixed bug where passing payload to the DoUserAuthRequest wasn't
   getting the correct payload length.
5. Reordered a couple utility functions.
2016-06-17 14:20:59 -07:00
dgarske 8e3e5a1bf5 Merge pull request #3 from ejohnstown/fixes1
Fixes1
2016-06-17 11:29:01 -07:00
John Safranek 49be153c61 verify the mac even if the decrypt fails 2016-04-15 10:25:04 -07:00
John Safranek bda5870fc5 more checking of return codes 2016-04-06 15:48:37 -07:00
John Safranek 597eb9e1ca when freeing ctx resources, use the correct heap 2016-04-06 10:46:14 -07:00
John Safranek 5eb8b8111a Use wolfssl/wolfcrypt instead of cyassl/ctaocrypt, add wc_ prefix to wolfcrypt function calls. 2016-04-05 15:42:38 -07:00
John Safranek 59590e28f3 scan-build fixes:
1. Disconnect string was unused in non-debug builds.
2. Check return code from decrypting the length block.
2016-04-04 09:32:49 -07:00
John Safranek 0386a3c50f move shared inline functions to misc file. add configure option to disable inline functions. 2016-04-01 14:40:22 -07:00
John Safranek 1566cf82a0 added parameter checks to GenerateKey and an option to print out the session secrets for debugging 2016-04-01 10:42:18 -07:00
John Safranek 564506c038 Make KDF publically accessable. Add KDF test using keys from two successful connections. 2016-03-31 12:10:44 -07:00
John Safranek 4982638781 add ForceZero() and ConstantCompare() to the code 2015-12-09 16:01:23 -08:00
John Safranek 793a19857f update copyright banner on sources 2015-12-08 13:45:20 -08:00
John Safranek 7a616ffbf5 fix warning about always true comparison 2015-12-08 12:51:43 -08:00
John Safranek f9fa42e244 1. added in the stream receive function
2. example uses the new receive function
2015-01-14 10:53:33 -08:00
John Safranek d83d9356d2 fixed reference to wrong variable in wolfSSH_stream_send() 2015-01-13 09:35:43 -08:00
John Safranek 21e73bdf88 added some function enter logging 2015-01-07 14:58:19 -08:00
John Safranek b548720a9a 1. added in the stream send function
2. example uses the new send function
3. added in window size update receipt
4. tweaked the accept state machine to actually finish
2015-01-07 13:49:01 -08:00
John Safranek 6975448d1b 1. Fix debug output for DoChannelOpen().
2. Added support for the Channel Request messge.
3. Added support for the Channel Data message.
4. Example server works like a very crude echo server.
2014-12-29 16:43:09 -08:00
John Safranek dab2b248d5 1. Update the accept state machine to account for all the recent
messages.
2. Add sending the open channel confirmation.
3. Starting to refine the logging.
2014-12-29 15:11:04 -08:00
John Safranek 4351b91ddf Starting adding the encrypted bytes tx/rx counters 2014-12-29 09:19:36 -08:00
John Safranek f60895000a Begin refactoring the packet parsing. 2014-12-26 11:28:30 -08:00
John Safranek 0455fe43dd 1. Commented out some of the distracting debugging output.
2. Accepts the none client authentication.
3. Starts to parse the channel open message.
4. Starting to handle channels.
2014-12-24 14:36:06 -08:00
John Safranek 38e51c45c8 1. Framing in the user authentication messages.
2. Removed some outdated/incorrect comments.
3. Removed some of the debugging output clutter.
4. Fixed bug when trying to add multiple messages to a single packet.
2014-12-19 10:59:45 -08:00
John Safranek 89e6d77e10 Updates to wolfSSH_accept()
1. Moved SendNewKeys() to SendKexDhReply() so both messages are sent
in the same packet.
2. Accept state machine checks return codes on Send functions.
3. Added a couple new states for some of the Send functions.
2014-12-18 16:01:32 -08:00
John Safranek d0c6768d5d fix bug with skipping received unimplemented messages 2014-12-18 15:17:07 -08:00
John Safranek 62d916d016 update buffer index when receiving the service request 2014-12-18 14:57:42 -08:00
John Safranek 4a0f5de683 removed some of the excess logging 2014-12-18 14:47:53 -08:00
John Safranek 9776e237fa SendServerVersion should have returned success not fail 2014-12-18 14:25:54 -08:00
John Safranek adcf881278 fix bug in DoPacket when simplifying payloadSz 2014-12-18 13:58:13 -08:00
John Safranek 10844bfc51 make sure code lines stay within 80 col standard 2014-12-17 15:54:33 -08:00
John Safranek b1e32737c2 Framing in the service request messages 2014-12-16 19:09:40 -08:00
John Safranek 6c49caf9ab Added packet encryption and adding MAC 2014-12-16 13:17:18 -08:00
John Safranek 2ae2d6dcdf 1. Fixed bug with GenerateKey() that didn't take into account secret padding.
2. Fixed bug in DoPacket() that didn't increment the peer's packet sequence.
3. Fixed bug in Decrypt() where the AesCbcDecrypt case dropped through into error.
4. Refactoring the accept state machine.
5. Separating client and server block and MAC sizes.
6. Added client MAC checking.
7. Fixed bug where algorithm picking preferred server order over client.
8. Fixed bug where the algorithm list matching was checking out of bounds.
2014-12-10 21:01:22 -08:00
John Safranek 71bcd94c5f 1. Starting to add in the Decryption and MAC Verification.
2. Fixed bug in getting the entire packet from the socket.
2014-12-08 21:59:21 -08:00
John Safranek 1c902a641e encode signature without CyaSSL's compatibility layer, using wolfCrypt only 2014-12-05 17:37:39 -08:00
John Safranek 156c3bd7a5 tweak to hide the disconnect reason string output 2014-12-05 14:51:20 -08:00
John Safranek bf0133c740 added decode/encode support for base messages 2014-12-05 12:17:27 -08:00
John Safranek 2d959d7bea 1. Generates the session keys.
2. Starting to tie into the bulk encryption and MAC.
2014-09-12 21:00:16 -07:00
John Safranek 917c6a84c4 Clean up build warnings under Linux 2014-08-14 11:46:23 -07:00
John Safranek c142bc305c fix the exchange hash signing issue 2014-09-03 22:48:50 -07:00
John Safranek 852016d8c5 finally calculates the hash correctly, but isn't signing correctly. :/ 2014-09-03 13:50:23 -07:00
John Safranek ad17306d96 correctly builds the packet, hash still wrong 2014-09-02 23:21:17 -07:00
John Safranek 8be65978bb 1. Added compile flag to show the shared master secret.
2. Fixed bug where the client DH e-value wasn't being used.
2014-09-02 11:52:08 -07:00
John Safranek 6be28d3437 fix buffer overflow when generating keys 2014-09-02 11:38:18 -07:00
John Safranek c82b4bb3d8 server sends KexDhReply 2014-09-01 19:11:38 -07:00
John Safranek 21db2e1036 almost have KexDhAgree completed 2014-08-31 23:56:27 -07:00
John Safranek a9ecef7352 90% of KEXDH done 2014-08-28 14:10:02 -07:00
John Safranek b72c16f8e9 Creates and sends the server KEXINIT msg 2014-08-26 15:43:59 -07:00
John Safranek cfb7b90b32 Fill in the server's KEX Init message payload 2014-08-25 09:58:54 -07:00
John Safranek 67bb1cdbdc 1. Adding the packet building and send functions.
2. Fix RNG initializer.
2014-08-23 23:07:12 -07:00
John Safranek 5fb59b3006 Rename function SendBuffer() as SendBuffered() to match wolfSSL. 2014-08-21 14:41:05 -07:00
John Safranek 106e349a23 fix wrapper macro usage 2014-08-21 10:55:46 -07:00
John Safranek d1d9c3da81 Added an RNG to the WOLFSSH object 2014-08-21 10:50:30 -07:00
John Safranek a430fc7e27 Update the MAC and Block size based on the algo IDs. 2014-08-20 16:56:16 -07:00
John Safranek 9bb2576136 Parse out the KEX algo lists. 2014-08-20 11:47:42 -07:00
John Safranek 1c0ff7b151 Decode the KEX Init bits from the peer. 2014-08-18 20:41:53 -07:00
John Safranek 7e2674c29a 1. Added test certificate and private key.
2. Added code to load single certificate and private key from buffers.
2014-08-15 14:20:42 -07:00
John Safranek f4b1908b17 Refactor the constants. 2014-08-15 11:37:00 -07:00
John Safranek e6bfa8c131 1. Removed the peerId from handshake record. It'll be added to the key
hash directly.
2. Framing in the private key and certificate loading functions.
2014-08-14 22:34:55 -07:00
John Safranek 0feaaab922 Moved the handshake data into its own structure so it can be freed when
the handshake completes.
2014-08-13 19:31:59 -07:00
John Safranek f07f623ad6 Modified the input and output buffers, made them members of the
session object, rather than pointers.
2014-08-12 17:21:13 -07:00
John Safranek 8cb5fea384 1. Added a description comment to each C and H file.
2. Updated the FSF address in the comments.
2014-08-11 16:19:11 -07:00
John Safranek bf052f42c9 Added an endpoint type, client or server, to the wolfSSH context
constructor. (For future use.)
2014-08-11 14:45:03 -07:00
John Safranek 490fd75fa9 1. Moved error number to string conversion to internal.c
2. Removed file error.c
3. Added error code accessor for WOLFSSH objects.
4. Added error string accesor for WOLFSSH objects.
5. Cleaned up the I/O callback prototypes.
2014-08-11 14:29:06 -07:00
John Safranek a96a764bc0 Moved functions to internal.c that belong there. 2014-08-11 14:03:00 -07:00
John Safranek e03a1011d2 1. Removed some unneeded functions and data types.
2. Added some new data for sequence numbering and for key exchange.
2014-08-11 11:53:45 -07:00
John Safranek b331ff9cba fixed buffer issue on receive 2014-07-31 11:28:14 -07:00
John Safranek 1d2e1af069 filling in code 2014-07-28 07:12:54 -07:00
John Safranek 1945b2dddd added the Buffer 2014-07-07 17:36:57 -07:00
John Safranek eb82d2bf28 Adding code 2014-07-01 17:27:47 -07:00
John Safranek 997013f210 Adding code 2014-07-01 17:27:29 -07:00
John Safranek 749cb6ff90 initial set of files 2014-06-24 14:48:08 -07:00