{"action":"opened","issue":{"url":"https://api.github.com/repos/getlantern/lantern/issues/2372","labels_url":"https://api.github.com/repos/getlantern/lantern/issues/2372/labels{/name}","comments_url":"https://api.github.com/repos/getlantern/lantern/issues/2372/comments","events_url":"https://api.github.com/repos/getlantern/lantern/issues/2372/events","html_url":"https://github.com/getlantern/lantern/issues/2372","id":67328342,"number":2372,"title":"[peerscanner] IP range based fallback discrimination is brittle and insecure","user":{"login":"aranhoide","id":2204867,"avatar_url":"https://avatars.githubusercontent.com/u/2204867?v=3","gravatar_id":"","url":"https://api.github.com/users/aranhoide","html_url":"https://github.com/aranhoide","followers_url":"https://api.github.com/users/aranhoide/followers","following_url":"https://api.github.com/users/aranhoide/following{/other_user}","gists_url":"https://api.github.com/users/aranhoide/gists{/gist_id}","starred_url":"https://api.github.com/users/aranhoide/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aranhoide/subscriptions","organizations_url":"https://api.github.com/users/aranhoide/orgs","repos_url":"https://api.github.com/users/aranhoide/repos","events_url":"https://api.github.com/users/aranhoide/events{/privacy}","received_events_url":"https://api.github.com/users/aranhoide/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/getlantern/lantern/labels/P1","name":"P1","color":"eb6420"}],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/getlantern/lantern/milestones/64","html_url":"https://github.com/getlantern/lantern/milestones/Short-term","labels_url":"https://api.github.com/repos/getlantern/lantern/milestones/64/labels","id":779013,"number":64,"title":"Short-term","description":"This is a bucket for issues that may be assigned to a specific release milestone over the short term.","creator":{"login":"scouttle","id":245240,"avatar_url":"https://avatars.githubusercontent.com/u/245240?v=3","gravatar_id":"","url":"https://api.github.com/users/scouttle","html_url":"https://github.com/scouttle","followers_url":"https://api.github.com/users/scouttle/followers","following_url":"https://api.github.com/users/scouttle/following{/other_user}","gists_url":"https://api.github.com/users/scouttle/gists{/gist_id}","starred_url":"https://api.github.com/users/scouttle/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/scouttle/subscriptions","organizations_url":"https://api.github.com/users/scouttle/orgs","repos_url":"https://api.github.com/users/scouttle/repos","events_url":"https://api.github.com/users/scouttle/events{/privacy}","received_events_url":"https://api.github.com/users/scouttle/received_events","type":"User","site_admin":false},"open_issues":103,"closed_issues":49,"state":"open","created_at":"2014-09-04T20:45:49Z","updated_at":"2015-04-09T10:15:35Z","due_on":"2015-06-24T07:00:00Z","closed_at":null},"comments":0,"created_at":"2015-04-09T10:15:35Z","updated_at":"2015-04-09T10:15:35Z","closed_at":null,"body":"Currently peerscanner tells fallback servers by (i) name and (ii) IP range.  The latter introduces manual maintenance work (adding a new IP range whenever we observe a server fails to register itself), and is easy to defeat.  We should do something like having fallbacks provide a secret token on registration (which we distribute to both fallback proxies and the peerscanner through Salt pillars).\r\n\r\nI'm assigning P1 to this because until it's fixed we may have unused flashlight servers because they have failed to register themselves."}}