]> git.r.bdr.sh - rbdr/mobius/blame - hotline/account.go
More cleanup
[rbdr/mobius] / hotline / account.go
CommitLineData
6988a057
JH
1package hotline
2
3import (
6988a057
JH
4 "github.com/jhalter/mobius/concat"
5)
6
7const GuestAccount = "guest" // default account used when no login is provided for a connection
8
9type Account struct {
10 Login string `yaml:"Login"`
11 Name string `yaml:"Name"`
12 Password string `yaml:"Password"`
13 Access *[]byte `yaml:"Access"` // 8 byte bitmap
14}
15
c5d9af5a
JH
16// MarshalBinary marshals an Account to byte slice
17func (a *Account) MarshalBinary() (out []byte) {
6988a057
JH
18 return concat.Slices(
19 []byte{0x00, 0x3}, // param count -- always 3
c5d9af5a
JH
20 NewField(fieldUserName, []byte(a.Name)).Payload(),
21 NewField(fieldUserLogin, negateString([]byte(a.Login))).Payload(),
22 NewField(fieldUserAccess, *a.Access).Payload(),
6988a057
JH
23 )
24}