Michael Pfaff
7901a2a0b0
- Automatic terminfo installation - Some very nasty code for this support. To be cleaned up at a later point. - Seemingly correct privilege dropping/impersonation for spawning user shells - Run the user's shell from /etc/passwd (but uses the libc api instead of accessing the file directly) - Seems to have fixed the bug when using the fish shell that was mentioned in a previous commit - A parser for the `id` command, used for determining the UID, GID, and supplementary groups of a given user by name (could get the UID and GID from the same API used to get the shell, but would miss out on supplementary groups). - Temporarily disabled `Stream::Exec` until it can be brought up to speed with improvements made to `Stream::Shell` - Added a workaround for an oddity in PAM authentication - Further testing has suggested that the "workaround" might have been a fluke/misunderstanding of the problem. Further testing is needed. |
||
---|---|---|
src | ||
.gitignore | ||
Cargo.lock | ||
Cargo.toml | ||
README.md |
README.md
Resources
Some resources used in the development of the program.
- https://www.linuxquestions.org/questions/programming-9/how-to-set-pseudo-terminal-non-blocking-690846/
- https://meli.delivery/posts/2019-10-25-making-a-quick-and-dirty-terminal-emulator.html
- https://viewsourcecode.org/snaptoken/kilo/02.enteringRawMode.html
- https://www.digitalocean.com/community/tutorials/understanding-the-ssh-encryption-and-connection-process