From 8a604aaae18f8f0ae7ca3b92a6390757177777d2 Mon Sep 17 00:00:00 2001 From: Anuj Borah Date: Dec 09 2019 14:36:13 +0000 Subject: Issue: 50690 - Port Password Storage test cases from TET to python3(create required types in password_plugins) Bug Description: Port Password Storage test cases from TET to python3(create required types in password_plugins) Relates: https://pagure.io/389-ds-base/issue/50690 Author: aborah Reviewed by: Viktor Ashirov --- diff --git a/src/lib389/lib389/_constants.py b/src/lib389/lib389/_constants.py index 5cca2de..5c9b90a 100644 --- a/src/lib389/lib389/_constants.py +++ b/src/lib389/lib389/_constants.py @@ -81,7 +81,7 @@ DN_SCHEMA = "cn=schema" DN_MONITOR = "cn=monitor" DN_MONITOR_SNMP = "cn=snmp,cn=monitor" DN_MONITOR_LDBM = "cn=monitor,cn=ldbm database,cn=plugins,cn=config" - +DN_PWDSTORAGE_SCHEMES = "cn=Password Storage Schemes,cn=plugins,cn=config" CMD_PATH_SETUP_DS = "setup-ds.pl" CMD_PATH_REMOVE_DS = "remove-ds.pl" diff --git a/src/lib389/lib389/password_plugins.py b/src/lib389/lib389/password_plugins.py index c79036e..e78918a 100644 --- a/src/lib389/lib389/password_plugins.py +++ b/src/lib389/lib389/password_plugins.py @@ -7,6 +7,8 @@ # --- END COPYRIGHT BLOCK --- from lib389.plugins import Plugin +from lib389._constants import DN_PWDSTORAGE_SCHEMES + class PasswordPlugin(Plugin): _plugin_properties = { @@ -32,3 +34,22 @@ class PBKDF2Plugin(PasswordPlugin): def __init__(self, instance, dn="cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config"): super(PBKDF2Plugin, self).__init__(instance, dn) + +class SSHA512Plugin(PasswordPlugin): + def __init__(self, instance, dn=f'cn=SSHA512,{DN_PWDSTORAGE_SCHEMES}'): + super(SSHA512Plugin, self).__init__(instance, dn) + + +class SHAPlugin(PasswordPlugin): + def __init__(self, instance, dn=f'cn=SHA,{DN_PWDSTORAGE_SCHEMES}'): + super(SHAPlugin, self).__init__(instance, dn) + + +class CRYPTPlugin(PasswordPlugin): + def __init__(self, instance, dn=f'cn=CRYPT,{DN_PWDSTORAGE_SCHEMES}'): + super(CRYPTPlugin, self).__init__(instance, dn) + + +class SSHAPlugin(PasswordPlugin): + def __init__(self, instance, dn=f'cn=SSHA,{DN_PWDSTORAGE_SCHEMES}'): + super(SSHAPlugin, self).__init__(instance, dn)