[SCM] Samba Shared Repository - branch master updated

Andrew Bartlett abartlet at samba.org
Thu Jul 4 03:52:03 UTC 2019


The branch, master has been updated
       via  e513bab9617 ldb: Try to explain the confusing overload of the LDB_FLG_MOD_* enumeration and other flags
       via  bc48b4b158b ldb: Add tests for Ldb.write_ldif() including the FLG_SHOW_BINARY and FLAG_FORCE_NO_BASE64_LDIF
       via  f8fbd9cfe16 pyldb: Apply flags specified by ldb.Ldb(flags=...) even if the URL is not set
       via  cbf074d7d51 doc: add documentation for "samba-tool" contact management
       via  78e78a40925 samba-tool tests: add tests for contact management
       via  3f10c8f25cf samba-tool: implement contact management commands
       via  d103db07b15 doc: add samba-tool group command to samba-tool man page
       via  3a97122ff58 samba-tool tests: add test for 'samba-tool group edit' command
       via  b2fb02585ff samba-tool group: add 'edit' command to edit an AD group object
       via  6c26abd981d samba-tool tests: add test for 'samba-tool computer edit' command
       via  153abd611ae doc: add samba-tool computer command to samba-tool man page
       via  2c64a25fc04 samba-tool computer: add 'edit' command to edit an AD computer object
       via  08742d1df8d samba-tool user edit: avoid base64 encoded strings in editable ldif if possible
       via  33fe4817609 samba-tool tests: add test for 'samba-tool user edit', using LDB_FLAG_FORCE_NO_BASE64_LDIF
       via  4954118b81e samba-tool user edit: simplify code
       via  64e37e3822a samba-tool user edit: use ldb methods to create ldif to modify user
       via  824c98ac225 samba-tool tests: add additional tests for "samba-tool user edit" command
       via  894ddafc25c ldb/ldb_ldif: add LDB_FLAG_FORCE_NO_BASE64_LDIF flag
       via  89d95fb75cd ldb/ldb_ldif: add copy_raw_bytes helper variable to ldb_ldif_write_trace()
       via  7fd509a09b9 samba-tool user edit test: use testit instead of subunit_start_test, pass/failed
       via  4c8660dc030 samba-tool tests: remove probably outdated comment
       via  f17482e4956 samba-tool tests: rename "user edit" test from edit.sh to user_edit.sh
       via  aa9dbee2656 samba-tool: fix format of command description (help messages)
       via  9d40b08ae34 bootstrap: Add OpenSUSE 15.1 image
      from  1b39c563546 winbind: fix crash in fill_domain_username_talloc() if specified username is NULL

https://git.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit e513bab96173fa9273d3349afa72c947e186f52a
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Thu Jul 4 13:50:22 2019 +1200

    ldb: Try to explain the confusing overload of the LDB_FLG_MOD_* enumeration and other flags
    
    Signed-off-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
    
    Autobuild-User(master): Andrew Bartlett <abartlet at samba.org>
    Autobuild-Date(master): Thu Jul  4 03:51:58 UTC 2019 on sn-devel-184

commit bc48b4b158b9bb76ba82cf30bfc83d707e2dbaf3
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Thu Jul 4 13:30:36 2019 +1200

    ldb: Add tests for Ldb.write_ldif() including the FLG_SHOW_BINARY and FLAG_FORCE_NO_BASE64_LDIF
    
    Signed-off-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>

commit f8fbd9cfe166eeee796b8964c597598e9bca597f
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Thu Jul 4 13:26:20 2019 +1200

    pyldb: Apply flags specified by ldb.Ldb(flags=...) even if the URL is not set
    
    Signed-off-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>

commit cbf074d7d5198158279929c19d582de9a340f782
Author: Björn Baumbach <bb at sernet.de>
Date:   Thu Mar 28 20:39:41 2019 +0100

    doc: add documentation for "samba-tool" contact management
    
    Signed-off-by: Björn Baumbach <bb at samba.org>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit 78e78a4092569978e79a661bcd6e6631e4868245
Author: Björn Baumbach <bb at sernet.de>
Date:   Wed Mar 20 17:17:05 2019 +0100

    samba-tool tests: add tests for contact management
    
    Signed-off-by: Björn Baumbach <bb at samba.org>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit 3f10c8f25cf1655b4facf190f61acb4098919609
Author: Björn Baumbach <bb at sernet.de>
Date:   Tue Mar 19 17:55:37 2019 +0100

    samba-tool: implement contact management commands
    
    Usage: samba-tool contact <subcommand>
    
    Contact management.
    
    Available subcommands:
      create  - Create a new contact.
      delete  - Delete a contact.
      edit    - Modify a contact.
      list    - List all contacts.
      move    - Move a contact object to an organizational unit or container.
      show    - Display a contact.
    
    Signed-off-by: Björn Baumbach <bb at samba.org>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit d103db07b15da86330cc62f21fcb755fca4cfac8
Author: Björn Baumbach <bb at sernet.de>
Date:   Thu Mar 28 20:31:48 2019 +0100

    doc: add samba-tool group command to samba-tool man page
    
    Signed-off-by: Björn Baumbach <bb at samba.org>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit 3a97122ff585ceb10b1e78fe2cebc92fb3675c27
Author: Björn Baumbach <bb at sernet.de>
Date:   Mon Mar 18 13:31:04 2019 +0100

    samba-tool tests: add test for 'samba-tool group edit' command
    
    Signed-off-by: Björn Baumbach <bb at samba.org>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit b2fb02585fff9de61fca138e5cd560d5b8d6403d
Author: Björn Baumbach <bb at sernet.de>
Date:   Wed Mar 13 21:20:29 2019 +0100

    samba-tool group: add 'edit' command to edit an AD group object
    
    Same like the samba-tool user edit command.
    
    Signed-off-by: Björn Baumbach <bb at samba.org>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit 6c26abd981d13071d8d85e1e3639bcb09857507a
Author: Björn Baumbach <bb at sernet.de>
Date:   Mon Mar 18 12:00:24 2019 +0100

    samba-tool tests: add test for 'samba-tool computer edit' command
    
    Signed-off-by: Björn Baumbach <bb at samba.org>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit 153abd611ae1562139a834966eb0763d711acb55
Author: Björn Baumbach <bb at sernet.de>
Date:   Thu Mar 28 20:34:20 2019 +0100

    doc: add samba-tool computer command to samba-tool man page
    
    Signed-off-by: Björn Baumbach <bb at samba.org>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit 2c64a25fc0484eb78874630fad9fa5c4e85527c8
Author: Björn Baumbach <bb at sernet.de>
Date:   Wed Mar 13 21:40:25 2019 +0100

    samba-tool computer: add 'edit' command to edit an AD computer object
    
    Similar to the samba-tool user edit command.
    
    Signed-off-by: Björn Baumbach <bb at samba.org>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit 08742d1df8de52ec32c962f8875f7c13cbefd49a
Author: Björn Baumbach <bb at sernet.de>
Date:   Fri Mar 15 14:20:05 2019 +0100

    samba-tool user edit: avoid base64 encoded strings in editable ldif if possible
    
    Use clear text arguments strings if possible. Makes it more comfortable
    for users to edit the user objects attributes.
    
    Remove test from knownfail:
      samba.tests.samba_tool.user_edit.change_attribute_force_no_base64
    
    Signed-off-by: Björn Baumbach <bb at samba.org>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit 33fe4817609106284856867c09f91398fc5ebfc2
Author: Björn Baumbach <bb at sernet.de>
Date:   Fri Mar 15 12:59:09 2019 +0100

    samba-tool tests: add test for 'samba-tool user edit', using LDB_FLAG_FORCE_NO_BASE64_LDIF
    
    Test to edit a user: Change attributes with LDB_FLAG_FORCE_NO_BASE64_LDIF
    
    Signed-off-by: Björn Baumbach <bb at samba.org>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit 4954118b81e96ef677b1965d06427d626855e73f
Author: Björn Baumbach <bb at sernet.de>
Date:   Wed Mar 13 17:40:37 2019 +0100

    samba-tool user edit: simplify code
    
    Use "None"-changetype here, instead of "Add". This avoids the need to
    remove the changetype line afterwards.
    
    Signed-off-by: Björn Baumbach <bb at samba.org>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit 64e37e3822afbed2f5b97b8d456108cc79bd99bc
Author: Björn Baumbach <bb at sernet.de>
Date:   Fri Mar 15 14:19:35 2019 +0100

    samba-tool user edit: use ldb methods to create ldif to modify user
    
    Remove tests from knownfail:
      samba.tests.samba_tool.user_edit.add_attribute_base64
      samba.tests.samba_tool.user_edit.add_attribute_base64_control
      samba.tests.samba_tool.user_edit.change_attribute_base64_control
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=14003
    
    Signed-off-by: Björn Baumbach <bb at samba.org>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit 824c98ac225b58ca9fba7fb18e4a39157ed174df
Author: Björn Baumbach <bb at sernet.de>
Date:   Thu Mar 14 14:04:28 2019 +0100

    samba-tool tests: add additional tests for "samba-tool user edit" command
    
    Especially test handling of base64 encoded attribute values here.
    
    Add selftest/knownfail.d/samba_tool.user_edit.
    Tests fail, because:
     - can not work with ldif without a trailing new line
     - can not handle base64 strings
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=14003
    
    Signed-off-by: Björn Baumbach <bb at samba.org>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit 894ddafc25cae075f313bbe74e5d105e5e581c8d
Author: Björn Baumbach <bb at sernet.de>
Date:   Tue Feb 19 12:29:58 2019 +0100

    ldb/ldb_ldif: add LDB_FLAG_FORCE_NO_BASE64_LDIF flag
    
    Flag is used to enforce binary encoded attribute values per attribute.
    
    Signed-off-by: Björn Baumbach <bb at samba.org>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit 89d95fb75cd2c29948cb17e01b41a5f0ba960dc5
Author: Björn Baumbach <bb at sernet.de>
Date:   Tue Feb 19 12:14:37 2019 +0100

    ldb/ldb_ldif: add copy_raw_bytes helper variable to ldb_ldif_write_trace()
    
    Signed-off-by: Björn Baumbach <bb at samba.org>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit 7fd509a09b929933b8363d33aebb2e976abd2c73
Author: Björn Baumbach <bb at sernet.de>
Date:   Thu Mar 14 16:55:42 2019 +0100

    samba-tool user edit test: use testit instead of subunit_start_test, pass/failed
    
    Signed-off-by: Björn Baumbach <bb at samba.org>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit 4c8660dc03018b9787e8bb6420bd32261baf4b50
Author: Björn Baumbach <bb at sernet.de>
Date:   Thu Mar 14 12:29:13 2019 +0100

    samba-tool tests: remove probably outdated comment
    
    Signed-off-by: Björn Baumbach <bb at samba.org>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit f17482e49561d748f095b4b59e07097e1528f78f
Author: Björn Baumbach <bb at sernet.de>
Date:   Thu Mar 14 16:47:36 2019 +0100

    samba-tool tests: rename "user edit" test from edit.sh to user_edit.sh
    
    Signed-off-by: Björn Baumbach <bb at samba.org>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit aa9dbee265604c1f9179e7d10b9ed677cb38bd64
Author: Björn Baumbach <bb at sernet.de>
Date:   Thu Mar 21 14:15:22 2019 +0100

    samba-tool: fix format of command description (help messages)
    
    Need to quote the backslash '\'.
    
    Signed-off-by: Björn Baumbach <bb at samba.org>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit 9d40b08ae3417309fe672e654bf6c35db54dd3dc
Author: Samuel Cabrero <scabrero at suse.de>
Date:   Tue Jun 18 11:03:41 2019 +0200

    bootstrap: Add OpenSUSE 15.1 image
    
    Signed-off-by: Samuel Cabrero <scabrero at suse.de>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

-----------------------------------------------------------------------

Summary of changes:
 .gitlab-ci.yml                                     |   7 +-
 bootstrap/.gitlab-ci.yml                           |   3 +
 bootstrap/READMD.md                                |   2 +-
 bootstrap/config.py                                |  33 +
 bootstrap/generated-dists/Vagrantfile              |   7 +
 .../{debian7 => opensuse151}/Dockerfile            |   2 +-
 .../{opensuse150 => opensuse151}/bootstrap.sh      |   0
 .../{centos6 => opensuse151}/locale.sh             |   0
 .../{opensuse150 => opensuse151}/packages.yml      |   0
 bootstrap/sha1sum.txt                              |   2 +-
 docs-xml/manpages/samba-tool.8.xml                 | 218 +++++++
 lib/ldb/common/ldb_ldif.c                          |   8 +-
 lib/ldb/include/ldb.h                              |  24 +-
 lib/ldb/pyldb.c                                    |   3 +
 lib/ldb/tests/python/api.py                        |  51 ++
 python/samba/netcmd/common.py                      |  45 +-
 python/samba/netcmd/computer.py                    | 129 +++-
 python/samba/netcmd/contact.py                     | 676 +++++++++++++++++++++
 python/samba/netcmd/group.py                       | 124 +++-
 python/samba/netcmd/main.py                        |   1 +
 python/samba/netcmd/ou.py                          |   4 +-
 python/samba/netcmd/schema.py                      |   2 +-
 python/samba/netcmd/user.py                        |  70 +--
 python/samba/samdb.py                              | 108 ++++
 python/samba/tests/samba_tool/computer_edit.sh     | 180 ++++++
 python/samba/tests/samba_tool/contact.py           | 319 ++++++++++
 python/samba/tests/samba_tool/contact_edit.sh      | 164 +++++
 python/samba/tests/samba_tool/edit.sh              |  72 ---
 python/samba/tests/samba_tool/group_edit.sh        | 208 +++++++
 python/samba/tests/samba_tool/user_edit.sh         | 179 ++++++
 source4/selftest/tests.py                          |   7 +-
 31 files changed, 2501 insertions(+), 147 deletions(-)
 copy bootstrap/generated-dists/{debian7 => opensuse151}/Dockerfile (91%)
 copy bootstrap/generated-dists/{opensuse150 => opensuse151}/bootstrap.sh (100%)
 copy bootstrap/generated-dists/{centos6 => opensuse151}/locale.sh (100%)
 copy bootstrap/generated-dists/{opensuse150 => opensuse151}/packages.yml (100%)
 create mode 100644 python/samba/netcmd/contact.py
 create mode 100755 python/samba/tests/samba_tool/computer_edit.sh
 create mode 100644 python/samba/tests/samba_tool/contact.py
 create mode 100755 python/samba/tests/samba_tool/contact_edit.sh
 delete mode 100755 python/samba/tests/samba_tool/edit.sh
 create mode 100755 python/samba/tests/samba_tool/group_edit.sh
 create mode 100755 python/samba/tests/samba_tool/user_edit.sh


Changeset truncated at 500 lines:

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 19f6c5beae7..313ae01fa69 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -22,7 +22,7 @@ variables:
   # Set this to the contents of bootstrap/sha1sum.txt
   # which is generated by bootstrap/template.py --render
   #
-  SAMBA_CI_CONTAINER_TAG: 563ddb220bfed37501be93b0b3204bb1ceb61b94
+  SAMBA_CI_CONTAINER_TAG: 339a70ba1881feec94109c5c4eafacf4ff6c43bc
   #
   # We use the ubuntu1804 image as default as
   # it matches what we have on sn-devel-184.
@@ -37,6 +37,7 @@ variables:
   SAMBA_CI_CONTAINER_IMAGE_ubuntu1604: ${SAMBA_CI_CONTAINER_REGISTRY}/samba-ci-ubuntu1604:${SAMBA_CI_CONTAINER_TAG}
   SAMBA_CI_CONTAINER_IMAGE_debian9: ${SAMBA_CI_CONTAINER_REGISTRY}/samba-ci-debian9:${SAMBA_CI_CONTAINER_TAG}
   SAMBA_CI_CONTAINER_IMAGE_opensuse150: ${SAMBA_CI_CONTAINER_REGISTRY}/samba-ci-opensuse150:${SAMBA_CI_CONTAINER_TAG}
+  SAMBA_CI_CONTAINER_IMAGE_opensuse151: ${SAMBA_CI_CONTAINER_REGISTRY}/samba-ci-opensuse151:${SAMBA_CI_CONTAINER_TAG}
   SAMBA_CI_CONTAINER_IMAGE_fedora29: ${SAMBA_CI_CONTAINER_REGISTRY}/samba-ci-fedora29:${SAMBA_CI_CONTAINER_TAG}
   SAMBA_CI_CONTAINER_IMAGE_fedora30: ${SAMBA_CI_CONTAINER_REGISTRY}/samba-ci-fedora30:${SAMBA_CI_CONTAINER_TAG}
   SAMBA_CI_CONTAINER_IMAGE_centos7: ${SAMBA_CI_CONTAINER_REGISTRY}/samba-ci-centos7:${SAMBA_CI_CONTAINER_TAG}
@@ -257,6 +258,10 @@ opensuse150-samba-o3:
   extends: .samba-o3-template
   image: $SAMBA_CI_CONTAINER_IMAGE_opensuse150
 
+opensuse151-samba-o3:
+  extends: .samba-o3-template
+  image: $SAMBA_CI_CONTAINER_IMAGE_opensuse151
+
 centos7-samba-o3:
   extends: .samba-o3-template
   image: $SAMBA_CI_CONTAINER_IMAGE_centos7
diff --git a/bootstrap/.gitlab-ci.yml b/bootstrap/.gitlab-ci.yml
index abd87eada5b..8bec8cc4e20 100644
--- a/bootstrap/.gitlab-ci.yml
+++ b/bootstrap/.gitlab-ci.yml
@@ -120,3 +120,6 @@ centos6:
 
 opensuse150:
   extends: .build_image_template
+
+opensuse151:
+  extends: .build_image_template
diff --git a/bootstrap/READMD.md b/bootstrap/READMD.md
index 3d22ab136a0..d653d6d340b 100644
--- a/bootstrap/READMD.md
+++ b/bootstrap/READMD.md
@@ -13,7 +13,7 @@ A pure python3 module with CLI to bootstrap Samba envs for multiple distribution
 ## Supported Distributions
 
 deb: Debian 7|8|9, Ubuntu 1404|1604|1804
-rpm: CentOS 6|7, Fedora 28|29, openSUSE Leap 15.0
+rpm: CentOS 6|7, Fedora 28|29, openSUSE Leap 15.0|15.1
 
 Easy to add more.
 
diff --git a/bootstrap/config.py b/bootstrap/config.py
index 1ee53ef27d4..9126961fc93 100644
--- a/bootstrap/config.py
+++ b/bootstrap/config.py
@@ -536,6 +536,39 @@ RPM_DISTS = {
             'libtasn1-tools': '', # asn1Parser is part of libtasn1
             'mingw64-gcc': '', # doesn't exist
         }
+    },
+    'opensuse151': {
+        'docker_image': 'opensuse/leap:15.1',
+        'vagrant_box': 'opensuse/openSUSE-15.1-x86_64',
+        'bootstrap': ZYPPER_BOOTSTRAP,
+        'replace': {
+            '@development-tools': '',
+            'dbus-devel': 'dbus-1-devel',
+            'docbook-style-xsl': 'docbook-xsl-stylesheets',
+            'glibc-common': 'glibc-locale',
+            'glibc-locale-source': 'glibc-i18ndata',
+            'glibc-langpack-en': '',
+            'jansson-devel': 'libjansson-devel',
+            'keyutils-libs-devel': 'keyutils-devel',
+            'krb5-workstation': 'krb5-client',
+            'libnsl2-devel': 'libnsl-devel',
+            'libsemanage-python': 'python2-semanage',
+            'nettle-devel': 'libnettle-devel',
+            'openldap-devel': 'openldap2-devel',
+            'perl-Archive-Tar': 'perl-Archive-Tar-Wrapper',
+            'perl-JSON-Parse': 'perl-JSON-XS',
+            'perl-generators': '',
+            'perl-interpreter': '',
+            'procps-ng': 'procps',
+            'python-dns': 'python2-dnspython',
+            'python3-crypto': 'python3-pycrypto',
+            'python3-dns': 'python3-dnspython',
+            'python3-markdown': 'python3-Markdown',
+            'quota-devel': '',
+            'glusterfs-api-devel': '',
+            'libtasn1-tools': '', # asn1Parser is part of libtasn1
+            'mingw64-gcc': '', # doesn't exist
+        }
     }
 }
 
diff --git a/bootstrap/generated-dists/Vagrantfile b/bootstrap/generated-dists/Vagrantfile
index 9754bd4115f..941cc9a0735 100644
--- a/bootstrap/generated-dists/Vagrantfile
+++ b/bootstrap/generated-dists/Vagrantfile
@@ -73,6 +73,13 @@ Vagrant.configure("2") do |config|
         v.vm.provision :shell, path: "opensuse150/locale.sh"
     end
 
+    config.vm.define "opensuse151" do |v|
+        v.vm.box = "opensuse/openSUSE-15.1-x86_64"
+        v.vm.hostname = "opensuse151"
+        v.vm.provision :shell, path: "opensuse151/bootstrap.sh"
+        v.vm.provision :shell, path: "opensuse151/locale.sh"
+    end
+
     config.vm.define "ubuntu1404" do |v|
         v.vm.box = "ubuntu/trusty64"
         v.vm.hostname = "ubuntu1404"
diff --git a/bootstrap/generated-dists/debian7/Dockerfile b/bootstrap/generated-dists/opensuse151/Dockerfile
similarity index 91%
copy from bootstrap/generated-dists/debian7/Dockerfile
copy to bootstrap/generated-dists/opensuse151/Dockerfile
index dfe0e389653..5a5fd645700 100644
--- a/bootstrap/generated-dists/debian7/Dockerfile
+++ b/bootstrap/generated-dists/opensuse151/Dockerfile
@@ -3,7 +3,7 @@
 # See also bootstrap/config.py
 #
 
-FROM debian:7
+FROM opensuse/leap:15.1
 
 # pass in with --build-arg while build
 ARG SHA1SUM
diff --git a/bootstrap/generated-dists/opensuse150/bootstrap.sh b/bootstrap/generated-dists/opensuse151/bootstrap.sh
similarity index 100%
copy from bootstrap/generated-dists/opensuse150/bootstrap.sh
copy to bootstrap/generated-dists/opensuse151/bootstrap.sh
diff --git a/bootstrap/generated-dists/centos6/locale.sh b/bootstrap/generated-dists/opensuse151/locale.sh
similarity index 100%
copy from bootstrap/generated-dists/centos6/locale.sh
copy to bootstrap/generated-dists/opensuse151/locale.sh
diff --git a/bootstrap/generated-dists/opensuse150/packages.yml b/bootstrap/generated-dists/opensuse151/packages.yml
similarity index 100%
copy from bootstrap/generated-dists/opensuse150/packages.yml
copy to bootstrap/generated-dists/opensuse151/packages.yml
diff --git a/bootstrap/sha1sum.txt b/bootstrap/sha1sum.txt
index 27772a959be..52cf7350bc0 100644
--- a/bootstrap/sha1sum.txt
+++ b/bootstrap/sha1sum.txt
@@ -1 +1 @@
-563ddb220bfed37501be93b0b3204bb1ceb61b94
+339a70ba1881feec94109c5c4eafacf4ff6c43bc
diff --git a/docs-xml/manpages/samba-tool.8.xml b/docs-xml/manpages/samba-tool.8.xml
index 7f8f02d619a..c09e922e4f4 100644
--- a/docs-xml/manpages/samba-tool.8.xml
+++ b/docs-xml/manpages/samba-tool.8.xml
@@ -169,6 +169,23 @@
 	sAMAccountName, with or without the trailing dollar sign.</para>
 </refsect3>
 
+<refsect3>
+	<title>computer edit <replaceable>computername</replaceable></title>
+	<para>Edit a computer AD object.</para>
+	<para>The computer name specified on the command is the
+	sAMAccountName, with or without the trailing dollar sign.</para>
+
+	<variablelist>
+	<varlistentry>
+	<term>--editor=EDITOR</term>
+	<listitem><para>
+	Specifies the editor to use instead of the system default, or 'vi' if no
+	system default is set.
+	</para></listitem>
+	</varlistentry>
+	</variablelist>
+</refsect3>
+
 <refsect3>
 	<title>computer list</title>
 	<para>List all computers.</para>
@@ -200,6 +217,192 @@
 	</variablelist>
 </refsect3>
 
+<refsect2>
+	<title>contact</title>
+	<para>Manage contacts.</para>
+</refsect2>
+
+<refsect3>
+	<title>contact create [<replaceable>contactname</replaceable>] [options]</title>
+	<para>Create a new contact in the Active Directory Domain.</para>
+	<para>The name of the new contact can be specified by the first
+	argument 'contactname' or the --given-name, --initial and --surname
+	arguments. If no 'contactname' is given, contact's name will be made
+	up of the given arguments by combining the given-name, initials and
+	surname. Each argument is optional. A dot ('.') will be appended to
+	the initials automatically.</para>
+
+	<variablelist>
+	<varlistentry>
+	<term>--ou=OU</term>
+	<listitem><para>
+	DN of alternative location (with or without domainDN counterpart) in
+	which the new contact will be created.
+	E.g. 'OU=OUname'.
+	Default is the domain base.
+	</para></listitem>
+	</varlistentry>
+
+	<varlistentry>
+	<term>--description=DESCRIPTION</term>
+	<listitem><para>
+	The new contacts's description.
+	</para></listitem>
+	</varlistentry>
+
+	<varlistentry>
+	<term>--surname=SURNAME</term>
+	<listitem><para>
+	Contact's surname.
+	</para></listitem>
+	</varlistentry>
+
+	<varlistentry>
+	<term>--given-name=GIVEN_NAME</term>
+	<listitem><para>
+	Contact's given name.
+	</para></listitem>
+	</varlistentry>
+
+	<varlistentry>
+	<term>--initials=INITIALS</term>
+	<listitem><para>
+	Contact's initials.
+	</para></listitem>
+	</varlistentry>
+
+	<varlistentry>
+	<term>--display-name=DISPLAY_NAME</term>
+	<listitem><para>
+	Contact's display name.
+	</para></listitem>
+	</varlistentry>
+
+	<varlistentry>
+	<term>--job-title=JOB_TITLE</term>
+	<listitem><para>
+	Contact's job title.
+	</para></listitem>
+	</varlistentry>
+
+	<varlistentry>
+	<term>--department=DEPARTMENT</term>
+	<listitem><para>
+	Contact's department.
+	</para></listitem>
+	</varlistentry>
+
+	<varlistentry>
+	<term>--company=COMPANY</term>
+	<listitem><para>
+	Contact's company.
+	</para></listitem>
+	</varlistentry>
+
+	<varlistentry>
+	<term>--mail-address=MAIL_ADDRESS</term>
+	<listitem><para>
+	Contact's email address.
+	</para></listitem>
+	</varlistentry>
+
+	<varlistentry>
+	<term>--internet-address=INTERNET_ADDRESS</term>
+	<listitem><para>
+	Contact's home page.
+	</para></listitem>
+	</varlistentry>
+
+	<varlistentry>
+	<term>--telephone-number=TELEPHONE_NUMBER</term>
+	<listitem><para>
+	Contact's phone number.
+	</para></listitem>
+	</varlistentry>
+
+	<varlistentry>
+	<term>--mobile-number=MOBILE_NUMBER</term>
+	<listitem><para>
+	Contact's mobile phone number.
+	</para></listitem>
+	</varlistentry>
+
+	<varlistentry>
+	<term>--physical-delivery-office=PHYSICAL_DELIVERY_OFFICE</term>
+	<listitem><para>
+	Contact's office location.
+	</para></listitem>
+	</varlistentry>
+
+	</variablelist>
+</refsect3>
+
+<refsect3>
+	<title>contact delete <replaceable>contactname</replaceable> [options]</title>
+	<para>Delete an existing contact.</para>
+	<para>The contactname specified on the command is the common name or the
+        distinguished name of the contact object. The distinguished name of the
+        contact can be specified with or without the domainDN component.</para>
+</refsect3>
+
+<refsect3>
+	<title>contact edit <replaceable>contactname</replaceable></title>
+	<para>Modify a contact AD object.</para>
+	<para>The contactname specified on the command is the common name or the
+        distinguished name of the contact object. The distinguished name of the
+        contact can be specified with or without the domainDN component.</para>
+
+	<variablelist>
+	<varlistentry>
+	<term>--editor=EDITOR</term>
+	<listitem><para>
+	Specifies the editor to use instead of the system default, or 'vi' if no
+	system default is set.
+	</para></listitem>
+	</varlistentry>
+	</variablelist>
+</refsect3>
+
+<refsect3>
+	<title>contact list [options]</title>
+	<para>List all contacts.</para>
+
+	<variablelist>
+	<varlistentry>
+	<term>--full-dn</term>
+	<listitem><para>
+	Display contact's full DN instead of the name.
+	</para></listitem>
+	</varlistentry>
+	</variablelist>
+</refsect3>
+
+<refsect3>
+	<title>contact move <replaceable>contactname</replaceable> <replaceable>new_parent_dn</replaceable> [options]</title>
+	<para>This command moves a contact into the specified organizational
+	unit or container.</para>
+	<para>The contactname specified on the command is the common name or the
+        distinguished name of the contact object. The distinguished name of the
+        contact can be specified with or without the domainDN component.</para>
+</refsect3>
+
+<refsect3>
+	<title>contact show <replaceable>contactname</replaceable> [options]</title>
+	<para>Display a contact AD object.</para>
+	<para>The contactname specified on the command is the common name or the
+        distinguished name of the contact object. The distinguished name of the
+        contact can be specified with or without the domainDN component.</para>
+
+	<variablelist>
+	<varlistentry>
+	<term>--attributes=CONTACT_ATTRS</term>
+	<listitem><para>
+	Comma separated list of attributes, which will be printed.
+	</para></listitem>
+	</varlistentry>
+	</variablelist>
+</refsect3>
+
 <refsect2>
 	<title>dbcheck</title>
 	<para>Check the local AD database for errors.</para>
@@ -618,6 +821,21 @@
 	<para>Delete an AD group.</para>
 </refsect3>
 
+<refsect3>
+	<title>group edit <replaceable>groupname</replaceable></title>
+	<para>Edit a group AD object.</para>
+
+	<variablelist>
+	<varlistentry>
+	<term>--editor=EDITOR</term>
+	<listitem><para>
+	Specifies the editor to use instead of the system default, or 'vi' if no
+	system default is set.
+	</para></listitem>
+	</varlistentry>
+	</variablelist>
+</refsect3>
+
 <refsect3>
 	<title>group list</title>
 	<para>List all groups.</para>
diff --git a/lib/ldb/common/ldb_ldif.c b/lib/ldb/common/ldb_ldif.c
index c2f1cb7c970..6f7589fef68 100644
--- a/lib/ldb/common/ldb_ldif.c
+++ b/lib/ldb/common/ldb_ldif.c
@@ -352,6 +352,7 @@ static int ldb_ldif_write_trace(struct ldb_context *ldb,
 		for (j=0;j<msg->elements[i].num_values;j++) {
 			struct ldb_val v;
 			bool use_b64_encode = false;
+			bool copy_raw_bytes = false;
 
 			ret = a->syntax->ldif_write_fn(ldb, mem_ctx, &msg->elements[i].values[j], &v);
 			if (ret != LDB_SUCCESS) {
@@ -360,8 +361,13 @@ static int ldb_ldif_write_trace(struct ldb_context *ldb,
 
 			if (ldb->flags & LDB_FLG_SHOW_BINARY) {
 				use_b64_encode = false;
+				copy_raw_bytes = true;
 			} else if (a->flags & LDB_ATTR_FLAG_FORCE_BASE64_LDIF) {
 				use_b64_encode = true;
+			} else if (msg->elements[i].flags &
+			           LDB_FLAG_FORCE_NO_BASE64_LDIF) {
+				use_b64_encode = false;
+				copy_raw_bytes = true;
 			} else {
 				use_b64_encode = ldb_should_b64_encode(ldb, &v);
 			}
@@ -379,7 +385,7 @@ static int ldb_ldif_write_trace(struct ldb_context *ldb,
 			} else {
 				ret = fprintf_fn(private_data, "%s: ", msg->elements[i].name);
 				CHECK_RET;
-				if (ldb->flags & LDB_FLG_SHOW_BINARY) {
+				if (copy_raw_bytes) {
 					ret = fprintf_fn(private_data, "%*.*s",
 							 v.length, v.length, (char *)v.data);
 				} else {
diff --git a/lib/ldb/include/ldb.h b/lib/ldb/include/ldb.h
index 75bfbe33bf6..f06d5e95528 100644
--- a/lib/ldb/include/ldb.h
+++ b/lib/ldb/include/ldb.h
@@ -104,19 +104,20 @@ struct ldb_dn;
 /**
  There are a number of flags that are used with ldap_modify() in
  ldb_message_element.flags fields. The LDB_FLAG_MOD_ADD,
- LDB_FLAG_MOD_DELETE and LDB_FLAG_MOD_REPLACE flags are used in
- ldap_modify() calls to specify whether attributes are being added,
- deleted or modified respectively.
+ LDB_FLAG_MOD_DELETE and LDB_FLAG_MOD_REPLACE are better thought of as
+ an enumeration, not flags, and are used in ldap_modify() calls to
+ specify whether attributes are being added, deleted or modified
+ respectively.
 */
 #define LDB_FLAG_MOD_MASK  0x3
 
 /**
-  use this to extract the mod type from the operation
+  use this to extract the mod type (enum) from the operation
  */
 #define LDB_FLAG_MOD_TYPE(flags) ((flags) & LDB_FLAG_MOD_MASK)
 
 /**
-   Flag value used in ldap_modify() to indicate that attributes are
+   Value used in ldap_modify() to indicate that attributes are
    being added.
 
    \sa LDB_FLAG_MOD_MASK
@@ -124,7 +125,7 @@ struct ldb_dn;
 #define LDB_FLAG_MOD_ADD     1
 
 /**
-   Flag value used in ldap_modify() to indicate that attributes are
+   Value used in ldap_modify() to indicate that attributes are
    being replaced.
 
    \sa LDB_FLAG_MOD_MASK
@@ -132,13 +133,22 @@ struct ldb_dn;
 #define LDB_FLAG_MOD_REPLACE 2
 
 /**
-   Flag value used in ldap_modify() to indicate that attributes are
+   Value used in ldap_modify() to indicate that attributes are
    being deleted.
 
    \sa LDB_FLAG_MOD_MASK
 */
 #define LDB_FLAG_MOD_DELETE  3
 
+/**
+   Flag value used in ldb_ldif_write_trace() to enforce binary encoded
+   attribute values per attribute.
+
+   This is a genuine flag, being outside LDB_FLAG_MOD_MASK and also
+   outside LDB_FLAG_INTERNAL_MASK
+*/
+#define LDB_FLAG_FORCE_NO_BASE64_LDIF 4
+
 /**
     flag bits on an element usable only by the internal implementation
 */
diff --git a/lib/ldb/pyldb.c b/lib/ldb/pyldb.c
index 85bcd84bc14..868e3665128 100644
--- a/lib/ldb/pyldb.c
+++ b/lib/ldb/pyldb.c
@@ -1181,6 +1181,8 @@ static int py_ldb_init(PyLdbObject *self, PyObject *args, PyObject *kwargs)
 			PyErr_SetLdbError(PyExc_LdbError, ret, ldb);


-- 
Samba Shared Repository



More information about the samba-cvs mailing list