{"action":"created","comment":{"url":"https://api.github.com/repos/awslabs/s2n/pulls/comments/69377757","id":69377757,"diff_hunk":"@@ -0,0 +1,25 @@\n+/*\n+ * Copyright 2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n+ *\n+ * Licensed under the Apache License, Version 2.0 (the \"License\").\n+ * You may not use this file except in compliance with the License.\n+ * A copy of the License is located at\n+ *\n+ *  http://aws.amazon.com/apache2.0\n+ *\n+ * or in the \"license\" file accompanying this file. This file is distributed\n+ * on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either\n+ * express or implied. See the License for the specific language governing\n+ * permissions and limitations under the License.\n+ */\n+\n+#pragma once\n+\n+#include <stdint.h>\n+\n+#include \"utils/s2n_blob.h\"\n+#include \"crypto/s2n_hmac.h\"\n+\n+extern int s2n_hkdf(s2n_hmac_algorithm alg, const struct s2n_blob *salt, const struct s2n_blob *key, const struct s2n_blob *info, struct s2n_blob *out_key);\n+extern int s2n_hkdf_extract(s2n_hmac_algorithm alg, const struct s2n_blob *salt, const struct s2n_blob *key, struct s2n_blob *pseudo_rand_key);","path":"crypto/s2n_hkdf.h","position":24,"original_position":24,"commit_id":"004b05e41722409c0092f0373f5aadb24bfe8fa9","original_commit_id":"004b05e41722409c0092f0373f5aadb24bfe8fa9","user":{"login":"colmmacc","id":172568,"avatar_url":"https://avatars.githubusercontent.com/u/172568?v=3","gravatar_id":"","url":"https://api.github.com/users/colmmacc","html_url":"https://github.com/colmmacc","followers_url":"https://api.github.com/users/colmmacc/followers","following_url":"https://api.github.com/users/colmmacc/following{/other_user}","gists_url":"https://api.github.com/users/colmmacc/gists{/gist_id}","starred_url":"https://api.github.com/users/colmmacc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/colmmacc/subscriptions","organizations_url":"https://api.github.com/users/colmmacc/orgs","repos_url":"https://api.github.com/users/colmmacc/repos","events_url":"https://api.github.com/users/colmmacc/events{/privacy}","received_events_url":"https://api.github.com/users/colmmacc/received_events","type":"User","site_admin":false},"body":"the extract and expand steps shouldn't be exposed I think; they're internal so don't need to be in the header file and can be statics in the c file. ","created_at":"2016-07-02T12:57:39Z","updated_at":"2016-07-02T12:57:39Z","html_url":"https://github.com/awslabs/s2n/pull/249#discussion_r69377757","pull_request_url":"https://api.github.com/repos/awslabs/s2n/pulls/249","_links":{"self":{"href":"https://api.github.com/repos/awslabs/s2n/pulls/comments/69377757"},"html":{"href":"https://github.com/awslabs/s2n/pull/249#discussion_r69377757"},"pull_request":{"href":"https://api.github.com/repos/awslabs/s2n/pulls/249"}}},"pull_request":{"url":"https://api.github.com/repos/awslabs/s2n/pulls/249","id":76043130,"html_url":"https://github.com/awslabs/s2n/pull/249","diff_url":"https://github.com/awslabs/s2n/pull/249.diff","patch_url":"https://github.com/awslabs/s2n/pull/249.patch","issue_url":"https://api.github.com/repos/awslabs/s2n/issues/249","number":249,"state":"open","locked":false,"title":"Add support for HKDF","user":{"login":"gibson-compsci","id":8649690,"avatar_url":"https://avatars.githubusercontent.com/u/8649690?v=3","gravatar_id":"","url":"https://api.github.com/users/gibson-compsci","html_url":"https://github.com/gibson-compsci","followers_url":"https://api.github.com/users/gibson-compsci/followers","following_url":"https://api.github.com/users/gibson-compsci/following{/other_user}","gists_url":"https://api.github.com/users/gibson-compsci/gists{/gist_id}","starred_url":"https://api.github.com/users/gibson-compsci/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gibson-compsci/subscriptions","organizations_url":"https://api.github.com/users/gibson-compsci/orgs","repos_url":"https://api.github.com/users/gibson-compsci/repos","events_url":"https://api.github.com/users/gibson-compsci/events{/privacy}","received_events_url":"https://api.github.com/users/gibson-compsci/received_events","type":"User","site_admin":false},"body":"HKDF implementation and tests based on RFC 5869.","created_at":"2016-07-01T22:16:02Z","updated_at":"2016-07-02T12:57:39Z","closed_at":null,"merged_at":null,"merge_commit_sha":"c264956130e11b51c8555dedc91d3a3dfe107b1b","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/awslabs/s2n/pulls/249/commits","review_comments_url":"https://api.github.com/repos/awslabs/s2n/pulls/249/comments","review_comment_url":"https://api.github.com/repos/awslabs/s2n/pulls/comments{/number}","comments_url":"https://api.github.com/repos/awslabs/s2n/issues/249/comments","statuses_url":"https://api.github.com/repos/awslabs/s2n/statuses/004b05e41722409c0092f0373f5aadb24bfe8fa9","head":{"label":"gibson-compsci:master","ref":"master","sha":"004b05e41722409c0092f0373f5aadb24bfe8fa9","user":{"login":"gibson-compsci","id":8649690,"avatar_url":"https://avatars.githubusercontent.com/u/8649690?v=3","gravatar_id":"","url":"https://api.github.com/users/gibson-compsci","html_url":"https://github.com/gibson-compsci","followers_url":"https://api.github.com/users/gibson-compsci/followers","following_url":"https://api.github.com/users/gibson-compsci/following{/other_user}","gists_url":"https://api.github.com/users/gibson-compsci/gists{/gist_id}","starred_url":"https://api.github.com/users/gibson-compsci/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gibson-compsci/subscriptions","organizations_url":"https://api.github.com/users/gibson-compsci/orgs","repos_url":"https://api.github.com/users/gibson-compsci/repos","events_url":"https://api.github.com/users/gibson-compsci/events{/privacy}","received_events_url":"https://api.github.com/users/gibson-compsci/received_events","type":"User","site_admin":false},"repo":{"id":60631095,"name":"s2n","full_name":"gibson-compsci/s2n","owner":{"login":"gibson-compsci","id":8649690,"avatar_url":"https://avatars.githubusercontent.com/u/8649690?v=3","gravatar_id":"","url":"https://api.github.com/users/gibson-compsci","html_url":"https://github.com/gibson-compsci","followers_url":"https://api.github.com/users/gibson-compsci/followers","following_url":"https://api.github.com/users/gibson-compsci/following{/other_user}","gists_url":"https://api.github.com/users/gibson-compsci/gists{/gist_id}","starred_url":"https://api.github.com/users/gibson-compsci/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gibson-compsci/subscriptions","organizations_url":"https://api.github.com/users/gibson-compsci/orgs","repos_url":"https://api.github.com/users/gibson-compsci/repos","events_url":"https://api.github.com/users/gibson-compsci/events{/privacy}","received_events_url":"https://api.github.com/users/gibson-compsci/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/gibson-compsci/s2n","description":"s2n : an implementation of the TLS/SSL protocols","fork":true,"url":"https://api.github.com/repos/gibson-compsci/s2n","forks_url":"https://api.github.com/repos/gibson-compsci/s2n/forks","keys_url":"https://api.github.com/repos/gibson-compsci/s2n/keys{/key_id}","collaborators_url":"https://api.github.com/repos/gibson-compsci/s2n/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/gibson-compsci/s2n/teams","hooks_url":"https://api.github.com/repos/gibson-compsci/s2n/hooks","issue_events_url":"https://api.github.com/repos/gibson-compsci/s2n/issues/events{/number}","events_url":"https://api.github.com/repos/gibson-compsci/s2n/events","assignees_url":"https://api.github.com/repos/gibson-compsci/s2n/assignees{/user}","branches_url":"https://api.github.com/repos/gibson-compsci/s2n/branches{/branch}","tags_url":"https://api.github.com/repos/gibson-compsci/s2n/tags","blobs_url":"https://api.github.com/repos/gibson-compsci/s2n/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/gibson-compsci/s2n/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/gibson-compsci/s2n/git/refs{/sha}","trees_url":"https://api.github.com/repos/gibson-compsci/s2n/git/trees{/sha}","statuses_url":"https://api.github.com/repos/gibson-compsci/s2n/statuses/{sha}","languages_url":"https://api.github.com/repos/gibson-compsci/s2n/languages","stargazers_url":"https://api.github.com/repos/gibson-compsci/s2n/stargazers","contributors_url":"https://api.github.com/repos/gibson-compsci/s2n/contributors","subscribers_url":"https://api.github.com/repos/gibson-compsci/s2n/subscribers","subscription_url":"https://api.github.com/repos/gibson-compsci/s2n/subscription","commits_url":"https://api.github.com/repos/gibson-compsci/s2n/commits{/sha}","git_commits_url":"https://api.github.com/repos/gibson-compsci/s2n/git/commits{/sha}","comments_url":"https://api.github.com/repos/gibson-compsci/s2n/comments{/number}","issue_comment_url":"https://api.github.com/repos/gibson-compsci/s2n/issues/comments{/number}","contents_url":"https://api.github.com/repos/gibson-compsci/s2n/contents/{+path}","compare_url":"https://api.github.com/repos/gibson-compsci/s2n/compare/{base}...{head}","merges_url":"https://api.github.com/repos/gibson-compsci/s2n/merges","archive_url":"https://api.github.com/repos/gibson-compsci/s2n/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/gibson-compsci/s2n/downloads","issues_url":"https://api.github.com/repos/gibson-compsci/s2n/issues{/number}","pulls_url":"https://api.github.com/repos/gibson-compsci/s2n/pulls{/number}","milestones_url":"https://api.github.com/repos/gibson-compsci/s2n/milestones{/number}","notifications_url":"https://api.github.com/repos/gibson-compsci/s2n/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/gibson-compsci/s2n/labels{/name}","releases_url":"https://api.github.com/repos/gibson-compsci/s2n/releases{/id}","deployments_url":"https://api.github.com/repos/gibson-compsci/s2n/deployments","created_at":"2016-06-07T17:00:12Z","updated_at":"2016-06-07T17:00:14Z","pushed_at":"2016-07-01T22:41:31Z","git_url":"git://github.com/gibson-compsci/s2n.git","ssh_url":"git@github.com:gibson-compsci/s2n.git","clone_url":"https://github.com/gibson-compsci/s2n.git","svn_url":"https://github.com/gibson-compsci/s2n","homepage":"","size":1173,"stargazers_count":0,"watchers_count":0,"language":"C","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"awslabs:master","ref":"master","sha":"6d158342bd12b92c211758aed8ba02d359a7d1e6","user":{"login":"awslabs","id":3299148,"avatar_url":"https://avatars.githubusercontent.com/u/3299148?v=3","gravatar_id":"","url":"https://api.github.com/users/awslabs","html_url":"https://github.com/awslabs","followers_url":"https://api.github.com/users/awslabs/followers","following_url":"https://api.github.com/users/awslabs/following{/other_user}","gists_url":"https://api.github.com/users/awslabs/gists{/gist_id}","starred_url":"https://api.github.com/users/awslabs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/awslabs/subscriptions","organizations_url":"https://api.github.com/users/awslabs/orgs","repos_url":"https://api.github.com/users/awslabs/repos","events_url":"https://api.github.com/users/awslabs/events{/privacy}","received_events_url":"https://api.github.com/users/awslabs/received_events","type":"Organization","site_admin":false},"repo":{"id":21287076,"name":"s2n","full_name":"awslabs/s2n","owner":{"login":"awslabs","id":3299148,"avatar_url":"https://avatars.githubusercontent.com/u/3299148?v=3","gravatar_id":"","url":"https://api.github.com/users/awslabs","html_url":"https://github.com/awslabs","followers_url":"https://api.github.com/users/awslabs/followers","following_url":"https://api.github.com/users/awslabs/following{/other_user}","gists_url":"https://api.github.com/users/awslabs/gists{/gist_id}","starred_url":"https://api.github.com/users/awslabs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/awslabs/subscriptions","organizations_url":"https://api.github.com/users/awslabs/orgs","repos_url":"https://api.github.com/users/awslabs/repos","events_url":"https://api.github.com/users/awslabs/events{/privacy}","received_events_url":"https://api.github.com/users/awslabs/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/awslabs/s2n","description":"s2n : an implementation of the TLS/SSL protocols","fork":false,"url":"https://api.github.com/repos/awslabs/s2n","forks_url":"https://api.github.com/repos/awslabs/s2n/forks","keys_url":"https://api.github.com/repos/awslabs/s2n/keys{/key_id}","collaborators_url":"https://api.github.com/repos/awslabs/s2n/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/awslabs/s2n/teams","hooks_url":"https://api.github.com/repos/awslabs/s2n/hooks","issue_events_url":"https://api.github.com/repos/awslabs/s2n/issues/events{/number}","events_url":"https://api.github.com/repos/awslabs/s2n/events","assignees_url":"https://api.github.com/repos/awslabs/s2n/assignees{/user}","branches_url":"https://api.github.com/repos/awslabs/s2n/branches{/branch}","tags_url":"https://api.github.com/repos/awslabs/s2n/tags","blobs_url":"https://api.github.com/repos/awslabs/s2n/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/awslabs/s2n/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/awslabs/s2n/git/refs{/sha}","trees_url":"https://api.github.com/repos/awslabs/s2n/git/trees{/sha}","statuses_url":"https://api.github.com/repos/awslabs/s2n/statuses/{sha}","languages_url":"https://api.github.com/repos/awslabs/s2n/languages","stargazers_url":"https://api.github.com/repos/awslabs/s2n/stargazers","contributors_url":"https://api.github.com/repos/awslabs/s2n/contributors","subscribers_url":"https://api.github.com/repos/awslabs/s2n/subscribers","subscription_url":"https://api.github.com/repos/awslabs/s2n/subscription","commits_url":"https://api.github.com/repos/awslabs/s2n/commits{/sha}","git_commits_url":"https://api.github.com/repos/awslabs/s2n/git/commits{/sha}","comments_url":"https://api.github.com/repos/awslabs/s2n/comments{/number}","issue_comment_url":"https://api.github.com/repos/awslabs/s2n/issues/comments{/number}","contents_url":"https://api.github.com/repos/awslabs/s2n/contents/{+path}","compare_url":"https://api.github.com/repos/awslabs/s2n/compare/{base}...{head}","merges_url":"https://api.github.com/repos/awslabs/s2n/merges","archive_url":"https://api.github.com/repos/awslabs/s2n/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/awslabs/s2n/downloads","issues_url":"https://api.github.com/repos/awslabs/s2n/issues{/number}","pulls_url":"https://api.github.com/repos/awslabs/s2n/pulls{/number}","milestones_url":"https://api.github.com/repos/awslabs/s2n/milestones{/number}","notifications_url":"https://api.github.com/repos/awslabs/s2n/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/awslabs/s2n/labels{/name}","releases_url":"https://api.github.com/repos/awslabs/s2n/releases{/id}","deployments_url":"https://api.github.com/repos/awslabs/s2n/deployments","created_at":"2014-06-27T19:37:59Z","updated_at":"2016-07-01T16:12:17Z","pushed_at":"2016-07-02T12:49:43Z","git_url":"git://github.com/awslabs/s2n.git","ssh_url":"git@github.com:awslabs/s2n.git","clone_url":"https://github.com/awslabs/s2n.git","svn_url":"https://github.com/awslabs/s2n","homepage":"","size":1743,"stargazers_count":2304,"watchers_count":2304,"language":"C","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":197,"mirror_url":null,"open_issues_count":39,"forks":197,"open_issues":39,"watchers":2304,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/awslabs/s2n/pulls/249"},"html":{"href":"https://github.com/awslabs/s2n/pull/249"},"issue":{"href":"https://api.github.com/repos/awslabs/s2n/issues/249"},"comments":{"href":"https://api.github.com/repos/awslabs/s2n/issues/249/comments"},"review_comments":{"href":"https://api.github.com/repos/awslabs/s2n/pulls/249/comments"},"review_comment":{"href":"https://api.github.com/repos/awslabs/s2n/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/awslabs/s2n/pulls/249/commits"},"statuses":{"href":"https://api.github.com/repos/awslabs/s2n/statuses/004b05e41722409c0092f0373f5aadb24bfe8fa9"}}}}
{"actor":{"display_login":"colmmacc"}}