xebialabs / overthere

Runs something "Over there"

Home Page:http://www.xebialabs.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Refactor WinRM out of CIFS?

rveznaver opened this issue · comments

I would like to propose a refactor of WinRM out of the CIFS package.
The current implementation is written as if WinRM is just an extension of the CIFS protocol, whereas it is a protocol with a different purpose and logic behind it (i.e. it uses a different authentication model from CIFS). I could try to do a pull request, however I would like to know if the project owners would be on board with it?
Thanks!

P.S.: I believe this is needed to cleanly implement more authentication options like #143.

At the moment not entirely yet. The idea is that for a "complete" connection you need two parts, the execution part and the file management part.

In the case of SSH the file-copying is handled by either the SCP or SFTP protocol, whereas the execution part is not configurable (just SSH).

For the Windows world there is also not a 1-cut solution. You need WinRM or Telnet for the execution part, and CIFS for the file-management part of the connection. So they're quite intermingled.

What do you think @vpartington?

Ok, if the idea is to have a "complete" connection, then couldn't the mixing and matching of protocols be handled by a lighter wrapper? For example, if you put a SSH server on a Windows machine, you could have CIFS file management with SSH remote execution and a different authentication type.

The tight coupling of the file management and execution protocols makes it quite hard to configure one part independently from the other.

Actually, the fact that file manipulation and command execution are tied so closely is something that has annoyed me for a long time already. The ability to mix and match both would indeed be nice.

Haven't gotten around to actually implementing this though, but a pull request would be welcome! :-)

Of course we'd then need to figure out how to make this backwards compatible...

+1 :)