diff options
| author | Jeff Halter <868228+jhalter@users.noreply.github.com> | 2022-01-30 20:59:47 -0800 |
|---|---|---|
| committer | Jeff Halter <jeff.d.halter@gmail.com> | 2022-01-30 20:59:47 -0800 |
| commit | a0241c250de01f32eacba2afee3f7d5cea30b8e5 (patch) | |
| tree | adb3f7d2401e7d73ce9b7e288cc6a46764f29f8a /hotline/transaction_handlers.go | |
| parent | d492c46d7e2087114d25f64823de9027592d5fc4 (diff) | |
Initial permission handling refactor
Diffstat (limited to 'hotline/transaction_handlers.go')
| -rw-r--r-- | hotline/transaction_handlers.go | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/hotline/transaction_handlers.go b/hotline/transaction_handlers.go index ea6d087..ea46499 100644 --- a/hotline/transaction_handlers.go +++ b/hotline/transaction_handlers.go @@ -273,7 +273,7 @@ var TransactionHandlers = map[uint16]TransactionType{ Handler: HandleSetUser, }, tranUploadFile: { - Access: accessUploadFile, + Access: accessAlwaysAllow, DenyMsg: "You are not allowed to upload files.", Name: "tranUploadFile", Handler: HandleUploadFile, @@ -1323,21 +1323,25 @@ func HandleUploadFolder(cc *ClientConn, t *Transaction) (res []Transaction, err } func HandleUploadFile(cc *ClientConn, t *Transaction) (res []Transaction, err error) { + // TODO: add permission handing for upload folders and drop boxes + if !authorize(cc.Account.Access, accessUploadFile) { + res = append(res, cc.NewErrReply(t, "You are not allowed to upload files.")) + return res, err + } + fileName := t.GetField(fieldFileName).Data filePath := t.GetField(fieldFilePath).Data transactionRef := cc.Server.NewTransactionRef() data := binary.BigEndian.Uint32(transactionRef) - fileTransfer := &FileTransfer{ + cc.Server.FileTransfers[data] = &FileTransfer{ FileName: fileName, FilePath: filePath, ReferenceNumber: transactionRef, Type: FileUpload, } - cc.Server.FileTransfers[data] = fileTransfer - res = append(res, cc.NewReply(t, NewField(fieldRefNum, transactionRef))) return res, err } |