Commit Graph

14 Commits

Author SHA1 Message Date
Michael Pfaff 87bf36e5e7
Update README.md 2023-08-08 20:55:19 -04:00
Michael Pfaff a45e57803a
Update README.md 2023-08-08 20:48:45 -04:00
Michael Pfaff cc71f5bb9a
Clean up code, add link to etc-passwd crate 2023-08-08 20:45:52 -04:00
Michael Pfaff 0e48e930ba
Verbose flag, improved log output, optimized (de)serialization 2023-06-11 22:56:31 -04:00
Michael Pfaff 413e0eaea5
Revert back to rmp_serde::to_vec 2023-06-11 00:15:45 -04:00
Michael Pfaff 7b50417ba7
WIP public key authentication
- Implemented public key authentication
    - TODO: figure out key selection (I refuse to resort to sending all
      public keys to the server)
- Refactoring
2023-06-11 00:10:07 -04:00
Michael Pfaff 4214a999b8
Add TCP port forwarding
- Add TCP port forwarding (TODO reverse port forwarding and UDP port forwarding)
- Adjust logging
- Cleanup some code
- Remove call to `pam_open_session` because it only works once for each
  user before the process must be restarted
2023-06-09 18:42:24 -04:00
Michael Pfaff 70b8ff57f5
Allow building without server 2023-06-09 09:45:54 -04:00
Michael Pfaff ba5fa16cc1
Use upstream pam_client on non-macos platforms 2023-06-09 09:31:17 -04:00
Michael Pfaff 7901a2a0b0
Work
- 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.
2023-06-08 00:33:56 -04:00
Michael Pfaff b538e148d1
Remove root certificate loading in client 2023-06-06 23:37:40 -04:00
Michael Pfaff 545ec4ebc4
Rename, rudimentary host verification
- Rename to quinoa
- Implement rudimentary host verification (byte-for-byte equality check
  on certificate)
  - While the verification algorithm is rudimentary, the storage and
    handling/UI is completely acceptable, almost on par with that of SSH
- Fixed termios reset on exit
- There is to be a bug when using the fish shell that breaks things when
  navigating the history with the arrow keys
2023-06-06 23:33:02 -04:00
Michael Pfaff e3d610e9ad
Authentication, better performance, better error handling 2023-06-06 20:07:10 -04:00
Michael Pfaff 96b1a94a4a
Initial commit 2023-06-06 00:32:07 -04:00