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.







Reply via email to