From a6f507710b4f7ce64da0b991b4aa1ec4a76b83f2 Mon Sep 17 00:00:00 2001 From: Cadey Dodrill Date: Thu, 19 Jan 2017 17:17:18 -0800 Subject: [PATCH] server: simplify host creation --- server/server.go | 7 ++++++- server/tor.go | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/server/server.go b/server/server.go index 52086a4..3ae7948 100644 --- a/server/server.go +++ b/server/server.go @@ -127,6 +127,9 @@ func (s *Server) onionPath(name string) string { } func (s *Server) ServeHTTP(w http.ResponseWriter, r *http.Request) { + r.Header.Set("X-Forwarded-For", r.RemoteAddr) + r.Header.Set("X-Request-Ingress", time.Now().String()) + if r.RequestURI == rpc.DefaultRPCPath { s.rpcS.ServeHTTP(w, r) return @@ -184,9 +187,10 @@ func (rs *RPCServer) AddHost(req routerpc.AddHostRequest, resp *routerpc.AddHost token := uuid.New() var pKey *rsa.PrivateKey - if kk, ok := req.PrivKey.(*rsa.PrivateKey); ok { pKey = kk + } else { + return errors.New("there must be a 1024 bit RSA private key") } oi, err := rs.tor.AddOnion(pKey, 80, "127.0.0.1:"+rs.cfg.WebPort) @@ -196,6 +200,7 @@ func (rs *RPCServer) AddHost(req routerpc.AddHostRequest, resp *routerpc.AddHost resp.OnionHostname = oi.OnionID + ".onion" resp.Token = token + resp.PrivKey = pKey if req.Hostname != "" { rs.Server.ts.AddHost(req.Hostname, token) diff --git a/server/tor.go b/server/tor.go index ef309b0..013c5b0 100644 --- a/server/tor.go +++ b/server/tor.go @@ -76,5 +76,5 @@ func (t *Tor) AddOnion(pKey *rsa.PrivateKey, virtPort uint16, destination string VirtPort: virtPort, Target: destination, }, - }, pKey, false) + }, pKey, true) }