summaryrefslogtreecommitdiff
path: root/pam_tacplus.c
AgeCommit message (Collapse)Author
2017-12-29RAND_pseudo_bytes() has been deprecated in OpenSSL 1.1.0. They tell usMartin Belanger
to use RAND_bytes() instead. Modified by Philip Prindeville <philipp@redfish-solutions.com>
2017-11-13changed memcpy to bcopyMartin Belanger
2017-11-13simplified copying vendor attrs (less buffers and mem copies) to PAM ↵Martin Belanger
environment and allow optional attrs (i.e. those specified with a * instead of =) to be added to the environment
2016-10-13Update pam_tacplus.cStan Xiang
Replacing strncpy() with strncpy()
2016-10-13Update pam_tacplus.cStan Xiang
2016-10-11Add files via uploadstanAtAtl
2016-09-29Turn on stricter compiler warningsPhilip Prindeville
And fix subsequent warnings caused by: - shadowed variables (i.e. variables existing in nested scopes); - signed vs. unsigned comparisons - string pointers and buffers being unsigned which don't need to be; - unnecessary casts; - unused variables (or only used when debugging is enabled);
2016-07-23source formattingPaweł Krawczyk
2016-06-29fix #56Paweł Krawczyk
2016-06-29fix #54Paweł Krawczyk
2016-06-29fix #56Paweł Krawczyk
2016-05-05zero the arep structure (Coverity #115822)Paweł Krawczyk
2016-05-02fix two possible memory leaksPaweł Krawczyk
2016-05-02cannot close() on negative tac_fdPaweł Krawczyk
2016-05-02tac_protocol is a static character array so it will be never NULLPaweł Krawczyk
2016-03-28Remove silly comment, fix compilation errorBen Schumacher
Thx @joakim-tjernlund
2016-03-25Password change support for TACACS+Ben Schumacher
Allow pam_tacplus to do challenge/response authentication for TAC backends that force password change during authentication flow. Also add support for password change via 'passwd' by implementing pam_sm_chauthtok. Amongst other things, this requires explicitly managing the sequence number for compatability with some versions of Cisco ACS.
2015-08-06tac_connect_single: individual timeoutDaniel Gollub
Allow to configure an individual timeout per TACACS+ server. Bumped SO-version due to API change.
2015-06-20tac_service is a static array so it's never NULLPaweł Krawczyk
2015-06-19remove obsolete comment about PAM_DISALLOW_NULL_AUTHTOKPaweł Krawczyk
2014-10-10Add source addr parameter for tac_connect_singleDaniel Gollub
This allows to specify from which source address/interface the TACACS+ client connection gets initiated. Bump SO-versioning due to API change.
2014-09-18allow authorization without protocol definedSergey Mironov
Protocol is only required for certain subset of services, mainly for ppp. We allow authorization with empty protocol if user wants to use other service names, like 'ssh' From the http://tools.ietf.org/html/draft-grant-tacacs-02 page 30: The protocol attribute is intended for use with PPP. When service equals "ppp" and protocol equals "lcp", the message describes the PPP link layer service. For other values of protocol, this describes a PPP NCP (network layer service). A single PPP session can support multiple NCPs
2014-02-19cleanup redundant codeWalter de Jong
2014-02-19bugfix: do not try other server when AUTHEN_STATUS_FAILWalter de Jong
The loop would continue to try other servers even when a server has indicated that the authentication failed (wrong password!!) Also, try talk the protocol as much as possible. The PAM status is AUTHINFO_UNAVAIL unless a tacacs server has responded with PASS (-> PAM status SUCCESS) or FAIL (-> PAM status ERR)
2014-02-19delete extraneous whitespaceWalter de Jong
2013-04-28active_server can not be a pointer, data lost after authentication.Jeroen Nijhof
2013-04-28/dev/urandom improvements, thanks Walter. Fixed active_server checkJeroen Nijhof
2013-03-29removed double xcalloc() function; do not leak memory for these small ↵Walter de Jong
buffers; added safe xstrcpy()
2013-03-28fixes various memory leaks, reallyWalter de Jong
2013-03-28server is a struct { address, key }Walter de Jong
2013-03-28more stuff belongs in headersWalter de Jong
2013-03-28stuff belongs in an include fileWalter de Jong
2013-03-28remove unnecessary ifdef __platform__ constructionsWalter de Jong
2013-03-27#defines are not short integersWalter de Jong
2012-09-16Rearrange header file include for libtacJeroen Nijhof
2012-09-08Bumped version to 1.3.8 and renamed rem_addr to r_addrJeroen Nijhof
2012-07-25Fixed connection handling in _pam_account, thanks James AllwrightJeroen Nijhof
2012-07-25tac_encryption fully handled by libtacJeroen Nijhof
2012-06-08Moved debug message after active_server validationJeroen Nijhof
2012-03-18Changed e-mail and improved accountingJeroen Nijhof
2011-08-20Added _pam_get_rhost() and _pam_get_user()Jeroen
2011-08-19Finally got rid of all goto illness!Jeroen
2011-08-19Major contribution by Darren BeslerJeroen
2011-04-25Removed encrypt option just check if there is a secret (key).Jeroen
Removed first_hit option because you can get the same behaviour by using only one server. Added multiple secret support, you can now specify different secrets (keys) for different servers. connect.c: improved connection error handling by using getpeername() to check if connection is still valid. This was needed since we are using non-blocking sockets. Properly handle multiple servers when authenticating, patch from Gregg Nemas, thanks!
2010-12-22Initial commitJeroen Nijhof