Commit Graph

44 Commits

Author SHA1 Message Date
Marcial Rosales dd1665ec85 Add clear cache function impl 2025-02-13 13:46:41 +01:00
Michael Klishin dae4967bf1
'ctl auth_clear_cache' => 'ctl clear_auth_backend_cache' 2025-02-12 14:26:30 -05:00
Marcial Rosales b0a9f145e1 Add clear cache command 2025-02-12 16:55:31 +01:00
Michael Klishin 968eefa1bb
Bump (c) line year
There are no functional changes to this massive diff.
2025-01-01 17:54:10 -05:00
Arnaud Cogoluègnes 1f89ede396
Remove rabbit_authz_backend:state_can_expire/0
Use expiry_timestamp/1 instead, which returns 'never'
if the credentials do not expire.

Fixes #10382
2024-01-24 09:58:59 +01:00
Arnaud Cogoluègnes 33c64d06ea
Add expiry_timestamp/1 callback to authz backend behavior
Backends return 'never' or the timestamp of the expiry time
of the credentials. Only the OAuth2 backend returns a timestamp,
other RabbitMQ authz backends return 'never'.

Client code uses rabbit_access_control, so it contains now
a new expiry_timestamp/1 function that returns the earliest
expiry time of the underlying backends.

Fixes #10298
2024-01-19 14:46:47 +01:00
Michael Klishin 01092ff31f
(c) year bumps 2024-01-01 22:02:20 -05:00
Michael Klishin 1b642353ca
Update (c) according to [1]
1. https://investors.broadcom.com/news-releases/news-release-details/broadcom-and-vmware-intend-close-transaction-november-22-2023
2023-11-21 23:18:22 -05:00
Michael Klishin ec4f1dba7d
(c) year bump: 2022 => 2023 2023-01-01 23:17:36 -05:00
Rin Kuryloski bef2756b5f Fixes for various dialyzer warnings 2022-12-02 09:14:08 +01:00
Michael Klishin c38a3d697d
Bump (c) year 2022-03-21 01:21:56 +04:00
Philip Kuryloski 388654c542
Add a partial Bazel build (#2938)
Adds WORKSPACE.bazel, BUILD.bazel & *.bzl files for partial build & test with Bazel. Introduces a build-time dependency on https://github.com/rabbitmq/bazel-erlang
2021-03-29 11:01:43 +02:00
Michael Klishin f431573268
Bump gen_server:call timeuts for rabbitmq_auth_backend_cache operations
as we have seen with channel operation timeouts, 5s is too low
under load spikes.
2021-02-04 01:22:18 +03:00
Michael Klishin 52479099ec
Bump (c) year 2021-01-22 09:00:14 +03:00
dcorbacho 1d61d72d00 Switch to Mozilla Public License 2.0 (MPL 2.0) 2020-07-10 19:57:18 +01:00
Jean-Sébastien Pédron ec82c5562d Update copyright (year 2020) 2020-03-10 16:01:03 +01:00
Michael Klishin 2c0c6155c1 (c) bump 2019-12-29 05:50:24 +03:00
Michael Klishin e7035269a9 Adapt to rabbit_authz_backend interface changes in rabbitmq/rabbitmq-auth-backend-oauth2#28. 2019-07-03 10:37:21 +02:00
Arnaud Cogoluègnes 1b4acaf1f7 Propagate protocol-specific context
Information like MQTT client ID is now propagated to the authn/authz
backend for all authentication and authorization functions.

References rabbitmq/rabbitmq-server#1767
2019-06-03 17:06:41 +02:00
Luke Bakken 033d11266f Rename Sock to AuthzData
Part of rabbitmq/rabbitmq-auth-backend-cache#20
2019-03-22 10:38:23 -07:00
Spring Operator 683b6175ee URL Cleanup
This commit updates URLs to prefer the https protocol. Redirects are not followed to avoid accidentally expanding intentionally shortened URLs (i.e. if using a URL shortener).

# HTTP URLs that Could Not Be Fixed
These URLs were unable to be fixed. Please review them to see if they can be manually resolved.

* http://blog.listincomprehension.com/search/label/procket (200) with 1 occurrences could not be migrated:
   ([https](https://blog.listincomprehension.com/search/label/procket) result ClosedChannelException).
* http://dozzie.jarowit.net/trac/wiki/TOML (200) with 1 occurrences could not be migrated:
   ([https](https://dozzie.jarowit.net/trac/wiki/TOML) result SSLHandshakeException).
* http://dozzie.jarowit.net/trac/wiki/subproc (200) with 1 occurrences could not be migrated:
   ([https](https://dozzie.jarowit.net/trac/wiki/subproc) result SSLHandshakeException).
* http://e2project.org (200) with 1 occurrences could not be migrated:
   ([https](https://e2project.org) result AnnotatedConnectException).
* http://nitrogenproject.com/ (200) with 2 occurrences could not be migrated:
   ([https](https://nitrogenproject.com/) result ConnectTimeoutException).
* http://proper.softlab.ntua.gr (200) with 1 occurrences could not be migrated:
   ([https](https://proper.softlab.ntua.gr) result SSLHandshakeException).
* http://yaws.hyber.org (200) with 1 occurrences could not be migrated:
   ([https](https://yaws.hyber.org) result AnnotatedConnectException).
* http://choven.ca (503) with 1 occurrences could not be migrated:
   ([https](https://choven.ca) result ConnectTimeoutException).

# Fixed URLs

## Fixed But Review Recommended
These URLs were fixed, but the https status was not OK. However, the https status was the same as the http request or http redirected to an https URL, so they were migrated. Your review is recommended.

* http://fixprotocol.org/ (301) with 1 occurrences migrated to:
  https://fixtrading.org ([https](https://fixprotocol.org/) result SSLHandshakeException).
* http://erldb.org (UnknownHostException) with 1 occurrences migrated to:
  https://erldb.org ([https](https://erldb.org) result UnknownHostException).

## Fixed Success
These URLs were switched to an https URL with a 2xx status. While the status was successful, your review is still recommended.

* http://cloudi.org/ with 27 occurrences migrated to:
  https://cloudi.org/ ([https](https://cloudi.org/) result 200).
* http://erlware.org/ with 1 occurrences migrated to:
  https://erlware.org/ ([https](https://erlware.org/) result 200).
* http://inaka.github.io/cowboy-trails/ with 1 occurrences migrated to:
  https://inaka.github.io/cowboy-trails/ ([https](https://inaka.github.io/cowboy-trails/) result 200).
* http://learnyousomeerlang.com/ets with 1 occurrences migrated to:
  https://learnyousomeerlang.com/ets ([https](https://learnyousomeerlang.com/ets) result 200).
* http://ninenines.eu with 6 occurrences migrated to:
  https://ninenines.eu ([https](https://ninenines.eu) result 200).
* http://www.actordb.com/ with 2 occurrences migrated to:
  https://www.actordb.com/ ([https](https://www.actordb.com/) result 200).
* http://www.cs.kent.ac.uk/projects/wrangler/Home.html with 1 occurrences migrated to:
  https://www.cs.kent.ac.uk/projects/wrangler/Home.html ([https](https://www.cs.kent.ac.uk/projects/wrangler/Home.html) result 200).
* http://www.rabbitmq.com/configure.html with 2 occurrences migrated to:
  https://www.rabbitmq.com/configure.html ([https](https://www.rabbitmq.com/configure.html) result 200).
* http://www.rabbitmq.com/plugin-development.html with 1 occurrences migrated to:
  https://www.rabbitmq.com/plugin-development.html ([https](https://www.rabbitmq.com/plugin-development.html) result 200).
* http://www.rebar3.org with 1 occurrences migrated to:
  https://www.rebar3.org ([https](https://www.rebar3.org) result 200).
* http://inaka.github.com/apns4erl with 1 occurrences migrated to:
  https://inaka.github.com/apns4erl ([https](https://inaka.github.com/apns4erl) result 301).
* http://inaka.github.com/edis/ with 1 occurrences migrated to:
  https://inaka.github.com/edis/ ([https](https://inaka.github.com/edis/) result 301).
* http://lasp-lang.org/ with 1 occurrences migrated to:
  https://lasp-lang.org/ ([https](https://lasp-lang.org/) result 301).
* http://rabbitmq.com/access-control.html with 3 occurrences migrated to:
  https://rabbitmq.com/access-control.html ([https](https://rabbitmq.com/access-control.html) result 301).
* http://saleyn.github.com/erlexec with 1 occurrences migrated to:
  https://saleyn.github.com/erlexec ([https](https://saleyn.github.com/erlexec) result 301).
* http://www.mozilla.org/MPL/ with 8 occurrences migrated to:
  https://www.mozilla.org/MPL/ ([https](https://www.mozilla.org/MPL/) result 301).
* http://zhongwencool.github.io/observer_cli with 1 occurrences migrated to:
  https://zhongwencool.github.io/observer_cli ([https](https://zhongwencool.github.io/observer_cli) result 301).

# Ignored
These URLs were intentionally ignored.

* http://127.0.0.1:8080/auth/resource with 1 occurrences
* http://127.0.0.1:8080/auth/user with 1 occurrences
* http://127.0.0.1:8080/auth/vhost with 1 occurrences
* http://localhost:8080/auth/resource with 1 occurrences
* http://localhost:8080/auth/user with 1 occurrences
* http://localhost:8080/auth/vhost with 1 occurrences
2019-03-20 03:11:34 -05:00
Michael Klishin 2fb0c448c8 Accept authentication context in user_login_authorization/2
Part of rabbitmq/rabbitmq-server#1633.

[#158805410]
2018-07-04 12:42:24 +03:00
Daniil Fedotov 0fdfa0fbab Use gen_server instead of gen_server2 for caches 2018-01-31 11:44:41 +00:00
Daniil Fedotov 9b343894c1 Improve test error ouput. 2018-01-29 18:33:46 +00:00
Daniil Fedotov 0c6ac7e491 Fix segmented cache expiration timeouts. 2017-09-20 15:57:54 +01:00
Jean-Sébastien Pédron ac43db1a0b Makefile: Update to the best practices
The content of `rabbitmq_auth_backend_cache.app.src` is integrated into
the `Makefile`.

While here, move testsuites from `test/src` to `test.
2017-09-20 13:24:39 +02:00
Daniil Fedotov 2d93ee3fed Remove time_compat 2017-08-31 12:33:41 +01:00
Daniil Fedotov 54dcb14fed Merge branch 'stable' 2017-08-31 12:32:39 +01:00
Daniil Fedotov b43eb0d547 Support R16B03 2017-08-31 12:31:27 +01:00
Michael Klishin 0326006c5c Merge branch 'stable' 2017-04-02 21:55:15 +03:00
Michael Klishin 0eb3572257 (c) year 2017-04-02 21:47:03 +03:00
Arnaud Cogoluègnes 426218f0ef Support topic authorisation for publishing
References #5
Related to rabbitmq/rabbitmq-server#505 and rabbitmq/rabbitmq-server#1085
2017-01-31 16:59:40 +01:00
Daniil Fedotov 0950ff943d Compatibility with master 2016-06-02 11:47:26 +01:00
Daniil Fedotov 28d22cdca4 Segment optimisation for segmented ets backends 2016-06-02 11:39:42 +01:00
Daniil Fedotov be1bea1f99 Move expiration functions to rabbit_auth_cache 2016-06-02 11:24:45 +01:00
Daniil Fedotov dd9db448f9 Move expiration out of gen_server for ets cache backend 2016-06-01 13:37:03 +01:00
Daniil Fedotov 34c6d5b807 Ensure cache backend is loaded 2016-06-01 13:13:07 +01:00
Daniil Fedotov 118a6648ec rabbit_auth_cache behaviour 2016-05-19 10:18:02 +01:00
Daniil Fedotov e2b27f5e15 Garbage collected cache implementation with minimal gen_server use 2016-05-18 15:30:06 +01:00
Daniil Fedotov 960669c0d9 Support separate authn and authz backends 2016-05-17 17:44:20 +01:00
Daniil Fedotov 7d101f2c95 Functional tests for auth backend 2016-05-17 17:00:17 +01:00
Daniil Fedotov 649efd9f06 Specify TTL in put 2016-05-17 15:12:30 +01:00
Daniil Fedotov a664302846 Basic cache tests 2016-05-17 11:35:08 +01:00
Daniil Fedotov a8b2727ac3 init. 2016-05-16 15:28:28 +01:00