{"action":"created","comment":{"url":"https://api.github.com/repos/the-tcpdump-group/tcpdump/pulls/comments/69390065","id":69390065,"diff_hunk":"@@ -0,0 +1,164 @@\n+/*\t$OpenBSD: print-gue.c\t*/\n+\n+/*\n+ * Copyright (c) 2016 Google\n+ * Author: Wilmer van der Gaast (wilmer@google.com)\n+ * All rights reserved.\n+ *\n+ * Redistribution and use in source and binary forms, with or without\n+ * modification, are permitted provided that the following conditions\n+ * are met:\n+ * 1. Redistributions of source code must retain the above copyright\n+ *    notice, this list of conditions and the following disclaimer.\n+ * 2. Redistributions in binary form must reproduce the above copyright\n+ *    notice, this list of conditions and the following disclaimer in the\n+ *    documentation and/or other materials provided with the distribution.\n+ * 3. All advertising materials mentioning features or use of this software\n+ *    must display the following acknowledgement:\n+ *\tThis product includes software developed by Jason L. Wright\n+ * 4. The name of the author may not be used to endorse or promote products\n+ *    derived from this software without specific prior written permission.\n+ *\n+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR\n+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n+ * DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,\n+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\n+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\n+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,\n+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN\n+ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\n+ * POSSIBILITY OF SUCH DAMAGE.\n+ */\n+\n+/*\n+ * netdissect printer for GUE - Generic UDP Encapsulation\n+ * Currently described in:\n+ * https://tools.ietf.org/html/draft-ietf-nvo3-gue-02#section-2.2","path":"print-gue.c","position":38,"original_position":38,"commit_id":"260988993c7f0e6bd8e3e9e43ee4bf9ab57b22bb","original_commit_id":"aa99b21fccf028d04b9411589e57545978d7dd1c","user":{"login":"infrastation","id":900115,"avatar_url":"https://avatars.githubusercontent.com/u/900115?v=3","gravatar_id":"","url":"https://api.github.com/users/infrastation","html_url":"https://github.com/infrastation","followers_url":"https://api.github.com/users/infrastation/followers","following_url":"https://api.github.com/users/infrastation/following{/other_user}","gists_url":"https://api.github.com/users/infrastation/gists{/gist_id}","starred_url":"https://api.github.com/users/infrastation/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/infrastation/subscriptions","organizations_url":"https://api.github.com/users/infrastation/orgs","repos_url":"https://api.github.com/users/infrastation/repos","events_url":"https://api.github.com/users/infrastation/events{/privacy}","received_events_url":"https://api.github.com/users/infrastation/received_events","type":"User","site_admin":false},"body":"Revision 03 of the Internet-Draft has been published.","created_at":"2016-07-03T11:48:29Z","updated_at":"2016-07-03T11:48:29Z","html_url":"https://github.com/the-tcpdump-group/tcpdump/pull/510#discussion_r69390065","pull_request_url":"https://api.github.com/repos/the-tcpdump-group/tcpdump/pulls/510","_links":{"self":{"href":"https://api.github.com/repos/the-tcpdump-group/tcpdump/pulls/comments/69390065"},"html":{"href":"https://github.com/the-tcpdump-group/tcpdump/pull/510#discussion_r69390065"},"pull_request":{"href":"https://api.github.com/repos/the-tcpdump-group/tcpdump/pulls/510"}}},"pull_request":{"url":"https://api.github.com/repos/the-tcpdump-group/tcpdump/pulls/510","id":63410626,"html_url":"https://github.com/the-tcpdump-group/tcpdump/pull/510","diff_url":"https://github.com/the-tcpdump-group/tcpdump/pull/510.diff","patch_url":"https://github.com/the-tcpdump-group/tcpdump/pull/510.patch","issue_url":"https://api.github.com/repos/the-tcpdump-group/tcpdump/issues/510","number":510,"state":"open","locked":false,"title":"GUE dissection support","user":{"login":"Wilm0r","id":6828117,"avatar_url":"https://avatars.githubusercontent.com/u/6828117?v=3","gravatar_id":"","url":"https://api.github.com/users/Wilm0r","html_url":"https://github.com/Wilm0r","followers_url":"https://api.github.com/users/Wilm0r/followers","following_url":"https://api.github.com/users/Wilm0r/following{/other_user}","gists_url":"https://api.github.com/users/Wilm0r/gists{/gist_id}","starred_url":"https://api.github.com/users/Wilm0r/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Wilm0r/subscriptions","organizations_url":"https://api.github.com/users/Wilm0r/orgs","repos_url":"https://api.github.com/users/Wilm0r/repos","events_url":"https://api.github.com/users/Wilm0r/events{/privacy}","received_events_url":"https://api.github.com/users/Wilm0r/received_events","type":"User","site_admin":false},"body":"Hello,\r\n\r\nHere's a patch adding support for GUE (Generic UDP Encapsulation) to tcpdump. The spec can be found at: https://tools.ietf.org/html/draft-ietf-nvo3-gue-02 (header format in 2.2).\r\n\r\nThis is fairly basic but will show dissection of inner IPv4/IPv6 packets assuming GUE is indeed configured on the officially allocated port 6080. Sadly this is not going to be a firm standard (for example one may want to use a privileged <1024 port instead for security reasons), so I wonder whether, for example, using getservbyname() instead of hardcoded port numbers would be acceptable? There's no prior art for this in your code yet from what I can tell which is why I haven't done this yet.\r\n\r\nKind regards,\r\n\r\nWilmer van der Gaast.","created_at":"2016-03-18T17:38:45Z","updated_at":"2016-07-03T11:48:30Z","closed_at":null,"merged_at":null,"merge_commit_sha":"c77b7a60d0217a2f700076ea36018adce39099ce","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/the-tcpdump-group/tcpdump/pulls/510/commits","review_comments_url":"https://api.github.com/repos/the-tcpdump-group/tcpdump/pulls/510/comments","review_comment_url":"https://api.github.com/repos/the-tcpdump-group/tcpdump/pulls/comments{/number}","comments_url":"https://api.github.com/repos/the-tcpdump-group/tcpdump/issues/510/comments","statuses_url":"https://api.github.com/repos/the-tcpdump-group/tcpdump/statuses/260988993c7f0e6bd8e3e9e43ee4bf9ab57b22bb","head":{"label":"Wilm0r:master","ref":"master","sha":"260988993c7f0e6bd8e3e9e43ee4bf9ab57b22bb","user":{"login":"Wilm0r","id":6828117,"avatar_url":"https://avatars.githubusercontent.com/u/6828117?v=3","gravatar_id":"","url":"https://api.github.com/users/Wilm0r","html_url":"https://github.com/Wilm0r","followers_url":"https://api.github.com/users/Wilm0r/followers","following_url":"https://api.github.com/users/Wilm0r/following{/other_user}","gists_url":"https://api.github.com/users/Wilm0r/gists{/gist_id}","starred_url":"https://api.github.com/users/Wilm0r/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Wilm0r/subscriptions","organizations_url":"https://api.github.com/users/Wilm0r/orgs","repos_url":"https://api.github.com/users/Wilm0r/repos","events_url":"https://api.github.com/users/Wilm0r/events{/privacy}","received_events_url":"https://api.github.com/users/Wilm0r/received_events","type":"User","site_admin":false},"repo":{"id":53147602,"name":"tcpdump","full_name":"Wilm0r/tcpdump","owner":{"login":"Wilm0r","id":6828117,"avatar_url":"https://avatars.githubusercontent.com/u/6828117?v=3","gravatar_id":"","url":"https://api.github.com/users/Wilm0r","html_url":"https://github.com/Wilm0r","followers_url":"https://api.github.com/users/Wilm0r/followers","following_url":"https://api.github.com/users/Wilm0r/following{/other_user}","gists_url":"https://api.github.com/users/Wilm0r/gists{/gist_id}","starred_url":"https://api.github.com/users/Wilm0r/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Wilm0r/subscriptions","organizations_url":"https://api.github.com/users/Wilm0r/orgs","repos_url":"https://api.github.com/users/Wilm0r/repos","events_url":"https://api.github.com/users/Wilm0r/events{/privacy}","received_events_url":"https://api.github.com/users/Wilm0r/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/Wilm0r/tcpdump","description":"Adding GUE support to tcpdump","fork":true,"url":"https://api.github.com/repos/Wilm0r/tcpdump","forks_url":"https://api.github.com/repos/Wilm0r/tcpdump/forks","keys_url":"https://api.github.com/repos/Wilm0r/tcpdump/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Wilm0r/tcpdump/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Wilm0r/tcpdump/teams","hooks_url":"https://api.github.com/repos/Wilm0r/tcpdump/hooks","issue_events_url":"https://api.github.com/repos/Wilm0r/tcpdump/issues/events{/number}","events_url":"https://api.github.com/repos/Wilm0r/tcpdump/events","assignees_url":"https://api.github.com/repos/Wilm0r/tcpdump/assignees{/user}","branches_url":"https://api.github.com/repos/Wilm0r/tcpdump/branches{/branch}","tags_url":"https://api.github.com/repos/Wilm0r/tcpdump/tags","blobs_url":"https://api.github.com/repos/Wilm0r/tcpdump/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Wilm0r/tcpdump/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Wilm0r/tcpdump/git/refs{/sha}","trees_url":"https://api.github.com/repos/Wilm0r/tcpdump/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Wilm0r/tcpdump/statuses/{sha}","languages_url":"https://api.github.com/repos/Wilm0r/tcpdump/languages","stargazers_url":"https://api.github.com/repos/Wilm0r/tcpdump/stargazers","contributors_url":"https://api.github.com/repos/Wilm0r/tcpdump/contributors","subscribers_url":"https://api.github.com/repos/Wilm0r/tcpdump/subscribers","subscription_url":"https://api.github.com/repos/Wilm0r/tcpdump/subscription","commits_url":"https://api.github.com/repos/Wilm0r/tcpdump/commits{/sha}","git_commits_url":"https://api.github.com/repos/Wilm0r/tcpdump/git/commits{/sha}","comments_url":"https://api.github.com/repos/Wilm0r/tcpdump/comments{/number}","issue_comment_url":"https://api.github.com/repos/Wilm0r/tcpdump/issues/comments{/number}","contents_url":"https://api.github.com/repos/Wilm0r/tcpdump/contents/{+path}","compare_url":"https://api.github.com/repos/Wilm0r/tcpdump/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Wilm0r/tcpdump/merges","archive_url":"https://api.github.com/repos/Wilm0r/tcpdump/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Wilm0r/tcpdump/downloads","issues_url":"https://api.github.com/repos/Wilm0r/tcpdump/issues{/number}","pulls_url":"https://api.github.com/repos/Wilm0r/tcpdump/pulls{/number}","milestones_url":"https://api.github.com/repos/Wilm0r/tcpdump/milestones{/number}","notifications_url":"https://api.github.com/repos/Wilm0r/tcpdump/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Wilm0r/tcpdump/labels{/name}","releases_url":"https://api.github.com/repos/Wilm0r/tcpdump/releases{/id}","deployments_url":"https://api.github.com/repos/Wilm0r/tcpdump/deployments","created_at":"2016-03-04T16:06:30Z","updated_at":"2016-06-18T11:03:20Z","pushed_at":"2016-06-29T12:40:45Z","git_url":"git://github.com/Wilm0r/tcpdump.git","ssh_url":"git@github.com:Wilm0r/tcpdump.git","clone_url":"https://github.com/Wilm0r/tcpdump.git","svn_url":"https://github.com/Wilm0r/tcpdump","homepage":"https://datatracker.ietf.org/doc/draft-ietf-nvo3-gue/","size":17830,"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":"the-tcpdump-group:master","ref":"master","sha":"0e34f5d742dbced0374217501ed9db1a79034b35","user":{"login":"the-tcpdump-group","id":4154908,"avatar_url":"https://avatars.githubusercontent.com/u/4154908?v=3","gravatar_id":"","url":"https://api.github.com/users/the-tcpdump-group","html_url":"https://github.com/the-tcpdump-group","followers_url":"https://api.github.com/users/the-tcpdump-group/followers","following_url":"https://api.github.com/users/the-tcpdump-group/following{/other_user}","gists_url":"https://api.github.com/users/the-tcpdump-group/gists{/gist_id}","starred_url":"https://api.github.com/users/the-tcpdump-group/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/the-tcpdump-group/subscriptions","organizations_url":"https://api.github.com/users/the-tcpdump-group/orgs","repos_url":"https://api.github.com/users/the-tcpdump-group/repos","events_url":"https://api.github.com/users/the-tcpdump-group/events{/privacy}","received_events_url":"https://api.github.com/users/the-tcpdump-group/received_events","type":"Organization","site_admin":false},"repo":{"id":9435882,"name":"tcpdump","full_name":"the-tcpdump-group/tcpdump","owner":{"login":"the-tcpdump-group","id":4154908,"avatar_url":"https://avatars.githubusercontent.com/u/4154908?v=3","gravatar_id":"","url":"https://api.github.com/users/the-tcpdump-group","html_url":"https://github.com/the-tcpdump-group","followers_url":"https://api.github.com/users/the-tcpdump-group/followers","following_url":"https://api.github.com/users/the-tcpdump-group/following{/other_user}","gists_url":"https://api.github.com/users/the-tcpdump-group/gists{/gist_id}","starred_url":"https://api.github.com/users/the-tcpdump-group/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/the-tcpdump-group/subscriptions","organizations_url":"https://api.github.com/users/the-tcpdump-group/orgs","repos_url":"https://api.github.com/users/the-tcpdump-group/repos","events_url":"https://api.github.com/users/the-tcpdump-group/events{/privacy}","received_events_url":"https://api.github.com/users/the-tcpdump-group/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/the-tcpdump-group/tcpdump","description":"the TCPdump network dissector","fork":false,"url":"https://api.github.com/repos/the-tcpdump-group/tcpdump","forks_url":"https://api.github.com/repos/the-tcpdump-group/tcpdump/forks","keys_url":"https://api.github.com/repos/the-tcpdump-group/tcpdump/keys{/key_id}","collaborators_url":"https://api.github.com/repos/the-tcpdump-group/tcpdump/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/the-tcpdump-group/tcpdump/teams","hooks_url":"https://api.github.com/repos/the-tcpdump-group/tcpdump/hooks","issue_events_url":"https://api.github.com/repos/the-tcpdump-group/tcpdump/issues/events{/number}","events_url":"https://api.github.com/repos/the-tcpdump-group/tcpdump/events","assignees_url":"https://api.github.com/repos/the-tcpdump-group/tcpdump/assignees{/user}","branches_url":"https://api.github.com/repos/the-tcpdump-group/tcpdump/branches{/branch}","tags_url":"https://api.github.com/repos/the-tcpdump-group/tcpdump/tags","blobs_url":"https://api.github.com/repos/the-tcpdump-group/tcpdump/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/the-tcpdump-group/tcpdump/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/the-tcpdump-group/tcpdump/git/refs{/sha}","trees_url":"https://api.github.com/repos/the-tcpdump-group/tcpdump/git/trees{/sha}","statuses_url":"https://api.github.com/repos/the-tcpdump-group/tcpdump/statuses/{sha}","languages_url":"https://api.github.com/repos/the-tcpdump-group/tcpdump/languages","stargazers_url":"https://api.github.com/repos/the-tcpdump-group/tcpdump/stargazers","contributors_url":"https://api.github.com/repos/the-tcpdump-group/tcpdump/contributors","subscribers_url":"https://api.github.com/repos/the-tcpdump-group/tcpdump/subscribers","subscription_url":"https://api.github.com/repos/the-tcpdump-group/tcpdump/subscription","commits_url":"https://api.github.com/repos/the-tcpdump-group/tcpdump/commits{/sha}","git_commits_url":"https://api.github.com/repos/the-tcpdump-group/tcpdump/git/commits{/sha}","comments_url":"https://api.github.com/repos/the-tcpdump-group/tcpdump/comments{/number}","issue_comment_url":"https://api.github.com/repos/the-tcpdump-group/tcpdump/issues/comments{/number}","contents_url":"https://api.github.com/repos/the-tcpdump-group/tcpdump/contents/{+path}","compare_url":"https://api.github.com/repos/the-tcpdump-group/tcpdump/compare/{base}...{head}","merges_url":"https://api.github.com/repos/the-tcpdump-group/tcpdump/merges","archive_url":"https://api.github.com/repos/the-tcpdump-group/tcpdump/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/the-tcpdump-group/tcpdump/downloads","issues_url":"https://api.github.com/repos/the-tcpdump-group/tcpdump/issues{/number}","pulls_url":"https://api.github.com/repos/the-tcpdump-group/tcpdump/pulls{/number}","milestones_url":"https://api.github.com/repos/the-tcpdump-group/tcpdump/milestones{/number}","notifications_url":"https://api.github.com/repos/the-tcpdump-group/tcpdump/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/the-tcpdump-group/tcpdump/labels{/name}","releases_url":"https://api.github.com/repos/the-tcpdump-group/tcpdump/releases{/id}","deployments_url":"https://api.github.com/repos/the-tcpdump-group/tcpdump/deployments","created_at":"2013-04-14T21:46:15Z","updated_at":"2016-07-01T05:53:38Z","pushed_at":"2016-07-02T09:30:57Z","git_url":"git://github.com/the-tcpdump-group/tcpdump.git","ssh_url":"git@github.com:the-tcpdump-group/tcpdump.git","clone_url":"https://github.com/the-tcpdump-group/tcpdump.git","svn_url":"https://github.com/the-tcpdump-group/tcpdump","homepage":"http://www.tcpdump.org/","size":21500,"stargazers_count":351,"watchers_count":351,"language":"C","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":244,"mirror_url":null,"open_issues_count":55,"forks":244,"open_issues":55,"watchers":351,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/the-tcpdump-group/tcpdump/pulls/510"},"html":{"href":"https://github.com/the-tcpdump-group/tcpdump/pull/510"},"issue":{"href":"https://api.github.com/repos/the-tcpdump-group/tcpdump/issues/510"},"comments":{"href":"https://api.github.com/repos/the-tcpdump-group/tcpdump/issues/510/comments"},"review_comments":{"href":"https://api.github.com/repos/the-tcpdump-group/tcpdump/pulls/510/comments"},"review_comment":{"href":"https://api.github.com/repos/the-tcpdump-group/tcpdump/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/the-tcpdump-group/tcpdump/pulls/510/commits"},"statuses":{"href":"https://api.github.com/repos/the-tcpdump-group/tcpdump/statuses/260988993c7f0e6bd8e3e9e43ee4bf9ab57b22bb"}}}}
{"actor":{"display_login":"infrastation"}}