{"action":"created","comment":{"url":"https://api.github.com/repos/jocelyn/EiffelStudio/pulls/comments/171282601","pull_request_review_id":100107609,"id":171282601,"diff_hunk":"@@ -0,0 +1,71 @@\n+note\n+\tdescription: \"[\n+\t\t\t\tGCM (Galois Counter Mode) is a mode of operation for block ciphers. \n+\t\t\t\tAn AEAD (authenticated encryption with additional data) mode is a type of block cipher mode that simultaneously encrypts the message as well as authenticating it. \n+\t\t\t\tAdditional unencrypted data may also be authenticated\n+\t\t\t]\"\n+\tdate: \"$Date$\"\n+\trevision: \"$Revision$\"\n+\tEIS: \"name=gcm mode\", \"src=https://en.wikipedia.org/wiki/Galois/Counter_Mode\", \"protocol=uri\"\n+\tEIS: \"name=cryptography library doc\", \"src=https://cryptography.io/en/latest/hazmat/primitives/symmetric-encryption/?highlight=GCM#algorithms\", \"protocol=uri\"\n+class\n+\tSSL_GCM_MODE\n+\n+inherit\n+\n+\tSSL_MODE\n+\tSSL_MODE_WITH_AUTHENTICATION_TAG\n+\tSSL_MODE_WITH_INITIALIZATION_VECTOR\n+\n+create\n+\tmake\n+\n+feature {NONE} -- Intialization\n+\n+\tmake (a_iv: READABLE_STRING_8; a_tag: detachable READABLE_STRING_32)\n+\t\t\t-- Initialize gcm mode with\n+\t\t\t-- initialiazation_vector `a_iv'\n+\t\tlocal\n+\t\t\tl_converter: BYTE_ARRAY_CONVERTER\n+\t\tdo\n+\t\t\t\t-- convert the `a_iv' hex string to byte array.\n+\t\t\tcreate initialization_vector.make_from_array ((create {BYTE_ARRAY_CONVERTER}.make_from_hex_string (a_iv)).to_natural_8_array)\n+\t\t\tif attached a_tag then\n+\t\t\t\tcreate tag.make_from_array ((create {BYTE_ARRAY_CONVERTER}.make_from_hex_string (a_tag)).to_natural_8_array)\n+\t\t\tend\n+\t\tend\n+\n+feature -- Access\n+\n+\tname: STRING_8 = \"GCM\"\n+\t\t\t-- <Precursor>\n+\n+\tMAX_ENCRYPTED_BYTES: INTEGER_64 = 68719476704\n+\t\t\t-- (2 ^ 39 - 256) / 8\n+\n+\tMAX_AAD_BYTES: INTEGER_64 = 2305843009213693952\n+\t\t\t-- (2^ 64) / 8\n+\n+feature -- Validate algorithm\n+\n+\tvalidate_for_aglorithm (a_algo: SSL_ALGORITHM): BOOLEAN\n+\t\t\t-- <Precursor>\n+\t\tdo\n+\t\t\tResult := check_aes_key_length (a_algo)\n+\t\tend\n+\n+feature -- Status Report\n+\n+\tcheck_aes_key_length (a_algo: SSL_ALGORITHM): BOOLEAN","path":"Src/unstable/library/network/openssl/src/crypto/modes/ssl_gcm_mode.e","position":59,"original_position":59,"commit_id":"e827e9b5ae91076238e7be833e231fd444cbff42","original_commit_id":"e827e9b5ae91076238e7be833e231fd444cbff42","user":{"login":"jvelilla","id":23418,"avatar_url":"https://avatars0.githubusercontent.com/u/23418?v=4","gravatar_id":"","url":"https://api.github.com/users/jvelilla","html_url":"https://github.com/jvelilla","followers_url":"https://api.github.com/users/jvelilla/followers","following_url":"https://api.github.com/users/jvelilla/following{/other_user}","gists_url":"https://api.github.com/users/jvelilla/gists{/gist_id}","starred_url":"https://api.github.com/users/jvelilla/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jvelilla/subscriptions","organizations_url":"https://api.github.com/users/jvelilla/orgs","repos_url":"https://api.github.com/users/jvelilla/repos","events_url":"https://api.github.com/users/jvelilla/events{/privacy}","received_events_url":"https://api.github.com/users/jvelilla/received_events","type":"User","site_admin":false},"body":"that's ok.\r\n","created_at":"2018-02-28T15:31:09Z","updated_at":"2018-02-28T15:31:09Z","html_url":"https://github.com/jocelyn/EiffelStudio/pull/1#discussion_r171282601","pull_request_url":"https://api.github.com/repos/jocelyn/EiffelStudio/pulls/1","author_association":"NONE","_links":{"self":{"href":"https://api.github.com/repos/jocelyn/EiffelStudio/pulls/comments/171282601"},"html":{"href":"https://github.com/jocelyn/EiffelStudio/pull/1#discussion_r171282601"},"pull_request":{"href":"https://api.github.com/repos/jocelyn/EiffelStudio/pulls/1"}},"in_reply_to_id":170592980},"pull_request":{"url":"https://api.github.com/repos/jocelyn/EiffelStudio/pulls/1","id":171367500,"html_url":"https://github.com/jocelyn/EiffelStudio/pull/1","diff_url":"https://github.com/jocelyn/EiffelStudio/pull/1.diff","patch_url":"https://github.com/jocelyn/EiffelStudio/pull/1.patch","issue_url":"https://api.github.com/repos/jocelyn/EiffelStudio/issues/1","number":1,"state":"open","locked":false,"title":"Es netssl","user":{"login":"jocelyn","id":31598,"avatar_url":"https://avatars3.githubusercontent.com/u/31598?v=4","gravatar_id":"","url":"https://api.github.com/users/jocelyn","html_url":"https://github.com/jocelyn","followers_url":"https://api.github.com/users/jocelyn/followers","following_url":"https://api.github.com/users/jocelyn/following{/other_user}","gists_url":"https://api.github.com/users/jocelyn/gists{/gist_id}","starred_url":"https://api.github.com/users/jocelyn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jocelyn/subscriptions","organizations_url":"https://api.github.com/users/jocelyn/orgs","repos_url":"https://api.github.com/users/jocelyn/repos","events_url":"https://api.github.com/users/jocelyn/events{/privacy}","received_events_url":"https://api.github.com/users/jocelyn/received_events","type":"User","site_admin":false},"body":"for review","created_at":"2018-02-26T12:58:44Z","updated_at":"2018-02-28T15:31:09Z","closed_at":null,"merged_at":null,"merge_commit_sha":"c50fdbd501bda62446819c62e1653c3b9138adbd","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/jocelyn/EiffelStudio/pulls/1/commits","review_comments_url":"https://api.github.com/repos/jocelyn/EiffelStudio/pulls/1/comments","review_comment_url":"https://api.github.com/repos/jocelyn/EiffelStudio/pulls/comments{/number}","comments_url":"https://api.github.com/repos/jocelyn/EiffelStudio/issues/1/comments","statuses_url":"https://api.github.com/repos/jocelyn/EiffelStudio/statuses/e827e9b5ae91076238e7be833e231fd444cbff42","head":{"label":"jvelilla:es_netssl","ref":"es_netssl","sha":"e827e9b5ae91076238e7be833e231fd444cbff42","user":{"login":"jvelilla","id":23418,"avatar_url":"https://avatars0.githubusercontent.com/u/23418?v=4","gravatar_id":"","url":"https://api.github.com/users/jvelilla","html_url":"https://github.com/jvelilla","followers_url":"https://api.github.com/users/jvelilla/followers","following_url":"https://api.github.com/users/jvelilla/following{/other_user}","gists_url":"https://api.github.com/users/jvelilla/gists{/gist_id}","starred_url":"https://api.github.com/users/jvelilla/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jvelilla/subscriptions","organizations_url":"https://api.github.com/users/jvelilla/orgs","repos_url":"https://api.github.com/users/jvelilla/repos","events_url":"https://api.github.com/users/jvelilla/events{/privacy}","received_events_url":"https://api.github.com/users/jvelilla/received_events","type":"User","site_admin":false},"repo":{"id":114140059,"name":"EiffelStudio","full_name":"jvelilla/EiffelStudio","owner":{"login":"jvelilla","id":23418,"avatar_url":"https://avatars0.githubusercontent.com/u/23418?v=4","gravatar_id":"","url":"https://api.github.com/users/jvelilla","html_url":"https://github.com/jvelilla","followers_url":"https://api.github.com/users/jvelilla/followers","following_url":"https://api.github.com/users/jvelilla/following{/other_user}","gists_url":"https://api.github.com/users/jvelilla/gists{/gist_id}","starred_url":"https://api.github.com/users/jvelilla/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jvelilla/subscriptions","organizations_url":"https://api.github.com/users/jvelilla/orgs","repos_url":"https://api.github.com/users/jvelilla/repos","events_url":"https://api.github.com/users/jvelilla/events{/privacy}","received_events_url":"https://api.github.com/users/jvelilla/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/jvelilla/EiffelStudio","description":"Mirror of https://svn.eiffel.com/eiffelstudio/trunk","fork":true,"url":"https://api.github.com/repos/jvelilla/EiffelStudio","forks_url":"https://api.github.com/repos/jvelilla/EiffelStudio/forks","keys_url":"https://api.github.com/repos/jvelilla/EiffelStudio/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jvelilla/EiffelStudio/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jvelilla/EiffelStudio/teams","hooks_url":"https://api.github.com/repos/jvelilla/EiffelStudio/hooks","issue_events_url":"https://api.github.com/repos/jvelilla/EiffelStudio/issues/events{/number}","events_url":"https://api.github.com/repos/jvelilla/EiffelStudio/events","assignees_url":"https://api.github.com/repos/jvelilla/EiffelStudio/assignees{/user}","branches_url":"https://api.github.com/repos/jvelilla/EiffelStudio/branches{/branch}","tags_url":"https://api.github.com/repos/jvelilla/EiffelStudio/tags","blobs_url":"https://api.github.com/repos/jvelilla/EiffelStudio/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jvelilla/EiffelStudio/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jvelilla/EiffelStudio/git/refs{/sha}","trees_url":"https://api.github.com/repos/jvelilla/EiffelStudio/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jvelilla/EiffelStudio/statuses/{sha}","languages_url":"https://api.github.com/repos/jvelilla/EiffelStudio/languages","stargazers_url":"https://api.github.com/repos/jvelilla/EiffelStudio/stargazers","contributors_url":"https://api.github.com/repos/jvelilla/EiffelStudio/contributors","subscribers_url":"https://api.github.com/repos/jvelilla/EiffelStudio/subscribers","subscription_url":"https://api.github.com/repos/jvelilla/EiffelStudio/subscription","commits_url":"https://api.github.com/repos/jvelilla/EiffelStudio/commits{/sha}","git_commits_url":"https://api.github.com/repos/jvelilla/EiffelStudio/git/commits{/sha}","comments_url":"https://api.github.com/repos/jvelilla/EiffelStudio/comments{/number}","issue_comment_url":"https://api.github.com/repos/jvelilla/EiffelStudio/issues/comments{/number}","contents_url":"https://api.github.com/repos/jvelilla/EiffelStudio/contents/{+path}","compare_url":"https://api.github.com/repos/jvelilla/EiffelStudio/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jvelilla/EiffelStudio/merges","archive_url":"https://api.github.com/repos/jvelilla/EiffelStudio/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jvelilla/EiffelStudio/downloads","issues_url":"https://api.github.com/repos/jvelilla/EiffelStudio/issues{/number}","pulls_url":"https://api.github.com/repos/jvelilla/EiffelStudio/pulls{/number}","milestones_url":"https://api.github.com/repos/jvelilla/EiffelStudio/milestones{/number}","notifications_url":"https://api.github.com/repos/jvelilla/EiffelStudio/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jvelilla/EiffelStudio/labels{/name}","releases_url":"https://api.github.com/repos/jvelilla/EiffelStudio/releases{/id}","deployments_url":"https://api.github.com/repos/jvelilla/EiffelStudio/deployments","created_at":"2017-12-13T15:53:50Z","updated_at":"2017-12-13T15:56:25Z","pushed_at":"2018-02-13T20:39:43Z","git_url":"git://github.com/jvelilla/EiffelStudio.git","ssh_url":"git@github.com:jvelilla/EiffelStudio.git","clone_url":"https://github.com/jvelilla/EiffelStudio.git","svn_url":"https://github.com/jvelilla/EiffelStudio","homepage":"","size":589946,"stargazers_count":0,"watchers_count":0,"language":"Eiffel","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":null,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"jocelyn:master","ref":"master","sha":"8fc1b93bb392e8cb2267bf56c91700eaceeecbae","user":{"login":"jocelyn","id":31598,"avatar_url":"https://avatars3.githubusercontent.com/u/31598?v=4","gravatar_id":"","url":"https://api.github.com/users/jocelyn","html_url":"https://github.com/jocelyn","followers_url":"https://api.github.com/users/jocelyn/followers","following_url":"https://api.github.com/users/jocelyn/following{/other_user}","gists_url":"https://api.github.com/users/jocelyn/gists{/gist_id}","starred_url":"https://api.github.com/users/jocelyn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jocelyn/subscriptions","organizations_url":"https://api.github.com/users/jocelyn/orgs","repos_url":"https://api.github.com/users/jocelyn/repos","events_url":"https://api.github.com/users/jocelyn/events{/privacy}","received_events_url":"https://api.github.com/users/jocelyn/received_events","type":"User","site_admin":false},"repo":{"id":61017838,"name":"EiffelStudio","full_name":"jocelyn/EiffelStudio","owner":{"login":"jocelyn","id":31598,"avatar_url":"https://avatars3.githubusercontent.com/u/31598?v=4","gravatar_id":"","url":"https://api.github.com/users/jocelyn","html_url":"https://github.com/jocelyn","followers_url":"https://api.github.com/users/jocelyn/followers","following_url":"https://api.github.com/users/jocelyn/following{/other_user}","gists_url":"https://api.github.com/users/jocelyn/gists{/gist_id}","starred_url":"https://api.github.com/users/jocelyn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jocelyn/subscriptions","organizations_url":"https://api.github.com/users/jocelyn/orgs","repos_url":"https://api.github.com/users/jocelyn/repos","events_url":"https://api.github.com/users/jocelyn/events{/privacy}","received_events_url":"https://api.github.com/users/jocelyn/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/jocelyn/EiffelStudio","description":"Mirror of https://svn.eiffel.com/eiffelstudio/trunk","fork":true,"url":"https://api.github.com/repos/jocelyn/EiffelStudio","forks_url":"https://api.github.com/repos/jocelyn/EiffelStudio/forks","keys_url":"https://api.github.com/repos/jocelyn/EiffelStudio/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jocelyn/EiffelStudio/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jocelyn/EiffelStudio/teams","hooks_url":"https://api.github.com/repos/jocelyn/EiffelStudio/hooks","issue_events_url":"https://api.github.com/repos/jocelyn/EiffelStudio/issues/events{/number}","events_url":"https://api.github.com/repos/jocelyn/EiffelStudio/events","assignees_url":"https://api.github.com/repos/jocelyn/EiffelStudio/assignees{/user}","branches_url":"https://api.github.com/repos/jocelyn/EiffelStudio/branches{/branch}","tags_url":"https://api.github.com/repos/jocelyn/EiffelStudio/tags","blobs_url":"https://api.github.com/repos/jocelyn/EiffelStudio/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jocelyn/EiffelStudio/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jocelyn/EiffelStudio/git/refs{/sha}","trees_url":"https://api.github.com/repos/jocelyn/EiffelStudio/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jocelyn/EiffelStudio/statuses/{sha}","languages_url":"https://api.github.com/repos/jocelyn/EiffelStudio/languages","stargazers_url":"https://api.github.com/repos/jocelyn/EiffelStudio/stargazers","contributors_url":"https://api.github.com/repos/jocelyn/EiffelStudio/contributors","subscribers_url":"https://api.github.com/repos/jocelyn/EiffelStudio/subscribers","subscription_url":"https://api.github.com/repos/jocelyn/EiffelStudio/subscription","commits_url":"https://api.github.com/repos/jocelyn/EiffelStudio/commits{/sha}","git_commits_url":"https://api.github.com/repos/jocelyn/EiffelStudio/git/commits{/sha}","comments_url":"https://api.github.com/repos/jocelyn/EiffelStudio/comments{/number}","issue_comment_url":"https://api.github.com/repos/jocelyn/EiffelStudio/issues/comments{/number}","contents_url":"https://api.github.com/repos/jocelyn/EiffelStudio/contents/{+path}","compare_url":"https://api.github.com/repos/jocelyn/EiffelStudio/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jocelyn/EiffelStudio/merges","archive_url":"https://api.github.com/repos/jocelyn/EiffelStudio/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jocelyn/EiffelStudio/downloads","issues_url":"https://api.github.com/repos/jocelyn/EiffelStudio/issues{/number}","pulls_url":"https://api.github.com/repos/jocelyn/EiffelStudio/pulls{/number}","milestones_url":"https://api.github.com/repos/jocelyn/EiffelStudio/milestones{/number}","notifications_url":"https://api.github.com/repos/jocelyn/EiffelStudio/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jocelyn/EiffelStudio/labels{/name}","releases_url":"https://api.github.com/repos/jocelyn/EiffelStudio/releases{/id}","deployments_url":"https://api.github.com/repos/jocelyn/EiffelStudio/deployments","created_at":"2016-06-13T07:53:02Z","updated_at":"2016-06-13T07:56:48Z","pushed_at":"2018-02-26T12:58:45Z","git_url":"git://github.com/jocelyn/EiffelStudio.git","ssh_url":"git@github.com:jocelyn/EiffelStudio.git","clone_url":"https://github.com/jocelyn/EiffelStudio.git","svn_url":"https://github.com/jocelyn/EiffelStudio","homepage":"","size":590178,"stargazers_count":0,"watchers_count":0,"language":"Eiffel","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":1,"license":null,"forks":0,"open_issues":1,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/jocelyn/EiffelStudio/pulls/1"},"html":{"href":"https://github.com/jocelyn/EiffelStudio/pull/1"},"issue":{"href":"https://api.github.com/repos/jocelyn/EiffelStudio/issues/1"},"comments":{"href":"https://api.github.com/repos/jocelyn/EiffelStudio/issues/1/comments"},"review_comments":{"href":"https://api.github.com/repos/jocelyn/EiffelStudio/pulls/1/comments"},"review_comment":{"href":"https://api.github.com/repos/jocelyn/EiffelStudio/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/jocelyn/EiffelStudio/pulls/1/commits"},"statuses":{"href":"https://api.github.com/repos/jocelyn/EiffelStudio/statuses/e827e9b5ae91076238e7be833e231fd444cbff42"}},"author_association":"OWNER"}}
{"actor":{"display_login":"jvelilla"}}