{"action":"created","issue":{"url":"https://api.github.com/repos/kubernetes/kubernetes/issues/45642","repository_url":"https://api.github.com/repos/kubernetes/kubernetes","labels_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/45642/labels{/name}","comments_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/45642/comments","events_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/45642/events","html_url":"https://github.com/kubernetes/kubernetes/pull/45642","id":227904502,"number":45642,"title":"Fix the issue in Windows kube-proxy when processing unqualified name. This is for DNS client such as ping or iwr that validate name in response and original question.","user":{"login":"JiangtianLi","id":25217557,"avatar_url":"https://avatars1.githubusercontent.com/u/25217557?v=3","gravatar_id":"","url":"https://api.github.com/users/JiangtianLi","html_url":"https://github.com/JiangtianLi","followers_url":"https://api.github.com/users/JiangtianLi/followers","following_url":"https://api.github.com/users/JiangtianLi/following{/other_user}","gists_url":"https://api.github.com/users/JiangtianLi/gists{/gist_id}","starred_url":"https://api.github.com/users/JiangtianLi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JiangtianLi/subscriptions","organizations_url":"https://api.github.com/users/JiangtianLi/orgs","repos_url":"https://api.github.com/users/JiangtianLi/repos","events_url":"https://api.github.com/users/JiangtianLi/events{/privacy}","received_events_url":"https://api.github.com/users/JiangtianLi/received_events","type":"User","site_admin":false},"labels":[{"id":414883982,"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/approved","name":"approved","color":"0ffa16","default":false},{"id":477397086,"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/cncf-cla:%20yes","name":"cncf-cla: yes","color":"bfe5bf","default":false},{"id":148225179,"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/lgtm","name":"lgtm","color":"15dd18","default":false},{"id":200149833,"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/release-note","name":"release-note","color":"c2e0c6","default":false},{"id":116712108,"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/sig/network","name":"sig/network","color":"d2b48c","default":false},{"id":253451057,"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/size/XL","name":"size/XL","color":"ee5500","default":false}],"state":"open","locked":false,"assignee":{"login":"freehan","id":1332699,"avatar_url":"https://avatars0.githubusercontent.com/u/1332699?v=3","gravatar_id":"","url":"https://api.github.com/users/freehan","html_url":"https://github.com/freehan","followers_url":"https://api.github.com/users/freehan/followers","following_url":"https://api.github.com/users/freehan/following{/other_user}","gists_url":"https://api.github.com/users/freehan/gists{/gist_id}","starred_url":"https://api.github.com/users/freehan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/freehan/subscriptions","organizations_url":"https://api.github.com/users/freehan/orgs","repos_url":"https://api.github.com/users/freehan/repos","events_url":"https://api.github.com/users/freehan/events{/privacy}","received_events_url":"https://api.github.com/users/freehan/received_events","type":"User","site_admin":false},"assignees":[{"login":"bowei","id":837034,"avatar_url":"https://avatars2.githubusercontent.com/u/837034?v=3","gravatar_id":"","url":"https://api.github.com/users/bowei","html_url":"https://github.com/bowei","followers_url":"https://api.github.com/users/bowei/followers","following_url":"https://api.github.com/users/bowei/following{/other_user}","gists_url":"https://api.github.com/users/bowei/gists{/gist_id}","starred_url":"https://api.github.com/users/bowei/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bowei/subscriptions","organizations_url":"https://api.github.com/users/bowei/orgs","repos_url":"https://api.github.com/users/bowei/repos","events_url":"https://api.github.com/users/bowei/events{/privacy}","received_events_url":"https://api.github.com/users/bowei/received_events","type":"User","site_admin":false},{"login":"freehan","id":1332699,"avatar_url":"https://avatars0.githubusercontent.com/u/1332699?v=3","gravatar_id":"","url":"https://api.github.com/users/freehan","html_url":"https://github.com/freehan","followers_url":"https://api.github.com/users/freehan/followers","following_url":"https://api.github.com/users/freehan/following{/other_user}","gists_url":"https://api.github.com/users/freehan/gists{/gist_id}","starred_url":"https://api.github.com/users/freehan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/freehan/subscriptions","organizations_url":"https://api.github.com/users/freehan/orgs","repos_url":"https://api.github.com/users/freehan/repos","events_url":"https://api.github.com/users/freehan/events{/privacy}","received_events_url":"https://api.github.com/users/freehan/received_events","type":"User","site_admin":false},{"login":"thockin","id":5595220,"avatar_url":"https://avatars3.githubusercontent.com/u/5595220?v=3","gravatar_id":"","url":"https://api.github.com/users/thockin","html_url":"https://github.com/thockin","followers_url":"https://api.github.com/users/thockin/followers","following_url":"https://api.github.com/users/thockin/following{/other_user}","gists_url":"https://api.github.com/users/thockin/gists{/gist_id}","starred_url":"https://api.github.com/users/thockin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thockin/subscriptions","organizations_url":"https://api.github.com/users/thockin/orgs","repos_url":"https://api.github.com/users/thockin/repos","events_url":"https://api.github.com/users/thockin/events{/privacy}","received_events_url":"https://api.github.com/users/thockin/received_events","type":"User","site_admin":false},{"login":"dcbw","id":10926354,"avatar_url":"https://avatars1.githubusercontent.com/u/10926354?v=3","gravatar_id":"","url":"https://api.github.com/users/dcbw","html_url":"https://github.com/dcbw","followers_url":"https://api.github.com/users/dcbw/followers","following_url":"https://api.github.com/users/dcbw/following{/other_user}","gists_url":"https://api.github.com/users/dcbw/gists{/gist_id}","starred_url":"https://api.github.com/users/dcbw/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dcbw/subscriptions","organizations_url":"https://api.github.com/users/dcbw/orgs","repos_url":"https://api.github.com/users/dcbw/repos","events_url":"https://api.github.com/users/dcbw/events{/privacy}","received_events_url":"https://api.github.com/users/dcbw/received_events","type":"User","site_admin":false}],"milestone":null,"comments":16,"created_at":"2017-05-11T07:43:58Z","updated_at":"2017-05-18T06:12:03Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/kubernetes/kubernetes/pulls/45642","html_url":"https://github.com/kubernetes/kubernetes/pull/45642","diff_url":"https://github.com/kubernetes/kubernetes/pull/45642.diff","patch_url":"https://github.com/kubernetes/kubernetes/pull/45642.patch"},"body":"<!--  Thanks for sending a pull request!  Here are some tips for you:\r\n1. If this is your first time, read our contributor guidelines https://github.com/kubernetes/community/blob/master/contributors/devel/pull-requests.md#pull-request-process and developer guide https://github.com/kubernetes/community/blob/master/contributors/devel/development.md#development-guide\r\n2. If you want *faster* PR reviews, read how: https://github.com/kubernetes/community/blob/master/contributors/devel/faster_reviews.md\r\n3. Follow the instructions for writing a release note: https://github.com/kubernetes/community/blob/master/contributors/devel/pull-requests.md#release-notes\r\n-->\r\n\r\n**What this PR does / why we need it**:\r\nThis PR is an additional fix to #41618 and [the corresponding commit](https://github.com/kubernetes/kubernetes/commit/b9dfb69dd7679ae31bad1fb4980561fea22f8ed4). The DNS client such as nslookup does not validate name matching in response and original question. That works fine when we append DNS suffix to unqualified name in DNS query in Windows kube-proxy. However, for DNS client such as ping or Invoke-WebRequest that validates name in response and original question, the issue arises and the DNS query fails although the received DNS response has no error. \r\n\r\nThis PR fixes the additional issue by restoring the original question name in DNS response. Further, this PR refactors DNS message routines by using miekg's DNS library.\r\n\r\nThis PR affects the Windows kube-proxy only.\r\n\r\n**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #42605 \r\n\r\n**Special notes for your reviewer**:\r\n\r\n**Release note**:\r\n<!--  Steps to write your release note:\r\n1. Use the release-note-* labels to set the release note state (if you have access) \r\n2. Enter your extended release note in the below block; leaving it blank means using the PR title as the release note. If no release note is required, just write `NONE`. \r\n-->\r\n```release-note\r\nFix DNS suffix search list support in Windows kube-proxy.\r\n```\r\n"},"comment":{"url":"https://api.github.com/repos/kubernetes/kubernetes/issues/comments/302310656","html_url":"https://github.com/kubernetes/kubernetes/pull/45642#issuecomment-302310656","issue_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/45642","id":302310656,"user":{"login":"JiangtianLi","id":25217557,"avatar_url":"https://avatars1.githubusercontent.com/u/25217557?v=3","gravatar_id":"","url":"https://api.github.com/users/JiangtianLi","html_url":"https://github.com/JiangtianLi","followers_url":"https://api.github.com/users/JiangtianLi/followers","following_url":"https://api.github.com/users/JiangtianLi/following{/other_user}","gists_url":"https://api.github.com/users/JiangtianLi/gists{/gist_id}","starred_url":"https://api.github.com/users/JiangtianLi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JiangtianLi/subscriptions","organizations_url":"https://api.github.com/users/JiangtianLi/orgs","repos_url":"https://api.github.com/users/JiangtianLi/repos","events_url":"https://api.github.com/users/JiangtianLi/events{/privacy}","received_events_url":"https://api.github.com/users/JiangtianLi/received_events","type":"User","site_admin":false},"created_at":"2017-05-18T06:12:03Z","updated_at":"2017-05-18T06:12:03Z","body":"@thockin Agreed that this fix is a workaround to get Windows scenario work. Windows's kube-proxy forked from kube-proxy and implemented a few Windows specific features. sig-windows folks should have more context. Thanks for the approval. I felt this fix should be with its precedent commit in the upstream rather than in my private branch separately. "}}
{"actor":{"display_login":"JiangtianLi"}}