summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-08-04Remove dead Travis-CI badgesHEADsagittacurrentcircinusDaniil Baturin
2023-02-27Merge pull request #6 from zdc/T4943-sagittaChristian Breunig
PAM: T4943: Replaced shell from bash to vbash
2023-02-24PAM: T4943: Replaced shell from bash to vbashzsdc
This change was lost after cf571ca6c722d3d2b0c359dddf835a3f406b194b
2023-02-20Merge pull request #5 from sarthurdev/bookwormChristian Breunig
debian: T5003: Fix GCC build issue on Bookworm
2023-02-20debian: T5003: Fix GCC build issue on Bookwormsarthurdev
2021-06-22Debian: drop superfluous debian/libpam-radius-auth.dirs fileChristian Poessinger
2021-06-22Revert "Delete autogenerated files"Christian Poessinger
This reverts commit e5f3d4c4d895ab7f40acd697c56a7c351b889bd3.
2021-06-22T3641: Debian Bullseye expects PAM security modules in multiarch lib dirChristian Poessinger
e.g. for amd64 hosts: /lib/x86_64-linux-gnu/security
2021-06-22Delete autogenerated filesChristian Poessinger
2021-05-02Update package to 1.5.0-cl3u7Christian Poessinger
2021-03-26Jenkins: enable arm64 buildsChristian Poessinger
2020-12-31T3164: add radius_shell to list of allowed shellsChristian Poessinger
Dropbear used by the console-server service does not like beeing called with this shell as it is not allowed until now.
2020-06-23Jenkins: T2625: migrate to build libraryChristian Poessinger
2020-05-26Merge pull request #3 from DmitriyEshenko/fix001Christian Poessinger
login-radius: T2478: Use source-address as NAS-IP-Address if defined
2020-05-25login-radius: T2478: Use source-address as NAS-IP-Address if definedDmitriyEshenko
2020-03-21Jenkins: T1870: support GitHub PullRequest buildsChristian Poessinger
2020-02-05Jenkins: add build PipelineChristian Poessinger
2020-02-05Debian: support building with GCC 8.3Christian Poessinger
2018-05-25update depend and groupKim Hagen
2018-05-25use resticted shell for operator usersKim Hagen
2018-05-24make minimal changesKim
2018-05-24Revert "Do not install config"Kim
This reverts commit 9535c4b1c1fb6613e2abacac38b7f3bbf80a9309.
2018-05-24Revert "Do not include config file"Kim
This reverts commit 80ec9b746124ca540faeac332131a7833a08b14c.
2018-05-24Revert "Remove refs to config file"Kim
This reverts commit 2e79be64738818b82cb9a9fec709313093212bc4.
2018-05-24Revert "Copy pam lib to correct dir"Kim
This reverts commit 23a39eabf8cb9fe8bbadb25e237247c72c7465ee.
2018-05-24Revert "Arrange pam config from vyatta-cfg-system"Kim
This reverts commit fa6025bc67502bfb50342b48a9e3b58d91d4234e.
2018-05-19Arrange pam config from vyatta-cfg-systemUnicronNL
2018-05-19Copy pam lib to correct dirUnicronNL
2018-05-17Remove refs to config fileUnicronNL
2018-05-17Do not include config fileUnicronNL
Use vbash instead of bash Only change shell for priv user
2018-05-17Do not install configUnicronNL
2018-04-15Clarify changelog for nclu commands and sudoDave Olson
Make it clearer that at install, unprivileged radius accounts can run 'netshow' because of the group additions at install, and that unprivileged users can run sudo, and 'net add' and 'net commit' Updated date as well.
2018-04-15Fixed incredibly stupid radius_shell bug where I forgot about args > 1Dave Olson
Ticket: CM-20606 Reviewed By: nobody Testing Done: ran my own tests, and the automated radius tests All the shells need to accept -c someargument, for 'su -c' non-interactive shell, etc. Fixed by adjusting args[0], and using execv instead of execl. Passes regular radius automated tests again.
2018-04-13Add a new package radius-shell with a setcap radius_shell front endDave Olson
Ticket: CM-19457 Reviewed By: nobody Testing Done: multiple logins, separately and simultaneously Because we can't determine privilege level separately and up front with the RADIUS protocol, unlike TACACS+, we wind up with all logins as the same unprivileged radius uid. But we can set the auid (accounting or auditing uid) correctly, and a separate setcap radius_shell can be set as the login shell, and can fixup the uid before running /bin/bash. To set the auid correctly, we need to know the privileged radius user account. Added mapped_priv_user to the configuration file to handle that. mapped_priv_user has to match the account used by libnss-mapuser. That's a bit ugly, but a common config file would be uglier. The radius shell is in a new package, since it has binaries. The new package is radius-shell. In it's post actions, it changes the radius users shell to radius_shell if they are present, and back to /bin/bash on package removal. It uses capabilities, tries to be very restrictive in what it changes, and depends on being installed setcap cap_setuid Make the existing libpam-radius-auth package depend on radius-shell, so it will pull in the new package on upgrades. Also fixed another issue with reparsing changed config file, have to handle case where there were servers defined, but aren't any longer.
2018-04-06Fixed problem with 2nd config init, when no servers in config fileDave Olson
Ticket: CM-20454 Reviewed By: nobody My code to avoid redoing all the config didn't work right when re-entered with no server listed in the config file. The result was I'd return an error the first time, and success the 2nd-Nth times, and then later code would try to dereference the NULL pointer server list, and segv in login or sshd, etc. Redid the logic in initialize() to fix that.
2018-04-03Bumped version to 1.5.0 given significant new feature supportDave Olson
2018-04-03Reverted indent -linux whitespace changes to radius.hDave Olson
I already pushed to stash, so I can't combine these, but when they go upstream, I'll rebase.
2018-04-02Add limited support for privileges (VSA shell:priv-lvl=15)Dave Olson
Ticket: CM-19457 Reviewed By: Testing Done: As with the tacplus client, we'll support priv-lvl=15 as a privileged user, able to run config commands and sudo (when used with libnss-mapuser). Added new code to decode VSA attributes, and search for shell:priv-lvl=#. A new config item is added "priv-lvl" in the configuration file to specify the minimum value to be considered privileged. The default is 15. Writing mapping session file in the plugin now, because it needs to be present for the final getpw* calls from ssh, login, etc. Dropped the homedir in the mapfile, we not ready to get it via NSS when we write the mapfile, and it wasn't ever used. Also added same pam condition as tacplus, don't invoke pam_radius_auth unless uid > 1000, to avoid overhead on system users and cumulus account, although that won't help as much as with tacplus, given the mappings. Also added copyrights to the pam header file Fixed a bunch of issues, which meant some significant restructuring. src_ip (as noted in some comments) really should have been in the server struct. Having done that, we don't need to open both v4 and v6 sockets, we only open the one we need after moving host2server() call into the initialization code. Only parse the pam_radius_auth.conf config file once (unless the PAM line specifies a different config file from previous pam mode, or the config file has changed). As part of that, do all the host name resolution up front, and store ip_acct for accounting port, as well as the previous ip for auth port. While doing that, set it up so initialization and the config file parsing are only done once in the common case. If the config file is specified on the pam command line, and it's different, then we'll re-open and re-initialize. That also means we normally only open the socket and bind once. Cleanup is now done via registering a pam_set_data() handler for the server list. Since the _pam_end() call may happen late, also ensure that all the sockets are marked close on exec. Fixed some white space and line length issues. Really should have been a separate commit, but... Document how port for accounting is derived, and changed it to use radacct if a named port was specified that isn't "radius" while warning about it.
2018-04-02Delete generated config files, fixed version on configure.acDave Olson
No code changes.
2018-04-02Cleaned up whitespace on my mods with indent -linux -l80Dave Olson
No actual code changes.
2018-02-27Use pam_syslog instead of formatting ourselvesDave Olson
Ticket: CM-19908 Reviewed By: Testing Done: installed, looked at logs See the bug for background, but basicly it's better to use the normal APIs. Unlike the tacacs client, this wasn't doing openlog/closelog, but it makes sense to have them all using the same logging.
2018-01-23Improved documentation in man pages.Dave Olson
Ticket: UD-1248 Reviewed By: nobody Testing Done: Tried to be clearer about default ports. Added a comment in the plugin manpage that debug can be set in the config file as well. There was a complaint that it wasn't clear on how to set the various options for the pam plugin module, so I tried to make that cleaer as well. Also fixed some spelling errors in the man page, and remove the non-debian config file default.
2017-07-18Updated changelog to RELEASED prior to release/cl-stableDave Olson
2017-06-22Fixed cut and paste left over tacacs reference in pam_radius_auth.5Dave Olson
Also corrected nss_mapuser references to match libnss_mapuser
2017-06-21Fixed vrf support; broke in moving to upstream 1.4 version.Dave Olson
Minor fix, and repositioning of the code. Also needed to add the code for the IPv6 case as well. Minor formatting fix to man page.
2017-06-21Supress another lintian warning about conf file permsDave Olson
2017-06-21removed useless and annoying debug printDave Olson
2017-06-21Fixed lines with trailing whitespaceDave Olson
2017-06-21Remove configure check, breaks with sbuild, and not neededDave Olson
2017-06-20Add changes to allow VRF, and mapped users (no local accounts)Dave Olson
Add changes allow admins to set up RADIUS clients with no local knowledge of the RADIUS accounts (no adduser required, nor LDAP, etc.) This is done by using the nss-mapuser package. The only real change to this package is to set up the SUDO prompt, so it's the RADIUS login name, in the pam_sm_acct_mgmt entry point. Bumped the version to 1.4.1 Change the PACKAGE info in configure to reflect Cumulus, and also a few related fields. Changed maintiner to dev-support Also incorporated changes to make debuging builds easier under debian. Added comment and description of src_ip to the config file (author of the src_ip changes hadn't yet done that), and removed the location of config file from comments, since debian installs to a different location. Quieted config complaints; can't move to current because current is GPLv3, and this doesn't use autoconf. Tried to capture the 5 years of changes between 1.3.17 and 1.4.0 Added lintian overrides. Fixed up debian/copyright file to be standard format, and match (approximately) the source files. overrides don't quite work, because source vs binary confusion, but documents them Added debian install files Added man page for the plugin, and for the RADIUS client config file