[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Bug/Problem ${HOME} variable not honored on WIndows


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.








Follow-Ups:
Re: Bug/Problem ${HOME} variable not honored on WIndowsAndreas Schneider <asn@xxxxxxxxxxxxxx>
Archive administrator: postmaster@lists.cynapses.org