mirror of
https://github.com/rclone/rclone.git
synced 2025-12-17 08:43:19 +00:00
Compare commits
1 Commits
v1.72.1
...
fix-mega-d
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
aefe18fc41 |
19
vendor/github.com/t3rm1n4l/go-mega/mega.go
generated
vendored
19
vendor/github.com/t3rm1n4l/go-mega/mega.go
generated
vendored
@@ -704,11 +704,20 @@ func (m *Mega) addFSNode(itm FSNode) (*Node, error) {
|
|||||||
switch {
|
switch {
|
||||||
case itm.T == FOLDER || itm.T == FILE:
|
case itm.T == FOLDER || itm.T == FILE:
|
||||||
args := strings.Split(itm.Key, ":")
|
args := strings.Split(itm.Key, ":")
|
||||||
|
if len(args) < 2 {
|
||||||
|
return nil, fmt.Errorf("not enough : in item.Key: %q", itm.Key)
|
||||||
|
}
|
||||||
|
itemUser, itemKey := args[0], args[1]
|
||||||
|
itemKeyParts := strings.Split(itemKey, "/")
|
||||||
|
if len(itemKeyParts) >= 2 {
|
||||||
|
itemKey = itemKeyParts[0]
|
||||||
|
// the other part is maybe a share key handle?
|
||||||
|
}
|
||||||
|
|
||||||
switch {
|
switch {
|
||||||
// File or folder owned by current user
|
// File or folder owned by current user
|
||||||
case args[0] == itm.User:
|
case itemUser == itm.User:
|
||||||
buf, err := base64urldecode(args[1])
|
buf, err := base64urldecode(itemKey)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@@ -736,7 +745,7 @@ func (m *Mega) addFSNode(itm FSNode) (*Node, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
m.FS.skmap[itm.Hash] = itm.SKey
|
m.FS.skmap[itm.Hash] = itm.SKey
|
||||||
buf, err := base64urldecode(args[1])
|
buf, err := base64urldecode(itemKey)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@@ -750,7 +759,7 @@ func (m *Mega) addFSNode(itm FSNode) (*Node, error) {
|
|||||||
}
|
}
|
||||||
// Shared file
|
// Shared file
|
||||||
default:
|
default:
|
||||||
k := m.FS.skmap[args[0]]
|
k := m.FS.skmap[itemUser]
|
||||||
b, err := base64urldecode(k)
|
b, err := base64urldecode(k)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
@@ -763,7 +772,7 @@ func (m *Mega) addFSNode(itm FSNode) (*Node, error) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
buf, err := base64urldecode(args[1])
|
buf, err := base64urldecode(itemKey)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user