IssueRaiser

In order to make a native SSH server, Windows need pseudoconsoles (analogous to pseudoterminals in POSIXland).

In order to make a native SSH server, Windows need pseudoconsoles (analogous to pseudoterminals in POSIXland). That is, it must be possible for a random program to create a handle that supports operations like SetConsoleCursorPosition without having to call AllocConsole. Calling AllocConsole is a problem because there's no way to monitor what programs are doing with that console except scraping it. (The accessibility hooks are insufficient because if you try to access the console from inside them, you deadlock, and if you queue an access request for later, you race.) Since consoles are real kernel objects since Windows 8 and talk to conhost over IPC anyway , this feature is eminently doable. It's been my top feature requests for years. Nobody's gotten around to it. Pseudoconsoles would be a bit more complicated than POSIX pseudoterminals because Windows consoles have more features, but the basic concept would transplant beautifully. It'd also make Cygwin a lot better. I miss working on operating systems.

Posted by quotemstr on Apr 8, 2015, 10:33 PM

Tags

Related issues

Raise real-world problems, find people facing the same issue, and discuss solutions.7,000 issues0 comments

hackernews (E-commerce)

In order to make a native SSH server, Windows need pseudoconsoles (analogous to pseudoterminals in POSIXland).

quotemstrApr 8, 2015, 10:33 PM

In order to make a native SSH server, Windows need pseudoconsoles (analogous to pseudoterminals in POSIXland). That is, it must be possible for a random program to create a handle that supports operations like SetConsoleCursorPosition without having to call AllocConsole. Calling AllocConsole is a problem because there's no way to monitor what programs are doing with that console except scraping it. (The accessibility hooks are insufficient because if you try to access the console from inside them, you deadlock, and if you queue an access request for later, you race.) Since consoles are real kernel objects since Windows 8 and talk to conhost over IPC anyway , this feature is eminently doable. It's been my top feature requests for years. Nobody's gotten around to it. Pseudoconsoles would be a bit more complicated than POSIX pseudoterminals because Windows consoles have more features, but the basic concept would transplant beautifully. It'd also make Cygwin a lot better. I miss working on operating systems.

Comments (0)

No comments yet. Start the discussion.

Comment on this issue