appname=appname, base_dir=base_dir, initialized=False)
desc = _(
- 'Reports the password hashing schemes of userPassword attributes in LDAP. '
- 'This application retrieves the password hashing schemes of userPassword '
- 'attributes. Without a filter or a Base-DN the hashing schemes of all '
- 'userPassword attributes are shown. One can filter the output by a regular '
- 'LDAP-filter rule of by one or more hashing schemes.')
+ 'Reports the password hashing schemes of {attr} attributes in LDAP. '
+ 'Without a filter or a more special Base-DN the hashing schemes of all {attr} '
+ 'attributes in the LDAP tree are shown. One can filter the output by a regular '
+ 'LDAP-filter rule of by one or more hashing schemes.').format(attr='userPassword')
super(CheckLdapPwdSchemesApplication, self).__init__(
appname=appname, description=desc, base_dir=base_dir,
schema_list.append('help')
help_txt = _(
- 'One or more schemes (hashing methods) for filtering the userPassword attributes. '
+ 'One or more schemes (hashing methods) for filtering the {attr} attributes. '
'It is possible to give here the value {val_list!r}, then all possible schemes '
- 'are shown and exit.').format(val_list='list')
+ 'are shown and exit.').format(attr='userPassword', val_list='list')
app_group.add_argument(
'-S', '--schema', metavar=_('SCHEMA'), dest='filter_schema', choices=schema_list,
ldap_url = self.cfg.ldap_connection[self.instance].url
msg = _(
- 'Start reporting password hashing schemes if userPassword attributes '
- 'in in LDAP instance {inst!r} ({url}) ...').format(inst=self.instance, url=ldap_url)
+ 'Start reporting password hashing schemes of {attr} attributes '
+ 'in in LDAP instance {inst!r} ({url}) ...').format(
+ attr='userPassword', inst=self.instance, url=ldap_url)
LOG.debug(msg)
ldap_filter = self.default_filter
ldap_connection = Connection(
ldap_server, bind_dn, bind_pw, client_strategy=SAFE_SYNC, auto_bind=True)
except LDAPBindError as e:
- msg = _('Could not connect to LDAP server {url!r} as {user!r}: {e}.').format(
+ msg = _('Could not connect to LDAP server {url!r} as {user!r}: {e}').format(
url=connect_info.url, user=bind_dn, e=e)
LOG.error(msg)
self.exit(8)
except LDAPException as e:
- msg = _('{c} on connecting to LDAP server {url!r} as {user!r}: {e}.').format(
+ msg = _('{c} on connecting to LDAP server {url!r} as {user!r}: {e}').format(
c=e.__class__.__name__, url=connect_info.url, user=bind_dn, e=e)
LOG.error(msg)
self.exit(9)
#
msgid ""
msgstr ""
-"Project-Id-Version: pp_admintools 0.9.0\n"
+"Project-Id-Version: pp_admintools 0.10.0\n"
"Report-Msgid-Bugs-To: frank.brehm@pixelpark.com\n"
-"POT-Creation-Date: 2023-06-15 16:42+0200\n"
-"PO-Revision-Date: 2023-06-15 16:25+0200\n"
+"POT-Creation-Date: 2023-08-22 13:39+0200\n"
+"PO-Revision-Date: 2023-08-22 13:40+0200\n"
"Last-Translator: Frank Brehm <frank.brehm@pixelpark.com>\n"
"Language: de_DE\n"
"Language-Team: de_DE <solution@pixelpark.com>\n"
"Die DN des LDAP-Containers (meistens eine OU), in dem alle virtuellen Aliaseinträge geplegt "
"werden sollen. Vorgabe: {!r}"
-#: lib/pp_admintools/app/barracuda_sync.py:149 lib/pp_admintools/app/ldap.py:439
+#: lib/pp_admintools/app/barracuda_sync.py:149 lib/pp_admintools/app/ldap.py:461
#: lib/pp_admintools/app/mirror_ldap.py:118 lib/pp_admintools/app/pdns.py:284
msgid "SECONDS"
msgstr "SEKUNDEN"
#: lib/pp_admintools/app/barracuda_sync.py:231 lib/pp_admintools/app/barracuda_sync.py:427
#: lib/pp_admintools/app/dns_deploy_zones.py:434 lib/pp_admintools/app/dns_deploy_zones.py:788
-#: lib/pp_admintools/app/ldap.py:896 lib/pp_admintools/app/ldap.py:1029
-#: lib/pp_admintools/app/ldap.py:1082 lib/pp_admintools/app/ldap.py:1135
-#: lib/pp_admintools/app/ldap.py:1423 lib/pp_admintools/app/ldap.py:1457
-#: lib/pp_admintools/app/ldap.py:1491 lib/pp_admintools/app/ldap.py:1525
+#: lib/pp_admintools/app/ldap.py:958 lib/pp_admintools/app/ldap.py:1091
+#: lib/pp_admintools/app/ldap.py:1144 lib/pp_admintools/app/ldap.py:1197
+#: lib/pp_admintools/app/ldap.py:1485 lib/pp_admintools/app/ldap.py:1519
+#: lib/pp_admintools/app/ldap.py:1553 lib/pp_admintools/app/ldap.py:1587
msgid "Result:"
msgstr "Ergebnis:"
msgid "LDAP Entries to modified:"
msgstr "Zu ändernde LDAP-Einträge:"
-#: lib/pp_admintools/app/barracuda_sync.py:756 lib/pp_admintools/app/ldap.py:1638
+#: lib/pp_admintools/app/barracuda_sync.py:756 lib/pp_admintools/app/ldap.py:1700
msgid "Values to add to attribute {!r}:"
msgstr "Werte, die zu Attribut {!r} hinzugefügt werden:"
msgid "Values to be removed from attribute {!r}:"
msgstr "Werte, die von Attribut {!r} gelöscht werden sollen:"
-#: lib/pp_admintools/app/barracuda_sync.py:777 lib/pp_admintools/app/ldap.py:1659
+#: lib/pp_admintools/app/barracuda_sync.py:777 lib/pp_admintools/app/ldap.py:1721
msgid "Changes for attribute {!r}:"
msgstr "Änedrungen für Attribut {!r}:"
-#: lib/pp_admintools/app/barracuda_sync.py:780 lib/pp_admintools/app/ldap.py:1662
+#: lib/pp_admintools/app/barracuda_sync.py:780 lib/pp_admintools/app/ldap.py:1724
msgid "No changes to attribute {!r}."
msgstr "Keine Änderungen an Attribut {!r}."
"DN-Syntax der Attribute überprüft, und ob sie existierende Einträge im LDAP referenzieren."
#: lib/pp_admintools/app/check_ldap_dn_attributes.py:97
+#: lib/pp_admintools/app/check_ldap_pwd_schemes.py:106
msgid "Script options"
msgstr "Skript-Optionen"
msgstr "Überprüfe Attribute mit DN-Syntax von Eintrag {!r} …"
#: lib/pp_admintools/app/check_ldap_dn_attributes.py:219
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:234
+#: lib/pp_admintools/app/check_ldap_pwd_schemes.py:190
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:233
msgid "Got attributes:"
msgstr "Gefundene Attribute:"
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:76
+#: lib/pp_admintools/app/check_ldap_pwd_schemes.py:84
+msgid ""
+"Reports the password hashing schemes of {attr} attributes in LDAP. Without a filter or a more "
+"special Base-DN the hashing schemes of all {attr} attributes in the LDAP tree are shown. One can"
+" filter the output by a regular LDAP-filter rule of by one or more hashing schemes."
+msgstr ""
+"Stellt die Passwort-Hashing-Mechanismen der {attr}-Attribute im LDAP dar. Ohne einen Filter oder"
+" eine speziellere Basis-DN werden die Hashing-Mechanismen aller {attr}-Attribute im LDAP-Baum "
+"angezeigt. Man kann die Ausgabe durch einen regulären LDAP-Filter bzw. durch die Angabe von "
+"einem oder mehreren Hashing-Schemen filtern."
+
+#: lib/pp_admintools/app/check_ldap_pwd_schemes.py:109
+msgid "FILTER"
+msgstr "FILTER"
+
+#: lib/pp_admintools/app/check_ldap_pwd_schemes.py:110
+msgid ""
+"An additional LDAP filter to limit the entries to print out their password hashing schema. "
+"Please note, that this filter will be wrapped by parantheses to combine it with the default "
+"filter {!r}."
+msgstr ""
+"Ein zusätzlicher LDAP-Filter, um die Anzahl der Einträgem, deren Passwort-Hashing-Schema "
+"angezeigt werden soll. Bitte beachten, dass dieser Filter mit Klammern umgeben wird, um ihn mit "
+"dem Vorgabe-Filter {!r} zu verbinden."
+
+#: lib/pp_admintools/app/check_ldap_pwd_schemes.py:124
+msgid ""
+"One or more schemes (hashing methods) for filtering the {attr} attributes. It is possible to "
+"give here the value {val_list!r}, then all possible schemes are shown and exit."
+msgstr ""
+"Ein oder mehrere Schemen (Hashing-Methoden) zum Filtern der {attr}-Attribute. Es ist möglich, "
+"den Wert {val_list!r} anzugeben, dann werden alle verfügbaren Hashing-Methoden ausgegeben und "
+"beendet."
+
+#: lib/pp_admintools/app/check_ldap_pwd_schemes.py:130 lib/pp_admintools/app/set_ldap_password.py:183
+msgid "SCHEMA"
+msgstr "SCHEMA"
+
+#: lib/pp_admintools/app/check_ldap_pwd_schemes.py:136
+msgid "Show more details in output, e.g. the entry DN."
+msgstr "Zeigt mehr Details in der Ausgabe an, die DNs der Einträge."
+
+#: lib/pp_admintools/app/check_ldap_pwd_schemes.py:168
+msgid ""
+"Start reporting password hashing schemes of {attr} attributes in in LDAP instance {inst!r} "
+"({url}) ..."
+msgstr ""
+"Beginne mit der Ausgabe der Passwort-Hashing-Mechanismen der {attr}-Attribute in der LDAP-"
+"Instanz {inst!r} ({url}) …"
+
+#: lib/pp_admintools/app/check_ldap_pwd_schemes.py:181
+msgid "Used LDAP filter: {!r}."
+msgstr "Verwendeter LDAP-Filter: {!r}."
+
+#: lib/pp_admintools/app/check_ldap_pwd_schemes.py:223
+msgid "Found entry {!r} with data:"
+msgstr "Fand Eintrag {!r} mit folgenden Daten:"
+
+#: lib/pp_admintools/app/check_ldap_pwd_schemes.py:227
+msgid "Found entry DNs:"
+msgstr "Gefundener Eintrag-DNs:"
+
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:75
msgid ""
"Removes all LDAP groups, which does not have any members, that means, they are one of the "
"following objectClasses: {ocl}, and they have none of the following attributes: {atl}."
"Löscht alle LDAP-Gruppen, die keine Mitglieder haben. Das heißt, sie haben eine der folgenden "
"Objektklassen: {ocl}, und sie besitzen keines der folgenden Attribute: {atl}."
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:125 lib/pp_admintools/app/remove_ldap_user.py:134
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:124 lib/pp_admintools/app/remove_ldap_user.py:134
msgid "Removing options"
msgstr "Lösch-Optionen"
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:129
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:128
msgid "The base DN used as the root for the LDAP search."
msgstr "Die Basis-DN, die als Ausgangspunkt bei der LDAP-Suche verwendet werden soll."
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:155 lib/pp_admintools/app/remove_ldap_user.py:202
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:154 lib/pp_admintools/app/remove_ldap_user.py:202
msgid "Checking given instances for admin and read/write access."
msgstr "Überprüfe die gegebenen Instanzen nach Admin- und Schreib-/Lesezugriffsrechten."
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:162 lib/pp_admintools/app/remove_ldap_user.py:209
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:161 lib/pp_admintools/app/remove_ldap_user.py:209
msgid "LDAP instance {!r} not found in configuration."
msgstr "Die LDAP-Instanz {!r} wurde nicht in der Konfiguration gefunden."
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:170 lib/pp_admintools/app/remove_ldap_user.py:217
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:169 lib/pp_admintools/app/remove_ldap_user.py:217
msgid "LDAP instance {!r} has only readonly access."
msgstr "Die LDAP-Instanz {!r} besitzt nur Lesezugriffsrechte."
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:175 lib/pp_admintools/app/remove_ldap_user.py:222
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:174 lib/pp_admintools/app/remove_ldap_user.py:222
msgid "No admin access to LDAP instance {!r}."
msgstr "Keine Admin-Zugriffsrechte bei LDAP-Instanz {!r}."
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:185
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:184
msgid "Searching for empty groups ..."
msgstr "Suche nach leeren Gruppen …"
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:192
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:191
msgid "No more empty groups left for removing."
msgstr "Keine weitern Gruppen zu Löschen."
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:195
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:194
msgid "Lap {} on searching for empty groups to remove."
msgstr "Runde {} bei der Suche nach zu löschenden leeren Gruppen."
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:230
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:229
msgid "Searching for member attributes of {!r} ..."
msgstr "Suche nach Mitglieds-Attributen von {!r} …"
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:240
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:239
msgid "Found attribute {at!r} in group {g!r}."
msgstr "Fand Attribut {at!r} in Gruppe {g!r}."
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:243
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:242
msgid "Group {!r} is not empty!"
msgstr "Die Gruppe {!r} ist nicht leer!"
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:248
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:247
msgid "Removing group {!r} ..."
msgstr "Lösche Gruppe {!r} …"
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:252
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:251
msgid "Dont't removing group {!r}."
msgstr "Kein Löschen der Gruppe {!r}."
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:259
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:258
msgid "Do you really want to remove the group '{}'"
msgstr "Möchten Sie die Gruppe '{}' wirklich löschen"
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:261
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:260
msgid "[{yes}/{no}]?"
msgstr "[{yes}/{no}]?"
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:262 lib/pp_admintools/app/ldap.py:336
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:261 lib/pp_admintools/app/ldap.py:337
#: lib/pp_admintools/app/mirror_ldap.py:238 lib/pp_admintools/app/remove_ldap_user.py:308
#: lib/pp_admintools/app/set_ldap_password.py:489
msgid "No"
msgstr "Nein"
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:262 lib/pp_admintools/app/mirror_ldap.py:238
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:261 lib/pp_admintools/app/mirror_ldap.py:238
#: lib/pp_admintools/app/remove_ldap_user.py:308 lib/pp_admintools/app/set_ldap_password.py:489
msgid "yes"
msgstr "ja"
msgid "Checking for dependend unique attribute '"
msgstr "Überprüfe abhängig eindeutiges Attribut '"
-#: lib/pp_admintools/app/duplicate_attribs.py:172 lib/pp_admintools/app/ldap.py:564
+#: lib/pp_admintools/app/duplicate_attribs.py:172 lib/pp_admintools/app/ldap.py:586
msgid "Used filter:"
msgstr "Verwendeter Filter:"
msgid "No duplicates for attribute {!r} found."
msgstr "Keine Duplikate für das Attribut {!r} gefunden."
-#: lib/pp_admintools/app/ldap.py:115 lib/pp_admintools/app/ldap.py:283
+#: lib/pp_admintools/app/ldap.py:116 lib/pp_admintools/app/ldap.py:284
msgid "The path {!r} must be an absolute path."
msgstr "Der Pfad {!r} muss ein absoluter Pfad sein."
-#: lib/pp_admintools/app/ldap.py:121 lib/pp_admintools/app/ldap.py:287
-#: lib/pp_admintools/app/ldap.py:1541
+#: lib/pp_admintools/app/ldap.py:122 lib/pp_admintools/app/ldap.py:288
+#: lib/pp_admintools/app/ldap.py:1603
msgid "The file {!r} does not exists."
msgstr "Die Datei {!r} existiert nicht."
-#: lib/pp_admintools/app/ldap.py:125 lib/pp_admintools/app/ldap.py:291
-#: lib/pp_admintools/app/ldap.py:1546
+#: lib/pp_admintools/app/ldap.py:126 lib/pp_admintools/app/ldap.py:292
+#: lib/pp_admintools/app/ldap.py:1608
msgid "The given path {!r} exists, but is not a regular file."
msgstr "Der angegebene Pfad {!r} existiert, ist aber keine reguläre Datei."
-#: lib/pp_admintools/app/ldap.py:129 lib/pp_admintools/app/ldap.py:295
-#: lib/pp_admintools/app/ldap.py:1551
+#: lib/pp_admintools/app/ldap.py:130 lib/pp_admintools/app/ldap.py:296
+#: lib/pp_admintools/app/ldap.py:1613
msgid "The given file {!r} is not readable."
msgstr "Die angegebene Datei {} ist nicht lesbar."
-#: lib/pp_admintools/app/ldap.py:151
+#: lib/pp_admintools/app/ldap.py:152
msgid "a port number must be greater than zero and less or equal to {}."
msgstr "ein Port muss größer als Null und kleiner oder gleich {} sein."
-#: lib/pp_admintools/app/ldap.py:156
+#: lib/pp_admintools/app/ldap.py:157
msgid "Wrong port number {!r}:"
msgstr "Ungültige Portnummer {!r}."
-#: lib/pp_admintools/app/ldap.py:325
+#: lib/pp_admintools/app/ldap.py:326
msgid "LDAP options"
msgstr "LDAP-Optionen"
-#: lib/pp_admintools/app/ldap.py:327
+#: lib/pp_admintools/app/ldap.py:328
msgid "Options for the default LDAP connection"
msgstr "Optionen für die Vorgabe-LDAP-Verbindung"
-#: lib/pp_admintools/app/ldap.py:329
+#: lib/pp_admintools/app/ldap.py:330
msgid "Options fo LDAP connections"
msgstr "Optionen für die LDAP-Verbindungen"
-#: lib/pp_admintools/app/ldap.py:338
+#: lib/pp_admintools/app/ldap.py:339
msgid "Yes"
msgstr "Ja"
-#: lib/pp_admintools/app/ldap.py:344
+#: lib/pp_admintools/app/ldap.py:345 lib/pp_admintools/app/ldap.py:441
msgid "HOST"
msgstr "HOST"
-#: lib/pp_admintools/app/ldap.py:345
+#: lib/pp_admintools/app/ldap.py:346
msgid "Hostname or address of the LDAP server to use. Default: {!r}"
msgstr "Der Hostname oder die Adresse des zu verwendenden LDAP-Servers. Vorgabe: {!r}"
-#: lib/pp_admintools/app/ldap.py:352
+#: lib/pp_admintools/app/ldap.py:353
msgid "Use ldaps to connect to the LDAP server. Default: {}"
msgstr "Soll ldaps zum Verbinden mit dem LDAP-Server verwendet werden? Vorgabe: {}."
-#: lib/pp_admintools/app/ldap.py:357 lib/pp_admintools/app/mail.py:250
-#: lib/pp_admintools/app/pdns.py:273
+#: lib/pp_admintools/app/ldap.py:358 lib/pp_admintools/app/ldap.py:447
+#: lib/pp_admintools/app/mail.py:250 lib/pp_admintools/app/pdns.py:273
msgid "PORT"
msgstr "PORT"
-#: lib/pp_admintools/app/ldap.py:359
+#: lib/pp_admintools/app/ldap.py:360
msgid "The port number to connect to the LDAP server. Default: {}"
msgstr "Welcher Port soll verwendet werden, um sich mit dem LDAP-Server zu verbinden? Vorgabe: {}."
-#: lib/pp_admintools/app/ldap.py:365
+#: lib/pp_admintools/app/ldap.py:366
msgid "The base DN used as the root for the LDAP searches. Default: {!r}"
msgstr "Die Basis-DN, die als Ausgangspunkt bei LDAP-Suchen verwendet werden soll. Vorgabe: {!r}"
-#: lib/pp_admintools/app/ldap.py:372
+#: lib/pp_admintools/app/ldap.py:373
msgid "The Bind DN to use to connect to the LDAP server. Default: {!r}"
msgstr "Die Bind-DN, die zur Verbindung mit dem LDAP-Server verwendet werden soll. Vorgabe: {!r}"
-#: lib/pp_admintools/app/ldap.py:380 lib/pp_admintools/app/mk_ldap_passwd.py:131
+#: lib/pp_admintools/app/ldap.py:381 lib/pp_admintools/app/mk_ldap_passwd.py:131
#: lib/pp_admintools/app/set_ldap_password.py:131 lib/pp_admintools/app/set_ldap_password.py:132
#: lib/pp_admintools/app/set_ldap_password.py:149 lib/pp_admintools/app/set_ldap_password.py:152
msgid "PASSWORD"
msgstr "PASSWORT"
-#: lib/pp_admintools/app/ldap.py:381
+#: lib/pp_admintools/app/ldap.py:382
msgid "Use PASSWORD as the password for simple LDAP authentication."
msgstr "Verwende PASSWORT als Passwort für die einfache Authentifizierung."
-#: lib/pp_admintools/app/ldap.py:386
+#: lib/pp_admintools/app/ldap.py:387
msgid ""
"Prompt for simple LDAP authentication. This is used instead of specifying the password on the "
"command line."
"Nachfrage nach dem Passwort für eine einfache LDAP-Authentifizierung. Dies wird anstelle der "
"Angabe des Passwortes an der Kommandozeile verwendet."
-#: lib/pp_admintools/app/ldap.py:392 lib/pp_admintools/app/set_ldap_password.py:143
+#: lib/pp_admintools/app/ldap.py:393 lib/pp_admintools/app/set_ldap_password.py:143
#: lib/pp_admintools/app/set_ldap_password.py:145
msgid "PASSWORD_FILE"
msgstr "PASSWORT_DATEI"
-#: lib/pp_admintools/app/ldap.py:394
+#: lib/pp_admintools/app/ldap.py:395
msgid "Use contents of PASSWORD_FILE as the password for simple authentication."
msgstr "Verwende den Inhalt der PASSWORT_DATEI als das Passort für eine einfache LDAP-Authentifizierung."
-#: lib/pp_admintools/app/ldap.py:402 lib/pp_admintools/app/pdns.py:247
+#: lib/pp_admintools/app/ldap.py:403 lib/pp_admintools/app/pdns.py:247
msgid "INSTANCE"
msgstr "INSTANZ"
-#: lib/pp_admintools/app/ldap.py:405
+#: lib/pp_admintools/app/ldap.py:406
msgid "If not given, then the instance {!r} will be used."
msgstr "Wenn nicht angegeben, dann wird die Instanz {!r} verwendet."
-#: lib/pp_admintools/app/ldap.py:409
+#: lib/pp_admintools/app/ldap.py:410
msgid "The LDAP instance (LDAP cluster) from configuration, where to execute this script."
msgstr ""
"Die LDAP-Instanz (das LDAP-Cluster) aus der Konfiguration, in welcher das Skript ausgeführt "
"werden soll."
-#: lib/pp_admintools/app/ldap.py:413
+#: lib/pp_admintools/app/ldap.py:414
msgid ""
"The LDAP instance (LDAP cluster) from configuration, where to execute this script. It is "
"possible to give here the value {val_all!r}, then all found LDAP instances except {default!r} "
" außer {default!r} verwendet. Es ist ebenfalls möglich, den Wert {val_list!r} anzugeben, in "
"diesem Fall werden alle LDAP-Instanzen ausgegeben, und das Skript beendet sich."
-#: lib/pp_admintools/app/ldap.py:441
+#: lib/pp_admintools/app/ldap.py:442
+msgid "Override configured hostname or address of the LDAP server."
+msgstr "Überschreibt den konfigurierten Hostnamen oder die Adresse des zu verwendenden LDAP-Servers."
+
+#: lib/pp_admintools/app/ldap.py:449
+msgid "Override the configured port number to connect to the LDAP server."
+msgstr "Überschreibt den konfigurierten TCP Port für die Verbindung mit dem LDAP-Server."
+
+#: lib/pp_admintools/app/ldap.py:454
+msgid "Override the configured base DN of the instance used as the root for the LDAP searches."
+msgstr ""
+"Überschreibt die konfigurierte Basis-DN, die als Ausgangspunkt bei der LDAP-Suche verwendet "
+"werden soll."
+
+#: lib/pp_admintools/app/ldap.py:463
msgid "Using the given timeout in seconds for all LDAP operations. Default: {}"
msgstr "Der Timeout in Sekunden für alle LDAP-Operationen. Vorgabe: {}."
-#: lib/pp_admintools/app/ldap.py:468
+#: lib/pp_admintools/app/ldap.py:490
msgid "Limiting console timeout to {} seconds due to LDAP timeout."
msgstr ""
"Begrenze wegen des LDAP-Zeitüberschreitungslimits das Zeitüberschreitungslimit der Konsole auf "
"{} Sekunden."
-#: lib/pp_admintools/app/ldap.py:479
+#: lib/pp_admintools/app/ldap.py:501
msgid "Checking given instances."
msgstr "Überprüfe die übergebenen Instanzen."
-#: lib/pp_admintools/app/ldap.py:483
+#: lib/pp_admintools/app/ldap.py:505
msgid "Given insts:"
msgstr "Übergebene Instanzen:"
-#: lib/pp_admintools/app/ldap.py:534
+#: lib/pp_admintools/app/ldap.py:556
msgid "Configured LDAP instances:"
msgstr "Konfigurierte LDAP-Instanzen:"
-#: lib/pp_admintools/app/ldap.py:551
+#: lib/pp_admintools/app/ldap.py:573
msgid "Verifying given instances ..."
msgstr "Überprüfe Instanzen …"
-#: lib/pp_admintools/app/ldap.py:587
+#: lib/pp_admintools/app/ldap.py:609
msgid "Filtered instances:"
msgstr "Gefilterte Instanzen:"
-#: lib/pp_admintools/app/ldap.py:592
+#: lib/pp_admintools/app/ldap.py:617
msgid "LDAP instances to use:"
msgstr "Verwendete LDAP-Instanzen:"
-#: lib/pp_admintools/app/ldap.py:608
+#: lib/pp_admintools/app/ldap.py:633
msgid "LDAP instance {!r} not found in configuration or is not usable."
msgstr "Die LDAP-Instanz {!r} wurde nicht in der Konfiguration gefunden oder ist nicht verwendbar."
-#: lib/pp_admintools/app/ldap.py:663
+#: lib/pp_admintools/app/ldap.py:713
msgid "Preparations ..."
msgstr "Vorbereitungen …"
-#: lib/pp_admintools/app/ldap.py:666
+#: lib/pp_admintools/app/ldap.py:716
msgid "Open all necessary LDAP connections ..."
msgstr "Öffne alle notwendigen LDAP-Verbindungen …"
-#: lib/pp_admintools/app/ldap.py:680
+#: lib/pp_admintools/app/ldap.py:730
msgid "Password of user {usr} on LDAP instance {inst}:"
msgstr "Passwort des Nutzers {usr} der LDAP-Instanz {inst}:"
-#: lib/pp_admintools/app/ldap.py:689
+#: lib/pp_admintools/app/ldap.py:739
msgid "Info about LDAP server {}:"
msgstr "Informationen zu LDAP-Server {}:"
-#: lib/pp_admintools/app/ldap.py:699
+#: lib/pp_admintools/app/ldap.py:749
msgid "Trying to get LDAP server object for {} ..."
msgstr "Versuche ein LDAP-Server-Objekt für {} zu bekommen …"
-#: lib/pp_admintools/app/ldap.py:715
+#: lib/pp_admintools/app/ldap.py:765
msgid "Connect options to server {!r}:"
msgstr "Verbindungs-Optionen zu Server {!r}:"
-#: lib/pp_admintools/app/ldap.py:722
+#: lib/pp_admintools/app/ldap.py:772
msgid "LDAP server {s}: {re}"
msgstr "LDAP-Server {s}: {re}"
-#: lib/pp_admintools/app/ldap.py:736
+#: lib/pp_admintools/app/ldap.py:786
msgid "Connecting to LDAP server {url} as {dn!r} ..."
msgstr "Verbinde mit LDAP-Server {url} als {dn!r} …"
-#: lib/pp_admintools/app/ldap.py:748
+#: lib/pp_admintools/app/ldap.py:794
+msgid "Could not connect to LDAP server {url!r} as {user!r}: {e}"
+msgstr "Konnte keine Verbindung zum LDAP-Server {url!r} als Nutzer {url!r} herstellen: {e}"
+
+#: lib/pp_admintools/app/ldap.py:799
+msgid "{c} on connecting to LDAP server {url!r} as {user!r}: {e}"
+msgstr "{c} beim Verbinden mit LDAP-Server {url} als {user!r}: {e}"
+
+#: lib/pp_admintools/app/ldap.py:809
msgid "Finishing ..."
msgstr "Beende …"
-#: lib/pp_admintools/app/ldap.py:758
+#: lib/pp_admintools/app/ldap.py:820
msgid "Disconnecting from all remaining LDAP instances ..."
msgstr "Trenne Verbindung zu allen verbleibenden LDAP-Instanzen …"
-#: lib/pp_admintools/app/ldap.py:771
+#: lib/pp_admintools/app/ldap.py:833
msgid "Unbinding from LDAP server {!r} ..."
msgstr "Trenne Bindung zu LDAP-Server {!r} …"
-#: lib/pp_admintools/app/ldap.py:778
+#: lib/pp_admintools/app/ldap.py:840
msgid "Disconnecting from LDAP server {!r} ..."
msgstr "Trenne Verbindung zu LDAP-Server {!r} …"
-#: lib/pp_admintools/app/ldap.py:805
+#: lib/pp_admintools/app/ldap.py:867
msgid "Searching in {uri}/{bdn} for all entries with filter {fltr!r}, giving attributes:"
msgstr "Suche in {uri}/{bdn} nach allen Einträgen mit dem Filter {fltr!r} und den angegebenen Attributen:"
-#: lib/pp_admintools/app/ldap.py:817
+#: lib/pp_admintools/app/ldap.py:879
msgid "Result of searching:"
msgstr "Ergebnis der Suche:"
-#: lib/pp_admintools/app/ldap.py:822
+#: lib/pp_admintools/app/ldap.py:884
msgid "Found entry {!r}."
msgstr "Gefundener Eintrag:"
-#: lib/pp_admintools/app/ldap.py:829 lib/pp_admintools/app/ldap.py:873
+#: lib/pp_admintools/app/ldap.py:891 lib/pp_admintools/app/ldap.py:935
msgid "Found one entry with filter {fltr!r} in {uri}/{bdn}."
msgid_plural "Found {nr} enries with filter {fltr!r} in {uri}/{bdn}."
msgstr[0] "Fand einen Eintrag mit dem Filter {fltr!r} in {uri}/{bdn}."
msgstr[1] "Fand {nr} Einträge mit dem Filter {fltr!r} in {uri}/{bdn}."
-#: lib/pp_admintools/app/ldap.py:833
+#: lib/pp_admintools/app/ldap.py:895
msgid "Got response entries:"
msgstr "Erhaltene Antworteinträge:"
-#: lib/pp_admintools/app/ldap.py:837 lib/pp_admintools/app/ldap.py:885
+#: lib/pp_admintools/app/ldap.py:899 lib/pp_admintools/app/ldap.py:947
msgid "No entry found with filter {fltr!r} in {uri}/{bdn}."
msgstr "Keinen Eintrag mit dem Filter {fltr!r} in {uri}/{bdn} gefunden."
-#: lib/pp_admintools/app/ldap.py:861 lib/pp_admintools/app/ldap.py:915
+#: lib/pp_admintools/app/ldap.py:923 lib/pp_admintools/app/ldap.py:977
msgid "Using LDAP filter: {!r}"
msgstr "Verwende LDAP-Filter: {!r}."
-#: lib/pp_admintools/app/ldap.py:877 lib/pp_admintools/app/ldap.py:924
+#: lib/pp_admintools/app/ldap.py:939 lib/pp_admintools/app/ldap.py:986
msgid "Result of searching for DNs of all entries:"
msgstr "Ergebnis der Suche nach den DNs aller Einträge:"
-#: lib/pp_admintools/app/ldap.py:881 lib/pp_admintools/app/ldap.py:928
-#: lib/pp_admintools/app/ldap.py:1026 lib/pp_admintools/app/ldap.py:1079
-#: lib/pp_admintools/app/ldap.py:1132 lib/pp_admintools/app/ldap.py:1220
-#: lib/pp_admintools/app/ldap.py:1420 lib/pp_admintools/app/ldap.py:1454
-#: lib/pp_admintools/app/ldap.py:1488 lib/pp_admintools/app/ldap.py:1522
+#: lib/pp_admintools/app/ldap.py:943 lib/pp_admintools/app/ldap.py:990
+#: lib/pp_admintools/app/ldap.py:1088 lib/pp_admintools/app/ldap.py:1141
+#: lib/pp_admintools/app/ldap.py:1194 lib/pp_admintools/app/ldap.py:1282
+#: lib/pp_admintools/app/ldap.py:1482 lib/pp_admintools/app/ldap.py:1516
+#: lib/pp_admintools/app/ldap.py:1550 lib/pp_admintools/app/ldap.py:1584
msgid "Got a response entry:"
msgstr "Erhaltener Antwort-Eintrag:"
-#: lib/pp_admintools/app/ldap.py:911
+#: lib/pp_admintools/app/ldap.py:973
msgid "Getting all Entry DNs of LDAP instance {i!r} below {b!r}."
msgstr "Hole DNs aller Einträge der LDAP-Instanz {i!r} unterhalb von {b!r}."
-#: lib/pp_admintools/app/ldap.py:950
+#: lib/pp_admintools/app/ldap.py:1012
msgid "Trying to evaluate DN of user {user!r} in LDAP instance {inst} ..."
msgstr "Versuche den DN des Nutzer {user!r} auf der LDAP-Instanz {inst} zu ermitteln …"
-#: lib/pp_admintools/app/ldap.py:955
+#: lib/pp_admintools/app/ldap.py:1017
msgid "Trying to evaluate DN of user {u!r} as a mail address ..."
msgstr "Versuche den DN des Nutzer {u!r} als Mailadresse zu ermitteln …"
-#: lib/pp_admintools/app/ldap.py:962
+#: lib/pp_admintools/app/ldap.py:1024
msgid "Trying to evaluate DN of user {u!r} as a LDAP DN ..."
msgstr "Versuche den DN des Nutzer {u!r} als LDAP DN zu ermitteln …"
-#: lib/pp_admintools/app/ldap.py:969
+#: lib/pp_admintools/app/ldap.py:1031
msgid "Trying to evaluate DN of user {u!r} as a UID (Posix user name) ..."
msgstr "Versuche den DN des Nutzer {u!r} als UID (POSIX Benutzername) zu ermitteln …"
-#: lib/pp_admintools/app/ldap.py:978 lib/pp_admintools/app/remove_ldap_user.py:318
+#: lib/pp_admintools/app/ldap.py:1040 lib/pp_admintools/app/remove_ldap_user.py:318
msgid "Empty user given."
msgstr "Leere Nutzername übergeben."
-#: lib/pp_admintools/app/ldap.py:981
+#: lib/pp_admintools/app/ldap.py:1043
msgid "Trying to evaluate DN of user {u!r} as a CN ({c}) ..."
msgstr "Versuche den DN des Nutzer {u!r} als CN ({c}) zu ermitteln …"
-#: lib/pp_admintools/app/ldap.py:1011 lib/pp_admintools/app/ldap.py:1064
-#: lib/pp_admintools/app/ldap.py:1117 lib/pp_admintools/app/ldap.py:1408
-#: lib/pp_admintools/app/ldap.py:1442 lib/pp_admintools/app/ldap.py:1476
-#: lib/pp_admintools/app/ldap.py:1510
+#: lib/pp_admintools/app/ldap.py:1073 lib/pp_admintools/app/ldap.py:1126
+#: lib/pp_admintools/app/ldap.py:1179 lib/pp_admintools/app/ldap.py:1470
+#: lib/pp_admintools/app/ldap.py:1504 lib/pp_admintools/app/ldap.py:1538
+#: lib/pp_admintools/app/ldap.py:1572
msgid "Searching in {uri}/{bdn} with filter: {fltr}"
msgstr "Suche in {uri}/{bdn} mit dem Filter: {fltr}"
-#: lib/pp_admintools/app/ldap.py:1022
+#: lib/pp_admintools/app/ldap.py:1084
msgid "Result of searching for mail address {m!r}:"
msgstr "Ergebnis der Suche nach der Mailadresse {m!r}:"
-#: lib/pp_admintools/app/ldap.py:1033
+#: lib/pp_admintools/app/ldap.py:1095
msgid "User with mail address {m!r} not found in {uri}/{bdn}."
msgstr "Ein Nutzer mit der Mailadresse {m!r} wurde nicht in {uri}/{bdn} gefunden."
-#: lib/pp_admintools/app/ldap.py:1075
+#: lib/pp_admintools/app/ldap.py:1137
msgid "Result of searching for uid {u!r}:"
msgstr "Ergebnis der Suche nach UID {u!r}:"
-#: lib/pp_admintools/app/ldap.py:1086
+#: lib/pp_admintools/app/ldap.py:1148
msgid "User with uid {u!r} not found in {uri}/{bdn}."
msgstr "Ein Nutzer mit der UID {u!r} wurde nicht in {uri}/{bdn} gefunden."
-#: lib/pp_admintools/app/ldap.py:1128
+#: lib/pp_admintools/app/ldap.py:1190
msgid "Result of searching for CN {cn!r}:"
msgstr "Ergebnis der Suche nach CN {cn!r}:"
-#: lib/pp_admintools/app/ldap.py:1139
+#: lib/pp_admintools/app/ldap.py:1201
msgid "User with cn {cn!r} not found in {uri}/{bdn}."
msgstr "Ein Nutzer mit dem CN {cn!r} wurde nicht in {uri}/{bdn} gefunden."
-#: lib/pp_admintools/app/ldap.py:1156 lib/pp_admintools/app/set_ldap_password.py:409
+#: lib/pp_admintools/app/ldap.py:1218 lib/pp_admintools/app/set_ldap_password.py:409
msgid "User with DN {dn!r} not found in {uri}."
msgstr "Ein Nutzer mit dem DN {dn!r} wurde nicht in {uri} gefunden."
-#: lib/pp_admintools/app/ldap.py:1174
+#: lib/pp_admintools/app/ldap.py:1236
msgid "ObjectClasses of {dn!r}:"
msgstr "ObjectClasses von {dn!r}:"
-#: lib/pp_admintools/app/ldap.py:1184
+#: lib/pp_admintools/app/ldap.py:1246
msgid "Entry {dn!r} in {uri} seems not to be an account."
msgstr "Der Eintrag {dn!r} in {uri} scheint kein Nutzerkonto zu sein."
-#: lib/pp_admintools/app/ldap.py:1206
+#: lib/pp_admintools/app/ldap.py:1268
msgid "Searching DN {dn!r} in {uri}."
msgstr "Suche DN {dn!r} in {uri}."
-#: lib/pp_admintools/app/ldap.py:1216
+#: lib/pp_admintools/app/ldap.py:1278
msgid "Result of searching for DN {dn!r}:"
msgstr "Ergebnis der Suche nach dem DN {dn!r}:"
-#: lib/pp_admintools/app/ldap.py:1224
+#: lib/pp_admintools/app/ldap.py:1286
msgid "Entry with DN {dn!r} not found in {uri}."
msgstr "Ein Eintrag bit dem DN {dn!r} wurde nicht in {uri} gefunden."
-#: lib/pp_admintools/app/ldap.py:1269
+#: lib/pp_admintools/app/ldap.py:1331
msgid "Creating entry {dn!r} on {uri}:"
msgstr "Erstelle Eintrag {dn!r} in {uri} …"
-#: lib/pp_admintools/app/ldap.py:1275
+#: lib/pp_admintools/app/ldap.py:1337
msgid "Simulation mode - entry will not be created."
msgstr "Simulationsmodus - der Eintrag wird nicht erstellt."
-#: lib/pp_admintools/app/ldap.py:1282
+#: lib/pp_admintools/app/ldap.py:1344
msgid "Creation of entry {dn!r} was NOT successfull - {c}: {e}"
msgstr "Die Erstellung des Eintrags {dn!r} war NICHT erfolgreich - {c}: {e}"
-#: lib/pp_admintools/app/ldap.py:1297
+#: lib/pp_admintools/app/ldap.py:1359
msgid "Creation status: {!r}."
msgstr "Erstellungsstatus: {!r}"
-#: lib/pp_admintools/app/ldap.py:1299
+#: lib/pp_admintools/app/ldap.py:1361
msgid "Result of creating:"
msgstr "Ergebnis der Erstellung:"
-#: lib/pp_admintools/app/ldap.py:1302
+#: lib/pp_admintools/app/ldap.py:1364
msgid "Creation of entry {dn!r} was NOT successful: {desc} - {msg}"
msgstr "Die Erstellung des Eintrags {dn!r} war NICHT erfolgreich - {desc}: {msg}"
-#: lib/pp_admintools/app/ldap.py:1308
+#: lib/pp_admintools/app/ldap.py:1370
msgid "Creation successful."
msgstr "Die Erstellung war erfolgreich."
-#: lib/pp_admintools/app/ldap.py:1319
+#: lib/pp_admintools/app/ldap.py:1381
msgid "Applying changes on {uri} to DN {dn!r}:"
msgstr "Wende Änderungen in {uri} an DN {dn!r} an:"
-#: lib/pp_admintools/app/ldap.py:1324
+#: lib/pp_admintools/app/ldap.py:1386
msgid "Simulation mode - changes are not applied."
msgstr "Simulationsmodus - hier wird jetzt nichts geändert."
-#: lib/pp_admintools/app/ldap.py:1330
+#: lib/pp_admintools/app/ldap.py:1392
msgid "Modification of {dn!r} was NOT successfull - {c}: {e}"
msgstr "Die Änderung von {dn!r} war NICHT erfolgreich - {c}: {e}"
-#: lib/pp_admintools/app/ldap.py:1332 lib/pp_admintools/app/ldap.py:1351
+#: lib/pp_admintools/app/ldap.py:1394 lib/pp_admintools/app/ldap.py:1413
#: lib/pp_admintools/app/remove_ldap_user.py:449 lib/pp_admintools/app/remove_ldap_user.py:476
#: lib/pp_admintools/app/remove_ldap_user.py:503 lib/pp_admintools/app/remove_ldap_user.py:534
#: lib/pp_admintools/app/remove_ldap_user.py:565 lib/pp_admintools/app/remove_ldap_user.py:681
msgid "Changes:"
msgstr "Änderungen:"
-#: lib/pp_admintools/app/ldap.py:1344
+#: lib/pp_admintools/app/ldap.py:1406
msgid "Modification status: {!r}."
msgstr "Änderungsstatus: {!r}."
-#: lib/pp_admintools/app/ldap.py:1346
+#: lib/pp_admintools/app/ldap.py:1408
msgid "Result of modifying:"
msgstr "Ergebnis der Änderung:"
-#: lib/pp_admintools/app/ldap.py:1349
+#: lib/pp_admintools/app/ldap.py:1411
msgid "Modification of {dn!r} was NOT successful: {desc} - {msg}"
msgstr "Die Änderung von {dn!r} war NICHT erfolgreich - {desc}: {msg}"
-#: lib/pp_admintools/app/ldap.py:1354
+#: lib/pp_admintools/app/ldap.py:1416
msgid "Modification successful."
msgstr "Die Änderung war erfolgreich."
-#: lib/pp_admintools/app/ldap.py:1364
+#: lib/pp_admintools/app/ldap.py:1426
msgid "Deleting LDAP entry {dn!r} on {uri} ..."
msgstr "Lösche LDAP-Eintrag {dn!r} in {uri} …"
-#: lib/pp_admintools/app/ldap.py:1369
+#: lib/pp_admintools/app/ldap.py:1431
msgid "Simulation mode - deletion will not be executed."
msgstr "Simulationsmodus - hier wird jetzt nichts gelöscht."
-#: lib/pp_admintools/app/ldap.py:1375
+#: lib/pp_admintools/app/ldap.py:1437
msgid "Deletion of {dn!r} was NOT successfull - {c}: {e}"
msgstr "Das Löschen von {dn!r} war NICHT erfolgreich - {c}: {e}"
-#: lib/pp_admintools/app/ldap.py:1380
+#: lib/pp_admintools/app/ldap.py:1442
msgid "Deletion status: {!r}."
msgstr "Löschstatus: {!r}"
-#: lib/pp_admintools/app/ldap.py:1382
+#: lib/pp_admintools/app/ldap.py:1444
msgid "Result of deletion:"
msgstr "Ergebnis der Löschung:"
-#: lib/pp_admintools/app/ldap.py:1385
+#: lib/pp_admintools/app/ldap.py:1447
msgid "Deletion of {dn!r} was NOT successful: {desc} - {msg}"
msgstr "Das Löschen von {dn!r} war NICHT erfolgreich - {desc}: {msg}"
-#: lib/pp_admintools/app/ldap.py:1389
+#: lib/pp_admintools/app/ldap.py:1451
msgid "Deletion successful."
msgstr "Die Löschung war erfolgreich."
-#: lib/pp_admintools/app/ldap.py:1538
+#: lib/pp_admintools/app/ldap.py:1600
msgid "Reading password file {!r} ..."
msgstr "Lese Passwortdatei {!r} …"
-#: lib/pp_admintools/app/ldap.py:1569
+#: lib/pp_admintools/app/ldap.py:1631
msgid "Could not detect RDN from DN {!r}."
msgstr "Konnte RDN nich aus {!r} ermitteln."
-#: lib/pp_admintools/app/ldap.py:1573
+#: lib/pp_admintools/app/ldap.py:1635
msgid "Found RDN attribute {!r}."
msgstr "Fand RDN-Attribut {!r}."
-#: lib/pp_admintools/app/ldap.py:1579
+#: lib/pp_admintools/app/ldap.py:1641
msgid "RDN attribute {!r} will not be touched."
msgstr "Das RDN-Attribut {!r} wird nicht angefasst."
-#: lib/pp_admintools/app/ldap.py:1585 lib/pp_admintools/app/ldap.py:1604
-#: lib/pp_admintools/app/ldap.py:1682
+#: lib/pp_admintools/app/ldap.py:1647 lib/pp_admintools/app/ldap.py:1666
+#: lib/pp_admintools/app/ldap.py:1744
msgid "Attribute {!r} will not be touched."
msgstr "Das Attribut {!r} wird nicht angefasst."
-#: lib/pp_admintools/app/ldap.py:1642
+#: lib/pp_admintools/app/ldap.py:1704
msgid "Values to removed from attribute {!r}:"
msgstr "Werte, die von Attribut {!r} gelöscht werden."
"Wenn kein Admin-Account verwendet wird, dann wird das Passwort ausschließlich mit dem Vorgabe-"
"Schema gehasht."
-#: lib/pp_admintools/app/set_ldap_password.py:183
-msgid "SCHEMA"
-msgstr "SCHEMA"
-
#: lib/pp_admintools/app/set_ldap_password.py:187
msgid ""
"The user, which password in the given LDAP instance should be changed. It may be given by its "
msgid "Found API key of PDNS instance {inst!r}: {key!r}."
msgstr "Fand API-Schlüssel für PowerDNS-Instanz {inst!r}: {key!r}."
-#: lib/pp_admintools/handler/ldap_password.py:60
+#: lib/pp_admintools/handler/ldap_password.py:61
msgid "Encryption schema {!r} not found."
msgstr "Das Verschlüsselungs-Schema {!r} wurde nicht gefunden."
-#: lib/pp_admintools/handler/ldap_password.py:114
+#: lib/pp_admintools/handler/ldap_password.py:133
msgid "The ancient and notorious 3 DES crypt method."
msgstr "Die antike und berüchtigte 3 DES Verschlüsselungsmethode."
-#: lib/pp_admintools/handler/ldap_password.py:115 lib/pp_admintools/handler/ldap_password.py:118
+#: lib/pp_admintools/handler/ldap_password.py:134 lib/pp_admintools/handler/ldap_password.py:137
msgid "Pure {} hashing method."
msgstr "Reine {}-hashing Methode."
-#: lib/pp_admintools/handler/ldap_password.py:116 lib/pp_admintools/handler/ldap_password.py:119
-#: lib/pp_admintools/handler/ldap_password.py:121 lib/pp_admintools/handler/ldap_password.py:123
+#: lib/pp_admintools/handler/ldap_password.py:135 lib/pp_admintools/handler/ldap_password.py:138
+#: lib/pp_admintools/handler/ldap_password.py:140 lib/pp_admintools/handler/ldap_password.py:142
msgid "A {} based hashing algorithm."
msgstr "Ein {}-basierter Hashing-Algorithmus"
-#: lib/pp_admintools/handler/ldap_password.py:117 lib/pp_admintools/handler/ldap_password.py:120
-#: lib/pp_admintools/handler/ldap_password.py:122 lib/pp_admintools/handler/ldap_password.py:124
+#: lib/pp_admintools/handler/ldap_password.py:136 lib/pp_admintools/handler/ldap_password.py:139
+#: lib/pp_admintools/handler/ldap_password.py:141 lib/pp_admintools/handler/ldap_password.py:143
msgid "Salted {} hashing method."
msgstr "Gesalzene {}-hashing Methode."
-#: lib/pp_admintools/handler/ldap_password.py:125
+#: lib/pp_admintools/handler/ldap_password.py:144
msgid "A hashing method derived from {} with additional computing rounds."
msgstr "Eine von {} abgeleitete Hashing-Methode mit zusätzlichen Berechnungsrunden."
-#: lib/pp_admintools/handler/ldap_password.py:245
+#: lib/pp_admintools/handler/ldap_password.py:268
msgid "Invalid schema {!r} given for update."
msgstr "Ungültiges Schema {!r} für Update angegeben."
-#: lib/pp_admintools/handler/ldap_password.py:282
+#: lib/pp_admintools/handler/ldap_password.py:305
msgid "Usable Hashing schemes:"
msgstr "Verfügbare Hashing-Schemen:"
-#: lib/pp_admintools/handler/ldap_password.py:291
+#: lib/pp_admintools/handler/ldap_password.py:314
msgid "This schema cannot be used for authentication on a current freeradius server."
msgstr ""
"Dieses Schema kann nicht zur Authentifizierung an einem aktuellen Freeradius-Server verwendet "
"werden."
-#: lib/pp_admintools/handler/ldap_password.py:295
+#: lib/pp_admintools/handler/ldap_password.py:318
msgid "This is the default schema."
msgstr "Das ist das Vorgabe-Schema."
-#: lib/pp_admintools/handler/ldap_password.py:339
+#: lib/pp_admintools/handler/ldap_password.py:362
msgid "The password schema {!r} does not support a password salt."
msgstr "Das Passwort-Schema {!r} unterstützt keine Passwort-Salt."
-#: lib/pp_admintools/handler/ldap_password.py:343
+#: lib/pp_admintools/handler/ldap_password.py:366
msgid "The password salt must be at least by {} characters."
msgstr "Der Passwort-Salt muss mindestens {} Zeichen lang sein."
-#: lib/pp_admintools/handler/ldap_password.py:347
+#: lib/pp_admintools/handler/ldap_password.py:370
msgid "The password salt may have a length of maximum {} characters."
msgstr "Der Passwort-Salt darf höchstens {} Zeichen lang sein."
-#: lib/pp_admintools/handler/ldap_password.py:357
+#: lib/pp_admintools/handler/ldap_password.py:380
msgid "Found invalid character {!r} in password salt."
msgstr "Ungültige Zeichen {!r} im Passwort-Salt gefunden."
-#: lib/pp_admintools/handler/ldap_password.py:370
+#: lib/pp_admintools/handler/ldap_password.py:393
msgid "The password schema {!r} does not support calculation rounds."
msgstr "Das Passwort-Schema {!r} unterstützt keine Berechnungsrunden."
-#: lib/pp_admintools/handler/ldap_password.py:376
+#: lib/pp_admintools/handler/ldap_password.py:399
msgid "Wrong value {v!r} for calculation rounds: {e}"
msgstr "Ungültiger Wert {v!r} für Berechnungsrunden: {e}"
-#: lib/pp_admintools/handler/ldap_password.py:380
+#: lib/pp_admintools/handler/ldap_password.py:403
msgid "The value for the calculation rounds has to be at least {}."
msgstr "Der Wert für Berechnungsrunden muss mindestens {} betragen."
-#: lib/pp_admintools/handler/ldap_password.py:385
+#: lib/pp_admintools/handler/ldap_password.py:408
msgid "The value for the calculation rounds has to at most {}."
msgstr "Der Wert für Berechnungsrunden darf höchstens {} betragen."
-#: lib/pp_admintools/handler/ldap_password.py:418
+#: lib/pp_admintools/handler/ldap_password.py:441
msgid "Cannot testing the quality of the new password, because the Python module {!r} is not installed."
msgstr ""
"Kann die Qualität des neuen Passwortes nicht überprüfen, da das Pythod-Modul {!r} nicht "
"installiert ist."
-#: lib/pp_admintools/handler/ldap_password.py:424
+#: lib/pp_admintools/handler/ldap_password.py:447
msgid "Testing quality of new password ..."
msgstr "Teste Qualität des neuen Passwortes …"
-#: lib/pp_admintools/handler/ldap_password.py:428
+#: lib/pp_admintools/handler/ldap_password.py:451
msgid "Quality of the new password is not sufficient:"
msgstr "Die Qualität des neuen Passwortes ist nicht ausreichend:"
#
msgid ""
msgstr ""
-"Project-Id-Version: pp_admintools 0.9.0\n"
+"Project-Id-Version: pp_admintools 0.10.0\n"
"Report-Msgid-Bugs-To: frank.brehm@pixelpark.com\n"
-"POT-Creation-Date: 2023-06-15 16:42+0200\n"
-"PO-Revision-Date: 2023-06-15 16:20+0200\n"
+"POT-Creation-Date: 2023-08-22 13:39+0200\n"
+"PO-Revision-Date: 2023-08-22 14:45+0200\n"
"Last-Translator: Frank Brehm <frank.brehm@pixelpark.com>\n"
"Language: en_US\n"
"Language-Team: Frank Brehm <frank.brehm@pixelpark.com>\n"
"Default: {!r}."
msgstr ""
-#: lib/pp_admintools/app/barracuda_sync.py:149 lib/pp_admintools/app/ldap.py:439
+#: lib/pp_admintools/app/barracuda_sync.py:149 lib/pp_admintools/app/ldap.py:461
#: lib/pp_admintools/app/mirror_ldap.py:118 lib/pp_admintools/app/pdns.py:284
msgid "SECONDS"
msgstr ""
#: lib/pp_admintools/app/barracuda_sync.py:231 lib/pp_admintools/app/barracuda_sync.py:427
#: lib/pp_admintools/app/dns_deploy_zones.py:434 lib/pp_admintools/app/dns_deploy_zones.py:788
-#: lib/pp_admintools/app/ldap.py:896 lib/pp_admintools/app/ldap.py:1029
-#: lib/pp_admintools/app/ldap.py:1082 lib/pp_admintools/app/ldap.py:1135
-#: lib/pp_admintools/app/ldap.py:1423 lib/pp_admintools/app/ldap.py:1457
-#: lib/pp_admintools/app/ldap.py:1491 lib/pp_admintools/app/ldap.py:1525
+#: lib/pp_admintools/app/ldap.py:958 lib/pp_admintools/app/ldap.py:1091
+#: lib/pp_admintools/app/ldap.py:1144 lib/pp_admintools/app/ldap.py:1197
+#: lib/pp_admintools/app/ldap.py:1485 lib/pp_admintools/app/ldap.py:1519
+#: lib/pp_admintools/app/ldap.py:1553 lib/pp_admintools/app/ldap.py:1587
msgid "Result:"
msgstr ""
msgid "LDAP Entries to modified:"
msgstr ""
-#: lib/pp_admintools/app/barracuda_sync.py:756 lib/pp_admintools/app/ldap.py:1638
+#: lib/pp_admintools/app/barracuda_sync.py:756 lib/pp_admintools/app/ldap.py:1700
msgid "Values to add to attribute {!r}:"
msgstr ""
msgid "Values to be removed from attribute {!r}:"
msgstr ""
-#: lib/pp_admintools/app/barracuda_sync.py:777 lib/pp_admintools/app/ldap.py:1659
+#: lib/pp_admintools/app/barracuda_sync.py:777 lib/pp_admintools/app/ldap.py:1721
msgid "Changes for attribute {!r}:"
msgstr ""
-#: lib/pp_admintools/app/barracuda_sync.py:780 lib/pp_admintools/app/ldap.py:1662
+#: lib/pp_admintools/app/barracuda_sync.py:780 lib/pp_admintools/app/ldap.py:1724
msgid "No changes to attribute {!r}."
msgstr ""
msgstr ""
#: lib/pp_admintools/app/check_ldap_dn_attributes.py:97
+#: lib/pp_admintools/app/check_ldap_pwd_schemes.py:106
msgid "Script options"
msgstr ""
msgstr "Checking DN-like attributes of entry {!r} …"
#: lib/pp_admintools/app/check_ldap_dn_attributes.py:219
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:234
+#: lib/pp_admintools/app/check_ldap_pwd_schemes.py:190
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:233
msgid "Got attributes:"
msgstr ""
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:76
+#: lib/pp_admintools/app/check_ldap_pwd_schemes.py:84
+msgid ""
+"Reports the password hashing schemes of {attr} attributes in LDAP. Without a filter or a more "
+"special Base-DN the hashing schemes of all {attr} attributes in the LDAP tree are shown. One can"
+" filter the output by a regular LDAP-filter rule of by one or more hashing schemes."
+msgstr ""
+
+#: lib/pp_admintools/app/check_ldap_pwd_schemes.py:109
+msgid "FILTER"
+msgstr ""
+
+#: lib/pp_admintools/app/check_ldap_pwd_schemes.py:110
+msgid ""
+"An additional LDAP filter to limit the entries to print out their password hashing schema. "
+"Please note, that this filter will be wrapped by parantheses to combine it with the default "
+"filter {!r}."
+msgstr ""
+
+#: lib/pp_admintools/app/check_ldap_pwd_schemes.py:124
+msgid ""
+"One or more schemes (hashing methods) for filtering the {attr} attributes. It is possible to "
+"give here the value {val_list!r}, then all possible schemes are shown and exit."
+msgstr ""
+
+#: lib/pp_admintools/app/check_ldap_pwd_schemes.py:130 lib/pp_admintools/app/set_ldap_password.py:183
+msgid "SCHEMA"
+msgstr ""
+
+#: lib/pp_admintools/app/check_ldap_pwd_schemes.py:136
+msgid "Show more details in output, e.g. the entry DN."
+msgstr ""
+
+#: lib/pp_admintools/app/check_ldap_pwd_schemes.py:168
+msgid ""
+"Start reporting password hashing schemes of {attr} attributes in in LDAP instance {inst!r} "
+"({url}) ..."
+msgstr "Start reporting password hashing schemes of {attr} attributes in in LDAP instance {inst!r} ({url}) …"
+
+#: lib/pp_admintools/app/check_ldap_pwd_schemes.py:181
+msgid "Used LDAP filter: {!r}."
+msgstr ""
+
+#: lib/pp_admintools/app/check_ldap_pwd_schemes.py:223
+msgid "Found entry {!r} with data:"
+msgstr ""
+
+#: lib/pp_admintools/app/check_ldap_pwd_schemes.py:227
+msgid "Found entry DNs:"
+msgstr ""
+
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:75
msgid ""
"Removes all LDAP groups, which does not have any members, that means, they are one of the "
"following objectClasses: {ocl}, and they have none of the following attributes: {atl}."
msgstr ""
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:125 lib/pp_admintools/app/remove_ldap_user.py:134
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:124 lib/pp_admintools/app/remove_ldap_user.py:134
msgid "Removing options"
msgstr ""
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:129
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:128
msgid "The base DN used as the root for the LDAP search."
msgstr ""
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:155 lib/pp_admintools/app/remove_ldap_user.py:202
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:154 lib/pp_admintools/app/remove_ldap_user.py:202
msgid "Checking given instances for admin and read/write access."
msgstr ""
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:162 lib/pp_admintools/app/remove_ldap_user.py:209
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:161 lib/pp_admintools/app/remove_ldap_user.py:209
msgid "LDAP instance {!r} not found in configuration."
msgstr ""
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:170 lib/pp_admintools/app/remove_ldap_user.py:217
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:169 lib/pp_admintools/app/remove_ldap_user.py:217
msgid "LDAP instance {!r} has only readonly access."
msgstr ""
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:175 lib/pp_admintools/app/remove_ldap_user.py:222
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:174 lib/pp_admintools/app/remove_ldap_user.py:222
msgid "No admin access to LDAP instance {!r}."
msgstr ""
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:185
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:184
msgid "Searching for empty groups ..."
msgstr "Searching for empty groups …"
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:192
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:191
msgid "No more empty groups left for removing."
msgstr ""
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:195
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:194
msgid "Lap {} on searching for empty groups to remove."
msgstr ""
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:230
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:229
msgid "Searching for member attributes of {!r} ..."
msgstr "Searching for member attributes of {!r} …"
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:240
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:239
msgid "Found attribute {at!r} in group {g!r}."
msgstr ""
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:243
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:242
msgid "Group {!r} is not empty!"
msgstr ""
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:248
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:247
msgid "Removing group {!r} ..."
msgstr "Removing group {!r} …"
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:252
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:251
msgid "Dont't removing group {!r}."
msgstr ""
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:259
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:258
msgid "Do you really want to remove the group '{}'"
msgstr ""
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:261
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:260
msgid "[{yes}/{no}]?"
msgstr ""
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:262 lib/pp_admintools/app/ldap.py:336
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:261 lib/pp_admintools/app/ldap.py:337
#: lib/pp_admintools/app/mirror_ldap.py:238 lib/pp_admintools/app/remove_ldap_user.py:308
#: lib/pp_admintools/app/set_ldap_password.py:489
msgid "No"
msgstr ""
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:262 lib/pp_admintools/app/mirror_ldap.py:238
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:261 lib/pp_admintools/app/mirror_ldap.py:238
#: lib/pp_admintools/app/remove_ldap_user.py:308 lib/pp_admintools/app/set_ldap_password.py:489
msgid "yes"
msgstr ""
msgid "Checking for dependend unique attribute '"
msgstr ""
-#: lib/pp_admintools/app/duplicate_attribs.py:172 lib/pp_admintools/app/ldap.py:564
+#: lib/pp_admintools/app/duplicate_attribs.py:172 lib/pp_admintools/app/ldap.py:586
msgid "Used filter:"
msgstr ""
msgid "No duplicates for attribute {!r} found."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:115 lib/pp_admintools/app/ldap.py:283
+#: lib/pp_admintools/app/ldap.py:116 lib/pp_admintools/app/ldap.py:284
msgid "The path {!r} must be an absolute path."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:121 lib/pp_admintools/app/ldap.py:287
-#: lib/pp_admintools/app/ldap.py:1541
+#: lib/pp_admintools/app/ldap.py:122 lib/pp_admintools/app/ldap.py:288
+#: lib/pp_admintools/app/ldap.py:1603
msgid "The file {!r} does not exists."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:125 lib/pp_admintools/app/ldap.py:291
-#: lib/pp_admintools/app/ldap.py:1546
+#: lib/pp_admintools/app/ldap.py:126 lib/pp_admintools/app/ldap.py:292
+#: lib/pp_admintools/app/ldap.py:1608
msgid "The given path {!r} exists, but is not a regular file."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:129 lib/pp_admintools/app/ldap.py:295
-#: lib/pp_admintools/app/ldap.py:1551
+#: lib/pp_admintools/app/ldap.py:130 lib/pp_admintools/app/ldap.py:296
+#: lib/pp_admintools/app/ldap.py:1613
msgid "The given file {!r} is not readable."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:151
+#: lib/pp_admintools/app/ldap.py:152
msgid "a port number must be greater than zero and less or equal to {}."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:156
+#: lib/pp_admintools/app/ldap.py:157
msgid "Wrong port number {!r}:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:325
+#: lib/pp_admintools/app/ldap.py:326
msgid "LDAP options"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:327
+#: lib/pp_admintools/app/ldap.py:328
msgid "Options for the default LDAP connection"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:329
+#: lib/pp_admintools/app/ldap.py:330
msgid "Options fo LDAP connections"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:338
+#: lib/pp_admintools/app/ldap.py:339
msgid "Yes"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:344
+#: lib/pp_admintools/app/ldap.py:345 lib/pp_admintools/app/ldap.py:441
msgid "HOST"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:345
+#: lib/pp_admintools/app/ldap.py:346
msgid "Hostname or address of the LDAP server to use. Default: {!r}"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:352
+#: lib/pp_admintools/app/ldap.py:353
msgid "Use ldaps to connect to the LDAP server. Default: {}"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:357 lib/pp_admintools/app/mail.py:250
-#: lib/pp_admintools/app/pdns.py:273
+#: lib/pp_admintools/app/ldap.py:358 lib/pp_admintools/app/ldap.py:447
+#: lib/pp_admintools/app/mail.py:250 lib/pp_admintools/app/pdns.py:273
msgid "PORT"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:359
+#: lib/pp_admintools/app/ldap.py:360
msgid "The port number to connect to the LDAP server. Default: {}"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:365
+#: lib/pp_admintools/app/ldap.py:366
msgid "The base DN used as the root for the LDAP searches. Default: {!r}"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:372
+#: lib/pp_admintools/app/ldap.py:373
msgid "The Bind DN to use to connect to the LDAP server. Default: {!r}"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:380 lib/pp_admintools/app/mk_ldap_passwd.py:131
+#: lib/pp_admintools/app/ldap.py:381 lib/pp_admintools/app/mk_ldap_passwd.py:131
#: lib/pp_admintools/app/set_ldap_password.py:131 lib/pp_admintools/app/set_ldap_password.py:132
#: lib/pp_admintools/app/set_ldap_password.py:149 lib/pp_admintools/app/set_ldap_password.py:152
msgid "PASSWORD"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:381
+#: lib/pp_admintools/app/ldap.py:382
msgid "Use PASSWORD as the password for simple LDAP authentication."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:386
+#: lib/pp_admintools/app/ldap.py:387
msgid ""
"Prompt for simple LDAP authentication. This is used instead of specifying the password on the "
"command line."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:392 lib/pp_admintools/app/set_ldap_password.py:143
+#: lib/pp_admintools/app/ldap.py:393 lib/pp_admintools/app/set_ldap_password.py:143
#: lib/pp_admintools/app/set_ldap_password.py:145
msgid "PASSWORD_FILE"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:394
+#: lib/pp_admintools/app/ldap.py:395
msgid "Use contents of PASSWORD_FILE as the password for simple authentication."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:402 lib/pp_admintools/app/pdns.py:247
+#: lib/pp_admintools/app/ldap.py:403 lib/pp_admintools/app/pdns.py:247
msgid "INSTANCE"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:405
+#: lib/pp_admintools/app/ldap.py:406
msgid "If not given, then the instance {!r} will be used."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:409
+#: lib/pp_admintools/app/ldap.py:410
msgid "The LDAP instance (LDAP cluster) from configuration, where to execute this script."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:413
+#: lib/pp_admintools/app/ldap.py:414
msgid ""
"The LDAP instance (LDAP cluster) from configuration, where to execute this script. It is "
"possible to give here the value {val_all!r}, then all found LDAP instances except {default!r} "
"are shown, and the application is exiting."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:441
+#: lib/pp_admintools/app/ldap.py:442
+msgid "Override configured hostname or address of the LDAP server."
+msgstr ""
+
+#: lib/pp_admintools/app/ldap.py:449
+msgid "Override the configured port number to connect to the LDAP server."
+msgstr ""
+
+#: lib/pp_admintools/app/ldap.py:454
+msgid "Override the configured base DN of the instance used as the root for the LDAP searches."
+msgstr ""
+
+#: lib/pp_admintools/app/ldap.py:463
msgid "Using the given timeout in seconds for all LDAP operations. Default: {}"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:468
+#: lib/pp_admintools/app/ldap.py:490
msgid "Limiting console timeout to {} seconds due to LDAP timeout."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:479
+#: lib/pp_admintools/app/ldap.py:501
msgid "Checking given instances."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:483
+#: lib/pp_admintools/app/ldap.py:505
msgid "Given insts:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:534
+#: lib/pp_admintools/app/ldap.py:556
msgid "Configured LDAP instances:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:551
+#: lib/pp_admintools/app/ldap.py:573
msgid "Verifying given instances ..."
msgstr "Verifying given instances …"
-#: lib/pp_admintools/app/ldap.py:587
+#: lib/pp_admintools/app/ldap.py:609
msgid "Filtered instances:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:592
+#: lib/pp_admintools/app/ldap.py:617
msgid "LDAP instances to use:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:608
+#: lib/pp_admintools/app/ldap.py:633
msgid "LDAP instance {!r} not found in configuration or is not usable."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:663
+#: lib/pp_admintools/app/ldap.py:713
msgid "Preparations ..."
msgstr "Preparations …"
-#: lib/pp_admintools/app/ldap.py:666
+#: lib/pp_admintools/app/ldap.py:716
msgid "Open all necessary LDAP connections ..."
msgstr "Open all necessary LDAP connections …"
-#: lib/pp_admintools/app/ldap.py:680
+#: lib/pp_admintools/app/ldap.py:730
msgid "Password of user {usr} on LDAP instance {inst}:"
msgstr "Password of user {usr} on LDAP instance {inst}:"
-#: lib/pp_admintools/app/ldap.py:689
+#: lib/pp_admintools/app/ldap.py:739
msgid "Info about LDAP server {}:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:699
+#: lib/pp_admintools/app/ldap.py:749
msgid "Trying to get LDAP server object for {} ..."
msgstr "Trying to get LDAP server object for {} …"
-#: lib/pp_admintools/app/ldap.py:715
+#: lib/pp_admintools/app/ldap.py:765
msgid "Connect options to server {!r}:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:722
+#: lib/pp_admintools/app/ldap.py:772
msgid "LDAP server {s}: {re}"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:736
+#: lib/pp_admintools/app/ldap.py:786
msgid "Connecting to LDAP server {url} as {dn!r} ..."
msgstr "Connecting to LDAP server {url} as {dn!r} …"
-#: lib/pp_admintools/app/ldap.py:748
+#: lib/pp_admintools/app/ldap.py:794
+msgid "Could not connect to LDAP server {url!r} as {user!r}: {e}"
+msgstr ""
+
+#: lib/pp_admintools/app/ldap.py:799
+msgid "{c} on connecting to LDAP server {url!r} as {user!r}: {e}"
+msgstr ""
+
+#: lib/pp_admintools/app/ldap.py:809
msgid "Finishing ..."
msgstr "Finishing …"
-#: lib/pp_admintools/app/ldap.py:758
+#: lib/pp_admintools/app/ldap.py:820
msgid "Disconnecting from all remaining LDAP instances ..."
msgstr "Disconnecting from all remaining LDAP instances …"
-#: lib/pp_admintools/app/ldap.py:771
+#: lib/pp_admintools/app/ldap.py:833
msgid "Unbinding from LDAP server {!r} ..."
msgstr "Unbinding from LDAP server {!r} …"
-#: lib/pp_admintools/app/ldap.py:778
+#: lib/pp_admintools/app/ldap.py:840
msgid "Disconnecting from LDAP server {!r} ..."
msgstr "Disconnecting from LDAP server {!r} …"
-#: lib/pp_admintools/app/ldap.py:805
+#: lib/pp_admintools/app/ldap.py:867
msgid "Searching in {uri}/{bdn} for all entries with filter {fltr!r}, giving attributes:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:817
+#: lib/pp_admintools/app/ldap.py:879
msgid "Result of searching:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:822
+#: lib/pp_admintools/app/ldap.py:884
msgid "Found entry {!r}."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:829 lib/pp_admintools/app/ldap.py:873
+#: lib/pp_admintools/app/ldap.py:891 lib/pp_admintools/app/ldap.py:935
msgid "Found one entry with filter {fltr!r} in {uri}/{bdn}."
msgid_plural "Found {nr} enries with filter {fltr!r} in {uri}/{bdn}."
msgstr[0] ""
msgstr[1] ""
-#: lib/pp_admintools/app/ldap.py:833
+#: lib/pp_admintools/app/ldap.py:895
msgid "Got response entries:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:837 lib/pp_admintools/app/ldap.py:885
+#: lib/pp_admintools/app/ldap.py:899 lib/pp_admintools/app/ldap.py:947
msgid "No entry found with filter {fltr!r} in {uri}/{bdn}."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:861 lib/pp_admintools/app/ldap.py:915
+#: lib/pp_admintools/app/ldap.py:923 lib/pp_admintools/app/ldap.py:977
msgid "Using LDAP filter: {!r}"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:877 lib/pp_admintools/app/ldap.py:924
+#: lib/pp_admintools/app/ldap.py:939 lib/pp_admintools/app/ldap.py:986
msgid "Result of searching for DNs of all entries:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:881 lib/pp_admintools/app/ldap.py:928
-#: lib/pp_admintools/app/ldap.py:1026 lib/pp_admintools/app/ldap.py:1079
-#: lib/pp_admintools/app/ldap.py:1132 lib/pp_admintools/app/ldap.py:1220
-#: lib/pp_admintools/app/ldap.py:1420 lib/pp_admintools/app/ldap.py:1454
-#: lib/pp_admintools/app/ldap.py:1488 lib/pp_admintools/app/ldap.py:1522
+#: lib/pp_admintools/app/ldap.py:943 lib/pp_admintools/app/ldap.py:990
+#: lib/pp_admintools/app/ldap.py:1088 lib/pp_admintools/app/ldap.py:1141
+#: lib/pp_admintools/app/ldap.py:1194 lib/pp_admintools/app/ldap.py:1282
+#: lib/pp_admintools/app/ldap.py:1482 lib/pp_admintools/app/ldap.py:1516
+#: lib/pp_admintools/app/ldap.py:1550 lib/pp_admintools/app/ldap.py:1584
msgid "Got a response entry:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:911
+#: lib/pp_admintools/app/ldap.py:973
msgid "Getting all Entry DNs of LDAP instance {i!r} below {b!r}."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:950
+#: lib/pp_admintools/app/ldap.py:1012
msgid "Trying to evaluate DN of user {user!r} in LDAP instance {inst} ..."
msgstr "Trying to evaluate DN of user {user!r} in LDAP instance {inst} …"
-#: lib/pp_admintools/app/ldap.py:955
+#: lib/pp_admintools/app/ldap.py:1017
msgid "Trying to evaluate DN of user {u!r} as a mail address ..."
msgstr "Trying to evaluate DN of user {u!r} as a mail address …"
-#: lib/pp_admintools/app/ldap.py:962
+#: lib/pp_admintools/app/ldap.py:1024
msgid "Trying to evaluate DN of user {u!r} as a LDAP DN ..."
msgstr "Trying to evaluate DN of user {u!r} as a LDAP DN …"
-#: lib/pp_admintools/app/ldap.py:969
+#: lib/pp_admintools/app/ldap.py:1031
msgid "Trying to evaluate DN of user {u!r} as a UID (Posix user name) ..."
msgstr "Trying to evaluate DN of user {u!r} as a UID (Posix user name) …"
-#: lib/pp_admintools/app/ldap.py:978 lib/pp_admintools/app/remove_ldap_user.py:318
+#: lib/pp_admintools/app/ldap.py:1040 lib/pp_admintools/app/remove_ldap_user.py:318
msgid "Empty user given."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:981
+#: lib/pp_admintools/app/ldap.py:1043
msgid "Trying to evaluate DN of user {u!r} as a CN ({c}) ..."
msgstr "Trying to evaluate DN of user {u!r} as a CN ({c}) …"
-#: lib/pp_admintools/app/ldap.py:1011 lib/pp_admintools/app/ldap.py:1064
-#: lib/pp_admintools/app/ldap.py:1117 lib/pp_admintools/app/ldap.py:1408
-#: lib/pp_admintools/app/ldap.py:1442 lib/pp_admintools/app/ldap.py:1476
-#: lib/pp_admintools/app/ldap.py:1510
+#: lib/pp_admintools/app/ldap.py:1073 lib/pp_admintools/app/ldap.py:1126
+#: lib/pp_admintools/app/ldap.py:1179 lib/pp_admintools/app/ldap.py:1470
+#: lib/pp_admintools/app/ldap.py:1504 lib/pp_admintools/app/ldap.py:1538
+#: lib/pp_admintools/app/ldap.py:1572
msgid "Searching in {uri}/{bdn} with filter: {fltr}"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1022
+#: lib/pp_admintools/app/ldap.py:1084
msgid "Result of searching for mail address {m!r}:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1033
+#: lib/pp_admintools/app/ldap.py:1095
msgid "User with mail address {m!r} not found in {uri}/{bdn}."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1075
+#: lib/pp_admintools/app/ldap.py:1137
msgid "Result of searching for uid {u!r}:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1086
+#: lib/pp_admintools/app/ldap.py:1148
msgid "User with uid {u!r} not found in {uri}/{bdn}."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1128
+#: lib/pp_admintools/app/ldap.py:1190
msgid "Result of searching for CN {cn!r}:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1139
+#: lib/pp_admintools/app/ldap.py:1201
msgid "User with cn {cn!r} not found in {uri}/{bdn}."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1156 lib/pp_admintools/app/set_ldap_password.py:409
+#: lib/pp_admintools/app/ldap.py:1218 lib/pp_admintools/app/set_ldap_password.py:409
msgid "User with DN {dn!r} not found in {uri}."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1174
+#: lib/pp_admintools/app/ldap.py:1236
msgid "ObjectClasses of {dn!r}:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1184
+#: lib/pp_admintools/app/ldap.py:1246
msgid "Entry {dn!r} in {uri} seems not to be an account."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1206
+#: lib/pp_admintools/app/ldap.py:1268
msgid "Searching DN {dn!r} in {uri}."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1216
+#: lib/pp_admintools/app/ldap.py:1278
msgid "Result of searching for DN {dn!r}:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1224
+#: lib/pp_admintools/app/ldap.py:1286
msgid "Entry with DN {dn!r} not found in {uri}."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1269
+#: lib/pp_admintools/app/ldap.py:1331
msgid "Creating entry {dn!r} on {uri}:"
msgstr "Creating entry {dn!r} on {uri}:"
-#: lib/pp_admintools/app/ldap.py:1275
+#: lib/pp_admintools/app/ldap.py:1337
msgid "Simulation mode - entry will not be created."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1282
+#: lib/pp_admintools/app/ldap.py:1344
msgid "Creation of entry {dn!r} was NOT successfull - {c}: {e}"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1297
+#: lib/pp_admintools/app/ldap.py:1359
msgid "Creation status: {!r}."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1299
+#: lib/pp_admintools/app/ldap.py:1361
msgid "Result of creating:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1302
+#: lib/pp_admintools/app/ldap.py:1364
msgid "Creation of entry {dn!r} was NOT successful: {desc} - {msg}"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1308
+#: lib/pp_admintools/app/ldap.py:1370
msgid "Creation successful."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1319
+#: lib/pp_admintools/app/ldap.py:1381
msgid "Applying changes on {uri} to DN {dn!r}:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1324
+#: lib/pp_admintools/app/ldap.py:1386
msgid "Simulation mode - changes are not applied."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1330
+#: lib/pp_admintools/app/ldap.py:1392
msgid "Modification of {dn!r} was NOT successfull - {c}: {e}"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1332 lib/pp_admintools/app/ldap.py:1351
+#: lib/pp_admintools/app/ldap.py:1394 lib/pp_admintools/app/ldap.py:1413
#: lib/pp_admintools/app/remove_ldap_user.py:449 lib/pp_admintools/app/remove_ldap_user.py:476
#: lib/pp_admintools/app/remove_ldap_user.py:503 lib/pp_admintools/app/remove_ldap_user.py:534
#: lib/pp_admintools/app/remove_ldap_user.py:565 lib/pp_admintools/app/remove_ldap_user.py:681
msgid "Changes:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1344
+#: lib/pp_admintools/app/ldap.py:1406
msgid "Modification status: {!r}."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1346
+#: lib/pp_admintools/app/ldap.py:1408
msgid "Result of modifying:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1349
+#: lib/pp_admintools/app/ldap.py:1411
msgid "Modification of {dn!r} was NOT successful: {desc} - {msg}"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1354
+#: lib/pp_admintools/app/ldap.py:1416
msgid "Modification successful."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1364
+#: lib/pp_admintools/app/ldap.py:1426
msgid "Deleting LDAP entry {dn!r} on {uri} ..."
msgstr "Deleting LDAP entry {dn!r} on {uri} …"
-#: lib/pp_admintools/app/ldap.py:1369
+#: lib/pp_admintools/app/ldap.py:1431
msgid "Simulation mode - deletion will not be executed."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1375
+#: lib/pp_admintools/app/ldap.py:1437
msgid "Deletion of {dn!r} was NOT successfull - {c}: {e}"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1380
+#: lib/pp_admintools/app/ldap.py:1442
msgid "Deletion status: {!r}."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1382
+#: lib/pp_admintools/app/ldap.py:1444
msgid "Result of deletion:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1385
+#: lib/pp_admintools/app/ldap.py:1447
msgid "Deletion of {dn!r} was NOT successful: {desc} - {msg}"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1389
+#: lib/pp_admintools/app/ldap.py:1451
msgid "Deletion successful."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1538
+#: lib/pp_admintools/app/ldap.py:1600
msgid "Reading password file {!r} ..."
msgstr "Reading password file {!r} …"
-#: lib/pp_admintools/app/ldap.py:1569
+#: lib/pp_admintools/app/ldap.py:1631
msgid "Could not detect RDN from DN {!r}."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1573
+#: lib/pp_admintools/app/ldap.py:1635
msgid "Found RDN attribute {!r}."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1579
+#: lib/pp_admintools/app/ldap.py:1641
msgid "RDN attribute {!r} will not be touched."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1585 lib/pp_admintools/app/ldap.py:1604
-#: lib/pp_admintools/app/ldap.py:1682
+#: lib/pp_admintools/app/ldap.py:1647 lib/pp_admintools/app/ldap.py:1666
+#: lib/pp_admintools/app/ldap.py:1744
msgid "Attribute {!r} will not be touched."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1642
+#: lib/pp_admintools/app/ldap.py:1704
msgid "Values to removed from attribute {!r}:"
msgstr ""
msgid "If you are not using an admin account, then the password will hashed only by the default schema."
msgstr ""
-#: lib/pp_admintools/app/set_ldap_password.py:183
-msgid "SCHEMA"
-msgstr ""
-
#: lib/pp_admintools/app/set_ldap_password.py:187
msgid ""
"The user, which password in the given LDAP instance should be changed. It may be given by its "
msgid "Found API key of PDNS instance {inst!r}: {key!r}."
msgstr ""
-#: lib/pp_admintools/handler/ldap_password.py:60
+#: lib/pp_admintools/handler/ldap_password.py:61
msgid "Encryption schema {!r} not found."
msgstr ""
-#: lib/pp_admintools/handler/ldap_password.py:114
+#: lib/pp_admintools/handler/ldap_password.py:133
msgid "The ancient and notorious 3 DES crypt method."
msgstr ""
-#: lib/pp_admintools/handler/ldap_password.py:115 lib/pp_admintools/handler/ldap_password.py:118
+#: lib/pp_admintools/handler/ldap_password.py:134 lib/pp_admintools/handler/ldap_password.py:137
msgid "Pure {} hashing method."
msgstr ""
-#: lib/pp_admintools/handler/ldap_password.py:116 lib/pp_admintools/handler/ldap_password.py:119
-#: lib/pp_admintools/handler/ldap_password.py:121 lib/pp_admintools/handler/ldap_password.py:123
+#: lib/pp_admintools/handler/ldap_password.py:135 lib/pp_admintools/handler/ldap_password.py:138
+#: lib/pp_admintools/handler/ldap_password.py:140 lib/pp_admintools/handler/ldap_password.py:142
msgid "A {} based hashing algorithm."
msgstr ""
-#: lib/pp_admintools/handler/ldap_password.py:117 lib/pp_admintools/handler/ldap_password.py:120
-#: lib/pp_admintools/handler/ldap_password.py:122 lib/pp_admintools/handler/ldap_password.py:124
+#: lib/pp_admintools/handler/ldap_password.py:136 lib/pp_admintools/handler/ldap_password.py:139
+#: lib/pp_admintools/handler/ldap_password.py:141 lib/pp_admintools/handler/ldap_password.py:143
msgid "Salted {} hashing method."
msgstr ""
-#: lib/pp_admintools/handler/ldap_password.py:125
+#: lib/pp_admintools/handler/ldap_password.py:144
msgid "A hashing method derived from {} with additional computing rounds."
msgstr ""
-#: lib/pp_admintools/handler/ldap_password.py:245
+#: lib/pp_admintools/handler/ldap_password.py:268
msgid "Invalid schema {!r} given for update."
msgstr ""
-#: lib/pp_admintools/handler/ldap_password.py:282
+#: lib/pp_admintools/handler/ldap_password.py:305
msgid "Usable Hashing schemes:"
msgstr ""
-#: lib/pp_admintools/handler/ldap_password.py:291
+#: lib/pp_admintools/handler/ldap_password.py:314
msgid "This schema cannot be used for authentication on a current freeradius server."
msgstr ""
-#: lib/pp_admintools/handler/ldap_password.py:295
+#: lib/pp_admintools/handler/ldap_password.py:318
msgid "This is the default schema."
msgstr ""
-#: lib/pp_admintools/handler/ldap_password.py:339
+#: lib/pp_admintools/handler/ldap_password.py:362
msgid "The password schema {!r} does not support a password salt."
msgstr ""
-#: lib/pp_admintools/handler/ldap_password.py:343
+#: lib/pp_admintools/handler/ldap_password.py:366
msgid "The password salt must be at least by {} characters."
msgstr ""
-#: lib/pp_admintools/handler/ldap_password.py:347
+#: lib/pp_admintools/handler/ldap_password.py:370
msgid "The password salt may have a length of maximum {} characters."
msgstr ""
-#: lib/pp_admintools/handler/ldap_password.py:357
+#: lib/pp_admintools/handler/ldap_password.py:380
msgid "Found invalid character {!r} in password salt."
msgstr ""
-#: lib/pp_admintools/handler/ldap_password.py:370
+#: lib/pp_admintools/handler/ldap_password.py:393
msgid "The password schema {!r} does not support calculation rounds."
msgstr ""
-#: lib/pp_admintools/handler/ldap_password.py:376
+#: lib/pp_admintools/handler/ldap_password.py:399
msgid "Wrong value {v!r} for calculation rounds: {e}"
msgstr ""
-#: lib/pp_admintools/handler/ldap_password.py:380
+#: lib/pp_admintools/handler/ldap_password.py:403
msgid "The value for the calculation rounds has to be at least {}."
msgstr ""
-#: lib/pp_admintools/handler/ldap_password.py:385
+#: lib/pp_admintools/handler/ldap_password.py:408
msgid "The value for the calculation rounds has to at most {}."
msgstr ""
-#: lib/pp_admintools/handler/ldap_password.py:418
+#: lib/pp_admintools/handler/ldap_password.py:441
msgid "Cannot testing the quality of the new password, because the Python module {!r} is not installed."
msgstr ""
-#: lib/pp_admintools/handler/ldap_password.py:424
+#: lib/pp_admintools/handler/ldap_password.py:447
msgid "Testing quality of new password ..."
msgstr "Testing quality of new password …"
-#: lib/pp_admintools/handler/ldap_password.py:428
+#: lib/pp_admintools/handler/ldap_password.py:451
msgid "Quality of the new password is not sufficient:"
msgstr ""
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: pp_admintools 0.9.0\n"
+"Project-Id-Version: pp_admintools 0.10.0\n"
"Report-Msgid-Bugs-To: frank.brehm@pixelpark.com\n"
-"POT-Creation-Date: 2023-06-15 16:42+0200\n"
+"POT-Creation-Date: 2023-08-22 13:39+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <frank.brehm@pixelpark.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Default: {!r}."
msgstr ""
-#: lib/pp_admintools/app/barracuda_sync.py:149 lib/pp_admintools/app/ldap.py:439
+#: lib/pp_admintools/app/barracuda_sync.py:149 lib/pp_admintools/app/ldap.py:461
#: lib/pp_admintools/app/mirror_ldap.py:118 lib/pp_admintools/app/pdns.py:284
msgid "SECONDS"
msgstr ""
#: lib/pp_admintools/app/barracuda_sync.py:231 lib/pp_admintools/app/barracuda_sync.py:427
#: lib/pp_admintools/app/dns_deploy_zones.py:434 lib/pp_admintools/app/dns_deploy_zones.py:788
-#: lib/pp_admintools/app/ldap.py:896 lib/pp_admintools/app/ldap.py:1029
-#: lib/pp_admintools/app/ldap.py:1082 lib/pp_admintools/app/ldap.py:1135
-#: lib/pp_admintools/app/ldap.py:1423 lib/pp_admintools/app/ldap.py:1457
-#: lib/pp_admintools/app/ldap.py:1491 lib/pp_admintools/app/ldap.py:1525
+#: lib/pp_admintools/app/ldap.py:958 lib/pp_admintools/app/ldap.py:1091
+#: lib/pp_admintools/app/ldap.py:1144 lib/pp_admintools/app/ldap.py:1197
+#: lib/pp_admintools/app/ldap.py:1485 lib/pp_admintools/app/ldap.py:1519
+#: lib/pp_admintools/app/ldap.py:1553 lib/pp_admintools/app/ldap.py:1587
msgid "Result:"
msgstr ""
msgid "LDAP Entries to modified:"
msgstr ""
-#: lib/pp_admintools/app/barracuda_sync.py:756 lib/pp_admintools/app/ldap.py:1638
+#: lib/pp_admintools/app/barracuda_sync.py:756 lib/pp_admintools/app/ldap.py:1700
msgid "Values to add to attribute {!r}:"
msgstr ""
msgid "Values to be removed from attribute {!r}:"
msgstr ""
-#: lib/pp_admintools/app/barracuda_sync.py:777 lib/pp_admintools/app/ldap.py:1659
+#: lib/pp_admintools/app/barracuda_sync.py:777 lib/pp_admintools/app/ldap.py:1721
msgid "Changes for attribute {!r}:"
msgstr ""
-#: lib/pp_admintools/app/barracuda_sync.py:780 lib/pp_admintools/app/ldap.py:1662
+#: lib/pp_admintools/app/barracuda_sync.py:780 lib/pp_admintools/app/ldap.py:1724
msgid "No changes to attribute {!r}."
msgstr ""
msgstr ""
#: lib/pp_admintools/app/check_ldap_dn_attributes.py:97
+#: lib/pp_admintools/app/check_ldap_pwd_schemes.py:106
msgid "Script options"
msgstr ""
msgstr ""
#: lib/pp_admintools/app/check_ldap_dn_attributes.py:219
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:234
+#: lib/pp_admintools/app/check_ldap_pwd_schemes.py:190
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:233
msgid "Got attributes:"
msgstr ""
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:76
+#: lib/pp_admintools/app/check_ldap_pwd_schemes.py:84
+msgid ""
+"Reports the password hashing schemes of {attr} attributes in LDAP. Without a filter or a more "
+"special Base-DN the hashing schemes of all {attr} attributes in the LDAP tree are shown. One can"
+" filter the output by a regular LDAP-filter rule of by one or more hashing schemes."
+msgstr ""
+
+#: lib/pp_admintools/app/check_ldap_pwd_schemes.py:109
+msgid "FILTER"
+msgstr ""
+
+#: lib/pp_admintools/app/check_ldap_pwd_schemes.py:110
+msgid ""
+"An additional LDAP filter to limit the entries to print out their password hashing schema. "
+"Please note, that this filter will be wrapped by parantheses to combine it with the default "
+"filter {!r}."
+msgstr ""
+
+#: lib/pp_admintools/app/check_ldap_pwd_schemes.py:124
+msgid ""
+"One or more schemes (hashing methods) for filtering the {attr} attributes. It is possible to "
+"give here the value {val_list!r}, then all possible schemes are shown and exit."
+msgstr ""
+
+#: lib/pp_admintools/app/check_ldap_pwd_schemes.py:130 lib/pp_admintools/app/set_ldap_password.py:183
+msgid "SCHEMA"
+msgstr ""
+
+#: lib/pp_admintools/app/check_ldap_pwd_schemes.py:136
+msgid "Show more details in output, e.g. the entry DN."
+msgstr ""
+
+#: lib/pp_admintools/app/check_ldap_pwd_schemes.py:168
+msgid ""
+"Start reporting password hashing schemes of {attr} attributes in in LDAP instance {inst!r} "
+"({url}) ..."
+msgstr ""
+
+#: lib/pp_admintools/app/check_ldap_pwd_schemes.py:181
+msgid "Used LDAP filter: {!r}."
+msgstr ""
+
+#: lib/pp_admintools/app/check_ldap_pwd_schemes.py:223
+msgid "Found entry {!r} with data:"
+msgstr ""
+
+#: lib/pp_admintools/app/check_ldap_pwd_schemes.py:227
+msgid "Found entry DNs:"
+msgstr ""
+
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:75
msgid ""
"Removes all LDAP groups, which does not have any members, that means, they are one of the "
"following objectClasses: {ocl}, and they have none of the following attributes: {atl}."
msgstr ""
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:125 lib/pp_admintools/app/remove_ldap_user.py:134
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:124 lib/pp_admintools/app/remove_ldap_user.py:134
msgid "Removing options"
msgstr ""
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:129
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:128
msgid "The base DN used as the root for the LDAP search."
msgstr ""
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:155 lib/pp_admintools/app/remove_ldap_user.py:202
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:154 lib/pp_admintools/app/remove_ldap_user.py:202
msgid "Checking given instances for admin and read/write access."
msgstr ""
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:162 lib/pp_admintools/app/remove_ldap_user.py:209
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:161 lib/pp_admintools/app/remove_ldap_user.py:209
msgid "LDAP instance {!r} not found in configuration."
msgstr ""
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:170 lib/pp_admintools/app/remove_ldap_user.py:217
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:169 lib/pp_admintools/app/remove_ldap_user.py:217
msgid "LDAP instance {!r} has only readonly access."
msgstr ""
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:175 lib/pp_admintools/app/remove_ldap_user.py:222
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:174 lib/pp_admintools/app/remove_ldap_user.py:222
msgid "No admin access to LDAP instance {!r}."
msgstr ""
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:185
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:184
msgid "Searching for empty groups ..."
msgstr ""
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:192
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:191
msgid "No more empty groups left for removing."
msgstr ""
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:195
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:194
msgid "Lap {} on searching for empty groups to remove."
msgstr ""
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:230
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:229
msgid "Searching for member attributes of {!r} ..."
msgstr ""
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:240
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:239
msgid "Found attribute {at!r} in group {g!r}."
msgstr ""
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:243
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:242
msgid "Group {!r} is not empty!"
msgstr ""
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:248
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:247
msgid "Removing group {!r} ..."
msgstr ""
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:252
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:251
msgid "Dont't removing group {!r}."
msgstr ""
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:259
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:258
msgid "Do you really want to remove the group '{}'"
msgstr ""
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:261
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:260
msgid "[{yes}/{no}]?"
msgstr ""
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:262 lib/pp_admintools/app/ldap.py:336
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:261 lib/pp_admintools/app/ldap.py:337
#: lib/pp_admintools/app/mirror_ldap.py:238 lib/pp_admintools/app/remove_ldap_user.py:308
#: lib/pp_admintools/app/set_ldap_password.py:489
msgid "No"
msgstr ""
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:262 lib/pp_admintools/app/mirror_ldap.py:238
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:261 lib/pp_admintools/app/mirror_ldap.py:238
#: lib/pp_admintools/app/remove_ldap_user.py:308 lib/pp_admintools/app/set_ldap_password.py:489
msgid "yes"
msgstr ""
msgid "Checking for dependend unique attribute '"
msgstr ""
-#: lib/pp_admintools/app/duplicate_attribs.py:172 lib/pp_admintools/app/ldap.py:564
+#: lib/pp_admintools/app/duplicate_attribs.py:172 lib/pp_admintools/app/ldap.py:586
msgid "Used filter:"
msgstr ""
msgid "No duplicates for attribute {!r} found."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:115 lib/pp_admintools/app/ldap.py:283
+#: lib/pp_admintools/app/ldap.py:116 lib/pp_admintools/app/ldap.py:284
msgid "The path {!r} must be an absolute path."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:121 lib/pp_admintools/app/ldap.py:287
-#: lib/pp_admintools/app/ldap.py:1541
+#: lib/pp_admintools/app/ldap.py:122 lib/pp_admintools/app/ldap.py:288
+#: lib/pp_admintools/app/ldap.py:1603
msgid "The file {!r} does not exists."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:125 lib/pp_admintools/app/ldap.py:291
-#: lib/pp_admintools/app/ldap.py:1546
+#: lib/pp_admintools/app/ldap.py:126 lib/pp_admintools/app/ldap.py:292
+#: lib/pp_admintools/app/ldap.py:1608
msgid "The given path {!r} exists, but is not a regular file."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:129 lib/pp_admintools/app/ldap.py:295
-#: lib/pp_admintools/app/ldap.py:1551
+#: lib/pp_admintools/app/ldap.py:130 lib/pp_admintools/app/ldap.py:296
+#: lib/pp_admintools/app/ldap.py:1613
msgid "The given file {!r} is not readable."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:151
+#: lib/pp_admintools/app/ldap.py:152
msgid "a port number must be greater than zero and less or equal to {}."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:156
+#: lib/pp_admintools/app/ldap.py:157
msgid "Wrong port number {!r}:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:325
+#: lib/pp_admintools/app/ldap.py:326
msgid "LDAP options"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:327
+#: lib/pp_admintools/app/ldap.py:328
msgid "Options for the default LDAP connection"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:329
+#: lib/pp_admintools/app/ldap.py:330
msgid "Options fo LDAP connections"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:338
+#: lib/pp_admintools/app/ldap.py:339
msgid "Yes"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:344
+#: lib/pp_admintools/app/ldap.py:345 lib/pp_admintools/app/ldap.py:441
msgid "HOST"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:345
+#: lib/pp_admintools/app/ldap.py:346
msgid "Hostname or address of the LDAP server to use. Default: {!r}"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:352
+#: lib/pp_admintools/app/ldap.py:353
msgid "Use ldaps to connect to the LDAP server. Default: {}"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:357 lib/pp_admintools/app/mail.py:250
-#: lib/pp_admintools/app/pdns.py:273
+#: lib/pp_admintools/app/ldap.py:358 lib/pp_admintools/app/ldap.py:447
+#: lib/pp_admintools/app/mail.py:250 lib/pp_admintools/app/pdns.py:273
msgid "PORT"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:359
+#: lib/pp_admintools/app/ldap.py:360
msgid "The port number to connect to the LDAP server. Default: {}"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:365
+#: lib/pp_admintools/app/ldap.py:366
msgid "The base DN used as the root for the LDAP searches. Default: {!r}"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:372
+#: lib/pp_admintools/app/ldap.py:373
msgid "The Bind DN to use to connect to the LDAP server. Default: {!r}"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:380 lib/pp_admintools/app/mk_ldap_passwd.py:131
+#: lib/pp_admintools/app/ldap.py:381 lib/pp_admintools/app/mk_ldap_passwd.py:131
#: lib/pp_admintools/app/set_ldap_password.py:131 lib/pp_admintools/app/set_ldap_password.py:132
#: lib/pp_admintools/app/set_ldap_password.py:149 lib/pp_admintools/app/set_ldap_password.py:152
msgid "PASSWORD"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:381
+#: lib/pp_admintools/app/ldap.py:382
msgid "Use PASSWORD as the password for simple LDAP authentication."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:386
+#: lib/pp_admintools/app/ldap.py:387
msgid ""
"Prompt for simple LDAP authentication. This is used instead of specifying the password on the "
"command line."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:392 lib/pp_admintools/app/set_ldap_password.py:143
+#: lib/pp_admintools/app/ldap.py:393 lib/pp_admintools/app/set_ldap_password.py:143
#: lib/pp_admintools/app/set_ldap_password.py:145
msgid "PASSWORD_FILE"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:394
+#: lib/pp_admintools/app/ldap.py:395
msgid "Use contents of PASSWORD_FILE as the password for simple authentication."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:402 lib/pp_admintools/app/pdns.py:247
+#: lib/pp_admintools/app/ldap.py:403 lib/pp_admintools/app/pdns.py:247
msgid "INSTANCE"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:405
+#: lib/pp_admintools/app/ldap.py:406
msgid "If not given, then the instance {!r} will be used."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:409
+#: lib/pp_admintools/app/ldap.py:410
msgid "The LDAP instance (LDAP cluster) from configuration, where to execute this script."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:413
+#: lib/pp_admintools/app/ldap.py:414
msgid ""
"The LDAP instance (LDAP cluster) from configuration, where to execute this script. It is "
"possible to give here the value {val_all!r}, then all found LDAP instances except {default!r} "
"are shown, and the application is exiting."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:441
+#: lib/pp_admintools/app/ldap.py:442
+msgid "Override configured hostname or address of the LDAP server."
+msgstr ""
+
+#: lib/pp_admintools/app/ldap.py:449
+msgid "Override the configured port number to connect to the LDAP server."
+msgstr ""
+
+#: lib/pp_admintools/app/ldap.py:454
+msgid "Override the configured base DN of the instance used as the root for the LDAP searches."
+msgstr ""
+
+#: lib/pp_admintools/app/ldap.py:463
msgid "Using the given timeout in seconds for all LDAP operations. Default: {}"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:468
+#: lib/pp_admintools/app/ldap.py:490
msgid "Limiting console timeout to {} seconds due to LDAP timeout."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:479
+#: lib/pp_admintools/app/ldap.py:501
msgid "Checking given instances."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:483
+#: lib/pp_admintools/app/ldap.py:505
msgid "Given insts:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:534
+#: lib/pp_admintools/app/ldap.py:556
msgid "Configured LDAP instances:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:551
+#: lib/pp_admintools/app/ldap.py:573
msgid "Verifying given instances ..."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:587
+#: lib/pp_admintools/app/ldap.py:609
msgid "Filtered instances:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:592
+#: lib/pp_admintools/app/ldap.py:617
msgid "LDAP instances to use:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:608
+#: lib/pp_admintools/app/ldap.py:633
msgid "LDAP instance {!r} not found in configuration or is not usable."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:663
+#: lib/pp_admintools/app/ldap.py:713
msgid "Preparations ..."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:666
+#: lib/pp_admintools/app/ldap.py:716
msgid "Open all necessary LDAP connections ..."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:680
+#: lib/pp_admintools/app/ldap.py:730
msgid "Password of user {usr} on LDAP instance {inst}:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:689
+#: lib/pp_admintools/app/ldap.py:739
msgid "Info about LDAP server {}:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:699
+#: lib/pp_admintools/app/ldap.py:749
msgid "Trying to get LDAP server object for {} ..."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:715
+#: lib/pp_admintools/app/ldap.py:765
msgid "Connect options to server {!r}:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:722
+#: lib/pp_admintools/app/ldap.py:772
msgid "LDAP server {s}: {re}"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:736
+#: lib/pp_admintools/app/ldap.py:786
msgid "Connecting to LDAP server {url} as {dn!r} ..."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:748
+#: lib/pp_admintools/app/ldap.py:794
+msgid "Could not connect to LDAP server {url!r} as {user!r}: {e}"
+msgstr ""
+
+#: lib/pp_admintools/app/ldap.py:799
+msgid "{c} on connecting to LDAP server {url!r} as {user!r}: {e}"
+msgstr ""
+
+#: lib/pp_admintools/app/ldap.py:809
msgid "Finishing ..."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:758
+#: lib/pp_admintools/app/ldap.py:820
msgid "Disconnecting from all remaining LDAP instances ..."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:771
+#: lib/pp_admintools/app/ldap.py:833
msgid "Unbinding from LDAP server {!r} ..."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:778
+#: lib/pp_admintools/app/ldap.py:840
msgid "Disconnecting from LDAP server {!r} ..."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:805
+#: lib/pp_admintools/app/ldap.py:867
msgid "Searching in {uri}/{bdn} for all entries with filter {fltr!r}, giving attributes:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:817
+#: lib/pp_admintools/app/ldap.py:879
msgid "Result of searching:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:822
+#: lib/pp_admintools/app/ldap.py:884
msgid "Found entry {!r}."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:829 lib/pp_admintools/app/ldap.py:873
+#: lib/pp_admintools/app/ldap.py:891 lib/pp_admintools/app/ldap.py:935
msgid "Found one entry with filter {fltr!r} in {uri}/{bdn}."
msgid_plural "Found {nr} enries with filter {fltr!r} in {uri}/{bdn}."
msgstr[0] ""
msgstr[1] ""
-#: lib/pp_admintools/app/ldap.py:833
+#: lib/pp_admintools/app/ldap.py:895
msgid "Got response entries:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:837 lib/pp_admintools/app/ldap.py:885
+#: lib/pp_admintools/app/ldap.py:899 lib/pp_admintools/app/ldap.py:947
msgid "No entry found with filter {fltr!r} in {uri}/{bdn}."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:861 lib/pp_admintools/app/ldap.py:915
+#: lib/pp_admintools/app/ldap.py:923 lib/pp_admintools/app/ldap.py:977
msgid "Using LDAP filter: {!r}"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:877 lib/pp_admintools/app/ldap.py:924
+#: lib/pp_admintools/app/ldap.py:939 lib/pp_admintools/app/ldap.py:986
msgid "Result of searching for DNs of all entries:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:881 lib/pp_admintools/app/ldap.py:928
-#: lib/pp_admintools/app/ldap.py:1026 lib/pp_admintools/app/ldap.py:1079
-#: lib/pp_admintools/app/ldap.py:1132 lib/pp_admintools/app/ldap.py:1220
-#: lib/pp_admintools/app/ldap.py:1420 lib/pp_admintools/app/ldap.py:1454
-#: lib/pp_admintools/app/ldap.py:1488 lib/pp_admintools/app/ldap.py:1522
+#: lib/pp_admintools/app/ldap.py:943 lib/pp_admintools/app/ldap.py:990
+#: lib/pp_admintools/app/ldap.py:1088 lib/pp_admintools/app/ldap.py:1141
+#: lib/pp_admintools/app/ldap.py:1194 lib/pp_admintools/app/ldap.py:1282
+#: lib/pp_admintools/app/ldap.py:1482 lib/pp_admintools/app/ldap.py:1516
+#: lib/pp_admintools/app/ldap.py:1550 lib/pp_admintools/app/ldap.py:1584
msgid "Got a response entry:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:911
+#: lib/pp_admintools/app/ldap.py:973
msgid "Getting all Entry DNs of LDAP instance {i!r} below {b!r}."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:950
+#: lib/pp_admintools/app/ldap.py:1012
msgid "Trying to evaluate DN of user {user!r} in LDAP instance {inst} ..."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:955
+#: lib/pp_admintools/app/ldap.py:1017
msgid "Trying to evaluate DN of user {u!r} as a mail address ..."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:962
+#: lib/pp_admintools/app/ldap.py:1024
msgid "Trying to evaluate DN of user {u!r} as a LDAP DN ..."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:969
+#: lib/pp_admintools/app/ldap.py:1031
msgid "Trying to evaluate DN of user {u!r} as a UID (Posix user name) ..."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:978 lib/pp_admintools/app/remove_ldap_user.py:318
+#: lib/pp_admintools/app/ldap.py:1040 lib/pp_admintools/app/remove_ldap_user.py:318
msgid "Empty user given."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:981
+#: lib/pp_admintools/app/ldap.py:1043
msgid "Trying to evaluate DN of user {u!r} as a CN ({c}) ..."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1011 lib/pp_admintools/app/ldap.py:1064
-#: lib/pp_admintools/app/ldap.py:1117 lib/pp_admintools/app/ldap.py:1408
-#: lib/pp_admintools/app/ldap.py:1442 lib/pp_admintools/app/ldap.py:1476
-#: lib/pp_admintools/app/ldap.py:1510
+#: lib/pp_admintools/app/ldap.py:1073 lib/pp_admintools/app/ldap.py:1126
+#: lib/pp_admintools/app/ldap.py:1179 lib/pp_admintools/app/ldap.py:1470
+#: lib/pp_admintools/app/ldap.py:1504 lib/pp_admintools/app/ldap.py:1538
+#: lib/pp_admintools/app/ldap.py:1572
msgid "Searching in {uri}/{bdn} with filter: {fltr}"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1022
+#: lib/pp_admintools/app/ldap.py:1084
msgid "Result of searching for mail address {m!r}:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1033
+#: lib/pp_admintools/app/ldap.py:1095
msgid "User with mail address {m!r} not found in {uri}/{bdn}."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1075
+#: lib/pp_admintools/app/ldap.py:1137
msgid "Result of searching for uid {u!r}:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1086
+#: lib/pp_admintools/app/ldap.py:1148
msgid "User with uid {u!r} not found in {uri}/{bdn}."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1128
+#: lib/pp_admintools/app/ldap.py:1190
msgid "Result of searching for CN {cn!r}:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1139
+#: lib/pp_admintools/app/ldap.py:1201
msgid "User with cn {cn!r} not found in {uri}/{bdn}."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1156 lib/pp_admintools/app/set_ldap_password.py:409
+#: lib/pp_admintools/app/ldap.py:1218 lib/pp_admintools/app/set_ldap_password.py:409
msgid "User with DN {dn!r} not found in {uri}."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1174
+#: lib/pp_admintools/app/ldap.py:1236
msgid "ObjectClasses of {dn!r}:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1184
+#: lib/pp_admintools/app/ldap.py:1246
msgid "Entry {dn!r} in {uri} seems not to be an account."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1206
+#: lib/pp_admintools/app/ldap.py:1268
msgid "Searching DN {dn!r} in {uri}."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1216
+#: lib/pp_admintools/app/ldap.py:1278
msgid "Result of searching for DN {dn!r}:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1224
+#: lib/pp_admintools/app/ldap.py:1286
msgid "Entry with DN {dn!r} not found in {uri}."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1269
+#: lib/pp_admintools/app/ldap.py:1331
msgid "Creating entry {dn!r} on {uri}:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1275
+#: lib/pp_admintools/app/ldap.py:1337
msgid "Simulation mode - entry will not be created."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1282
+#: lib/pp_admintools/app/ldap.py:1344
msgid "Creation of entry {dn!r} was NOT successfull - {c}: {e}"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1297
+#: lib/pp_admintools/app/ldap.py:1359
msgid "Creation status: {!r}."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1299
+#: lib/pp_admintools/app/ldap.py:1361
msgid "Result of creating:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1302
+#: lib/pp_admintools/app/ldap.py:1364
msgid "Creation of entry {dn!r} was NOT successful: {desc} - {msg}"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1308
+#: lib/pp_admintools/app/ldap.py:1370
msgid "Creation successful."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1319
+#: lib/pp_admintools/app/ldap.py:1381
msgid "Applying changes on {uri} to DN {dn!r}:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1324
+#: lib/pp_admintools/app/ldap.py:1386
msgid "Simulation mode - changes are not applied."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1330
+#: lib/pp_admintools/app/ldap.py:1392
msgid "Modification of {dn!r} was NOT successfull - {c}: {e}"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1332 lib/pp_admintools/app/ldap.py:1351
+#: lib/pp_admintools/app/ldap.py:1394 lib/pp_admintools/app/ldap.py:1413
#: lib/pp_admintools/app/remove_ldap_user.py:449 lib/pp_admintools/app/remove_ldap_user.py:476
#: lib/pp_admintools/app/remove_ldap_user.py:503 lib/pp_admintools/app/remove_ldap_user.py:534
#: lib/pp_admintools/app/remove_ldap_user.py:565 lib/pp_admintools/app/remove_ldap_user.py:681
msgid "Changes:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1344
+#: lib/pp_admintools/app/ldap.py:1406
msgid "Modification status: {!r}."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1346
+#: lib/pp_admintools/app/ldap.py:1408
msgid "Result of modifying:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1349
+#: lib/pp_admintools/app/ldap.py:1411
msgid "Modification of {dn!r} was NOT successful: {desc} - {msg}"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1354
+#: lib/pp_admintools/app/ldap.py:1416
msgid "Modification successful."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1364
+#: lib/pp_admintools/app/ldap.py:1426
msgid "Deleting LDAP entry {dn!r} on {uri} ..."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1369
+#: lib/pp_admintools/app/ldap.py:1431
msgid "Simulation mode - deletion will not be executed."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1375
+#: lib/pp_admintools/app/ldap.py:1437
msgid "Deletion of {dn!r} was NOT successfull - {c}: {e}"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1380
+#: lib/pp_admintools/app/ldap.py:1442
msgid "Deletion status: {!r}."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1382
+#: lib/pp_admintools/app/ldap.py:1444
msgid "Result of deletion:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1385
+#: lib/pp_admintools/app/ldap.py:1447
msgid "Deletion of {dn!r} was NOT successful: {desc} - {msg}"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1389
+#: lib/pp_admintools/app/ldap.py:1451
msgid "Deletion successful."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1538
+#: lib/pp_admintools/app/ldap.py:1600
msgid "Reading password file {!r} ..."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1569
+#: lib/pp_admintools/app/ldap.py:1631
msgid "Could not detect RDN from DN {!r}."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1573
+#: lib/pp_admintools/app/ldap.py:1635
msgid "Found RDN attribute {!r}."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1579
+#: lib/pp_admintools/app/ldap.py:1641
msgid "RDN attribute {!r} will not be touched."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1585 lib/pp_admintools/app/ldap.py:1604
-#: lib/pp_admintools/app/ldap.py:1682
+#: lib/pp_admintools/app/ldap.py:1647 lib/pp_admintools/app/ldap.py:1666
+#: lib/pp_admintools/app/ldap.py:1744
msgid "Attribute {!r} will not be touched."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1642
+#: lib/pp_admintools/app/ldap.py:1704
msgid "Values to removed from attribute {!r}:"
msgstr ""
msgid "If you are not using an admin account, then the password will hashed only by the default schema."
msgstr ""
-#: lib/pp_admintools/app/set_ldap_password.py:183
-msgid "SCHEMA"
-msgstr ""
-
#: lib/pp_admintools/app/set_ldap_password.py:187
msgid ""
"The user, which password in the given LDAP instance should be changed. It may be given by its "
msgid "Found API key of PDNS instance {inst!r}: {key!r}."
msgstr ""
-#: lib/pp_admintools/handler/ldap_password.py:60
+#: lib/pp_admintools/handler/ldap_password.py:61
msgid "Encryption schema {!r} not found."
msgstr ""
-#: lib/pp_admintools/handler/ldap_password.py:114
+#: lib/pp_admintools/handler/ldap_password.py:133
msgid "The ancient and notorious 3 DES crypt method."
msgstr ""
-#: lib/pp_admintools/handler/ldap_password.py:115 lib/pp_admintools/handler/ldap_password.py:118
+#: lib/pp_admintools/handler/ldap_password.py:134 lib/pp_admintools/handler/ldap_password.py:137
msgid "Pure {} hashing method."
msgstr ""
-#: lib/pp_admintools/handler/ldap_password.py:116 lib/pp_admintools/handler/ldap_password.py:119
-#: lib/pp_admintools/handler/ldap_password.py:121 lib/pp_admintools/handler/ldap_password.py:123
+#: lib/pp_admintools/handler/ldap_password.py:135 lib/pp_admintools/handler/ldap_password.py:138
+#: lib/pp_admintools/handler/ldap_password.py:140 lib/pp_admintools/handler/ldap_password.py:142
msgid "A {} based hashing algorithm."
msgstr ""
-#: lib/pp_admintools/handler/ldap_password.py:117 lib/pp_admintools/handler/ldap_password.py:120
-#: lib/pp_admintools/handler/ldap_password.py:122 lib/pp_admintools/handler/ldap_password.py:124
+#: lib/pp_admintools/handler/ldap_password.py:136 lib/pp_admintools/handler/ldap_password.py:139
+#: lib/pp_admintools/handler/ldap_password.py:141 lib/pp_admintools/handler/ldap_password.py:143
msgid "Salted {} hashing method."
msgstr ""
-#: lib/pp_admintools/handler/ldap_password.py:125
+#: lib/pp_admintools/handler/ldap_password.py:144
msgid "A hashing method derived from {} with additional computing rounds."
msgstr ""
-#: lib/pp_admintools/handler/ldap_password.py:245
+#: lib/pp_admintools/handler/ldap_password.py:268
msgid "Invalid schema {!r} given for update."
msgstr ""
-#: lib/pp_admintools/handler/ldap_password.py:282
+#: lib/pp_admintools/handler/ldap_password.py:305
msgid "Usable Hashing schemes:"
msgstr ""
-#: lib/pp_admintools/handler/ldap_password.py:291
+#: lib/pp_admintools/handler/ldap_password.py:314
msgid "This schema cannot be used for authentication on a current freeradius server."
msgstr ""
-#: lib/pp_admintools/handler/ldap_password.py:295
+#: lib/pp_admintools/handler/ldap_password.py:318
msgid "This is the default schema."
msgstr ""
-#: lib/pp_admintools/handler/ldap_password.py:339
+#: lib/pp_admintools/handler/ldap_password.py:362
msgid "The password schema {!r} does not support a password salt."
msgstr ""
-#: lib/pp_admintools/handler/ldap_password.py:343
+#: lib/pp_admintools/handler/ldap_password.py:366
msgid "The password salt must be at least by {} characters."
msgstr ""
-#: lib/pp_admintools/handler/ldap_password.py:347
+#: lib/pp_admintools/handler/ldap_password.py:370
msgid "The password salt may have a length of maximum {} characters."
msgstr ""
-#: lib/pp_admintools/handler/ldap_password.py:357
+#: lib/pp_admintools/handler/ldap_password.py:380
msgid "Found invalid character {!r} in password salt."
msgstr ""
-#: lib/pp_admintools/handler/ldap_password.py:370
+#: lib/pp_admintools/handler/ldap_password.py:393
msgid "The password schema {!r} does not support calculation rounds."
msgstr ""
-#: lib/pp_admintools/handler/ldap_password.py:376
+#: lib/pp_admintools/handler/ldap_password.py:399
msgid "Wrong value {v!r} for calculation rounds: {e}"
msgstr ""
-#: lib/pp_admintools/handler/ldap_password.py:380
+#: lib/pp_admintools/handler/ldap_password.py:403
msgid "The value for the calculation rounds has to be at least {}."
msgstr ""
-#: lib/pp_admintools/handler/ldap_password.py:385
+#: lib/pp_admintools/handler/ldap_password.py:408
msgid "The value for the calculation rounds has to at most {}."
msgstr ""
-#: lib/pp_admintools/handler/ldap_password.py:418
+#: lib/pp_admintools/handler/ldap_password.py:441
msgid "Cannot testing the quality of the new password, because the Python module {!r} is not installed."
msgstr ""
-#: lib/pp_admintools/handler/ldap_password.py:424
+#: lib/pp_admintools/handler/ldap_password.py:447
msgid "Testing quality of new password ..."
msgstr ""
-#: lib/pp_admintools/handler/ldap_password.py:428
+#: lib/pp_admintools/handler/ldap_password.py:451
msgid "Quality of the new password is not sufficient:"
msgstr ""