{"action":"created","comment":{"url":"https://api.github.com/repos/Qabel/qabel-core/pulls/comments/26023070","id":26023070,"diff_hunk":"@@ -0,0 +1,67 @@\n+#include <jni.h>\n+#include <stdlib.h>\n+\n+#include \"curve25519-jni.h\"\n+#include \"curve25519.h\"\n+\n+JNIEXPORT jbyteArray JNICALL\n+Java_de_qabel_core_crypto_Curve25519_cryptoScalarmult(JNIEnv * env,\n+\t\t\t\t\t\t\t\t\t\t\t\tjobject obj,\n+\t\t\t\t\t\t\t\t\t\t\t\tjbyteArray n, jbyteArray p)\n+{\n+\tjboolean qIsCopy, pIsCopy;\n+\tjbyte *_n, *_result, *_p;\n+\tjbyteArray result;\n+\tjsize length;\n+\n+\tlength = (*env)->GetArrayLength(env, n);\n+\t_result = (jbyte *) malloc(length * sizeof(jbyte));\n+\tresult = (*env)->NewByteArray(env, length);\n+\n+\t_n = (jbyte *) (*env)->GetByteArrayElements(env, n, &qIsCopy);\n+\t_p = (jbyte *) (*env)->GetByteArrayElements(env, p, &pIsCopy);\n+\n+\tcrypto_scalarmult((unsigned char *) _result, (unsigned char *) _n,\n+\t\t\t\t\t  (unsigned char *) _p);\n+\n+\tif (qIsCopy) {\n+\t\t(*env)->ReleaseByteArrayElements(env, n, _n, JNI_ABORT);\n+\t}\n+\tif (pIsCopy) {\n+\t\t(*env)->ReleaseByteArrayElements(env, p, _p, JNI_ABORT);\n+\t}\n+\n+\t(*env)->SetByteArrayRegion(env, result, 0, length, (jbyte *) _result);\n+\tfree(_result);\n+\n+\treturn (result);\n+}\n+\n+JNIEXPORT jbyteArray JNICALL\n+Java_de_qabel_core_crypto_Curve25519_cryptoScalarmultBase(JNIEnv * env,\n+\t\t\t\t\t\t\t\t\t\t\t\t\tjobject obj,\n+\t\t\t\t\t\t\t\t\t\t\t\t\tjbyteArray n)","path":"jni/curve25519-jni.c","position":43,"original_position":43,"commit_id":"2f1882e992ed4dca71c2fd4eb61fa64062ac5c71","original_commit_id":"2f1882e992ed4dca71c2fd4eb61fa64062ac5c71","user":{"login":"jan-schreib","id":2648381,"avatar_url":"https://avatars.githubusercontent.com/u/2648381?v=3","gravatar_id":"","url":"https://api.github.com/users/jan-schreib","html_url":"https://github.com/jan-schreib","followers_url":"https://api.github.com/users/jan-schreib/followers","following_url":"https://api.github.com/users/jan-schreib/following{/other_user}","gists_url":"https://api.github.com/users/jan-schreib/gists{/gist_id}","starred_url":"https://api.github.com/users/jan-schreib/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jan-schreib/subscriptions","organizations_url":"https://api.github.com/users/jan-schreib/orgs","repos_url":"https://api.github.com/users/jan-schreib/repos","events_url":"https://api.github.com/users/jan-schreib/events{/privacy}","received_events_url":"https://api.github.com/users/jan-schreib/received_events","type":"User","site_admin":false},"body":"Indentation as mentioned above.","created_at":"2015-03-09T09:38:18Z","updated_at":"2015-03-09T09:38:18Z","html_url":"https://github.com/Qabel/qabel-core/pull/300#discussion_r26023070","pull_request_url":"https://api.github.com/repos/Qabel/qabel-core/pulls/300","_links":{"self":{"href":"https://api.github.com/repos/Qabel/qabel-core/pulls/comments/26023070"},"html":{"href":"https://github.com/Qabel/qabel-core/pull/300#discussion_r26023070"},"pull_request":{"href":"https://api.github.com/repos/Qabel/qabel-core/pulls/300"}}},"pull_request":{"url":"https://api.github.com/repos/Qabel/qabel-core/pulls/300","id":30407480,"html_url":"https://github.com/Qabel/qabel-core/pull/300","diff_url":"https://github.com/Qabel/qabel-core/pull/300.diff","patch_url":"https://github.com/Qabel/qabel-core/pull/300.patch","issue_url":"https://api.github.com/repos/Qabel/qabel-core/issues/300","number":300,"state":"open","locked":false,"title":"Noise integration","user":{"login":"L-Henke","id":7975219,"avatar_url":"https://avatars.githubusercontent.com/u/7975219?v=3","gravatar_id":"","url":"https://api.github.com/users/L-Henke","html_url":"https://github.com/L-Henke","followers_url":"https://api.github.com/users/L-Henke/followers","following_url":"https://api.github.com/users/L-Henke/following{/other_user}","gists_url":"https://api.github.com/users/L-Henke/gists{/gist_id}","starred_url":"https://api.github.com/users/L-Henke/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/L-Henke/subscriptions","organizations_url":"https://api.github.com/users/L-Henke/orgs","repos_url":"https://api.github.com/users/L-Henke/repos","events_url":"https://api.github.com/users/L-Henke/events{/privacy}","received_events_url":"https://api.github.com/users/L-Henke/received_events","type":"User","site_admin":false},"body":"Closes #290 \r\n~~This is an early state of the noise integration.~~\r\n\r\nSome concepts are currently bad and will be changed. ~~This PR is only to save my work and to ask other developers on details for required refactorizations. It is also not perfectly cleaned up.~~\r\n\r\nA concept for a platform independent integration or even compilation of the ```.so``` is completely missing.\r\n\r\n~~Only check this PR if you are interested in the new concept.~~\r\n\r\nEdit: Current goal was to pass all tests, not to make a totally optimized concept.","created_at":"2015-03-03T20:05:03Z","updated_at":"2015-03-09T09:38:18Z","closed_at":null,"merged_at":null,"merge_commit_sha":"55d697e57e80c52fef3c8d2baec41b273624f9db","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/Qabel/qabel-core/pulls/300/commits","review_comments_url":"https://api.github.com/repos/Qabel/qabel-core/pulls/300/comments","review_comment_url":"https://api.github.com/repos/Qabel/qabel-core/pulls/comments{/number}","comments_url":"https://api.github.com/repos/Qabel/qabel-core/issues/300/comments","statuses_url":"https://api.github.com/repos/Qabel/qabel-core/statuses/2f1882e992ed4dca71c2fd4eb61fa64062ac5c71","head":{"label":"L-Henke:noiseMerge","ref":"noiseMerge","sha":"2f1882e992ed4dca71c2fd4eb61fa64062ac5c71","user":{"login":"L-Henke","id":7975219,"avatar_url":"https://avatars.githubusercontent.com/u/7975219?v=3","gravatar_id":"","url":"https://api.github.com/users/L-Henke","html_url":"https://github.com/L-Henke","followers_url":"https://api.github.com/users/L-Henke/followers","following_url":"https://api.github.com/users/L-Henke/following{/other_user}","gists_url":"https://api.github.com/users/L-Henke/gists{/gist_id}","starred_url":"https://api.github.com/users/L-Henke/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/L-Henke/subscriptions","organizations_url":"https://api.github.com/users/L-Henke/orgs","repos_url":"https://api.github.com/users/L-Henke/repos","events_url":"https://api.github.com/users/L-Henke/events{/privacy}","received_events_url":"https://api.github.com/users/L-Henke/received_events","type":"User","site_admin":false},"repo":{"id":24596150,"name":"qabel-core","full_name":"L-Henke/qabel-core","owner":{"login":"L-Henke","id":7975219,"avatar_url":"https://avatars.githubusercontent.com/u/7975219?v=3","gravatar_id":"","url":"https://api.github.com/users/L-Henke","html_url":"https://github.com/L-Henke","followers_url":"https://api.github.com/users/L-Henke/followers","following_url":"https://api.github.com/users/L-Henke/following{/other_user}","gists_url":"https://api.github.com/users/L-Henke/gists{/gist_id}","starred_url":"https://api.github.com/users/L-Henke/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/L-Henke/subscriptions","organizations_url":"https://api.github.com/users/L-Henke/orgs","repos_url":"https://api.github.com/users/L-Henke/repos","events_url":"https://api.github.com/users/L-Henke/events{/privacy}","received_events_url":"https://api.github.com/users/L-Henke/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/L-Henke/qabel-core","description":"Implementation of Qabel-Core in Java","fork":true,"url":"https://api.github.com/repos/L-Henke/qabel-core","forks_url":"https://api.github.com/repos/L-Henke/qabel-core/forks","keys_url":"https://api.github.com/repos/L-Henke/qabel-core/keys{/key_id}","collaborators_url":"https://api.github.com/repos/L-Henke/qabel-core/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/L-Henke/qabel-core/teams","hooks_url":"https://api.github.com/repos/L-Henke/qabel-core/hooks","issue_events_url":"https://api.github.com/repos/L-Henke/qabel-core/issues/events{/number}","events_url":"https://api.github.com/repos/L-Henke/qabel-core/events","assignees_url":"https://api.github.com/repos/L-Henke/qabel-core/assignees{/user}","branches_url":"https://api.github.com/repos/L-Henke/qabel-core/branches{/branch}","tags_url":"https://api.github.com/repos/L-Henke/qabel-core/tags","blobs_url":"https://api.github.com/repos/L-Henke/qabel-core/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/L-Henke/qabel-core/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/L-Henke/qabel-core/git/refs{/sha}","trees_url":"https://api.github.com/repos/L-Henke/qabel-core/git/trees{/sha}","statuses_url":"https://api.github.com/repos/L-Henke/qabel-core/statuses/{sha}","languages_url":"https://api.github.com/repos/L-Henke/qabel-core/languages","stargazers_url":"https://api.github.com/repos/L-Henke/qabel-core/stargazers","contributors_url":"https://api.github.com/repos/L-Henke/qabel-core/contributors","subscribers_url":"https://api.github.com/repos/L-Henke/qabel-core/subscribers","subscription_url":"https://api.github.com/repos/L-Henke/qabel-core/subscription","commits_url":"https://api.github.com/repos/L-Henke/qabel-core/commits{/sha}","git_commits_url":"https://api.github.com/repos/L-Henke/qabel-core/git/commits{/sha}","comments_url":"https://api.github.com/repos/L-Henke/qabel-core/comments{/number}","issue_comment_url":"https://api.github.com/repos/L-Henke/qabel-core/issues/comments{/number}","contents_url":"https://api.github.com/repos/L-Henke/qabel-core/contents/{+path}","compare_url":"https://api.github.com/repos/L-Henke/qabel-core/compare/{base}...{head}","merges_url":"https://api.github.com/repos/L-Henke/qabel-core/merges","archive_url":"https://api.github.com/repos/L-Henke/qabel-core/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/L-Henke/qabel-core/downloads","issues_url":"https://api.github.com/repos/L-Henke/qabel-core/issues{/number}","pulls_url":"https://api.github.com/repos/L-Henke/qabel-core/pulls{/number}","milestones_url":"https://api.github.com/repos/L-Henke/qabel-core/milestones{/number}","notifications_url":"https://api.github.com/repos/L-Henke/qabel-core/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/L-Henke/qabel-core/labels{/name}","releases_url":"https://api.github.com/repos/L-Henke/qabel-core/releases{/id}","created_at":"2014-09-29T13:24:27Z","updated_at":"2015-03-04T10:11:44Z","pushed_at":"2015-03-04T10:46:43Z","git_url":"git://github.com/L-Henke/qabel-core.git","ssh_url":"git@github.com:L-Henke/qabel-core.git","clone_url":"https://github.com/L-Henke/qabel-core.git","svn_url":"https://github.com/L-Henke/qabel-core","homepage":null,"size":3390,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":false,"has_downloads":true,"has_wiki":true,"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":"Qabel:master","ref":"master","sha":"7844102580b6e1da72117ecabd3dc2255ee2ad9d","user":{"login":"Qabel","id":7711470,"avatar_url":"https://avatars.githubusercontent.com/u/7711470?v=3","gravatar_id":"","url":"https://api.github.com/users/Qabel","html_url":"https://github.com/Qabel","followers_url":"https://api.github.com/users/Qabel/followers","following_url":"https://api.github.com/users/Qabel/following{/other_user}","gists_url":"https://api.github.com/users/Qabel/gists{/gist_id}","starred_url":"https://api.github.com/users/Qabel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Qabel/subscriptions","organizations_url":"https://api.github.com/users/Qabel/orgs","repos_url":"https://api.github.com/users/Qabel/repos","events_url":"https://api.github.com/users/Qabel/events{/privacy}","received_events_url":"https://api.github.com/users/Qabel/received_events","type":"Organization","site_admin":false},"repo":{"id":22873447,"name":"qabel-core","full_name":"Qabel/qabel-core","owner":{"login":"Qabel","id":7711470,"avatar_url":"https://avatars.githubusercontent.com/u/7711470?v=3","gravatar_id":"","url":"https://api.github.com/users/Qabel","html_url":"https://github.com/Qabel","followers_url":"https://api.github.com/users/Qabel/followers","following_url":"https://api.github.com/users/Qabel/following{/other_user}","gists_url":"https://api.github.com/users/Qabel/gists{/gist_id}","starred_url":"https://api.github.com/users/Qabel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Qabel/subscriptions","organizations_url":"https://api.github.com/users/Qabel/orgs","repos_url":"https://api.github.com/users/Qabel/repos","events_url":"https://api.github.com/users/Qabel/events{/privacy}","received_events_url":"https://api.github.com/users/Qabel/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Qabel/qabel-core","description":"Implementation of Qabel-Core in Java","fork":false,"url":"https://api.github.com/repos/Qabel/qabel-core","forks_url":"https://api.github.com/repos/Qabel/qabel-core/forks","keys_url":"https://api.github.com/repos/Qabel/qabel-core/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Qabel/qabel-core/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Qabel/qabel-core/teams","hooks_url":"https://api.github.com/repos/Qabel/qabel-core/hooks","issue_events_url":"https://api.github.com/repos/Qabel/qabel-core/issues/events{/number}","events_url":"https://api.github.com/repos/Qabel/qabel-core/events","assignees_url":"https://api.github.com/repos/Qabel/qabel-core/assignees{/user}","branches_url":"https://api.github.com/repos/Qabel/qabel-core/branches{/branch}","tags_url":"https://api.github.com/repos/Qabel/qabel-core/tags","blobs_url":"https://api.github.com/repos/Qabel/qabel-core/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Qabel/qabel-core/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Qabel/qabel-core/git/refs{/sha}","trees_url":"https://api.github.com/repos/Qabel/qabel-core/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Qabel/qabel-core/statuses/{sha}","languages_url":"https://api.github.com/repos/Qabel/qabel-core/languages","stargazers_url":"https://api.github.com/repos/Qabel/qabel-core/stargazers","contributors_url":"https://api.github.com/repos/Qabel/qabel-core/contributors","subscribers_url":"https://api.github.com/repos/Qabel/qabel-core/subscribers","subscription_url":"https://api.github.com/repos/Qabel/qabel-core/subscription","commits_url":"https://api.github.com/repos/Qabel/qabel-core/commits{/sha}","git_commits_url":"https://api.github.com/repos/Qabel/qabel-core/git/commits{/sha}","comments_url":"https://api.github.com/repos/Qabel/qabel-core/comments{/number}","issue_comment_url":"https://api.github.com/repos/Qabel/qabel-core/issues/comments{/number}","contents_url":"https://api.github.com/repos/Qabel/qabel-core/contents/{+path}","compare_url":"https://api.github.com/repos/Qabel/qabel-core/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Qabel/qabel-core/merges","archive_url":"https://api.github.com/repos/Qabel/qabel-core/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Qabel/qabel-core/downloads","issues_url":"https://api.github.com/repos/Qabel/qabel-core/issues{/number}","pulls_url":"https://api.github.com/repos/Qabel/qabel-core/pulls{/number}","milestones_url":"https://api.github.com/repos/Qabel/qabel-core/milestones{/number}","notifications_url":"https://api.github.com/repos/Qabel/qabel-core/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Qabel/qabel-core/labels{/name}","releases_url":"https://api.github.com/repos/Qabel/qabel-core/releases{/id}","created_at":"2014-08-12T10:25:10Z","updated_at":"2015-03-03T22:54:01Z","pushed_at":"2015-03-03T18:22:52Z","git_url":"git://github.com/Qabel/qabel-core.git","ssh_url":"git@github.com:Qabel/qabel-core.git","clone_url":"https://github.com/Qabel/qabel-core.git","svn_url":"https://github.com/Qabel/qabel-core","homepage":null,"size":6392,"stargazers_count":5,"watchers_count":5,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":11,"mirror_url":null,"open_issues_count":24,"forks":11,"open_issues":24,"watchers":5,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/Qabel/qabel-core/pulls/300"},"html":{"href":"https://github.com/Qabel/qabel-core/pull/300"},"issue":{"href":"https://api.github.com/repos/Qabel/qabel-core/issues/300"},"comments":{"href":"https://api.github.com/repos/Qabel/qabel-core/issues/300/comments"},"review_comments":{"href":"https://api.github.com/repos/Qabel/qabel-core/pulls/300/comments"},"review_comment":{"href":"https://api.github.com/repos/Qabel/qabel-core/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/Qabel/qabel-core/pulls/300/commits"},"statuses":{"href":"https://api.github.com/repos/Qabel/qabel-core/statuses/2f1882e992ed4dca71c2fd4eb61fa64062ac5c71"}}}}