{"url":"https://api.github.com/repos/netty/netty/pulls/16873","id":3781828237,"node_id":"PR_kwDOABA-c87hah6N","html_url":"https://github.com/netty/netty/pull/16873","diff_url":"https://github.com/netty/netty/pull/16873.diff","patch_url":"https://github.com/netty/netty/pull/16873.patch","issue_url":"https://api.github.com/repos/netty/netty/issues/16873","commits_url":"https://api.github.com/repos/netty/netty/pulls/16873/commits","review_comments_url":"https://api.github.com/repos/netty/netty/pulls/16873/comments","review_comment_url":"https://api.github.com/repos/netty/netty/pulls/comments{/number}","comments_url":"https://api.github.com/repos/netty/netty/issues/16873/comments","statuses_url":"https://api.github.com/repos/netty/netty/statuses/d5bfaeb7f386cb48f11c653ab6306d5bd14fbe93","number":16873,"state":"closed","locked":false,"title":"DNS: Only cache CNAME if part of the queried domain","user":{"login":"normanmaurer","id":439362,"node_id":"MDQ6VXNlcjQzOTM2Mg==","avatar_url":"https://avatars.githubusercontent.com/u/439362?v=4","gravatar_id":"","url":"https://api.github.com/users/normanmaurer","html_url":"https://github.com/normanmaurer","followers_url":"https://api.github.com/users/normanmaurer/followers","following_url":"https://api.github.com/users/normanmaurer/following{/other_user}","gists_url":"https://api.github.com/users/normanmaurer/gists{/gist_id}","starred_url":"https://api.github.com/users/normanmaurer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/normanmaurer/subscriptions","organizations_url":"https://api.github.com/users/normanmaurer/orgs","repos_url":"https://api.github.com/users/normanmaurer/repos","events_url":"https://api.github.com/users/normanmaurer/events{/privacy}","received_events_url":"https://api.github.com/users/normanmaurer/received_events","type":"User","user_view_type":"public","site_admin":false},"body":"Motivation:\n\nWe should only cache the CNAME if it is part of the queried domain to ensure the name server is really authoritive for it and not provide us incorrect data.\n\nModifications:\n\n- Only cache if CNAME is part of the queried domain\n- Add unit test\n\nResult:\n\nNo more DNS Cache Poisoning (Bailiwick Bypass) possible\n","labels":[],"milestone":{"id":16017187,"node_id":"MI_kwDOABA-c84A9Gcj","url":"https://api.github.com/repos/netty/netty/milestones/341","html_url":"https://github.com/netty/netty/milestone/341","labels_url":"https://api.github.com/repos/netty/netty/milestones/341/labels","number":341,"state":"closed","title":"4.1.135.Final","description":"","creator":{"login":"chrisvest","id":7993,"node_id":"MDQ6VXNlcjc5OTM=","avatar_url":"https://avatars.githubusercontent.com/u/7993?v=4","gravatar_id":"","url":"https://api.github.com/users/chrisvest","html_url":"https://github.com/chrisvest","followers_url":"https://api.github.com/users/chrisvest/followers","following_url":"https://api.github.com/users/chrisvest/following{/other_user}","gists_url":"https://api.github.com/users/chrisvest/gists{/gist_id}","starred_url":"https://api.github.com/users/chrisvest/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chrisvest/subscriptions","organizations_url":"https://api.github.com/users/chrisvest/orgs","repos_url":"https://api.github.com/users/chrisvest/repos","events_url":"https://api.github.com/users/chrisvest/events{/privacy}","received_events_url":"https://api.github.com/users/chrisvest/received_events","type":"User","user_view_type":"public","site_admin":false},"open_issues":0,"closed_issues":24,"created_at":"2026-05-20T22:37:55Z","updated_at":"2026-06-02T20:46:35Z","closed_at":"2026-06-02T20:46:35Z","due_on":null},"active_lock_reason":null,"created_at":"2026-06-01T15:03:48Z","updated_at":"2026-06-02T10:09:57Z","closed_at":"2026-06-02T10:09:33Z","merged_at":"2026-06-02T10:09:33Z","merge_commit_sha":"5749d7822f0bf18e2eb0ea1f10d7b7181456ad75","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"head":{"label":"netty:dns_c_41","ref":"dns_c_41","repo":{"id":1064563,"node_id":"MDEwOlJlcG9zaXRvcnkxMDY0NTYz","name":"netty","full_name":"netty/netty","owner":{"login":"netty","id":473791,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3Mzc5MQ==","avatar_url":"https://avatars.githubusercontent.com/u/473791?v=4","gravatar_id":"","url":"https://api.github.com/users/netty","html_url":"https://github.com/netty","followers_url":"https://api.github.com/users/netty/followers","following_url":"https://api.github.com/users/netty/following{/other_user}","gists_url":"https://api.github.com/users/netty/gists{/gist_id}","starred_url":"https://api.github.com/users/netty/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/netty/subscriptions","organizations_url":"https://api.github.com/users/netty/orgs","repos_url":"https://api.github.com/users/netty/repos","events_url":"https://api.github.com/users/netty/events{/privacy}","received_events_url":"https://api.github.com/users/netty/received_events","type":"Organization","user_view_type":"public","site_admin":false},"private":false,"fork":false,"archived":false,"disabled":false,"description":"Netty project - an event-driven asynchronous network application framework","homepage":"http://netty.io","language":"Java","visibility":"public","is_template":false,"topics":[],"forks_count":16266,"forks":16266,"stargazers_count":35047,"watchers_count":35047,"watchers":35047,"open_issues_count":667,"open_issues":667,"size":113736,"default_branch":"4.2","has_issues":true,"has_projects":true,"has_wiki":true,"has_pages":false,"has_downloads":false,"has_discussions":true,"has_pull_requests":true,"pushed_at":"2026-09-08T07:57:21Z","created_at":"2010-11-09T09:22:21Z","updated_at":"2026-09-08T06:36:01Z","allow_forking":true,"web_commit_signoff_required":false,"pull_request_creation_policy":"all","license":{"key":"apache-2.0","name":"Apache License 2.0","url":"https://api.github.com/licenses/apache-2.0","spdx_id":"Apache-2.0","node_id":"MDc6TGljZW5zZTI="},"url":"https://api.github.com/repos/netty/netty","html_url":"https://github.com/netty/netty","archive_url":"https://api.github.com/repos/netty/netty/{archive_format}{/ref}","assignees_url":"https://api.github.com/repos/netty/netty/assignees{/user}","blobs_url":"https://api.github.com/repos/netty/netty/git/blobs{/sha}","branches_url":"https://api.github.com/repos/netty/netty/branches{/branch}","collaborators_url":"https://api.github.com/repos/netty/netty/collaborators{/collaborator}","comments_url":"https://api.github.com/repos/netty/netty/comments{/number}","commits_url":"https://api.github.com/repos/netty/netty/commits{/sha}","compare_url":"https://api.github.com/repos/netty/netty/compare/{base}...{head}","contents_url":"https://api.github.com/repos/netty/netty/contents/{+path}","contributors_url":"https://api.github.com/repos/netty/netty/contributors","deployments_url":"https://api.github.com/repos/netty/netty/deployments","downloads_url":"https://api.github.com/repos/netty/netty/downloads","events_url":"https://api.github.com/repos/netty/netty/events","forks_url":"https://api.github.com/repos/netty/netty/forks","git_commits_url":"https://api.github.com/repos/netty/netty/git/commits{/sha}","git_refs_url":"https://api.github.com/repos/netty/netty/git/refs{/sha}","git_tags_url":"https://api.github.com/repos/netty/netty/git/tags{/sha}","git_url":"git://github.com/netty/netty.git","issue_comment_url":"https://api.github.com/repos/netty/netty/issues/comments{/number}","issue_events_url":"https://api.github.com/repos/netty/netty/issues/events{/number}","issues_url":"https://api.github.com/repos/netty/netty/issues{/number}","keys_url":"https://api.github.com/repos/netty/netty/keys{/key_id}","labels_url":"https://api.github.com/repos/netty/netty/labels{/name}","languages_url":"https://api.github.com/repos/netty/netty/languages","merges_url":"https://api.github.com/repos/netty/netty/merges","milestones_url":"https://api.github.com/repos/netty/netty/milestones{/number}","notifications_url":"https://api.github.com/repos/netty/netty/notifications{?since,all,participating}","pulls_url":"https://api.github.com/repos/netty/netty/pulls{/number}","releases_url":"https://api.github.com/repos/netty/netty/releases{/id}","ssh_url":"git@github.com:netty/netty.git","stargazers_url":"https://api.github.com/repos/netty/netty/stargazers","statuses_url":"https://api.github.com/repos/netty/netty/statuses/{sha}","subscribers_url":"https://api.github.com/repos/netty/netty/subscribers","subscription_url":"https://api.github.com/repos/netty/netty/subscription","tags_url":"https://api.github.com/repos/netty/netty/tags","teams_url":"https://api.github.com/repos/netty/netty/teams","trees_url":"https://api.github.com/repos/netty/netty/git/trees{/sha}","clone_url":"https://github.com/netty/netty.git","mirror_url":null,"hooks_url":"https://api.github.com/repos/netty/netty/hooks","svn_url":"https://github.com/netty/netty"},"sha":"d5bfaeb7f386cb48f11c653ab6306d5bd14fbe93","user":{"login":"netty","id":473791,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3Mzc5MQ==","avatar_url":"https://avatars.githubusercontent.com/u/473791?v=4","gravatar_id":"","url":"https://api.github.com/users/netty","html_url":"https://github.com/netty","followers_url":"https://api.github.com/users/netty/followers","following_url":"https://api.github.com/users/netty/following{/other_user}","gists_url":"https://api.github.com/users/netty/gists{/gist_id}","starred_url":"https://api.github.com/users/netty/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/netty/subscriptions","organizations_url":"https://api.github.com/users/netty/orgs","repos_url":"https://api.github.com/users/netty/repos","events_url":"https://api.github.com/users/netty/events{/privacy}","received_events_url":"https://api.github.com/users/netty/received_events","type":"Organization","user_view_type":"public","site_admin":false}},"base":{"label":"netty:4.1","ref":"4.1","repo":{"id":1064563,"node_id":"MDEwOlJlcG9zaXRvcnkxMDY0NTYz","name":"netty","full_name":"netty/netty","owner":{"login":"netty","id":473791,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3Mzc5MQ==","avatar_url":"https://avatars.githubusercontent.com/u/473791?v=4","gravatar_id":"","url":"https://api.github.com/users/netty","html_url":"https://github.com/netty","followers_url":"https://api.github.com/users/netty/followers","following_url":"https://api.github.com/users/netty/following{/other_user}","gists_url":"https://api.github.com/users/netty/gists{/gist_id}","starred_url":"https://api.github.com/users/netty/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/netty/subscriptions","organizations_url":"https://api.github.com/users/netty/orgs","repos_url":"https://api.github.com/users/netty/repos","events_url":"https://api.github.com/users/netty/events{/privacy}","received_events_url":"https://api.github.com/users/netty/received_events","type":"Organization","user_view_type":"public","site_admin":false},"private":false,"fork":false,"archived":false,"disabled":false,"description":"Netty project - an event-driven asynchronous network application framework","homepage":"http://netty.io","language":"Java","visibility":"public","is_template":false,"topics":[],"forks_count":16266,"forks":16266,"stargazers_count":35047,"watchers_count":35047,"watchers":35047,"open_issues_count":667,"open_issues":667,"size":113736,"default_branch":"4.2","has_issues":true,"has_projects":true,"has_wiki":true,"has_pages":false,"has_downloads":false,"has_discussions":true,"has_pull_requests":true,"pushed_at":"2026-09-08T07:57:21Z","created_at":"2010-11-09T09:22:21Z","updated_at":"2026-09-08T06:36:01Z","allow_forking":true,"web_commit_signoff_required":false,"pull_request_creation_policy":"all","license":{"key":"apache-2.0","name":"Apache License 2.0","url":"https://api.github.com/licenses/apache-2.0","spdx_id":"Apache-2.0","node_id":"MDc6TGljZW5zZTI="},"url":"https://api.github.com/repos/netty/netty","html_url":"https://github.com/netty/netty","archive_url":"https://api.github.com/repos/netty/netty/{archive_format}{/ref}","assignees_url":"https://api.github.com/repos/netty/netty/assignees{/user}","blobs_url":"https://api.github.com/repos/netty/netty/git/blobs{/sha}","branches_url":"https://api.github.com/repos/netty/netty/branches{/branch}","collaborators_url":"https://api.github.com/repos/netty/netty/collaborators{/collaborator}","comments_url":"https://api.github.com/repos/netty/netty/comments{/number}","commits_url":"https://api.github.com/repos/netty/netty/commits{/sha}","compare_url":"https://api.github.com/repos/netty/netty/compare/{base}...{head}","contents_url":"https://api.github.com/repos/netty/netty/contents/{+path}","contributors_url":"https://api.github.com/repos/netty/netty/contributors","deployments_url":"https://api.github.com/repos/netty/netty/deployments","downloads_url":"https://api.github.com/repos/netty/netty/downloads","events_url":"https://api.github.com/repos/netty/netty/events","forks_url":"https://api.github.com/repos/netty/netty/forks","git_commits_url":"https://api.github.com/repos/netty/netty/git/commits{/sha}","git_refs_url":"https://api.github.com/repos/netty/netty/git/refs{/sha}","git_tags_url":"https://api.github.com/repos/netty/netty/git/tags{/sha}","git_url":"git://github.com/netty/netty.git","issue_comment_url":"https://api.github.com/repos/netty/netty/issues/comments{/number}","issue_events_url":"https://api.github.com/repos/netty/netty/issues/events{/number}","issues_url":"https://api.github.com/repos/netty/netty/issues{/number}","keys_url":"https://api.github.com/repos/netty/netty/keys{/key_id}","labels_url":"https://api.github.com/repos/netty/netty/labels{/name}","languages_url":"https://api.github.com/repos/netty/netty/languages","merges_url":"https://api.github.com/repos/netty/netty/merges","milestones_url":"https://api.github.com/repos/netty/netty/milestones{/number}","notifications_url":"https://api.github.com/repos/netty/netty/notifications{?since,all,participating}","pulls_url":"https://api.github.com/repos/netty/netty/pulls{/number}","releases_url":"https://api.github.com/repos/netty/netty/releases{/id}","ssh_url":"git@github.com:netty/netty.git","stargazers_url":"https://api.github.com/repos/netty/netty/stargazers","statuses_url":"https://api.github.com/repos/netty/netty/statuses/{sha}","subscribers_url":"https://api.github.com/repos/netty/netty/subscribers","subscription_url":"https://api.github.com/repos/netty/netty/subscription","tags_url":"https://api.github.com/repos/netty/netty/tags","teams_url":"https://api.github.com/repos/netty/netty/teams","trees_url":"https://api.github.com/repos/netty/netty/git/trees{/sha}","clone_url":"https://github.com/netty/netty.git","mirror_url":null,"hooks_url":"https://api.github.com/repos/netty/netty/hooks","svn_url":"https://github.com/netty/netty"},"sha":"53c089fca9f29b7a02d9144824be06187a07cc8c","user":{"login":"netty","id":473791,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3Mzc5MQ==","avatar_url":"https://avatars.githubusercontent.com/u/473791?v=4","gravatar_id":"","url":"https://api.github.com/users/netty","html_url":"https://github.com/netty","followers_url":"https://api.github.com/users/netty/followers","following_url":"https://api.github.com/users/netty/following{/other_user}","gists_url":"https://api.github.com/users/netty/gists{/gist_id}","starred_url":"https://api.github.com/users/netty/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/netty/subscriptions","organizations_url":"https://api.github.com/users/netty/orgs","repos_url":"https://api.github.com/users/netty/repos","events_url":"https://api.github.com/users/netty/events{/privacy}","received_events_url":"https://api.github.com/users/netty/received_events","type":"Organization","user_view_type":"public","site_admin":false}},"_links":{"comments":{"href":"https://api.github.com/repos/netty/netty/issues/16873/comments"},"commits":{"href":"https://api.github.com/repos/netty/netty/pulls/16873/commits"},"statuses":{"href":"https://api.github.com/repos/netty/netty/statuses/d5bfaeb7f386cb48f11c653ab6306d5bd14fbe93"},"html":{"href":"https://github.com/netty/netty/pull/16873"},"issue":{"href":"https://api.github.com/repos/netty/netty/issues/16873"},"review_comments":{"href":"https://api.github.com/repos/netty/netty/pulls/16873/comments"},"review_comment":{"href":"https://api.github.com/repos/netty/netty/pulls/comments{/number}"},"self":{"href":"https://api.github.com/repos/netty/netty/pulls/16873"}},"author_association":"MEMBER","auto_merge":null,"draft":false,"merged":true,"mergeable":null,"rebaseable":null,"mergeable_state":"unknown","merged_by":{"login":"normanmaurer","id":439362,"node_id":"MDQ6VXNlcjQzOTM2Mg==","avatar_url":"https://avatars.githubusercontent.com/u/439362?v=4","gravatar_id":"","url":"https://api.github.com/users/normanmaurer","html_url":"https://github.com/normanmaurer","followers_url":"https://api.github.com/users/normanmaurer/followers","following_url":"https://api.github.com/users/normanmaurer/following{/other_user}","gists_url":"https://api.github.com/users/normanmaurer/gists{/gist_id}","starred_url":"https://api.github.com/users/normanmaurer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/normanmaurer/subscriptions","organizations_url":"https://api.github.com/users/normanmaurer/orgs","repos_url":"https://api.github.com/users/normanmaurer/repos","events_url":"https://api.github.com/users/normanmaurer/events{/privacy}","received_events_url":"https://api.github.com/users/normanmaurer/received_events","type":"User","user_view_type":"public","site_admin":false},"comments":1,"review_comments":0,"maintainer_can_modify":false,"commits":4,"additions":87,"deletions":5,"changed_files":2}