univention.radius package#

univention.radius.get_NetworkAccess()[source]#

Submodules#

univention.radius.networkaccess module#

univention.radius.networkaccess.convert_network_access_attr(attributes: dict[str, list[bytes]]) bool[source]#
univention.radius.networkaccess.convert_ucs_debuglevel(ucs_debuglevel: int) int[source]#
univention.radius.networkaccess.get_ldapConnection(logger: Logger | None = None) access[source]#
exception univention.radius.networkaccess.NetworkAccessError(msg: str)[source]#

Bases: Exception

exception univention.radius.networkaccess.UserNotAllowedError(msg: str)[source]#

Bases: NetworkAccessError

exception univention.radius.networkaccess.MacNotAllowedError(msg: str)[source]#

Bases: NetworkAccessError

exception univention.radius.networkaccess.NoHashError(msg: str)[source]#

Bases: NetworkAccessError

exception univention.radius.networkaccess.UserDeactivatedError(msg: str)[source]#

Bases: NetworkAccessError

class univention.radius.networkaccess.NetworkAccess(username: str, stationId: str, loglevel: int | None = None, logfile: str | None = None)[source]#

Bases: object

property ldapConnection#
build_access_dict(ldap_result: list[tuple[str, dict[str, list[bytes]]]]) dict[str, bool][source]#
get_user_network_access(uid: str) dict[str, bool][source]#
get_station_network_access(mac_address: str) dict[str, bool][source]#
get_groups_network_access(dn: str) dict[str, bool][source]#
evaluate_ldap_network_access(access: dict[str, bool], level: str = '') bool[source]#
check_proxy_filter_policy() bool[source]#

Dummy function for UCS@school

check_network_access() bool[source]#
check_station_whitelist() bool[source]#
getNTPasswordHash() bytes[source]#

stationId may be not supplied to the program

univention.radius.pyMsChapV2 module#

univention.radius.pyMsChapV2.md4(data: bytes) bytes[source]#
univention.radius.pyMsChapV2.DesEncrypt(data: bytes, key: bytes) bytes[source]#
univention.radius.pyMsChapV2.HashNtPasswordHash(passwordhash: bytes) bytes[source]#
univention.radius.pyMsChapV2.ChallengeResponse(challenge: bytes, passwordhash: bytes) bytes[source]#

univention.radius.school_networkaccess module#

class univention.radius.school_networkaccess.SchoolNetworkAccess(*args, **kwargs)[source]#

Bases: NetworkAccess

load_info()[source]#
check_proxy_filter_policy()[source]#

Dummy function for UCS@school

evaluate_proxy_network_access(username)[source]#

univention.radius.utils module#

univention.radius.utils.decode_stationId(stationId: str) str[source]#
univention.radius.utils.parse_username(username: str) str[source]#

convert username from host/-format to $-format if required