diff -Nru smbldap-tools-0.9.5/build/install-sh smbldap-tools-0.9.7/build/install-sh --- smbldap-tools-0.9.5/build/install-sh 1970-01-01 01:00:00.000000000 +0100 +++ smbldap-tools-0.9.7/build/install-sh 2011-07-12 15:29:04.000000000 +0200 @@ -0,0 +1,251 @@ +#!/bin/sh +# +# install - install a program, script, or datafile +# This comes from X11R5 (mit/util/scripts/install.sh). +# +# Copyright 1991 by the Massachusetts Institute of Technology +# +# Permission to use, copy, modify, distribute, and sell this software and its +# documentation for any purpose is hereby granted without fee, provided that +# the above copyright notice appear in all copies and that both that +# copyright notice and this permission notice appear in supporting +# documentation, and that the name of M.I.T. not be used in advertising or +# publicity pertaining to distribution of the software without specific, +# written prior permission. M.I.T. makes no representations about the +# suitability of this software for any purpose. It is provided "as is" +# without express or implied warranty. +# +# Calling this script install-sh is preferred over install.sh, to prevent +# `make' implicit rules from creating a file called install from it +# when there is no Makefile. +# +# This script is compatible with the BSD install script, but was written +# from scratch. It can only install one file at a time, a restriction +# shared with many OS's install programs. + + +# set DOITPROG to echo to test this script + +# Don't use :- since 4.3BSD and earlier shells don't like it. +doit="${DOITPROG-}" + + +# put in absolute paths if you don't have them in your path; or use env. vars. + +mvprog="${MVPROG-mv}" +cpprog="${CPPROG-cp}" +chmodprog="${CHMODPROG-chmod}" +chownprog="${CHOWNPROG-chown}" +chgrpprog="${CHGRPPROG-chgrp}" +stripprog="${STRIPPROG-strip}" +rmprog="${RMPROG-rm}" +mkdirprog="${MKDIRPROG-mkdir}" + +transformbasename="" +transform_arg="" +instcmd="$mvprog" +chmodcmd="$chmodprog 0755" +chowncmd="" +chgrpcmd="" +stripcmd="" +rmcmd="$rmprog -f" +mvcmd="$mvprog" +src="" +dst="" +dir_arg="" + +while [ x"$1" != x ]; do + case $1 in + -c) instcmd="$cpprog" + shift + continue;; + + -d) dir_arg=true + shift + continue;; + + -m) chmodcmd="$chmodprog $2" + shift + shift + continue;; + + -o) chowncmd="$chownprog $2" + shift + shift + continue;; + + -g) chgrpcmd="$chgrpprog $2" + shift + shift + continue;; + + -s) stripcmd="$stripprog" + shift + continue;; + + -t=*) transformarg=`echo $1 | sed 's/-t=//'` + shift + continue;; + + -b=*) transformbasename=`echo $1 | sed 's/-b=//'` + shift + continue;; + + *) if [ x"$src" = x ] + then + src=$1 + else + # this colon is to work around a 386BSD /bin/sh bug + : + dst=$1 + fi + shift + continue;; + esac +done + +if [ x"$src" = x ] +then + echo "install: no input file specified" + exit 1 +else + true +fi + +if [ x"$dir_arg" != x ]; then + dst=$src + src="" + + if [ -d $dst ]; then + instcmd=: + chmodcmd="" + else + instcmd=mkdir + fi +else + +# Waiting for this to be detected by the "$instcmd $src $dsttmp" command +# might cause directories to be created, which would be especially bad +# if $src (and thus $dsttmp) contains '*'. + + if [ -f $src -o -d $src ] + then + true + else + echo "install: $src does not exist" + exit 1 + fi + + if [ x"$dst" = x ] + then + echo "install: no destination specified" + exit 1 + else + true + fi + +# If destination is a directory, append the input filename; if your system +# does not like double slashes in filenames, you may need to add some logic + + if [ -d $dst ] + then + dst="$dst"/`basename $src` + else + true + fi +fi + +## this sed command emulates the dirname command +dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` + +# Make sure that the destination directory exists. +# this part is taken from Noah Friedman's mkinstalldirs script + +# Skip lots of stat calls in the usual case. +if [ ! -d "$dstdir" ]; then +defaultIFS=' +' +IFS="${IFS-${defaultIFS}}" + +oIFS="${IFS}" +# Some sh's can't handle IFS=/ for some reason. +IFS='%' +set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'` +IFS="${oIFS}" + +pathcomp='' + +while [ $# -ne 0 ] ; do + pathcomp="${pathcomp}${1}" + shift + + if [ ! -d "${pathcomp}" ] ; + then + $mkdirprog "${pathcomp}" + else + true + fi + + pathcomp="${pathcomp}/" +done +fi + +if [ x"$dir_arg" != x ] +then + $doit $instcmd $dst && + + if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi && + if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi && + if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi && + if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi +else + +# If we're going to rename the final executable, determine the name now. + + if [ x"$transformarg" = x ] + then + dstfile=`basename $dst` + else + dstfile=`basename $dst $transformbasename | + sed $transformarg`$transformbasename + fi + +# don't allow the sed command to completely eliminate the filename + + if [ x"$dstfile" = x ] + then + dstfile=`basename $dst` + else + true + fi + +# Make a temp file name in the proper directory. + + dsttmp=$dstdir/#inst.$$# + +# Move or copy the file name to the temp name + + $doit $instcmd $src $dsttmp && + + trap "rm -f ${dsttmp}" 0 && + +# and set any options; do chmod last to preserve setuid bits + +# If any of these fail, we abort the whole thing. If we want to +# ignore errors from any of these, just make sure not to ignore +# errors from the above "$doit $instcmd $src $dsttmp" command. + + if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi && + if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi && + if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi && + if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi && + +# Now rename the file to the real destination. + + $doit $rmcmd -f $dstdir/$dstfile && + $doit $mvcmd $dsttmp $dstdir/$dstfile + +fi && + + +exit 0 diff -Nru smbldap-tools-0.9.5/build/Makefile.common.in smbldap-tools-0.9.7/build/Makefile.common.in --- smbldap-tools-0.9.5/build/Makefile.common.in 1970-01-01 01:00:00.000000000 +0100 +++ smbldap-tools-0.9.7/build/Makefile.common.in 2011-08-05 16:20:04.000000000 +0200 @@ -0,0 +1,141 @@ +## Makefile.common +## ====================================================================== + +PACKAGE_NAME= @PACKAGE_NAME@ +PACKAGE_VERSION= @PACKAGE_VERSION@ +PACKAGE_TARNAME= @PACKAGE_TARNAME@ + +## Path +## ---------------------------------------------------------------------- + +INSTALL_ROOT= $(DESTDIR) + +package_subdir= @package_subdir@ + +prefix= @prefix@ +exec_prefix= @exec_prefix@ +bindir= @bindir@ +sbindir= @sbindir@ +libdir= @libdir@ +libexecdir= @libexecdir@$(package_subdir) +sysconfdir= @sysconfdir@$(package_subdir) +localstatedir= @localstatedir@ +datadir= @datadir@ +datarootdir= @datarootdir@$(package_subdir) +mandir= @mandir@ +infodir= @infodir@ +docdir= @docdir@ + +vardir= $(localstatedir)/lib$(package_subdir) +rundir= $(localstatedir)/run$(package_subdir) +logdir= $(localstatedir)/log$(package_subdir) + +## Commands, Flags and so on +## ---------------------------------------------------------------------- + +SUBST= $(SOURCE_BUILD)/subst +SUBST_SRC= $(SUBST).pl + +CC= @CC@ +CPPFLAGS= @CPPFLAGS@ +CFLAGS= @CFLAGS@ + +CP= cp -p +RM= rm -rf +LN_S= ln -s +INSTALL= $(SOURCE_BUILD)/install-sh -c +CHMOD_FILES= chmod 0644 +CHMOD_EXES= chmod 0755 +CHMOD_CMDS= chmod 0755 +## ---------------------------------------------------------------------- + +BUILD_TARGETS_TOP= $(SUBST) + +## Package local +## ---------------------------------------------------------------------- + +include $(SOURCE_BUILD)/Makefile.package + +## Suffix rules +## ====================================================================== + +.SUFFIXES: .pl .pm .cmd .example .tmpl + +.pl.cmd: + @echo "Building $@ from $< ..." + @$(RM) $@ $@.tmp + @$(SUBST) <$< >$@.tmp + @$(CHMOD_CMDS) $@.tmp + @mv $@.tmp $@ + +.pl.pm: + @echo "Building $@ from $< ..." + @$(RM) $@ $@.tmp + @$(SUBST) <$< >$@.tmp + @$(CHMOD_FILES) $@.tmp + @mv $@.tmp $@ + +.tmpl.example: + @echo "Building $@ from $< ..." + @$(RM) $@ $@.tmp + @$(SUBST) <$< >$@.tmp + @$(CHMOD_FILES) $@.tmp + @mv $@.tmp $@ + +## Target rules +## ====================================================================== + +default:: build + +build:: $(BUILD_TARGETS) + +install:: $(INSTALL_TARGETS) + +install-dir: + @echo "Creating directory $(INSTALL_ROOT)$(INSTALL_DIR) ..." + @$(INSTALL) -d $(INSTALL_ROOT)$(INSTALL_DIR) + +install-files: install-dir + @for f in $(INSTALL_FILES); do \ + echo "Installing file $$f into $(INSTALL_ROOT)$(INSTALL_DIR) ..."; \ + $(INSTALL) -m 0644 -t='s/\.substed$$//' $$f "$(INSTALL_ROOT)$(INSTALL_DIR)" \ + || exit 1; \ + done + +install-cmd-dir: + @echo "Creating directory $(INSTALL_ROOT)$(INSTALL_CMD_DIR) ..." + @$(INSTALL) -d $(INSTALL_ROOT)$(INSTALL_CMD_DIR) + +install-cmds: install-cmd-dir + @for f in $(INSTALL_CMDS); do \ + echo "Installing file $$f into $(INSTALL_ROOT)$(INSTALL_CMD_DIR) ..."; \ + $(INSTALL) -m 0755 -t='s/\.cmd$$//' $$f "$(INSTALL_ROOT)$(INSTALL_CMD_DIR)" \ + || exit 1; \ + done + +clean:: + $(RM) $(BUILD_TARGETS) $(BUILD_TARGETS_POST) *.tmp + +distclean:: clean + +build install clean distclean:: + @if [ -n "$(MAKE_DIRS)" ]; then \ + set - $(MAKE_DIRS); \ + for subdir in "$$@"; do \ + (cd $$subdir && $(MAKE) $@) || exit 1; \ + done \ + fi + +build:: $(BUILD_TARGETS_POST) + +$(BUILD_TARGETS):: $(SUBST) + +$(SUBST): $(SUBST_SRC) $(SOURCE_BUILD)/Makefile.common $(SOURCE_BUILD)/Makefile.package + cp $< $@.tmp + sed -n 's/^\([A-Za-z_][A-Za-z_0-9]*\)[ ]*=[ ]*\(.*\)/\1=\2/p' \ + $(SOURCE_BUILD)/Makefile.common \ + $(SOURCE_BUILD)/Makefile.package \ + >>$@.tmp + chmod 0755 $@.tmp + mv $@.tmp $@ + diff -Nru smbldap-tools-0.9.5/build/Makefile.maintainer smbldap-tools-0.9.7/build/Makefile.maintainer --- smbldap-tools-0.9.5/build/Makefile.maintainer 1970-01-01 01:00:00.000000000 +0100 +++ smbldap-tools-0.9.7/build/Makefile.maintainer 2011-09-05 12:31:58.000000000 +0200 @@ -0,0 +1,54 @@ +## Makefile.maintainer +## ====================================================================== + +PACKAGE_NAME_cmd= grep '^AC_INIT' configure.in |sed 's/.*(//;s/,.*//' +PACKAGE_NAME= $(shell $(PACKAGE_NAME_cmd))$(PACKAGE_NAME_cmd:sh) +PACKAGE_VERSION_cmd= grep '^AC_INIT' configure.in |sed 's/.*, *//;s/)$$//' +PACKAGE_VERSION= $(shell $(PACKAGE_VERSION_cmd))$(PACKAGE_VERSION_cmd:sh) +PACKAGE_DIST= $(PACKAGE_NAME)-$(PACKAGE_VERSION) + +ARCHIVE_DIR= .. +ARCHIVE_NAME= $(PACKAGE_DIST).tar.gz +ARCHIVE_COMPRESS= $(GZIP) + +TAR= tar +GZIP= gzip -9 +GPG_cmd= type gpg >/dev/null 2>&1 && echo gpg || echo : +GPG= $(shell $(GPG_cmd))$(GPG_CMD:sh) +RPMBUILD_cmd= type gpg >/dev/null 2>&1 && echo rpmbuild --sign || echo rpmbuild +RPMBUILD= $(shell $(RPMBUILD_cmd))$(RPMBUILD_CMD:sh) + +## ---------------------------------------------------------------------- + +default: + @echo "Please read file 'INSTALL' and run ./configure && make." + +## ---------------------------------------------------------------------- + +dist: dist-conf dist-archive dist-rpm + +dist-conf: + [ -f Makefile ] && $(MAKE) distclean || : + autoconf + rm -rf autom4te.cache .dist.tmp $(PACKAGE_DIST) + +dist-archive: + mkdir .dist.tmp + cp -rp * .dist.tmp + find .dist.tmp -type d -name .svn -exec rm -rf {} \; -prune + rm -rf .dist.tmp/vendor/rails .dist.tmp/tags + mv .dist.tmp $(PACKAGE_DIST) + $(TAR) cf - $(PACKAGE_DIST) |$(ARCHIVE_COMPRESS) >$(ARCHIVE_DIR)/$(ARCHIVE_NAME) + rm -rf $(PACKAGE_DIST) + $(GPG) --sign --detach-sign $(ARCHIVE_DIR)/$(ARCHIVE_NAME) + ls -l $(ARCHIVE_DIR)/$(ARCHIVE_NAME) + ls -l $(ARCHIVE_DIR)/$(ARCHIVE_NAME).sig 2>/dev/null || : + +dist-rpm: + $(RPMBUILD) -ta $(ARCHIVE_DIR)/$(ARCHIVE_NAME) + +configure: configure.in + autoconf + +distclean: + diff -Nru smbldap-tools-0.9.5/build/Makefile.package.in smbldap-tools-0.9.7/build/Makefile.package.in --- smbldap-tools-0.9.5/build/Makefile.package.in 1970-01-01 01:00:00.000000000 +0100 +++ smbldap-tools-0.9.7/build/Makefile.package.in 2011-08-05 16:22:27.000000000 +0200 @@ -0,0 +1,11 @@ +## Makefile.package +## ====================================================================== + +PERL_CMD= @PERL_CMD@ +PERL_LIBDIR= @PERL_LIBDIR@ +POD2MAN_CMD= @POD2MAN_CMD@ + +SAMBA_BINDIR= @SAMBA_BINDIR@ +SAMBA_SYSCONFDIR= @SAMBA_SYSCONFDIR@ +SAMBA_SMB_CONF= $(SAMBA_SYSCONFDIR)/smb.conf + diff -Nru smbldap-tools-0.9.5/build/Makefile.top.in smbldap-tools-0.9.7/build/Makefile.top.in --- smbldap-tools-0.9.5/build/Makefile.top.in 1970-01-01 01:00:00.000000000 +0100 +++ smbldap-tools-0.9.7/build/Makefile.top.in 2011-08-05 16:12:50.000000000 +0200 @@ -0,0 +1,18 @@ +## Makefile.top +## ====================================================================== + +CONFIG_HEADERS= @CONFIG_HEADERS@ + +clean:: + $(RM) $(SOURCE_BUILD)/subst + +distclean:: clean + $(RM) $(CONFIG_HEADERS) + $(RM) Makefile config.log config.status config.cache autom4te.cache + $(RM) $(SUBST_SRC) + $(RM) $(SOURCE_BUILD)/Makefile.common $(SOURCE_BUILD)/Makefile.package $(SOURCE_BUILD)/Makefile.top + echo "include $(SOURCE_BUILD)/Makefile.maintainer" >Makefile + +dist dist-conf: + $(MAKE) -f $(SOURCE_BUILD)/Makefile.maintainer $@ + diff -Nru smbldap-tools-0.9.5/build/subst.pl.in smbldap-tools-0.9.7/build/subst.pl.in --- smbldap-tools-0.9.5/build/subst.pl.in 1970-01-01 01:00:00.000000000 +0100 +++ smbldap-tools-0.9.7/build/subst.pl.in 2011-09-02 09:23:49.000000000 +0200 @@ -0,0 +1,72 @@ +#!@PERL_CMD@ +## +## Substitute for @TAG@ in STDIN stream and output to STDOUT +## Copyright (c) 2000-2011 SATOH Fumiyasu, All rights reserved. +## +## License: GNU General Public License version 2 +## Date: 2011-06-22, since 2000-10-27 +## + +use strict; +use warnings; +use English; +use IO::File; + +my $tag1 = qr/\@([A-Za-z]+(?:_[0-9A-Za-z]+)*)\@/; +my $tag2 = qr/\$[{(]([A-Za-z]+(?:_[0-9A-Za-z]+)*)[)}]/; +my $fh_in = *STDIN; +my $fh_out = *STDOUT; + +if (defined($ARGV[0]) && $ARGV[0] !~ /=/) { + my $file = shift(@ARGV); + if ($fh_in = IO::File->new($file, 'r')) { + die "Cannot open file: $file: $OS_ERROR"; + } +} +if (defined($ARGV[0]) && $ARGV[0] !~ /=/) { + my $file = shift(@ARGV); + if ($fh_out = IO::File->new($file, 'w')) { + die "Cannot open file: $file: $OS_ERROR"; + } +} + +my %text = (); +## Read tag names and values +while (defined(my $line = DATA->getline())) { + if ($line =~ /^(\w+)=(["']?)(.*)(\2)$/) { + $text{lc($1)} = $3; + } +} +## Override tags by command-line arguments if specified +foreach my $arg (@ARGV) { + if ($arg =~ /^(\w+)=(.*)$/) { + $text{lc($1)} = $2; + } +} + +sub subst +{ + my $str = shift; + + $str =~ s/$tag1/exists($text{lc($1)}) ? subst2($text{lc($1)}) : "XXX Unknown: $1 XXX"/ge; + + return $str; +} + +sub subst2 +{ + my $str = shift; + + while ($str =~ s/$tag2/exists($text{lc($1)}) ? $text{lc($1)} : "XXX Unknown: $1 XXX"/ge) {}; + + return $str; +} + +while (defined(my $line = $fh_in->getline())) { + $line = subst($line); + $fh_out->print($line); +} + +exit(0); + +__DATA__ diff -Nru smbldap-tools-0.9.5/ChangeLog smbldap-tools-0.9.7/ChangeLog --- smbldap-tools-0.9.5/ChangeLog 2008-04-22 10:13:29.000000000 +0200 +++ smbldap-tools-0.9.7/ChangeLog 2011-09-26 10:10:37.000000000 +0200 @@ -1,182 +1,336 @@ +2011-09-26 + * new tag 0.9.7 -2008-04-22 +2011-09-06 + * smbldap-populate: Create parent entry for $config{sambaUnixIdPooldn} + if it does not exist + +2011-09-02 + * smbldap-config: Rename from configure.pl + +2011-07-23 + * smbldap-populate: Create parent entry for $config{usersdn} + (and others) if it does not exist + (e.g. usersdn="ou=Users,ou=parent,${suffix}" in smbldap.conf) + +2011-07-13 + * smbldap-useradd: New option: --non-unique (Allow the creation of a + user account with a duplicate (non-unique) UID) + +2011-07-12 + * smbldap-usermod: New option: --ou NODE (move user entry to the + specified organazional unit) + * Canonize user name to treat the memberUid as case-sensitive + attribute (but the uid attribute is case-insensitive) + * smbldap-useradd: New option: -p (allow to set password from + STDIN without verification, e.g. using a pipe) + +2011-07-08 + * smbldap-populate: Use Net::LDAP::Entry for populating entries + +2011-06-29 + * Use sambaNextRid attribute in sambaDomain entry for the next RID + as same as Samba 3.0+ (only when sambaAlgorithmicRidBase attribute + does NOT exists in sambaDomain entry for backward compatibility) + +2011-06-24 + * Rename smbldap.conf parameters: + - hash_encrypt -> password_hash + - crypt_salt_format -> password_crypt_salt_format + * LDAPv3 Password Modify (RFC 3062) extended operation + support when password_hash="exop" in smbldap.conf + +2011-06-23 + * Add shadowAccount parameter in smbldap.conf to control whether + to treat shadowAccount objectclass and attributes or not + +2011-06-22 + * Introduce autoconf (configure.in, Makefile.in and so on) + +2011-06-14 + * smbldap-passwd: Do not use permuted -s option for the smbpasswd(1) + command-line because the plain-old getopt(3) does not support it + +2011-05-28 + * smbldap_tools.pm: Add read_password() to avoid `stty -echo` hacks + * Use /usr/sbin/nscd -i instead of /etc/init.d/nscd + +2011-05-24 + * smbldap-populate, smbldap_tools.pm: Use /nonexistent instead + of /dev/null for guest's and computer's homeDirectory + +2011-03-09 + * smbldap_tools.pm: Use Encode instead of Unicode::MapUTF8 + +2011-02-23 + * smbldap_tools.pm: + - get_next_id: Use getgrgid() for GID number + - read_parameter: Use lexically-scoped variable $line + instead of global $_ + - read_user_human_readable: Use UTF-8 flaged string and + \P{IsPrint} to check if an LDAP attribute has non-printable + characters or not + * smbldap-populate: Fix wrong sambaGroupType values for local groups + * Replace bare "smbpasswd" with "$config{smbpasswd}" + * smbldap-useradd: Add -h (--no-dereference) option to the + chown(1) command-line + * smbldap-useradd: Extend -Z (--attr) option to take multiple + -Z options + * smbldap-usermod: Set sambaPwdLastSet to the current time + if "-B 0" is used (for Samba 3.0.25 and later) + * smbldap-usermod: Extend -Z (--attr) option: + - Take multiple -Z options + - Append a value to a multi-value attribute by -Z +name=value + - Remove a value from a multi-value attribute by -Z -name=value + - Remove a attribte by -Z -name + +2010-11-15 + * smbldap-useradd: + - fix Z option in getopt (custom LDAP attribute) + - drop unused L option from getopt + - alphabetically reorganize getopt options + - fix several mis-spellings and typos + (thx to Paul Howarth ) + * other utilities: + - alphabetically reorganize getopt and help + * new tag 0.9.6 + +2010-10-21 + * new tool: smbldap-grouplist (list LDAP groups) + * smbldap-useradd, smbldap-usershow, smbldap-usermod: + - change default encoding of givenName and sn to UTF-8 (bug #11717) + - new option: -X (input/output encoding, defaults to UTF-8) + - new option: -O (localMailAddress attribute) + - changed option: -M (now sets only mail attribute) + - home directory is now chowned as $userUidNumber:$userGidNumber + (bug #11721) + - use gecos as displayName if givenName and userSN not provided + (bug #14517) + * smbldap-passwd: + - new option: -p (allow root to set password from + STDIN without verification, e.g. using a pipe) (bug #11964) + - change userPassword, shadowLastChange and shadowMax individually + e.g. no shadow class or user may not have rights (bug #15052) + * smbldap-groupmod: allow deletion of users from groups without + a defined samba group SID) + * remove references to smbldap_conf.pm + +2008-04-22 * new tag 0.9.5 -2008-04-13 - * smbldap-useradd: new option '-W' to add a computer account with samba attributes (for account creation - through samba, use '-w') +2008-04-13 + * smbldap-useradd: new option '-W' to add a computer account with samba + attributes (for account creation through samba, use '-w') * smbldap_tools.pm: added ldaps support * smbldap.conf: new option 'ldapSSL' for SSL support -2008-03-05 +2008-03-05 * smbldap-usershow: if nscd is up dans running, restart the service (http://gna.org/bugs/?11206) -2008-02-17 - * smbldap-populate: remove sambaNextRid entry if ${sambaDomain} is not used for ${sambaUnixIdPooldn} entry - (sambaDomain objectclass is then not added to ${sambaUnixIdPooldn}) - -2008-02-15 - * smbldap-usermod: if "-I" is used, set sambaPwdLastSet to the current time - * smbldap-useradd: if '-k /etc/skel" is used, /etc/skel content is now correctly copied to home directory - -2007-12-18 - * smbldap-usermod, smbldap-passwd (smbldap-passwd is asked by smbldap-useradd): if "-B 1" is used, set sambaPwdLastSet to 0 - (https://gna.org/support/?1828) - -2007-12-17 - * smbldap-usermod, smbldap-useradd: new -Z option to add custom LDAP attributes - -2007-11-26 - * smbldap-groupadd: added sncd status and restart service after applying modifications +2008-02-17 + * smbldap-populate: remove sambaNextRid entry if ${sambaDomain} is not + used for ${sambaUnixIdPooldn} entry + (sambaDomain objectclass is then not added to ${sambaUnixIdPooldn}) + +2008-02-15 + * smbldap-usermod: if "-I" is used, set sambaPwdLastSet to the current + time + * smbldap-useradd: if '-k /etc/skel" is used, /etc/skel content is now + correctly copied to home directory + +2007-12-18 + * smbldap-usermod, smbldap-passwd (smbldap-passwd is asked by + smbldap-useradd): if "-B 1" is used, set sambaPwdLastSet to 0 + (https://gna.org/support/?1828) + +2007-12-17 + * smbldap-usermod, smbldap-useradd: new -Z option to add custom LDAP + attributes + +2007-11-26 + * smbldap-groupadd: added sncd status and restart service after + applying modifications (https://gna.org/bugs/index.php?10313) - * smbldap-passwd: unix password not updated if maxPasswordAge not defined in smbldap.Conf => added control test + * smbldap-passwd: unix password not updated if maxPasswordAge not + defined in smbldap.Conf => added control test (https://gna.org/bugs/?10230) * smbldap-usershow: new -h option to print dates in human-readable form (https://gna.org/bugs/?10231) -2007-11-23 +2007-11-23 * smbldap-usermod: fixes and enhancements relative to expirations dates (https://gna.org/bugs/?10229) -2007-10-30 - - * smbldap_tools.pm (read_user): do not print binary data in smbldap-usershow +2007-10-30 + * smbldap_tools.pm (read_user): do not print binary data in + smbldap-usershow (https://gna.org/bugs/?10228) -2007-09-17 +2007-09-17 * new tag 0.9.4 -2007-09-17 - * smbldap-usermod and smbldap-useradd: displayName attribute default to username or use the information given - with the -S and -N options. (RFC 2256 & RFC 2798). +2007-09-17 + * smbldap-usermod and smbldap-useradd: displayName attribute default to + username or use the information given with the -S and -N options. + (RFC 2256 & RFC 2798). * update sambaPrimaryGroupSID if '-g' option is used Thanks to Christoph Szeppek for his patch. -2007-09-05 +2007-09-05 * smbldap-userlist (print_user): print also shadowMax attribute value -2007-08-07 +2007-08-07 * smbldap-usermod: allow renaming of computers account -2007-08-01 - * smbldap-usermod: cn was updated to null string (if -N or -S are not used.) which causes a failed - ldap modification +2007-08-01 + * smbldap-usermod: cn was updated to null string (if -N or -S are not + used.) which causes a failed ldap modification -2007-07-19 +2007-07-19 * new tag 0.9.3 -2007-07-13 - * smbldap-userinfo (exist_in_tab;): print also Samba Password Last Set, Samba Password Must Change and Samba Flags +2007-07-13 + * smbldap-userinfo (exist_in_tab;): print also Samba Password Last Set, + Samba Password Must Change and Samba Flags - * smbldap-userlist (exist_in_tab;): only root can show all users informations. If used as standard user, - only print personnal informations + * smbldap-userlist (exist_in_tab;): only root can show all users + informations. If used as standard user, only print personnal + informations -2007-07-10 +2007-07-10 - * smbldap-populate: new option '-r' to specify the first rid available for users and groups creation - (default is 1000) + * smbldap-populate: new option '-r' to specify the first rid available + for users and groups creation (default is 1000) -2007-07-06 +2007-07-06 - * smbldap_tools.pm (add_posix_machine): add only 'top', 'account', 'posixAccount' objectclass for computers account + * smbldap_tools.pm (add_posix_machine): add only 'top', 'account', + 'posixAccount' objectclass for computers account - * smbldap_tools.pm (get_next_id($$)): look if the id or gid is not already used in /etc/passwd or - /etc/group. Check the next one if so. + * smbldap_tools.pm (get_next_id($$)): look if the id or gid is not + already used in /etc/passwd or /etc/group. Check the next one if so. - * smbldap_tools.pm (delete_user): print error message if deleting user failed + * smbldap_tools.pm (delete_user): print error message if deleting + user failed -2007-07-05 +2007-07-05 - * smbldap-userlist: new script that list all account properties (expiration, status,...) + * smbldap-userlist: new script that list all account properties + (expiration, status,...) -2007-07-04 +2007-07-04 - * smbldap-passwd (make_salt): update shadowMax (to $config{defaultMaxPasswordAge}) entry if script - used with root priviledge + * smbldap-passwd (make_salt): update shadowMax + (to $config{defaultMaxPasswordAge}) entry if script used with root + priviledge - * smbldap_tools.pm (add_posix_machine): when creating a computer account, just set the 'top', - 'account' and 'posixAccount' objectclass + * smbldap_tools.pm (add_posix_machine): when creating a computer + account, just set the 'top', 'account' and 'posixAccount' objectclass - * smbldap_tools.pm (parse_group): same as below: replace getgrgid() by a ldap querie + * smbldap_tools.pm (parse_group): same as below: replace getgrgid() by + a ldap querie - * smbldap-groupmod: replace the call of getgrnam() with a ldap search because getgrnam() can't return - the group gidNumber in case the script is executed from a server where ldap auth is not set + * smbldap-groupmod: replace the call of getgrnam() with a ldap search + because getgrnam() can't return the group gidNumber in case the script + is executed from a server where ldap auth is not set (tnx to Konstantin Munning) -2007-07-03 +2007-07-03 - * smbldap-useradd: using the userName instead of uidNumber in "chown ... $userHomeDirectory" because - $userUidNumber is linked to user which has a different uidNumber in case of use numeric-only username + * smbldap-useradd: using the userName instead of uidNumber in + "chown ... $userHomeDirectory" because $userUidNumber is linked to user + which has a different uidNumber in case of use numeric-only username (thx to Francesco Malvezzi) - * smbldap-useradd: if -B option is used, called smbldap-passwd with -B option (without -B option - in smbldap-passwd, this command was overwritten sambaPwdMustChange sambaPwdLastSet and sambaAcctFlags - just after being updated with smbldap-usermod) + * smbldap-useradd: if -B option is used, called smbldap-passwd with -B + option (without -B option in smbldap-passwd, this command was + overwritten sambaPwdMustChange sambaPwdLastSet and sambaAcctFlags just + after being updated with smbldap-usermod) - * smbldap-passwd: new option -B to force user to change Samba password (and then also unix) at - next connection + * smbldap-passwd: new option -B to force user to change Samba password + (and then also unix) at next connection -2007-07-02 +2007-07-02 - * smbldap-migrate-pwdump-accounts: make the ldap connection before trying to modify any entry + * smbldap-migrate-pwdump-accounts: make the ldap connection before + trying to modify any entry * smbldap-migrate-pwdump-accounts and smbldap-migrate-pwdump-groups: - added "PATH=/sbin:/usr/sbin:/usr/local/sbin:/opt/IDEALX/sbin/" before calling smbldap-useradd + added "PATH=/sbin:/usr/sbin:/usr/local/sbin:/opt/IDEALX/sbin/" before + calling smbldap-useradd - * smbldap-userinfo: new option -l to list user properties and specially password aging informations + * smbldap-userinfo: new option -l to list user properties and specially + password aging informations - * smbldap-usermod: new options --shadowExpire --shadowMax --shadowMin and --shadowWarning - related to password aging + * smbldap-usermod: new options --shadowExpire --shadowMax --shadowMin + and --shadowWarning related to password aging - * smbldap-usermod: new options -L and -U to lock/unlock shadow account (thx to - (Pierluigi Miranda ) + * smbldap-usermod: new options -L and -U to lock/unlock shadow account + (thx to Pierluigi Miranda ) - * smbldap-passwd: sambaPwdLastSet attribute is updated whend changing password + * smbldap-passwd: sambaPwdLastSet attribute is updated whend changing + password - * smbldap-usermod: if -o was used, script must not exit if uid already exist + * smbldap-usermod: if -o was used, script must not exit if uid already + exist - * smbldap_tool.pm: in function connect_ldap_slave, bind parameters to contact the master server - (if slave is not available) must be $config{masterDn} and $config{masterPw} + * smbldap_tool.pm: in function connect_ldap_slave, bind parameters to + contact the master server (if slave is not available) must be + $config{masterDn} and $config{masterPw} -2007-06-27 +2007-06-27 * smbldap-tools.spec: added man pages - * smbldap-useradd: update -o option to allow specify a node like '-o ou=admin,ou=all' + * smbldap-useradd: update -o option to allow specify a node like + '-o ou=admin,ou=all' - * smbldap-tools.pm: be more verbose if ldap_bind failed (thx to tarjei ) + * smbldap-tools.pm: be more verbose if ldap_bind failed + (thx to tarjei ) * smbldap-useradd: be more berbose if problem searching next uid in - $config{sambaUnixIdPooldn} (thx to Goneri Le Boude ) + $config{sambaUnixIdPooldn} + (thx to Goneri Le Boude ) -2006-01-13 +2006-01-13 * UTF8 support in smbldap-usermod for option -N 2006-01-03 . new tag (v0-9-2 for rpm version 0.9.2) + 2005-10-31 - . Option 'P' to set password was not possible in smbldap-useradd when usernames contained - space character - . smbldap-populate and smbldap_tools.pm: classes hierarchical is specified completly to avoid - problem with others directories then OpenLDAP. - . smbldap-useradd: users are not added to group if the group is their primary one - . smbldap-useradd and smbldap_tools: new function is_nonldap_unix_user to allow adding non - ldap users to group. This is typically used to add users from a trusted domains (winbind) - . when adding trusted account (smbldap-useraddd -i) '$' caracter is added to the name if - not present - . if with_smbpasswd="1", we let samba adding the sambaPrimaryGroupSID entry - . smbldap-passwd: new option -s and -u to only update samba password or unix password - . smbldap-passwd: regular users can change their passwords when TLS is forced - . parsing smb.conf is correct if parameters are defined in several lines (using \ caracter) - . automatic creation of the OU of a new user if it does not exist (smbldap-useradd -o ou=xxx) - The new OU must me relative to the $config{usersdn} parameter + . Option 'P' to set password was not possible in smbldap-useradd when + usernames contained space character + . smbldap-populate and smbldap_tools.pm: classes hierarchical is + specified completly to avoid problem with others directories then + OpenLDAP. + . smbldap-useradd: users are not added to group if the group is their + primary one + . smbldap-useradd and smbldap_tools: new function is_nonldap_unix_user + to allow adding non ldap users to group. This is typically used to add + users from a trusted domains (winbind) + . when adding trusted account (smbldap-useraddd -i) '$' caracter is + added to the name if not present + . if with_smbpasswd="1", we let samba adding the sambaPrimaryGroupSID + entry + . smbldap-passwd: new option -s and -u to only update samba password or + unix password + . smbldap-passwd: regular users can change their passwords when TLS is + forced + . parsing smb.conf is correct if parameters are defined in several + lines (using \ caracter) + . automatic creation of the OU of a new user if it does not exist + (smbldap-useradd -o ou=xxx). The new OU must me relative to the + $config{usersdn} parameter + 2005-07-12 - . sambaPrimaryGroupSID for samba users is set to DOMAIN_SID-513, whatever is - the defaultUserGid parameter value defined in smbldap.conf + . sambaPrimaryGroupSID for samba users is set to DOMAIN_SID-513, + whatever is the defaultUserGid parameter value defined in smbldap.conf + 2005-06-07 . sambaBadPasswordCount is set to 0 when using smbldap-passwd . update for respect with RFC 2256: @@ -184,35 +338,46 @@ givenName <-> prenom (option N) cn <-> person's full name . UTF8 support for givenName (option N) and sn (option S) + 2005-05-26: new tag (v0-9-1 for rpm version 0.9.1) . bugs correction and updates in configure.pl + 2005-05-17: new tag (v0-9-0 for rpm version 0.9.0) + 2005-05-16 - . update release version 0.9.0 for synchronisation with examples of the "Samba3 by examples" - book of John H Terpstra. + . update release version 0.9.0 for synchronisation with examples + of the "Samba3 by examples" book of John H Terpstra. . default configuration files for the smbldap-tools can be place in /etc/opt/IDEALX/smbldap-tools or /etc/smbldap-tools/ . default configuration file for samba can be /etc/samba/smb.conf or /usr/local/samba/lib/smb.conf - . new parameter userHomeDirectoryMode in smbldap.conf to set the default directory mode used - for user's homeDirectory + . new parameter userHomeDirectoryMode in smbldap.conf to set the + default directory mode used for user's homeDirectory . enhancements and fixes in configure.pl + 2005-04-27 . error in group type documentation in smbldap-groupadd + 2005-04-17 - . warnings was displayed when samba configuraton file (smb.conf) had single quotes in - parameters definition (thanks to Tom Burkart ) - . 'idmapdn' is now also optional in smbldap.conf (if needed and defined in smb.conf) + . warnings was displayed when samba configuraton file (smb.conf) had + single quotes in parameters definition + (thanks to Tom Burkart ) + . 'idmapdn' is now also optional in smbldap.conf (if needed and defined + in smb.conf) + 2005-04-03: new tag (v0-8-8 for rpm version 0.8.8) + 2005-03-09 - . Four more options are now optional in smbldap.conf. Default values are: + . Four more options are now optional in smbldap.conf. + Default values are: > slaveLDAP="127.0.0.1" > slavePort="389" > masterLDAP="127.0.0.1" > masterPort="389" > ldapTLS="0" . the following suffix can be used with the smbldap-tools: - > suffix="dc=dpt,dc=idealx,dc=org", suffix="dc=idealx,dc=org" or suffix="dc=idealx" + > suffix="dc=dpt,dc=idealx,dc=org", suffix="dc=idealx,dc=org" or + suffix="dc=idealx" . update to smbldap-populate: . administrator account is now called 'root' . default uidNumber for root is set to 0 @@ -222,114 +387,146 @@ 2005-03-08 . Four parameters in smbldap.conf are now optional: 'suffix', 'usersdn', 'computersdn' and 'groupsdn' - If those parameters are not set, they are respectivly taken from the following - parameters in smb.conf : - 'ldap suffix', 'ldap user suffix', 'ldap machine suffix' and 'ldap group suffix' + If those parameters are not set, they are respectivly taken from + the following parameters in smb.conf : + 'ldap suffix', 'ldap user suffix', 'ldap machine suffix' and + 'ldap group suffix' . renaming two files: $ mv smbldap-migrate-accounts smbldap-migrate-pwdump-accounts $ mv smbldap-migrate-groups smbldap-migrate-pwdump-groups 2005-02-26 - . New option '-t time' to smbldap-useradd: wait