{"action":"created","comment":{"url":"https://api.github.com/repos/SharkCagey/HTWG_shark_cage/pulls/comments/198831062","pull_request_review_id":132830270,"id":198831062,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDE5ODgzMTA2Mg==","diff_hunk":"@@ -4,121 +4,121 @@\n #include <lmerr.h>\r\n #include <stdexcept>\r\n #include <Sddl.h>\r\n-//#include <Wdm.h>\r\n-//#include <Ntddk.h>\r\n-//#include <Ntifs.h>\r\n-#include <Ntdef.h>\r\n #include <Wtsapi32.h>\r\n-\r\n-//#include <ntsecapi.h>\r\n-\r\n+#include <Winternl.h>\r\n+#include <ntstatus.h>\r\n #include <iostream>\r\n #include <stdio.h>\r\n #pragma comment(lib, \"netapi32.lib\")\r\n-//#pragma comment(lib, \"Wtsapi32.lib\")\r\n \r\n class tokenStructures {\r\n public:\r\n-\tACCESS_MASK\t\t\tAccessMask; //OK\r\n-\tPOBJECT_ATTRIBUTES\tObjectAttributes; //OK\r\n-\tTOKEN_TYPE\t\t\tTokenType; //OK\r\n-\tPLUID\t\t\t\tAuthenticationId; //OK\r\n-\tPLARGE_INTEGER\t\tExpirationTime; //OK\r\n-\tPTOKEN_USER         TokenUser; //OK\r\n-\tPTOKEN_GROUPS       TokenGroups; //OK\r\n-\tPTOKEN_PRIVILEGES   TokenPrivileges; //OK\r\n-\tPTOKEN_OWNER        TokenOwner; //OK\r\n-\tPTOKEN_PRIMARY_GROUP TokenPrimaryGroup; //OK\r\n-\tPTOKEN_DEFAULT_DACL TokenDefaultDacl; //OK\r\n-\tPTOKEN_SOURCE       TokenSource; //OK\r\n+\tACCESS_MASK\t\t\tAccessMask;\r\n+\tPOBJECT_ATTRIBUTES\tObjectAttributes;\r\n+\tTOKEN_TYPE\t\t\tTokenType;\r\n+\tPLUID\t\t\t\tAuthenticationId;\r\n+\tPLARGE_INTEGER\t\tExpirationTime;\r\n+\tPTOKEN_USER         TokenUser;\r\n+\tPTOKEN_GROUPS       TokenGroups;\r\n+\tPTOKEN_PRIVILEGES   TokenPrivileges;\r\n+\tPTOKEN_OWNER        TokenOwner;\r\n+\tPTOKEN_PRIMARY_GROUP TokenPrimaryGroup;\r\n+\tPTOKEN_DEFAULT_DACL TokenDefaultDacl;\r\n+\tPTOKEN_SOURCE       TokenSource;\r\n };\r\n \r\n-bool emergencyExit(LPTSTR pUser_name); \r\n void enumerateSidsAndHashes(PTOKEN_ACCESS_INFORMATION pToken);\r\n ULONG getCurrentSessionID();\r\n void deconstructToken(tokenStructures &tokenDeconstructed, HANDLE &userToken);\r\n+bool changeTokenCreationPrivilege(bool privilegeStatus);\r\n+bool addGroupToTokenGroups(PSID sid, tokenStructures &tokenDeconstructed);\r\n \r\n \r\n \r\n-namespace util {\r\n-\r\n-\tLPWSTR  group_name = L\"Dummy_group\"; //TODO: this should be constant, fix the conversions\r\n-\r\n-\r\n-\t//this is all obsolete now  - keeping this only for grading purposes\r\n-\t//reason: there is no way to arbitrarilly add a group to the token\r\n-\t//we are going to create a new token from scratch using NtCreateToken\r\n-\tbool getModifiedToken(PSID sid, HANDLE &token) {\r\n-\r\n+namespace tokenLib {\r\n \r\n+\tbool createLocalGroup(LPWSTR groupName, PSID &sid){\r\n+\t\tSID_NAME_USE accountType;\r\n \t\tLOCALGROUP_INFO_0 localgroup_info;\r\n-\t\tLPTSTR   pUser_name = NULL;\r\n-\t\tHANDLE current_process_handle;\r\n-\t\tHANDLE user_token_h;\r\n-\t\tDWORD bufferSize = 0;\r\n-\r\n+\t\tlocalgroup_info.lgrpi0_name = groupName;\r\n \r\n-\t\t//create a dummy group\r\n-\t\tlocalgroup_info.lgrpi0_name = group_name;\r\n-\t\tif (NetLocalGroupAdd(NULL, 0, (LPBYTE)&localgroup_info, NULL) != NERR_Success)\r\n-\t\t\treturn emergencyExit(pUser_name);\r\n+\t\tNetLocalGroupDel(NULL, groupName);\r\n \r\n+\t\tif (NetLocalGroupAdd(NULL, 0, (LPBYTE)&localgroup_info, NULL) != NERR_Success) {\r\n+\t\t\tsid = NULL;\r\n+\t\t\treturn false;\r\n+\t\t}\r\n \r\n-\t\t//add user to that group\r\n-\t\tGetUserName(NULL, &bufferSize);\r\n-\t\tpUser_name = (LPTSTR) new BYTE[bufferSize];\r\n-\t\tGetUserName(pUser_name, &bufferSize);\r\n-\t\tLOCALGROUP_MEMBERS_INFO_3 localgroup_member_info;\r\n-\t\tlocalgroup_member_info.lgrmi3_domainandname = pUser_name;\r\n-\t\tif (NetLocalGroupAddMembers(NULL, group_name, 3, (LPBYTE)&localgroup_member_info, 1) != NERR_Success)\r\n-\t\t\treturn emergencyExit(pUser_name);\r\n-\r\n-\t\t//get user token (containig dummy group) - TODO: I need handle of a different process this one does not have the priviledge\r\n-\t\tcurrent_process_handle = GetCurrentProcess();\r\n-\t\tif (!OpenProcessToken(current_process_handle, TOKEN_ALL_ACCESS, &user_token_h))\r\n-\t\t\treturn emergencyExit(pUser_name);\r\n-\r\n-\t\tbufferSize = 0;\r\n-\t\tGetTokenInformation(user_token_h, TokenAccessInformation, NULL, 0, &bufferSize);\r\n-\t\tPTOKEN_ACCESS_INFORMATION pTokenUser = (PTOKEN_ACCESS_INFORMATION) new BYTE[bufferSize];\r\n-\t\tmemset(pTokenUser, 0, bufferSize);\r\n-\t\tGetTokenInformation(user_token_h, TokenAccessInformation, pTokenUser, bufferSize, &bufferSize);\r\n-\r\n-\t\tenumerateSidsAndHashes(pTokenUser);\r\n-\t\t//replace the dummy group in token with actual group - requires to know the sid of the dummy_group\r\n-\t\t//change the hashes - how - not possible  - one hash for all of the tokens - aborting this approach\r\n-\r\n-\r\n-\t\t//delete dummy group\r\n-\t\tNetLocalGroupDel(NULL, group_name);\r\n-\r\n-\t\t//assign token to handle\r\n+\t\tDWORD bufferSize = 0, buffer2Size = 0;\r\n \r\n+\t\tLookupAccountName(NULL, groupName, NULL, &bufferSize, NULL, &buffer2Size, &accountType);\r\n+\t\tsid = (PSID) new BYTE[bufferSize];\r\n+\t\tLPTSTR domain = (LPTSTR) new BYTE[buffer2Size];\r","path":"Shark Cage/createACLinNewDesktop/createACLinNewDesktop/util.cpp","position":122,"original_position":122,"commit_id":"c6917d39778ab45b6ad07875807abb6da799d61d","original_commit_id":"c6917d39778ab45b6ad07875807abb6da799d61d","user":{"login":"DonatJR","id":16246147,"node_id":"MDQ6VXNlcjE2MjQ2MTQ3","avatar_url":"https://avatars0.githubusercontent.com/u/16246147?v=4","gravatar_id":"","url":"https://api.github.com/users/DonatJR","html_url":"https://github.com/DonatJR","followers_url":"https://api.github.com/users/DonatJR/followers","following_url":"https://api.github.com/users/DonatJR/following{/other_user}","gists_url":"https://api.github.com/users/DonatJR/gists{/gist_id}","starred_url":"https://api.github.com/users/DonatJR/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DonatJR/subscriptions","organizations_url":"https://api.github.com/users/DonatJR/orgs","repos_url":"https://api.github.com/users/DonatJR/repos","events_url":"https://api.github.com/users/DonatJR/events{/privacy}","received_events_url":"https://api.github.com/users/DonatJR/received_events","type":"User","site_admin":false},"body":"In my opinion it is dangerous to have the caller do clean-up duty of any kind. There are several ways to allocate memory in C++ and you have to use the matching deallocation scheme to not corrupt the memory of your program. Adding it to the documentation might be fine for us / this project but as a general approach to API design there are better alternatives ","created_at":"2018-06-28T13:02:38Z","updated_at":"2018-06-28T13:02:39Z","html_url":"https://github.com/SharkCagey/HTWG_shark_cage/pull/56#discussion_r198831062","pull_request_url":"https://api.github.com/repos/SharkCagey/HTWG_shark_cage/pulls/56","author_association":"NONE","_links":{"self":{"href":"https://api.github.com/repos/SharkCagey/HTWG_shark_cage/pulls/comments/198831062"},"html":{"href":"https://github.com/SharkCagey/HTWG_shark_cage/pull/56#discussion_r198831062"},"pull_request":{"href":"https://api.github.com/repos/SharkCagey/HTWG_shark_cage/pulls/56"}},"in_reply_to_id":198719271},"pull_request":{"url":"https://api.github.com/repos/SharkCagey/HTWG_shark_cage/pulls/56","id":197701665,"node_id":"MDExOlB1bGxSZXF1ZXN0MTk3NzAxNjY1","html_url":"https://github.com/SharkCagey/HTWG_shark_cage/pull/56","diff_url":"https://github.com/SharkCagey/HTWG_shark_cage/pull/56.diff","patch_url":"https://github.com/SharkCagey/HTWG_shark_cage/pull/56.patch","issue_url":"https://api.github.com/repos/SharkCagey/HTWG_shark_cage/issues/56","number":56,"state":"open","locked":false,"title":"Token maipulation library","user":{"login":"bencikpeter","id":16115043,"node_id":"MDQ6VXNlcjE2MTE1MDQz","avatar_url":"https://avatars3.githubusercontent.com/u/16115043?v=4","gravatar_id":"","url":"https://api.github.com/users/bencikpeter","html_url":"https://github.com/bencikpeter","followers_url":"https://api.github.com/users/bencikpeter/followers","following_url":"https://api.github.com/users/bencikpeter/following{/other_user}","gists_url":"https://api.github.com/users/bencikpeter/gists{/gist_id}","starred_url":"https://api.github.com/users/bencikpeter/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bencikpeter/subscriptions","organizations_url":"https://api.github.com/users/bencikpeter/orgs","repos_url":"https://api.github.com/users/bencikpeter/repos","events_url":"https://api.github.com/users/bencikpeter/events{/privacy}","received_events_url":"https://api.github.com/users/bencikpeter/received_events","type":"User","site_admin":false},"body":"Token manipulation library is in it´s basic version ready. I´ve included a small demonstrator in `testMain.cpp` that adds a dummy group to the token and then surfaces it to the user. Important files for the project are  `util.h` and `util.cpp`, Everything important is documented in javadoc in `util.h`","created_at":"2018-06-27T11:31:21Z","updated_at":"2018-06-28T13:02:39Z","closed_at":null,"merged_at":null,"merge_commit_sha":"e7ceada781aa20dd586dfc4229072388504f218a","assignee":null,"assignees":[],"requested_reviewers":[{"login":"SailReal","id":1786772,"node_id":"MDQ6VXNlcjE3ODY3NzI=","avatar_url":"https://avatars3.githubusercontent.com/u/1786772?v=4","gravatar_id":"","url":"https://api.github.com/users/SailReal","html_url":"https://github.com/SailReal","followers_url":"https://api.github.com/users/SailReal/followers","following_url":"https://api.github.com/users/SailReal/following{/other_user}","gists_url":"https://api.github.com/users/SailReal/gists{/gist_id}","starred_url":"https://api.github.com/users/SailReal/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SailReal/subscriptions","organizations_url":"https://api.github.com/users/SailReal/orgs","repos_url":"https://api.github.com/users/SailReal/repos","events_url":"https://api.github.com/users/SailReal/events{/privacy}","received_events_url":"https://api.github.com/users/SailReal/received_events","type":"User","site_admin":false},{"login":"baWedekind","id":23399105,"node_id":"MDQ6VXNlcjIzMzk5MTA1","avatar_url":"https://avatars1.githubusercontent.com/u/23399105?v=4","gravatar_id":"","url":"https://api.github.com/users/baWedekind","html_url":"https://github.com/baWedekind","followers_url":"https://api.github.com/users/baWedekind/followers","following_url":"https://api.github.com/users/baWedekind/following{/other_user}","gists_url":"https://api.github.com/users/baWedekind/gists{/gist_id}","starred_url":"https://api.github.com/users/baWedekind/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/baWedekind/subscriptions","organizations_url":"https://api.github.com/users/baWedekind/orgs","repos_url":"https://api.github.com/users/baWedekind/repos","events_url":"https://api.github.com/users/baWedekind/events{/privacy}","received_events_url":"https://api.github.com/users/baWedekind/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/SharkCagey/HTWG_shark_cage/pulls/56/commits","review_comments_url":"https://api.github.com/repos/SharkCagey/HTWG_shark_cage/pulls/56/comments","review_comment_url":"https://api.github.com/repos/SharkCagey/HTWG_shark_cage/pulls/comments{/number}","comments_url":"https://api.github.com/repos/SharkCagey/HTWG_shark_cage/issues/56/comments","statuses_url":"https://api.github.com/repos/SharkCagey/HTWG_shark_cage/statuses/c6917d39778ab45b6ad07875807abb6da799d61d","head":{"label":"bencikpeter:token_maipulation","ref":"token_maipulation","sha":"c6917d39778ab45b6ad07875807abb6da799d61d","user":{"login":"bencikpeter","id":16115043,"node_id":"MDQ6VXNlcjE2MTE1MDQz","avatar_url":"https://avatars3.githubusercontent.com/u/16115043?v=4","gravatar_id":"","url":"https://api.github.com/users/bencikpeter","html_url":"https://github.com/bencikpeter","followers_url":"https://api.github.com/users/bencikpeter/followers","following_url":"https://api.github.com/users/bencikpeter/following{/other_user}","gists_url":"https://api.github.com/users/bencikpeter/gists{/gist_id}","starred_url":"https://api.github.com/users/bencikpeter/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bencikpeter/subscriptions","organizations_url":"https://api.github.com/users/bencikpeter/orgs","repos_url":"https://api.github.com/users/bencikpeter/repos","events_url":"https://api.github.com/users/bencikpeter/events{/privacy}","received_events_url":"https://api.github.com/users/bencikpeter/received_events","type":"User","site_admin":false},"repo":{"id":70676927,"node_id":"MDEwOlJlcG9zaXRvcnk3MDY3NjkyNw==","name":"HTWG_shark_cage","full_name":"bencikpeter/HTWG_shark_cage","owner":{"login":"bencikpeter","id":16115043,"node_id":"MDQ6VXNlcjE2MTE1MDQz","avatar_url":"https://avatars3.githubusercontent.com/u/16115043?v=4","gravatar_id":"","url":"https://api.github.com/users/bencikpeter","html_url":"https://github.com/bencikpeter","followers_url":"https://api.github.com/users/bencikpeter/followers","following_url":"https://api.github.com/users/bencikpeter/following{/other_user}","gists_url":"https://api.github.com/users/bencikpeter/gists{/gist_id}","starred_url":"https://api.github.com/users/bencikpeter/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bencikpeter/subscriptions","organizations_url":"https://api.github.com/users/bencikpeter/orgs","repos_url":"https://api.github.com/users/bencikpeter/repos","events_url":"https://api.github.com/users/bencikpeter/events{/privacy}","received_events_url":"https://api.github.com/users/bencikpeter/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/bencikpeter/HTWG_shark_cage","description":null,"fork":false,"url":"https://api.github.com/repos/bencikpeter/HTWG_shark_cage","forks_url":"https://api.github.com/repos/bencikpeter/HTWG_shark_cage/forks","keys_url":"https://api.github.com/repos/bencikpeter/HTWG_shark_cage/keys{/key_id}","collaborators_url":"https://api.github.com/repos/bencikpeter/HTWG_shark_cage/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/bencikpeter/HTWG_shark_cage/teams","hooks_url":"https://api.github.com/repos/bencikpeter/HTWG_shark_cage/hooks","issue_events_url":"https://api.github.com/repos/bencikpeter/HTWG_shark_cage/issues/events{/number}","events_url":"https://api.github.com/repos/bencikpeter/HTWG_shark_cage/events","assignees_url":"https://api.github.com/repos/bencikpeter/HTWG_shark_cage/assignees{/user}","branches_url":"https://api.github.com/repos/bencikpeter/HTWG_shark_cage/branches{/branch}","tags_url":"https://api.github.com/repos/bencikpeter/HTWG_shark_cage/tags","blobs_url":"https://api.github.com/repos/bencikpeter/HTWG_shark_cage/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/bencikpeter/HTWG_shark_cage/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/bencikpeter/HTWG_shark_cage/git/refs{/sha}","trees_url":"https://api.github.com/repos/bencikpeter/HTWG_shark_cage/git/trees{/sha}","statuses_url":"https://api.github.com/repos/bencikpeter/HTWG_shark_cage/statuses/{sha}","languages_url":"https://api.github.com/repos/bencikpeter/HTWG_shark_cage/languages","stargazers_url":"https://api.github.com/repos/bencikpeter/HTWG_shark_cage/stargazers","contributors_url":"https://api.github.com/repos/bencikpeter/HTWG_shark_cage/contributors","subscribers_url":"https://api.github.com/repos/bencikpeter/HTWG_shark_cage/subscribers","subscription_url":"https://api.github.com/repos/bencikpeter/HTWG_shark_cage/subscription","commits_url":"https://api.github.com/repos/bencikpeter/HTWG_shark_cage/commits{/sha}","git_commits_url":"https://api.github.com/repos/bencikpeter/HTWG_shark_cage/git/commits{/sha}","comments_url":"https://api.github.com/repos/bencikpeter/HTWG_shark_cage/comments{/number}","issue_comment_url":"https://api.github.com/repos/bencikpeter/HTWG_shark_cage/issues/comments{/number}","contents_url":"https://api.github.com/repos/bencikpeter/HTWG_shark_cage/contents/{+path}","compare_url":"https://api.github.com/repos/bencikpeter/HTWG_shark_cage/compare/{base}...{head}","merges_url":"https://api.github.com/repos/bencikpeter/HTWG_shark_cage/merges","archive_url":"https://api.github.com/repos/bencikpeter/HTWG_shark_cage/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/bencikpeter/HTWG_shark_cage/downloads","issues_url":"https://api.github.com/repos/bencikpeter/HTWG_shark_cage/issues{/number}","pulls_url":"https://api.github.com/repos/bencikpeter/HTWG_shark_cage/pulls{/number}","milestones_url":"https://api.github.com/repos/bencikpeter/HTWG_shark_cage/milestones{/number}","notifications_url":"https://api.github.com/repos/bencikpeter/HTWG_shark_cage/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/bencikpeter/HTWG_shark_cage/labels{/name}","releases_url":"https://api.github.com/repos/bencikpeter/HTWG_shark_cage/releases{/id}","deployments_url":"https://api.github.com/repos/bencikpeter/HTWG_shark_cage/deployments","created_at":"2016-10-12T07:59:03Z","updated_at":"2016-12-08T09:32:27Z","pushed_at":"2018-06-27T11:25:24Z","git_url":"git://github.com/bencikpeter/HTWG_shark_cage.git","ssh_url":"git@github.com:bencikpeter/HTWG_shark_cage.git","clone_url":"https://github.com/bencikpeter/HTWG_shark_cage.git","svn_url":"https://github.com/bencikpeter/HTWG_shark_cage","homepage":null,"size":111733,"stargazers_count":0,"watchers_count":0,"language":"HTML","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":2,"mirror_url":null,"archived":false,"open_issues_count":0,"license":null,"forks":2,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"SharkCagey:token_maipulation","ref":"token_maipulation","sha":"d30082c7d409921144c2cf1e79841f225385dfe5","user":{"login":"SharkCagey","id":38069798,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM4MDY5Nzk4","avatar_url":"https://avatars3.githubusercontent.com/u/38069798?v=4","gravatar_id":"","url":"https://api.github.com/users/SharkCagey","html_url":"https://github.com/SharkCagey","followers_url":"https://api.github.com/users/SharkCagey/followers","following_url":"https://api.github.com/users/SharkCagey/following{/other_user}","gists_url":"https://api.github.com/users/SharkCagey/gists{/gist_id}","starred_url":"https://api.github.com/users/SharkCagey/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SharkCagey/subscriptions","organizations_url":"https://api.github.com/users/SharkCagey/orgs","repos_url":"https://api.github.com/users/SharkCagey/repos","events_url":"https://api.github.com/users/SharkCagey/events{/privacy}","received_events_url":"https://api.github.com/users/SharkCagey/received_events","type":"Organization","site_admin":false},"repo":{"id":128043253,"node_id":"MDEwOlJlcG9zaXRvcnkxMjgwNDMyNTM=","name":"HTWG_shark_cage","full_name":"SharkCagey/HTWG_shark_cage","owner":{"login":"SharkCagey","id":38069798,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM4MDY5Nzk4","avatar_url":"https://avatars3.githubusercontent.com/u/38069798?v=4","gravatar_id":"","url":"https://api.github.com/users/SharkCagey","html_url":"https://github.com/SharkCagey","followers_url":"https://api.github.com/users/SharkCagey/followers","following_url":"https://api.github.com/users/SharkCagey/following{/other_user}","gists_url":"https://api.github.com/users/SharkCagey/gists{/gist_id}","starred_url":"https://api.github.com/users/SharkCagey/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SharkCagey/subscriptions","organizations_url":"https://api.github.com/users/SharkCagey/orgs","repos_url":"https://api.github.com/users/SharkCagey/repos","events_url":"https://api.github.com/users/SharkCagey/events{/privacy}","received_events_url":"https://api.github.com/users/SharkCagey/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/SharkCagey/HTWG_shark_cage","description":null,"fork":true,"url":"https://api.github.com/repos/SharkCagey/HTWG_shark_cage","forks_url":"https://api.github.com/repos/SharkCagey/HTWG_shark_cage/forks","keys_url":"https://api.github.com/repos/SharkCagey/HTWG_shark_cage/keys{/key_id}","collaborators_url":"https://api.github.com/repos/SharkCagey/HTWG_shark_cage/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/SharkCagey/HTWG_shark_cage/teams","hooks_url":"https://api.github.com/repos/SharkCagey/HTWG_shark_cage/hooks","issue_events_url":"https://api.github.com/repos/SharkCagey/HTWG_shark_cage/issues/events{/number}","events_url":"https://api.github.com/repos/SharkCagey/HTWG_shark_cage/events","assignees_url":"https://api.github.com/repos/SharkCagey/HTWG_shark_cage/assignees{/user}","branches_url":"https://api.github.com/repos/SharkCagey/HTWG_shark_cage/branches{/branch}","tags_url":"https://api.github.com/repos/SharkCagey/HTWG_shark_cage/tags","blobs_url":"https://api.github.com/repos/SharkCagey/HTWG_shark_cage/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/SharkCagey/HTWG_shark_cage/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/SharkCagey/HTWG_shark_cage/git/refs{/sha}","trees_url":"https://api.github.com/repos/SharkCagey/HTWG_shark_cage/git/trees{/sha}","statuses_url":"https://api.github.com/repos/SharkCagey/HTWG_shark_cage/statuses/{sha}","languages_url":"https://api.github.com/repos/SharkCagey/HTWG_shark_cage/languages","stargazers_url":"https://api.github.com/repos/SharkCagey/HTWG_shark_cage/stargazers","contributors_url":"https://api.github.com/repos/SharkCagey/HTWG_shark_cage/contributors","subscribers_url":"https://api.github.com/repos/SharkCagey/HTWG_shark_cage/subscribers","subscription_url":"https://api.github.com/repos/SharkCagey/HTWG_shark_cage/subscription","commits_url":"https://api.github.com/repos/SharkCagey/HTWG_shark_cage/commits{/sha}","git_commits_url":"https://api.github.com/repos/SharkCagey/HTWG_shark_cage/git/commits{/sha}","comments_url":"https://api.github.com/repos/SharkCagey/HTWG_shark_cage/comments{/number}","issue_comment_url":"https://api.github.com/repos/SharkCagey/HTWG_shark_cage/issues/comments{/number}","contents_url":"https://api.github.com/repos/SharkCagey/HTWG_shark_cage/contents/{+path}","compare_url":"https://api.github.com/repos/SharkCagey/HTWG_shark_cage/compare/{base}...{head}","merges_url":"https://api.github.com/repos/SharkCagey/HTWG_shark_cage/merges","archive_url":"https://api.github.com/repos/SharkCagey/HTWG_shark_cage/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/SharkCagey/HTWG_shark_cage/downloads","issues_url":"https://api.github.com/repos/SharkCagey/HTWG_shark_cage/issues{/number}","pulls_url":"https://api.github.com/repos/SharkCagey/HTWG_shark_cage/pulls{/number}","milestones_url":"https://api.github.com/repos/SharkCagey/HTWG_shark_cage/milestones{/number}","notifications_url":"https://api.github.com/repos/SharkCagey/HTWG_shark_cage/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/SharkCagey/HTWG_shark_cage/labels{/name}","releases_url":"https://api.github.com/repos/SharkCagey/HTWG_shark_cage/releases{/id}","deployments_url":"https://api.github.com/repos/SharkCagey/HTWG_shark_cage/deployments","created_at":"2018-04-04T09:57:12Z","updated_at":"2018-04-14T18:39:09Z","pushed_at":"2018-06-27T11:31:21Z","git_url":"git://github.com/SharkCagey/HTWG_shark_cage.git","ssh_url":"git@github.com:SharkCagey/HTWG_shark_cage.git","clone_url":"https://github.com/SharkCagey/HTWG_shark_cage.git","svn_url":"https://github.com/SharkCagey/HTWG_shark_cage","homepage":null,"size":113504,"stargazers_count":0,"watchers_count":0,"language":"HTML","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":18,"license":null,"forks":0,"open_issues":18,"watchers":0,"default_branch":"develop"}},"_links":{"self":{"href":"https://api.github.com/repos/SharkCagey/HTWG_shark_cage/pulls/56"},"html":{"href":"https://github.com/SharkCagey/HTWG_shark_cage/pull/56"},"issue":{"href":"https://api.github.com/repos/SharkCagey/HTWG_shark_cage/issues/56"},"comments":{"href":"https://api.github.com/repos/SharkCagey/HTWG_shark_cage/issues/56/comments"},"review_comments":{"href":"https://api.github.com/repos/SharkCagey/HTWG_shark_cage/pulls/56/comments"},"review_comment":{"href":"https://api.github.com/repos/SharkCagey/HTWG_shark_cage/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/SharkCagey/HTWG_shark_cage/pulls/56/commits"},"statuses":{"href":"https://api.github.com/repos/SharkCagey/HTWG_shark_cage/statuses/c6917d39778ab45b6ad07875807abb6da799d61d"}},"author_association":"NONE"}}
{"actor":{"display_login":"DonatJR"}}