From: Douglas Bagnall Date: Sat, 4 Jul 2020 02:27:06 +0000 (+1200) Subject: python compat: remove text_type X-Git-Tag: talloc-2.3.2~876 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f0860de5bb2e12ad0f91f5428410ea0346286c1e;p=thirdparty%2Fsamba.git python compat: remove text_type Signed-off-by: Douglas Bagnall Reviewed-by: Noel Power --- diff --git a/python/samba/compat.py b/python/samba/compat.py index 299b1c8a301..b517999defd 100644 --- a/python/samba/compat.py +++ b/python/samba/compat.py @@ -71,9 +71,6 @@ if PY3: # compat functions from functools import cmp_to_key as cmp_to_key_fn - # compat types - text_type = str - # alias def ConfigParser(defaults=None, dict_type=dict, allow_no_value=False): from configparser import ConfigParser diff --git a/python/samba/gp_parse/gp_csv.py b/python/samba/gp_parse/gp_csv.py index d56d7d67b99..ebe9c4b6fe5 100644 --- a/python/samba/gp_parse/gp_csv.py +++ b/python/samba/gp_parse/gp_csv.py @@ -24,7 +24,6 @@ import io from io import BytesIO from xml.etree.ElementTree import Element, SubElement from samba.gp_parse import GPParser -from samba.compat import text_type # [MS-GPAC] Group Policy Audit Configuration class GPAuditCsvParser(GPParser): encoding = 'utf-8' @@ -81,14 +80,14 @@ class GPAuditCsvParser(GPParser): header = False self.header = [] for v in r.findall('Value'): - if not isinstance(v.text, text_type): + if not isinstance(v.text, str): v.text = v.text.decode(self.output_encoding) self.header.append(v.text) else: line = {} for i, v in enumerate(r.findall('Value')): line[self.header[i]] = v.text if v.text is not None else '' - if not isinstance(self.header[i], text_type): + if not isinstance(self.header[i], str): line[self.header[i]] = line[self.header[i]].decode(self.output_encoding) self.lines.append(line) diff --git a/python/samba/join.py b/python/samba/join.py index a35cf1d9a38..dca9ff634d5 100644 --- a/python/samba/join.py +++ b/python/samba/join.py @@ -49,7 +49,6 @@ import re import os import tempfile from collections import OrderedDict -from samba.compat import text_type from samba.compat import get_string from samba.netcmd import CommandError @@ -505,7 +504,7 @@ class DCJoinContext(object): v = [rec[a]] else: v = rec[a] - v = [x.encode('utf8') if isinstance(x, text_type) else x for x in v] + v = [x.encode('utf8') if isinstance(x, str) else x for x in v] rattr = ctx.tmp_samdb.dsdb_DsReplicaAttribute(ctx.tmp_samdb, a, v) attrs.append(rattr) diff --git a/python/samba/netcmd/user.py b/python/samba/netcmd/user.py index 7d4464e2aa9..95c21f52a04 100644 --- a/python/samba/netcmd/user.py +++ b/python/samba/netcmd/user.py @@ -53,7 +53,6 @@ from samba.netcmd import ( SuperCommand, Option, ) -from samba.compat import text_type from samba.compat import get_bytes from samba.compat import get_string from . import common @@ -748,7 +747,7 @@ class cmd_user_password(Command): self.outf.write("Sorry, passwords do not match.\n") try: - if not isinstance(password, text_type): + if not isinstance(password, str): password = password.decode('utf8') net.change_password(password) except Exception as msg: @@ -1283,7 +1282,7 @@ class GetPasswordCommand(Command): def get_utf8(a, b, username): try: - u = text_type(get_bytes(b), 'utf-16-le') + u = str(get_bytes(b), 'utf-16-le') except UnicodeDecodeError as e: self.outf.write("WARNING: '%s': CLEARTEXT is invalid UTF-16-LE unable to generate %s\n" % ( username, a)) diff --git a/python/samba/netcmd/visualize.py b/python/samba/netcmd/visualize.py index 3b99c6c6e02..45e62afbdc6 100644 --- a/python/samba/netcmd/visualize.py +++ b/python/samba/netcmd/visualize.py @@ -38,7 +38,6 @@ import time import re from samba.kcc import KCC, ldif_import_export from samba.kcc.kcc_utils import KCCError -from samba.compat import text_type from samba.uptodateness import ( get_partition_maps, get_partition, @@ -198,7 +197,7 @@ def colour_hash(x): given object.""" from hashlib import md5 tmp_str = str(x) - if isinstance(tmp_str, text_type): + if isinstance(tmp_str, str): tmp_str = tmp_str.encode('utf8') c = int(md5(tmp_str).hexdigest()[:6], base=16) & 0x7f7f7f return '#%06x' % c diff --git a/python/samba/samdb.py b/python/samba/samdb.py index 002e07e645b..6f5404e7f0a 100644 --- a/python/samba/samdb.py +++ b/python/samba/samdb.py @@ -32,7 +32,6 @@ from samba import dsdb, dsdb_dns from samba.ndr import ndr_unpack, ndr_pack from samba.dcerpc import drsblobs, misc from samba.common import normalise_int32 -from samba.compat import text_type from samba.compat import get_bytes from samba.dcerpc import security @@ -772,7 +771,7 @@ member: %s if len(res) > 1: raise Exception('Matched %u multiple users with filter "%s"' % (len(res), search_filter)) user_dn = res[0].dn - if not isinstance(password, text_type): + if not isinstance(password, str): pw = password.decode('utf-8') else: pw = password diff --git a/python/samba/tests/__init__.py b/python/samba/tests/__init__.py index 3ff11497ef6..7f7e68d961c 100644 --- a/python/samba/tests/__init__.py +++ b/python/samba/tests/__init__.py @@ -34,7 +34,6 @@ import re from enum import IntEnum, unique import samba.auth import samba.dcerpc.base -from samba.compat import text_type from random import randint from random import SystemRandom from contextlib import contextmanager diff --git a/python/samba/tests/auth_log_netlogon.py b/python/samba/tests/auth_log_netlogon.py index 04bca03cc06..eabc4239a42 100644 --- a/python/samba/tests/auth_log_netlogon.py +++ b/python/samba/tests/auth_log_netlogon.py @@ -35,7 +35,6 @@ from samba.auth import system_session from samba.tests import delete_force from samba.dsdb import UF_WORKSTATION_TRUST_ACCOUNT, UF_PASSWD_NOTREQD from samba.dcerpc.misc import SEC_CHAN_WKSTA -from samba.compat import text_type from samba.dcerpc.windows_event_ids import ( EVT_ID_SUCCESSFUL_LOGON, EVT_LOGON_NETWORK @@ -59,7 +58,7 @@ class AuthLogTestsNetLogon(samba.tests.auth_log_base.AuthLogTestBase): self.base_dn = self.ldb.domain_dn() self.dn = ("cn=%s,cn=users,%s" % (self.netbios_name, self.base_dn)) - utf16pw = text_type('"' + self.machinepass + '"').encode('utf-16-le') + utf16pw = ('"' + self.machinepass + '"').encode('utf-16-le') self.ldb.add({ "dn": self.dn, "objectclass": "computer", diff --git a/python/samba/tests/auth_log_samlogon.py b/python/samba/tests/auth_log_samlogon.py index 5999b9842ea..8e86c646a00 100644 --- a/python/samba/tests/auth_log_samlogon.py +++ b/python/samba/tests/auth_log_samlogon.py @@ -35,7 +35,6 @@ from samba.auth import system_session from samba.tests import delete_force from samba.dsdb import UF_WORKSTATION_TRUST_ACCOUNT, UF_PASSWD_NOTREQD from samba.dcerpc.misc import SEC_CHAN_WKSTA -from samba.compat import text_type from samba.dcerpc.windows_event_ids import ( EVT_ID_SUCCESSFUL_LOGON, EVT_LOGON_NETWORK @@ -81,7 +80,7 @@ class AuthLogTestsSamLogon(samba.tests.auth_log_base.AuthLogTestBase): else: binding = "[schannel]" - utf16pw = text_type('"' + self.machinepass + '"').encode('utf-16-le') + utf16pw = ('"' + self.machinepass + '"').encode('utf-16-le') self.ldb.add({ "dn": self.samlogon_dn, "objectclass": "computer", diff --git a/python/samba/tests/dcerpc/raw_testcase.py b/python/samba/tests/dcerpc/raw_testcase.py index ba7440df13b..4a41d2a8f34 100644 --- a/python/samba/tests/dcerpc/raw_testcase.py +++ b/python/samba/tests/dcerpc/raw_testcase.py @@ -27,7 +27,6 @@ from samba import gensec from samba.credentials import Credentials from samba.tests import TestCase from samba.ndr import ndr_pack, ndr_unpack, ndr_unpack_out -from samba.compat import text_type from samba.ntstatus import ( NT_STATUS_CONNECTION_DISCONNECTED, NT_STATUS_PIPE_DISCONNECTED, diff --git a/python/samba/tests/dcerpc/unix.py b/python/samba/tests/dcerpc/unix.py index 0b56babdd14..d26107393f2 100644 --- a/python/samba/tests/dcerpc/unix.py +++ b/python/samba/tests/dcerpc/unix.py @@ -20,7 +20,6 @@ from samba.dcerpc import unixinfo from samba.tests import RpcInterfaceTestCase -from samba.compat import text_type class UnixinfoTests(RpcInterfaceTestCase): @@ -32,7 +31,7 @@ class UnixinfoTests(RpcInterfaceTestCase): infos = self.conn.GetPWUid(range(512)) self.assertEqual(512, len(infos)) self.assertEqual("/bin/false", infos[0].shell) - self.assertTrue(isinstance(infos[0].homedir, text_type)) + self.assertTrue(isinstance(infos[0].homedir, str)) def test_gidtosid(self): self.conn.GidToSid(1000) diff --git a/python/samba/tests/password_hash.py b/python/samba/tests/password_hash.py index ec50b2b3f2e..35983cfd5cd 100644 --- a/python/samba/tests/password_hash.py +++ b/python/samba/tests/password_hash.py @@ -35,7 +35,6 @@ import samba import binascii from hashlib import md5 import crypt -from samba.compat import text_type USER_NAME = "PasswordHashTestUser" @@ -66,7 +65,7 @@ def get_package(sc, name): def calc_digest(user, realm, password): data = "%s:%s:%s" % (user, realm, password) - if isinstance(data, text_type): + if isinstance(data, str): data = data.encode('utf8') return md5(data).hexdigest() diff --git a/python/samba/tests/password_hash_ldap.py b/python/samba/tests/password_hash_ldap.py index 4d6904b455b..6b6375d0fc1 100644 --- a/python/samba/tests/password_hash_ldap.py +++ b/python/samba/tests/password_hash_ldap.py @@ -46,7 +46,6 @@ from samba.ndr import ndr_unpack from samba.dcerpc import drsblobs, drsuapi, misc from samba import drs_utils, net from samba.credentials import Credentials -from samba.compat import text_type import binascii import os @@ -73,7 +72,7 @@ class PassWordHashLDAPTests(PassWordHashTests): req8.destination_dsa_guid = null_guid req8.source_dsa_invocation_id = null_guid req8.naming_context = drsuapi.DsReplicaObjectIdentifier() - req8.naming_context.dn = text_type(dn) + req8.naming_context.dn = dn req8.highwatermark = drsuapi.DsReplicaHighWaterMark() req8.highwatermark.tmp_highest_usn = 0 diff --git a/python/samba/tests/samba_tool/user_wdigest.py b/python/samba/tests/samba_tool/user_wdigest.py index cd43a663e54..6311341e2e5 100644 --- a/python/samba/tests/samba_tool/user_wdigest.py +++ b/python/samba/tests/samba_tool/user_wdigest.py @@ -33,7 +33,7 @@ from samba.dcerpc import drsblobs from hashlib import md5 import random import string -from samba.compat import text_type + USER_NAME = "WdigestTestUser" # Create a random 32 character password, containing only letters and @@ -48,7 +48,7 @@ USER_PASS = ''.join(random.choice(string.ascii_uppercase + def calc_digest(user, realm, password): data = "%s:%s:%s" % (user, realm, password) - if isinstance(data, text_type): + if isinstance(data, str): data = data.encode('utf8') return "%s:%s:%s" % (user, realm, md5(data).hexdigest()) diff --git a/source4/dsdb/tests/python/sam.py b/source4/dsdb/tests/python/sam.py index 8220cf8b44f..d6ca63aedf6 100755 --- a/source4/dsdb/tests/python/sam.py +++ b/source4/dsdb/tests/python/sam.py @@ -17,7 +17,7 @@ import samba.getopt as options from samba.credentials import Credentials, DONT_USE_KERBEROS from samba.auth import system_session from samba.compat import get_string -from samba.compat import text_type + from ldb import SCOPE_BASE, LdbError from ldb import ERR_NO_SUCH_OBJECT, ERR_ATTRIBUTE_OR_VALUE_EXISTS from ldb import ERR_ENTRY_ALREADY_EXISTS, ERR_UNWILLING_TO_PERFORM @@ -1746,7 +1746,7 @@ class SamTests(samba.tests.TestCase): username = "ldaptestuser" password = "thatsAcomplPASS2" - utf16pw = text_type('"' + password + '"').encode('utf-16-le') + utf16pw = ('"' + password + '"').encode('utf-16-le') ldb.add({ "dn": "cn=ldaptestuser,cn=users," + self.base_dn, diff --git a/source4/dsdb/tests/python/sort.py b/source4/dsdb/tests/python/sort.py index a85957f697d..7b929eaefb6 100644 --- a/source4/dsdb/tests/python/sort.py +++ b/source4/dsdb/tests/python/sort.py @@ -16,7 +16,6 @@ import samba from samba.tests.subunitrun import SubunitOptions, TestProgram from samba.compat import cmp_fn from samba.compat import cmp_to_key_fn -from samba.compat import text_type import samba.getopt as options from samba.auth import system_session @@ -57,7 +56,7 @@ creds = credopts.get_credentials(lp) def norm(x): - if not isinstance(x, text_type): + if not isinstance(x, str): x = x.decode('utf8') return normalize('NFKC', x).upper() diff --git a/source4/scripting/bin/samba_dnsupdate b/source4/scripting/bin/samba_dnsupdate index 1eac41dd77f..50381d88823 100755 --- a/source4/scripting/bin/samba_dnsupdate +++ b/source4/scripting/bin/samba_dnsupdate @@ -50,7 +50,6 @@ from samba.netcmd.dns import cmd_dns from samba import gensec from samba.kcc import kcc_utils from samba.compat import get_string -from samba.compat import text_type import ldb import dns.resolver @@ -647,7 +646,7 @@ def rodc_dns_update(d, t, op): else: name.dns_register = False dns_names.names = [ name ] - site_name = text_type(sub_vars['SITE']) + site_name = sub_vars['SITE'] global error_count diff --git a/source4/scripting/devel/pfm_verify.py b/source4/scripting/devel/pfm_verify.py index 5cbeb3c3067..496a7a97d4d 100755 --- a/source4/scripting/devel/pfm_verify.py +++ b/source4/scripting/devel/pfm_verify.py @@ -35,7 +35,7 @@ from samba.drs_utils import drs_DsBind from samba.samdb import SamDB from samba.auth import system_session from samba.ndr import ndr_pack, ndr_unpack -from samba.compat import text_type + def _samdb_fetch_pfm(samdb): """Fetch prefixMap stored in SamDB using LDB connection""" @@ -78,7 +78,7 @@ def _drs_fetch_pfm(server, samdb, creds, lp): req8.destination_dsa_guid = dest_dsa req8.source_dsa_invocation_id = misc.GUID(samdb.get_invocation_id()) req8.naming_context = drsuapi.DsReplicaObjectIdentifier() - req8.naming_context.dn = text_type(samdb.get_schema_basedn()) + req8.naming_context.dn = samdb.get_schema_basedn() req8.highwatermark = drsuapi.DsReplicaHighWaterMark() req8.highwatermark.tmp_highest_usn = 0 req8.highwatermark.reserved_usn = 0 diff --git a/source4/torture/drs/python/samba_tool_drs_showrepl.py b/source4/torture/drs/python/samba_tool_drs_showrepl.py index 3a9d18afd41..f04ee122f04 100644 --- a/source4/torture/drs/python/samba_tool_drs_showrepl.py +++ b/source4/torture/drs/python/samba_tool_drs_showrepl.py @@ -26,7 +26,6 @@ import re import json import ldb import random -from samba.compat import text_type from samba.compat import get_string GUID_RE = r'[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}' @@ -146,7 +145,7 @@ class SambaToolDrsShowReplTests(drs_base.DrsBaseTestCase): for k in ("last attempt time", "last attempt message", "last success"): - self.assertTrue(isinstance(r[k], text_type)) + self.assertTrue(isinstance(r[k], str)) self.assertRegexpMatches(r["DSA objectGUID"], '^%s$' % GUID_RE) self.assertTrue(isinstance(r["consecutive failures"], int))