diff options
| author | Jeff Halter <868228+jhalter@users.noreply.github.com> | 2022-05-27 13:50:02 -0700 |
|---|---|---|
| committer | Jeff Halter <868228+jhalter@users.noreply.github.com> | 2022-05-27 13:50:02 -0700 |
| commit | 7f12122f861fab4f4d0e3972ca0e66ff8becae19 (patch) | |
| tree | d3e1b1ee78a6296483cad2a559e1d23f8cd57177 /hotline | |
| parent | 3c9b1dcdf40474396a3b035d548417b84a123164 (diff) | |
Fix issue with HL 1.5+ user flag unset
This fixes an issue where it was not possible for users to unset the "Refuse private chat/messages" preference
Diffstat (limited to 'hotline')
| -rw-r--r-- | hotline/transaction_handlers.go | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/hotline/transaction_handlers.go b/hotline/transaction_handlers.go index 2c5a930..7e3afa1 100644 --- a/hotline/transaction_handlers.go +++ b/hotline/transaction_handlers.go @@ -1367,17 +1367,11 @@ func HandleSetClientUserInfo(cc *ClientConn, t *Transaction) (res []Transaction, optBitmap := big.NewInt(int64(binary.BigEndian.Uint16(options))) flagBitmap := big.NewInt(int64(binary.BigEndian.Uint16(*cc.Flags))) - // Check refuse private PM option - if optBitmap.Bit(refusePM) == 1 { - flagBitmap.SetBit(flagBitmap, userFlagRefusePM, 1) - binary.BigEndian.PutUint16(*cc.Flags, uint16(flagBitmap.Int64())) - } + flagBitmap.SetBit(flagBitmap, userFlagRefusePM, optBitmap.Bit(refusePM)) + binary.BigEndian.PutUint16(*cc.Flags, uint16(flagBitmap.Int64())) - // Check refuse private chat option - if optBitmap.Bit(refuseChat) == 1 { - flagBitmap.SetBit(flagBitmap, userFLagRefusePChat, 1) - binary.BigEndian.PutUint16(*cc.Flags, uint16(flagBitmap.Int64())) - } + flagBitmap.SetBit(flagBitmap, userFLagRefusePChat, optBitmap.Bit(refuseChat)) + binary.BigEndian.PutUint16(*cc.Flags, uint16(flagBitmap.Int64())) // Check auto response if optBitmap.Bit(autoResponse) == 1 { |