from samba.net import Net
from samba.provision.sambadns import setup_bind9_dns
from samba import read_and_sub_file
+from samba import werror
from base64 import b64encode
import logging
import talloc
if ctr.dir_err != drsuapi.DRSUAPI_DIRERR_OK:
print("DsAddEntry failed with dir_err %u" % ctr.dir_err)
raise RuntimeError("DsAddEntry failed")
- if ctr.extended_err != (0, 'WERR_OK'):
+ if ctr.extended_err[0] != werror.WERR_SUCCESS:
print("DsAddEntry failed with status %s info %s" % (ctr.extended_err))
raise RuntimeError("DsAddEntry failed")
if level == 3:
if ctr.err_ver != 1:
raise RuntimeError("expected err_ver 1, got %u" % ctr.err_ver)
- if ctr.err_data.status != (0, 'WERR_OK'):
+ if ctr.err_data.status[0] != werror.WERR_SUCCESS:
print("DsAddEntry failed with status %s info %s" % (ctr.err_data.status,
ctr.err_data.info.extended_err))
raise RuntimeError("DsAddEntry failed")
import samba.getopt as options
from samba import WERRORError
+from samba import werror
from struct import pack
from socket import inet_ntoa
from socket import inet_ntop
dnsserver.DNS_CLIENT_VERSION_LONGHORN, 0, server, zone, name, None,
record_type, select_flags, None, None)
except WERRORError as e:
- if e.args[1] == 'WERR_DNS_ERROR_NAME_DOES_NOT_EXIST':
+ if e.args[0] == werror.WERR_DNS_ERROR_NAME_DOES_NOT_EXIST:
# Either the zone doesn't exist, or there were no records.
# We can't differentiate the two.
return None
0, 'ResetDwordProperty', typeid,
name_and_param)
except WERRORError as e:
- if e.args[1] == 'WERR_DNS_ERROR_ZONE_ALREADY_EXISTS':
+ if e.args[0] == werror.WERR_DNS_ERROR_ZONE_ALREADY_EXISTS:
self.outf.write('Zone already exists.')
raise e
dnsserver.DNSSRV_TYPEID_NULL,
None)
except WERRORError as e:
- if e.args[1] == 'WERR_DNS_ERROR_ZONE_DOES_NOT_EXIST':
+ if e.args[0] == werror.WERR_DNS_ERROR_ZONE_DOES_NOT_EXIST:
self.outf.write('Zone does not exist and so could not be deleted.')
raise e
dnsserver.DNS_CLIENT_VERSION_LONGHORN, 0, server, zone, name,
None, record_type, select_flags, None, None)
except WERRORError as e:
- if e.args[1] == 'WERR_DNS_ERROR_NAME_DOES_NOT_EXIST':
+ if e.args[0] == werror.WERR_DNS_ERROR_NAME_DOES_NOT_EXIST:
self.outf.write('Record or zone does not exist.')
raise e
dns_conn.DnssrvUpdateRecord2(dnsserver.DNS_CLIENT_VERSION_LONGHORN,
0, server, zone, name, add_rec_buf, None)
except WERRORError as e:
- if e.args[1] == 'WERR_DNS_ERROR_NAME_DOES_NOT_EXIST':
+ if e.args[0] == werror.WERR_DNS_ERROR_NAME_DOES_NOT_EXIST:
self.outf.write('Zone does not exist; record could not be added.\n')
raise e
add_rec_buf,
del_rec_buf)
except WERRORError as e:
- if e.args[1] == 'WERR_DNS_ERROR_NAME_DOES_NOT_EXIST':
+ if e.args[0] == werror.WERR_DNS_ERROR_NAME_DOES_NOT_EXIST:
self.outf.write('Zone does not exist; record could not be updated.\n')
raise e
None,
del_rec_buf)
except WERRORError as e:
- if e.args[1] == 'WERR_DNS_ERROR_NAME_DOES_NOT_EXIST':
+ if e.args[0] == werror.WERR_DNS_ERROR_NAME_DOES_NOT_EXIST:
self.outf.write('Zone does not exist; record could not be deleted.\n')
raise e
import time
from samba import ntstatus
from samba import NTSTATUSError
+from samba import werror
from getpass import getpass
from samba.net import Net, LIBNET_JOIN_AUTOMATIC
import samba.ntacls
try:
drsuapiBind.DsReplicaSync(drsuapi_handle, 1, req1)
except RuntimeError as (werr, string):
- if werr == 8452: #WERR_DS_DRA_NO_REPLICA
+ if werr == werror.WERR_DS_DRA_NO_REPLICA:
pass
else:
self.errf.write(
"userAccountControl")
remote_samdb.modify(msg)
remote_samdb.rename(newdn, dc_dn)
- if werr == 8452: #WERR_DS_DRA_NO_REPLICA
+ if werr == werror.WERR_DS_DRA_NO_REPLICA:
raise CommandError("The DC %s is not present on (already removed from) the remote server: " % server_dsa_dn, e)
else:
raise CommandError("Error while sending a removeDsServer of %s: " % server_dsa_dn, e)
self.remote_binding_string = None
self.remote_creds = None
- WERR_OK = 0x00000000
- WERR_INVALID_FUNCTION = 0x00000001
- WERR_NERR_ACFNOTLOADED = 0x000008B3
- WERR_RPC_S_PROCNUM_OUT_OF_RANGE = 0x000006D1
-
def _uint32(self, v):
return ctypes.c_uint32(v).value
netlogon.NETR_TRUST_FLAG_OUTBOUND |
netlogon.NETR_TRUST_FLAG_INBOUND)
except RuntimeError as error:
- if self.check_runtime_error(error, self.WERR_RPC_S_PROCNUM_OUT_OF_RANGE):
+ if self.check_runtime_error(error, werror.WERR_RPC_S_PROCNUM_OUT_OF_RANGE):
# TODO: we could implement a fallback to lsa.EnumTrustDom()
raise CommandError("LOCAL_DC[%s]: netr_DsrEnumerateDomainTrusts not supported." % (
self.local_server))
local_trust_verify.tc_connection_status[1],
local_trust_verify.pdc_connection_status[1])
- if local_trust_status != self.WERR_OK or local_conn_status != self.WERR_OK:
+ if local_trust_status != werror.WERR_SUCCESS or local_conn_status != werror.WERR_SUCCESS:
raise CommandError(local_validation)
else:
self.outf.write("OK: %s\n" % local_validation)
remote_trust_verify.tc_connection_status[1],
remote_trust_verify.pdc_connection_status[1])
- if remote_trust_status != self.WERR_OK or remote_conn_status != self.WERR_OK:
+ if remote_trust_status != werror.WERR_SUCCESS or remote_conn_status != werror.WERR_SUCCESS:
raise CommandError(remote_validation)
else:
self.outf.write("OK: %s\n" % remote_validation)
local_trust_verify.tc_connection_status[1],
local_trust_verify.pdc_connection_status[1])
- if local_trust_status != self.WERR_OK or local_conn_status != self.WERR_OK:
+ if local_trust_status != werror.WERR_SUCCESS or local_conn_status != werror.WERR_SUCCESS:
raise CommandError(local_validation)
else:
self.outf.write("OK: %s\n" % local_validation)
local_trust_rediscover.trusted_dc_name,
local_trust_rediscover.tc_connection_status[1])
- if local_conn_status != self.WERR_OK:
+ if local_conn_status != werror.WERR_SUCCESS:
raise CommandError(local_rediscover)
else:
self.outf.write("OK: %s\n" % local_rediscover)
remote_trust_verify.tc_connection_status[1],
remote_trust_verify.pdc_connection_status[1])
- if remote_trust_status != self.WERR_OK or remote_conn_status != self.WERR_OK:
+ if remote_trust_status != werror.WERR_SUCCESS or remote_conn_status != werror.WERR_SUCCESS:
raise CommandError(remote_validation)
else:
self.outf.write("OK: %s\n" % remote_validation)
remote_trust_rediscover.trusted_dc_name,
remote_trust_rediscover.tc_connection_status[1])
- if remote_conn_status != self.WERR_OK:
+ if remote_conn_status != werror.WERR_SUCCESS:
raise CommandError(remote_rediscover)
else:
self.outf.write("OK: %s\n" % remote_rediscover)
own_forest_info = local_netlogon.netr_DsRGetForestTrustInformation(local_netlogon_info.dc_unc,
None, 0)
except RuntimeError as error:
- if self.check_runtime_error(error, self.WERR_RPC_S_PROCNUM_OUT_OF_RANGE):
+ if self.check_runtime_error(error, werror.WERR_RPC_S_PROCNUM_OUT_OF_RANGE):
raise CommandError("LOCAL_DC[%s]: netr_DsRGetForestTrustInformation() not supported." % (
self.local_server))
- if self.check_runtime_error(error, self.WERR_INVALID_FUNCTION):
+ if self.check_runtime_error(error, werror.WERR_INVALID_FUNCTION):
raise CommandError("LOCAL_DC[%s]: netr_DsRGetForestTrustInformation() not supported." % (
self.local_server))
- if self.check_runtime_error(error, self.WERR_NERR_ACFNOTLOADED):
+ if self.check_runtime_error(error, werror.WERR_NERR_ACFNOTLOADED):
raise CommandError("LOCAL_DC[%s]: netr_DsRGetForestTrustInformation() not supported." % (
self.local_server))
import uuid
import ldb
from ldb import LdbError
+from samba import werror
from samba.ndr import ndr_unpack
from samba.dcerpc import misc, dnsp
from samba.dcerpc.dnsp import DNS_TYPE_NS, DNS_TYPE_A, DNS_TYPE_AAAA, \
try:
primary_recs = samdb.dns_lookup(dnsHostName)
except RuntimeError as (enum, estr):
- if enum == 0x000025F2: #WERR_DNS_ERROR_NAME_DOES_NOT_EXIST
+ if enum == werror.WERR_DNS_ERROR_NAME_DOES_NOT_EXIST:
return
raise DemoteException("lookup of %s failed: %s" % (dnsHostName, estr))
samdb.dns_replace(dnsHostName, [])
logger.debug("checking for DNS records to remove on %s" % a_name)
a_recs = samdb.dns_lookup(a_name)
except RuntimeError as (enum, estr):
- if enum == 0x000025F2: #WERR_DNS_ERROR_NAME_DOES_NOT_EXIST
+ if enum == werror.WERR_DNS_ERROR_NAME_DOES_NOT_EXIST:
return
raise DemoteException("lookup of %s failed: %s" % (a_name, estr))
from samba.dcerpc import dns, dnsp, dnsserver
from samba.netcmd.dns import TXTRecord, dns_record_match, data_to_dns_record
from samba.tests.subunitrun import SubunitOptions, TestProgram
+from samba import werror
import samba.getopt as options
import optparse
try:
self.delete_zone(self.zone)
except RuntimeError, (num, string):
- if num != 9601: #WERR_DNS_ERROR_ZONE_DOES_NOT_EXIST
+ if num != werror.WERR_DNS_ERROR_ZONE_DOES_NOT_EXIST:
raise
def create_zone(self, zone):