Handler: HandleSetUser,
},
tranUploadFile: {
- Access: accessUploadFile,
+ Access: accessAlwaysAllow,
DenyMsg: "You are not allowed to upload files.",
Name: "tranUploadFile",
Handler: HandleUploadFile,
}
func HandleTranAgreed(cc *ClientConn, t *Transaction) (res []Transaction, err error) {
- bs := make([]byte, 2)
- binary.BigEndian.PutUint16(bs, *cc.Server.NextGuestID)
-
+ cc.Agreed = true
cc.UserName = t.GetField(fieldUserName).Data
- *cc.ID = bs
*cc.Icon = t.GetField(fieldUserIconID).Data
options := t.GetField(fieldOptions).Data
}
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
}
return res, err
}
-// HandleKeepAlive response to keepalive transactions with an empty reply
-// HL 1.9.2 Client sends keepalive msg every 3 minutes
-// HL 1.2.3 Client doesn't send keepalives
+// HandleKeepAlive responds to keepalive transactions with an empty reply
+// * HL 1.9.2 Client sends keepalive msg every 3 minutes
+// * HL 1.2.3 Client doesn't send keepalives
func HandleKeepAlive(cc *ClientConn, t *Transaction) (res []Transaction, err error) {
res = append(res, cc.NewReply(t))