Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:Newbie08
cobbler
localhost_for_authentication.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File localhost_for_authentication.patch of Package cobbler
diff --git a/changelog.d/3631.added b/changelog.d/3631.added new file mode 100644 index 00000000..55a26a74 --- /dev/null +++ b/changelog.d/3631.added @@ -0,0 +1 @@ +Add new setting for spacewalk authentication endpoint diff --git a/cobbler/modules/authentication/spacewalk.py b/cobbler/modules/authentication/spacewalk.py index 5ee3fb1a..76fb3eb4 100644 --- a/cobbler/modules/authentication/spacewalk.py +++ b/cobbler/modules/authentication/spacewalk.py @@ -95,9 +95,12 @@ def authenticate(api_handle, username: str, password: str) -> bool: if api_handle is None: raise CX("api_handle required. Please don't call this without it.") server = api_handle.settings().redhat_management_server + if api_handle.settings().spacewalk_authentication_endpoint: + server = api_handle.settings().spacewalk_authentication_endpoint + user_enabled = api_handle.settings().redhat_management_permissive - spacewalk_url = "https://%s/rpc/api" % server + spacewalk_url = "%s/rpc/api" % server with ServerProxy(spacewalk_url, verbose=True) as client: if username == 'taskomatic_user' or __looks_like_a_token(password): # The tokens are lowercase hex, but a password can also be lowercase hex, so we have to try it as both a diff --git a/cobbler/settings/__init__.py b/cobbler/settings/__init__.py index 5aecd147..f4247bba 100644 --- a/cobbler/settings/__init__.py +++ b/cobbler/settings/__init__.py @@ -149,6 +149,7 @@ class Settings: self.redhat_management_permissive = False self.redhat_management_server = "xmlrpc.rhn.redhat.com" self.redhat_management_key = "" + self.spacewalk_authentication_endpoint = "" self.register_new_installs = False self.remove_old_puppet_certs_automatically = False self.replicate_repo_rsync_options = "-avzH" diff --git a/cobbler/settings/migrations/V3_3_3.py b/cobbler/settings/migrations/V3_3_3.py index 545fbfcd..3466cc6d 100644 --- a/cobbler/settings/migrations/V3_3_3.py +++ b/cobbler/settings/migrations/V3_3_3.py @@ -197,6 +197,7 @@ schema = Schema( "redhat_management_permissive": bool, "redhat_management_server": str, "redhat_management_key": str, + Optional("spacewalk_authentication_endpoint"): str, "register_new_installs": bool, "remove_old_puppet_certs_automatically": bool, "replicate_repo_rsync_options": str, diff --git a/config/cobbler/settings.yaml b/config/cobbler/settings.yaml index 7eb6b1a4..ba664933 100644 --- a/config/cobbler/settings.yaml +++ b/config/cobbler/settings.yaml @@ -390,6 +390,11 @@ nopxe_with_triggers: true # authentication within Cobbler Web and Cobbler XMLRPC. redhat_management_server: "xmlrpc.rhn.redhat.com" +# This setting is only used by the code that supports using Spacewalk/Satellite +# authentication within Cobbler Web and Cobbler XMLRPC. This is the endpoint for +# Spacewalk/Satellite authentication: if empty redhat_management_server will be used. +spacewalk_authentication_endpoint: "" + # if using authn_spacewalk in modules.conf to let Cobbler authenticate # against Satellite/Spacewalk's auth system, by default it will not allow per user # access into Cobbler Web and Cobbler XMLRPC. diff --git a/tests/items/item_test.py b/tests/items/item_test.py index 6c4e9df9..f7d2a545 100644 --- a/tests/items/item_test.py +++ b/tests/items/item_test.py @@ -471,7 +471,7 @@ def test_dump_vars(cobbler_api): # Assert assert "default_ownership" in result assert "owners" in result - assert len(result) == 152 + assert len(result) == 153 @pytest.mark.parametrize(
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor