Skip to content
This repository has been archived by the owner on Apr 19, 2024. It is now read-only.

If sessions are stored in Skydrive on Windows 8.1, behaviour is undefined #125

Open
ghost opened this issue Dec 28, 2013 · 2 comments
Open

Comments

@ghost
Copy link

ghost commented Dec 28, 2013

If I have a session file stored in Skydrive on Windows 8.1 (so possibly the Documents folder), and that file has not been downloaded from the Net, Putty will show that session in the list but not load any settings from it.

The relevant API is http://msdn.microsoft.com/en-us/library/windows/desktop/dn323738%28v=vs.85%29.aspx but I'm not sure how you'd implement this in a portable way.

Expected results are:

Open Putty --> Select session from list --> Hit Load --> Session file is downloaded if it isn't local already --> Hit Open --> Session opens

Current results are:

Open Putty --> Select session from list --> Hit Load --> No hostname is loaded, no error is displayed

@FauxFaux
Copy link
Owner

I reproduced something like this by booting PuTTYTray (having the session list open), then deleting the session file out from under it, and getting no error. I've made it at least give an error.

I'm not sure I understand what SkyDrive specific behaviour you'd expect there? I guess it could say "I couldn't find the file because SkyDrive's semantics here are utterly bizarre", but that doesn't seem all that useful?

@twpol
Copy link
Contributor

twpol commented Dec 28, 2013

The files are marked as system & hidden, and when accessed via the shell API there's nothing bizarre about it (it just works by blocking). Note that various other Windows (mostly server) components have been doing this reparse-point-not-really-a-file thing for years (SIS, DFS, etc.).

You could filter the files out when listing them, but that seems poor, or you should force them to be loaded when needed. It should be possible to have a Windows-only function that does the check in that MSDN article for IO_REPARSE_TAG_FILE_PLACEHOLDER and invokes IShellItem::BindToHandler on it, before continuing the normal code path to open & read the file.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants