[SCM] Samba Shared Repository - branch master updated
Douglas Bagnall
dbagnall at samba.org
Fri Apr 13 08:37:02 UTC 2018
The branch, master has been updated
via ce63db2 traffic_relay: bulk port print to modern py3 style
via c034caa s4/webserver: initialise optional parameter
via 30fb803 s4/lib/py-registry: initialize optional parameters for open_* functions
via 2a30501 s3/py_passdb: initialize optional parameters earlier
via 399c22a nbt/pynbt: initialize optional parameter in nbt_name_refresh
via e62d2bd nbt/pynbt: initialize optional parameter in nbt_name_register
via 0d56edb ldb/pyldb: initialize optional parameter in ldb_connect()
via 6eb3391 kcc/graph: add __hash__ to InternalEdge for py3
via c7f3c91 kcc: fix sort for py3
via 9491094 kcc/kcc_utils: fix divide for py3
via 09081ea kcc/kcc_utils: convert dict.keys to list
via 767f6e5 kcc/graph_utils: port string.translate for py3
via 16a228c selftest/graph: enable py3 for samba.tests.graph
via d1312c8 python/tests/graph: actually test graphs, don't print
via 6d696d6 graph: fix sort for py3
via fadd2ce graph: fix divide for py3
via 470499f selftest: enable py3 for samba.tests.krb5_credentials
via a9f5913 selftest: enable py3 for samba.tests.docs
via c070680 selftest: enable py3 for samba.tests.source
via eec07f2 selftest: enable py3 for samba.tests.lsa_string
via fb97281 selftest: enable py3 for samba.tests.dcerpc.registry
via 9b8b40f selftest: enable py3 for samba.tests.dcerpc.rpcecho
via e209cc2 selftest: enable py3 for samba.tests.dcerpc.bare
via 01ace23 selftest: enable py3 for samba.tests.dcerpc.sam
via aeb6e07 python: fix unicode escape in doc string
via 5258add python: bulk convert zip to list
via 8432ca2 python: bulk replace file to open for py3
via 9d79329 python: bulk replace dict.itervalues to values for py3
via 2892293 python: bulk port tdb iterkeys for py3
via f3b5287 python: bulk replace dict.iteritems to items for py3
via 6716971c python/wscript: build grouping library for py2/py3 (--extra-python)
via 6210510 s3/lib/policy/wscript_build: build samba_policy lib for extra-python/py3
via 84f7ead s3/libnet/wscript: build samba-net lib for extra-python/py3
via f24f0e1 s3/param/wscript: build PROVISION subsytem for extra-python/py3
via 4a58393 wscript_build: make sure we link extra-python versions of libraries
via e48e6b0 python: create test for pysmb module.
via 5c7e7ca s4/libcli: python3 port for smb module
from 23d8410 dbwrap: Fix "use mmap = no"
https://git.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit ce63db26a1d9fd2272e7d708965557d0461a4eac
Author: Joe Guo <joeg at catalyst.net.nz>
Date: Fri Apr 13 15:00:01 2018 +1200
traffic_relay: bulk port print to modern py3 style
Change print to function and avoid the ugly `print >>sys.stderr`.
Signed-off-by: Joe Guo <joeg at catalyst.net.nz>
Reviewed-by: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
Reviewed-by: Garming Sam <garming at catalyst.net.nz>
Autobuild-User(master): Douglas Bagnall <dbagnall at samba.org>
Autobuild-Date(master): Fri Apr 13 10:36:32 CEST 2018 on sn-devel-144
commit c034caaf956dd7bf151ca86fe028928befe88f7b
Author: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
Date: Thu Apr 12 17:19:20 2018 +1200
s4/webserver: initialise optional parameter
OK, this is unused and unimplemented.
Signed-off-by: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
Reviewed-by: Alexander Bokovoy <ab at samba.org>
commit 30fb803ec07eb865c4c31c54320cef08e1cafff0
Author: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
Date: Thu Apr 12 17:15:19 2018 +1200
s4/lib/py-registry: initialize optional parameters for open_* functions
Signed-off-by: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
Reviewed-by: Alexander Bokovoy <ab at samba.org>
commit 2a305014b530145563a581e880a14af17fc3fc04
Author: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
Date: Thu Apr 12 17:13:05 2018 +1200
s3/py_passdb: initialize optional parameters earlier
It is just a bit easier to see what is happening.
Signed-off-by: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
Reviewed-by: Alexander Bokovoy <ab at samba.org>
commit 399c22a86f0b8614137f783d957547ade219e431
Author: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
Date: Thu Apr 12 17:10:10 2018 +1200
nbt/pynbt: initialize optional parameter in nbt_name_refresh
Signed-off-by: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
Reviewed-by: Alexander Bokovoy <ab at samba.org>
commit e62d2bd498cae5465d8f192c5fc20daf772aa843
Author: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
Date: Thu Apr 12 17:09:45 2018 +1200
nbt/pynbt: initialize optional parameter in nbt_name_register
Signed-off-by: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
Reviewed-by: Alexander Bokovoy <ab at samba.org>
commit 0d56edb9bbffe137f1e0ac90c0c90f1d3cba9909
Author: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
Date: Thu Apr 12 17:07:38 2018 +1200
ldb/pyldb: initialize optional parameter in ldb_connect()
Signed-off-by: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
Reviewed-by: Alexander Bokovoy <ab at samba.org>
commit 6eb3391cc251cac484ce34397c18373331ffcb78
Author: Joe Guo <joeg at catalyst.net.nz>
Date: Tue Apr 10 15:06:51 2018 +1200
kcc/graph: add __hash__ to InternalEdge for py3
In py3, if a class defines `__eq__()` but not `__hash__()`, its instances will
not be usable as items in hashable collections, e.g.: set.
Add `__hash__()` to InternalEdge, so it can be added to a set in py3.
Signed-off-by: Joe Guo <joeg at catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
commit c7f3c91b62c3f8f2bb44fc23bf65710e4b290105
Author: Joe Guo <joeg at catalyst.net.nz>
Date: Tue Apr 10 14:51:37 2018 +1200
kcc: fix sort for py3
py2:
list.sort(cmp=None, key=None, reverse=False)
sorted(iterable[, cmp[, key[, reverse]]])
py3:
list.sort(key=None, reverse=False)
sorted(iterable, *, key=None, reverse=False)
The `cmp` arg was removed in py3, make use of `key` arg to work around.
Signed-off-by: Joe Guo <joeg at catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
commit 949109442f7d74b2bab820c6ef0a5a80685b5694
Author: Joe Guo <joeg at catalyst.net.nz>
Date: Tue Apr 10 12:58:52 2018 +1200
kcc/kcc_utils: fix divide for py3
`/` will return float other than int in py3.
Use `//` to keep consistent with py2.
Signed-off-by: Joe Guo <joeg at catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
commit 09081eae3d821352786dfb38630ae10e6072040e
Author: Joe Guo <joeg at catalyst.net.nz>
Date: Tue Apr 10 15:42:42 2018 +1200
kcc/kcc_utils: convert dict.keys to list
In py3, `dict.keys()` will return a iterator not a list.
Convert it to list to support both py2 and py3.
Signed-off-by: Joe Guo <joeg at catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
commit 767f6e599af81f7b2be42981d997c3c02f7ac70c
Author: Joe Guo <joeg at catalyst.net.nz>
Date: Tue Apr 10 12:45:34 2018 +1200
kcc/graph_utils: port string.translate for py3
In py3, `str.translate` removed the second positional argument
`deletechars`, which means you can not use it to delete chars from str.
Use `replace` for this case.
Signed-off-by: Joe Guo <joeg at catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
commit 16a228ca3303e750d5035735fdc1472e18e9ee58
Author: Joe Guo <joeg at catalyst.net.nz>
Date: Tue Apr 10 15:52:47 2018 +1200
selftest/graph: enable py3 for samba.tests.graph
Changes are made separatedly in previous commits.
No change needed here.
Signed-off-by: Joe Guo <joeg at catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
commit d1312c86d6ad5c813838eb653f71eedda8a97292
Author: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
Date: Thu Apr 12 15:57:09 2018 +1200
python/tests/graph: actually test graphs, don't print
Signed-off-by: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
commit 6d696d61dd2b3eb144a2ccabb0f7e2cd974959b7
Author: Joe Guo <joeg at catalyst.net.nz>
Date: Tue Apr 10 15:51:34 2018 +1200
graph: fix sort for py3
`sorted` can not sort `None` with str in py3, use the `key` arg to fix.
Sort None as ''.
Signed-off-by: Joe Guo <joeg at catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
commit fadd2cec39ab38215c36e4d996ced38b95f66d37
Author: Joe Guo <joeg at catalyst.net.nz>
Date: Tue Apr 10 15:48:35 2018 +1200
graph: fix divide for py3
`/` will return float other than int in py3.
Use `//` to keep consistent with py2.
Signed-off-by: Joe Guo <joeg at catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
commit 470499fda32f10769a03df5c9a68a64d4261b2e6
Author: Joe Guo <joeg at catalyst.net.nz>
Date: Wed Apr 11 17:44:26 2018 +1200
selftest: enable py3 for samba.tests.krb5_credentials
Fix encoding issue.
Signed-off-by: Joe Guo <joeg at catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
commit a9f591369ee9359961237a03eb19672a47cb4e11
Author: Joe Guo <joeg at catalyst.net.nz>
Date: Thu Apr 5 13:48:36 2018 +1200
selftest: enable py3 for samba.tests.docs
Popen methods will return bytes.
Decode output to string before using.
Signed-off-by: Joe Guo <joeg at catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
commit c07068038857bb93e3cf7f9f058054a3c9bda253
Author: Joe Guo <joeg at catalyst.net.nz>
Date: Thu Apr 5 12:49:09 2018 +1200
selftest: enable py3 for samba.tests.source
In py2, `open` has no `encoding` arg, python guesses file encoding from
locale. This could be wrong.
Use `io.open` to open a file, so we can specify encoding in both py2 and
py3.
Also, open file with `r` instead of `rb` for py3.
Signed-off-by: Joe Guo <joeg at catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
commit eec07f2fe5eab8046eed78c7c4439732f9f2118b
Author: Joe Guo <joeg at catalyst.net.nz>
Date: Wed Apr 11 17:17:48 2018 +1200
selftest: enable py3 for samba.tests.lsa_string
No change needed.
Signed-off-by: Joe Guo <joeg at catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
commit fb972815656618654b787d3414bc4ac4f41adb41
Author: Joe Guo <joeg at catalyst.net.nz>
Date: Wed Apr 11 16:42:54 2018 +1200
selftest: enable py3 for samba.tests.dcerpc.registry
No changes needed.
Signed-off-by: Joe Guo <joeg at catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
commit 9b8b40fabf64ae92ebb0694529c13fc178edaf55
Author: Joe Guo <joeg at catalyst.net.nz>
Date: Wed Apr 11 16:38:03 2018 +1200
selftest: enable py3 for samba.tests.dcerpc.rpcecho
Prefix `b` for bytes.
Signed-off-by: Joe Guo <joeg at catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
commit e209cc2ee2f0dae5733e58b681eb27ab9bb3beae
Author: Joe Guo <joeg at catalyst.net.nz>
Date: Wed Apr 11 11:39:56 2018 +1200
selftest: enable py3 for samba.tests.dcerpc.bare
Prefix b to bytes.
Signed-off-by: Joe Guo <joeg at catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
commit 01ace23512adaf956e9db9dfaf559b14dc23c589
Author: Joe Guo <joeg at catalyst.net.nz>
Date: Tue Apr 10 16:27:47 2018 +1200
selftest: enable py3 for samba.tests.dcerpc.sam
1. Fix invalid declaration syntax for toArray
2. Simplify toArray implementation with list comprehension.
3. Remove ending L for long integer.
Signed-off-by: Joe Guo <joeg at catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
commit aeb6e07df3c65356ca6560c48d3c45648c550774
Author: Joe Guo <joeg at catalyst.net.nz>
Date: Wed Apr 11 16:32:19 2018 +1200
python: fix unicode escape in doc string
The doc string has `\u` mark inside, which will cause encoding error in
py3. prefix `r` to doc string to fix.
Signed-off-by: Joe Guo <joeg at catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
commit 5258add3aaf9b9f077d4629355afc7b35cc58cd1
Author: Joe Guo <joeg at catalyst.net.nz>
Date: Tue Apr 10 15:49:40 2018 +1200
python: bulk convert zip to list
In py3, zip will return a iterator other than a list.
Convert it to a list to support both py2 and py3.
Signed-off-by: Joe Guo <joeg at catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
commit 8432ca2b48385e4372fed306329f03185b46a620
Author: Joe Guo <joeg at catalyst.net.nz>
Date: Wed Apr 11 16:03:34 2018 +1200
python: bulk replace file to open for py3
The builtin function `file` was removed in py3. Use `open` instead.
Signed-off-by: Joe Guo <joeg at catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
commit 9d79329d3d346780f4b3543a979c6af1e3bdc5f0
Author: Joe Guo <joeg at catalyst.net.nz>
Date: Wed Apr 11 10:44:24 2018 +1200
python: bulk replace dict.itervalues to values for py3
In py3, iterxxx methods are removed.
Signed-off-by: Joe Guo <joeg at catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
commit 2892293182f282336f08ed17315ae744aa72bddc
Author: Joe Guo <joeg at catalyst.net.nz>
Date: Thu Apr 12 16:07:24 2018 +1200
python: bulk port tdb iterkeys for py3
In py3, `dict.iterkeys()` is removed, we need to use `keys()` instead.
This is compatible with py2 since `dict.keys()` exists for py2.
tdb pretents to be a dict, however, not completely.
It provides `iterkeys()` for py2 only, and `keys()` for py3 only,
which means replace `iterkeys()` to `keys()` will break py2.
In python, iter a dict will implicitly iter on keys.
Use this feature to work around.
Signed-off-by: Joe Guo <joeg at catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
commit f3b52875388da6e064567621a53e9ccb508dc6d5
Author: Joe Guo <joeg at catalyst.net.nz>
Date: Wed Apr 11 10:32:06 2018 +1200
python: bulk replace dict.iteritems to items for py3
In py3, iterxxx methods are removed.
Signed-off-by: Joe Guo <joeg at catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
commit 6716971ce1b023affc2503b72e83c22581faf64a
Author: Noel Power <noel.power at suse.com>
Date: Fri Apr 6 16:35:49 2018 +0100
python/wscript: build grouping library for py2/py3 (--extra-python)
Grouping library is not used for any delivered libraries, however
it is used internally when building local libraries used when
"make test TESTS='blah'" is invoked. Failure to provide the grouping
library results in missing symbols (and cores) when running tests
Signed-off-by: Noel Power <noel.power at suse.com>
Reviewed-by: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
commit 62105101463b0e2247737483d0078fa768ccc1c5
Author: Noel Power <noel.power at suse.com>
Date: Thu Apr 5 17:05:10 2018 +0100
s3/lib/policy/wscript_build: build samba_policy lib for extra-python/py3
pypolicy module needs appropriate samba_policy library for
extra-python/py3 therefore we need to build it for it to be available
Signed-off-by: Noel Power <noel.power at suse.com>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
commit 84f7ead29ab6cd71a24022994c8af5812738b913
Author: Noel Power <noel.power at suse.com>
Date: Thu Apr 5 16:58:33 2018 +0100
s3/libnet/wscript: build samba-net lib for extra-python/py3
python_net needs to link appropriate samba-net library for extra-py/py3
version so we need to build it for extra-python/py3
Signed-off-by: Noel Power <noel.power at suse.com>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
commit f24f0e1faff6531b6229238c94e2ad8463abcdab
Author: Noel Power <noel.power at suse.com>
Date: Thu Apr 5 16:34:12 2018 +0100
s3/param/wscript: build PROVISION subsytem for extra-python/py3
Signed-off-by: Noel Power <noel.power at suse.com>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
commit 4a58393b2b4ebb8f7744ed367f14953f40d2e948
Author: Noel Power <noel.power at suse.com>
Date: Wed Apr 4 09:53:14 2018 +0100
wscript_build: make sure we link extra-python versions of libraries
Signed-off-by: Noel Power <noel.power at suse.com>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
commit e48e6b08a5ba357726db7b4ec3dd5ba9b143471d
Author: David Mulder <dmulder at suse.com>
Date: Fri Feb 9 08:42:18 2018 -0700
python: create test for pysmb module.
Signed-off-by: David Mulder <dmulder at suse.com>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
commit 5c7e7cad4bf82ad08c5f11616d15f80842a930e1
Author: Noel Power <noel.power at suse.com>
Date: Thu Dec 14 11:32:23 2017 +0000
s4/libcli: python3 port for smb module
Signed-off-by: Noel Power <noel.power at suse.com>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
-----------------------------------------------------------------------
Summary of changes:
auth/credentials/wscript_build | 5 +-
buildtools/wafsamba/samba_version.py | 2 +-
lib/ldb-samba/wscript_build | 5 +-
lib/ldb/pyldb.c | 2 +-
lib/talloc/wscript | 2 +-
lib/tdb/python/tdbdump.py | 2 +-
libcli/nbt/pynbt.c | 2 +
libgpo/wscript_build | 5 +-
python/samba/emulate/traffic.py | 22 +-
python/samba/graph.py | 12 +-
python/samba/kcc/__init__.py | 14 +-
python/samba/kcc/graph.py | 5 +
python/samba/kcc/graph_utils.py | 4 +-
python/samba/kcc/kcc_utils.py | 11 +-
python/samba/netcmd/__init__.py | 2 +-
python/samba/netcmd/common.py | 2 +-
python/samba/netcmd/gpo.py | 6 +-
python/samba/netcmd/main.py | 4 +-
python/samba/netcmd/visualize.py | 26 +-
python/samba/provision/__init__.py | 4 +-
python/samba/provision/sambadns.py | 2 +-
python/samba/samba3/__init__.py | 8 +-
python/samba/subunit/run.py | 2 +-
python/samba/tests/dcerpc/bare.py | 8 +-
python/samba/tests/dcerpc/rpcecho.py | 6 +-
python/samba/tests/dcerpc/sam.py | 10 +-
python/samba/tests/docs.py | 23 +-
python/samba/tests/graph.py | 414 ++++++++++++++++++++++++-
python/samba/tests/krb5_credentials.py | 7 +-
python/samba/tests/netcmd.py | 5 +-
python/samba/tests/smb.py | 89 ++++++
python/samba/tests/source.py | 3 +-
python/wscript | 22 +-
script/traffic_replay | 105 ++++---
selftest/subunithelper.py | 2 +-
selftest/tests.py | 6 +-
source3/passdb/py_passdb.c | 6 +-
source3/wscript_build | 5 +-
source4/auth/wscript_build | 5 +-
source4/dsdb/tests/python/linked_attributes.py | 4 +-
source4/lib/messaging/wscript_build | 2 +-
source4/lib/policy/wscript_build | 15 +-
source4/lib/registry/pyregistry.c | 8 +-
source4/libcli/pysmb.c | 45 ++-
source4/libcli/wscript_build | 16 +-
source4/libnet/wscript_build | 27 +-
source4/librpc/wscript_build | 49 +--
source4/param/wscript_build | 21 +-
source4/scripting/bin/w32err_code.py | 4 +-
source4/selftest/tests.py | 21 +-
source4/web_server/wsgi.c | 2 +-
51 files changed, 802 insertions(+), 277 deletions(-)
create mode 100644 python/samba/tests/smb.py
Changeset truncated at 500 lines:
diff --git a/auth/credentials/wscript_build b/auth/credentials/wscript_build
index 30c0f72..73e8e67 100644
--- a/auth/credentials/wscript_build
+++ b/auth/credentials/wscript_build
@@ -25,8 +25,11 @@ bld.SAMBA_SUBSYSTEM('CREDENTIALS_NTLM',
deps='samba-credentials')
for env in bld.gen_python_environments():
+ pytalloc_util = bld.pyembed_libname('pytalloc-util')
+ pyparam_util = bld.pyembed_libname('pyparam_util')
+
bld.SAMBA_PYTHON('pycredentials',
source='pycredentials.c',
- public_deps='samba-credentials cmdline-credentials pytalloc-util pyparam_util CREDENTIALS_KRB5 CREDENTIALS_SECRETS',
+ public_deps='samba-credentials cmdline-credentials %s %s CREDENTIALS_KRB5 CREDENTIALS_SECRETS' % (pytalloc_util, pyparam_util),
realname='samba/credentials.so'
)
diff --git a/buildtools/wafsamba/samba_version.py b/buildtools/wafsamba/samba_version.py
index 950a855..be26439 100644
--- a/buildtools/wafsamba/samba_version.py
+++ b/buildtools/wafsamba/samba_version.py
@@ -95,7 +95,7 @@ also accepted as dictionary entries here
self.VENDOR_SUFFIX=None
self.VENDOR_PATCH=None
- for a, b in version_dict.iteritems():
+ for a, b in version_dict.items():
if a.startswith("SAMBA_VERSION_"):
setattr(self, a[14:], b)
else:
diff --git a/lib/ldb-samba/wscript_build b/lib/ldb-samba/wscript_build
index c538b5a..c846426 100644
--- a/lib/ldb-samba/wscript_build
+++ b/lib/ldb-samba/wscript_build
@@ -21,8 +21,11 @@ bld.SAMBA_SUBSYSTEM('ldbwrap',
for env in bld.gen_python_environments():
pyparam_util = bld.pyembed_libname('pyparam_util')
pyldb_util = bld.pyembed_libname('pyldb-util')
+ pyauth = 'pyauth'
+ if bld.env['IS_EXTRA_PYTHON']:
+ pyauth = 'extra-' + pyauth
bld.SAMBA_PYTHON('python_samba__ldb', 'pyldb.c',
- deps='ldbsamba %s ldbwrap %s pyauth' % (pyparam_util, pyldb_util),
+ deps='ldbsamba %s ldbwrap %s %s' % (pyparam_util, pyldb_util, pyauth),
realname='samba/_ldb.so')
bld.SAMBA_MODULE('ldbsamba_extensions',
diff --git a/lib/ldb/pyldb.c b/lib/ldb/pyldb.c
index 4b02edb..67ecafb 100644
--- a/lib/ldb/pyldb.c
+++ b/lib/ldb/pyldb.c
@@ -1154,7 +1154,7 @@ static PyObject *py_ldb_new(PyTypeObject *type, PyObject *args, PyObject *kwargs
static PyObject *py_ldb_connect(PyLdbObject *self, PyObject *args, PyObject *kwargs)
{
- char *url;
+ char *url = NULL;
unsigned int flags = 0;
PyObject *py_options = Py_None;
int ret;
diff --git a/lib/talloc/wscript b/lib/talloc/wscript
index 0834341..1b31672 100644
--- a/lib/talloc/wscript
+++ b/lib/talloc/wscript
@@ -165,7 +165,7 @@ def build(bld):
bld.SAMBA_PYTHON('test_pytalloc',
'test_pytalloc.c',
- deps='pytalloc',
+ deps=name,
enabled=bld.PYTHON_BUILD_IS_ENABLED(),
realname='_test_pytalloc.so',
install=False)
diff --git a/lib/tdb/python/tdbdump.py b/lib/tdb/python/tdbdump.py
index a16d26e..08769ea 100644
--- a/lib/tdb/python/tdbdump.py
+++ b/lib/tdb/python/tdbdump.py
@@ -9,5 +9,5 @@ if len(sys.argv) < 2:
sys.exit(1)
db = tdb.Tdb(sys.argv[1])
-for (k, v) in db.iteritems():
+for (k, v) in db.items():
print("{\nkey(%d) = %r\ndata(%d) = %r\n}" % (len(k), k, len(v), v))
diff --git a/libcli/nbt/pynbt.c b/libcli/nbt/pynbt.c
index 6337092..254c98a 100644
--- a/libcli/nbt/pynbt.c
+++ b/libcli/nbt/pynbt.c
@@ -265,6 +265,7 @@ static PyObject *py_nbt_name_register(PyObject *self, PyObject *args, PyObject *
io.in.broadcast = true;
io.in.multi_homed = true;
io.in.register_demand = true;
+ io.in.ttl = 0;
io.in.timeout = 0;
io.in.retries = 0;
@@ -320,6 +321,7 @@ static PyObject *py_nbt_name_refresh(PyObject *self, PyObject *args, PyObject *k
io.in.broadcast = true;
io.in.nb_flags = 0;
+ io.in.ttl = 0;
io.in.timeout = 0;
io.in.retries = 0;
diff --git a/libgpo/wscript_build b/libgpo/wscript_build
index f456d41..9fbff9d 100644
--- a/libgpo/wscript_build
+++ b/libgpo/wscript_build
@@ -8,7 +8,8 @@ bld.SAMBA3_LIBRARY('gpext',
private_library=True)
for env in bld.gen_python_environments():
+ pyparam_util = bld.pyembed_libname('pyparam_util')
+ pyrpc_util = bld.pyembed_libname('pyrpc_util')
bld.SAMBA3_PYTHON('python_samba_libgpo', 'pygpo.c',
- deps='''pyparam_util gpext talloc ads TOKEN_UTIL
- auth pyrpc_util''',
+ deps='%s gpext talloc ads TOKEN_UTIL auth %s' % (pyparam_util, pyrpc_util),
realname='samba/gpo.so')
diff --git a/python/samba/emulate/traffic.py b/python/samba/emulate/traffic.py
index 240d0eb..9d95e3a 100644
--- a/python/samba/emulate/traffic.py
+++ b/python/samba/emulate/traffic.py
@@ -1065,7 +1065,7 @@ def guess_server_address(conversations):
def stringify_keys(x):
y = {}
- for k, v in x.iteritems():
+ for k, v in x.items():
k2 = '\t'.join(k)
y[k2] = v
return y
@@ -1073,7 +1073,7 @@ def stringify_keys(x):
def unstringify_keys(x):
y = {}
- for k, v in x.iteritems():
+ for k, v in x.items():
t = tuple(str(k).split('\t'))
y[t] = v
return y
@@ -1133,12 +1133,12 @@ class TrafficModel(object):
def save(self, f):
ngrams = {}
- for k, v in self.ngrams.iteritems():
+ for k, v in self.ngrams.items():
k = '\t'.join(k)
ngrams[k] = dict(Counter(v))
query_details = {}
- for k, v in self.query_details.iteritems():
+ for k, v in self.query_details.items():
query_details[k] = dict(Counter('\t'.join(x) if x else '-'
for x in v))
@@ -1161,15 +1161,15 @@ class TrafficModel(object):
d = json.load(f)
- for k, v in d['ngrams'].iteritems():
+ for k, v in d['ngrams'].items():
k = tuple(str(k).split('\t'))
values = self.ngrams.setdefault(k, [])
- for p, count in v.iteritems():
+ for p, count in v.items():
values.extend([str(p)] * count)
- for k, v in d['query_details'].iteritems():
+ for k, v in d['query_details'].items():
values = self.query_details.setdefault(str(k), [])
- for p, count in v.iteritems():
+ for p, count in v.items():
if p == '-':
values.extend([()] * count)
else:
@@ -1398,9 +1398,9 @@ def replay(conversations,
print(("we have %d accounts but %d conversations" %
(accounts, conversations)), file=sys.stderr)
- cstack = zip(sorted(conversations,
- key=lambda x: x.start_time, reverse=True),
- accounts)
+ cstack = list(zip(
+ sorted(conversations, key=lambda x: x.start_time, reverse=True),
+ accounts))
# Set the process group so that the calling scripts are not killed
# when the forked child processes are killed.
diff --git a/python/samba/graph.py b/python/samba/graph.py
index f626287..6cdd2ef 100644
--- a/python/samba/graph.py
+++ b/python/samba/graph.py
@@ -129,7 +129,7 @@ def shorten_vertex_names(edges, vertices, suffix=',...', aggressive=False):
break
else:
map = dict((k, v.replace(',CN=Servers,', ',**,'))
- for k, v in map.iteritems())
+ for k, v in map.items())
replacements.append(('**', 'CN=Servers'))
for v in vertices2:
@@ -137,7 +137,7 @@ def shorten_vertex_names(edges, vertices, suffix=',...', aggressive=False):
break
else:
map = dict((k, v.replace('CN=NTDS Settings,', '*,'))
- for k, v in map.iteritems())
+ for k, v in map.items())
replacements.append(('*', 'CN=NTDS Settings'))
edges2 = [(map.get(a, a), map.get(b, b)) for a, b in edges2]
@@ -463,11 +463,11 @@ def find_transitive_distance(vertices, edges):
for i in range(inf):
changed = False
new_distances = {}
- for v, d in distances.iteritems():
+ for v, d in distances.items():
new_d = d.copy()
new_distances[v] = new_d
- for dest, cost in d.iteritems():
- for leaf, cost2 in distances[dest].iteritems():
+ for dest, cost in d.items():
+ for leaf, cost2 in distances[dest].items():
new_cost = cost + cost2
old_cost = d.get(leaf, inf)
if new_cost < old_cost:
@@ -497,7 +497,7 @@ def get_transitive_colourer(colours, n_vertices):
n = 1 + int(n_vertices ** 0.5)
def f(link):
- return scale[min(link * m / n, m - 1)]
+ return scale[min(link * m // n, m - 1)]
else:
def f(link):
diff --git a/python/samba/kcc/__init__.py b/python/samba/kcc/__init__.py
index f004663..1a962bb 100644
--- a/python/samba/kcc/__init__.py
+++ b/python/samba/kcc/__init__.py
@@ -46,18 +46,6 @@ from samba.kcc.debug import DEBUG, DEBUG_FN, logger
from samba.kcc import debug
-def sort_replica_by_dsa_guid(rep1, rep2):
- """Helper to sort NCReplicas by their DSA guids
-
- The guids need to be sorted in their NDR form.
-
- :param rep1: An NC replica
- :param rep2: Another replica
- :return: -1, 0, or 1, indicating sort order.
- """
- return cmp(ndr_pack(rep1.rep_dsa_guid), ndr_pack(rep2.rep_dsa_guid))
-
-
def sort_dsa_by_gc_and_guid(dsa1, dsa2):
"""Helper to sort DSAs by guid global catalog status
@@ -2194,7 +2182,7 @@ class KCC(object):
# on the local DC
r_list.append(l_of_x)
- r_list.sort(sort_replica_by_dsa_guid)
+ r_list.sort(key=lambda rep: ndr_pack(rep.rep_dsa_guid))
r_len = len(r_list)
max_node_edges = self.intrasite_max_node_edges(r_len)
diff --git a/python/samba/kcc/graph.py b/python/samba/kcc/graph.py
index a0bff69..fb3ca0c 100644
--- a/python/samba/kcc/graph.py
+++ b/python/samba/kcc/graph.py
@@ -805,6 +805,11 @@ class InternalEdge(object):
self.e_type = eType
self.site_link = site_link
+ def __hash__(self):
+ return hash((
+ self.v1, self.v2, self.red_red, self.repl_info, self.e_type,
+ self.site_link))
+
def __eq__(self, other):
return not self < other and not other < self
diff --git a/python/samba/kcc/graph_utils.py b/python/samba/kcc/graph_utils.py
index c564bee..086b651 100644
--- a/python/samba/kcc/graph_utils.py
+++ b/python/samba/kcc/graph_utils.py
@@ -32,7 +32,7 @@ def write_dot_file(basename, edge_list, vertices=None, label=None,
s = dot_graph(vertices, edge_list, title=label, **kwargs)
if label:
# sanitise DN and guid labels
- basename += '_' + label.translate(None, ', ')
+ basename += '_' + label.replace(', ', '')
filename = os.path.join(dot_file_dir, "%s.dot" % basename)
if debug is not None:
@@ -235,7 +235,7 @@ def verify_graph_directed_double_ring(edges, vertices, edge_vertices):
raise GraphError("wanted double directed ring, found a leaf node"
"(%s)" % vertex)
- for vertex in edge_map.keys():
+ for vertex in list(edge_map.keys()):
nset = edge_map[vertex]
if not nset:
continue
diff --git a/python/samba/kcc/kcc_utils.py b/python/samba/kcc/kcc_utils.py
index a4870a3..2118570 100644
--- a/python/samba/kcc/kcc_utils.py
+++ b/python/samba/kcc/kcc_utils.py
@@ -1581,7 +1581,9 @@ class Site(object):
# Which is a fancy way of saying "sort all the nTDSDSA objects
# in the site by guid in ascending order". Place sorted list
# in D_sort[]
- D_sort = sorted(self.rw_dsa_table.values(), cmp=sort_dsa_by_guid)
+ D_sort = sorted(
+ self.rw_dsa_table.values(),
+ key=lambda dsa: ndr_pack(dsa.dsa_guid))
# double word number of 100 nanosecond intervals since 1600s
@@ -1669,7 +1671,7 @@ class Site(object):
#
# Note: We don't want to divide by zero here so they must
# have meant "f" instead of "o!interSiteTopologyFailover"
- k_idx = (i_idx + ((self.nt_now - t_time) / f)) % len(D_sort)
+ k_idx = (i_idx + ((self.nt_now - t_time) // f)) % len(D_sort)
# The local writable DC acts as an ISTG for its site if and
# only if dk is the nTDSDSA object for the local DC. If the
@@ -2221,11 +2223,6 @@ def get_dsa_config_rep(dsa):
dsa.dsa_dnstr)
-def sort_dsa_by_guid(dsa1, dsa2):
- "use ndr_pack for GUID comparison, as appears correct in some places"""
- return cmp(ndr_pack(dsa1.dsa_guid), ndr_pack(dsa2.dsa_guid))
-
-
def new_connection_schedule():
"""Create a default schedule for an NTDSConnection or Sitelink. This
is packed differently from the repltimes schedule used elsewhere
diff --git a/python/samba/netcmd/__init__.py b/python/samba/netcmd/__init__.py
index 9037d03..7797678 100644
--- a/python/samba/netcmd/__init__.py
+++ b/python/samba/netcmd/__init__.py
@@ -130,7 +130,7 @@ class Command(object):
prog=prog,epilog=epilog)
parser.add_options(self.takes_options)
optiongroups = {}
- for name, optiongroup in self.takes_optiongroups.iteritems():
+ for name, optiongroup in self.takes_optiongroups.items():
optiongroups[name] = optiongroup(parser)
parser.add_option_group(optiongroups[name])
return parser, optiongroups
diff --git a/python/samba/netcmd/common.py b/python/samba/netcmd/common.py
index 5c0bd95..2d0ff62 100644
--- a/python/samba/netcmd/common.py
+++ b/python/samba/netcmd/common.py
@@ -23,7 +23,7 @@ from samba.net import Net
def _get_user_realm_domain(user):
- """ get the realm or the domain and the base user
+ r""" get the realm or the domain and the base user
from user like:
* username
* DOMAIN\username
diff --git a/python/samba/netcmd/gpo.py b/python/samba/netcmd/gpo.py
index 5f4ad0e..cd946d9 100644
--- a/python/samba/netcmd/gpo.py
+++ b/python/samba/netcmd/gpo.py
@@ -252,7 +252,7 @@ def copy_directory_remote_to_local(conn, remotedir, localdir):
os.mkdir(l_name)
else:
data = conn.loadfile(r_name)
- file(l_name, 'w').write(data)
+ open(l_name, 'w').write(data)
def copy_directory_local_to_remote(conn, localdir, remotedir):
@@ -274,7 +274,7 @@ def copy_directory_local_to_remote(conn, localdir, remotedir):
r_dirs.append(r_name)
conn.mkdir(r_name)
else:
- data = file(l_name, 'r').read()
+ data = open(l_name, 'r').read()
conn.savefile(r_name, data)
@@ -943,7 +943,7 @@ class cmd_create(Command):
os.mkdir(os.path.join(gpodir, "Machine"))
os.mkdir(os.path.join(gpodir, "User"))
gpt_contents = "[General]\r\nVersion=0\r\n"
- file(os.path.join(gpodir, "GPT.INI"), "w").write(gpt_contents)
+ open(os.path.join(gpodir, "GPT.INI"), "w").write(gpt_contents)
except Exception as e:
raise CommandError("Error Creating GPO files", e)
diff --git a/python/samba/netcmd/main.py b/python/samba/netcmd/main.py
index 3b56f1a..40762fa 100644
--- a/python/samba/netcmd/main.py
+++ b/python/samba/netcmd/main.py
@@ -42,12 +42,10 @@ class cache_loader(dict):
except KeyError:
return default
- def iteritems(self):
+ def items(self):
for key in self:
yield (key, self[key])
- def items(self):
- return list(self.iteritems())
class cmd_sambatool(SuperCommand):
"""Main samba administration tool."""
diff --git a/python/samba/netcmd/visualize.py b/python/samba/netcmd/visualize.py
index 3e5b950..b983e18 100644
--- a/python/samba/netcmd/visualize.py
+++ b/python/samba/netcmd/visualize.py
@@ -178,7 +178,7 @@ def get_partition_maps(samdb):
}
long_to_short = {}
- for s, l in short_to_long.iteritems():
+ for s, l in short_to_long.items():
long_to_short[l] = s
return short_to_long, long_to_short
@@ -266,18 +266,18 @@ class cmd_reps(GraphCommand):
# get_reps_tables() returns two dictionaries mapping
# dns to NCReplica objects
c, n = remote_dsa.get_rep_tables()
- for part, rep in c.iteritems():
+ for part, rep in c.items():
if partition is None or part == partition:
nc_reps[part]['current'].append((dsa_dn, rep))
- for part, rep in n.iteritems():
+ for part, rep in n.items():
if partition is None or part == partition:
nc_reps[part]['needed'].append((dsa_dn, rep))
all_edges = {'needed': {'to': [], 'from': []},
'current': {'to': [], 'from': []}}
- for partname, part in nc_reps.iteritems():
- for state, edgelists in all_edges.iteritems():
+ for partname, part in nc_reps.items():
+ for state, edgelists in all_edges.items():
for dsa_dn, rep in part[state]:
short_name = long_partitions.get(partname, partname)
for r in rep.rep_repsFrom:
@@ -302,12 +302,12 @@ class cmd_reps(GraphCommand):
'from': "RepsFrom objects for %s",
'to': "RepsTo objects for %s",
}
- for state, edgelists in all_edges.iteritems():
- for direction, items in edgelists.iteritems():
+ for state, edgelists in all_edges.items():
+ for direction, items in edgelists.items():
part_edges = defaultdict(list)
for src, dest, part in items:
part_edges[part].append((src, dest))
- for part, edges in part_edges.iteritems():
+ for part, edges in part_edges.items():
s = distance_matrix(None, edges,
utf8=utf8,
colour=color_scheme,
@@ -324,8 +324,8 @@ class cmd_reps(GraphCommand):
dot_vertices = set()
used_colours = {}
key_set = set()
- for state, edgelist in all_edges.iteritems():
- for direction, items in edgelist.iteritems():
+ for state, edgelist in all_edges.items():
+ for direction, items in edgelist.items():
for src, dest, part in items:
colour = used_colours.setdefault((part),
colour_hash((part,
@@ -472,7 +472,7 @@ class cmd_ntdsconn(GraphCommand):
source_denies = []
dest_denies = []
both_deny = []
- for e, conn in edges.iteritems():
+ for e, conn in edges.items():
if conn.dest_attests:
graph_edges.append(e)
if not conn.src_attests:
@@ -517,7 +517,7 @@ class cmd_ntdsconn(GraphCommand):
edge_styles = []
edge_labels = []
n_servers = len(dsas)
- for k, e in sorted(edges.iteritems()):
+ for k, e in sorted(edges.items()):
dot_edges.append(k)
if e.observations == n_servers or not talk_to_remote:
edge_colours.append('#000000')
@@ -573,6 +573,6 @@ class cmd_visualize(SuperCommand):
"""Produces graphical representations of Samba network state"""
subcommands = {}
--
Samba Shared Repository
More information about the samba-cvs
mailing list