getlantern / browsersunbounded

Interoperable browser-based P2P proxies for censorship circumvention
GNU General Public License v3.0
11 stars 0 forks source link

Errors related to common.DebugAddr on the mainline egress server #140

Closed noahlevenson closed 1 year ago

noahlevenson commented 1 year ago

The mainline egress server, which runs http-proxy-lantern, spits out a bunch of (seemingly nonfatal) errors because it doesn't like common.DebugAddr:

(*Server).serve (server.go:148)         
2023-04-05T15:27:34.267364+00:00 app[web.1]: ERROR listeners: allow.go:31   at github.com/getlantern/http-proxy/server.(*Server).Serve (server.go:132)         
2023-04-05T15:27:34.267365+00:00 app[web.1]: ERROR listeners: allow.go:31   at github.com/getlantern/http-proxy-lantern/v2.(*Proxy).ListenAndServe.func5 (http_
proxy.go:371)                                                                                                                                                  
2023-04-05T15:27:34.267365+00:00 app[web.1]: ERROR listeners: allow.go:31   at runtime.goexit (asm_amd64.s:1571)                                               
2023-04-05T15:27:34.892740+00:00 app[web.1]: 2023/04/05 15:27:34 Accepted a new QUIC stream! (24 total)                                                        
2023-04-05T15:27:34.892917+00:00 app[web.1]: ERROR listeners: allow.go:31 Remote addr DEBUG NELSON WUZ HERE is of unknown type common.DebugAddr, unable to dete
rmine IP [error=Remote addr %v is of unknown type %v, unable to determine IP error_location=github.com/getlantern/http-proxy-lantern/v2/listeners.(*allowingLis
tener).Accept (allow.go:31) error_text=Remote addr DEBUG NELSON WUZ HERE is of unknown type common.DebugAddr, unable to determine IP error_type=errors.Error]  
2023-04-05T15:27:34.892918+00:00 app[web.1]: ERROR listeners: allow.go:31   at github.com/getlantern/http-proxy-lantern/v2/listeners.(*allowingListener).Accept
 (allow.go:31)                                                                                                                                                 
2023-04-05T15:27:34.892918+00:00 app[web.1]: ERROR listeners: allow.go:31   at github.com/getlantern/http-proxy/listeners.(*defaultConnListener).Accept (defaul
t.go:18)                                                                                                                                                       
2023-04-05T15:27:34.892919+00:00 app[web.1]: ERROR listeners: allow.go:31   at github.com/getlantern/http-proxy-lantern/v2/listeners.(*bitrateListener).Accept 
(bitrate.go:81)         

The solution, via @oxtoacart:

Ideally, QUICStreamNetConn would return real addresses, probably just whatever the addresses are for the websocket connection.

noahlevenson commented 1 year ago

Bout to dig into this

noahlevenson commented 1 year ago

Addressed here https://github.com/getlantern/broflake/commit/e3a7186f4dae73f47b915e67df73da4b6cbd03db

and here https://github.com/getlantern/broflake/commit/e48bf5134a20ca5a4b5af723d25b78b958afdfc9

All looks fixed, poked the mainline egress server for a while and the logs are totally clean now...