summaryrefslogtreecommitdiff
path: root/ChangeLog
diff options
context:
space:
mode:
authorChristian Poessinger <christian@poessinger.com>2021-05-02 19:07:04 +0200
committerChristian Poessinger <christian@poessinger.com>2021-05-02 19:18:42 +0200
commitceb7d3cb30a23b4b148bc71491b3817e9e6e2778 (patch)
tree160ebe6294acb6a790790098b3861e58c0ca9ae4 /ChangeLog
downloadlibpam-tacplus-ceb7d3cb30a23b4b148bc71491b3817e9e6e2778.tar.gz
libpam-tacplus-ceb7d3cb30a23b4b148bc71491b3817e9e6e2778.zip
Initial import of libpam-tacplus (1.4.3-cl3u4)
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog259
1 files changed, 259 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
new file mode 100644
index 0000000..427d6b5
--- /dev/null
+++ b/ChangeLog
@@ -0,0 +1,259 @@
+1.4.0-1
+Dave Olson, June 2016
+
+Changes to support local mapping, so that TACACS users do not need
+entries in /etc/passwd to supply home directory, uid, and gid information.
+
+This was done by using a new mapping library libtacplus_map. See that
+package for details.
+
+Also see the comments about immutable loginuid in Pam.d.common-example
+
+libtac is converted to a shared library, so it can be used by other programs,
+and only functions and variables starting with tac_* are exported in the
+shared library. Some functions were renamed to make this possible.
+
+A separate package libnss_tacplus uses the mapping library to do lookups by
+both name and uid. uid lookups are only possible while a tacacs user is
+logged in.
+
+If multiple tacacs users at the same privilege level are logged in, the
+current behavior is that is that if a call is done from within the login
+session, the correct (login) name will be returned. If from outside the
+session (audit uid and/or session don't match in the mapping file), the name
+from first map entry is used, much like normal systems where multiple users
+have the same UID.
+
+Added the runtime config capability to include another file, so that
+the tacacs servers are only listed in a single place. Ship using
+/etc/tacplus_servers as an include file, and use it in the pam sample config
+Because that's common, allow debug=NUMBER for pam_tacplus, as well as plain
+"debug".
+
+Renamed external libtac functions to all have a tac_ prefix, to avoid
+name collision with other programs (the x*alloc family was an issue, in
+particular). This is an API change, but since library just got bumped from
+1.0 to 2.0, left it at 2.0
+
+Enabled -Werror to catch errors early (and fixed a few related items).
+
+1.4.0
+* Use openssl by default for crypto
+
+1.3.9
+* Close file descriptor leak
+* Add client_connect_source_address
+
+1.3.8
+* A lot of cleanups and improvements by Walter de Jong <walter@heiho.net>
+* Fixed build instruction in spec file and INSTALL
+* Active_server can not be a pointer, data lost after authentication.
+* Added port option per server, thanks to Luc Ducazu <lducazu@gmail.com>
+* Fixed missing FIONREAD for solaris
+* Rearranged header file include for libtac.h, fixes AIX compile problems
+* Renamed rem_addr, rem_addr_len to r_addr and r_addr_len
+
+1.3.7
+* Tac_encryption fully handled by libtac no need to enable it manually
+* Fixed connection handling in _pam_account,
+ thanks to James Allwright <jamesallwright@yahoo.co.uk>
+* Handle attributes which contains no value,
+ thanks to James Allwright <jamesallwright@yahoo.co.uk>
+* Global variables tac_login and tac_secret not static anymore,
+ pointed out by James Allwright <jamesallwright@yahoo.co.uk>
+* version.c: libtac version 1.8.1
+* pam_tacplus.c: moved debug message after active_server validation, avoiding
+ null pointer exception
+* attrib.c: explicity setting *attr to NULL after free(),
+ thanks to Anthony Low <anthonyl@xkl.com>
+
+1.3.6
+* Added libpam-runtime support for debian
+* Added use_first_pass and try_first_pass option, thanks to Luc Ducazu <lducazu@gmail.com>
+* Changed e-mail adres to jeroen@jeroennijhof.nl
+* Improved accounting, added cmd attribute for command logging
+* Added tac_acct_flag2str()
+* Renamed tac_account_read, tac_account_send to tac_acct_read and tac_acct_send
+* pam_tacplus.spec.in: fixed static library path and pam_tacplus.so location
+* Debian packaging improvements
+
+1.3.5
+* This version will be dedicated to Darren Besler, thank you for your major
+ contribution!
+
+* libtac version is now 1.7.1
+* magic.c: magic_inited is only used for linux
+* Finally got rid of all goto illness!
+* Changed tabsize to 4
+* Fixed missing xalloc.h in authen_s.c
+* Get PAM_RHOST from PAM stack and use it as rem_addr
+* Added _pam_get_rhost() and _pam_get_user()
+
+* The following is done by Darren Besler:
+- add ability to set more elements of tacacs+ packet from parameters or globals
+- cleanup messaging to be consistent with function and presentation format
+- cleanup how strings are handled and returned
+- acct and author read require areply.msg to be freed by caller now
+- cast return values
+- added port # to formatted IP address
+- add timeout on read capability
+- cleanup method messages are returned to caller, including adding a 0 byte
+ 0 byte added for safety reasons
+- caller must free areply.msg now.
+- add rem_addr as an argument
+- include rem_addr in packet
+- include ability to set priv_lvl in packet
+- add ability to set authen_service from global variable aot fixed value
+
+Bugs fixed by Darren Besler:
+- cleanup various memory leaks, lost memory, and dangling pointers
+- attrib.c: wasn't preserving '*' separator in attrib.c
+- author_r.c:
+- free attributes for replace status. Was always adding.
+- uncasted char* for length was producing negative length to bcopy for arg len > 127
+- possible null dereference when no separator
+- cont_s.c
+- was creating a new session id, should be using session id from authen start.
+- magic.c
+- magic was returning 0 on first call. Wasn't being initialized properly.
+
+Other changes by Darren Besler:
+* libtac/include/cdefs.h
+- add #ifndef guards
+
+* libtac/include/libtac.h
+- rename #ifndef guard to match filename
+- add extern "C" for C++
+- alter define for TACDEBUG
+- add define for TACSYSLOG
+- alter macro for TACDEBUG to be able to be used at runtime via tac_debug_enable
+- add declarations from tacplus.h not related to protocol
+- add defines for return status codes for library functions
+- add declarations for new additional global variables
+tac_priv_lvl
+tac_authen_method
+tac_authen_service
+tac_debug_enable
+tac_readtimeout_enable
+- revise declarations for functions to that have altered parameters lists, or return value
+
+* libtac/include/tacplus.h
+- move library specific declarations to libtac.h, leaving declarations
+here to be used for protocol specific details
+- add additional declarations for more complete coverage of tacacs+ protocol (v1.78)
+
+1.3.4
+* removed encrypt option just check if there is a secret (key).
+* 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!
+
+1.3.3
+* pam_tacplus.h: changed bitflags to hex, thanks Jason!
+* Added gitignore for build stuff
+* connect.c: removed ifdef for sys/socket.h, it will be included anyway for other platforms,
+ thanks to Obata Akio for pointing that out.
+* connect.c: improved connection error handling, patch from Martin Volf, thanks!
+
+1.3.2
+* Added autotool configuration files, thanks to Benoit Donneaux <benoit.donneaux@gmail.com>.
+* Added pam_tacplus.spec file, thanks to Benoit Donneaux <benoit.donneaux@gmail.com>.
+* Added license information to all files and the license itself.
+* All AV pairs are now available to the PAM environment. So you can use pam_exec.so or whatever
+ to do something with these. Only available for PAM account.
+* Rewritten attribute loop in function pam_sm_acct_mgmt() for debug and future use
+ of AV pairs.
+* Fixed attribute buffer in author_r.c, this bug cause program stuck when you get
+ AV pairs from the server, reported by Oz Shitrit.
+
+1.3.1
+* Added custom password prompt option
+* Removed password logging when in debug mode
+
+1.3.0
+* Released version 1.3.0 based on 1.2.13.
+ This release finally includes support for TACACS+ chap and login authentication. The
+ default is still pap for backward compatibility.
+
+1.2.13
+* Changed spaces into tabs for pam_tacplus.c so make it more readable
+* Did some minor cleanup
+* Added login option so you can choose which TACACS+ authentication you want to
+ use. You can use pap, chap or login (ascii) at the moment. The default login option is pap.
+* Added cont_s.c needed for TACACS+ login authentication.
+
+1.2.12
+* Missing network byte order convertion to host byte order in function's
+ tac_account_read, tac_authen_pap_read and tac_author_read, reported and
+ patch by Sven van den Steene, thanks!
+* Fixed potential memory leak, when tac_account_read and tac_authen_pap_read are
+ successful msg isn't freed, reported by Sven van den Steene
+
+1.2.11
+* Added NO_STATIC_MODULES to CFLAGS for linking with openpam on netbsd, tested by
+ Fredrik Pettai <pettai@nordu.net>
+* Removed libdl for compiling causing failure on netbsd, reported by
+ Fredrik Pettai <pettai@nordu.net>
+* hdr_check.c: forgot to include stdlib, reported by
+ Fredrik Pettai <pettai@nordu.net>
+* Changed defines to add support for netbsd, fixed by
+ Jeroen Nijhof <jeroen@nijhofnet.nl>
+* magic.c: read() can have a return value, fixed by
+ Jeroen Nijhof <jeroen@nijhofnet.nl>
+* support.c: _pam_log() va_list converted to string with vsnprintf() to support
+ syslog(), we have human readable error's in syslog again, fixed by
+ Jeroen Nijhof <jeroen@nijhofnet.nl>
+
+1.2.10
+ The following changes where made by Jeroen Nijhof <jeroen@nijhofnet.nl>
+* Changed default compile flags to be more compatible
+* Fixed serveral bugs including casts and cleanup's, the code can now compile
+ without any warnings
+* Changed some Makefile definitions to be more compatible with other versions of make
+* Support added for solaris and aix, tested on aix 5.3, solaris 9 and 10. Including
+ standalone version of cdefs.h
+
+1.2.9
+* Fixed bug with passing username and password, reported by
+ Mark Volpe <volpe.mark@epamail.epa.gov>
+* Fixed bug in passing the remote address, reported by
+ Jason Lambert <jlambert@lambert-comm.net> and
+ Yury Trembach <yt@sns.net.ua>
+* Fixed bug in reception of authorization packet, reported by
+ <svg@disney.surnet.ru>
+
+1.2.8
+* Another bugfix in tty handling - some daemons don't use any terminal, in
+ which case we send "unknown" terminal name to the TACACS+ server
+
+1.2.7
+* Fixed bug in tty determination
+
+1.2.6
+* Better protection against disconnection signals
+
+1.2.5
+* Fixed bug in task_id initialisation
+
+1.2.4
+* Fixed small bug in accounting
+
+1.2.3
+* upgraded to new libtac version, now pam_tacplus returns the attributes
+ received from server (currently only 'addr' attribute in PAM_RHOST)
+* minor fixes
+
+1.2.2
+* more fixes
+
+1.2.1
+* pam_sm_acct_mgmt() added
+* pam_sm_open_session() added
+* pam_sm_close_session() added
+* minor fixes
+
+1.0.1
+* first working version with pam_sm_authenticate()