Skip to content

Rekeying#22

Merged
toddouska merged 17 commits intowolfSSL:masterfrom
ejohnstown:rekeying
Oct 24, 2016
Merged

Rekeying#22
toddouska merged 17 commits intowolfSSL:masterfrom
ejohnstown:rekeying

Conversation

@ejohnstown
Copy link
Copy Markdown
Contributor

  1. Added rekeying during runtime, with a trigger function and highwater marks for number of bytes received and transmit.
  2. Added a key generation function for producing a new RSA key for server identity.
  3. Suggest updates from beta test.

1. Made default window size updatable at configure time.
2. Lowered the default highwater mark by 32k.
3. Removed a parameter name from a couple function protypes.
has processed at least half of its available space. By
default, the receive window is 1MB, and the window size is
increased every 512kB.
1. Add stub rekey trigger function.
2. Add new default highwater callback that calls the rekey trigger
   function.
3. Rename the highwater level as "mark" rather than "count".
4. Add a flag to call the highwater callback once, cleared when the
   txCount is cleared when sending new keys message to peer.
5. Add new state machine for key exchange.
6. Start massaging the accept state machine for new KEX machine.
7. Update some default sizes, and replace magic numbers with named
   constants.
8. Scale back the accept state machine to add in the KEX state
   machine.
9. Capture the client version string and the server's KEX init message
   for rekeying.
10. Add compiler flag to allow "none" as a user auth method.
1. Flushing out the keying state machine, taking it out of the accept
   state machine.
2. Changed the HandshakeInfo record to be something that can be
   recreated post-initial connection for rekeying.
3. Fixed the name of a previously unused size variable.
4. Moved some constants around.
1. Add the Trigger Rekeying function.
2. Fixing the keying state machine.
3. Modify echoserver for rekeying.
2. Parse the Channel Close message, and reply with a Channel Close.
   wolfSSL not using cryptonly mode.
2. Send server version before expecting client version.
1. Bump version number.
2. Update readme.
3. Move the coding standard to a notes file.
@ejohnstown
Copy link
Copy Markdown
Contributor Author

This is a release candidate for v1.0.0.

Comment thread src/internal.c Outdated

uint32_t idSz;

wc_ShaUpdate(&ssh->handshake->hash,
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Return code check?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll run through and fix the rest of those.

Comment thread src/internal.c Outdated
wc_ShaUpdate(&ssh->handshake->hash,
ssh->clientId, ssh->clientIdSz);

idSz = (uint32_t)WSTRLEN(sshIdStr) - SSH_PROTO_EOL_SZ;
Copy link
Copy Markdown
Contributor

@toddouska toddouska Oct 24, 2016

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What if strlen() result is less than SSH_PROTO_EOL_SZ?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sshIdStr is a contant string.

   client version string.
2. Shrink the receive buffer after reading the client version
   string.
3. Resize the buffer correctly when needed data is already in the input
   buffer and grab the remainder as expected.
@toddouska toddouska merged commit a612d6c into wolfSSL:master Oct 24, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants