samba-tool/domain: use generated ntstatus rather than from local file
authorBob Campbell <bobcampbell@catalyst.net.nz>
Thu, 12 Jan 2017 23:20:30 +0000 (12:20 +1300)
committerAndrew Bartlett <abartlet@samba.org>
Tue, 14 Feb 2017 08:46:23 +0000 (09:46 +0100)
Signed-off-by: Bob Campbell <bobcampbell@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
python/samba/netcmd/domain.py

index ced20d78c39bb662c404532e02c721902868edb8..101b2479fef7102f815b4fffa9e6f62c630216e0 100644 (file)
@@ -33,6 +33,7 @@ import tempfile
 import logging
 import subprocess
 import time
+from samba import ntstatus
 from getpass import getpass
 from samba.net import Net, LIBNET_JOIN_AUTOMATIC
 import samba.ntacls
@@ -1616,12 +1617,6 @@ class DomainTrustCommand(Command):
     WERR_NERR_ACFNOTLOADED = 0x000008B3
     WERR_RPC_S_PROCNUM_OUT_OF_RANGE = 0x000006D1
 
-    NT_STATUS_NOT_FOUND = 0xC0000225
-    NT_STATUS_OBJECT_NAME_NOT_FOUND = 0xC0000034
-    NT_STATUS_INVALID_PARAMETER = 0xC000000D
-    NT_STATUS_INVALID_INFO_CLASS = 0xC0000003
-    NT_STATUS_RPC_PROCNUM_OUT_OF_RANGE = 0xC002002E
-
     def _uint32(self, v):
         return ctypes.c_uint32(v).value
 
@@ -2070,7 +2065,7 @@ class cmd_domain_trust_show(DomainTrustCommand):
             local_tdo_info = local_tdo_full.info_ex
             local_tdo_posix = local_tdo_full.posix_offset
         except RuntimeError as error:
-            if self.check_runtime_error(error, self.NT_STATUS_OBJECT_NAME_NOT_FOUND):
+            if self.check_runtime_error(error, ntstatus.NT_STATUS_OBJECT_NAME_NOT_FOUND):
                 raise CommandError("trusted domain object does not exist for domain [%s]" % domain)
 
             raise self.LocalRuntimeError(self, error, "QueryTrustedDomainInfoByName(FULL_INFO) failed")
@@ -2079,9 +2074,9 @@ class cmd_domain_trust_show(DomainTrustCommand):
             local_tdo_enctypes = local_lsa.QueryTrustedDomainInfoByName(local_policy,
                                         lsaString, lsa.LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES)
         except RuntimeError as error:
-            if self.check_runtime_error(error, self.NT_STATUS_INVALID_PARAMETER):
+            if self.check_runtime_error(error, ntstatus.NT_STATUS_INVALID_PARAMETER):
                 error = None
-            if self.check_runtime_error(error, self.NT_STATUS_INVALID_INFO_CLASS):
+            if self.check_runtime_error(error, ntstatus.NT_STATUS_INVALID_INFO_CLASS):
                 error = None
 
             if error is not None:
@@ -2099,7 +2094,7 @@ class cmd_domain_trust_show(DomainTrustCommand):
         except RuntimeError as error:
             if self.check_runtime_error(error, self.NT_STATUS_RPC_PROCNUM_OUT_OF_RANGE):
                 error = None
-            if self.check_runtime_error(error, self.NT_STATUS_NOT_FOUND):
+            if self.check_runtime_error(error, ntstatus.NT_STATUS_NOT_FOUND):
                 error = None
             if error is not None:
                 raise self.LocalRuntimeError(self, error, "lsaRQueryForestTrustInformation failed")
@@ -2377,7 +2372,7 @@ class cmd_domain_trust_create(DomainTrustCommand):
                                         lsaString, lsa.LSA_TRUSTED_DOMAIN_INFO_FULL_INFO)
             raise CommandError("TrustedDomain %s already exist'" % lsaString.string)
         except RuntimeError as error:
-            if not self.check_runtime_error(error, self.NT_STATUS_OBJECT_NAME_NOT_FOUND):
+            if not self.check_runtime_error(error, ntstatus.NT_STATUS_OBJECT_NAME_NOT_FOUND):
                 raise self.LocalRuntimeError(self, error,
                                 "QueryTrustedDomainInfoByName(%s, FULL_INFO) failed" % (
                                 lsaString.string))
@@ -2388,7 +2383,7 @@ class cmd_domain_trust_create(DomainTrustCommand):
                                         lsaString, lsa.LSA_TRUSTED_DOMAIN_INFO_FULL_INFO)
             raise CommandError("TrustedDomain %s already exist'" % lsaString.string)
         except RuntimeError as error:
-            if not self.check_runtime_error(error, self.NT_STATUS_OBJECT_NAME_NOT_FOUND):
+            if not self.check_runtime_error(error, ntstatus.NT_STATUS_OBJECT_NAME_NOT_FOUND):
                 raise self.LocalRuntimeError(self, error,
                                 "QueryTrustedDomainInfoByName(%s, FULL_INFO) failed" % (
                                 lsaString.string))
@@ -2400,7 +2395,7 @@ class cmd_domain_trust_create(DomainTrustCommand):
                                             lsaString, lsa.LSA_TRUSTED_DOMAIN_INFO_FULL_INFO)
                 raise CommandError("TrustedDomain %s already exist'" % lsaString.string)
             except RuntimeError as error:
-                if not self.check_runtime_error(error, self.NT_STATUS_OBJECT_NAME_NOT_FOUND):
+                if not self.check_runtime_error(error, ntstatus.NT_STATUS_OBJECT_NAME_NOT_FOUND):
                     raise self.RemoteRuntimeError(self, error,
                                     "QueryTrustedDomainInfoByName(%s, FULL_INFO) failed" % (
                                     lsaString.string))
@@ -2411,7 +2406,7 @@ class cmd_domain_trust_create(DomainTrustCommand):
                                             lsaString, lsa.LSA_TRUSTED_DOMAIN_INFO_FULL_INFO)
                 raise CommandError("TrustedDomain %s already exist'" % lsaString.string)
             except RuntimeError as error:
-                if not self.check_runtime_error(error, self.NT_STATUS_OBJECT_NAME_NOT_FOUND):
+                if not self.check_runtime_error(error, ntstatus.NT_STATUS_OBJECT_NAME_NOT_FOUND):
                     raise self.RemoteRuntimeError(self, error,
                                     "QueryTrustedDomainInfoByName(%s, FULL_INFO) failed" % (
                                     lsaString.string))
@@ -2741,7 +2736,7 @@ class cmd_domain_trust_delete(DomainTrustCommand):
             local_tdo_info = local_lsa.QueryTrustedDomainInfoByName(local_policy,
                                         lsaString, lsa.LSA_TRUSTED_DOMAIN_INFO_INFO_EX)
         except RuntimeError as error:
-            if self.check_runtime_error(error, self.NT_STATUS_OBJECT_NAME_NOT_FOUND):
+            if self.check_runtime_error(error, ntstatus.NT_STATUS_OBJECT_NAME_NOT_FOUND):
                 raise CommandError("Failed to find trust for domain '%s'" % domain)
             raise self.RemoteRuntimeError(self, error, "failed to locate remote server")
 
@@ -2780,7 +2775,7 @@ class cmd_domain_trust_delete(DomainTrustCommand):
                 remote_tdo_info = remote_lsa.QueryTrustedDomainInfoByName(remote_policy,
                                             lsaString, lsa.LSA_TRUSTED_DOMAIN_INFO_INFO_EX)
             except RuntimeError as error:
-                if not self.check_runtime_error(error, self.NT_STATUS_OBJECT_NAME_NOT_FOUND):
+                if not self.check_runtime_error(error, ntstatus.NT_STATUS_OBJECT_NAME_NOT_FOUND):
                     raise self.RemoteRuntimeError(self, error, "QueryTrustedDomainInfoByName(%s)" % (
                                                   lsaString.string))
                 pass
@@ -2884,7 +2879,7 @@ class cmd_domain_trust_validate(DomainTrustCommand):
             local_tdo_info = local_lsa.QueryTrustedDomainInfoByName(local_policy,
                                         lsaString, lsa.LSA_TRUSTED_DOMAIN_INFO_INFO_EX)
         except RuntimeError as error:
-            if self.check_runtime_error(error, self.NT_STATUS_OBJECT_NAME_NOT_FOUND):
+            if self.check_runtime_error(error, ntstatus.NT_STATUS_OBJECT_NAME_NOT_FOUND):
                 raise CommandError("trusted domain object does not exist for domain [%s]" % domain)
 
             raise self.LocalRuntimeError(self, error, "QueryTrustedDomainInfoByName(INFO_EX) failed")
@@ -3456,7 +3451,7 @@ class cmd_domain_trust_namespaces(DomainTrustCommand):
             local_tdo_info = local_lsa.QueryTrustedDomainInfoByName(local_policy,
                                         lsaString, lsa.LSA_TRUSTED_DOMAIN_INFO_INFO_EX)
         except RuntimeError as error:
-            if self.check_runtime_error(error, self.NT_STATUS_OBJECT_NAME_NOT_FOUND):
+            if self.check_runtime_error(error, ntstatus.NT_STATUS_OBJECT_NAME_NOT_FOUND):
                 raise CommandError("trusted domain object does not exist for domain [%s]" % domain)
 
             raise self.LocalRuntimeError(self, error, "QueryTrustedDomainInfoByName(INFO_EX) failed")