{"action":"closed","issue":{"url":"https://api.github.com/repos/grpc/grpc/issues/12543","repository_url":"https://api.github.com/repos/grpc/grpc","labels_url":"https://api.github.com/repos/grpc/grpc/issues/12543/labels{/name}","comments_url":"https://api.github.com/repos/grpc/grpc/issues/12543/comments","events_url":"https://api.github.com/repos/grpc/grpc/issues/12543/events","html_url":"https://github.com/grpc/grpc/issues/12543","id":257451865,"number":12543,"title":"GRPC Erroneously talks to an HTTP proxy when connecting to a Unix Domain Socket","user":{"login":"grahamc","id":76716,"avatar_url":"https://avatars3.githubusercontent.com/u/76716?v=4","gravatar_id":"","url":"https://api.github.com/users/grahamc","html_url":"https://github.com/grahamc","followers_url":"https://api.github.com/users/grahamc/followers","following_url":"https://api.github.com/users/grahamc/following{/other_user}","gists_url":"https://api.github.com/users/grahamc/gists{/gist_id}","starred_url":"https://api.github.com/users/grahamc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/grahamc/subscriptions","organizations_url":"https://api.github.com/users/grahamc/orgs","repos_url":"https://api.github.com/users/grahamc/repos","events_url":"https://api.github.com/users/grahamc/events{/privacy}","received_events_url":"https://api.github.com/users/grahamc/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":{"login":"markdroth","id":18664614,"avatar_url":"https://avatars2.githubusercontent.com/u/18664614?v=4","gravatar_id":"","url":"https://api.github.com/users/markdroth","html_url":"https://github.com/markdroth","followers_url":"https://api.github.com/users/markdroth/followers","following_url":"https://api.github.com/users/markdroth/following{/other_user}","gists_url":"https://api.github.com/users/markdroth/gists{/gist_id}","starred_url":"https://api.github.com/users/markdroth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/markdroth/subscriptions","organizations_url":"https://api.github.com/users/markdroth/orgs","repos_url":"https://api.github.com/users/markdroth/repos","events_url":"https://api.github.com/users/markdroth/events{/privacy}","received_events_url":"https://api.github.com/users/markdroth/received_events","type":"User","site_admin":false},"assignees":[{"login":"markdroth","id":18664614,"avatar_url":"https://avatars2.githubusercontent.com/u/18664614?v=4","gravatar_id":"","url":"https://api.github.com/users/markdroth","html_url":"https://github.com/markdroth","followers_url":"https://api.github.com/users/markdroth/followers","following_url":"https://api.github.com/users/markdroth/following{/other_user}","gists_url":"https://api.github.com/users/markdroth/gists{/gist_id}","starred_url":"https://api.github.com/users/markdroth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/markdroth/subscriptions","organizations_url":"https://api.github.com/users/markdroth/orgs","repos_url":"https://api.github.com/users/markdroth/repos","events_url":"https://api.github.com/users/markdroth/events{/privacy}","received_events_url":"https://api.github.com/users/markdroth/received_events","type":"User","site_admin":false}],"milestone":null,"comments":5,"created_at":"2017-09-13T16:58:47Z","updated_at":"2017-09-27T22:05:12Z","closed_at":"2017-09-27T22:05:12Z","author_association":"NONE","body":"### What version of gRPC and what language are you using?\r\n\r\ngRPC v1.4.2\r\n\r\nLanguages in use:\r\n\r\n - Go\r\n - PHP\r\n - Ruby\r\n \r\n### What operating system (Linux, Windows, …) and version?\r\n \r\nScientific Linux 7, NixOS 17.03\r\n \r\n### What runtime / compiler are you using (e.g. python version or version of gcc)\r\n \r\n - gcc version 5.4.0 (GCC)\r\n - ruby 2.3.3.p222\r\n - php 7.1.x\r\n \r\n### What did you do?\r\n\r\n1. Have an `http_proxy` in your environment:\r\n\r\n```\r\n$ echo $http_proxy\r\nhttp://httpproxy.mydomain:8080\r\n\r\n$ echo $no_proxy\r\n.mydomain,localhost,127.0.0.1\r\n```\r\n\r\n2. Connect to a GRPC server on a local domain socket:\r\n\r\n```ruby\r\nFoo::Bar::Stub.new(\"unix:/var/run/mydaemon.sock\", :this_channel_is_insecure)\r\n```\r\n\r\n3. Ouch! GRPC chats up the proxy!\r\n\r\n```\r\n$ pry\r\n[1] pry(main)> require 'mything'\r\n=> true\r\n\r\n[2] pry(main)> config = {:socket => '/tmp/mydaemon.sock'}\r\n=> {:socket=>\"/tmp/mydaemon.sock\"}\r\n\r\n[3] pry(main)> conn = MyThing::Client.new(config)\r\n=> #<MyThing::Client:0x007f06f413a248\r\n @mything_stub=\r\n  #<MyThnig::Stub:0x007f06f413a130\r\n   @ch=#<GRPC::Core::Channel:0x007f06f4139ff0>,\r\n   @host=\"unix:/tmp/mydaemon.sock\",\r\n   @propagate_mask=nil,\r\n   @timeout=1969-12-31 18:59:59 -0500>>\r\n\r\n[4] pry(main)> conn.mything.a_grpc_call('fizzbuzz')\r\nGRPC::Unavailable: 14:Endpoint read failed\r\nfrom /opt/ruby/2.3/lib/ruby/gems/2.3.0/gems/grpc-1.6.0-x86_64-linux/src/ruby/lib/grpc/generic/active_call.rb:31:in `check_status'\r\n```\r\n \r\n### What did you expect to see?\r\n \r\nGRPC should not talk to an http_proxy when talking to local unix domain sockets.\r\n \r\n### What did you see instead?\r\n\r\nGRPC tried to use the remote HTTP proxy to talk to a local unix domain socket.\r\n \r\n"}}
{"actor":{"display_login":"nicolasnoble"}}