Commit Graph

253 Commits

Author SHA1 Message Date
Karel Zak 8d35bdc917 build-sys: cleanup HAVE_LIBCRYPT
Signed-off-by: Karel Zak <kzak@redhat.com>
2011-11-03 12:32:50 +01:00
Karel Zak cc0d0cba56 chsh: remove non-PAM code
Signed-off-by: Karel Zak <kzak@redhat.com>
2011-11-03 12:32:50 +01:00
Karel Zak 5c47aa72f2 chfn: remove non-PAM code
Signed-off-by: Karel Zak <kzak@redhat.com>
2011-11-03 12:32:50 +01:00
Karel Zak 684b8860de login: remove unnecessary ifdef HAVE_CRYPT_H
Signed-off-by: Karel Zak <kzak@redhat.com>
2011-11-03 12:32:50 +01:00
Karel Zak ee74f262bc login: cosmetic changes in docs
Signed-off-by: Karel Zak <kzak@redhat.com>
2011-10-26 23:17:18 +02:00
Karel Zak 9f7293ea88 login: use ENV_PATH and ENV_{ROOT,SU}PATH from login.defs
Signed-off-by: Karel Zak <kzak@redhat.com>
2011-10-26 23:17:18 +02:00
Karel Zak 92e386cac1 login: add -H option for compatibility with Suse
Note that our login(1) uses hostname without domain, so:

	"foo login: "

this is compatible with the default agetty(8) behavior.

Signed-off-by: Karel Zak <kzak@redhat.com>
2011-10-26 23:17:17 +02:00
Karel Zak cea8ec53de login: use LOG_UNKFAIL_ENAB from login.defs, improve logging
Signed-off-by: Karel Zak <kzak@redhat.com>
2011-10-26 23:17:17 +02:00
Karel Zak 91d0a91357 login: use DEFAULT_HOME from login.defs
Signed-off-by: Karel Zak <kzak@redhat.com>
2011-10-26 23:17:17 +02:00
Karel Zak 84d3c9ffb3 login: use HUSHLOGIN_FILE from login.defs
Note that Suse login(1) does not use any default for HUSHLOGIN_FILE.
We use /etc/hushlogins and ~/.hushlogin as default.

The another difference is that *empty* global (e.g. /etc/hushlogins)
means that hushed mode will be enabled for all accounts.

Signed-off-by: Karel Zak <kzak@redhat.com>
2011-10-26 23:17:17 +02:00
Karel Zak 45d0a30ea3 login: use TTYGROUP from login.defs
Note that Suse login(1) does not use any default for TTYGROUP, it
means that TTYGROUP has to be explicitly defined otherwise user\'s
primary group is used.

The util-linux login(1) uses 'tty' group name as a default value.

Signed-off-by: Karel Zak <kzak@redhat.com>
2011-10-26 23:17:17 +02:00
Karel Zak 738246edba login: use TTYPERM from login.defs
Signed-off-by: Karel Zak <kzak@redhat.com>
2011-10-26 23:17:17 +02:00
Karel Zak ca5ee2a83d login: use FAIL_DELAY from login.defs
Signed-off-by: Karel Zak <kzak@redhat.com>
2011-10-26 23:17:17 +02:00
Karel Zak 9abd9cded9 login: use LOGIN_TIMEOUT from login.defs
Signed-off-by: Karel Zak <kzak@redhat.com>
2011-10-26 23:17:17 +02:00
Karel Zak 4d8fc09c27 login: rewrite motd(), use MOTD_FILE from login.defs
Note that Suse login(1) does not use any default for MOTD_FILE, so
MOTD_FILE item in login.defs is required otherwise nothing is printed.

We use (for backward compatibility) /etc/motd as default.

Signed-off-by: Karel Zak <kzak@redhat.com>
2011-10-26 23:17:17 +02:00
Karel Zak 7d6b450d7b login: remove obsolete info from man page
Signed-off-by: Karel Zak <kzak@redhat.com>
2011-10-26 23:17:17 +02:00
Karel Zak c82d9c977c login: add login.defs code and tests
The new logindefs.c file contains /etc/login.defs parser and functions
for searching in the list of the login default variables. The patch
also contains a new regression test for the code.

Based on pam_login-4.0 from Suse.

Signed-off-by: Karel Zak <kzak@redhat.com>
2011-10-26 23:17:17 +02:00
Karel Zak c293a7e8ae tests: cleanup islocal test
Signed-off-by: Karel Zak <kzak@redhat.com>
2011-10-26 23:17:17 +02:00
Karel Zak cbbd518594 login: host{name,address} initialization refactoring
Signed-off-by: Karel Zak <kzak@redhat.com>
2011-10-26 23:17:17 +02:00
Karel Zak fc32d43e06 login: remove unnecessary variables
Signed-off-by: Karel Zak <kzak@redhat.com>
2011-10-26 23:17:17 +02:00
Karel Zak 9abc9dabc5 login: move signal stuff to the one place
Signed-off-by: Karel Zak <kzak@redhat.com>
2011-10-26 23:17:17 +02:00
Karel Zak 516b00c428 login: log good logins refactoring
Signed-off-by: Karel Zak <kzak@redhat.com>
2011-10-26 23:17:17 +02:00
Karel Zak a2e84c7dbe login: use xalloc.h
Signed-off-by: Karel Zak <kzak@redhat.com>
2011-10-26 23:17:17 +02:00
Karel Zak 241e456515 login: env initialization refactoring
Signed-off-by: Karel Zak <kzak@redhat.com>
2011-10-26 23:17:17 +02:00
Karel Zak a169a454e9 login: fork & session initialization refactoring
Signed-off-by: Karel Zak <kzak@redhat.com>
2011-10-26 23:17:17 +02:00
Karel Zak 4ab0df0ae2 login: remove pam_handle_t from main()
Signed-off-by: Karel Zak <kzak@redhat.com>
2011-10-26 23:17:16 +02:00
Karel Zak 59a184d93a login: PAM session initialization refactoring
Signed-off-by: Karel Zak <kzak@redhat.com>
2011-10-26 23:17:16 +02:00
Karel Zak 98306fc5fe login: PAM account checks refactoring
Signed-off-by: Karel Zak <kzak@redhat.com>
2011-10-26 23:17:16 +02:00
Karel Zak a2de61779a login: PAM auth refactoring
Signed-off-by: Karel Zak <kzak@redhat.com>
2011-10-26 23:17:16 +02:00
Karel Zak eab72c4e05 login: PAM initialization refactoring
Signed-off-by: Karel Zak <kzak@redhat.com>
2011-10-26 23:17:16 +02:00
Karel Zak 721bbc66a5 login: remove unused code and tests
Signed-off-by: Karel Zak <kzak@redhat.com>
2011-10-26 23:17:16 +02:00
Karel Zak 918b1a9ddd login: improve hushed mode (merge suse changes)
Signed-off-by: Karel Zak <kzak@redhat.com>
2011-10-26 23:17:16 +02:00
Karel Zak a750743648 login: use setgroups(0, NULL) for root
Signed-off-by: Karel Zak <kzak@redhat.com>
2011-10-26 23:17:16 +02:00
Karel Zak ff0392a055 login: tty chown.chmod refactoring
Signed-off-by: Karel Zak <kzak@redhat.com>
2011-10-26 23:17:16 +02:00
Karel Zak 67e7076149 login: use getpwnam_r() rather than manually copy passwd struct
Signed-off-by: Karel Zak <kzak@redhat.com>
2011-10-26 23:17:16 +02:00
Karel Zak 6e3bc8a67a login: utmp code refactoring
Signed-off-by: Karel Zak <kzak@redhat.com>
2011-10-26 23:17:16 +02:00
Karel Zak 3761d0bb12 login: lastlog code refactoring
Signed-off-by: Karel Zak <kzak@redhat.com>
2011-10-26 23:17:16 +02:00
Karel Zak c3f974a13a login: use login_context struct in audit stuff
Signed-off-by: Karel Zak <kzak@redhat.com>
2011-10-26 23:17:16 +02:00
Karel Zak 3eb8b79796 login: add username to login_context struct
Signed-off-by: Karel Zak <kzak@redhat.com>
2011-10-26 23:17:16 +02:00
Karel Zak 0180264f41 login: add pid to login_context struct
Signed-off-by: Karel Zak <kzak@redhat.com>
2011-10-26 23:17:16 +02:00
Karel Zak d20337edc1 login: add hostname to login_context struct
Signed-off-by: Karel Zak <kzak@redhat.com>
2011-10-26 23:17:16 +02:00
Karel Zak 99f7c1312c login: add struct login_context, consolidate tty code
- move all tty_* variables to struct login_context

 - move all tty initialization code to init_tty()

 - LOG_ERR on failed tty ch{mod,own}
   [based on SUSE pam_login - note that we don't write any this error to stderr]

Signed-off-by: Karel Zak <kzak@redhat.com>
2011-10-26 23:17:16 +02:00
Karel Zak ab71156cfb login: indent -linux
Yeah, this patch is horrible, but necessary before a real changes to
the code...

Signed-off-by: Karel Zak <kzak@redhat.com>
2011-10-26 23:17:16 +02:00
Karel Zak 48f097880b login: remove obsolete code, clean up macros names
Signed-off-by: Karel Zak <kzak@redhat.com>
2011-10-26 23:17:16 +02:00
Karel Zak cb5acd69aa login: cleanup begin of the login.c file
Signed-off-by: Karel Zak <kzak@redhat.com>
2011-10-26 23:17:15 +02:00
Karel Zak 905045d49d login: remove PAM_FAIL_CHECK and PAM_END macros
* use function rather than horrible macros
 * rename get_pam_username -> loginpam_get_username

Signed-off-by: Karel Zak <kzak@redhat.com>
2011-10-26 23:17:15 +02:00
Karel Zak 9244d3c2a6 login: remove non-PAM code
If you need non-PAM login(1) then use shadow-utils or busybox.

Signed-off-by: Karel Zak <kzak@redhat.com>
2011-10-26 23:17:15 +02:00
Karel Zak 5d1a454ac9 login: move _PATH_BTMP to pathnames.h
Signed-off-by: Karel Zak <kzak@redhat.com>
2011-10-26 23:17:15 +02:00
Karel Zak 0d28a15703 login: remove dead code and comments
Signed-off-by: Karel Zak <kzak@redhat.com>
2011-10-26 23:17:15 +02:00
Karel Zak 9677febc18 login: remove kerberos specific code
The code has not been used ever. If you want to use kerberos then us
PAM...

Signed-off-by: Karel Zak <kzak@redhat.com>
2011-10-26 23:17:15 +02:00