-
Notifications
You must be signed in to change notification settings - Fork 357
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
This is an amazing tool, but I found a little bug in your code! #122
Comments
Thanks for trying it out and the kind words @l0kihardt! It seems like the I'll have a look at these asap, but your suggestions make sense 😃 Thanks again 🙏 |
Reading through this it looks like the
The flag needs to be set in the loop as it should be part of the PropertyRow (page 70): https://interoperability.blob.core.windows.net/files/MS-OXCDATA/%5BMS-OXCDATA%5D-080627.pdf |
The bug happens when your mother tongue is not English.
When I send the
mapi.RopQueryRowsRequest
request to the Exchange server with property tagsmapi.PidTagDisplayName
andmapi.PidTagFolderID
.The response looks like this.
The response data itself looks correct with
folderID
andfolderName
, but whenruler
tries to read these tags withmapi.UnmarshalRops
, bug happens.If the language setting of the current user is not English, the end of the
folderName
will be0x00 0x00
, bug if the language setting of the current user is English, the end of thefolderName
will be0x00 0x00 0x00
.So the code should be like this, otherwise a NULL byte will be eaten.
Also, When I send the
mapi.RopQueryRowsRequest
request to the Exchange Server 2016. I found that there is only oneflag
in the response.So the code in the function
(queryRows *RopQueryRowsResponse) Unmarshal(resp []byte, properties []PropertyTag) (int, error)
should be like thisThe text was updated successfully, but these errors were encountered: