-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
PAM: Add support for more native pam features and initial support for gdm #2
Conversation
83160c0
to
b3fbd82
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Excellent work!
I’m not a big fan of installing an external action to install dependencies, but we will get to it.
As a remark, we are slightly going to change the API with some customer's feedback, but doing this (and reforming the PAM module with a better UI model approach), I will cherry-pick some of your changes there to incorporate them, so that you can rebase on it.
We need to discuss also about the user experience (I think the broker should have an image associated with it, also the broker could be changed after the user name if needed and so on…)
Ok, mean time I've rebased this on main. |
It's just better as it can be used both by terminal apps and other interactive UIs, without any assumption on the terminal in use, this is mostly due to the fact that a PAM client may be remote (as in SSH case) and so we can't assume that is always using a terminal. As per this, generalize the case trying to use the PAM APIs all the times, while using the terminal specific features if that's possible. So that ideally we can also share some of them with GDM ops.
Use a more object-oriented implementation, for what go allows to generalize the clients types. Basically for now we support two kinds of clients, that may behave differently: - Simple standard PAM client (as for remote access) - Terminal client (an interactive terminal as in sudo) This will allow to support graphical clients in an easier way.
Let’s archive this for now as the code moved quite a lot. |
Various changes while learning this on the go... In particular:
Some shell interaction can be tested with hacks like: