X-Git-Url: https://git.r.bdr.sh/rbdr/mobius/blobdiff_plain/a2ef262a164fc735b9b8471ac0c8001eea2b9bf6..318eb6bc17ee406e26c1cfe0835409fd446bad75:/hotline/tracker.go diff --git a/hotline/tracker.go b/hotline/tracker.go index d0ccff4..a3e077e 100644 --- a/hotline/tracker.go +++ b/hotline/tracker.go @@ -18,6 +18,7 @@ type TrackerRegistration struct { PassID [4]byte // Random number generated by the server Name string // Server Name Description string // Description of the server + Password string // Tracker password, if required by tracker readOffset int // Internal offset to track read progress } @@ -37,6 +38,8 @@ func (tr *TrackerRegistration) Read(p []byte) (int, error) { []byte(tr.Name), []byte{uint8(len(tr.Description))}, []byte(tr.Description), + []byte{uint8(len(tr.Password))}, + []byte(tr.Password), ) if tr.readOffset >= len(buf) { @@ -64,7 +67,7 @@ func (d *RealDialer) Dial(network, address string) (net.Conn, error) { func register(dialer Dialer, tracker string, tr io.Reader) error { conn, err := dialer.Dial("udp", tracker) if err != nil { - return fmt.Errorf("failed to dial tracker: %w", err) + return fmt.Errorf("failed to dial tracker: %v", err) } defer conn.Close()