Skip to content
This repository has been archived by the owner on Apr 26, 2024. It is now read-only.

Rename handler modules to drop _handler and config modules to drop _config. #9816

Merged
merged 5 commits into from
Apr 20, 2021
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions changelog.d/9816.misc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Rename some handlers and config modules to not duplicate the top-level module.
2 changes: 1 addition & 1 deletion docs/sample_config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -1878,7 +1878,7 @@ saml2_config:
# sub-properties:
#
# module: The class name of a custom mapping module. Default is
# 'synapse.handlers.oidc_handler.JinjaOidcMappingProvider'.
# 'synapse.handlers.oidc.JinjaOidcMappingProvider'.
# See https://github.com/matrix-org/synapse/blob/master/docs/sso_mapping_providers.md#openid-mapping-providers
# for information on implementing a custom mapping provider.
#
Expand Down
4 changes: 2 additions & 2 deletions docs/sso_mapping_providers.md
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ A custom mapping provider must specify the following methods:

Synapse has a built-in OpenID mapping provider if a custom provider isn't
specified in the config. It is located at
[`synapse.handlers.oidc_handler.JinjaOidcMappingProvider`](../synapse/handlers/oidc_handler.py).
[`synapse.handlers.oidc.JinjaOidcMappingProvider`](../synapse/handlers/oidc.py).

## SAML Mapping Providers

Expand Down Expand Up @@ -190,4 +190,4 @@ A custom mapping provider must specify the following methods:

Synapse has a built-in SAML mapping provider if a custom provider isn't
specified in the config. It is located at
[`synapse.handlers.saml_handler.DefaultSamlMappingProvider`](../synapse/handlers/saml_handler.py).
[`synapse.handlers.saml.DefaultSamlMappingProvider`](../synapse/handlers/saml.py).
20 changes: 10 additions & 10 deletions synapse/config/_base.pyi
Original file line number Diff line number Diff line change
Expand Up @@ -6,26 +6,26 @@ from synapse.config import (
auth,
captcha,
cas,
consent_config,
consent,
database,
emailconfig,
experimental,
groups,
jwt_config,
jwt,
key,
logger,
metrics,
oidc_config,
oidc,
password_auth_providers,
push,
ratelimiting,
redis,
registration,
repository,
room_directory,
saml2_config,
saml2,
server,
server_notices_config,
server_notices,
spam_checker,
sso,
stats,
Expand Down Expand Up @@ -63,11 +63,11 @@ class RootConfig:
api: api.ApiConfig
appservice: appservice.AppServiceConfig
key: key.KeyConfig
saml2: saml2_config.SAML2Config
saml2: saml2.SAML2Config
cas: cas.CasConfig
sso: sso.SSOConfig
oidc: oidc_config.OIDCConfig
jwt: jwt_config.JWTConfig
oidc: oidc.OIDCConfig
jwt: jwt.JWTConfig
auth: auth.AuthConfig
email: emailconfig.EmailConfig
worker: workers.WorkerConfig
Expand All @@ -76,9 +76,9 @@ class RootConfig:
spamchecker: spam_checker.SpamCheckerConfig
groups: groups.GroupsConfig
userdirectory: user_directory.UserDirectoryConfig
consent: consent_config.ConsentConfig
consent: consent.ConsentConfig
stats: stats.StatsConfig
servernotices: server_notices_config.ServerNoticesConfig
servernotices: server_notices.ServerNoticesConfig
roomdirectory: room_directory.RoomDirectoryConfig
thirdpartyrules: third_party_event_rules.ThirdPartyRulesConfig
tracer: tracer.TracerConfig
Expand Down
10 changes: 5 additions & 5 deletions synapse/config/homeserver.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,17 +20,17 @@
from .cache import CacheConfig
from .captcha import CaptchaConfig
from .cas import CasConfig
from .consent_config import ConsentConfig
from .consent import ConsentConfig
from .database import DatabaseConfig
from .emailconfig import EmailConfig
from .experimental import ExperimentalConfig
from .federation import FederationConfig
from .groups import GroupsConfig
from .jwt_config import JWTConfig
from .jwt import JWTConfig
from .key import KeyConfig
from .logger import LoggingConfig
from .metrics import MetricsConfig
from .oidc_config import OIDCConfig
from .oidc import OIDCConfig
from .password_auth_providers import PasswordAuthProviderConfig
from .push import PushConfig
from .ratelimiting import RatelimitConfig
Expand All @@ -39,9 +39,9 @@
from .repository import ContentRepositoryConfig
from .room import RoomConfig
from .room_directory import RoomDirectoryConfig
from .saml2_config import SAML2Config
from .saml2 import SAML2Config
from .server import ServerConfig
from .server_notices_config import ServerNoticesConfig
from .server_notices import ServerNoticesConfig
from .spam_checker import SpamCheckerConfig
from .sso import SSOConfig
from .stats import StatsConfig
Expand Down
File renamed without changes.
5 changes: 4 additions & 1 deletion synapse/config/oidc_config.py → synapse/config/oidc.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,8 @@

from ._base import Config, ConfigError, read_file

DEFAULT_USER_MAPPING_PROVIDER = "synapse.handlers.oidc_handler.JinjaOidcMappingProvider"
DEFAULT_USER_MAPPING_PROVIDER = "synapse.handlers.oidc.JinjaOidcMappingProvider"
LEGACY_USER_MAPPING_PROVIDER = "synapse.handlers.oidc_handler.JinjaOidcMappingProvider"
clokep marked this conversation as resolved.
Show resolved Hide resolved


class OIDCConfig(Config):
Expand Down Expand Up @@ -403,6 +404,8 @@ def _parse_oidc_config_dict(
"""
ump_config = oidc_config.get("user_mapping_provider", {})
ump_config.setdefault("module", DEFAULT_USER_MAPPING_PROVIDER)
if ump_config.get("module") == LEGACY_USER_MAPPING_PROVIDER:
ump_config["module"] = DEFAULT_USER_MAPPING_PROVIDER
ump_config.setdefault("config", {})

(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,8 @@

logger = logging.getLogger(__name__)

DEFAULT_USER_MAPPING_PROVIDER = (
DEFAULT_USER_MAPPING_PROVIDER = "synapse.handlers.saml.DefaultSamlMappingProvider"
LEGACY_USER_MAPPING_PROVIDER = (
"synapse.handlers.saml_handler.DefaultSamlMappingProvider"
)

Expand Down Expand Up @@ -97,6 +98,8 @@ def read_config(self, config, **kwargs):

# Use the default user mapping provider if not set
ump_dict.setdefault("module", DEFAULT_USER_MAPPING_PROVIDER)
if ump_dict.get("module") == LEGACY_USER_MAPPING_PROVIDER:
ump_dict["module"] = DEFAULT_USER_MAPPING_PROVIDER

# Ensure a config is present
ump_dict["config"] = ump_dict.get("config") or {}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,10 +37,7 @@
from twisted.web.http_headers import Headers

from synapse.config import ConfigError
from synapse.config.oidc_config import (
OidcProviderClientSecretJwtKey,
OidcProviderConfig,
)
from synapse.config.oidc import OidcProviderClientSecretJwtKey, OidcProviderConfig
from synapse.handlers.sso import MappingException, UserAttributes
from synapse.http.site import SynapseRequest
from synapse.logging.context import make_deferred_yieldable
Expand Down
2 changes: 1 addition & 1 deletion synapse/rest/client/v2_alpha/register.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
)
from synapse.config import ConfigError
from synapse.config.captcha import CaptchaConfig
from synapse.config.consent_config import ConsentConfig
from synapse.config.consent import ConsentConfig
from synapse.config.emailconfig import ThreepidBehaviour
from synapse.config.ratelimiting import FederationRateLimitConfig
from synapse.config.registration import RegistrationConfig
Expand Down
10 changes: 5 additions & 5 deletions synapse/server.py
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@
from synapse.handlers.admin import AdminHandler
from synapse.handlers.appservice import ApplicationServicesHandler
from synapse.handlers.auth import AuthHandler, MacaroonGenerator
from synapse.handlers.cas_handler import CasHandler
from synapse.handlers.cas import CasHandler
from synapse.handlers.deactivate_account import DeactivateAccountHandler
from synapse.handlers.device import DeviceHandler, DeviceWorkerHandler
from synapse.handlers.devicemessage import DeviceMessageHandler
Expand Down Expand Up @@ -145,8 +145,8 @@
if TYPE_CHECKING:
from txredisapi import RedisProtocol

from synapse.handlers.oidc_handler import OidcHandler
from synapse.handlers.saml_handler import SamlHandler
from synapse.handlers.oidc import OidcHandler
from synapse.handlers.saml import SamlHandler


T = TypeVar("T", bound=Callable[..., Any])
Expand Down Expand Up @@ -699,13 +699,13 @@ def get_cas_handler(self) -> CasHandler:

@cache_in_self
def get_saml_handler(self) -> "SamlHandler":
from synapse.handlers.saml_handler import SamlHandler
from synapse.handlers.saml import SamlHandler

return SamlHandler(self)

@cache_in_self
def get_oidc_handler(self) -> "OidcHandler":
from synapse.handlers.oidc_handler import OidcHandler
from synapse.handlers.oidc import OidcHandler

return OidcHandler(self)

Expand Down
2 changes: 1 addition & 1 deletion tests/handlers/test_cas.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
# limitations under the License.
from unittest.mock import Mock

from synapse.handlers.cas_handler import CasResponse
from synapse.handlers.cas import CasResponse

from tests.test_utils import simple_async_mock
from tests.unittest import HomeserverTestCase, override_config
Expand Down
8 changes: 4 additions & 4 deletions tests/handlers/test_oidc.py
Original file line number Diff line number Diff line change
Expand Up @@ -499,7 +499,7 @@ def test_callback(self):
self.assertRenderedError("fetch_error")

# Handle code exchange failure
from synapse.handlers.oidc_handler import OidcError
from synapse.handlers.oidc import OidcError

self.provider._exchange_code = simple_async_mock(
raises=OidcError("invalid_request")
Expand Down Expand Up @@ -583,7 +583,7 @@ def test_exchange_code(self):
body=b'{"error": "foo", "error_description": "bar"}',
)
)
from synapse.handlers.oidc_handler import OidcError
from synapse.handlers.oidc import OidcError

exc = self.get_failure(self.provider._exchange_code(code), OidcError)
self.assertEqual(exc.value.error, "foo")
Expand Down Expand Up @@ -1126,7 +1126,7 @@ def _generate_oidc_session_token(
client_redirect_url: str,
ui_auth_session_id: str = "",
) -> str:
from synapse.handlers.oidc_handler import OidcSessionData
from synapse.handlers.oidc import OidcSessionData

return self.handler._token_generator.generate_oidc_session_token(
state=state,
Expand All @@ -1152,7 +1152,7 @@ async def _make_callback_with_userinfo(
userinfo: the OIDC userinfo dict
client_redirect_url: the URL to redirect to on success.
"""
from synapse.handlers.oidc_handler import OidcSessionData
from synapse.handlers.oidc import OidcSessionData

handler = hs.get_oidc_handler()
provider = handler._providers["oidc"]
Expand Down