{"action":"created","comment":{"url":"https://api.github.com/repos/lathiat/avahi/pulls/comments/112928868","pull_request_review_id":34278206,"id":112928868,"diff_hunk":"@@ -96,7 +96,37 @@\n       </option>\n \n       <option>\n-        <p><opt>&lt;txt-record&gt;</opt> DNS-SD TXT record data.</p>\n+        <p><opt>&lt;name replace-wildcards=\"yes|no\"&gt;</opt> The\n+        service name. If <opt>replace-wildcards</opt> is \"yes\", any\n+        occurence of the string \"%h\" will be replaced by the local\n+        host name. This can be used for service names like \"Remote\n+        Terminal on %h\". If <opt>replace-wildcards</opt> is not\n+        specified, defaults to \"no\".</p>\n+      </option>\n+\n+      <option>\n+        <p><opt>&lt;txt-record\n+        value-format=\"text|binary-hex|binary-base64\"&gt;</opt> DNS-SD\n+        TXT record data. If <opt>value-format</opt> is \"text\", the\n+        value of the TXT record is taken verbatim. If\n+        <opt>value-format</opt> is \"binary-hex\" then the value of TXT\n+        record is decoded by taking pairs of characters after the \"=\"\n+        char and interpreting them as the textual representation of\n+        the two-digit hexadecimal number. Both uppercase and lowercase\n+        hexadecimal digits are allowed. The 0x or 0X prefix is not\n+        allowed. This requires the length of the value to be even. If\n+        <opt>value-format</opt> is \"binary-base64\" then the value of\n+        TXT record is decoded with base64 decoder. The character set\n+        used is A-Za-z0-9+/. This requires the length of the value to\n+        be a multiple of 4, with \"=\" as a padding. If","path":"man/avahi.service.5.xml.in","position":27,"original_position":27,"commit_id":"67f800a057a8b49cb1be8fa3c4dd10e974426c84","original_commit_id":"67f800a057a8b49cb1be8fa3c4dd10e974426c84","user":{"login":"krnowak","id":96081,"avatar_url":"https://avatars0.githubusercontent.com/u/96081?v=3","gravatar_id":"","url":"https://api.github.com/users/krnowak","html_url":"https://github.com/krnowak","followers_url":"https://api.github.com/users/krnowak/followers","following_url":"https://api.github.com/users/krnowak/following{/other_user}","gists_url":"https://api.github.com/users/krnowak/gists{/gist_id}","starred_url":"https://api.github.com/users/krnowak/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/krnowak/subscriptions","organizations_url":"https://api.github.com/users/krnowak/orgs","repos_url":"https://api.github.com/users/krnowak/repos","events_url":"https://api.github.com/users/krnowak/events{/privacy}","received_events_url":"https://api.github.com/users/krnowak/received_events","type":"User","site_admin":false},"body":"No article before \"padding\"? ;)","created_at":"2017-04-24T12:10:15Z","updated_at":"2017-04-24T12:10:15Z","html_url":"https://github.com/lathiat/avahi/pull/116#discussion_r112928868","pull_request_url":"https://api.github.com/repos/lathiat/avahi/pulls/116","_links":{"self":{"href":"https://api.github.com/repos/lathiat/avahi/pulls/comments/112928868"},"html":{"href":"https://github.com/lathiat/avahi/pull/116#discussion_r112928868"},"pull_request":{"href":"https://api.github.com/repos/lathiat/avahi/pulls/116"}}},"pull_request":{"url":"https://api.github.com/repos/lathiat/avahi/pulls/116","id":117029183,"html_url":"https://github.com/lathiat/avahi/pull/116","diff_url":"https://github.com/lathiat/avahi/pull/116.diff","patch_url":"https://github.com/lathiat/avahi/pull/116.patch","issue_url":"https://api.github.com/repos/lathiat/avahi/issues/116","number":116,"state":"open","locked":false,"title":"Add support for binary values in TXT records in service files","user":{"login":"krnowak","id":96081,"avatar_url":"https://avatars0.githubusercontent.com/u/96081?v=3","gravatar_id":"","url":"https://api.github.com/users/krnowak","html_url":"https://github.com/krnowak","followers_url":"https://api.github.com/users/krnowak/followers","following_url":"https://api.github.com/users/krnowak/following{/other_user}","gists_url":"https://api.github.com/users/krnowak/gists{/gist_id}","starred_url":"https://api.github.com/users/krnowak/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/krnowak/subscriptions","organizations_url":"https://api.github.com/users/krnowak/orgs","repos_url":"https://api.github.com/users/krnowak/repos","events_url":"https://api.github.com/users/krnowak/events{/privacy}","received_events_url":"https://api.github.com/users/krnowak/received_events","type":"User","site_admin":false},"body":"This adds an attribute to the txt-record tag that describes the format\r\nof the value part in the key=value part. For backwards-compatibility\r\nit defaults to text if not specified. Other options include decoding\r\nthe value from hex encoding or from base64 encoding. That way we can\r\nspecify binary data in an XML file, that normally does not allow\r\narbitrary bytes in its contents.\r\n\r\nThese encodings result in larger data than the resulting binary data,\r\nbut that should not be a problem - TXT records ought to be small\r\nanyway.\r\n\r\nWe need that for https://github.com/ostreedev/ostree/pull/782 where we want to send a small bloom filter as the txt record. Encoding that with base64 unnecessarily shortens the filter by 25%.\r\n\r\nThis is the alternative proposal to https://github.com/lathiat/avahi/pull/84 - the differences are:\r\n- we don't introduce new element for binary records, but instead add an optional attribute to the txt-record element\r\n- we don't use sscanf for reading the hex values - it will happily take \"3g\" and return the value 3 without saying that \"g\" was skipped\r\n- we also add support for base64 encoding","created_at":"2017-04-21T17:10:03Z","updated_at":"2017-04-24T12:10:15Z","closed_at":null,"merged_at":null,"merge_commit_sha":"92783f2a4a022322d8e3025529a5d149214d8fa2","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/lathiat/avahi/pulls/116/commits","review_comments_url":"https://api.github.com/repos/lathiat/avahi/pulls/116/comments","review_comment_url":"https://api.github.com/repos/lathiat/avahi/pulls/comments{/number}","comments_url":"https://api.github.com/repos/lathiat/avahi/issues/116/comments","statuses_url":"https://api.github.com/repos/lathiat/avahi/statuses/67f800a057a8b49cb1be8fa3c4dd10e974426c84","head":{"label":"kinvolk:krnowak/binary-txt-records","ref":"krnowak/binary-txt-records","sha":"67f800a057a8b49cb1be8fa3c4dd10e974426c84","user":{"login":"kinvolk","id":14073052,"avatar_url":"https://avatars3.githubusercontent.com/u/14073052?v=3","gravatar_id":"","url":"https://api.github.com/users/kinvolk","html_url":"https://github.com/kinvolk","followers_url":"https://api.github.com/users/kinvolk/followers","following_url":"https://api.github.com/users/kinvolk/following{/other_user}","gists_url":"https://api.github.com/users/kinvolk/gists{/gist_id}","starred_url":"https://api.github.com/users/kinvolk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kinvolk/subscriptions","organizations_url":"https://api.github.com/users/kinvolk/orgs","repos_url":"https://api.github.com/users/kinvolk/repos","events_url":"https://api.github.com/users/kinvolk/events{/privacy}","received_events_url":"https://api.github.com/users/kinvolk/received_events","type":"Organization","site_admin":false},"repo":{"id":56674146,"name":"avahi","full_name":"kinvolk/avahi","owner":{"login":"kinvolk","id":14073052,"avatar_url":"https://avatars3.githubusercontent.com/u/14073052?v=3","gravatar_id":"","url":"https://api.github.com/users/kinvolk","html_url":"https://github.com/kinvolk","followers_url":"https://api.github.com/users/kinvolk/followers","following_url":"https://api.github.com/users/kinvolk/following{/other_user}","gists_url":"https://api.github.com/users/kinvolk/gists{/gist_id}","starred_url":"https://api.github.com/users/kinvolk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kinvolk/subscriptions","organizations_url":"https://api.github.com/users/kinvolk/orgs","repos_url":"https://api.github.com/users/kinvolk/repos","events_url":"https://api.github.com/users/kinvolk/events{/privacy}","received_events_url":"https://api.github.com/users/kinvolk/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/kinvolk/avahi","description":"Avahi - Service Discovery for Linux using mDNS/DNS-SD -- compatible with Bonjour","fork":true,"url":"https://api.github.com/repos/kinvolk/avahi","forks_url":"https://api.github.com/repos/kinvolk/avahi/forks","keys_url":"https://api.github.com/repos/kinvolk/avahi/keys{/key_id}","collaborators_url":"https://api.github.com/repos/kinvolk/avahi/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/kinvolk/avahi/teams","hooks_url":"https://api.github.com/repos/kinvolk/avahi/hooks","issue_events_url":"https://api.github.com/repos/kinvolk/avahi/issues/events{/number}","events_url":"https://api.github.com/repos/kinvolk/avahi/events","assignees_url":"https://api.github.com/repos/kinvolk/avahi/assignees{/user}","branches_url":"https://api.github.com/repos/kinvolk/avahi/branches{/branch}","tags_url":"https://api.github.com/repos/kinvolk/avahi/tags","blobs_url":"https://api.github.com/repos/kinvolk/avahi/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/kinvolk/avahi/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/kinvolk/avahi/git/refs{/sha}","trees_url":"https://api.github.com/repos/kinvolk/avahi/git/trees{/sha}","statuses_url":"https://api.github.com/repos/kinvolk/avahi/statuses/{sha}","languages_url":"https://api.github.com/repos/kinvolk/avahi/languages","stargazers_url":"https://api.github.com/repos/kinvolk/avahi/stargazers","contributors_url":"https://api.github.com/repos/kinvolk/avahi/contributors","subscribers_url":"https://api.github.com/repos/kinvolk/avahi/subscribers","subscription_url":"https://api.github.com/repos/kinvolk/avahi/subscription","commits_url":"https://api.github.com/repos/kinvolk/avahi/commits{/sha}","git_commits_url":"https://api.github.com/repos/kinvolk/avahi/git/commits{/sha}","comments_url":"https://api.github.com/repos/kinvolk/avahi/comments{/number}","issue_comment_url":"https://api.github.com/repos/kinvolk/avahi/issues/comments{/number}","contents_url":"https://api.github.com/repos/kinvolk/avahi/contents/{+path}","compare_url":"https://api.github.com/repos/kinvolk/avahi/compare/{base}...{head}","merges_url":"https://api.github.com/repos/kinvolk/avahi/merges","archive_url":"https://api.github.com/repos/kinvolk/avahi/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/kinvolk/avahi/downloads","issues_url":"https://api.github.com/repos/kinvolk/avahi/issues{/number}","pulls_url":"https://api.github.com/repos/kinvolk/avahi/pulls{/number}","milestones_url":"https://api.github.com/repos/kinvolk/avahi/milestones{/number}","notifications_url":"https://api.github.com/repos/kinvolk/avahi/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/kinvolk/avahi/labels{/name}","releases_url":"https://api.github.com/repos/kinvolk/avahi/releases{/id}","deployments_url":"https://api.github.com/repos/kinvolk/avahi/deployments","created_at":"2016-04-20T09:30:45Z","updated_at":"2016-04-20T09:30:47Z","pushed_at":"2017-04-21T15:44:52Z","git_url":"git://github.com/kinvolk/avahi.git","ssh_url":"git@github.com:kinvolk/avahi.git","clone_url":"https://github.com/kinvolk/avahi.git","svn_url":"https://github.com/kinvolk/avahi","homepage":"http://www.avahi.org","size":3718,"stargazers_count":0,"watchers_count":0,"language":"C","has_issues":false,"has_projects":true,"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":"lathiat:master","ref":"master","sha":"8d07701abdf6ee15884d611421afd2d53eedb9af","user":{"login":"lathiat","id":290673,"avatar_url":"https://avatars0.githubusercontent.com/u/290673?v=3","gravatar_id":"","url":"https://api.github.com/users/lathiat","html_url":"https://github.com/lathiat","followers_url":"https://api.github.com/users/lathiat/followers","following_url":"https://api.github.com/users/lathiat/following{/other_user}","gists_url":"https://api.github.com/users/lathiat/gists{/gist_id}","starred_url":"https://api.github.com/users/lathiat/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lathiat/subscriptions","organizations_url":"https://api.github.com/users/lathiat/orgs","repos_url":"https://api.github.com/users/lathiat/repos","events_url":"https://api.github.com/users/lathiat/events{/privacy}","received_events_url":"https://api.github.com/users/lathiat/received_events","type":"User","site_admin":false},"repo":{"id":27156301,"name":"avahi","full_name":"lathiat/avahi","owner":{"login":"lathiat","id":290673,"avatar_url":"https://avatars0.githubusercontent.com/u/290673?v=3","gravatar_id":"","url":"https://api.github.com/users/lathiat","html_url":"https://github.com/lathiat","followers_url":"https://api.github.com/users/lathiat/followers","following_url":"https://api.github.com/users/lathiat/following{/other_user}","gists_url":"https://api.github.com/users/lathiat/gists{/gist_id}","starred_url":"https://api.github.com/users/lathiat/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lathiat/subscriptions","organizations_url":"https://api.github.com/users/lathiat/orgs","repos_url":"https://api.github.com/users/lathiat/repos","events_url":"https://api.github.com/users/lathiat/events{/privacy}","received_events_url":"https://api.github.com/users/lathiat/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/lathiat/avahi","description":"Avahi - Service Discovery for Linux using mDNS/DNS-SD -- compatible with Bonjour","fork":false,"url":"https://api.github.com/repos/lathiat/avahi","forks_url":"https://api.github.com/repos/lathiat/avahi/forks","keys_url":"https://api.github.com/repos/lathiat/avahi/keys{/key_id}","collaborators_url":"https://api.github.com/repos/lathiat/avahi/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/lathiat/avahi/teams","hooks_url":"https://api.github.com/repos/lathiat/avahi/hooks","issue_events_url":"https://api.github.com/repos/lathiat/avahi/issues/events{/number}","events_url":"https://api.github.com/repos/lathiat/avahi/events","assignees_url":"https://api.github.com/repos/lathiat/avahi/assignees{/user}","branches_url":"https://api.github.com/repos/lathiat/avahi/branches{/branch}","tags_url":"https://api.github.com/repos/lathiat/avahi/tags","blobs_url":"https://api.github.com/repos/lathiat/avahi/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/lathiat/avahi/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/lathiat/avahi/git/refs{/sha}","trees_url":"https://api.github.com/repos/lathiat/avahi/git/trees{/sha}","statuses_url":"https://api.github.com/repos/lathiat/avahi/statuses/{sha}","languages_url":"https://api.github.com/repos/lathiat/avahi/languages","stargazers_url":"https://api.github.com/repos/lathiat/avahi/stargazers","contributors_url":"https://api.github.com/repos/lathiat/avahi/contributors","subscribers_url":"https://api.github.com/repos/lathiat/avahi/subscribers","subscription_url":"https://api.github.com/repos/lathiat/avahi/subscription","commits_url":"https://api.github.com/repos/lathiat/avahi/commits{/sha}","git_commits_url":"https://api.github.com/repos/lathiat/avahi/git/commits{/sha}","comments_url":"https://api.github.com/repos/lathiat/avahi/comments{/number}","issue_comment_url":"https://api.github.com/repos/lathiat/avahi/issues/comments{/number}","contents_url":"https://api.github.com/repos/lathiat/avahi/contents/{+path}","compare_url":"https://api.github.com/repos/lathiat/avahi/compare/{base}...{head}","merges_url":"https://api.github.com/repos/lathiat/avahi/merges","archive_url":"https://api.github.com/repos/lathiat/avahi/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/lathiat/avahi/downloads","issues_url":"https://api.github.com/repos/lathiat/avahi/issues{/number}","pulls_url":"https://api.github.com/repos/lathiat/avahi/pulls{/number}","milestones_url":"https://api.github.com/repos/lathiat/avahi/milestones{/number}","notifications_url":"https://api.github.com/repos/lathiat/avahi/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/lathiat/avahi/labels{/name}","releases_url":"https://api.github.com/repos/lathiat/avahi/releases{/id}","deployments_url":"https://api.github.com/repos/lathiat/avahi/deployments","created_at":"2014-11-26T02:35:47Z","updated_at":"2017-04-21T15:21:25Z","pushed_at":"2017-04-21T17:10:04Z","git_url":"git://github.com/lathiat/avahi.git","ssh_url":"git@github.com:lathiat/avahi.git","clone_url":"https://github.com/lathiat/avahi.git","svn_url":"https://github.com/lathiat/avahi","homepage":"http://www.avahi.org","size":3714,"stargazers_count":196,"watchers_count":196,"language":"C","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":79,"mirror_url":null,"open_issues_count":86,"forks":79,"open_issues":86,"watchers":196,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/lathiat/avahi/pulls/116"},"html":{"href":"https://github.com/lathiat/avahi/pull/116"},"issue":{"href":"https://api.github.com/repos/lathiat/avahi/issues/116"},"comments":{"href":"https://api.github.com/repos/lathiat/avahi/issues/116/comments"},"review_comments":{"href":"https://api.github.com/repos/lathiat/avahi/pulls/116/comments"},"review_comment":{"href":"https://api.github.com/repos/lathiat/avahi/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/lathiat/avahi/pulls/116/commits"},"statuses":{"href":"https://api.github.com/repos/lathiat/avahi/statuses/67f800a057a8b49cb1be8fa3c4dd10e974426c84"}}}}
{"actor":{"display_login":"krnowak"}}