summaryrefslogtreecommitdiffstats
path: root/server/server.go
diff options
context:
space:
mode:
authorbt <bt@rctt.net>2026-04-08 13:37:56 +0200
committerbt <bt@rctt.net>2026-04-14 22:14:55 +0200
commitb9d3b7ea9df409794eefe48ae1003e8444f519bb (patch)
tree465a283f97ef4bfeb8a4496535e8bad5b72b448e /server/server.go
parent976c419df403c9810fc705aa21273fe34d438597 (diff)
downloadsolec-b9d3b7ea9df409794eefe48ae1003e8444f519bb.tar.gz
solec-b9d3b7ea9df409794eefe48ae1003e8444f519bb.zip
[daemon] Server to server communication
Diffstat (limited to 'server/server.go')
-rw-r--r--server/server.go23
1 files changed, 22 insertions, 1 deletions
diff --git a/server/server.go b/server/server.go
index 3876bac..712f654 100644
--- a/server/server.go
+++ b/server/server.go
@@ -168,7 +168,7 @@ func (s *Server) handleMessage(conn net.Conn, user User, msg core.Message) error
return s.handleLocalMessage(channel, msg)
}
- return core.ErrNotSupported
+ return s.handleOutboundMessage(channel, host, msg)
}
func (s *Server) handleLocalMessage(channel string, msg core.Message) error {
@@ -179,3 +179,24 @@ func (s *Server) handleLocalMessage(channel string, msg core.Message) error {
return user.Send(msg)
}
+
+func (s *Server) handleOutboundMessage(channel, host string, msg core.Message) error {
+ conn, err := net.Dial("tcp", host+":9999")
+ if err != nil {
+ return err
+ }
+ defer conn.Close()
+
+ hs := core.Handshake{0, 1}
+ if err := core.Send(conn, hs); err != nil {
+ return err
+ }
+
+ // TODO, servers should not use this type of auth
+ auth := core.Auth{"server", "valid"}
+ if err := core.Send(conn, auth); err != nil {
+ return err
+ }
+
+ return core.Send(conn, msg)
+}