-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
DFS support #21
DFS support #21
Conversation
@arashpayan can u merge? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Compilation error that needs to be resolved, otherwise the PR will break the library.
Thanks for providing the missing file. A few points:
I don't want to downplay the value that this will provide. It's still better than no DFS support, and that's great. But usage is based around the assumptions that:
Maybe the original developer anticipated some of this. Not sure! It's more likely that I'm stoopid and am missing something. Others are more than welcome to get into this and kick the tires. I have no affiliation to this project; I'm just interested in this functionality for my own needs, and my Golang and SMB knowledge are weak enough that I wouldn't consider my approval to carry any weight. All I'll really be able to do is give an "it works for my use case" thumbs-up. |
I intend to review it and bring it in. I'll be working on/with this package next week, so I'll have hours allocated to review this then. In the meantime, I'd appreciate any feedback from others similar to what @b-turchyn provided. I'm a complete novice when it comes to DFS so it'll take me some time to get up to speed, and there's a good chance I'll still overlook something. |
Don't worry. I haven't forgotten about this PR. I've recently been working on adding support for getting and setting security descriptors. Once I bring those changes into |
sorry is it possible to merge this? |
} | ||
|
||
// this is for handling multiple calls | ||
fs.mapWriterLock.Lock() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
panics with nil pointer as mapWriterLock is never set
|
||
//check if its present in the map | ||
//TODO: Add the TTL for this target and check here. Otherwise invalidate this cache entry | ||
cachedTargetList, ok := fs.dfsTargetList[getFirstChild(dfsname, dirname, isLink)] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
dfsTargetList is not initialized either
ctx context.Context | ||
ctx context.Context | ||
dfsTargetList map[string][]*DFSTarget //For caching the DFS targets for a path | ||
mapWriterLock *sync.RWMutex |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if you make it non pointer then you do not need to initialize it
stale |
Fixes #20
see hirochachacha/go-smb2#79
credit to @ashutosh-bhole-druva hirochachacha/go-smb2#79