Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

node: support expressive origin rules in ws.origins #21481

Merged
merged 2 commits into from
Nov 19, 2020

Commits on Nov 17, 2020

  1. Only compare hostnames in ws.origins

    Also using a helper function for ToLower consolidates all preparation steps in one function for more maintainable consistency.
    
    Spaces => tabs
    
    Remove a semicolon
    
    Add space at start of comment
    
    Remove parens around conditional
    
    Handle case wehre parsed hostname is empty
    
    When passing a single word like "localhost" the parsed hostname is an empty string. Handle this and the error-parsing case together as default, and the nonempty hostname case in the conditional.
    
    Refactor with new originIsAllowed functions
    
    Adds originIsAllowed() & ruleAllowsOrigin(); removes prepOriginForComparison
    
    Remove blank line
    
    Added tests for simple allowed-orign rule
    
    which does not specify a protocol or port, just a hostname
    
    Fix copy-paste: `:=` => `=`
    
    Remove parens around conditional
    
    Remove autoadded whitespace on blank lines
    
    Compare scheme, hostname, and port with rule
    
    if the rule specifies those portions.
    
    Remove one autoadded trailing whitespace
    
    Better handle case where only origin host is given
    
    e.g. "localhost"
    
    Remove parens around conditional
    
    Refactor: attemptWebsocketConnectionFromOrigin DRY
    
    Include return type on helper function
    
    Provide srv obj in helper fn
    
    Provide srv to helper fn
    
    Remove stray underscore
    
    Remove blank line
    
    parent 93e666b4c1e7e49b8406dc83ed93f4a02ea49ac1
    author wbt <wbt@users.noreply.github.com> 1598559718 -0400
    committer Martin Holst Swende <martin@swende.se> 1605602257 +0100
    gpgsig -----BEGIN PGP SIGNATURE-----
    
     iQFFBAABCAAvFiEEypmrtbNuJK1doP1AaDtDjAWl3fAFAl+zi9ARHG1hcnRpbkBz
     d2VuZGUuc2UACgkQaDtDjAWl3fDRiwgAoMtzU8dwRV7Q9xkCwWEx9Wz2f3n6jUr2
     VWBycDKGKwRkPPOER3oc9kzjGU/P1tFlK07PjfnAKZ9KWzxpDcJZwYM3xCBurG7A
     16y4YsQnzgPNONv3xIkdi3RZtDBIiPFFEmdZFFvZ/jKexfI6JIYPngCAoqdTIFb9
     On/aPvvVWQn1ExfmarsvvJ7kUDUG77tZipuacEH5FfFsfelBWOEYPe+I9ToUHskv
     +qO6rOkV1Ojk8eBc6o0R1PnApwCAlEhJs7aM/SEOg4B4ZJJneiFuEXBIG9+0yS2I
     NOicuDPLGucOB5nBsfIKI3USPeE+3jxdT8go2lN5Nrhm6MimoILDsQ==
     =sgUp
     -----END PGP SIGNATURE-----
    
    Refactor: drop err var for more concise test lines
    
    Add several tests for new WebSocket origin checks
    
    Remove autoadded whitespace on blank lines
    
    Restore TestWebsocketOrigins originally-named test
    
    and rename the others to be helpers rather than full tests
    
    Remove autoadded whitespace on blank line
    
    Temporarily comment out new test sets
    
    Uncomment test around origin rule with scheme
    
    Remove tests without scheme on browser origin
    
    per https://github.com/ethereum/go-ethereum/pull/21481/files#r479371498
    
    Uncomment tests with port; remove some blank lines
    
    Handle when browser does not specify scheme/port
    
    Uncomment test for including scheme & port in rule
    
    Add IP tests
    wbt authored and holiman committed Nov 17, 2020
    Configuration menu
    Copy the full SHA
    081f483 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    8430f92 View commit details
    Browse the repository at this point in the history