Problem statement:
Users get DIFFERENT HOME directory locations depending if they are attached
to windows network (ie: corporate network)
Or if the user is not attached to the Server.
Where this occurs:
This problem boils up into GIT on Windows when switching between a network
configuration and a non-network configuration
Where does the problem occur:
This problem occurs in the function ${libssh}/src/misc.c - function
ssh_get_user_home_dir()
The windows implementation should honor the $HOME variable, it currently does
not.
The windows implementation calls SHGetSpecialFolderPath( ..., CSIDL_PROFILE,
TRUE )
Effectively - this is described as: C:\users\<USERNAME> - aka: The windows
Home Directory
HOWEVER - when attached to a microsoft network this often becomes a location on
the corporate network, I believe this has to do with "roaming profiles" - of
which I cannot control the corporate powers that be - they make the rules not
me, I live with the rules.
The result of which is that "~/.ssh" - dynamically changes from
c:\users\<USERNAME>\.ssh to \\someserver\someplace\yourprofile
Which means various SSH keys are stored on the server, and other times stored
on the local machine.
As a result - if I turn on my laptop and connect to the corporate server - My
home directory (PROFILE DIR) points at the server.
If I then close up (suspend) my laptop and restart somewhere else without a
connection to the corporate server my PROFILE_DIR points to my C drive
My belief is this: libssh and thus the rest of SSH should honor the ${HOME}
variable
The Unix implementation does use the $HOME variable
It currently does not.