1
0
mirror of https://github.com/Yubico/yubico-pam.git synced 2024-11-29 00:24:11 +01:00
Commit Graph

738 Commits

Author SHA1 Message Date
Gabriel Kihlman
b1fbb1ab64
Add missing header file missing in the last commit 2019-02-04 20:37:42 +01:00
Gabriel Kihlman
76034c1054
Scrub sensitive data from memory
Fixes issue #185
2019-02-04 19:50:30 +01:00
Klas Lindfors
456c2a125d
Merge branch 'pr-181' 2019-01-15 08:28:36 +01:00
James Magahern
413037c7e5 Fixes issue where if the challenge-response cannot be updated, the incorrect error message is displayed
If the PAM module cannot update the challenge response file (due to permissions errors, usually), the incorrect error message is displayed "Error communicating with YubiKey...".

This patch makes it so the correct error message is sent to the PAM client, which makes resolving this issue a lot easier.
2019-01-14 11:23:56 -08:00
Klas Lindfors
2b0756b5de
Merge branch 'pr-180' 2019-01-09 08:59:05 +01:00
Stephen Gelman
1c693f562c Add always_prompt configuration option to skip initial check for YubiKey
As raised in #174, ldap_bind_as_user cannot be used if this module is
set to get YubiKey+OTP because the initial ldap lookup fails (since the
password is not set yet).  `always_prompt` will stil the initial lookup,
meaning that the user will be given the chance to enter their password.
2019-01-08 04:51:13 +00:00
Klas Lindfors
3beba14eeb
Merge branch 'pr-179' 2019-01-02 08:57:35 +01:00
Tero Paloheimo
be2fdfdada Fix implicit declaration warning of mkostemp
mkostemp() requires the _GNU_SOURCE feature test macro.
See man 3 mkostemp.
2019-01-01 21:54:47 +02:00
Klas Lindfors
3d24e8fd02
Merge branch 'pr-172' 2018-11-13 09:27:24 +01:00
Stephen Gelman
c8c76fbf4c Add support for LDAP client certificate authentication
This adds support for using a client cert/key to authenticate to an LDAP
server.  It is separate from binding with a username and password and
can either be used alongside it or with an anonymous bind to the server.
2018-11-12 18:28:56 +00:00
Stephen Gelman
fc2dc1a025 Add STARTTLS support for LDAP
This allows connecting to LDAP servers that only listen on port 389 but
use STARTTLS to get a TLS connection
2018-11-12 18:28:56 +00:00
Stephen Gelman
8512e5cee8 Add ldap_bind_as_user support
This allows using the authenticating user's username and password to
bind to the LDAP server.  This is desirable because it allows for
looking up the yubikey attributes without needing to create a service
account.
2018-11-12 18:28:50 +00:00
Klas Lindfors
1fe13aa067
Merge branch 'pr-170' 2018-10-29 08:27:31 +01:00
Tero Paloheimo
2af4dafb55 Add man page building dependencies to README
Some further packages are needed to build the man page so I added them
to the README to other users who are building from source.
2018-10-27 13:57:04 +03:00
Klas Lindfors
3b6378e334
Merge branch 'pr-169' 2018-10-24 15:35:13 +02:00
Tero Paloheimo
9341f3477a Fix compiler warning in pam_test.c
Compiler cannot find the declaration for pm_sm_authenticate and prints
the following warning (split due to long line):
pam_test.c:184:10: warning: implicit declaration of function
‘pam_sm_authenticate’; did you mean ‘pam_authenticate’?
[-Wimplicit-function-declaration]
2018-10-24 16:29:11 +03:00
Klas Lindfors
a9b2057db9
Merge branch 'pr-167' 2018-09-13 21:20:56 +02:00
Björn Wiedenmann
bef666a899 Fix buffer overflow in write_chalresp_state()
Buffer was defined as CR_SALT_SIZE = 32 but number of random bytes
was CR_CHALLENGE_SIZE = 63.
2018-08-15 19:59:38 +02:00
Klas Lindfors
05f74ea8e5
Merge branch 'pr-165' 2018-05-23 10:56:26 +02:00
Klas Lindfors
7419287506
Merge branch 'pr-164' 2018-05-23 10:56:21 +02:00
Karol Babioch
6be87e75af Close file descriptors in case fdopen() fails
This makes sure that file descriptors will be closed, even if the
fdopen() call failes, which was overlooked in some cases beforehand.
Should be not an issue in the real world, but let's be as clean as
possible.
2018-05-22 17:27:21 +02:00
Karol Babioch
eb17d840a6 Fix minor typo 2018-05-22 17:24:24 +02:00
Klas Lindfors
b240534c46
Merge branch 'pr-163' 2018-05-18 12:26:50 +02:00
Karol Babioch
a68d3be1bc Make code C90 compliant
This moves variable declrations to the beginning of a block to be C90-compliant.
2018-05-18 12:22:07 +02:00
Klas Lindfors
13ce1b6f52
Merge branch 'pr-162' 2018-05-18 11:48:14 +02:00
Klas Lindfors
b72fa76113
Merge branch 'pr-156' 2018-05-18 11:47:18 +02:00
Karol Babioch
80e7484aea pam_yubico.c: Check for return codes of snprintf() 2018-05-17 16:31:36 +02:00
Karol Babioch
f77893a11c util.c: Check for return codes of snprintf() 2018-05-17 16:28:22 +02:00
Karol Babioch
2f172e3227 ykpamcfg.c: Check also for negative return code of snprintf() 2018-05-17 16:22:15 +02:00
Karol Babioch
f94095879a pam_yubico.c: Use snprintf() instead of sprintf() 2018-05-17 16:18:53 +02:00
Karol Babioch
0972986164 util.c: Check whether generate_random() was invoked successfully
This evaluates the return code from generate_random() within
write_chalresp_state() and returns immediately in case of an error.

This fixes #161.
2018-05-17 16:09:40 +02:00
Klas Lindfors
3339cd2864
add note about physical security. 2018-05-16 09:13:50 +02:00
Klas Lindfors
38e494cd74
Merge branch 'pr-160' 2018-05-07 08:42:58 +02:00
Karol Babioch
c32ddd9665 Limit action length when parsing arguments
This limits the allowable action length when arguments are parsed to
ACTION_MAX_LEN, since this might be exploited otherwise.
2018-05-04 17:06:59 +02:00
Karol Babioch
89c1622ba2 Use strncpy() instead of strcpy()
Not an issue, just the former is considered good practice.
2018-05-04 17:05:43 +02:00
Karol Babioch
66265a3343 ykpamcfg: Use snprintf() instead of strncpy()
strncpy() is _NOT_ a safe version of strcpy() and it should not be used
(ineffective and dangerous since a NUL termination might be missing).
Instead snprintf() the way to safely construct a string with a given
limit. This commit implements this for the action parsing in ykpamcfg.
2018-05-04 17:05:38 +02:00
Karol Babioch
a7c1d0adfd Check whether fullpath can be constructed correctly
This checks the return code of snprintf() and makes sure that fullpath
actually fits into a buffer of size PATH_MAX. Otherwise, it will output
an error and exit.
2018-05-04 17:05:29 +02:00
Karol Babioch
daad39345d Make use of PATH_MAX for fullpath
Instead of hardcoding the buffer size to 256, using PATH_MAX makes more
sense here, since this can be defined differently on different
platforms. This is not perfect, though, refer to [1] for some details.
In our case it should be good enough.

[1]: https://eklitzke.org/path-max-is-tricky
2018-05-04 17:05:15 +02:00
Karol Babioch
b9aaee97ab Remove double space after periods 2018-05-04 10:45:52 +02:00
Klas Lindfors
fa3833b0a0
Merge branch 'pr-154' 2018-05-03 11:56:54 +02:00
Karol Babioch
320f487265 Spell YubiKey consistently
This makes sure that YubiKey is spelled consistently throughout the project,
since it was spelled in many different ways beforehand.
2018-05-03 10:59:44 +02:00
Klas Lindfors
e0ef089300
Merge branch 'pr-155' 2018-05-03 09:45:39 +02:00
Klas Lindfors
0089f810c7
Merge branch 'pr-153' 2018-05-03 09:45:34 +02:00
Karol Babioch
4427abb932 README: Add Travis build status
This adds a Travis build status badge to the README file, so the current
status can be seen on the GitHub page instantly.
2018-05-02 15:39:02 +02:00
Klas Lindfors
95c6d854a7
travis: add check-doc-dist to test script 2018-05-02 15:28:08 +02:00
Karol Babioch
41e6554c66 Spell system-wide consistently throughout the project 2018-05-02 14:53:14 +02:00
Klas Lindfors
067d451a1e
Merge branch 'pr-152' 2018-05-02 14:38:20 +02:00
Karol Babioch
3ecd8ce267 Revise pam_yubico.8.txt man page
This makes the style of the man page more consistent with terms used
through the project in terms of spelling, etc.
2018-05-02 14:33:57 +02:00
Karol Babioch
67a40dbd2d Revise ykpamcfg.1.txt man page 2018-05-02 14:33:41 +02:00
Klas Lindfors
b86e9a2b42
Merge branch 'pr-151' 2018-05-02 14:04:32 +02:00