ldap/admin
by Mark Reynolds
ldap/admin/src/logconv.pl | 20 +++++++++++++++-----
1 file changed, 15 insertions(+), 5 deletions(-)
New commits:
commit 257006f1fecc44ad73451c0c720cecdc427f2416
Author: Mark Reynolds <mreynolds(a)redhat.com>
Date: Fri Jan 29 10:34:22 2016 -0500
Ticket 48446 - logconv.pl displays negative operation speeds
Bug Description: The script assumed that a full path to logs was provided.
If it was not then the log "access" was not moved to the
end of the list. This throws off many stats.
Fix Description: Properly sort the files, and move "access" to the end
of the list.
https://fedorahosted.org/389/ticket/48446
Reviewed by: nhosoi(Thanks!)
diff --git a/ldap/admin/src/logconv.pl b/ldap/admin/src/logconv.pl
index 9cd9aaa..22d1a88 100755
--- a/ldap/admin/src/logconv.pl
+++ b/ldap/admin/src/logconv.pl
@@ -388,7 +388,11 @@ sub statusreport {
# #
##########################################
-if ($files[$#files] =~ m/access.rotationinfo/) { $file_count--; }
+if ($files[$#files] =~ m/access.rotationinfo/) {
+ # Remove the rotationinfo file from the log array
+ delete $files[$#files];
+ $file_count--;
+}
$logCount = $file_count;
print "Processing $logCount Access Log(s)...\n";
@@ -398,10 +402,16 @@ print "Processing $logCount Access Log(s)...\n";
#print "--------------------------------------------------\n";
my $skipFirstFile = 0;
-if ($logCount > 1 && $files[0] =~ /\/access$/){
- $files[$logCount] = $files[0];
- $skipFirstFile = 1;
- $file_count++;
+if ($logCount > 1){
+ # sort the log array
+ my @sorted_files = sort @files;
+ if($sorted_files[0] =~ /access$/){
+ # Move "access" to the end of the array
+ $sorted_files[$logCount] = $sorted_files[0];
+ $skipFirstFile = 1;
+ $file_count++;
+ }
+ @files = @sorted_files;
}
8 years, 1 month
Branch '389-ds-base-1.3.4' - VERSION.sh
by Noriko Hosoi
VERSION.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
New commits:
commit 5453bfea3ead42a2907d5cbdf0213ca0564e51cd
Author: Noriko Hosoi <nhosoi(a)redhat.com>
Date: Mon Jan 25 12:31:48 2016 -0800
bump version to 1.3.4.7
diff --git a/VERSION.sh b/VERSION.sh
index 5f6110e..ba78622 100644
--- a/VERSION.sh
+++ b/VERSION.sh
@@ -10,7 +10,7 @@ vendor="389 Project"
# PACKAGE_VERSION is constructed from these
VERSION_MAJOR=1
VERSION_MINOR=3
-VERSION_MAINT=4.6
+VERSION_MAINT=4.7
# if this is a PRERELEASE, set VERSION_PREREL
# otherwise, comment it out
# be sure to include the dot prefix in the prerel
8 years, 1 month
ldap/admin man/man8
by Noriko Hosoi
ldap/admin/src/scripts/status-dirsrv.in | 87 ++++++++++++++++++++++++++++++++
man/man8/status-dirsrv.8 | 55 ++++++++++++++++++++
2 files changed, 142 insertions(+)
New commits:
commit 6566d89d975f950b73de12b457ad8c79340101ba
Author: Noriko Hosoi <nhosoi(a)redhat.com>
Date: Thu Jan 21 10:44:55 2016 -0800
Ticket #48144 - Add /usr/sbin/status-dirsrv script to get the status of the directory server instance.
Description: New script status-dirsrv and its man page status-dirsrv.8 was
missing in commit 44333d1ae7d619fe800ef9a8d8550d2fdcf7c553.
diff --git a/ldap/admin/src/scripts/status-dirsrv.in b/ldap/admin/src/scripts/status-dirsrv.in
new file mode 100755
index 0000000..02fcc0d
--- /dev/null
+++ b/ldap/admin/src/scripts/status-dirsrv.in
@@ -0,0 +1,87 @@
+#!/bin/sh
+
+# Script that reports the status of the ns-slapd server.
+
+. @datadir@/@package_name@/data/DSSharedLib
+
+# Get the status of a single instance
+status_instance() {
+ # The first argument is the server ID. Anything
+ # after that is an argument to ns-slapd.
+ SERV_ID=$1
+ shift
+
+ initfile=`get_init_file $initconfig_dir $SERV_ID` || { echo Instance $SERV_ID not found. ; return -1 ; }
+
+ # source env. for this instance
+ if [ -f $initfile ] ; then
+ . $initfile
+ else
+ echo Instance $SERV_ID not found.
+ return -1
+ fi
+
+ prefix="$DS_ROOT"
+
+ libpath_add "$prefix$SERVER_DIR"
+ libpath_add "$prefix@nss_libdir@"
+ libpath_add "$prefix@libdir@"
+ libpath_add "@nss_libdir@"
+ libpath_add "$prefix@pcre_libdir@"
+
+ export LD_LIBRARY_PATH
+ SHLIB_PATH=$LD_LIBRARY_PATH
+ export SHLIB_PATH
+
+ #
+ # Use systemctl if available.
+ #
+ if [ -d "@systemdsystemunitdir@" ] && [ $(id -u) -eq 0 ];then
+ @bindir@/systemctl status @package_name@(a)$SERV_ID.service
+ rv=$?
+ if [ $rv -ne 0 ]; then
+ return $rv
+ fi
+ fi
+ return 0
+}
+
+# source env. for all instances
+[ -f @initconfigdir@/@package_name@ ] && . @initconfigdir@/@package_name@
+
+while getopts "d:" flag
+do
+ case "$flag" in
+ d) initconfig_dir="$OPTARG";;
+ esac
+done
+shift $(($OPTIND-1))
+
+if [ -z "$initconfig_dir" ]; then
+ initconfig_dir=@initconfigdir@
+fi
+
+found=0
+if [ $# -eq 0 ]; then
+ # We're reporting the status of all instances.
+ ret=-1
+ @bindir@/systemctl status @package_name@.target
+ initfiles=`get_initconfig_files $initconfig_dir` || { echo No instances found in $initconfig_dir ; exit 1 ; }
+ for i in $initfiles; do
+ inst=`normalize_server_id $i`
+ echo Status of instance \"$inst\"
+ status_instance $inst
+ rv=$?
+ #if one of them is successful, return 0.
+ if [ $ret -gt -1 ]; then
+ ret=`expr $ret \& $rv`
+ else
+ ret=$rv
+ fi
+ done
+ exit $ret
+else
+ # We're getting the status of a single instance.
+ status_instance $@
+ exit $?
+fi
diff --git a/man/man8/status-dirsrv.8 b/man/man8/status-dirsrv.8
new file mode 100644
index 0000000..0198670
--- /dev/null
+++ b/man/man8/status-dirsrv.8
@@ -0,0 +1,55 @@
+.\" Hey, EMACS: -*- nroff -*-
+.\" First parameter, NAME, should be all caps
+.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
+.\" other parameters are allowed: see man(7), man(1)
+.TH STATUS-DIRSRV 8 "Jan 20, 2016"
+.\" Please adjust this date whenever revising the manpage.
+.\"
+.\" Some roff macros, for reference:
+.\" .nh disable hyphenation
+.\" .hy enable hyphenation
+.\" .ad l left justify
+.\" .ad b justify to both left and right margins
+.\" .nf disable filling
+.\" .fi enable filling
+.\" .br insert line break
+.\" .sp <n> insert n+1 empty lines
+.\" for manpage-specific macros, see man(7)
+.SH NAME
+status-dirsrv \- script for showing the status of Directory Server
+.SH SYNOPSIS
+.B status-dirsrv
+.RI [\fI<instance>\fR]
+.SH DESCRIPTION
+status-dirsrv shows all the status of Directory Server instances on a system, or
+of a single instance if specified
+.PP
+.\" TeX users may be more comfortable with the \fB<whatever>\fP and
+.\" \fI<whatever>\fP escape sequences to invode bold face and italics,
+.\" respectively.
+.SH OPTIONS
+.TP
+.B <instance>
+Specifies a single Directory Server instance to show the status
+.br
+.SH USAGE
+Sample usage:
+.TP
+.B status-dirsrv example
+.br
+.SH EXIST STATUS
+status-dirsrv returns 0 if all Directory Server instances are running. Otherwise, a non-zero failure code returned from systemctl is returned.
+
+If a single Directory Server instance is specified, 0 is returned if the instance is running; a non-zero failure code returned from systemctl is returned if the instance is not running; 255 is returned if the instance does not exist.
+.br
+.SH AUTHOR
+status\-dirsrv was written by the 389 Project.
+.SH "REPORTING BUGS"
+Report bugs to https://fedorahosted.org/389/newticket.
+.SH COPYRIGHT
+Copyright \(co 2016 Red Hat, Inc.
+.br
+This is free software. You may redistribute copies of it under the terms of
+the Directory Server license found in the LICENSE file of this
+software distribution. This license is essentially the GNU General Public
+License version 2 with an exception for plug-in distribution.
8 years, 1 month
2 commits - aclocal.m4 compile config.guess config.h.in config.sub configure depcomp install-sh m4/libtool.m4 Makefile.am Makefile.in missing
by Noriko Hosoi
Makefile.am | 3
Makefile.in | 52 +++++---
aclocal.m4 | 209 ++++++++++++++++++++++-----------
compile | 2
config.guess | 201 +++++--------------------------
config.h.in | 3
config.sub | 53 +++++---
configure | 250 ++++++++++++++++++---------------------
depcomp | 2
install-sh | 366 ++++++++++++++++++++++++++--------------------------------
m4/libtool.m4 | 12 +
missing | 6
12 files changed, 552 insertions(+), 607 deletions(-)
New commits:
commit 68659b64ce8ecb12a62d0984ed026e6dd3fc73ec
Author: Noriko Hosoi <nhosoi(a)redhat.com>
Date: Wed Jan 20 21:58:35 2016 -0800
Ticket #48144 - Add /usr/sbin/status-dirsrv script to get the status of the directory server instance.
Description: derived files by autogen.
diff --git a/Makefile.in b/Makefile.in
index f5941eb..87ba2f9 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -20,7 +20,17 @@
VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
@@ -93,12 +103,6 @@ noinst_PROGRAMS = makstrdb$(EXEEXT)
@SOLARIS_TRUE@am__append_2 = -lrt
@SOLARIS_TRUE@am__append_3 = ldap/servers/slapd/tools/ldclt/opCheck.c
subdir = .
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
- $(top_srcdir)/configure $(am__configure_deps) \
- $(srcdir)/config.h.in $(top_srcdir)/rpm/389-ds-base.spec.in \
- depcomp $(dist_man_MANS) $(dist_noinst_DATA) \
- $(dist_noinst_HEADERS) $(serverinc_HEADERS) README compile \
- config.guess config.sub install-sh missing ltmain.sh
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
@@ -113,6 +117,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
$(top_srcdir)/m4/systemd.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \
+ $(am__configure_deps) $(dist_noinst_DATA) \
+ $(dist_noinst_HEADERS) $(serverinc_HEADERS) $(am__DIST_COMMON)
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
configure.lineno config.status.lineno
mkinstalldirs = $(install_sh) -d
@@ -1253,6 +1260,10 @@ ETAGS = etags
CTAGS = ctags
CSCOPE = cscope
AM_RECURSIVE_TARGETS = cscope
+am__DIST_COMMON = $(dist_man_MANS) $(srcdir)/Makefile.in \
+ $(srcdir)/config.h.in $(top_srcdir)/rpm/389-ds-base.spec.in \
+ README compile config.guess config.sub depcomp install-sh \
+ ltmain.sh missing
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
distdir = $(PACKAGE)-$(VERSION)
top_distdir = $(distdir)
@@ -1590,6 +1601,7 @@ CLEANFILES = dberrstrs.h ns-slapd.properties \
ldap/admin/src/scripts/setup-ds.pl ldap/admin/src/scripts/setup-ds.res \
ldap/admin/src/scripts/start-dirsrv ldap/admin/src/scripts/stop-dirsrv \
ldap/admin/src/scripts/restart-dirsrv ldap/admin/src/scripts/Setup.pm \
+ ldap/admin/src/scripts/status-dirsrv \
ldap/admin/src/scripts/template-bak2db ldap/admin/src/scripts/template-bak2db.pl \
ldap/admin/src/scripts/template-db2bak ldap/admin/src/scripts/template-db2bak.pl \
ldap/admin/src/scripts/template-db2index ldap/admin/src/scripts/template-db2index.pl \
@@ -1993,6 +2005,7 @@ sbin_SCRIPTS = ldap/admin/src/scripts/setup-ds.pl \
ldap/admin/src/scripts/start-dirsrv \
ldap/admin/src/scripts/stop-dirsrv \
ldap/admin/src/scripts/restart-dirsrv \
+ ldap/admin/src/scripts/status-dirsrv \
ldap/admin/src/scripts/bak2db \
ldap/admin/src/scripts/db2bak \
ldap/admin/src/scripts/db2index \
@@ -2157,6 +2170,7 @@ dist_man_MANS = man/man1/dbscan.1 \
man/man8/setup-ds.pl.8 \
man/man8/start-dirsrv.8 \
man/man8/stop-dirsrv.8 \
+ man/man8/status-dirsrv.8 \
man/man8/bak2db.8 man/man8/bak2db.pl.8 \
man/man8/db2bak.8 man/man8/db2bak.pl.8 \
man/man8/db2ldif.8 man/man8/db2ldif.pl.8 \
@@ -3228,7 +3242,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign Makefile
-.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
@@ -3249,8 +3262,8 @@ $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
$(am__aclocal_m4_deps):
config.h: stamp-h1
- @if test ! -f $@; then rm -f stamp-h1; else :; fi
- @if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) stamp-h1; else :; fi
+ @test -f $@ || rm -f stamp-h1
+ @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1
stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
@rm -f stamp-h1
@@ -10336,10 +10349,16 @@ dist-xz: distdir
$(am__post_remove_distdir)
dist-tarZ: distdir
+ @echo WARNING: "Support for distribution archives compressed with" \
+ "legacy program 'compress' is deprecated." >&2
+ @echo WARNING: "It will be removed altogether in Automake 2.0" >&2
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
$(am__post_remove_distdir)
dist-shar: distdir
+ @echo WARNING: "Support for shar distribution archives is" \
+ "deprecated." >&2
+ @echo WARNING: "It will be removed altogether in Automake 2.0" >&2
shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
$(am__post_remove_distdir)
@@ -10374,16 +10393,17 @@ distcheck: dist
esac
chmod -R a-w $(distdir)
chmod u+w $(distdir)
- mkdir $(distdir)/_build $(distdir)/_inst
+ mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst
chmod a-w $(distdir)
test -d $(distdir)/_build || exit 0; \
dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
&& dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
&& am__cwd=`pwd` \
- && $(am__cd) $(distdir)/_build \
- && ../configure --srcdir=.. --prefix="$$dc_install_base" \
+ && $(am__cd) $(distdir)/_build/sub \
+ && ../../configure \
$(AM_DISTCHECK_CONFIGURE_FLAGS) \
$(DISTCHECK_CONFIGURE_FLAGS) \
+ --srcdir=../.. --prefix="$$dc_install_base" \
&& $(MAKE) $(AM_MAKEFLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
&& $(MAKE) $(AM_MAKEFLAGS) check \
@@ -10711,6 +10731,8 @@ uninstall-man: uninstall-man1 uninstall-man8
uninstall-systemdsystemunitDATA uninstall-taskSCRIPTS \
uninstall-updateDATA uninstall-updateSCRIPTS
+.PRECIOUS: Makefile
+
clean-local:
-rm -rf dist
diff --git a/aclocal.m4 b/aclocal.m4
index 5b32a97..5a62115 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1,6 +1,6 @@
-# generated automatically by aclocal 1.13.4 -*- Autoconf -*-
+# generated automatically by aclocal 1.15 -*- Autoconf -*-
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -220,7 +220,22 @@ m4_popdef([pkg_default])
m4_popdef([pkg_description])
]) dnl PKG_NOARCH_INSTALLDIR
-# Copyright (C) 2002-2013 Free Software Foundation, Inc.
+
+# PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE,
+# [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+# -------------------------------------------
+# Retrieves the value of the pkg-config variable for the given module.
+AC_DEFUN([PKG_CHECK_VAR],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+AC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl
+
+_PKG_CONFIG([$1], [variable="][$3]["], [$2])
+AS_VAR_COPY([$1], [pkg_cv_][$1])
+
+AS_VAR_IF([$1], [""], [$5], [$4])dnl
+])# PKG_CHECK_VAR
+
+# Copyright (C) 2002-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -232,10 +247,10 @@ m4_popdef([pkg_description])
# generated from the m4 files accompanying Automake X.Y.
# (This private macro should not be called outside this file.)
AC_DEFUN([AM_AUTOMAKE_VERSION],
-[am__api_version='1.13'
+[am__api_version='1.15'
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
dnl require some minimum version. Point them to the right macro.
-m4_if([$1], [1.13.4], [],
+m4_if([$1], [1.15], [],
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
])
@@ -251,14 +266,14 @@ m4_define([_AM_AUTOCONF_VERSION], [])
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.13.4])dnl
+[AM_AUTOMAKE_VERSION([1.15])dnl
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
# Figure out how to run the assembler. -*- Autoconf -*-
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -278,7 +293,7 @@ _AM_IF_OPTION([no-dependencies],, [_AM_DEPENDENCIES([CCAS])])dnl
# AM_AUX_DIR_EXPAND -*- Autoconf -*-
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -323,15 +338,14 @@ _AM_IF_OPTION([no-dependencies],, [_AM_DEPENDENCIES([CCAS])])dnl
# configured tree to be moved without reconfiguration.
AC_DEFUN([AM_AUX_DIR_EXPAND],
-[dnl Rely on autoconf to set up CDPATH properly.
-AC_PREREQ([2.50])dnl
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
+[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
+# Expand $ac_aux_dir to an absolute path.
+am_aux_dir=`cd "$ac_aux_dir" && pwd`
])
# AM_COND_IF -*- Autoconf -*-
-# Copyright (C) 2008-2013 Free Software Foundation, Inc.
+# Copyright (C) 2008-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -368,7 +382,7 @@ fi[]dnl
# AM_CONDITIONAL -*- Autoconf -*-
-# Copyright (C) 1997-2013 Free Software Foundation, Inc.
+# Copyright (C) 1997-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -399,7 +413,7 @@ AC_CONFIG_COMMANDS_PRE(
Usually this means the macro was only invoked conditionally.]])
fi])])
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -590,7 +604,7 @@ _AM_SUBST_NOTMAKE([am__nodep])dnl
# Generate code to set up dependency tracking. -*- Autoconf -*-
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -666,7 +680,7 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
# Do all the work for Automake. -*- Autoconf -*-
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -675,6 +689,12 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
# This macro actually does too much. Some checks are only needed if
# your package does certain things. But this isn't really a big deal.
+dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O.
+m4_define([AC_PROG_CC],
+m4_defn([AC_PROG_CC])
+[_AM_PROG_CC_C_O
+])
+
# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
# AM_INIT_AUTOMAKE([OPTIONS])
# -----------------------------------------------
@@ -750,8 +770,8 @@ AC_REQUIRE([AC_PROG_MKDIR_P])dnl
# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
-# We need awk for the "check" target. The system "awk" is bad on
-# some platforms.
+# We need awk for the "check" target (and possibly the TAP driver). The
+# system "awk" is bad on some platforms.
AC_REQUIRE([AC_PROG_AWK])dnl
AC_REQUIRE([AC_PROG_MAKE_SET])dnl
AC_REQUIRE([AM_SET_LEADING_DOT])dnl
@@ -783,6 +803,51 @@ dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below.
AC_CONFIG_COMMANDS_PRE(dnl
[m4_provide_if([_AM_COMPILER_EXEEXT],
[AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
+
+# POSIX will say in a future version that running "rm -f" with no argument
+# is OK; and we want to be able to make that assumption in our Makefile
+# recipes. So use an aggressive probe to check that the usage we want is
+# actually supported "in the wild" to an acceptable degree.
+# See automake bug#10828.
+# To make any issue more visible, cause the running configure to be aborted
+# by default if the 'rm' program in use doesn't match our expectations; the
+# user can still override this though.
+if rm -f && rm -fr && rm -rf; then : OK; else
+ cat >&2 <<'END'
+Oops!
+
+Your 'rm' program seems unable to run without file operands specified
+on the command line, even when the '-f' option is present. This is contrary
+to the behaviour of most rm programs out there, and not conforming with
+the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
+
+Please tell bug-automake(a)gnu.org about your system, including the value
+of your $PATH and any error possibly output before this message. This
+can help us improve future automake versions.
+
+END
+ if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
+ echo 'Configuration will proceed anyway, since you have set the' >&2
+ echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
+ echo >&2
+ else
+ cat >&2 <<'END'
+Aborting the configuration process, to ensure you take notice of the issue.
+
+You can download and install GNU coreutils to get an 'rm' implementation
+that behaves properly: <http://www.gnu.org/software/coreutils/>.
+
+If you want to complete the configuration process using your problematic
+'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
+to "yes", and re-run configure.
+
+END
+ AC_MSG_ERROR([Your 'rm' program is bad, sorry.])
+ fi
+fi
+dnl The trailing newline in this macro's definition is deliberate, for
+dnl backward compatibility and to allow trailing 'dnl'-style comments
+dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841.
])
dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not
@@ -791,7 +856,6 @@ dnl mangled by Autoconf and run in a shell conditional statement.
m4_define([_AC_COMPILER_EXEEXT],
m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
-
# When config.status generates a header, we must update the stamp-h file.
# This file resides in the same directory as the config header
# that is generated. The stamp files are numbered to have different names.
@@ -813,7 +877,7 @@ for _am_header in $config_headers :; do
done
echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -824,7 +888,7 @@ echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_co
# Define $install_sh.
AC_DEFUN([AM_PROG_INSTALL_SH],
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-if test x"${install_sh}" != xset; then
+if test x"${install_sh+set}" != xset; then
case $am_aux_dir in
*\ * | *\ *)
install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
@@ -834,7 +898,7 @@ if test x"${install_sh}" != xset; then
fi
AC_SUBST([install_sh])])
-# Copyright (C) 2003-2013 Free Software Foundation, Inc.
+# Copyright (C) 2003-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -856,7 +920,7 @@ AC_SUBST([am__leading_dot])])
# Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
# From Jim Meyering
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -891,7 +955,7 @@ AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
# Check to see how 'make' treats includes. -*- Autoconf -*-
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -939,41 +1003,9 @@ AC_MSG_RESULT([$_am_result])
rm -f confinc confmf
])
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_PROG_CC_C_O
-# --------------
-# Like AC_PROG_CC_C_O, but changed for automake.
-AC_DEFUN([AM_PROG_CC_C_O],
-[AC_REQUIRE([AC_PROG_CC_C_O])dnl
-AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-AC_REQUIRE_AUX_FILE([compile])dnl
-# FIXME: we rely on the cache variable name because
-# there is no other way.
-set dummy $CC
-am_cc=`echo $[2] | sed ['s/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/']`
-eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
-if test "$am_t" != yes; then
- # Losing compiler, so override with the script.
- # FIXME: It is wrong to rewrite CC.
- # But if we don't then we get into trouble of one sort or another.
- # A longer-term fix would be to have automake use am__CC in this case,
- # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
- CC="$am_aux_dir/compile $CC"
-fi
-dnl Make sure AC_PROG_CC is never called again, or it will override our
-dnl setting of CC.
-m4_define([AC_PROG_CC],
- [m4_fatal([AC_PROG_CC cannot be called after AM_PROG_CC_C_O])])
-])
-
# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
-# Copyright (C) 1997-2013 Free Software Foundation, Inc.
+# Copyright (C) 1997-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -1012,7 +1044,7 @@ fi
# Helper functions for option handling. -*- Autoconf -*-
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -1041,7 +1073,54 @@ AC_DEFUN([_AM_SET_OPTIONS],
AC_DEFUN([_AM_IF_OPTION],
[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# _AM_PROG_CC_C_O
+# ---------------
+# Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC
+# to automatically call this.
+AC_DEFUN([_AM_PROG_CC_C_O],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([compile])dnl
+AC_LANG_PUSH([C])dnl
+AC_CACHE_CHECK(
+ [whether $CC understands -c and -o together],
+ [am_cv_prog_cc_c_o],
+ [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])])
+ # Make sure it works both with $CC and with simple cc.
+ # Following AC_PROG_CC_C_O, we do the test twice because some
+ # compilers refuse to overwrite an existing .o file with -o,
+ # though they will create one.
+ am_cv_prog_cc_c_o=yes
+ for am_i in 1 2; do
+ if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \
+ && test -f conftest2.$ac_objext; then
+ : OK
+ else
+ am_cv_prog_cc_c_o=no
+ break
+ fi
+ done
+ rm -f core conftest*
+ unset am_i])
+if test "$am_cv_prog_cc_c_o" != yes; then
+ # Losing compiler, so override with the script.
+ # FIXME: It is wrong to rewrite CC.
+ # But if we don't then we get into trouble of one sort or another.
+ # A longer-term fix would be to have automake use am__CC in this case,
+ # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+ CC="$am_aux_dir/compile $CC"
+fi
+AC_LANG_POP([C])])
+
+# For backward compatibility.
+AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
+
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -1060,7 +1139,7 @@ AC_DEFUN([AM_RUN_LOG],
# Check to make sure that the build environment is sane. -*- Autoconf -*-
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -1141,7 +1220,7 @@ AC_CONFIG_COMMANDS_PRE(
rm -f conftest.file
])
-# Copyright (C) 2009-2013 Free Software Foundation, Inc.
+# Copyright (C) 2009-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -1201,7 +1280,7 @@ AC_SUBST([AM_BACKSLASH])dnl
_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
])
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -1229,7 +1308,7 @@ fi
INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
AC_SUBST([INSTALL_STRIP_PROGRAM])])
-# Copyright (C) 2006-2013 Free Software Foundation, Inc.
+# Copyright (C) 2006-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -1248,7 +1327,7 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
# Check how to create a tarball. -*- Autoconf -*-
-# Copyright (C) 2004-2013 Free Software Foundation, Inc.
+# Copyright (C) 2004-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff --git a/compile b/compile
index 531136b..a85b723 100755
--- a/compile
+++ b/compile
@@ -3,7 +3,7 @@
scriptversion=2012-10-14.11; # UTC
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
# Written by Tom Tromey <tromey(a)cygnus.com>.
#
# This program is free software; you can redistribute it and/or modify
diff --git a/config.guess b/config.guess
index b79252d..dbfb978 100755
--- a/config.guess
+++ b/config.guess
@@ -1,8 +1,8 @@
#! /bin/sh
# Attempt to guess a canonical system name.
-# Copyright 1992-2013 Free Software Foundation, Inc.
+# Copyright 1992-2015 Free Software Foundation, Inc.
-timestamp='2013-06-10'
+timestamp='2015-01-01'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -24,12 +24,12 @@ timestamp='2013-06-10'
# program. This Exception is an additional permission under section 7
# of the GNU General Public License, version 3 ("GPLv3").
#
-# Originally written by Per Bothner.
+# Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
#
# You can get the latest version of this script from:
# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.gu...
#
-# Please send patches with a ChangeLog entry to config-patches(a)gnu.org.
+# Please send patches to <config-patches(a)gnu.org>.
me=`echo "$0" | sed -e 's,.*/,,'`
@@ -50,7 +50,7 @@ version="\
GNU config.guess ($timestamp)
Originally written by Per Bothner.
-Copyright 1992-2013 Free Software Foundation, Inc.
+Copyright 1992-2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -149,7 +149,7 @@ Linux|GNU|GNU/*)
LIBC=gnu
#endif
EOF
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
;;
esac
@@ -579,8 +579,9 @@ EOF
else
IBM_ARCH=powerpc
fi
- if [ -x /usr/bin/oslevel ] ; then
- IBM_REV=`/usr/bin/oslevel`
+ if [ -x /usr/bin/lslpp ] ; then
+ IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc |
+ awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`
else
IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
fi
@@ -826,7 +827,7 @@ EOF
*:MINGW*:*)
echo ${UNAME_MACHINE}-pc-mingw32
exit ;;
- i*:MSYS*:*)
+ *:MSYS*:*)
echo ${UNAME_MACHINE}-pc-msys
exit ;;
i*:windows32*:*)
@@ -969,10 +970,10 @@ EOF
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
;;
- or1k:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ openrisc*:Linux:*:*)
+ echo or1k-unknown-linux-${LIBC}
exit ;;
- or32:Linux:*:*)
+ or32:Linux:*:* | or1k*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
padre:Linux:*:*)
@@ -1260,16 +1261,26 @@ EOF
if test "$UNAME_PROCESSOR" = unknown ; then
UNAME_PROCESSOR=powerpc
fi
- if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
- if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
- (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
- grep IS_64BIT_ARCH >/dev/null
- then
- case $UNAME_PROCESSOR in
- i386) UNAME_PROCESSOR=x86_64 ;;
- powerpc) UNAME_PROCESSOR=powerpc64 ;;
- esac
+ if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then
+ if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+ if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
+ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+ grep IS_64BIT_ARCH >/dev/null
+ then
+ case $UNAME_PROCESSOR in
+ i386) UNAME_PROCESSOR=x86_64 ;;
+ powerpc) UNAME_PROCESSOR=powerpc64 ;;
+ esac
+ fi
fi
+ elif test "$UNAME_PROCESSOR" = i386 ; then
+ # Avoid executing cc on OS X 10.9, as it ships with a stub
+ # that puts up a graphical alert prompting to install
+ # developer tools. Any system running Mac OS X 10.7 or
+ # later (Darwin 11 and later) is required to have a 64-bit
+ # processor. This is not true of the ARM version of Darwin
+ # that Apple uses in portable devices.
+ UNAME_PROCESSOR=x86_64
fi
echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
exit ;;
@@ -1361,154 +1372,6 @@ EOF
exit ;;
esac
-eval $set_cc_for_build
-cat >$dummy.c <<EOF
-#ifdef _SEQUENT_
-# include <sys/types.h>
-# include <sys/utsname.h>
-#endif
-main ()
-{
-#if defined (sony)
-#if defined (MIPSEB)
- /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
- I don't know.... */
- printf ("mips-sony-bsd\n"); exit (0);
-#else
-#include <sys/param.h>
- printf ("m68k-sony-newsos%s\n",
-#ifdef NEWSOS4
- "4"
-#else
- ""
-#endif
- ); exit (0);
-#endif
-#endif
-
-#if defined (__arm) && defined (__acorn) && defined (__unix)
- printf ("arm-acorn-riscix\n"); exit (0);
-#endif
-
-#if defined (hp300) && !defined (hpux)
- printf ("m68k-hp-bsd\n"); exit (0);
-#endif
-
-#if defined (NeXT)
-#if !defined (__ARCHITECTURE__)
-#define __ARCHITECTURE__ "m68k"
-#endif
- int version;
- version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
- if (version < 4)
- printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
- else
- printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
- exit (0);
-#endif
-
-#if defined (MULTIMAX) || defined (n16)
-#if defined (UMAXV)
- printf ("ns32k-encore-sysv\n"); exit (0);
-#else
-#if defined (CMU)
- printf ("ns32k-encore-mach\n"); exit (0);
-#else
- printf ("ns32k-encore-bsd\n"); exit (0);
-#endif
-#endif
-#endif
-
-#if defined (__386BSD__)
- printf ("i386-pc-bsd\n"); exit (0);
-#endif
-
-#if defined (sequent)
-#if defined (i386)
- printf ("i386-sequent-dynix\n"); exit (0);
-#endif
-#if defined (ns32000)
- printf ("ns32k-sequent-dynix\n"); exit (0);
-#endif
-#endif
-
-#if defined (_SEQUENT_)
- struct utsname un;
-
- uname(&un);
-
- if (strncmp(un.version, "V2", 2) == 0) {
- printf ("i386-sequent-ptx2\n"); exit (0);
- }
- if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
- printf ("i386-sequent-ptx1\n"); exit (0);
- }
- printf ("i386-sequent-ptx\n"); exit (0);
-
-#endif
-
-#if defined (vax)
-# if !defined (ultrix)
-# include <sys/param.h>
-# if defined (BSD)
-# if BSD == 43
- printf ("vax-dec-bsd4.3\n"); exit (0);
-# else
-# if BSD == 199006
- printf ("vax-dec-bsd4.3reno\n"); exit (0);
-# else
- printf ("vax-dec-bsd\n"); exit (0);
-# endif
-# endif
-# else
- printf ("vax-dec-bsd\n"); exit (0);
-# endif
-# else
- printf ("vax-dec-ultrix\n"); exit (0);
-# endif
-#endif
-
-#if defined (alliant) && defined (i860)
- printf ("i860-alliant-bsd\n"); exit (0);
-#endif
-
- exit (1);
-}
-EOF
-
-$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
- { echo "$SYSTEM_NAME"; exit; }
-
-# Apollos put the system type in the environment.
-
-test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
-
-# Convex versions that predate uname can use getsysinfo(1)
-
-if [ -x /usr/convex/getsysinfo ]
-then
- case `getsysinfo -f cpu_type` in
- c1*)
- echo c1-convex-bsd
- exit ;;
- c2*)
- if getsysinfo -f scalar_acc
- then echo c32-convex-bsd
- else echo c2-convex-bsd
- fi
- exit ;;
- c34*)
- echo c34-convex-bsd
- exit ;;
- c38*)
- echo c38-convex-bsd
- exit ;;
- c4*)
- echo c4-convex-bsd
- exit ;;
- esac
-fi
-
cat >&2 <<EOF
$0: unable to guess system type
diff --git a/config.h.in b/config.h.in
index 041a18f..918c13e 100644
--- a/config.h.in
+++ b/config.h.in
@@ -354,9 +354,6 @@
/* no getdomainname */
#undef NO_DOMAINNAME
-/* Define to 1 if your C compiler doesn't accept -c and -o together. */
-#undef NO_MINUS_C_MINUS_O
-
/* OS version */
#undef OSVERSION
diff --git a/config.sub b/config.sub
index c765b34..6467c95 100755
--- a/config.sub
+++ b/config.sub
@@ -1,8 +1,8 @@
#! /bin/sh
# Configuration validation subroutine script.
-# Copyright 1992-2013 Free Software Foundation, Inc.
+# Copyright 1992-2015 Free Software Foundation, Inc.
-timestamp='2013-04-24'
+timestamp='2015-01-01'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -25,7 +25,7 @@ timestamp='2013-04-24'
# of the GNU General Public License, version 3 ("GPLv3").
-# Please send patches with a ChangeLog entry to config-patches(a)gnu.org.
+# Please send patches to <config-patches(a)gnu.org>.
#
# Configuration subroutine to validate and canonicalize a configuration type.
# Supply the specified configuration type as an argument.
@@ -68,7 +68,7 @@ Report bugs and patches to <config-patches(a)gnu.org>."
version="\
GNU config.sub ($timestamp)
-Copyright 1992-2013 Free Software Foundation, Inc.
+Copyright 1992-2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -257,14 +257,15 @@ case $basic_machine in
| avr | avr32 \
| be32 | be64 \
| bfin \
- | c4x | clipper \
+ | c4x | c8051 | clipper \
| d10v | d30v | dlx | dsp16xx \
| epiphany \
- | fido | fr30 | frv \
+ | fido | fr30 | frv | ft32 \
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
| hexagon \
| i370 | i860 | i960 | ia64 \
| ip2k | iq2000 \
+ | k1om \
| le32 | le64 \
| lm32 \
| m32c | m32r | m32rle | m68000 | m68k | m88k \
@@ -282,8 +283,10 @@ case $basic_machine in
| mips64vr5900 | mips64vr5900el \
| mipsisa32 | mipsisa32el \
| mipsisa32r2 | mipsisa32r2el \
+ | mipsisa32r6 | mipsisa32r6el \
| mipsisa64 | mipsisa64el \
| mipsisa64r2 | mipsisa64r2el \
+ | mipsisa64r6 | mipsisa64r6el \
| mipsisa64sb1 | mipsisa64sb1el \
| mipsisa64sr71k | mipsisa64sr71kel \
| mipsr5900 | mipsr5900el \
@@ -295,11 +298,11 @@ case $basic_machine in
| nds32 | nds32le | nds32be \
| nios | nios2 | nios2eb | nios2el \
| ns16k | ns32k \
- | open8 \
- | or1k | or32 \
+ | open8 | or1k | or1knd | or32 \
| pdp10 | pdp11 | pj | pjl \
| powerpc | powerpc64 | powerpc64le | powerpcle \
| pyramid \
+ | riscv32 | riscv64 \
| rl78 | rx \
| score \
| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
@@ -310,6 +313,7 @@ case $basic_machine in
| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
| ubicom32 \
| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
+ | visium \
| we32k \
| x86 | xc16x | xstormy16 | xtensa \
| z8k | z80)
@@ -324,7 +328,10 @@ case $basic_machine in
c6x)
basic_machine=tic6x-unknown
;;
- m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip)
+ leon|leon[3-9])
+ basic_machine=sparc-$basic_machine
+ ;;
+ m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
basic_machine=$basic_machine-unknown
os=-none
;;
@@ -372,7 +379,7 @@ case $basic_machine in
| be32-* | be64-* \
| bfin-* | bs2000-* \
| c[123]* | c30-* | [cjt]90-* | c4x-* \
- | clipper-* | craynv-* | cydra-* \
+ | c8051-* | clipper-* | craynv-* | cydra-* \
| d10v-* | d30v-* | dlx-* \
| elxsi-* \
| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
@@ -381,6 +388,7 @@ case $basic_machine in
| hexagon-* \
| i*86-* | i860-* | i960-* | ia64-* \
| ip2k-* | iq2000-* \
+ | k1om-* \
| le32-* | le64-* \
| lm32-* \
| m32c-* | m32r-* | m32rle-* \
@@ -400,8 +408,10 @@ case $basic_machine in
| mips64vr5900-* | mips64vr5900el-* \
| mipsisa32-* | mipsisa32el-* \
| mipsisa32r2-* | mipsisa32r2el-* \
+ | mipsisa32r6-* | mipsisa32r6el-* \
| mipsisa64-* | mipsisa64el-* \
| mipsisa64r2-* | mipsisa64r2el-* \
+ | mipsisa64r6-* | mipsisa64r6el-* \
| mipsisa64sb1-* | mipsisa64sb1el-* \
| mipsisa64sr71k-* | mipsisa64sr71kel-* \
| mipsr5900-* | mipsr5900el-* \
@@ -413,6 +423,7 @@ case $basic_machine in
| nios-* | nios2-* | nios2eb-* | nios2el-* \
| none-* | np1-* | ns16k-* | ns32k-* \
| open8-* \
+ | or1k*-* \
| orion-* \
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
@@ -430,6 +441,7 @@ case $basic_machine in
| ubicom32-* \
| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
| vax-* \
+ | visium-* \
| we32k-* \
| x86-* | x86_64-* | xc16x-* | xps100-* \
| xstormy16-* | xtensa*-* \
@@ -767,6 +779,9 @@ case $basic_machine in
basic_machine=m68k-isi
os=-sysv
;;
+ leon-*|leon[3-9]-*)
+ basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'`
+ ;;
m68knommu)
basic_machine=m68k-unknown
os=-linux
@@ -794,7 +809,7 @@ case $basic_machine in
os=-mingw64
;;
mingw32)
- basic_machine=i386-pc
+ basic_machine=i686-pc
os=-mingw32
;;
mingw32ce)
@@ -822,6 +837,10 @@ case $basic_machine in
basic_machine=powerpc-unknown
os=-morphos
;;
+ moxiebox)
+ basic_machine=moxie-unknown
+ os=-moxiebox
+ ;;
msdos)
basic_machine=i386-pc
os=-msdos
@@ -830,7 +849,7 @@ case $basic_machine in
basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
;;
msys)
- basic_machine=i386-pc
+ basic_machine=i686-pc
os=-msys
;;
mvs)
@@ -1367,14 +1386,14 @@ case $os in
| -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
| -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
| -linux-newlib* | -linux-musl* | -linux-uclibc* \
- | -uxpv* | -beos* | -mpeix* | -udk* \
+ | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
| -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
- | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
+ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*)
# Remember, each alternative MUST END IN *, to match a version number.
;;
-qnx*)
@@ -1546,6 +1565,9 @@ case $basic_machine in
c4x-* | tic4x-*)
os=-coff
;;
+ c8051-*)
+ os=-elf
+ ;;
hexagon-*)
os=-elf
;;
@@ -1589,9 +1611,6 @@ case $basic_machine in
mips*-*)
os=-elf
;;
- or1k-*)
- os=-elf
- ;;
or32-*)
os=-coff
;;
diff --git a/configure b/configure
index 0fa6772..c996da5 100755
--- a/configure
+++ b/configure
@@ -2804,7 +2804,7 @@ cat >>confdefs.h <<_ACEOF
#define DS_PACKAGE_STRING "$PACKAGE_STRING"
_ACEOF
-am__api_version='1.13'
+am__api_version='1.15'
ac_aux_dir=
for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
@@ -3005,8 +3005,8 @@ test "$program_suffix" != NONE &&
ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
+# Expand $ac_aux_dir to an absolute path.
+am_aux_dir=`cd "$ac_aux_dir" && pwd`
if test x"${MISSING+set}" != xset; then
case $am_aux_dir in
@@ -3025,7 +3025,7 @@ else
$as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;}
fi
-if test x"${install_sh}" != xset; then
+if test x"${install_sh+set}" != xset; then
case $am_aux_dir in
*\ * | *\ *)
install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
@@ -3344,8 +3344,8 @@ MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
mkdir_p='$(MKDIR_P)'
-# We need awk for the "check" target. The system "awk" is bad on
-# some platforms.
+# We need awk for the "check" target (and possibly the TAP driver). The
+# system "awk" is bad on some platforms.
# Always define AMTAR for backward compatibility. Yes, it's still used
# in the wild :-( We should find a proper way to deprecate it ...
AMTAR='$${TAR-tar}'
@@ -3446,6 +3446,48 @@ $as_echo "$am_cv_prog_tar_pax" >&6; }
+# POSIX will say in a future version that running "rm -f" with no argument
+# is OK; and we want to be able to make that assumption in our Makefile
+# recipes. So use an aggressive probe to check that the usage we want is
+# actually supported "in the wild" to an acceptable degree.
+# See automake bug#10828.
+# To make any issue more visible, cause the running configure to be aborted
+# by default if the 'rm' program in use doesn't match our expectations; the
+# user can still override this though.
+if rm -f && rm -fr && rm -rf; then : OK; else
+ cat >&2 <<'END'
+Oops!
+
+Your 'rm' program seems unable to run without file operands specified
+on the command line, even when the '-f' option is present. This is contrary
+to the behaviour of most rm programs out there, and not conforming with
+the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
+
+Please tell bug-automake(a)gnu.org about your system, including the value
+of your $PATH and any error possibly output before this message. This
+can help us improve future automake versions.
+
+END
+ if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
+ echo 'Configuration will proceed anyway, since you have set the' >&2
+ echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
+ echo >&2
+ else
+ cat >&2 <<'END'
+Aborting the configuration process, to ensure you take notice of the issue.
+
+You can download and install GNU coreutils to get an 'rm' implementation
+that behaves properly: <http://www.gnu.org/software/coreutils/>.
+
+If you want to complete the configuration process using your problematic
+'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
+to "yes", and re-run configure.
+
+END
+ as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5
+ fi
+fi
+
# define these for automake distdir
VERSION=$PACKAGE_VERSION
PACKAGE=$PACKAGE_TARNAME
@@ -4795,6 +4837,65 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5
+$as_echo_n "checking whether $CC understands -c and -o together... " >&6; }
+if ${am_cv_prog_cc_c_o+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+ # Make sure it works both with $CC and with simple cc.
+ # Following AC_PROG_CC_C_O, we do the test twice because some
+ # compilers refuse to overwrite an existing .o file with -o,
+ # though they will create one.
+ am_cv_prog_cc_c_o=yes
+ for am_i in 1 2; do
+ if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5
+ ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } \
+ && test -f conftest2.$ac_objext; then
+ : OK
+ else
+ am_cv_prog_cc_c_o=no
+ break
+ fi
+ done
+ rm -f core conftest*
+ unset am_i
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5
+$as_echo "$am_cv_prog_cc_c_o" >&6; }
+if test "$am_cv_prog_cc_c_o" != yes; then
+ # Losing compiler, so override with the script.
+ # FIXME: It is wrong to rewrite CC.
+ # But if we don't then we get into trouble of one sort or another.
+ # A longer-term fix would be to have automake use am__CC in this case,
+ # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+ CC="$am_aux_dir/compile $CC"
+fi
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
depcc="$CC" am_compiler_list=
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
@@ -4923,131 +5024,6 @@ else
fi
-if test "x$CC" != xcc; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC and cc understand -c and -o together" >&5
-$as_echo_n "checking whether $CC and cc understand -c and -o together... " >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cc understands -c and -o together" >&5
-$as_echo_n "checking whether cc understands -c and -o together... " >&6; }
-fi
-set dummy $CC; ac_cc=`$as_echo "$2" |
- sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-if eval \${ac_cv_prog_cc_${ac_cc}_c_o+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-# Make sure it works both with $CC and with simple cc.
-# We do the test twice because some compilers refuse to overwrite an
-# existing .o file with -o, though they will create one.
-ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
-rm -f conftest2.*
-if { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } &&
- test -f conftest2.$ac_objext && { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; };
-then
- eval ac_cv_prog_cc_${ac_cc}_c_o=yes
- if test "x$CC" != xcc; then
- # Test first that cc exists at all.
- if { ac_try='cc -c conftest.$ac_ext >&5'
- { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then
- ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
- rm -f conftest2.*
- if { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } &&
- test -f conftest2.$ac_objext && { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; };
- then
- # cc works too.
- :
- else
- # cc exists but doesn't like -o.
- eval ac_cv_prog_cc_${ac_cc}_c_o=no
- fi
- fi
- fi
-else
- eval ac_cv_prog_cc_${ac_cc}_c_o=no
-fi
-rm -f core conftest*
-
-fi
-if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-$as_echo "#define NO_MINUS_C_MINUS_O 1" >>confdefs.h
-
-fi
-
-# FIXME: we rely on the cache variable name because
-# there is no other way.
-set dummy $CC
-am_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
-if test "$am_t" != yes; then
- # Losing compiler, so override with the script.
- # FIXME: It is wrong to rewrite CC.
- # But if we don't then we get into trouble of one sort or another.
- # A longer-term fix would be to have automake use am__CC in this case,
- # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
- CC="$am_aux_dir/compile $CC"
-fi
-
# By default we simply use the C compiler to build assembly code.
@@ -7553,7 +7529,7 @@ ia64-*-hpux*)
rm -rf conftest*
;;
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
+x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
# Find out which ABI we are using.
echo 'int i;' > conftest.$ac_ext
@@ -7571,7 +7547,10 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
x86_64-*linux*)
LD="${LD-ld} -m elf_i386"
;;
- ppc64-*linux*|powerpc64-*linux*)
+ powerpc64le-*linux*)
+ LD="${LD-ld} -m elf32lppclinux"
+ ;;
+ powerpc64-*linux*)
LD="${LD-ld} -m elf32ppclinux"
;;
s390x-*linux*)
@@ -7590,7 +7569,10 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
x86_64-*linux*)
LD="${LD-ld} -m elf_x86_64"
;;
- ppc*-*linux*|powerpc*-*linux*)
+ powerpcle-*linux*)
+ LD="${LD-ld} -m elf64lppc"
+ ;;
+ powerpc-*linux*)
LD="${LD-ld} -m elf64ppc"
;;
s390*-*linux*|s390*-*tpf*)
diff --git a/depcomp b/depcomp
index 4ebd5b3..fc98710 100755
--- a/depcomp
+++ b/depcomp
@@ -3,7 +3,7 @@
scriptversion=2013-05-30.07; # UTC
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/install-sh b/install-sh
index 377bb86..0b0fdcb 100755
--- a/install-sh
+++ b/install-sh
@@ -1,7 +1,7 @@
#!/bin/sh
# install - install a program, script, or datafile
-scriptversion=2011-11-20.07; # UTC
+scriptversion=2013-12-25.23; # UTC
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
@@ -41,19 +41,15 @@ scriptversion=2011-11-20.07; # UTC
# This script is compatible with the BSD install script, but was written
# from scratch.
+tab=' '
nl='
'
-IFS=" "" $nl"
+IFS=" $tab$nl"
-# set DOITPROG to echo to test this script
+# Set DOITPROG to "echo" to test this script.
-# Don't use :- since 4.3BSD and earlier shells don't like it.
doit=${DOITPROG-}
-if test -z "$doit"; then
- doit_exec=exec
-else
- doit_exec=$doit
-fi
+doit_exec=${doit:-exec}
# Put in absolute file names if you don't have them in your path;
# or use environment vars.
@@ -68,17 +64,6 @@ mvprog=${MVPROG-mv}
rmprog=${RMPROG-rm}
stripprog=${STRIPPROG-strip}
-posix_glob='?'
-initialize_posix_glob='
- test "$posix_glob" != "?" || {
- if (set -f) 2>/dev/null; then
- posix_glob=
- else
- posix_glob=:
- fi
- }
-'
-
posix_mkdir=
# Desired mode of installed file.
@@ -97,7 +82,7 @@ dir_arg=
dst_arg=
copy_on_change=false
-no_target_directory=
+is_target_a_directory=possibly
usage="\
Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
@@ -137,46 +122,57 @@ while test $# -ne 0; do
-d) dir_arg=true;;
-g) chgrpcmd="$chgrpprog $2"
- shift;;
+ shift;;
--help) echo "$usage"; exit $?;;
-m) mode=$2
- case $mode in
- *' '* | *' '* | *'
-'* | *'*'* | *'?'* | *'['*)
- echo "$0: invalid mode: $mode" >&2
- exit 1;;
- esac
- shift;;
+ case $mode in
+ *' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*)
+ echo "$0: invalid mode: $mode" >&2
+ exit 1;;
+ esac
+ shift;;
-o) chowncmd="$chownprog $2"
- shift;;
+ shift;;
-s) stripcmd=$stripprog;;
- -t) dst_arg=$2
- # Protect names problematic for 'test' and other utilities.
- case $dst_arg in
- -* | [=\(\)!]) dst_arg=./$dst_arg;;
- esac
- shift;;
+ -t)
+ is_target_a_directory=always
+ dst_arg=$2
+ # Protect names problematic for 'test' and other utilities.
+ case $dst_arg in
+ -* | [=\(\)!]) dst_arg=./$dst_arg;;
+ esac
+ shift;;
- -T) no_target_directory=true;;
+ -T) is_target_a_directory=never;;
--version) echo "$0 $scriptversion"; exit $?;;
- --) shift
- break;;
+ --) shift
+ break;;
- -*) echo "$0: invalid option: $1" >&2
- exit 1;;
+ -*) echo "$0: invalid option: $1" >&2
+ exit 1;;
*) break;;
esac
shift
done
+# We allow the use of options -d and -T together, by making -d
+# take the precedence; this is for compatibility with GNU install.
+
+if test -n "$dir_arg"; then
+ if test -n "$dst_arg"; then
+ echo "$0: target directory not allowed when installing a directory." >&2
+ exit 1
+ fi
+fi
+
if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
# When -d is used, all remaining arguments are directories to create.
# When -t is used, the destination is already specified.
@@ -208,6 +204,15 @@ if test $# -eq 0; then
fi
if test -z "$dir_arg"; then
+ if test $# -gt 1 || test "$is_target_a_directory" = always; then
+ if test ! -d "$dst_arg"; then
+ echo "$0: $dst_arg: Is not a directory." >&2
+ exit 1
+ fi
+ fi
+fi
+
+if test -z "$dir_arg"; then
do_exit='(exit $ret); exit $ret'
trap "ret=129; $do_exit" 1
trap "ret=130; $do_exit" 2
@@ -223,16 +228,16 @@ if test -z "$dir_arg"; then
*[0-7])
if test -z "$stripcmd"; then
- u_plus_rw=
+ u_plus_rw=
else
- u_plus_rw='% 200'
+ u_plus_rw='% 200'
fi
cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
*)
if test -z "$stripcmd"; then
- u_plus_rw=
+ u_plus_rw=
else
- u_plus_rw=,u+rw
+ u_plus_rw=,u+rw
fi
cp_umask=$mode$u_plus_rw;;
esac
@@ -269,41 +274,15 @@ do
# If destination is a directory, append the input filename; won't work
# if double slashes aren't ignored.
if test -d "$dst"; then
- if test -n "$no_target_directory"; then
- echo "$0: $dst_arg: Is a directory" >&2
- exit 1
+ if test "$is_target_a_directory" = never; then
+ echo "$0: $dst_arg: Is a directory" >&2
+ exit 1
fi
dstdir=$dst
dst=$dstdir/`basename "$src"`
dstdir_status=0
else
- # Prefer dirname, but fall back on a substitute if dirname fails.
- dstdir=`
- (dirname "$dst") 2>/dev/null ||
- expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$dst" : 'X\(//\)[^/]' \| \
- X"$dst" : 'X\(//\)$' \| \
- X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
- echo X"$dst" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'
- `
-
+ dstdir=`dirname "$dst"`
test -d "$dstdir"
dstdir_status=$?
fi
@@ -314,74 +293,74 @@ do
if test $dstdir_status != 0; then
case $posix_mkdir in
'')
- # Create intermediate dirs using mode 755 as modified by the umask.
- # This is like FreeBSD 'install' as of 1997-10-28.
- umask=`umask`
- case $stripcmd.$umask in
- # Optimize common cases.
- *[2367][2367]) mkdir_umask=$umask;;
- .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
-
- *[0-7])
- mkdir_umask=`expr $umask + 22 \
- - $umask % 100 % 40 + $umask % 20 \
- - $umask % 10 % 4 + $umask % 2
- `;;
- *) mkdir_umask=$umask,go-w;;
- esac
-
- # With -d, create the new directory with the user-specified mode.
- # Otherwise, rely on $mkdir_umask.
- if test -n "$dir_arg"; then
- mkdir_mode=-m$mode
- else
- mkdir_mode=
- fi
-
- posix_mkdir=false
- case $umask in
- *[123567][0-7][0-7])
- # POSIX mkdir -p sets u+wx bits regardless of umask, which
- # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
- ;;
- *)
- tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
- trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
-
- if (umask $mkdir_umask &&
- exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
- then
- if test -z "$dir_arg" || {
- # Check for POSIX incompatibilities with -m.
- # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
- # other-writable bit of parent directory when it shouldn't.
- # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
- ls_ld_tmpdir=`ls -ld "$tmpdir"`
- case $ls_ld_tmpdir in
- d????-?r-*) different_mode=700;;
- d????-?--*) different_mode=755;;
- *) false;;
- esac &&
- $mkdirprog -m$different_mode -p -- "$tmpdir" && {
- ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
- test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
- }
- }
- then posix_mkdir=:
- fi
- rmdir "$tmpdir/d" "$tmpdir"
- else
- # Remove any dirs left behind by ancient mkdir implementations.
- rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
- fi
- trap '' 0;;
- esac;;
+ # Create intermediate dirs using mode 755 as modified by the umask.
+ # This is like FreeBSD 'install' as of 1997-10-28.
+ umask=`umask`
+ case $stripcmd.$umask in
+ # Optimize common cases.
+ *[2367][2367]) mkdir_umask=$umask;;
+ .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
+
+ *[0-7])
+ mkdir_umask=`expr $umask + 22 \
+ - $umask % 100 % 40 + $umask % 20 \
+ - $umask % 10 % 4 + $umask % 2
+ `;;
+ *) mkdir_umask=$umask,go-w;;
+ esac
+
+ # With -d, create the new directory with the user-specified mode.
+ # Otherwise, rely on $mkdir_umask.
+ if test -n "$dir_arg"; then
+ mkdir_mode=-m$mode
+ else
+ mkdir_mode=
+ fi
+
+ posix_mkdir=false
+ case $umask in
+ *[123567][0-7][0-7])
+ # POSIX mkdir -p sets u+wx bits regardless of umask, which
+ # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
+ ;;
+ *)
+ tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
+ trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
+
+ if (umask $mkdir_umask &&
+ exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
+ then
+ if test -z "$dir_arg" || {
+ # Check for POSIX incompatibilities with -m.
+ # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
+ # other-writable bit of parent directory when it shouldn't.
+ # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
+ ls_ld_tmpdir=`ls -ld "$tmpdir"`
+ case $ls_ld_tmpdir in
+ d????-?r-*) different_mode=700;;
+ d????-?--*) different_mode=755;;
+ *) false;;
+ esac &&
+ $mkdirprog -m$different_mode -p -- "$tmpdir" && {
+ ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
+ test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
+ }
+ }
+ then posix_mkdir=:
+ fi
+ rmdir "$tmpdir/d" "$tmpdir"
+ else
+ # Remove any dirs left behind by ancient mkdir implementations.
+ rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
+ fi
+ trap '' 0;;
+ esac;;
esac
if
$posix_mkdir && (
- umask $mkdir_umask &&
- $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
+ umask $mkdir_umask &&
+ $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
)
then :
else
@@ -391,53 +370,51 @@ do
# directory the slow way, step by step, checking for races as we go.
case $dstdir in
- /*) prefix='/';;
- [-=\(\)!]*) prefix='./';;
- *) prefix='';;
+ /*) prefix='/';;
+ [-=\(\)!]*) prefix='./';;
+ *) prefix='';;
esac
- eval "$initialize_posix_glob"
-
oIFS=$IFS
IFS=/
- $posix_glob set -f
+ set -f
set fnord $dstdir
shift
- $posix_glob set +f
+ set +f
IFS=$oIFS
prefixes=
for d
do
- test X"$d" = X && continue
-
- prefix=$prefix$d
- if test -d "$prefix"; then
- prefixes=
- else
- if $posix_mkdir; then
- (umask=$mkdir_umask &&
- $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
- # Don't fail if two instances are running concurrently.
- test -d "$prefix" || exit 1
- else
- case $prefix in
- *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
- *) qprefix=$prefix;;
- esac
- prefixes="$prefixes '$qprefix'"
- fi
- fi
- prefix=$prefix/
+ test X"$d" = X && continue
+
+ prefix=$prefix$d
+ if test -d "$prefix"; then
+ prefixes=
+ else
+ if $posix_mkdir; then
+ (umask=$mkdir_umask &&
+ $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
+ # Don't fail if two instances are running concurrently.
+ test -d "$prefix" || exit 1
+ else
+ case $prefix in
+ *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
+ *) qprefix=$prefix;;
+ esac
+ prefixes="$prefixes '$qprefix'"
+ fi
+ fi
+ prefix=$prefix/
done
if test -n "$prefixes"; then
- # Don't fail if two instances are running concurrently.
- (umask $mkdir_umask &&
- eval "\$doit_exec \$mkdirprog $prefixes") ||
- test -d "$dstdir" || exit 1
- obsolete_mkdir_used=true
+ # Don't fail if two instances are running concurrently.
+ (umask $mkdir_umask &&
+ eval "\$doit_exec \$mkdirprog $prefixes") ||
+ test -d "$dstdir" || exit 1
+ obsolete_mkdir_used=true
fi
fi
fi
@@ -472,15 +449,12 @@ do
# If -C, don't bother to copy if it wouldn't change the file.
if $copy_on_change &&
- old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
- new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
-
- eval "$initialize_posix_glob" &&
- $posix_glob set -f &&
+ old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
+ new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
+ set -f &&
set X $old && old=:$2:$4:$5:$6 &&
set X $new && new=:$2:$4:$5:$6 &&
- $posix_glob set +f &&
-
+ set +f &&
test "$old" = "$new" &&
$cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
then
@@ -493,24 +467,24 @@ do
# to itself, or perhaps because mv is so ancient that it does not
# support -f.
{
- # Now remove or move aside any old file at destination location.
- # We try this two ways since rm can't unlink itself on some
- # systems and the destination file might be busy for other
- # reasons. In this case, the final cleanup might fail but the new
- # file should still install successfully.
- {
- test ! -f "$dst" ||
- $doit $rmcmd -f "$dst" 2>/dev/null ||
- { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
- { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
- } ||
- { echo "$0: cannot unlink or rename $dst" >&2
- (exit 1); exit 1
- }
- } &&
-
- # Now rename the file to the real destination.
- $doit $mvcmd "$dsttmp" "$dst"
+ # Now remove or move aside any old file at destination location.
+ # We try this two ways since rm can't unlink itself on some
+ # systems and the destination file might be busy for other
+ # reasons. In this case, the final cleanup might fail but the new
+ # file should still install successfully.
+ {
+ test ! -f "$dst" ||
+ $doit $rmcmd -f "$dst" 2>/dev/null ||
+ { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
+ { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
+ } ||
+ { echo "$0: cannot unlink or rename $dst" >&2
+ (exit 1); exit 1
+ }
+ } &&
+
+ # Now rename the file to the real destination.
+ $doit $mvcmd "$dsttmp" "$dst"
}
fi || exit 1
diff --git a/m4/libtool.m4 b/m4/libtool.m4
index 56666f0..f12cfdf 100644
--- a/m4/libtool.m4
+++ b/m4/libtool.m4
@@ -1312,7 +1312,7 @@ ia64-*-hpux*)
rm -rf conftest*
;;
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
+x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
# Find out which ABI we are using.
echo 'int i;' > conftest.$ac_ext
@@ -1326,7 +1326,10 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
x86_64-*linux*)
LD="${LD-ld} -m elf_i386"
;;
- ppc64-*linux*|powerpc64-*linux*)
+ powerpc64le-*linux*)
+ LD="${LD-ld} -m elf32lppclinux"
+ ;;
+ powerpc64-*linux*)
LD="${LD-ld} -m elf32ppclinux"
;;
s390x-*linux*)
@@ -1345,7 +1348,10 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
x86_64-*linux*)
LD="${LD-ld} -m elf_x86_64"
;;
- ppc*-*linux*|powerpc*-*linux*)
+ powerpcle-*linux*)
+ LD="${LD-ld} -m elf64lppc"
+ ;;
+ powerpc-*linux*)
LD="${LD-ld} -m elf64ppc"
;;
s390*-*linux*|s390*-*tpf*)
diff --git a/missing b/missing
index cdea514..f62bbae 100755
--- a/missing
+++ b/missing
@@ -1,9 +1,9 @@
#! /bin/sh
# Common wrapper for a few potentially missing GNU programs.
-scriptversion=2012-06-26.16; # UTC
+scriptversion=2013-10-28.13; # UTC
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
# Originally written by Fran,cois Pinard <pinard(a)iro.umontreal.ca>, 1996.
# This program is free software; you can redistribute it and/or modify
@@ -160,7 +160,7 @@ give_advice ()
;;
autom4te*)
echo "You might have modified some maintainer files that require"
- echo "the 'automa4te' program to be rebuilt."
+ echo "the 'autom4te' program to be rebuilt."
program_details 'autom4te'
;;
bison*|yacc*)
commit 44333d1ae7d619fe800ef9a8d8550d2fdcf7c553
Author: Noriko Hosoi <nhosoi(a)redhat.com>
Date: Wed Jan 20 22:03:57 2016 -0800
Ticket #48144 - Add /usr/sbin/status-dirsrv script to get the status of the directory server instance.
Description: Adding a script status-dirsrv to show the status of the
Directory Server as well as its man page.
https://fedorahosted.org/389/ticket/48144
Reviewed by mreynolds(a)redhat.com and firstyear(a)redhat.com.
(Thank you, Mark and William!!)
diff --git a/Makefile.am b/Makefile.am
index d90fb27..9b19bd4 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -110,6 +110,7 @@ CLEANFILES = dberrstrs.h ns-slapd.properties \
ldap/admin/src/scripts/setup-ds.pl ldap/admin/src/scripts/setup-ds.res \
ldap/admin/src/scripts/start-dirsrv ldap/admin/src/scripts/stop-dirsrv \
ldap/admin/src/scripts/restart-dirsrv ldap/admin/src/scripts/Setup.pm \
+ ldap/admin/src/scripts/status-dirsrv \
ldap/admin/src/scripts/template-bak2db ldap/admin/src/scripts/template-bak2db.pl \
ldap/admin/src/scripts/template-db2bak ldap/admin/src/scripts/template-db2bak.pl \
ldap/admin/src/scripts/template-db2index ldap/admin/src/scripts/template-db2index.pl \
@@ -577,6 +578,7 @@ sbin_SCRIPTS = ldap/admin/src/scripts/setup-ds.pl \
ldap/admin/src/scripts/start-dirsrv \
ldap/admin/src/scripts/stop-dirsrv \
ldap/admin/src/scripts/restart-dirsrv \
+ ldap/admin/src/scripts/status-dirsrv \
ldap/admin/src/scripts/bak2db \
ldap/admin/src/scripts/db2bak \
ldap/admin/src/scripts/db2index \
@@ -744,6 +746,7 @@ dist_man_MANS = man/man1/dbscan.1 \
man/man8/setup-ds.pl.8 \
man/man8/start-dirsrv.8 \
man/man8/stop-dirsrv.8 \
+ man/man8/status-dirsrv.8 \
man/man8/bak2db.8 man/man8/bak2db.pl.8 \
man/man8/db2bak.8 man/man8/db2bak.pl.8 \
man/man8/db2ldif.8 man/man8/db2ldif.pl.8 \
8 years, 1 month
help/en src/com
by Noriko Hosoi
help/en/help/configtab_db2.html | 2 +-
help/en/help/dir_browser2.html | 2 +-
help/en/help/statustab_general.html | 4 ----
src/com/netscape/admin/dirserv/panel/PasswordPolicyPanel.java | 2 +-
4 files changed, 3 insertions(+), 7 deletions(-)
New commits:
commit e8448ad681e806d9ae91b6abcd190922f841d303
Author: Noriko Hosoi <nhosoi(a)redhat.com>
Date: Wed Jan 20 15:34:36 2016 -0800
Ticket #48417 - ds-console: lower password history minimum to 1
Description: Per request, lower the minimum value of the kept password
history from 2 to 1 for both Global password policy as well as for
Fine-grained password policy.
https://fedorahosted.org/389/ticket/48417
Reviewed by firstyear(a)redhat.com (Thank you, William!!)
diff --git a/help/en/help/configtab_db2.html b/help/en/help/configtab_db2.html
index 5edbb91..31a0f73 100644
--- a/help/en/help/configtab_db2.html
+++ b/help/en/help/configtab_db2.html
@@ -32,7 +32,7 @@ Use this tab to set up a password policy for the directory.
</p>
<p class="text">
-<b>Remember X passwords. </b>If the server is keeping a password history, this option specifies how many old passwords the server should store in the history list. The valid value range is from 2 to 24. The default value is 6.
+<b>Remember X passwords. </b>If the server is keeping a password history, this option specifies how many old passwords the server should store in the history list. The valid value range is from 1 to 24. The default value is 6.
</p>
</blockquote>
diff --git a/help/en/help/dir_browser2.html b/help/en/help/dir_browser2.html
index d479c5c..e6d2e52 100644
--- a/help/en/help/dir_browser2.html
+++ b/help/en/help/dir_browser2.html
@@ -32,7 +32,7 @@ Use this tab to set up a password policy for the currently selected subtree or u
</p>
<p class="text">
-<b>Remember X passwords. </b>If the server is keeping a password history, this option specifies how many old passwords the server should store in the history list. The valid value range is from 2 to 24. The default value is 6.
+<b>Remember X passwords. </b>If the server is keeping a password history, this option specifies how many old passwords the server should store in the history list. The valid value range is from 1 to 24. The default value is 6.
</p>
</blockquote>
diff --git a/help/en/help/statustab_general.html b/help/en/help/statustab_general.html
index 05bf753..2a47561 100644
--- a/help/en/help/statustab_general.html
+++ b/help/en/help/statustab_general.html
@@ -39,9 +39,5 @@ Use this panel to view current server information. You cannot use this panel to
</p>
<p class="text">
-<b>Security level. </b>Indicates whether the server uses domestic (US based, 128-bit ciphers) or export (non-US based, 40-bit ciphers) encryption levels.
-</p>
-
-<p class="text">
<b>Server status. </b>Indicates whether the server is on or off.
</p>
diff --git a/src/com/netscape/admin/dirserv/panel/PasswordPolicyPanel.java b/src/com/netscape/admin/dirserv/panel/PasswordPolicyPanel.java
index 7d3e84b..0050b39 100644
--- a/src/com/netscape/admin/dirserv/panel/PasswordPolicyPanel.java
+++ b/src/com/netscape/admin/dirserv/panel/PasswordPolicyPanel.java
@@ -1322,7 +1322,7 @@ public class PasswordPolicyPanel extends BlankPanel {
private static final String HISTORY_NUM_DN = "cn=config";
private static final String HISTORY_NUM_ATTR_NAME =
"passwordInHistory";
- private static final int HISTORY_NUM_MIN_VAL = 2;
+ private static final int HISTORY_NUM_MIN_VAL = 1;
private static final int HISTORY_NUM_MAX_VAL = 24;
private static final int DAY_TO_SEC_FACTOR = 86400;
8 years, 2 months
ldap/servers
by Noriko Hosoi
ldap/servers/slapd/libglobs.c | 4 ++--
ldap/servers/slapd/modify.c | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
New commits:
commit 5e689f8d61eff1c4f5173592c8310aeae11cc164
Author: Noriko Hosoi <nhosoi(a)redhat.com>
Date: Wed Jan 20 15:22:04 2016 -0800
Ticket #48394 - lower password history minimum to 1
Description: Per request, lower the minimum value of the kept password
history from 2 to 1 for both Global password policy as well as for
Fine-grained password policy.
https://fedorahosted.org/389/ticket/48394
Reviewed by firstyear(a)redhat.com (Thank you, William!!)
diff --git a/ldap/servers/slapd/libglobs.c b/ldap/servers/slapd/libglobs.c
index 94098bf..51fd2b4 100644
--- a/ldap/servers/slapd/libglobs.c
+++ b/ldap/servers/slapd/libglobs.c
@@ -3078,10 +3078,10 @@ config_set_pw_inhistory( const char *attrname, char *value, char *errorbuf, int
errno = 0;
history = strtol(value, &endp, 10);
- if ( *endp != '\0' || errno == ERANGE || history < 2 || history > 24 ) {
+ if ( *endp != '\0' || errno == ERANGE || history < 1 || history > 24 ) {
PR_snprintf ( errorbuf, SLAPI_DSE_RETURNTEXT_SIZE,
"password history length \"%s\" is invalid. "
- "The password history must range from 2 to 24",
+ "The password history must range from 1 to 24",
value );
retVal = LDAP_OPERATIONS_ERROR;
return retVal;
diff --git a/ldap/servers/slapd/modify.c b/ldap/servers/slapd/modify.c
index 28d3055..7465e1e 100644
--- a/ldap/servers/slapd/modify.c
+++ b/ldap/servers/slapd/modify.c
@@ -85,7 +85,7 @@ static struct attr_value_check {
{CONFIG_PW_WARNING_ATTRIBUTE, check_pw_duration_value, 0, -1},
{CONFIG_PW_MINLENGTH_ATTRIBUTE, attr_check_minmax, 2, 512},
{CONFIG_PW_MAXFAILURE_ATTRIBUTE, attr_check_minmax, 1, 32767},
- {CONFIG_PW_INHISTORY_ATTRIBUTE, attr_check_minmax, 2, 24},
+ {CONFIG_PW_INHISTORY_ATTRIBUTE, attr_check_minmax, 1, 24},
{CONFIG_PW_LOCKDURATION_ATTRIBUTE, check_pw_duration_value, -1, -1},
{CONFIG_PW_RESETFAILURECOUNT_ATTRIBUTE, check_pw_resetfailurecount_value, -1, -1},
{CONFIG_PW_GRACELIMIT_ATTRIBUTE, attr_check_minmax, 0, -1},
8 years, 2 months
ldap/servers
by Mark Reynolds
ldap/servers/plugins/replication/repl5_replica_config.c | 43 +++++++++++-----
ldap/servers/slapd/plugin.c | 2
2 files changed, 32 insertions(+), 13 deletions(-)
New commits:
commit ec3f8da524bf406a24a261b48dd5643ccb48ec7a
Author: Mark Reynolds <mreynolds(a)redhat.com>
Date: Wed Jan 20 10:53:55 2016 -0500
Ticket 48218 - cleanAllRUV - modify the existing "force" option to bypass the "replica online" checks
Bug Description: If a replica is down/offline the cleanallruv task
even when using the force option, will wait indefinitely
until the replica comes back online.
Fix description: The "force" option should also ignore offline replicas.
https://fedorahosted.org/389/ticket/48218
Reviewed by: nhosoi(Thanks!)
diff --git a/ldap/servers/plugins/replication/repl5_replica_config.c b/ldap/servers/plugins/replication/repl5_replica_config.c
index 4d7135c..14020b7 100644
--- a/ldap/servers/plugins/replication/repl5_replica_config.c
+++ b/ldap/servers/plugins/replication/repl5_replica_config.c
@@ -67,7 +67,7 @@ static int replica_cleanallruv_send_extop(Repl_Agmt *ra, cleanruv_data *data, in
static int replica_cleanallruv_send_abort_extop(Repl_Agmt *ra, Slapi_Task *task, struct berval *payload);
static int replica_cleanallruv_check_maxcsn(Repl_Agmt *agmt, char *basedn, char *rid_text, char *maxcsn, Slapi_Task *task);
static int replica_cleanallruv_replica_alive(Repl_Agmt *agmt);
-static int replica_cleanallruv_check_ruv(char *repl_root, Repl_Agmt *ra, char *rid_text, Slapi_Task *task);
+static int replica_cleanallruv_check_ruv(char *repl_root, Repl_Agmt *ra, char *rid_text, Slapi_Task *task, char *force);
static int get_cleanruv_task_count();
static int get_abort_cleanruv_task_count();
static int replica_cleanup_task (Object *r, const char *task_name, char *returntext, int apply_mods);
@@ -1801,7 +1801,10 @@ replica_cleanallruv_thread(void *arg)
ruv_obj = replica_get_ruv(data->replica);
ruv = object_get_data (ruv_obj);
while(data->maxcsn && !is_task_aborted(data->rid) && !is_cleaned_rid(data->rid) && !slapi_is_shutting_down()){
- if(csn_get_replicaid(data->maxcsn) == 0 || ruv_covers_csn_cleanallruv(ruv,data->maxcsn) || strcasecmp(data->force,"yes") == 0){
+ if(csn_get_replicaid(data->maxcsn) == 0 ||
+ ruv_covers_csn_cleanallruv(ruv,data->maxcsn) ||
+ strcasecmp(data->force,"yes") == 0)
+ {
/* We are caught up, now we can clean the ruv's */
break;
}
@@ -1816,7 +1819,7 @@ replica_cleanallruv_thread(void *arg)
* Even if we are forcing the cleaning, the replicas still need to be up
*/
cleanruv_log(data->task, data->rid, CLEANALLRUV_ID,"Waiting for all the replicas to be online...");
- if(check_agmts_are_alive(data->replica, data->rid, data->task)){
+ if(strcasecmp(data->force, "no") == 0 && check_agmts_are_alive(data->replica, data->rid, data->task)){
/* error, aborted or shutdown */
aborted = 1;
goto done;
@@ -1857,7 +1860,9 @@ replica_cleanallruv_thread(void *arg)
} else {
agmt_not_notified = 1;
cleanruv_log(data->task, data->rid, CLEANALLRUV_ID, "Failed to send task to replica (%s)",agmt_get_long_name(agmt));
- break;
+ if(strcasecmp(data->force,"no") == 0){
+ break;
+ }
}
agmt_obj = agmtlist_get_next_agreement_for_replica (data->replica, agmt_obj);
}
@@ -1866,7 +1871,7 @@ replica_cleanallruv_thread(void *arg)
aborted = 1;
goto done;
}
- if(agmt_not_notified == 0){
+ if(agmt_not_notified == 0 || strcasecmp(data->force, "yes") == 0){
break;
}
/*
@@ -1909,7 +1914,7 @@ replica_cleanallruv_thread(void *arg)
found_dirty_rid = 0;
continue;
}
- if(replica_cleanallruv_check_ruv(data->repl_root, agmt, rid_text, data->task) == 0){
+ if(replica_cleanallruv_check_ruv(data->repl_root, agmt, rid_text, data->task, data->force) == 0){
found_dirty_rid = 0;
} else {
found_dirty_rid = 1;
@@ -1924,7 +1929,7 @@ replica_cleanallruv_thread(void *arg)
aborted = 1;
goto done;
}
- if(found_dirty_rid == 0){
+ if(found_dirty_rid == 0 || strcasecmp(data->force, "yes") == 0){
break;
}
/*
@@ -2033,7 +2038,8 @@ check_replicas_are_done_cleaning(cleanruv_data *data )
int not_all_cleaned = 1;
int interval = 10;
- cleanruv_log(data->task, data->rid, CLEANALLRUV_ID, "Waiting for all the replicas to finish cleaning...");
+ cleanruv_log(data->task, data->rid, CLEANALLRUV_ID,
+ "Waiting for all the replicas to finish cleaning...");
csn_as_string(data->maxcsn, PR_FALSE, csnstr);
filter = PR_smprintf("(%s=%d:%s:%s)", type_replicaCleanRUV,(int)data->rid, csnstr, data->force);
@@ -2058,15 +2064,22 @@ check_replicas_are_done_cleaning(cleanruv_data *data )
}
agmt_obj = agmtlist_get_next_agreement_for_replica (data->replica, agmt_obj);
}
- if(not_all_cleaned == 0 || is_task_aborted(data->rid) ){
+ if(not_all_cleaned == 0 ||
+ is_task_aborted(data->rid) ||
+ strcasecmp(data->force, "yes") == 0)
+ {
break;
}
- cleanruv_log(data->task, data->rid, CLEANALLRUV_ID, "Not all replicas finished cleaning, retrying in %d seconds",interval);
+
+ cleanruv_log(data->task, data->rid, CLEANALLRUV_ID,
+ "Not all replicas finished cleaning, retrying in %d seconds",
+ interval);
if(!slapi_is_shutting_down()){
PR_Lock( notify_lock );
PR_WaitCondVar( notify_cvar, PR_SecondsToInterval(interval) );
PR_Unlock( notify_lock );
}
+
if(interval < 14400){ /* 4 hour max */
interval = interval * 2;
} else {
@@ -3400,7 +3413,7 @@ replica_cleanallruv_replica_alive(Repl_Agmt *agmt)
}
static int
-replica_cleanallruv_check_ruv(char *repl_root, Repl_Agmt *agmt, char *rid_text, Slapi_Task *task)
+replica_cleanallruv_check_ruv(char *repl_root, Repl_Agmt *agmt, char *rid_text, Slapi_Task *task, char *force)
{
Repl_Connection *conn = NULL;
ConnResult crc = 0;
@@ -3410,6 +3423,9 @@ replica_cleanallruv_check_ruv(char *repl_root, Repl_Agmt *agmt, char *rid_text,
int rc = -1;
if((conn = conn_new(agmt)) == NULL){
+ if(strcasecmp(force, "yes") == 0){
+ return 0;
+ }
return rc;
}
@@ -3440,6 +3456,11 @@ replica_cleanallruv_check_ruv(char *repl_root, Repl_Agmt *agmt, char *rid_text,
ber_bvfree(retsdata);
}
}
+ } else {
+ if (strcasecmp(force, "yes") == 0){
+ /* We are forcing, we don't care that the replica is not online */
+ rc = 0;
+ }
}
conn_delete_internal_ext(conn);
slapi_ch_free_string(&data);
diff --git a/ldap/servers/slapd/plugin.c b/ldap/servers/slapd/plugin.c
index 2d3a5ce..ddf2631 100644
--- a/ldap/servers/slapd/plugin.c
+++ b/ldap/servers/slapd/plugin.c
@@ -3625,8 +3625,6 @@ plugin_invoke_plugin_pb (struct slapdplugin *plugin, int operation, Slapi_PBlock
PR_ASSERT (pb->pb_op);
target_spec = operation_get_target_spec (pb->pb_op);
-
- PR_ASSERT (target_spec);
rc = plugin_invoke_plugin_sdn (plugin, operation, pb, target_spec);
8 years, 2 months
2 commits - dirsrvtests/tickets ldap/servers
by William Brown
dirsrvtests/tickets/ticket548_test.py | 131 +++++++++++++++++++++-----
ldap/servers/slapd/modify.c | 2
ldap/servers/slapd/opshared.c | 6 +
ldap/servers/slapd/proto-slap.h | 3
ldap/servers/slapd/pw.c | 170 +++++++++++++++++++++-------------
ldap/servers/slapd/result.c | 18 +--
ldap/servers/slapd/slap.h | 1
7 files changed, 235 insertions(+), 96 deletions(-)
New commits:
commit 097239c506183c749613e1f936b274bd37a01420
Author: Noriko Hosoi <nhosoi(a)redhat.com>
Date: Tue Jan 19 13:48:57 2016 -0800
Ticket #548 - CI test: added test cases for ticket 548
Description: RFE: Allow AD password sync to update shadowLastChange
1) Use DEFAULT_SUFFIX_ESCAPED for the escaped DEFAULT_SUFFIX.
2) Check USER1's shadow values are adjusted by changing the password
policy. First, the default values. Next, Global password policy
then fine-grained password policy is added.
3) Checks changes to the global pw policy are reflected on pw change
3) Checks changes to the subtree pw policy are reflected on pw change
Author: nhosoi, wibrown
Review: nhosoi, wibrown
diff --git a/dirsrvtests/tickets/ticket548_test.py b/dirsrvtests/tickets/ticket548_test.py
index 030ff4f..d29fa53 100644
--- a/dirsrvtests/tickets/ticket548_test.py
+++ b/dirsrvtests/tickets/ticket548_test.py
@@ -26,9 +26,9 @@ installation_prefix = None
# Assuming DEFAULT_SUFFIX is "dc=example,dc=com", otherwise it does not work... :(
SUBTREE_CONTAINER = 'cn=nsPwPolicyContainer,' + DEFAULT_SUFFIX
SUBTREE_PWPDN = 'cn=nsPwPolicyEntry,' + DEFAULT_SUFFIX
-SUBTREE_PWP = 'cn=cn\3DnsPwPolicyEntry\2Cdc\3Dexample\2Cdc\3Dcom,' + SUBTREE_CONTAINER
+SUBTREE_PWP = 'cn=cn\3DnsPwPolicyEntry\2C' + DEFAULT_SUFFIX_ESCAPED + ',' + SUBTREE_CONTAINER
SUBTREE_COS_TMPLDN = 'cn=nsPwTemplateEntry,' + DEFAULT_SUFFIX
-SUBTREE_COS_TMPL = 'cn=cn\3DnsPwTemplateEntry\2Cdc\3Dexample\2Cdc\3Dcom,' + SUBTREE_CONTAINER
+SUBTREE_COS_TMPL = 'cn=cn\3DnsPwTemplateEntry\2C' + DEFAULT_SUFFIX_ESCAPED + ',' + SUBTREE_CONTAINER
SUBTREE_COS_DEF = 'cn=nsPwPolicy_CoS,' + DEFAULT_SUFFIX
USER1_DN = 'uid=user1,' + DEFAULT_SUFFIX
@@ -72,8 +72,12 @@ def topology(request):
return TopologyStandalone(standalone)
+def days_to_secs(days):
+ # Value of 60 * 60 * 24
+ return days * 86400
-def set_global_pwpolicy(topology):
+# Values are in days
+def set_global_pwpolicy(topology, min_=1, max_=10, warn=3):
log.info(" +++++ Enable global password policy +++++\n")
# Enable password policy
try:
@@ -82,47 +86,64 @@ def set_global_pwpolicy(topology):
log.error('Failed to set pwpolicy-local: error ' + e.message['desc'])
assert False
- log.info(" Set global password Min Age -- 1 day\n")
+ # Convert our values to seconds
+ min_secs = days_to_secs(min_)
+ max_secs = days_to_secs(max_)
+ warn_secs = days_to_secs(warn)
+
+ log.info(" Set global password Min Age -- %s day\n"% min_)
try:
- topology.standalone.modify_s(DN_CONFIG, [(ldap.MOD_REPLACE, 'passwordMinAge', '86400')])
+ topology.standalone.modify_s(DN_CONFIG, [(ldap.MOD_REPLACE, 'passwordMinAge', '%s' % min_secs)])
except ldap.LDAPError as e:
log.error('Failed to set passwordMinAge: error ' + e.message['desc'])
assert False
- log.info(" Set global password Max Age -- 10 days\n")
+ log.info(" Set global password Max Age -- %s days\n" % max_)
try:
- topology.standalone.modify_s(DN_CONFIG, [(ldap.MOD_REPLACE, 'passwordMaxAge', '864000')])
+ topology.standalone.modify_s(DN_CONFIG, [(ldap.MOD_REPLACE, 'passwordMaxAge', '%s' % max_secs)])
except ldap.LDAPError as e:
log.error('Failed to set passwordMaxAge: error ' + e.message['desc'])
assert False
- log.info(" Set global password Warning -- 3 days\n")
+ log.info(" Set global password Warning -- %s days\n" % warn)
try:
- topology.standalone.modify_s(DN_CONFIG, [(ldap.MOD_REPLACE, 'passwordWarning', '259200')])
+ topology.standalone.modify_s(DN_CONFIG, [(ldap.MOD_REPLACE, 'passwordWarning', '%s' % warn_secs)])
except ldap.LDAPError as e:
log.error('Failed to set passwordWarning: error ' + e.message['desc'])
assert False
-def set_subtree_pwpolicy(topology):
+def set_subtree_pwpolicy(topology, min_=2, max_=20, warn=6):
log.info(" +++++ Enable subtree level password policy +++++\n")
+
+ # Convert our values to seconds
+ min_secs = days_to_secs(min_)
+ max_secs = days_to_secs(max_)
+ warn_secs = days_to_secs(warn)
+
log.info(" Add the container")
try:
topology.standalone.add_s(Entry((SUBTREE_CONTAINER, {'objectclass': 'top nsContainer'.split(),
'cn': 'nsPwPolicyContainer'})))
except ldap.LDAPError as e:
log.error('Failed to add subtree container: error ' + e.message['desc'])
- assert False
+ #assert False
- log.info(" Add the password policy subentry {passwordMustChange: on, passwordMinAge: 2, passwordMaxAge: 20, passwordWarning: 6}")
+ try:
+ # Purge the old policy
+ topology.standalone.delete_s(SUBTREE_PWP)
+ except:
+ pass
+
+ log.info(" Add the password policy subentry {passwordMustChange: on, passwordMinAge: %s, passwordMaxAge: %s, passwordWarning: %s}" % (min_, max_, warn))
try:
topology.standalone.add_s(Entry((SUBTREE_PWP, {'objectclass': 'top ldapsubentry passwordpolicy'.split(),
'cn': SUBTREE_PWPDN,
'passwordMustChange': 'on',
'passwordExp': 'on',
- 'passwordMinAge': '172800',
- 'passwordMaxAge': '1728000',
- 'passwordWarning': '518400',
+ 'passwordMinAge': '%s' % min_secs,
+ 'passwordMaxAge': '%s' % max_secs,
+ 'passwordWarning': '%s' % warn_secs,
'passwordChange': 'on',
'passwordStorageScheme': 'clear'})))
except ldap.LDAPError as e:
@@ -138,7 +159,7 @@ def set_subtree_pwpolicy(topology):
'pwdpolicysubentry': SUBTREE_PWP})))
except ldap.LDAPError as e:
log.error('Failed to add COS template: error ' + e.message['desc'])
- assert False
+ #assert False
log.info(" Add the COS definition")
try:
@@ -148,11 +169,10 @@ def set_subtree_pwpolicy(topology):
'cosAttribute': 'pwdpolicysubentry default operational-default'})))
except ldap.LDAPError as e:
log.error('Failed to add COS def: error ' + e.message['desc'])
- assert False
+ #assert False
time.sleep(1)
-
def update_passwd(topology, user, passwd, newpasswd):
log.info(" Bind as {%s,%s}" % (user, passwd))
topology.standalone.simple_bind_s(user, passwd)
@@ -195,7 +215,7 @@ def test_ticket548_test_with_no_policy(topology):
'cn': 'user 1',
'uid': 'user1',
'givenname': 'user',
- 'mail': 'user1(a)example.com',
+ 'mail': 'user1@' + DEFAULT_SUFFIX,
'userpassword': USER_PW})))
except ldap.LDAPError as e:
log.fatal('test_ticket548: Failed to add user' + USER1_DN + ': error ' + e.message['desc'])
@@ -231,16 +251,33 @@ def test_ticket548_test_global_policy(topology):
'cn': 'user 2',
'uid': 'user2',
'givenname': 'user',
- 'mail': 'user2(a)example.com',
+ 'mail': 'user2@' + DEFAULT_SUFFIX,
'userpassword': USER_PW})))
except ldap.LDAPError as e:
log.fatal('test_ticket548: Failed to add user' + USER2_DN + ': error ' + e.message['desc'])
assert False
+ edate = int(time.time() / (60 * 60 * 24))
+
+ log.info("Bind as %s" % USER1_DN)
+ topology.standalone.simple_bind_s(USER1_DN, USER_PW)
+
+ log.info('Search entry %s' % USER1_DN)
+ entry = topology.standalone.getEntry(USER1_DN, ldap.SCOPE_BASE, "(objectclass=*)")
+ check_shadow_attr_value(entry, 'shadowLastChange', edate, USER1_DN)
+
+ # passwordMinAge -- 1 day
+ check_shadow_attr_value(entry, 'shadowMin', 1, USER1_DN)
+
+ # passwordMaxAge -- 10 days
+ check_shadow_attr_value(entry, 'shadowMax', 10, USER1_DN)
+
+ # passwordWarning -- 3 days
+ check_shadow_attr_value(entry, 'shadowWarning', 3, USER1_DN)
+
log.info("Bind as %s" % USER2_DN)
topology.standalone.simple_bind_s(USER2_DN, USER_PW)
- edate = int(time.time() / (60 * 60 * 24))
log.info('Search entry %s' % USER2_DN)
entry = topology.standalone.getEntry(USER2_DN, ldap.SCOPE_BASE, "(objectclass=*)")
check_shadow_attr_value(entry, 'shadowLastChange', edate, USER2_DN)
@@ -254,6 +291,34 @@ def test_ticket548_test_global_policy(topology):
# passwordWarning -- 3 days
check_shadow_attr_value(entry, 'shadowWarning', 3, USER2_DN)
+ # Bind as DM again, change policy
+ log.info("Bind as %s" % DN_DM)
+ topology.standalone.simple_bind_s(DN_DM, PASSWORD)
+ set_global_pwpolicy(topology, 3, 30, 9)
+
+ # change the user password, then check again.
+ log.info("Bind as %s" % USER2_DN)
+ topology.standalone.simple_bind_s(USER2_DN, USER_PW)
+
+ newpasswd = USER_PW + '2'
+ update_passwd(topology, USER2_DN, USER_PW, newpasswd)
+
+ log.info("Re-bind as %s with new password" % USER2_DN)
+ topology.standalone.simple_bind_s(USER2_DN, newpasswd)
+
+ ## This tests if we update the shadow values on password change.
+ log.info('Search entry %s' % USER2_DN)
+ entry = topology.standalone.getEntry(USER2_DN, ldap.SCOPE_BASE, "(objectclass=*)")
+
+ # passwordMinAge -- 1 day
+ check_shadow_attr_value(entry, 'shadowMin', 3, USER2_DN)
+
+ # passwordMaxAge -- 10 days
+ check_shadow_attr_value(entry, 'shadowMax', 30, USER2_DN)
+
+ # passwordWarning -- 3 days
+ check_shadow_attr_value(entry, 'shadowWarning', 9, USER2_DN)
+
log.info("Check shadowAccount with global policy was successfully verified.")
@@ -266,8 +331,9 @@ def test_ticket548_test_subtree_policy(topology):
log.info("Bind as %s" % DN_DM)
topology.standalone.simple_bind_s(DN_DM, PASSWORD)
+ # Check the global policy values
- set_subtree_pwpolicy(topology)
+ set_subtree_pwpolicy(topology, 2, 20, 6)
log.info('Add an entry' + USER3_DN)
try:
@@ -276,7 +342,7 @@ def test_ticket548_test_subtree_policy(topology):
'cn': 'user 3',
'uid': 'user3',
'givenname': 'user',
- 'mail': 'user3(a)example.com',
+ 'mail': 'user3@' + DEFAULT_SUFFIX,
'userpassword': USER_PW})))
except ldap.LDAPError as e:
log.fatal('test_ticket548: Failed to add user' + USER3_DN + ': error ' + e.message['desc'])
@@ -312,6 +378,12 @@ def test_ticket548_test_subtree_policy(topology):
log.info("Bind as %s and updating the password with a new one" % USER3_DN)
topology.standalone.simple_bind_s(USER3_DN, USER_PW)
+ # Bind as DM again, change policy
+ log.info("Bind as %s" % DN_DM)
+ topology.standalone.simple_bind_s(DN_DM, PASSWORD)
+
+ set_subtree_pwpolicy(topology, 4, 40, 12)
+
newpasswd = USER_PW + '0'
update_passwd(topology, USER3_DN, USER_PW, newpasswd)
@@ -329,6 +401,19 @@ def test_ticket548_test_subtree_policy(topology):
log.info('Expecting shadowLastChange %d once userPassword is updated', edate)
check_shadow_attr_value(entry2, 'shadowLastChange', edate, USER3_DN)
+ log.info('Search entry %s' % USER3_DN)
+ entry = topology.standalone.getEntry(USER3_DN, ldap.SCOPE_BASE, "(objectclass=*)")
+ check_shadow_attr_value(entry, 'shadowLastChange', edate, USER3_DN)
+
+ # passwordMinAge -- 1 day
+ check_shadow_attr_value(entry, 'shadowMin', 4, USER3_DN)
+
+ # passwordMaxAge -- 10 days
+ check_shadow_attr_value(entry, 'shadowMax', 40, USER3_DN)
+
+ # passwordWarning -- 3 days
+ check_shadow_attr_value(entry, 'shadowWarning', 12, USER3_DN)
+
log.info("Check shadowAccount with subtree level policy was successfully verified.")
commit 7f63e4c1671d931bdf7e5291726311d43265c6f1
Author: Noriko Hosoi <nhosoi(a)redhat.com>
Date: Tue Jan 19 11:16:37 2016 -0800
Ticket #548 - RFE: Allow AD password sync to update shadowLastChange
Description: When passwordMinAge, passwordMaxAge, passwordWarning, etc.
are changed in a password policy, the corresponding shadow values are
also adjusted.
See this comment for more details.
https://fedorahosted.org/389/ticket/548#comment:19
This patch checks the current shadow values with the one from the
password policy, and if they don't match, it replaces the shadow value
with the one from the password policy.
Author: nhosoi
Review: wibrown
diff --git a/ldap/servers/slapd/modify.c b/ldap/servers/slapd/modify.c
index 4c0becc..28d3055 100644
--- a/ldap/servers/slapd/modify.c
+++ b/ldap/servers/slapd/modify.c
@@ -496,7 +496,7 @@ slapi_modify_internal_set_pb_ext(Slapi_PBlock *pb, const Slapi_DN *sdn,
if (pb == NULL || sdn == NULL || mods == NULL)
{
slapi_log_error(SLAPI_LOG_FATAL, NULL,
- "slapi_modify_internal_set_pb: NULL parameter\n");
+ "slapi_modify_internal_set_pb_ext: NULL parameter\n");
return;
}
diff --git a/ldap/servers/slapd/opshared.c b/ldap/servers/slapd/opshared.c
index 0237264..41a1b37 100644
--- a/ldap/servers/slapd/opshared.c
+++ b/ldap/servers/slapd/opshared.c
@@ -1454,10 +1454,12 @@ iterate(Slapi_PBlock *pb, Slapi_Backend *be, int send_result,
continue;
}
/* Adding shadow password attrs. */
- add_shadow_ext_password_attrs(pb, e);
+ add_shadow_ext_password_attrs(pb, &e);
if (process_entry(pb, e, send_result))
{
/* shouldn't send this entry */
+ slapi_entry_free(pb->pb_pw_entry);
+ pb->pb_pw_entry = NULL;
continue;
}
@@ -1483,6 +1485,8 @@ iterate(Slapi_PBlock *pb, Slapi_Backend *be, int send_result,
pb->pb_op->o_status = SLAPI_OP_STATUS_ABANDONED;
break;
}
+ slapi_entry_free(pb->pb_pw_entry);
+ pb->pb_pw_entry = NULL;
if (pagesize == *pnentries)
{
/* PAGED RESULTS: reached the pagesize */
diff --git a/ldap/servers/slapd/proto-slap.h b/ldap/servers/slapd/proto-slap.h
index 2c6a7af..7a2ddde 100644
--- a/ldap/servers/slapd/proto-slap.h
+++ b/ldap/servers/slapd/proto-slap.h
@@ -937,7 +937,8 @@ void add_password_attrs( Slapi_PBlock *pb, Operation *op, Slapi_Entry *e );
void mod_allowchange_aci(char *val);
void pw_mod_allowchange_aci(int pw_prohibit_change);
void pw_add_allowchange_aci(Slapi_Entry *e, int pw_prohibit_change);
-void add_shadow_ext_password_attrs(Slapi_PBlock *pb, Slapi_Entry *e);
+
+int add_shadow_ext_password_attrs(Slapi_PBlock *pb, Slapi_Entry **e);
/*
* pw_retry.c
diff --git a/ldap/servers/slapd/pw.c b/ldap/servers/slapd/pw.c
index a6574ac..f728e10 100644
--- a/ldap/servers/slapd/pw.c
+++ b/ldap/servers/slapd/pw.c
@@ -2843,108 +2843,156 @@ pw_get_ext_size(Slapi_Entry *entry, size_t *size)
return LDAP_SUCCESS;
}
-void
-add_shadow_ext_password_attrs(Slapi_PBlock *pb, Slapi_Entry *e)
+int
+add_shadow_ext_password_attrs(Slapi_PBlock *pb, Slapi_Entry **e)
{
const char *dn = NULL;
passwdPolicy *pwpolicy = NULL;
time_t shadowval = 0;
time_t exptime = 0;
- struct berval bv;
- struct berval *bvals[2];
-
- if (!e) {
- return;
+ Slapi_Mods *smods = NULL;
+ LDAPMod **mods;
+ long sval;
+ int mod_num = 0;
+ char *shmin = NULL;
+ char *shmax = NULL;
+ char *shwarn = NULL;
+ char *shexp = NULL;
+ int rc = 0;
+
+ if (!e && !*e) {
+ return rc;
}
- dn = slapi_entry_get_ndn(e);
+ dn = slapi_entry_get_ndn(*e);
if (!dn) {
- return;
+ return rc;
}
- if (!slapi_entry_attr_hasvalue(e, SLAPI_ATTR_OBJECTCLASS, "shadowAccount")) {
+ if (!slapi_entry_attr_hasvalue(*e, SLAPI_ATTR_OBJECTCLASS, "shadowAccount")) {
/* Not a shadowAccount; nothing to do. */
- return;
+ return rc;
}
if (operation_is_flag_set(pb->pb_op, OP_FLAG_INTERNAL)) {
/* external only */
- return;
+ return rc;
}
pwpolicy = new_passwdPolicy(pb, dn);
if (!pwpolicy) {
- return;
+ return rc;
}
LDAPDebug0Args(LDAP_DEBUG_TRACE, "--> add_shadow_password_attrs\n");
- bvals[0] = &bv;
- bvals[1] = NULL;
-
/* shadowMin - the minimum number of days required between password changes. */
- if (!slapi_entry_attr_exists(e, "shadowMin")) {
- if (pwpolicy->pw_minage > 0) {
- shadowval = pwpolicy->pw_minage / _SEC_PER_DAY;
- } else {
- shadowval = 0;
+ if (pwpolicy->pw_minage > 0) {
+ shadowval = pwpolicy->pw_minage / _SEC_PER_DAY;
+ } else {
+ shadowval = 0;
+ }
+ shmin = slapi_entry_attr_get_charptr(*e, "shadowMin");
+ if (shmin) {
+ sval = strtol(shmin, NULL, 0);
+ if (sval != shadowval) {
+ slapi_ch_free_string(&shmin);
+ shmin = slapi_ch_smprintf("%ld", shadowval);
+ mod_num++;
}
- bv.bv_val = slapi_ch_smprintf("%ld", shadowval);
- bv.bv_len = strlen(bv.bv_val);
- slapi_entry_attr_merge(e, "shadowMin", bvals);
- slapi_ch_free_string(&bv.bv_val);
+ } else {
+ mod_num++;
+ shmin = slapi_ch_smprintf("%ld", shadowval);
}
/* shadowMax - the maximum number of days for which the user password remains valid. */
- if (!slapi_entry_attr_exists(e, "shadowMax")) {
- if (pwpolicy->pw_maxage > 0) {
- shadowval = pwpolicy->pw_maxage / _SEC_PER_DAY;
- exptime = time_plus_sec(current_time(), pwpolicy->pw_maxage);
- } else {
- shadowval = 99999;
+ if (pwpolicy->pw_maxage > 0) {
+ shadowval = pwpolicy->pw_maxage / _SEC_PER_DAY;
+ exptime = time_plus_sec(current_time(), pwpolicy->pw_maxage);
+ } else {
+ shadowval = 99999;
+ }
+ shmax = slapi_entry_attr_get_charptr(*e, "shadowMax");
+ if (shmax) {
+ sval = strtol(shmax, NULL, 0);
+ if (sval != shadowval) {
+ slapi_ch_free_string(&shmax);
+ shmax = slapi_ch_smprintf("%ld", shadowval);
+ mod_num++;
}
- bv.bv_val = slapi_ch_smprintf("%ld", shadowval);
- bv.bv_len = strlen(bv.bv_val);
- slapi_entry_attr_replace(e, "shadowMax", bvals);
- slapi_ch_free_string(&bv.bv_val);
+ } else {
+ mod_num++;
+ shmax = slapi_ch_smprintf("%ld", shadowval);
}
/* shadowWarning - the number of days of advance warning given to the user before the user password expires. */
- if (!slapi_entry_attr_exists(e, "shadowWarning")) {
- if (pwpolicy->pw_warning > 0) {
- shadowval = pwpolicy->pw_warning / _SEC_PER_DAY;
- } else {
- shadowval = 0;
+ if (pwpolicy->pw_warning > 0) {
+ shadowval = pwpolicy->pw_warning / _SEC_PER_DAY;
+ } else {
+ shadowval = 0;
+ }
+ shwarn = slapi_entry_attr_get_charptr(*e, "shadowWarning");
+ if (shwarn) {
+ sval = strtol(shwarn, NULL, 0);
+ if (sval != shadowval) {
+ slapi_ch_free_string(&shwarn);
+ shwarn = slapi_ch_smprintf("%ld", shadowval);
+ mod_num++;
}
- bv.bv_val = slapi_ch_smprintf("%ld", shadowval);
- bv.bv_len = strlen(bv.bv_val);
- slapi_entry_attr_replace(e, "shadowWarning", bvals);
- slapi_ch_free_string(&bv.bv_val);
+ } else {
+ mod_num++;
+ shwarn = slapi_ch_smprintf("%ld", shadowval);
}
/* shadowExpire - the date on which the user login will be disabled. */
- if (exptime && !slapi_entry_attr_exists(e, "shadowExpire")) {
+ if (exptime) {
+ shexp = slapi_entry_attr_get_charptr(*e, "shadowExpire");
exptime /= _SEC_PER_DAY;
- bv.bv_val = slapi_ch_smprintf("%ld", exptime);
- bv.bv_len = strlen(bv.bv_val);
- slapi_entry_attr_replace(e, "shadowExpire", bvals);
- slapi_ch_free_string(&bv.bv_val);
+ if (shexp) {
+ sval = strtol(shexp, NULL, 0);
+ if (sval != exptime) {
+ slapi_ch_free_string(&shexp);
+ shexp = slapi_ch_smprintf("%ld", shadowval);
+ mod_num++;
+ }
+ } else {
+ mod_num++;
+ shexp = slapi_ch_smprintf("%ld", exptime);
+ }
+ }
+ smods = slapi_mods_new();
+ slapi_mods_init(smods, mod_num);
+ if (shmin) {
+ slapi_mods_add(smods, LDAP_MOD_REPLACE, "shadowMin", strlen(shmin), shmin);
+ slapi_ch_free_string(&shmin);
+ }
+ if (shmax) {
+ slapi_mods_add(smods, LDAP_MOD_REPLACE, "shadowMax", strlen(shmax), shmax);
+ slapi_ch_free_string(&shmax);
+ }
+ if (shwarn) {
+ slapi_mods_add(smods, LDAP_MOD_REPLACE, "shadowWarning", strlen(shwarn), shwarn);
+ slapi_ch_free_string(&shwarn);
+ }
+ if (shexp) {
+ slapi_mods_add(smods, LDAP_MOD_REPLACE, "shadowExpire", strlen(shexp), shexp);
+ slapi_ch_free_string(&shexp);
+ }
+ /* Apply the mods to create the resulting entry. */
+ mods = slapi_mods_get_ldapmods_byref(smods);
+ if (mods) {
+ Slapi_Entry *sentry = slapi_entry_dup(*e);
+ rc = slapi_entry_apply_mods(sentry, mods);
+ pb->pb_pw_entry = sentry;
+ *e = sentry;
}
+ slapi_mods_free(&smods);
#if 0 /* These 2 attributes are no need (or not able) to auto-fill. */
/*
* shadowInactive - the number of days of inactivity allowed for the user.
* Password Policy does not have the corresponding parameter.
+ *
+ * shadowFlag - not currently in use.
*/
- shadowval = 0;
- bv.bv_val = slapi_ch_smprintf("%ld", shadowval);
- bv.bv_len = strlen(bv.bv_val);
- slapi_entry_attr_replace(e, "shadowInactive", bvals);
- slapi_ch_free_string(&bv.bv_val);
-
- /* shadowFlag - not currently in use. */
- bv.bv_val = slapi_ch_smprintf("%d", 0);
- bv.bv_len = strlen(bv.bv_val);
- slapi_entry_attr_replace(e, "shadowFlag", bvals);
- slapi_ch_free_string(&bv.bv_val);
#endif
LDAPDebug0Args(LDAP_DEBUG_TRACE, "<-- add_shadow_password_attrs\n");
- return;
+ return rc;
}
diff --git a/ldap/servers/slapd/result.c b/ldap/servers/slapd/result.c
index cd58f50..5acff94 100644
--- a/ldap/servers/slapd/result.c
+++ b/ldap/servers/slapd/result.c
@@ -238,7 +238,7 @@ int send_ldap_intermediate( Slapi_PBlock *pb, LDAPControl **ectrls,
rc = ber_put_seq( ber );
}
if ( rc == LBER_ERROR ) {
- LDAPDebug( LDAP_DEBUG_ANY, "ber_printf failed\n", 0, 0, 0 );
+ LDAPDebug( LDAP_DEBUG_ANY, "ber_printf failed 0\n", 0, 0, 0 );
ber_free( ber, 1 /* freebuf */ );
goto log_and_return;
}
@@ -595,7 +595,7 @@ send_ldap_result_ext(
}
if ( rc == LBER_ERROR ) {
- LDAPDebug( LDAP_DEBUG_ANY, "ber_printf failed\n", 0, 0, 0 );
+ LDAPDebug( LDAP_DEBUG_ANY, "ber_printf failed 1\n", 0, 0, 0 );
if (flush_ber_element == 1) {
/* we alloced the ber */
ber_free( ber, 1 /* freebuf */ );
@@ -857,13 +857,13 @@ send_ldapv3_referral(
rc = ber_printf( ber, "s", urls[i]->bv_val );
}
if ( rc == LBER_ERROR ) {
- LDAPDebug( LDAP_DEBUG_ANY, "ber_printf failed\n", 0, 0, 0 );
+ LDAPDebug( LDAP_DEBUG_ANY, "ber_printf failed 2\n", 0, 0, 0 );
send_ldap_result( pb, LDAP_OPERATIONS_ERROR, NULL,
"ber_printf", 0, NULL );
return( -1 );
}
if ( ber_printf( ber, "}}" ) == LBER_ERROR ) {
- LDAPDebug( LDAP_DEBUG_ANY, "ber_printf failed\n", 0, 0, 0 );
+ LDAPDebug( LDAP_DEBUG_ANY, "ber_printf failed 3\n", 0, 0, 0 );
send_ldap_result( pb, LDAP_OPERATIONS_ERROR, NULL,
"ber_printf", 0, NULL );
return( -1 );
@@ -980,7 +980,7 @@ encode_attr_2(
#endif
if (ber_printf(ber, "{s[", returned_type?returned_type:attribute_type) == -1) {
- LDAPDebug( LDAP_DEBUG_ANY, "ber_printf failed\n", 0, 0, 0 );
+ LDAPDebug( LDAP_DEBUG_ANY, "ber_printf failed 4\n", 0, 0, 0 );
ber_free( ber, 1 );
send_ldap_result(pb, LDAP_OPERATIONS_ERROR, NULL,
"ber_printf type", 0, NULL);
@@ -994,7 +994,7 @@ encode_attr_2(
if ( ber_printf( ber, "o", v->bv.bv_val,v->bv.bv_len ) == -1 )
{
LDAPDebug( LDAP_DEBUG_ANY,
- "ber_printf failed\n", 0, 0, 0 );
+ "ber_printf failed 5\n", 0, 0, 0 );
ber_free( ber, 1 );
send_ldap_result( pb, LDAP_OPERATIONS_ERROR,
NULL, "ber_printf value", 0, NULL );
@@ -1005,7 +1005,7 @@ encode_attr_2(
}
if ( ber_printf( ber, "]}" ) == -1 ) {
- LDAPDebug( LDAP_DEBUG_ANY, "ber_printf failed\n", 0, 0, 0 );
+ LDAPDebug( LDAP_DEBUG_ANY, "ber_printf failed 6\n", 0, 0, 0 );
ber_free( ber, 1 );
send_ldap_result( pb, LDAP_OPERATIONS_ERROR, NULL,
"ber_printf type end", 0, NULL );
@@ -1549,7 +1549,7 @@ send_ldap_search_entry_ext(
LDAP_RES_SEARCH_ENTRY, slapi_entry_get_dn_const(e) );
if ( rc == -1 ) {
- LDAPDebug( LDAP_DEBUG_ANY, "ber_printf failed\n", 0, 0, 0 );
+ LDAPDebug( LDAP_DEBUG_ANY, "ber_printf failed 7\n", 0, 0, 0 );
send_ldap_result( pb, LDAP_OPERATIONS_ERROR, NULL,
"ber_printf dn", 0, NULL );
goto cleanup;
@@ -1663,7 +1663,7 @@ send_ldap_search_entry_ext(
}
if ( rc == -1 ) {
- LDAPDebug( LDAP_DEBUG_ANY, "ber_printf failed\n", 0, 0, 0 );
+ LDAPDebug( LDAP_DEBUG_ANY, "ber_printf failed 8\n", 0, 0, 0 );
send_ldap_result( pb, LDAP_OPERATIONS_ERROR, NULL,
"ber_printf entry end", 0, NULL );
goto cleanup;
diff --git a/ldap/servers/slapd/slap.h b/ldap/servers/slapd/slap.h
index c4bae76..5bb9252 100644
--- a/ldap/servers/slapd/slap.h
+++ b/ldap/servers/slapd/slap.h
@@ -1735,6 +1735,7 @@ typedef struct slapi_pblock {
/* For ACI Target Check */
int pb_aci_target_check; /* this flag prevents duplicate checking of ACI's target existence */
+ struct slapi_entry *pb_pw_entry; /* stash dup'ed entry that shadow info is added/replaced */
} slapi_pblock;
/* index if substrlens */
8 years, 2 months
configure configure.ac ldap/servers
by William Brown
configure | 4 ++--
configure.ac | 4 ++--
ldap/servers/slapd/log.c | 4 ++--
3 files changed, 6 insertions(+), 6 deletions(-)
New commits:
commit be8c06333c2ad39e4cfe18a95b967dc9331efef3
Author: William Brown <firstyear(a)redhat.com>
Date: Tue Jan 19 12:43:13 2016 +1000
Ticket 47968 - Fix for format string in syslog.
Bug Description: There is a format string error in log.c's usage of syslog (3).
This was detected in the RPM build which applies different settings.
Fix Description: Fix the format string to be safe. Add the format string check
to the gcc-security check so that we can test for this.
https://fedorahosted.org/389/ticket/47968
Author: wibrown
Review by: One line rule.
diff --git a/configure b/configure
index c266be0..0fa6772 100755
--- a/configure
+++ b/configure
@@ -17737,9 +17737,9 @@ if test "${enable_gcc_security+set}" = set; then :
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
if test -z "$RPM_HARDEND_CC_TRUE"; then :
- gccsec_defs="-Wall -Wp,-D_FORITY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 "
+ gccsec_defs="-Wall -Wp,-D_FORITY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -Werror=format-security -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 "
else
- gccsec_defs="-Wall -Wp,-D_FORITY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches"
+ gccsec_defs="-Wall -Wp,-D_FORITY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -Werror=format-security"
fi
diff --git a/configure.ac b/configure.ac
index d5045ef..7f93b6a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -95,8 +95,8 @@ AC_ARG_ENABLE(gcc-security, AS_HELP_STRING([--enable-gcc-security], [Enable gcc
[
AC_MSG_RESULT(yes)
AM_COND_IF([RPM_HARDEND_CC],
- [ gccsec_defs="-Wall -Wp,-D_FORITY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 " ],
- [ gccsec_defs="-Wall -Wp,-D_FORITY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches" ]
+ [ gccsec_defs="-Wall -Wp,-D_FORITY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -Werror=format-security -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 " ],
+ [ gccsec_defs="-Wall -Wp,-D_FORITY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -Werror=format-security" ]
)
],
[
diff --git a/ldap/servers/slapd/log.c b/ldap/servers/slapd/log.c
index a8ab969..07bc762 100644
--- a/ldap/servers/slapd/log.c
+++ b/ldap/servers/slapd/log.c
@@ -1981,7 +1981,7 @@ slapd_log_audit (
}
if (lbackend & LOGGING_BACKEND_SYSLOG) {
/* This returns void, so we hope it worked */
- syslog(LOG_NOTICE, buffer);
+ syslog(LOG_NOTICE, "%s", buffer);
}
#ifdef WITH_SYSTEMD
if (lbackend & LOGGING_BACKEND_JOURNALD) {
@@ -2040,7 +2040,7 @@ slapd_log_auditfail (
}
if (lbackend & LOGGING_BACKEND_SYSLOG) {
/* This returns void, so we hope it worked */
- syslog(LOG_NOTICE, buffer);
+ syslog(LOG_NOTICE, "%s", buffer);
}
#ifdef WITH_SYSTEMD
if (lbackend & LOGGING_BACKEND_JOURNALD) {
8 years, 2 months
ldap/servers Makefile.in
by William Brown
Makefile.in | 5 ++---
ldap/servers/slapd/log.c | 6 +++---
2 files changed, 5 insertions(+), 6 deletions(-)
New commits:
commit 7cf83ac9d362bcbd12d8d0de41dc4bd620ad641c
Author: William Brown <firstyear(a)redhat.com>
Date: Tue Jan 19 09:04:32 2016 +1000
Ticket 47968 - Change to slapi_UTF8NCASECMP
Bug Description: > ldap/servers/slapd/log.c:420:51: warning: pointer targets in
passing argument 2 of 'slapi_utf8ncasecmp' differ in signedness [-Wpointer-sign]
Fix Description: We should change to use slapi_UTF8NCASECMP
Commit under "1 line" rule.
https://fedorahosted.org/389/ticket/47968
Author: wibrown
Review by: nhosoi (Thanks)
diff --git a/Makefile.in b/Makefile.in
index 2ad44c2..f5941eb 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1003,8 +1003,7 @@ am_migratecred_bin_OBJECTS = ldap/servers/slapd/tools/migratecred_bin-migratecre
migratecred_bin_OBJECTS = $(am_migratecred_bin_OBJECTS)
migratecred_bin_DEPENDENCIES = libslapd.la $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
- $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
- $(am__DEPENDENCIES_1)
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
am_mmldif_bin_OBJECTS = \
ldap/servers/slapd/tools/mmldif_bin-mmldif.$(OBJEXT)
mmldif_bin_OBJECTS = $(am_mmldif_bin_OBJECTS)
@@ -2988,7 +2987,7 @@ ldif_bin_LDADD = $(NSPR_LINK) $(NSS_LINK) $(LDAPSDK_LINK_NOTHR) $(SASL_LINK)
#------------------------
migratecred_bin_SOURCES = ldap/servers/slapd/tools/migratecred.c
migratecred_bin_CPPFLAGS = $(AM_CPPFLAGS) @openldap_inc@ @ldapsdk_inc@ @nss_inc@ @nspr_inc@
-migratecred_bin_LDADD = libslapd.la $(NSPR_LINK) $(NSS_LINK) $(SVRCORE_LINK) $(LDAPSDK_LINK) $(SASL_LINK) $(SYSTEMD_LINK)
+migratecred_bin_LDADD = libslapd.la $(NSPR_LINK) $(NSS_LINK) $(SVRCORE_LINK) $(LDAPSDK_LINK) $(SASL_LINK)
#------------------------
# mmldif
diff --git a/ldap/servers/slapd/log.c b/ldap/servers/slapd/log.c
index cbfba54..a8ab969 100644
--- a/ldap/servers/slapd/log.c
+++ b/ldap/servers/slapd/log.c
@@ -417,12 +417,12 @@ log_set_backend(const char *attrname, char *value, int logtype, char *errorbuf,
if(strlen(backendstr) == 0) {
/* Probably means someone did ",,"*/
continue;
- } else if (slapi_utf8ncasecmp(backendstr, "dirsrv-log", 10) ) {
+ } else if (slapi_UTF8NCASECMP(backendstr, "dirsrv-log", 10) ) {
backend |= LOGGING_BACKEND_INTERNAL;
- } else if (slapi_utf8ncasecmp(backendstr, "syslog", 6) ) {
+ } else if (slapi_UTF8NCASECMP(backendstr, "syslog", 6) ) {
backend |= LOGGING_BACKEND_SYSLOG;
#ifdef WITH_SYSTEMD
- } else if (slapi_utf8ncasecmp(backendstr, "journald", 8) ) {
+ } else if (slapi_UTF8NCASECMP(backendstr, "journald", 8) ) {
backend |= LOGGING_BACKEND_JOURNALD;
#endif
}
8 years, 2 months