X-Git-Url: https://git.r.bdr.sh/rbdr/mobius/blobdiff_plain/d005ef04cfaa26943e6dd33807d741577ffb232a..c2f62e9d34248432ee31144378ba9c6900ac974a:/hotline/transaction_handlers.go?ds=inline diff --git a/hotline/transaction_handlers.go b/hotline/transaction_handlers.go index 813d25c..5de2b45 100644 --- a/hotline/transaction_handlers.go +++ b/hotline/transaction_handlers.go @@ -334,7 +334,7 @@ func HandleSendInstantMsg(cc *ClientConn, t *Transaction) (res []Transaction, er // Check if target user has "Refuse private messages" flag flagBitmap := big.NewInt(int64(binary.BigEndian.Uint16(otherClient.Flags))) - if flagBitmap.Bit(userFLagRefusePChat) == 1 { + if flagBitmap.Bit(UserFlagRefusePChat) == 1 { res = append(res, *NewTransaction( TranServerMsg, @@ -671,9 +671,9 @@ func HandleSetUser(cc *ClientConn, t *Transaction) (res []Transaction, err error flagBitmap := big.NewInt(int64(binary.BigEndian.Uint16(c.Flags))) if c.Authorize(accessDisconUser) { - flagBitmap.SetBit(flagBitmap, userFlagAdmin, 1) + flagBitmap.SetBit(flagBitmap, UserFlagAdmin, 1) } else { - flagBitmap.SetBit(flagBitmap, userFlagAdmin, 0) + flagBitmap.SetBit(flagBitmap, UserFlagAdmin, 0) } binary.BigEndian.PutUint16(c.Flags, uint16(flagBitmap.Int64())) @@ -808,7 +808,7 @@ func HandleUpdateUser(cc *ClientConn, t *Transaction) (res []Transaction, err er } newAccess := accessBitmap{} - copy(newAccess[:], getField(FieldUserAccess, &subFields).Data[:]) + copy(newAccess[:], getField(FieldUserAccess, &subFields).Data) // Prevent account from creating new account with greater permission for i := 0; i < 64; i++ { @@ -846,7 +846,7 @@ func HandleNewUser(cc *ClientConn, t *Transaction) (res []Transaction, err error } newAccess := accessBitmap{} - copy(newAccess[:], t.GetField(FieldUserAccess).Data[:]) + copy(newAccess[:], t.GetField(FieldUserAccess).Data) // Prevent account from creating new account with greater permission for i := 0; i < 64; i++ { @@ -955,13 +955,13 @@ func HandleTranAgreed(cc *ClientConn, t *Transaction) (res []Transaction, err er // Check refuse private PM option if optBitmap.Bit(refusePM) == 1 { - flagBitmap.SetBit(flagBitmap, userFlagRefusePM, 1) + flagBitmap.SetBit(flagBitmap, UserFlagRefusePM, 1) binary.BigEndian.PutUint16(cc.Flags, uint16(flagBitmap.Int64())) } // Check refuse private chat option if optBitmap.Bit(refuseChat) == 1 { - flagBitmap.SetBit(flagBitmap, userFLagRefusePChat, 1) + flagBitmap.SetBit(flagBitmap, UserFlagRefusePChat, 1) binary.BigEndian.PutUint16(cc.Flags, uint16(flagBitmap.Int64())) } @@ -1015,7 +1015,7 @@ func HandleTranOldPostNews(cc *ClientConn, t *Transaction) (res []Transaction, e } newsPost := fmt.Sprintf(newsTemplate+"\r", cc.UserName, time.Now().Format(newsDateTemplate), t.GetField(FieldData).Data) - newsPost = strings.Replace(newsPost, "\n", "\r", -1) + newsPost = strings.ReplaceAll(newsPost, "\n", "\r") // update news in memory cc.Server.FlatNews = append([]byte(newsPost), cc.Server.FlatNews...) @@ -1066,7 +1066,6 @@ func HandleDisconnectUser(cc *ClientConn, t *Transaction) (res []Transaction, er banUntil := time.Now().Add(tempBanDuration) cc.Server.banList[strings.Split(clientConn.RemoteAddr, ":")[0]] = &banUntil - cc.Server.writeBanList() case 2: // send message: "You are permanently banned on this server" cc.logger.Infow("Disconnect & ban " + string(clientConn.UserName)) @@ -1079,7 +1078,11 @@ func HandleDisconnectUser(cc *ClientConn, t *Transaction) (res []Transaction, er )) cc.Server.banList[strings.Split(clientConn.RemoteAddr, ":")[0]] = nil - cc.Server.writeBanList() + } + + err := cc.Server.writeBanList() + if err != nil { + return res, err } } @@ -1605,7 +1608,6 @@ func HandleUploadFile(cc *ClientConn, t *Transaction) (res []Transaction, err er // client has requested to resume a partially transferred file if transferOptions != nil { - fileInfo, err := cc.Server.FS.Stat(fullFilePath + incompleteFileSuffix) if err != nil { return res, err @@ -1645,10 +1647,10 @@ 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))) - flagBitmap.SetBit(flagBitmap, userFlagRefusePM, optBitmap.Bit(refusePM)) + flagBitmap.SetBit(flagBitmap, UserFlagRefusePM, optBitmap.Bit(refusePM)) binary.BigEndian.PutUint16(cc.Flags, uint16(flagBitmap.Int64())) - flagBitmap.SetBit(flagBitmap, userFLagRefusePChat, optBitmap.Bit(refuseChat)) + flagBitmap.SetBit(flagBitmap, UserFlagRefusePChat, optBitmap.Bit(refuseChat)) binary.BigEndian.PutUint16(cc.Flags, uint16(flagBitmap.Int64())) // Check auto response @@ -1743,7 +1745,7 @@ func HandleInviteNewChat(cc *ClientConn, t *Transaction) (res []Transaction, err targetClient := cc.Server.Clients[binary.BigEndian.Uint16(targetID)] flagBitmap := big.NewInt(int64(binary.BigEndian.Uint16(targetClient.Flags))) - if flagBitmap.Bit(userFLagRefusePChat) == 1 { + if flagBitmap.Bit(UserFlagRefusePChat) == 1 { res = append(res, *NewTransaction( TranServerMsg,