diff options
| author | Kyren223 <Kyren223@proton.me> | 2025-07-06 00:51:33 +0300 |
|---|---|---|
| committer | Kyren223 <Kyren223@proton.me> | 2025-07-06 00:51:33 +0300 |
| commit | e7344492595b26fd7ae21b945d1bdfe2ef115f10 (patch) | |
| tree | d15598991805ef530be5332cf43f6ea629f7adaf /internal/server/session | |
| parent | 8f8736d09efce46147ff37d4840fb424aa6cb7e4 (diff) | |
Added terms of service (incomplete!!!!) to the server, and added
authentication separation between API calls, actually authentication
(nonce, and verification) is not implemented yet
Diffstat (limited to 'internal/server/session')
| -rw-r--r-- | internal/server/session/session.go | 35 |
1 files changed, 23 insertions, 12 deletions
diff --git a/internal/server/session/session.go b/internal/server/session/session.go index ffe4e13..013ff71 100644 --- a/internal/server/session/session.go +++ b/internal/server/session/session.go @@ -36,8 +36,9 @@ type Session struct { issuedTime time.Time challenge []byte - pubKey ed25519.PublicKey - id snowflake.ID + isTosAccepted bool + pubKey ed25519.PublicKey + id snowflake.ID mu sync.Mutex } @@ -50,16 +51,18 @@ func NewSession( assert.NotNil(addr, "tcp address should be valid") assert.NotNil(manager, "session manager should be valid") session := &Session{ - manager: manager, - addr: addr, - cancel: cancel, - writeQueue: make(chan packet.Packet, WriteQueueSize), - writerWg: writerWg, - issuedTime: time.Time{}, - challenge: make([]byte, 32), - pubKey: ed25519.PublicKey{}, - id: snowflake.InvalidID, - mu: sync.Mutex{}, + manager: manager, + addr: addr, + cancel: cancel, + writeQueue: make(chan packet.Packet, WriteQueueSize), + writerWg: writerWg, + writeMu: sync.RWMutex{}, + issuedTime: time.Time{}, + challenge: make([]byte, 32), + pubKey: ed25519.PublicKey{}, + id: snowflake.InvalidID, + mu: sync.Mutex{}, + isTosAccepted: false, } return session } @@ -69,6 +72,14 @@ func (s *Session) Addr() *net.TCPAddr { return s.addr } +func (s *Session) IsTosAccepted() bool { + return s.isTosAccepted +} + +func (s *Session) ReceivedTosAcceptance() { + s.isTosAccepted = true +} + func (s *Session) IsAuthenticated() bool { return s.id != snowflake.InvalidID } |
