)
const (
- accessAlwaysAllow = -1 // Some transactions are always allowed
-
// File System Maintenance
accessDeleteFile = 0
accessUploadFile = 1
accessOpenUser = 16
accessModifyUser = 17
// accessChangeOwnPass = 18 // Documented but unused?
- //accessSendPrivMsg = 19 // This doesn't do what it seems like it should do. TODO: Investigate
+ // accessSendPrivMsg = 19 // This doesn't do what it seems like it should do. TODO: Investigate
accessNewsReadArt = 20
accessNewsPostArt = 21
accessDisconUser = 22 // Toggles red user name in user list
accessCannotBeDiscon = 23
accessGetClientInfo = 24
- //accessUploadAnywhere = 25
- //accessAnyName = 26
- //accessNoAgreement = 27
- //accessSetFileComment = 28
- //accessSetFolderComment = 29
- //accessViewDropBoxes = 30
- //accessMakeAlias = 31
- accessBroadcast = 32
- accessNewsDeleteArt = 33
- accessNewsCreateCat = 34
- //accessNewsDeleteCat = 35
+ accessUploadAnywhere = 25
+ // accessAnyName = 26
+ // accessNoAgreement = 27
+ accessSetFileComment = 28
+ accessSetFolderComment = 29
+ accessViewDropBoxes = 30
+ accessMakeAlias = 31
+ accessBroadcast = 32
+ accessNewsDeleteArt = 33
+ accessNewsCreateCat = 34
+ // accessNewsDeleteCat = 35
accessNewsCreateFldr = 36
- //accessNewsDeleteFldr = 37
+ // accessNewsDeleteFldr = 37
)
type accessBitmap [8]byte
// authorize checks if 64 bit access slice contain has accessBit set
// TODO: refactor to use accessBitmap type
func authorize(access *[]byte, accessBit int) bool {
- if accessBit == accessAlwaysAllow {
- return true
- }
bits := big.NewInt(int64(binary.BigEndian.Uint64(*access)))
return bits.Bit(63-accessBit) == 1