diff options
| author | Jeff Halter <868228+jhalter@users.noreply.github.com> | 2024-06-16 16:03:54 -0700 |
|---|---|---|
| committer | Jeff Halter <868228+jhalter@users.noreply.github.com> | 2024-06-16 16:05:25 -0700 |
| commit | 0ed5132769e88cb385b5240986b706430f0ccd72 (patch) | |
| tree | bd622161546d9db3293ba69afc9646bcdb24b2f4 /hotline/transaction_handlers.go | |
| parent | f6f1d88969e12eadb7013397cdad3c4c5625988c (diff) | |
Fix broken io.Reader implementations
Diffstat (limited to 'hotline/transaction_handlers.go')
| -rw-r--r-- | hotline/transaction_handlers.go | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/hotline/transaction_handlers.go b/hotline/transaction_handlers.go index 1a079f7..2d4eabd 100644 --- a/hotline/transaction_handlers.go +++ b/hotline/transaction_handlers.go @@ -749,7 +749,8 @@ func HandleListUsers(cc *ClientConn, t *Transaction) (res []Transaction, err err var userFields []Field for _, acc := range cc.Server.Accounts { - b, err := io.ReadAll(acc) + accCopy := *acc + b, err := io.ReadAll(&accCopy) if err != nil { return res, err } @@ -1432,6 +1433,9 @@ func HandlePostNewsArt(cc *ClientConn, t *Transaction) (res []Transaction, err e bs := make([]byte, 4) binary.BigEndian.PutUint32(bs, convertedArtID) + cc.Server.mux.Lock() + defer cc.Server.mux.Unlock() + newArt := NewsArtData{ Title: string(t.GetField(FieldNewsArtTitle).Data), Poster: string(cc.UserName), @@ -2053,19 +2057,11 @@ func HandleMakeAlias(cc *ClientConn, t *Transaction) (res []Transaction, err err // 107 FieldRefNum Used later for transfer // 108 FieldTransferSize Size of data to be downloaded func HandleDownloadBanner(cc *ClientConn, t *Transaction) (res []Transaction, err error) { - fi, err := cc.Server.FS.Stat(filepath.Join(cc.Server.ConfigDir, cc.Server.Config.BannerFile)) - if err != nil { - return res, err - } - ft := cc.newFileTransfer(bannerDownload, []byte{}, []byte{}, make([]byte, 4)) + binary.BigEndian.PutUint32(ft.TransferSize, uint32(len(cc.Server.banner))) - binary.BigEndian.PutUint32(ft.TransferSize, uint32(fi.Size())) - - res = append(res, cc.NewReply(t, + return append(res, cc.NewReply(t, NewField(FieldRefNum, ft.refNum[:]), NewField(FieldTransferSize, ft.TransferSize), - )) - - return res, err + )), err } |