kde-workspace/kcheckpass
Ivailo Monev 9b8fd856be kcheckpass: actually set and restore effective user ID if required
it did not had to be SUID to begin with because neither setuid() nor
seteuid() were used previously in any of the backends, fixes password check
with shadow backend

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-02-22 06:38:54 +02:00
..
checkpass_etcpasswd.c initial import 2014-11-13 19:30:51 +02:00
checkpass_pam.c kcheckpass: indent and format 2021-02-20 03:20:32 +02:00
checkpass_shadow.c kcheckpass: actually set and restore effective user ID if required 2021-02-22 06:38:54 +02:00
CMakeLists.txt kcheckpass: make use of the PERMISSIONS option of install() 2021-02-22 04:50:45 +02:00
config-kcheckpass.h.cmake initial import 2014-11-13 19:30:51 +02:00
kcheckpass-enums.h initial import 2014-11-13 19:30:51 +02:00
kcheckpass.c kcheckpass: initialize static variables 2021-02-21 04:26:18 +02:00
kcheckpass.h generic: drop support for operating systems Katie does not support 2020-10-26 16:45:13 +02:00
README initial import 2014-11-13 19:30:51 +02:00

The KCheckPass authentication software:
-----------------------------------------

KCheckPass is KDE's authentication program. It is meant to be
used by any software in need of user authentication, most
notably screensavers.

It enhances security be the following means:

- It's only a small program, which is hopefully simple enough to
  allow it to be SUID root. Setting it to SUID root is necessary
  on Shadow Password systems.
- No other program in need of user authentication, must be
  SUID root.
- It provides a single implementation to check passwords. So one
  only must take a closer look at KCheckPass to ensure password
  security. It's much easier for programs using KCheckPass to
  preserve security.


Technique:
----------
KCheckPass is a simple password checker. Just invoke and
send it the password on stdin.

If the password was accepted, the program exits with 0;
if it was rejected, it exits with 1. Any other exit
code signals an error.



Compilation hints:
------------------
Compile with -DHAVE_VSYSLOG if you have vsyslog().
Compile with -DHAVE_PAM if you have a PAM system, and link with -lpam -ldl
  (If libdl is present).
Compile with -DHAVE_SHADOW if you have a shadow password system.

Copyright, Author and License notice:
-------------------------------------
Copyright (C) 1998, Caldera, Inc.
Released under the GNU General Public License

Olaf Kirch <okir@caldera.de>      General Framework and PAM support
Christian Esken <esken@kde.org>   Shadow and /etc/passwd support

Some parts were taken from kscreensaver's passwd.cpp

Currently this Software is maintained by Oswald Buddenhagen <ossi@kde.org>.
Please send new authentication modules (checkpass_*.cpp) to me.