v. 20200902 Combined patch for qmailadmin-1.2.16 by Roberto Puzzanghera more info at https://notes.sagredo.eu/en/qmail-notes-185/qmailadmin-23.html ================================================================================================= = This patch puts together * Roberto Puzzanghera's qmailadmin-skin patch Provides a new responsive skin to the control panel. It modifies everything under the html dir and many .c files in order to adjust the html that the original author embedded into the source files. Added a stylesheet style.css in the images folder and a couple of png files for the qmail logo. https://notes.sagredo.eu/files/qmail/patches/qmailadmin/skin/ * catchall patch by Luca Franceschini Restore the catch all account functiinality https://notes.sagredo.eu/files/qmail/patches/qmailadmin/qmailadmin-catchall.patch * qmail-log (unknown author) Gets the program to log authentication failures. This makes possibile to ban malicious IPs via fail2ban. It is required to create the log file /var/log/qma-auth.log initially and assign write priviledges to apache. https://notes.sagredo.eu/files/qmail/patches/qmailadmin/qmailadmin-1.2.16-log.patch * mailinglist.c.ezmlm7 patch (unknown author) Provides compatibility with ezmlm v. 7 https://notes.sagredo.eu/files/qmail/patches/qmailadmin/mailinglist.c.ezmlm7.patch * cracklib patch by Inter7. Improved by Roberto Puzzanghera Check for the password strenght. Requires the cracklib library and a configure rebuild. https://notes.sagredo.eu/files/qmail//patches//qmailadmin//cracklib/qmailadmin-cracklib.patch == Changelog * 2020.09.02 -mod_user.html: cleaned the html as it was printing unneeded strings * 2020.08.10 -mod_user.html: added value attribute to the name/gecos input tag (tx Pablo Murillo) * 2020.05.22 -mod_user.html: removed "required" attribute on password field, to allow modification with no password change * 2020.05.05 First release of the patch ================================================================================================== diff -ruN ../../qmailadmin-1.2.16-original/Makefile.am qmailadmin-1.2.16/Makefile.am --- ../../qmailadmin-1.2.16-original/Makefile.am 2011-02-22 15:45:48.000000000 +0100 +++ qmailadmin-1.2.16/Makefile.am 2020-05-04 08:48:05.257814203 +0200 @@ -79,4 +79,4 @@ chmod 644 $(DESTDIR)@htmllibdir@/lang/* $(mkinstalldirs) $(DESTDIR)@imagedir@ cp $(srcdir)/images/*.png $(DESTDIR)@imagedir@ - + cp $(srcdir)/images/*.css $(DESTDIR)@imagedir@ diff -ruN ../../qmailadmin-1.2.16-original/Makefile.in qmailadmin-1.2.16/Makefile.in --- ../../qmailadmin-1.2.16-original/Makefile.in 2011-02-22 15:45:47.000000000 +0100 +++ qmailadmin-1.2.16/Makefile.in 2020-05-04 11:22:27.118826270 +0200 @@ -1,9 +1,8 @@ -# Makefile.in generated by automake 1.11.1 from Makefile.am. +# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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, # with or without modifications, as long as this notice is preserved. @@ -16,6 +15,61 @@ @SET_MAKE@ VPATH = @srcdir@ +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 \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -36,15 +90,12 @@ host_triplet = @host@ EXTRA_PROGRAMS = qmailadmin$(EXEEXT) subdir = . -DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ - $(srcdir)/Makefile.in $(srcdir)/config.h.in \ - $(top_srcdir)/configure AUTHORS COPYING ChangeLog INSTALL NEWS \ - TODO config.guess config.sub depcomp install-sh ltmain.sh \ - missing mkinstalldirs ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \ + $(am__configure_deps) $(am__DIST_COMMON) am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ configure.lineno config.status.lineno mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs @@ -60,31 +111,87 @@ cgi.$(OBJEXT) limits.$(OBJEXT) dotqmail.$(OBJEXT) am_qmailadmin_OBJECTS = $(am__objects_1) qmailadmin_OBJECTS = $(am_qmailadmin_OBJECTS) +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +AM_V_CC = $(am__v_CC_@AM_V@) +am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) +am__v_CC_0 = @echo " CC " $@; +am__v_CC_1 = CCLD = $(CC) LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CCLD = $(am__v_CCLD_@AM_V@) +am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) +am__v_CCLD_0 = @echo " CCLD " $@; +am__v_CCLD_1 = SOURCES = $(qmailadmin_SOURCES) DIST_SOURCES = $(qmailadmin_SOURCES) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \ + $(LISP)config.h.in +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags +CSCOPE = cscope +AM_RECURSIVE_TARGETS = cscope +am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in AUTHORS \ + COPYING ChangeLog INSTALL NEWS README TODO compile \ + config.guess config.sub depcomp install-sh ltmain.sh missing \ + mkinstalldirs DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) am__remove_distdir = \ - { test ! -d "$(distdir)" \ - || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ - && rm -fr "$(distdir)"; }; } + if test -d "$(distdir)"; then \ + find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ + && rm -rf "$(distdir)" \ + || { sleep 5 && rm -rf "$(distdir)"; }; \ + else :; fi +am__post_remove_distdir = $(am__remove_distdir) DIST_ARCHIVES = $(distdir).tar.gz GZIP_ENV = --best +DIST_TARGETS = dist-gzip distuninstallcheck_listfiles = find . -type f -print +am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ + | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' distcleancheck_listfiles = find . -type f -print ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ @@ -212,7 +319,7 @@ .SUFFIXES: .SUFFIXES: .c .o .obj -am--refresh: +am--refresh: Makefile @: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ @@ -227,7 +334,6 @@ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu Makefile -.PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ @@ -248,10 +354,8 @@ $(am__aclocal_m4_deps): config.h: stamp-h1 - @if test ! -f $@; then \ - rm -f stamp-h1; \ - $(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 @@ -265,14 +369,18 @@ -rm -f config.h stamp-h1 install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) - test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ + fi; \ for p in $$list; do echo "$$p $$p"; done | \ sed 's/$(EXEEXT)$$//' | \ - while read p p1; do if test -f $$p; \ - then echo "$$p"; echo "$$p"; else :; fi; \ + while read p p1; do if test -f $$p \ + ; then echo "$$p"; echo "$$p"; else :; fi; \ done | \ - sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \ + sed -e 'p;s,.*/,,;n;h' \ + -e 's|.*|.|' \ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ sed 'N;N;N;s,\n, ,g' | \ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ @@ -293,16 +401,18 @@ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ files=`for p in $$list; do echo "$$p"; done | \ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ - -e 's/$$/$(EXEEXT)/' `; \ + -e 's/$$/$(EXEEXT)/' \ + `; \ test -n "$$list" || exit 0; \ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(bindir)" && rm -f $$files clean-binPROGRAMS: -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) -qmailadmin$(EXEEXT): $(qmailadmin_OBJECTS) $(qmailadmin_DEPENDENCIES) + +qmailadmin$(EXEEXT): $(qmailadmin_OBJECTS) $(qmailadmin_DEPENDENCIES) $(EXTRA_qmailadmin_DEPENDENCIES) @rm -f qmailadmin$(EXEEXT) - $(LINK) $(qmailadmin_OBJECTS) $(qmailadmin_LDADD) $(LIBS) + $(AM_V_CCLD)$(LINK) $(qmailadmin_OBJECTS) $(qmailadmin_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) @@ -327,39 +437,28 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/util.Po@am__quote@ .c.o: -@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(COMPILE) -c $< +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< .c.obj: -@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - mkid -fID $$unique -tags: TAGS +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-am +TAGS: tags -TAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ - list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ + $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ @@ -371,15 +470,11 @@ $$unique; \ fi; \ fi -ctags: CTAGS -CTAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ +ctags: ctags-am + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique @@ -388,9 +483,31 @@ here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" +cscope: cscope.files + test ! -s cscope.files \ + || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS) +clean-cscope: + -rm -f cscope.files +cscope.files: clean-cscope cscopelist +cscopelist: cscopelist-am + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + -rm -f cscope.out cscope.in.out cscope.po.out cscope.files distdir: $(DISTFILES) $(am__remove_distdir) @@ -436,36 +553,42 @@ || chmod -R a+r "$(distdir)" dist-gzip: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz - $(am__remove_distdir) + $(am__post_remove_distdir) dist-bzip2: distdir - tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 - $(am__remove_distdir) + tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 + $(am__post_remove_distdir) -dist-lzma: distdir - tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma - $(am__remove_distdir) +dist-lzip: distdir + tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz + $(am__post_remove_distdir) dist-xz: distdir - tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz - $(am__remove_distdir) + tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz + $(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__remove_distdir) + $(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__remove_distdir) + $(am__post_remove_distdir) dist-zip: distdir -rm -f $(distdir).zip zip -rq $(distdir).zip $(distdir) - $(am__remove_distdir) + $(am__post_remove_distdir) -dist dist-all: distdir - tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz - $(am__remove_distdir) +dist dist-all: + $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:' + $(am__post_remove_distdir) # This target untars the dist file and tries a VPATH configuration. Then # it guarantees that the distribution is self-contained by making another @@ -476,8 +599,8 @@ GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ *.tar.bz2*) \ bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ - *.tar.lzma*) \ - lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\ + *.tar.lz*) \ + lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ *.tar.xz*) \ xz -dc $(distdir).tar.xz | $(am__untar) ;;\ *.tar.Z*) \ @@ -487,17 +610,19 @@ *.zip*) \ unzip $(distdir).zip ;;\ esac - chmod -R a-w $(distdir); chmod a+w $(distdir) - mkdir $(distdir)/_build - mkdir $(distdir)/_inst + chmod -R a-w $(distdir) + chmod u+w $(distdir) + 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 \ @@ -520,13 +645,21 @@ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ && cd "$$am__cwd" \ || exit 1 - $(am__remove_distdir) + $(am__post_remove_distdir) @(echo "$(distdir) archives ready for distribution: "; \ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' distuninstallcheck: - @$(am__cd) '$(distuninstallcheck_dir)' \ - && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ + @test -n '$(distuninstallcheck_dir)' || { \ + echo 'ERROR: trying to run $@ with an empty' \ + '$$(distuninstallcheck_dir)' >&2; \ + exit 1; \ + }; \ + $(am__cd) '$(distuninstallcheck_dir)' || { \ + echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ + exit 1; \ + }; \ + test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left after uninstall:" ; \ if test -n "$(DESTDIR)"; then \ echo " (check DESTDIR support)"; \ @@ -559,10 +692,15 @@ installcheck: installcheck-am install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi mostlyclean-generic: clean-generic: @@ -648,9 +786,10 @@ .MAKE: all install-am install-strip -.PHONY: CTAGS GTAGS all all-am am--refresh check check-am clean \ - clean-binPROGRAMS clean-generic ctags dist dist-all dist-bzip2 \ - dist-gzip dist-hook dist-lzma dist-shar dist-tarZ dist-xz \ +.PHONY: CTAGS GTAGS TAGS all all-am am--refresh check check-am clean \ + clean-binPROGRAMS clean-cscope clean-generic cscope \ + cscopelist-am ctags ctags-am dist dist-all dist-bzip2 \ + dist-gzip dist-hook dist-lzip dist-shar dist-tarZ dist-xz \ dist-zip distcheck distclean distclean-compile \ distclean-generic distclean-hdr distclean-tags distcleancheck \ distdir distuninstallcheck dvi dvi-am html html-am info \ @@ -661,9 +800,11 @@ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \ + mostlyclean-generic pdf pdf-am ps ps-am tags tags-am uninstall \ uninstall-am uninstall-binPROGRAMS +.PRECIOUS: Makefile + @SET_MAKE@ @@ -713,6 +854,7 @@ chmod 644 $(DESTDIR)@htmllibdir@/lang/* $(mkinstalldirs) $(DESTDIR)@imagedir@ cp $(srcdir)/images/*.png $(DESTDIR)@imagedir@ + cp $(srcdir)/images/*.css $(DESTDIR)@imagedir@ # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff -ruN ../../qmailadmin-1.2.16-original/aclocal.m4 qmailadmin-1.2.16/aclocal.m4 --- ../../qmailadmin-1.2.16-original/aclocal.m4 2011-02-22 15:45:48.000000000 +0100 +++ qmailadmin-1.2.16/aclocal.m4 2020-05-04 11:22:26.212835190 +0200 @@ -1,7 +1,7 @@ -# generated automatically by aclocal 1.11.1 -*- Autoconf -*- +# generated automatically by aclocal 1.15 -*- Autoconf -*- + +# Copyright (C) 1996-2014 Free Software Foundation, Inc. -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -# 2005, 2006, 2007, 2008, 2009 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. @@ -11,15 +11,16 @@ # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. +m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl -m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.65],, -[m4_warning([this file was generated for autoconf 2.65. +m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],, +[m4_warning([this file was generated for autoconf 2.69. You have another version of autoconf. It may work, but is not guaranteed to. If you have problems, you may need to regenerate the build system entirely. -To do so, use the procedure documented by the package, typically `autoreconf'.])]) +To do so, use the procedure documented by the package, typically 'autoreconf'.])]) -# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# 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, @@ -31,10 +32,10 @@ # 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.11' +[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.11.1], [], +m4_if([$1], [1.15], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) @@ -50,22 +51,22 @@ # 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.11.1])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]))]) # AM_AUX_DIR_EXPAND -*- Autoconf -*- -# Copyright (C) 2001, 2003, 2005 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, # with or without modifications, as long as this notice is preserved. # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets -# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to -# `$srcdir', `$srcdir/..', or `$srcdir/../..'. +# $ac_aux_dir to '$srcdir/foo'. In other projects, it is set to +# '$srcdir', '$srcdir/..', or '$srcdir/../..'. # # Of course, Automake must honor this variable whenever it calls a # tool from the auxiliary directory. The problem is that $srcdir (and @@ -84,7 +85,7 @@ # # The reason of the latter failure is that $top_srcdir and $ac_aux_dir # are both prefixed by $srcdir. In an in-source build this is usually -# harmless because $srcdir is `.', but things will broke when you +# harmless because $srcdir is '.', but things will broke when you # start a VPATH build or use an absolute $srcdir. # # So we could use something similar to $top_srcdir/$ac_aux_dir/missing, @@ -102,30 +103,26 @@ # 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_CONDITIONAL -*- Autoconf -*- -# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008 -# 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, # with or without modifications, as long as this notice is preserved. -# serial 9 - # AM_CONDITIONAL(NAME, SHELL-CONDITION) # ------------------------------------- # Define a conditional. AC_DEFUN([AM_CONDITIONAL], -[AC_PREREQ(2.52)dnl - ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], - [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl +[AC_PREREQ([2.52])dnl + m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], + [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl AC_SUBST([$1_TRUE])dnl AC_SUBST([$1_FALSE])dnl _AM_SUBST_NOTMAKE([$1_TRUE])dnl @@ -144,16 +141,14 @@ Usually this means the macro was only invoked conditionally.]]) fi])]) -# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009 -# 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. -# serial 10 -# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be +# There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be # written in clear, in which case automake, when reading aclocal.m4, # will think it sees a *use*, and therefore will trigger all it's # C support machinery. Also note that it means that autoscan, seeing @@ -163,7 +158,7 @@ # _AM_DEPENDENCIES(NAME) # ---------------------- # See how the compiler implements dependency checking. -# NAME is "CC", "CXX", "GCJ", or "OBJC". +# NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC". # We try a few techniques and use that to set a single cache variable. # # We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was @@ -176,12 +171,13 @@ AC_REQUIRE([AM_MAKE_INCLUDE])dnl AC_REQUIRE([AM_DEP_TRACK])dnl -ifelse([$1], CC, [depcc="$CC" am_compiler_list=], - [$1], CXX, [depcc="$CXX" am_compiler_list=], - [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], - [$1], UPC, [depcc="$UPC" am_compiler_list=], - [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], - [depcc="$$1" am_compiler_list=]) +m4_if([$1], [CC], [depcc="$CC" am_compiler_list=], + [$1], [CXX], [depcc="$CXX" am_compiler_list=], + [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'], + [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'], + [$1], [UPC], [depcc="$UPC" am_compiler_list=], + [$1], [GCJ], [depcc="$GCJ" am_compiler_list='gcc3 gcc'], + [depcc="$$1" am_compiler_list=]) AC_CACHE_CHECK([dependency style of $depcc], [am_cv_$1_dependencies_compiler_type], @@ -189,8 +185,9 @@ # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named `D' -- because `-MD' means `put the output - # in D'. + # making a dummy file named 'D' -- because '-MD' means "put the output + # in D". + rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. @@ -229,16 +226,16 @@ : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with - # Solaris 8's {/usr,}/bin/sh. - touch sub/conftst$i.h + # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with + # Solaris 10 /bin/sh. + echo '/* dummy */' > sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - # We check with `-c' and `-o' for the sake of the "dashmstdout" + # We check with '-c' and '-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly - # handle `-M -o', and we need to detect this. Also, some Intel - # versions had trouble with output in subdirs + # handle '-M -o', and we need to detect this. Also, some Intel + # versions had trouble with output in subdirs. am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in @@ -247,16 +244,16 @@ test "$am__universal" = false || continue ;; nosideeffect) - # after this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested + # After this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested. if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; - msvisualcpp | msvcmsys) - # This compiler won't grok `-c -o', but also, the minuso test has + msvc7 | msvc7msys | msvisualcpp | msvcmsys) + # This compiler won't grok '-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} @@ -304,7 +301,7 @@ # AM_SET_DEPDIR # ------------- # Choose a directory name for dependency files. -# This macro is AC_REQUIREd in _AM_DEPENDENCIES +# This macro is AC_REQUIREd in _AM_DEPENDENCIES. AC_DEFUN([AM_SET_DEPDIR], [AC_REQUIRE([AM_SET_LEADING_DOT])dnl AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl @@ -314,34 +311,39 @@ # AM_DEP_TRACK # ------------ AC_DEFUN([AM_DEP_TRACK], -[AC_ARG_ENABLE(dependency-tracking, -[ --disable-dependency-tracking speeds up one-time build - --enable-dependency-tracking do not reject slow dependency extractors]) +[AC_ARG_ENABLE([dependency-tracking], [dnl +AS_HELP_STRING( + [--enable-dependency-tracking], + [do not reject slow dependency extractors]) +AS_HELP_STRING( + [--disable-dependency-tracking], + [speeds up one-time build])]) if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' + am__nodep='_no' fi AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) AC_SUBST([AMDEPBACKSLASH])dnl _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl +AC_SUBST([am__nodep])dnl +_AM_SUBST_NOTMAKE([am__nodep])dnl ]) # Generate code to set up dependency tracking. -*- Autoconf -*- -# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008 -# 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. -#serial 5 # _AM_OUTPUT_DEPENDENCY_COMMANDS # ------------------------------ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], [{ - # Autoconf 2.62 quotes --file arguments for eval, but not when files + # Older Autoconf quotes --file arguments for eval, but not when files # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. case $CONFIG_FILES in @@ -354,7 +356,7 @@ # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. - # We used to match only the files named `Makefile.in', but + # We used to match only the files named 'Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. @@ -366,21 +368,19 @@ continue fi # Extract the definition of DEPDIR, am__include, and am__quote - # from the Makefile without running `make'. + # from the Makefile without running 'make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` - test -z "am__include" && continue + test -z "$am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` - # When using ansi2knr, U may be empty or an underscore; expand it - U=`sed -n 's/^U = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ - sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`AS_DIRNAME(["$file"])` @@ -398,7 +398,7 @@ # This macro should only be invoked once -- use via AC_REQUIRE. # # This code is only required when automatic dependency tracking -# is enabled. FIXME. This creates each `.P' file that we will +# is enabled. FIXME. This creates each '.P' file that we will # need in order to bootstrap the dependency handling code. AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], [AC_CONFIG_COMMANDS([depfiles], @@ -406,32 +406,23 @@ [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) ]) -# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 -# 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. - -# serial 8 - -# AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS. -AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)]) - # Do all the work for Automake. -*- Autoconf -*- -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -# 2005, 2006, 2008, 2009 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, # with or without modifications, as long as this notice is preserved. -# serial 16 - # 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]) # ----------------------------------------------- @@ -444,7 +435,7 @@ # arguments mandatory, and then we can depend on a new Autoconf # release and drop the old call support. AC_DEFUN([AM_INIT_AUTOMAKE], -[AC_PREREQ([2.62])dnl +[AC_PREREQ([2.65])dnl dnl Autoconf wants to disallow AM_ names. We explicitly allow dnl the ones we care about. m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl @@ -473,33 +464,42 @@ # Define the identity of the package. dnl Distinguish between old-style and new-style calls. m4_ifval([$2], -[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl +[AC_DIAGNOSE([obsolete], + [$0: two- and three-arguments forms are deprecated.]) +m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl AC_SUBST([PACKAGE], [$1])dnl AC_SUBST([VERSION], [$2])], [_AM_SET_OPTIONS([$1])dnl dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. -m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,, +m4_if( + m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]), + [ok:ok],, [m4_fatal([AC_INIT should be called with package and version arguments])])dnl AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl _AM_IF_OPTION([no-define],, -[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) - AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl +[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package]) + AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl # Some tools Automake needs. AC_REQUIRE([AM_SANITY_CHECK])dnl AC_REQUIRE([AC_ARG_PROGRAM])dnl -AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) -AM_MISSING_PROG(AUTOCONF, autoconf) -AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) -AM_MISSING_PROG(AUTOHEADER, autoheader) -AM_MISSING_PROG(MAKEINFO, makeinfo) +AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}]) +AM_MISSING_PROG([AUTOCONF], [autoconf]) +AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}]) +AM_MISSING_PROG([AUTOHEADER], [autoheader]) +AM_MISSING_PROG([MAKEINFO], [makeinfo]) AC_REQUIRE([AM_PROG_INSTALL_SH])dnl AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl -AC_REQUIRE([AM_PROG_MKDIR_P])dnl -# We need awk for the "check" target. The system "awk" is bad on -# some platforms. +AC_REQUIRE([AC_PROG_MKDIR_P])dnl +# For better backward compatibility. To be removed once Automake 1.9.x +# dies out for good. For more background, see: +# +# +AC_SUBST([mkdir_p], ['$(MKDIR_P)']) +# 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 @@ -508,34 +508,82 @@ [_AM_PROG_TAR([v7])])]) _AM_IF_OPTION([no-dependencies],, [AC_PROVIDE_IFELSE([AC_PROG_CC], - [_AM_DEPENDENCIES(CC)], - [define([AC_PROG_CC], - defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl + [_AM_DEPENDENCIES([CC])], + [m4_define([AC_PROG_CC], + m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl AC_PROVIDE_IFELSE([AC_PROG_CXX], - [_AM_DEPENDENCIES(CXX)], - [define([AC_PROG_CXX], - defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl + [_AM_DEPENDENCIES([CXX])], + [m4_define([AC_PROG_CXX], + m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl AC_PROVIDE_IFELSE([AC_PROG_OBJC], - [_AM_DEPENDENCIES(OBJC)], - [define([AC_PROG_OBJC], - defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl -]) -_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl -dnl The `parallel-tests' driver may need to know about EXEEXT, so add the -dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro -dnl is hooked onto _AC_COMPILER_EXEEXT early, see below. + [_AM_DEPENDENCIES([OBJC])], + [m4_define([AC_PROG_OBJC], + m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl +AC_PROVIDE_IFELSE([AC_PROG_OBJCXX], + [_AM_DEPENDENCIES([OBJCXX])], + [m4_define([AC_PROG_OBJCXX], + m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl +]) +AC_REQUIRE([AM_SILENT_RULES])dnl +dnl The testsuite driver may need to know about EXEEXT, so add the +dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This +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: + +Please tell bug-automake@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: . + +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 +dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further 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. @@ -557,7 +605,7 @@ done echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) -# Copyright (C) 2001, 2003, 2005, 2008 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, @@ -568,7 +616,7 @@ # 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'" ;; @@ -576,16 +624,14 @@ install_sh="\${SHELL} $am_aux_dir/install-sh" esac fi -AC_SUBST(install_sh)]) +AC_SUBST([install_sh])]) -# Copyright (C) 2003, 2005 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, # with or without modifications, as long as this notice is preserved. -# serial 2 - # Check whether the underlying file-system supports filenames # with a leading dot. For instance MS-DOS doesn't. AC_DEFUN([AM_SET_LEADING_DOT], @@ -601,14 +647,12 @@ # Check to see how 'make' treats includes. -*- Autoconf -*- -# Copyright (C) 2001, 2002, 2003, 2005, 2009 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, # with or without modifications, as long as this notice is preserved. -# serial 4 - # AM_MAKE_INCLUDE() # ----------------- # Check to see how make treats includes. @@ -626,7 +670,7 @@ _am_result=none # First try GNU make style include. echo "include confinc" > confmf -# Ignore all kinds of additional output from `make'. +# Ignore all kinds of additional output from 'make'. case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=include @@ -653,15 +697,12 @@ # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- -# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008 -# 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, # with or without modifications, as long as this notice is preserved. -# serial 6 - # AM_MISSING_PROG(NAME, PROGRAM) # ------------------------------ AC_DEFUN([AM_MISSING_PROG], @@ -669,11 +710,10 @@ $1=${$1-"${am_missing_run}$2"} AC_SUBST($1)]) - # AM_MISSING_HAS_RUN # ------------------ -# Define MISSING if not defined so far and test if it supports --run. -# If it does, set am_missing_run to use it, otherwise, to nothing. +# Define MISSING if not defined so far and test if it is modern enough. +# If it is, set am_missing_run to use it, otherwise, to nothing. AC_DEFUN([AM_MISSING_HAS_RUN], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([missing])dnl @@ -686,63 +726,64 @@ esac fi # Use eval to expand $SHELL -if eval "$MISSING --run true"; then - am_missing_run="$MISSING --run " +if eval "$MISSING --is-lightweight"; then + am_missing_run="$MISSING " else am_missing_run= - AC_MSG_WARN([`missing' script is too old or missing]) + AC_MSG_WARN(['missing' script is too old or missing]) fi ]) -# Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +# -*- Autoconf -*- +# Obsolete and "removed" macros, that must however still report explicit +# error messages when used, to smooth transition. +# +# 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, # with or without modifications, as long as this notice is preserved. -# AM_PROG_MKDIR_P -# --------------- -# Check for `mkdir -p'. -AC_DEFUN([AM_PROG_MKDIR_P], -[AC_PREREQ([2.60])dnl -AC_REQUIRE([AC_PROG_MKDIR_P])dnl -dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P, -dnl while keeping a definition of mkdir_p for backward compatibility. -dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile. -dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of -dnl Makefile.ins that do not define MKDIR_P, so we do our own -dnl adjustment using top_builddir (which is defined more often than -dnl MKDIR_P). -AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl -case $mkdir_p in - [[\\/$]]* | ?:[[\\/]]*) ;; - */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; -esac -]) +AC_DEFUN([AM_CONFIG_HEADER], +[AC_DIAGNOSE([obsolete], +['$0': this macro is obsolete. +You should use the 'AC][_CONFIG_HEADERS' macro instead.])dnl +AC_CONFIG_HEADERS($@)]) + +AC_DEFUN([AM_PROG_CC_STDC], +[AC_PROG_CC +am_cv_prog_cc_stdc=$ac_cv_prog_cc_stdc +AC_DIAGNOSE([obsolete], +['$0': this macro is obsolete. +You should simply use the 'AC][_PROG_CC' macro instead. +Also, your code should no longer depend upon 'am_cv_prog_cc_stdc', +but upon 'ac_cv_prog_cc_stdc'.])]) + +AC_DEFUN([AM_C_PROTOTYPES], + [AC_FATAL([automatic de-ANSI-fication support has been removed])]) +AU_DEFUN([fp_C_PROTOTYPES], [AM_C_PROTOTYPES]) # Helper functions for option handling. -*- Autoconf -*- -# Copyright (C) 2001, 2002, 2003, 2005, 2008 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, # with or without modifications, as long as this notice is preserved. -# serial 4 - # _AM_MANGLE_OPTION(NAME) # ----------------------- AC_DEFUN([_AM_MANGLE_OPTION], [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) # _AM_SET_OPTION(NAME) -# ------------------------------ +# -------------------- # Set option NAME. Presently that only means defining a flag for this option. AC_DEFUN([_AM_SET_OPTION], -[m4_define(_AM_MANGLE_OPTION([$1]), 1)]) +[m4_define(_AM_MANGLE_OPTION([$1]), [1])]) # _AM_SET_OPTIONS(OPTIONS) -# ---------------------------------- +# ------------------------ # OPTIONS is a space-separated list of Automake options. AC_DEFUN([_AM_SET_OPTIONS], [m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) @@ -753,24 +794,82 @@ AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) -# Check to make sure that the build environment is sane. -*- Autoconf -*- +# 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. -# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008 -# Free Software Foundation, Inc. +# _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, # with or without modifications, as long as this notice is preserved. -# serial 5 +# AM_RUN_LOG(COMMAND) +# ------------------- +# Run COMMAND, save the exit status in ac_status, and log it. +# (This has been adapted from Autoconf's _AC_RUN_LOG macro.) +AC_DEFUN([AM_RUN_LOG], +[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD + ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + (exit $ac_status); }]) + +# Check to make sure that the build environment is sane. -*- Autoconf -*- + +# 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, +# with or without modifications, as long as this notice is preserved. # AM_SANITY_CHECK # --------------- AC_DEFUN([AM_SANITY_CHECK], [AC_MSG_CHECKING([whether build environment is sane]) -# Just in case -sleep 1 -echo timestamp > conftest.file # Reject unsafe characters in $srcdir or the absolute working directory # name. Accept space and tab only in the latter. am_lf=' @@ -781,32 +880,40 @@ esac case $srcdir in *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) - AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);; + AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);; esac -# Do `set' in a subshell so we don't clobber the current shell's +# Do 'set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( - set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` - if test "$[*]" = "X"; then - # -L didn't work. - set X `ls -t "$srcdir/configure" conftest.file` - fi - rm -f conftest.file - if test "$[*]" != "X $srcdir/configure conftest.file" \ - && test "$[*]" != "X conftest.file $srcdir/configure"; then - - # If neither matched, then we have a broken ls. This can happen - # if, for instance, CONFIG_SHELL is bash and it inherits a - # broken ls alias from the environment. This has actually - # happened. Such a system could not be considered "sane". - AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken -alias in your environment]) - fi - + am_has_slept=no + for am_try in 1 2; do + echo "timestamp, slept: $am_has_slept" > conftest.file + set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` + if test "$[*]" = "X"; then + # -L didn't work. + set X `ls -t "$srcdir/configure" conftest.file` + fi + if test "$[*]" != "X $srcdir/configure conftest.file" \ + && test "$[*]" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken + alias in your environment]) + fi + if test "$[2]" = conftest.file || test $am_try -eq 2; then + break + fi + # Just in case. + sleep 1 + am_has_slept=yes + done test "$[2]" = conftest.file ) then @@ -816,9 +923,85 @@ AC_MSG_ERROR([newly created file is older than distributed files! Check your system clock]) fi -AC_MSG_RESULT(yes)]) +AC_MSG_RESULT([yes]) +# If we didn't sleep, we still need to ensure time stamps of config.status and +# generated files are strictly newer. +am_sleep_pid= +if grep 'slept: no' conftest.file >/dev/null 2>&1; then + ( sleep 1 ) & + am_sleep_pid=$! +fi +AC_CONFIG_COMMANDS_PRE( + [AC_MSG_CHECKING([that generated files are newer than configure]) + if test -n "$am_sleep_pid"; then + # Hide warnings about reused PIDs. + wait $am_sleep_pid 2>/dev/null + fi + AC_MSG_RESULT([done])]) +rm -f conftest.file +]) + +# 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, +# with or without modifications, as long as this notice is preserved. + +# AM_SILENT_RULES([DEFAULT]) +# -------------------------- +# Enable less verbose build rules; with the default set to DEFAULT +# ("yes" being less verbose, "no" or empty being verbose). +AC_DEFUN([AM_SILENT_RULES], +[AC_ARG_ENABLE([silent-rules], [dnl +AS_HELP_STRING( + [--enable-silent-rules], + [less verbose build output (undo: "make V=1")]) +AS_HELP_STRING( + [--disable-silent-rules], + [verbose build output (undo: "make V=0")])dnl +]) +case $enable_silent_rules in @%:@ ((( + yes) AM_DEFAULT_VERBOSITY=0;; + no) AM_DEFAULT_VERBOSITY=1;; + *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);; +esac +dnl +dnl A few 'make' implementations (e.g., NonStop OS and NextStep) +dnl do not support nested variable expansions. +dnl See automake bug#9928 and bug#10237. +am_make=${MAKE-make} +AC_CACHE_CHECK([whether $am_make supports nested variables], + [am_cv_make_support_nested_variables], + [if AS_ECHO([['TRUE=$(BAR$(V)) +BAR0=false +BAR1=true +V=1 +am__doit: + @$(TRUE) +.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then + am_cv_make_support_nested_variables=yes +else + am_cv_make_support_nested_variables=no +fi]) +if test $am_cv_make_support_nested_variables = yes; then + dnl Using '$V' instead of '$(V)' breaks IRIX make. + AM_V='$(V)' + AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' +else + AM_V=$AM_DEFAULT_VERBOSITY + AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY +fi +AC_SUBST([AM_V])dnl +AM_SUBST_NOTMAKE([AM_V])dnl +AC_SUBST([AM_DEFAULT_V])dnl +AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl +AC_SUBST([AM_DEFAULT_VERBOSITY])dnl +AM_BACKSLASH='\' +AC_SUBST([AM_BACKSLASH])dnl +_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl +]) -# Copyright (C) 2001, 2003, 2005 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, @@ -826,34 +1009,32 @@ # AM_PROG_INSTALL_STRIP # --------------------- -# One issue with vendor `install' (even GNU) is that you can't +# One issue with vendor 'install' (even GNU) is that you can't # specify the program used to strip binaries. This is especially # annoying in cross-compiling environments, where the build's strip # is unlikely to handle the host's binaries. # Fortunately install-sh will honor a STRIPPROG variable, so we -# always use install-sh in `make install-strip', and initialize +# always use install-sh in "make install-strip", and initialize # STRIPPROG with the value of the STRIP variable (set by the user). AC_DEFUN([AM_PROG_INSTALL_STRIP], [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl -# Installed binaries are usually stripped using `strip' when the user -# run `make install-strip'. However `strip' might not be the right +# Installed binaries are usually stripped using 'strip' when the user +# run "make install-strip". However 'strip' might not be the right # tool to use in cross-compilation environments, therefore Automake -# will honor the `STRIP' environment variable to overrule this program. -dnl Don't test for $cross_compiling = yes, because it might be `maybe'. +# will honor the 'STRIP' environment variable to overrule this program. +dnl Don't test for $cross_compiling = yes, because it might be 'maybe'. if test "$cross_compiling" != no; then AC_CHECK_TOOL([STRIP], [strip], :) fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) -# Copyright (C) 2006, 2008 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, # with or without modifications, as long as this notice is preserved. -# serial 2 - # _AM_SUBST_NOTMAKE(VARIABLE) # --------------------------- # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. @@ -861,24 +1042,22 @@ AC_DEFUN([_AM_SUBST_NOTMAKE]) # AM_SUBST_NOTMAKE(VARIABLE) -# --------------------------- +# -------------------------- # Public sister of _AM_SUBST_NOTMAKE. AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) # Check how to create a tarball. -*- Autoconf -*- -# Copyright (C) 2004, 2005 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, # with or without modifications, as long as this notice is preserved. -# serial 2 - # _AM_PROG_TAR(FORMAT) # -------------------- # Check how to create a tarball in format FORMAT. -# FORMAT should be one of `v7', `ustar', or `pax'. +# FORMAT should be one of 'v7', 'ustar', or 'pax'. # # Substitute a variable $(am__tar) that is a command # writing to stdout a FORMAT-tarball containing the directory @@ -888,75 +1067,114 @@ # Substitute a variable $(am__untar) that extract such # a tarball read from stdin. # $(am__untar) < result.tar +# AC_DEFUN([_AM_PROG_TAR], -[# Always define AMTAR for backward compatibility. -AM_MISSING_PROG([AMTAR], [tar]) -m4_if([$1], [v7], - [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'], - [m4_case([$1], [ustar],, [pax],, - [m4_fatal([Unknown tar format])]) -AC_MSG_CHECKING([how to create a $1 tar archive]) -# Loop over all known methods to create a tar archive until one works. +[# Always define AMTAR for backward compatibility. Yes, it's still used +# in the wild :-( We should find a proper way to deprecate it ... +AC_SUBST([AMTAR], ['$${TAR-tar}']) + +# We'll loop over all known methods to create a tar archive until one works. _am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' -_am_tools=${am_cv_prog_tar_$1-$_am_tools} -# Do not fold the above two line into one, because Tru64 sh and -# Solaris sh will not grok spaces in the rhs of `-'. -for _am_tool in $_am_tools -do - case $_am_tool in - gnutar) - for _am_tar in tar gnutar gtar; - do - AM_RUN_LOG([$_am_tar --version]) && break - done - am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' - am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' - am__untar="$_am_tar -xf -" - ;; - plaintar) - # Must skip GNU tar: if it does not support --format= it doesn't create - # ustar tarball either. - (tar --version) >/dev/null 2>&1 && continue - am__tar='tar chf - "$$tardir"' - am__tar_='tar chf - "$tardir"' - am__untar='tar xf -' - ;; - pax) - am__tar='pax -L -x $1 -w "$$tardir"' - am__tar_='pax -L -x $1 -w "$tardir"' - am__untar='pax -r' - ;; - cpio) - am__tar='find "$$tardir" -print | cpio -o -H $1 -L' - am__tar_='find "$tardir" -print | cpio -o -H $1 -L' - am__untar='cpio -i -H $1 -d' - ;; - none) - am__tar=false - am__tar_=false - am__untar=false - ;; - esac - # If the value was cached, stop now. We just wanted to have am__tar - # and am__untar set. - test -n "${am_cv_prog_tar_$1}" && break +m4_if([$1], [v7], + [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'], - # tar/untar a dummy directory, and stop if the command works - rm -rf conftest.dir - mkdir conftest.dir - echo GrepMe > conftest.dir/file - AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) + [m4_case([$1], + [ustar], + [# The POSIX 1988 'ustar' format is defined with fixed-size fields. + # There is notably a 21 bits limit for the UID and the GID. In fact, + # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343 + # and bug#13588). + am_max_uid=2097151 # 2^21 - 1 + am_max_gid=$am_max_uid + # The $UID and $GID variables are not portable, so we need to resort + # to the POSIX-mandated id(1) utility. Errors in the 'id' calls + # below are definitely unexpected, so allow the users to see them + # (that is, avoid stderr redirection). + am_uid=`id -u || echo unknown` + am_gid=`id -g || echo unknown` + AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format]) + if test $am_uid -le $am_max_uid; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + _am_tools=none + fi + AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format]) + if test $am_gid -le $am_max_gid; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + _am_tools=none + fi], + + [pax], + [], + + [m4_fatal([Unknown tar format])]) + + AC_MSG_CHECKING([how to create a $1 tar archive]) + + # Go ahead even if we have the value already cached. We do so because we + # need to set the values for the 'am__tar' and 'am__untar' variables. + _am_tools=${am_cv_prog_tar_$1-$_am_tools} + + for _am_tool in $_am_tools; do + case $_am_tool in + gnutar) + for _am_tar in tar gnutar gtar; do + AM_RUN_LOG([$_am_tar --version]) && break + done + am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' + am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' + am__untar="$_am_tar -xf -" + ;; + plaintar) + # Must skip GNU tar: if it does not support --format= it doesn't create + # ustar tarball either. + (tar --version) >/dev/null 2>&1 && continue + am__tar='tar chf - "$$tardir"' + am__tar_='tar chf - "$tardir"' + am__untar='tar xf -' + ;; + pax) + am__tar='pax -L -x $1 -w "$$tardir"' + am__tar_='pax -L -x $1 -w "$tardir"' + am__untar='pax -r' + ;; + cpio) + am__tar='find "$$tardir" -print | cpio -o -H $1 -L' + am__tar_='find "$tardir" -print | cpio -o -H $1 -L' + am__untar='cpio -i -H $1 -d' + ;; + none) + am__tar=false + am__tar_=false + am__untar=false + ;; + esac + + # If the value was cached, stop now. We just wanted to have am__tar + # and am__untar set. + test -n "${am_cv_prog_tar_$1}" && break + + # tar/untar a dummy directory, and stop if the command works. + rm -rf conftest.dir + mkdir conftest.dir + echo GrepMe > conftest.dir/file + AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) + rm -rf conftest.dir + if test -s conftest.tar; then + AM_RUN_LOG([$am__untar /dev/null 2>&1 && break + fi + done rm -rf conftest.dir - if test -s conftest.tar; then - AM_RUN_LOG([$am__untar /dev/null 2>&1 && break - fi -done -rm -rf conftest.dir -AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) -AC_MSG_RESULT([$am_cv_prog_tar_$1])]) + AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) + AC_MSG_RESULT([$am_cv_prog_tar_$1])]) + AC_SUBST([am__tar]) AC_SUBST([am__untar]) ]) # _AM_PROG_TAR diff -ruN ../../qmailadmin-1.2.16-original/alias.c qmailadmin-1.2.16/alias.c --- ../../qmailadmin-1.2.16-original/alias.c 2011-02-22 15:45:47.000000000 +0100 +++ qmailadmin-1.2.16/alias.c 2020-05-03 12:38:18.000000000 +0200 @@ -305,11 +305,11 @@ */ printf ("%s", HTML_ALIAS_ROW_START); - qmail_button (this_alias, "deldotqmail", user, dom, mytime, "trash.png"); + qmail_button (this_alias, "deldotqmail", user, dom, mytime, "delete_forever"); if (*curalias->alias_command == '#') printf ("%s", HTML_EMPTY_TD); /* don't allow modify on blackhole */ else - qmail_button (this_alias, "moddotqmail", user, dom, mytime, "modify.png"); + qmail_button (this_alias, "moddotqmail", user, dom, mytime, "create"); printh (HTML_ALIAS_NAME, this_alias); printf (HTML_ALIAS_DEST_START); @@ -715,7 +715,7 @@ *s = '\0'; if ((s = strrchr(user, '/')) == NULL) return NULL; - if (b != NULL) { snprinth (user, sizeof(user), "%H (%H)", s+1, b); } + if (b != NULL) { snprinth (user, sizeof(user), "%H (%H)", s+1, b); } else { snprinth (user, sizeof(user), "%H", s+1); } return (user); @@ -739,7 +739,7 @@ /* back up to pipe or first slash to remove path */ while (line[len] != '/' && line[len] != '|') len--; len++; /* len is now first char of program name */ - snprinth (command, sizeof(command), "%H", &line[len]); + snprinth (command, sizeof(command), "%H", &line[len]); return(command); } else { diff -ruN ../../qmailadmin-1.2.16-original/autorespond.c qmailadmin-1.2.16/autorespond.c --- ../../qmailadmin-1.2.16-original/autorespond.c 2011-02-22 15:45:47.000000000 +0100 +++ qmailadmin-1.2.16/autorespond.c 2020-05-03 16:57:34.000000000 +0200 @@ -77,17 +77,17 @@ for (i = 0; (addr = sort_get_entry(i)); ++i) { printf (""); - printf (""); + printf (""); printh ("", cgiurl("delautorespond"), addr); - printf ("", IMAGEURL); + printf ("delete_forever"); printf (""); - printf (""); + printf (""); printh ("", cgiurl("modautorespond"), addr); - printf ("", IMAGEURL); + printf ("create"); printf (""); - printh ("%H@%H", addr, Domain); + printh ("%H@%H", addr, Domain); printf ("\n"); } @@ -192,13 +192,13 @@ * Make the autoresponder .qmail file */ valias_delete (ActionUser, Domain); - if ( strlen(Newu) > 0 ) { - sprintf(TmpBuf, "&%s", Newu); - valias_insert (ActionUser, Domain, TmpBuf); - } sprintf(TmpBuf, "|%s/autorespond 10000 5 %s/%s/message %s/%s", AUTORESPOND_PATH, RealDir, TmpBuf2, RealDir, TmpBuf2); valias_insert (ActionUser, Domain, TmpBuf); + if ( strlen(Newu) > 0 ) { + sprintf(TmpBuf, "&%s", Newu); + valias_insert (ActionUser, Domain, TmpBuf); + } /* * Report success diff -ruN ../../qmailadmin-1.2.16-original/command.c qmailadmin-1.2.16/command.c --- ../../qmailadmin-1.2.16-original/command.c 2011-02-22 15:45:48.000000000 +0100 +++ qmailadmin-1.2.16/command.c 2020-05-04 11:14:22.668604120 +0200 @@ -30,6 +30,7 @@ #include #include +#include "config.h" #include "alias.h" #include "autorespond.h" #include "cgi.h" diff -ruN ../../qmailadmin-1.2.16-original/compile qmailadmin-1.2.16/compile --- ../../qmailadmin-1.2.16-original/compile 1970-01-01 01:00:00.000000000 +0100 +++ qmailadmin-1.2.16/compile 2015-10-25 17:33:37.000000000 +0100 @@ -0,0 +1,347 @@ +#! /bin/sh +# Wrapper for compilers which do not understand '-c -o'. + +scriptversion=2012-10-14.11; # UTC + +# Copyright (C) 1999-2014 Free Software Foundation, Inc. +# Written by Tom Tromey . +# +# 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 +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# This file is maintained in Automake, please report +# bugs to or send patches to +# . + +nl=' +' + +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent tools from complaining about whitespace usage. +IFS=" "" $nl" + +file_conv= + +# func_file_conv build_file lazy +# Convert a $build file to $host form and store it in $file +# Currently only supports Windows hosts. If the determined conversion +# type is listed in (the comma separated) LAZY, no conversion will +# take place. +func_file_conv () +{ + file=$1 + case $file in + / | /[!/]*) # absolute file, and not a UNC file + if test -z "$file_conv"; then + # lazily determine how to convert abs files + case `uname -s` in + MINGW*) + file_conv=mingw + ;; + CYGWIN*) + file_conv=cygwin + ;; + *) + file_conv=wine + ;; + esac + fi + case $file_conv/,$2, in + *,$file_conv,*) + ;; + mingw/*) + file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` + ;; + cygwin/*) + file=`cygpath -m "$file" || echo "$file"` + ;; + wine/*) + file=`winepath -w "$file" || echo "$file"` + ;; + esac + ;; + esac +} + +# func_cl_dashL linkdir +# Make cl look for libraries in LINKDIR +func_cl_dashL () +{ + func_file_conv "$1" + if test -z "$lib_path"; then + lib_path=$file + else + lib_path="$lib_path;$file" + fi + linker_opts="$linker_opts -LIBPATH:$file" +} + +# func_cl_dashl library +# Do a library search-path lookup for cl +func_cl_dashl () +{ + lib=$1 + found=no + save_IFS=$IFS + IFS=';' + for dir in $lib_path $LIB + do + IFS=$save_IFS + if $shared && test -f "$dir/$lib.dll.lib"; then + found=yes + lib=$dir/$lib.dll.lib + break + fi + if test -f "$dir/$lib.lib"; then + found=yes + lib=$dir/$lib.lib + break + fi + if test -f "$dir/lib$lib.a"; then + found=yes + lib=$dir/lib$lib.a + break + fi + done + IFS=$save_IFS + + if test "$found" != yes; then + lib=$lib.lib + fi +} + +# func_cl_wrapper cl arg... +# Adjust compile command to suit cl +func_cl_wrapper () +{ + # Assume a capable shell + lib_path= + shared=: + linker_opts= + for arg + do + if test -n "$eat"; then + eat= + else + case $1 in + -o) + # configure might choose to run compile as 'compile cc -o foo foo.c'. + eat=1 + case $2 in + *.o | *.[oO][bB][jJ]) + func_file_conv "$2" + set x "$@" -Fo"$file" + shift + ;; + *) + func_file_conv "$2" + set x "$@" -Fe"$file" + shift + ;; + esac + ;; + -I) + eat=1 + func_file_conv "$2" mingw + set x "$@" -I"$file" + shift + ;; + -I*) + func_file_conv "${1#-I}" mingw + set x "$@" -I"$file" + shift + ;; + -l) + eat=1 + func_cl_dashl "$2" + set x "$@" "$lib" + shift + ;; + -l*) + func_cl_dashl "${1#-l}" + set x "$@" "$lib" + shift + ;; + -L) + eat=1 + func_cl_dashL "$2" + ;; + -L*) + func_cl_dashL "${1#-L}" + ;; + -static) + shared=false + ;; + -Wl,*) + arg=${1#-Wl,} + save_ifs="$IFS"; IFS=',' + for flag in $arg; do + IFS="$save_ifs" + linker_opts="$linker_opts $flag" + done + IFS="$save_ifs" + ;; + -Xlinker) + eat=1 + linker_opts="$linker_opts $2" + ;; + -*) + set x "$@" "$1" + shift + ;; + *.cc | *.CC | *.cxx | *.CXX | *.[cC]++) + func_file_conv "$1" + set x "$@" -Tp"$file" + shift + ;; + *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO]) + func_file_conv "$1" mingw + set x "$@" "$file" + shift + ;; + *) + set x "$@" "$1" + shift + ;; + esac + fi + shift + done + if test -n "$linker_opts"; then + linker_opts="-link$linker_opts" + fi + exec "$@" $linker_opts + exit 1 +} + +eat= + +case $1 in + '') + echo "$0: No command. Try '$0 --help' for more information." 1>&2 + exit 1; + ;; + -h | --h*) + cat <<\EOF +Usage: compile [--help] [--version] PROGRAM [ARGS] + +Wrapper for compilers which do not understand '-c -o'. +Remove '-o dest.o' from ARGS, run PROGRAM with the remaining +arguments, and rename the output as expected. + +If you are trying to build a whole package this is not the +right script to run: please start by reading the file 'INSTALL'. + +Report bugs to . +EOF + exit $? + ;; + -v | --v*) + echo "compile $scriptversion" + exit $? + ;; + cl | *[/\\]cl | cl.exe | *[/\\]cl.exe ) + func_cl_wrapper "$@" # Doesn't return... + ;; +esac + +ofile= +cfile= + +for arg +do + if test -n "$eat"; then + eat= + else + case $1 in + -o) + # configure might choose to run compile as 'compile cc -o foo foo.c'. + # So we strip '-o arg' only if arg is an object. + eat=1 + case $2 in + *.o | *.obj) + ofile=$2 + ;; + *) + set x "$@" -o "$2" + shift + ;; + esac + ;; + *.c) + cfile=$1 + set x "$@" "$1" + shift + ;; + *) + set x "$@" "$1" + shift + ;; + esac + fi + shift +done + +if test -z "$ofile" || test -z "$cfile"; then + # If no '-o' option was seen then we might have been invoked from a + # pattern rule where we don't need one. That is ok -- this is a + # normal compilation that the losing compiler can handle. If no + # '.c' file was seen then we are probably linking. That is also + # ok. + exec "$@" +fi + +# Name of file we expect compiler to create. +cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'` + +# Create the lock directory. +# Note: use '[/\\:.-]' here to ensure that we don't use the same name +# that we are using for the .o file. Also, base the name on the expected +# object file name, since that is what matters with a parallel build. +lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d +while true; do + if mkdir "$lockdir" >/dev/null 2>&1; then + break + fi + sleep 1 +done +# FIXME: race condition here if user kills between mkdir and trap. +trap "rmdir '$lockdir'; exit 1" 1 2 15 + +# Run the compile. +"$@" +ret=$? + +if test -f "$cofile"; then + test "$cofile" = "$ofile" || mv "$cofile" "$ofile" +elif test -f "${cofile}bj"; then + test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile" +fi + +rmdir "$lockdir" +exit $ret + +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-time-zone: "UTC" +# time-stamp-end: "; # UTC" +# End: diff -ruN ../../qmailadmin-1.2.16-original/config.h.in qmailadmin-1.2.16/config.h.in --- ../../qmailadmin-1.2.16-original/config.h.in 2011-02-22 15:45:48.000000000 +0100 +++ qmailadmin-1.2.16/config.h.in 2020-05-04 11:23:35.433153675 +0200 @@ -13,6 +13,9 @@ #undef CLOSEDIR_VOID /* "" */ +#undef CRACKLIB + +/* "" */ #undef DOMAIN_AUTOFILL /* "" */ @@ -34,6 +37,9 @@ /* Define to 1 if you have the header file. */ #undef HAVE_INTTYPES_H +/* Define to 1 if you have the `crack' library (-lcrack). */ +#undef HAVE_LIBCRACK + /* Define to 1 if you have the `crypt' library (-lcrypt). */ #undef HAVE_LIBCRYPT @@ -129,7 +135,6 @@ /* "" */ #undef NO_CACHE -#if 0 /* Define to the address where bug reports for this package should be sent. */ #undef PACKAGE_BUGREPORT @@ -147,7 +152,6 @@ /* Define to the version of this package. */ #undef PACKAGE_VERSION -#endif /* "" */ #undef QA_PACKAGE diff -ruN ../../qmailadmin-1.2.16-original/configure qmailadmin-1.2.16/configure --- ../../qmailadmin-1.2.16-original/configure 2011-02-22 15:45:48.000000000 +0100 +++ qmailadmin-1.2.16/configure 2020-05-04 11:22:34.172756824 +0200 @@ -1,11 +1,9 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.65. +# Generated by GNU Autoconf 2.69. # # -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, -# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, -# Inc. +# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. # # # This configure script is free software; the Free Software Foundation @@ -89,6 +87,7 @@ IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. +as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -133,6 +132,31 @@ # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH +# Use a proper internal environment variable to ensure we don't fall + # into an infinite loop, continuously re-executing ourselves. + if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then + _as_can_reexec=no; export _as_can_reexec; + # We cannot yet assume a decent shell, so we have to provide a +# neutralization value for shells without unset; and this also +# works around shells that cannot unset nonexistent variables. +# Preserve -v and -x to the replacement shell. +BASH_ENV=/dev/null +ENV=/dev/null +(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV +case $- in # (((( + *v*x* | *x*v* ) as_opts=-vx ;; + *v* ) as_opts=-v ;; + *x* ) as_opts=-x ;; + * ) as_opts= ;; +esac +exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} +# Admittedly, this is quite paranoid, since all the known shells bail +# out after a failed `exec'. +$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 +as_fn_exit 255 + fi + # We don't want this to propagate to other subprocesses. + { _as_can_reexec=; unset _as_can_reexec;} if test "x$CONFIG_SHELL" = x; then as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : emulate sh @@ -166,7 +190,8 @@ else exitcode=1; echo positional parameters were not saved. fi -test x\$exitcode = x0 || exit 1" +test x\$exitcode = x0 || exit 1 +test -x / || exit 1" as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && @@ -211,14 +236,25 @@ if test "x$CONFIG_SHELL" != x; then : - # We cannot yet assume a decent shell, so we have to provide a - # neutralization value for shells without unset; and this also - # works around shells that cannot unset nonexistent variables. - BASH_ENV=/dev/null - ENV=/dev/null - (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV - export CONFIG_SHELL - exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} + export CONFIG_SHELL + # We cannot yet assume a decent shell, so we have to provide a +# neutralization value for shells without unset; and this also +# works around shells that cannot unset nonexistent variables. +# Preserve -v and -x to the replacement shell. +BASH_ENV=/dev/null +ENV=/dev/null +(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV +case $- in # (((( + *v*x* | *x*v* ) as_opts=-vx ;; + *v* ) as_opts=-v ;; + *x* ) as_opts=-x ;; + * ) as_opts= ;; +esac +exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} +# Admittedly, this is quite paranoid, since all the known shells bail +# out after a failed `exec'. +$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 fi if test x$as_have_required = xno; then : @@ -316,10 +352,18 @@ test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p + +# as_fn_executable_p FILE +# ----------------------- +# Test if FILE is an executable regular file. +as_fn_executable_p () +{ + test -f "$1" && test -x "$1" +} # as_fn_executable_p # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take @@ -356,19 +400,19 @@ fi # as_fn_arith -# as_fn_error ERROR [LINENO LOG_FD] -# --------------------------------- +# as_fn_error STATUS ERROR [LINENO LOG_FD] +# ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with status $?, using 1 if that was 0. +# script with STATUS, using 1 if that was 0. as_fn_error () { - as_status=$?; test $as_status -eq 0 && as_status=1 - if test "$3"; then - as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3 + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi - $as_echo "$as_me: error: $1" >&2 + $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error @@ -441,6 +485,10 @@ chmod +x "$as_me.lineno" || { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } + # If we had to re-execute with $CONFIG_SHELL, we're ensured to have + # already done that, so ensure we don't try to do so again and fall + # in an infinite loop. This has already happened in practice. + _as_can_reexec=no; export _as_can_reexec # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). @@ -475,16 +523,16 @@ # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -p'. + # In both cases, we have to default to `cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -p' + as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else - as_ln_s='cp -p' + as_ln_s='cp -pR' fi else - as_ln_s='cp -p' + as_ln_s='cp -pR' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null @@ -496,28 +544,8 @@ as_mkdir_p=false fi -if test -x / >/dev/null 2>&1; then - as_test_x='test -x' -else - if ls -dL / >/dev/null 2>&1; then - as_ls_L_option=L - else - as_ls_L_option= - fi - as_test_x=' - eval sh -c '\'' - if test -d "$1"; then - test -d "$1/."; - else - case $1 in #( - -*)set "./$1";; - esac; - case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( - ???[sx]*):;;*)false;;esac;fi - '\'' sh - ' -fi -as_executable_p=$as_test_x +as_test_x='test -x' +as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" @@ -530,7 +558,7 @@ exec 6>&1 # Name of the host. -# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, +# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` @@ -615,6 +643,7 @@ am__fastdepCC_FALSE am__fastdepCC_TRUE CCDEPMODE +am__nodep AMDEPBACKSLASH AMDEP_FALSE AMDEP_TRUE @@ -638,6 +667,10 @@ build_vendor build_cpu build +AM_BACKSLASH +AM_DEFAULT_VERBOSITY +AM_DEFAULT_V +AM_V am__untar am__tar AMTAR @@ -702,6 +735,7 @@ ac_subst_files='' ac_user_opts=' enable_option_checking +enable_silent_rules enable_dependency_tracking enable_vpopmaildir enable_htmldir @@ -729,6 +763,7 @@ enable_spamcmd_needs_email enable_modify_spam enable_spam_command +enable_cracklib enable_help ' ac_precious_vars='build_alias @@ -802,8 +837,9 @@ fi case $ac_option in - *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; - *) ac_optarg=yes ;; + *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; + *=) ac_optarg= ;; + *) ac_optarg=yes ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. @@ -848,7 +884,7 @@ ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error "invalid feature name: $ac_useropt" + as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -874,7 +910,7 @@ ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error "invalid feature name: $ac_useropt" + as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -1078,7 +1114,7 @@ ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error "invalid package name: $ac_useropt" + as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -1094,7 +1130,7 @@ ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error "invalid package name: $ac_useropt" + as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -1124,8 +1160,8 @@ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; - -*) as_fn_error "unrecognized option: \`$ac_option' -Try \`$0 --help' for more information." + -*) as_fn_error $? "unrecognized option: \`$ac_option' +Try \`$0 --help' for more information" ;; *=*) @@ -1133,7 +1169,7 @@ # Reject names that are not valid shell variable names. case $ac_envvar in #( '' | [0-9]* | *[!_$as_cr_alnum]* ) - as_fn_error "invalid variable name: \`$ac_envvar'" ;; + as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; esac eval $ac_envvar=\$ac_optarg export $ac_envvar ;; @@ -1143,7 +1179,7 @@ $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 - : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} + : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" ;; esac @@ -1151,13 +1187,13 @@ if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` - as_fn_error "missing argument to $ac_option" + as_fn_error $? "missing argument to $ac_option" fi if test -n "$ac_unrecognized_opts"; then case $enable_option_checking in no) ;; - fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;; + fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi @@ -1180,7 +1216,7 @@ [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac - as_fn_error "expected an absolute directory name for --$ac_var: $ac_val" + as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" done # There might be people who depend on the old broken behavior: `$host' @@ -1194,8 +1230,6 @@ if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe - $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. - If a cross compiler is detected then cross compile mode will be used." >&2 elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi @@ -1210,9 +1244,9 @@ ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || - as_fn_error "working directory cannot be determined" + as_fn_error $? "working directory cannot be determined" test "X$ac_ls_di" = "X$ac_pwd_ls_di" || - as_fn_error "pwd does not report name of working directory" + as_fn_error $? "pwd does not report name of working directory" # Find the source files, if location was not specified. @@ -1251,11 +1285,11 @@ fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." - as_fn_error "cannot find sources ($ac_unique_file) in $srcdir" + as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( - cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg" + cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then @@ -1295,7 +1329,7 @@ --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit - -q, --quiet, --silent do not print \`checking...' messages + -q, --quiet, --silent do not print \`checking ...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files @@ -1357,8 +1391,12 @@ --disable-option-checking ignore unrecognized --enable/--with options --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] - --disable-dependency-tracking speeds up one-time build - --enable-dependency-tracking do not reject slow dependency extractors + --enable-silent-rules less verbose build output (undo: "make V=1") + --disable-silent-rules verbose build output (undo: "make V=0") + --enable-dependency-tracking + do not reject slow dependency extractors + --disable-dependency-tracking + speeds up one-time build --enable-vpopmaildir=DIR Home directory of vpopmail. --enable-htmldir=DIR HTTP server's base html dir. --enable-cgibindir=DIR HTTP server's cgi-bin directory. @@ -1384,6 +1422,7 @@ --enable-spamcmd-needs-email Append the user's email to the end of the spam command. --enable-modify-spam Allow users to enable/disable spam checking. --enable-spam-command=CMD Remember to use '|preline' at the beginning, |preline /usr/local/bin/maildrop /etc/mailfilter. + --enable-cracklib=PATH Path to cracklib dictionary. --enable-help Display help links on login page. Some influential environment variables: @@ -1463,9 +1502,9 @@ if $ac_init_version; then cat <<\_ACEOF configure -generated by GNU Autoconf 2.65 +generated by GNU Autoconf 2.69 -Copyright (C) 2009 Free Software Foundation, Inc. +Copyright (C) 2012 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF @@ -1509,7 +1548,7 @@ ac_retval=1 fi - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_compile @@ -1535,7 +1574,7 @@ mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } >/dev/null && { + test $ac_status = 0; } > conftest.i && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then : @@ -1546,7 +1585,7 @@ ac_retval=1 fi - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_cpp @@ -1578,7 +1617,7 @@ test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext + test -x conftest$ac_exeext }; then : ac_retval=0 else @@ -1592,7 +1631,7 @@ # interfere with the next link command; also delete a directory that is # left behind by Apple's compiler. We do this before executing the actions. rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_link @@ -1634,7 +1673,7 @@ ac_retval=$ac_status fi rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_run @@ -1648,7 +1687,7 @@ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -1666,7 +1705,7 @@ eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_header_compile @@ -1678,7 +1717,7 @@ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -1733,7 +1772,7 @@ eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_func cat >config.log <<_ACEOF @@ -1741,7 +1780,7 @@ running configure, to aid debugging if configure makes a mistake. It was created by $as_me, which was -generated by GNU Autoconf 2.65. Invocation command line was +generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -1851,11 +1890,9 @@ { echo - cat <<\_ASBOX -## ---------------- ## + $as_echo "## ---------------- ## ## Cache variables. ## -## ---------------- ## -_ASBOX +## ---------------- ##" echo # The following way of writing the cache mishandles newlines in values, ( @@ -1889,11 +1926,9 @@ ) echo - cat <<\_ASBOX -## ----------------- ## + $as_echo "## ----------------- ## ## Output variables. ## -## ----------------- ## -_ASBOX +## ----------------- ##" echo for ac_var in $ac_subst_vars do @@ -1906,11 +1941,9 @@ echo if test -n "$ac_subst_files"; then - cat <<\_ASBOX -## ------------------- ## + $as_echo "## ------------------- ## ## File substitutions. ## -## ------------------- ## -_ASBOX +## ------------------- ##" echo for ac_var in $ac_subst_files do @@ -1924,11 +1957,9 @@ fi if test -s confdefs.h; then - cat <<\_ASBOX -## ----------- ## + $as_echo "## ----------- ## ## confdefs.h. ## -## ----------- ## -_ASBOX +## ----------- ##" echo cat confdefs.h echo @@ -1983,7 +2014,12 @@ ac_site_file1=NONE ac_site_file2=NONE if test -n "$CONFIG_SITE"; then - ac_site_file1=$CONFIG_SITE + # We do not want a PATH search for config.site. + case $CONFIG_SITE in #(( + -*) ac_site_file1=./$CONFIG_SITE;; + */*) ac_site_file1=$CONFIG_SITE;; + *) ac_site_file1=./$CONFIG_SITE;; + esac elif test "x$prefix" != xNONE; then ac_site_file1=$prefix/share/config.site ac_site_file2=$prefix/etc/config.site @@ -1998,7 +2034,11 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 $as_echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 - . "$ac_site_file" + . "$ac_site_file" \ + || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "failed to load site script $ac_site_file +See \`config.log' for more details" "$LINENO" 5; } fi done @@ -2074,7 +2114,7 @@ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} - as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 + as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 fi ## -------------------- ## ## Main body of script. ## @@ -2087,20 +2127,26 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu -am__api_version='1.11' +am__api_version='1.15' ac_aux_dir= for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do - for ac_t in install-sh install.sh shtool; do - if test -f "$ac_dir/$ac_t"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/$ac_t -c" - break 2 - fi - done + if test -f "$ac_dir/install-sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install-sh -c" + break + elif test -f "$ac_dir/install.sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install.sh -c" + break + elif test -f "$ac_dir/shtool"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/shtool install -c" + break + fi done if test -z "$ac_aux_dir"; then - as_fn_error "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 + as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 fi # These three variables are undocumented and unsupported, @@ -2129,7 +2175,7 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 $as_echo_n "checking for a BSD-compatible install... " >&6; } if test -z "$INSTALL"; then -if test "${ac_cv_path_install+set}" = set; then : +if ${ac_cv_path_install+:} false; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -2149,7 +2195,7 @@ # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. @@ -2207,56 +2253,71 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 $as_echo_n "checking whether build environment is sane... " >&6; } -# Just in case -sleep 1 -echo timestamp > conftest.file # Reject unsafe characters in $srcdir or the absolute working directory # name. Accept space and tab only in the latter. am_lf=' ' case `pwd` in *[\\\"\#\$\&\'\`$am_lf]*) - as_fn_error "unsafe absolute working directory name" "$LINENO" 5;; + as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;; esac case $srcdir in *[\\\"\#\$\&\'\`$am_lf\ \ ]*) - as_fn_error "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;; + as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;; esac -# Do `set' in a subshell so we don't clobber the current shell's +# Do 'set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( - set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` - if test "$*" = "X"; then - # -L didn't work. - set X `ls -t "$srcdir/configure" conftest.file` - fi - rm -f conftest.file - if test "$*" != "X $srcdir/configure conftest.file" \ - && test "$*" != "X conftest.file $srcdir/configure"; then - - # If neither matched, then we have a broken ls. This can happen - # if, for instance, CONFIG_SHELL is bash and it inherits a - # broken ls alias from the environment. This has actually - # happened. Such a system could not be considered "sane". - as_fn_error "ls -t appears to fail. Make sure there is not a broken -alias in your environment" "$LINENO" 5 - fi + am_has_slept=no + for am_try in 1 2; do + echo "timestamp, slept: $am_has_slept" > conftest.file + set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` + if test "$*" = "X"; then + # -L didn't work. + set X `ls -t "$srcdir/configure" conftest.file` + fi + if test "$*" != "X $srcdir/configure conftest.file" \ + && test "$*" != "X conftest.file $srcdir/configure"; then + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + as_fn_error $? "ls -t appears to fail. Make sure there is not a broken + alias in your environment" "$LINENO" 5 + fi + if test "$2" = conftest.file || test $am_try -eq 2; then + break + fi + # Just in case. + sleep 1 + am_has_slept=yes + done test "$2" = conftest.file ) then # Ok. : else - as_fn_error "newly created file is older than distributed files! + as_fn_error $? "newly created file is older than distributed files! Check your system clock" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } +# If we didn't sleep, we still need to ensure time stamps of config.status and +# generated files are strictly newer. +am_sleep_pid= +if grep 'slept: no' conftest.file >/dev/null 2>&1; then + ( sleep 1 ) & + am_sleep_pid=$! +fi + +rm -f conftest.file + test "$program_prefix" != NONE && program_transform_name="s&^&$program_prefix&;$program_transform_name" # Use a double $ so make ignores it. @@ -2267,8 +2328,8 @@ 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 @@ -2279,15 +2340,15 @@ esac fi # Use eval to expand $SHELL -if eval "$MISSING --run true"; then - am_missing_run="$MISSING --run " +if eval "$MISSING --is-lightweight"; then + am_missing_run="$MISSING " else am_missing_run= - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5 -$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5 +$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'" ;; @@ -2296,17 +2357,17 @@ esac fi -# Installed binaries are usually stripped using `strip' when the user -# run `make install-strip'. However `strip' might not be the right +# Installed binaries are usually stripped using 'strip' when the user +# run "make install-strip". However 'strip' might not be the right # tool to use in cross-compilation environments, therefore Automake -# will honor the `STRIP' environment variable to overrule this program. +# will honor the 'STRIP' environment variable to overrule this program. if test "$cross_compiling" != no; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_STRIP+set}" = set; then : +if ${ac_cv_prog_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$STRIP"; then @@ -2318,7 +2379,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -2346,7 +2407,7 @@ set dummy strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then : +if ${ac_cv_prog_ac_ct_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_STRIP"; then @@ -2358,7 +2419,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_STRIP="strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -2399,7 +2460,7 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 $as_echo_n "checking for a thread-safe mkdir -p... " >&6; } if test -z "$MKDIR_P"; then - if test "${ac_cv_path_mkdir+set}" = set; then : + if ${ac_cv_path_mkdir+:} false; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -2409,7 +2470,7 @@ test -z "$as_dir" && as_dir=. for ac_prog in mkdir gmkdir; do for ac_exec_ext in '' $ac_executable_extensions; do - { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue + as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( 'mkdir (GNU coreutils) '* | \ 'mkdir (coreutils) '* | \ @@ -2438,19 +2499,13 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 $as_echo "$MKDIR_P" >&6; } -mkdir_p="$MKDIR_P" -case $mkdir_p in - [\\/$]* | ?:[\\/]*) ;; - */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; -esac - for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_AWK+set}" = set; then : +if ${ac_cv_prog_AWK+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$AWK"; then @@ -2462,7 +2517,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_AWK="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -2490,7 +2545,7 @@ $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } set x ${MAKE-make} ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` -if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : $as_echo_n "(cached) " >&6 else cat >conftest.make <<\_ACEOF @@ -2498,7 +2553,7 @@ all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF -# GNU make sometimes prints "make[1]: Entering...", which would confuse us. +# GNU make sometimes prints "make[1]: Entering ...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; @@ -2526,13 +2581,52 @@ fi rmdir .tst 2>/dev/null +# Check whether --enable-silent-rules was given. +if test "${enable_silent_rules+set}" = set; then : + enableval=$enable_silent_rules; +fi + +case $enable_silent_rules in # ((( + yes) AM_DEFAULT_VERBOSITY=0;; + no) AM_DEFAULT_VERBOSITY=1;; + *) AM_DEFAULT_VERBOSITY=1;; +esac +am_make=${MAKE-make} +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 +$as_echo_n "checking whether $am_make supports nested variables... " >&6; } +if ${am_cv_make_support_nested_variables+:} false; then : + $as_echo_n "(cached) " >&6 +else + if $as_echo 'TRUE=$(BAR$(V)) +BAR0=false +BAR1=true +V=1 +am__doit: + @$(TRUE) +.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then + am_cv_make_support_nested_variables=yes +else + am_cv_make_support_nested_variables=no +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 +$as_echo "$am_cv_make_support_nested_variables" >&6; } +if test $am_cv_make_support_nested_variables = yes; then + AM_V='$(V)' + AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' +else + AM_V=$AM_DEFAULT_VERBOSITY + AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY +fi +AM_BACKSLASH='\' + if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." am__isrc=' -I$(srcdir)' # test to see if srcdir already configured if test -f $srcdir/config.status; then - as_fn_error "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 + as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 fi fi @@ -2547,6 +2641,7 @@ # Define the identity of the package. + PACKAGE=$QA_PACKAGE VERSION=$QA_VERSION @@ -2567,43 +2662,96 @@ MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} -# We need awk for the "check" target. The system "awk" is bad on -# some platforms. -# Always define AMTAR for backward compatibility. +# For better backward compatibility. To be removed once Automake 1.9.x +# dies out for good. For more background, see: +# +# +mkdir_p='$(MKDIR_P)' + +# 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}' + + +# We'll loop over all known methods to create a tar archive until one works. +_am_tools='gnutar pax cpio none' + +am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' + -AMTAR=${AMTAR-"${am_missing_run}tar"} -am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' +# 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: + +Please tell bug-automake@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: . + +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 ac_config_headers="$ac_config_headers config.h" # Make sure we can run config.sub. $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || - as_fn_error "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 + as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 $as_echo_n "checking build system type... " >&6; } -if test "${ac_cv_build+set}" = set; then : +if ${ac_cv_build+:} false; then : $as_echo_n "(cached) " >&6 else ac_build_alias=$build_alias test "x$ac_build_alias" = x && ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` test "x$ac_build_alias" = x && - as_fn_error "cannot guess build type; you must specify one" "$LINENO" 5 + as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || - as_fn_error "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 $as_echo "$ac_cv_build" >&6; } case $ac_cv_build in *-*-*) ;; -*) as_fn_error "invalid value of canonical build" "$LINENO" 5;; +*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; esac build=$ac_cv_build ac_save_IFS=$IFS; IFS='-' @@ -2621,14 +2769,14 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 $as_echo_n "checking host system type... " >&6; } -if test "${ac_cv_host+set}" = set; then : +if ${ac_cv_host+:} false; then : $as_echo_n "(cached) " >&6 else if test "x$host_alias" = x; then ac_cv_host=$ac_cv_build else ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || - as_fn_error "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 fi fi @@ -2636,7 +2784,7 @@ $as_echo "$ac_cv_host" >&6; } case $ac_cv_host in *-*-*) ;; -*) as_fn_error "invalid value of canonical host" "$LINENO" 5;; +*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; esac host=$ac_cv_host ac_save_IFS=$IFS; IFS='-' @@ -2679,7 +2827,7 @@ set dummy ${ac_tool_prefix}gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then : +if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then @@ -2691,7 +2839,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -2719,7 +2867,7 @@ set dummy gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then : +if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then @@ -2731,7 +2879,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -2772,7 +2920,7 @@ set dummy ${ac_tool_prefix}cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then : +if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then @@ -2784,7 +2932,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -2812,7 +2960,7 @@ set dummy cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then : +if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then @@ -2825,7 +2973,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue @@ -2871,7 +3019,7 @@ set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then : +if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then @@ -2883,7 +3031,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -2915,7 +3063,7 @@ set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then : +if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then @@ -2927,7 +3075,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -2969,8 +3117,8 @@ test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "no acceptable C compiler found in \$PATH -See \`config.log' for more details." "$LINENO" 5; } +as_fn_error $? "no acceptable C compiler found in \$PATH +See \`config.log' for more details" "$LINENO" 5; } # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 @@ -3084,9 +3232,8 @@ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ as_fn_set_status 77 -as_fn_error "C compiler cannot create executables -See \`config.log' for more details." "$LINENO" 5; }; } +as_fn_error 77 "C compiler cannot create executables +See \`config.log' for more details" "$LINENO" 5; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } @@ -3128,8 +3275,8 @@ else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details." "$LINENO" 5; } +as_fn_error $? "cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest conftest$ac_cv_exeext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 @@ -3186,9 +3333,9 @@ else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "cannot run C compiled programs. +as_fn_error $? "cannot run C compiled programs. If you meant to cross compile, use \`--host'. -See \`config.log' for more details." "$LINENO" 5; } +See \`config.log' for more details" "$LINENO" 5; } fi fi fi @@ -3199,7 +3346,7 @@ ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 $as_echo_n "checking for suffix of object files... " >&6; } -if test "${ac_cv_objext+set}" = set; then : +if ${ac_cv_objext+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -3239,8 +3386,8 @@ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "cannot compute suffix of object files: cannot compile -See \`config.log' for more details." "$LINENO" 5; } +as_fn_error $? "cannot compute suffix of object files: cannot compile +See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi @@ -3250,7 +3397,7 @@ ac_objext=$OBJEXT { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; } -if test "${ac_cv_c_compiler_gnu+set}" = set; then : +if ${ac_cv_c_compiler_gnu+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -3287,7 +3434,7 @@ ac_save_CFLAGS=$CFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 $as_echo_n "checking whether $CC accepts -g... " >&6; } -if test "${ac_cv_prog_cc_g+set}" = set; then : +if ${ac_cv_prog_cc_g+:} false; then : $as_echo_n "(cached) " >&6 else ac_save_c_werror_flag=$ac_c_werror_flag @@ -3365,7 +3512,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; } -if test "${ac_cv_prog_cc_c89+set}" = set; then : +if ${ac_cv_prog_cc_c89+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_prog_cc_c89=no @@ -3374,8 +3521,7 @@ /* end confdefs.h. */ #include #include -#include -#include +struct stat; /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); @@ -3459,6 +3605,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 + DEPDIR="${am__leading_dot}deps" ac_config_commands="$ac_config_commands depfiles" @@ -3478,7 +3683,7 @@ _am_result=none # First try GNU make style include. echo "include confinc" > confmf -# Ignore all kinds of additional output from `make'. +# Ignore all kinds of additional output from 'make'. case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=include @@ -3511,6 +3716,7 @@ if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' + am__nodep='_no' fi if test "x$enable_dependency_tracking" != xno; then AMDEP_TRUE= @@ -3526,15 +3732,16 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 $as_echo_n "checking dependency style of $depcc... " >&6; } -if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then : +if ${am_cv_CC_dependencies_compiler_type+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named `D' -- because `-MD' means `put the output - # in D'. + # making a dummy file named 'D' -- because '-MD' means "put the output + # in D". + rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. @@ -3568,16 +3775,16 @@ : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with - # Solaris 8's {/usr,}/bin/sh. - touch sub/conftst$i.h + # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with + # Solaris 10 /bin/sh. + echo '/* dummy */' > sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - # We check with `-c' and `-o' for the sake of the "dashmstdout" + # We check with '-c' and '-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly - # handle `-M -o', and we need to detect this. Also, some Intel - # versions had trouble with output in subdirs + # handle '-M -o', and we need to detect this. Also, some Intel + # versions had trouble with output in subdirs. am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in @@ -3586,16 +3793,16 @@ test "$am__universal" = false || continue ;; nosideeffect) - # after this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested + # After this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested. if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; - msvisualcpp | msvcmsys) - # This compiler won't grok `-c -o', but also, the minuso test has + msvc7 | msvc7msys | msvisualcpp | msvcmsys) + # This compiler won't grok '-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} @@ -3661,7 +3868,7 @@ CPP= fi if test -z "$CPP"; then - if test "${ac_cv_prog_CPP+set}" = set; then : + if ${ac_cv_prog_CPP+:} false; then : $as_echo_n "(cached) " >&6 else # Double quotes because CPP needs to be expanded @@ -3691,7 +3898,7 @@ # Broken: fails on valid input. continue fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. @@ -3707,11 +3914,11 @@ ac_preproc_ok=: break fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext +rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : break fi @@ -3750,7 +3957,7 @@ # Broken: fails on valid input. continue fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. @@ -3766,18 +3973,18 @@ ac_preproc_ok=: break fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext +rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details." "$LINENO" 5; } +as_fn_error $? "C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details" "$LINENO" 5; } fi ac_ext=c @@ -3802,7 +4009,7 @@ $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } set x ${MAKE-make} ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` -if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : $as_echo_n "(cached) " >&6 else cat >conftest.make <<\_ACEOF @@ -3810,7 +4017,7 @@ all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF -# GNU make sometimes prints "make[1]: Entering...", which would confuse us. +# GNU make sometimes prints "make[1]: Entering ...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; @@ -3834,7 +4041,7 @@ set dummy ${ac_tool_prefix}ranlib; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_RANLIB+set}" = set; then : +if ${ac_cv_prog_RANLIB+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$RANLIB"; then @@ -3846,7 +4053,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -3874,7 +4081,7 @@ set dummy ranlib; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then : +if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_RANLIB"; then @@ -3886,7 +4093,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_RANLIB="ranlib" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -3925,7 +4132,7 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing strerror" >&5 $as_echo_n "checking for library containing strerror... " >&6; } -if test "${ac_cv_search_strerror+set}" = set; then : +if ${ac_cv_search_strerror+:} false; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS @@ -3959,11 +4166,11 @@ fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext - if test "${ac_cv_search_strerror+set}" = set; then : + if ${ac_cv_search_strerror+:} false; then : break fi done -if test "${ac_cv_search_strerror+set}" = set; then : +if ${ac_cv_search_strerror+:} false; then : else ac_cv_search_strerror=no @@ -3982,7 +4189,7 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for crypt in -lcrypt" >&5 $as_echo_n "checking for crypt in -lcrypt... " >&6; } -if test "${ac_cv_lib_crypt_crypt+set}" = set; then : +if ${ac_cv_lib_crypt_crypt+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -4016,7 +4223,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_crypt_crypt" >&5 $as_echo "$ac_cv_lib_crypt_crypt" >&6; } -if test "x$ac_cv_lib_crypt_crypt" = x""yes; then : +if test "x$ac_cv_lib_crypt_crypt" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBCRYPT 1 _ACEOF @@ -4027,7 +4234,7 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for crypt in -lshadow" >&5 $as_echo_n "checking for crypt in -lshadow... " >&6; } -if test "${ac_cv_lib_shadow_crypt+set}" = set; then : +if ${ac_cv_lib_shadow_crypt+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -4061,7 +4268,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_shadow_crypt" >&5 $as_echo "$ac_cv_lib_shadow_crypt" >&6; } -if test "x$ac_cv_lib_shadow_crypt" = x""yes; then : +if test "x$ac_cv_lib_shadow_crypt" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBSHADOW 1 _ACEOF @@ -4070,6 +4277,51 @@ fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for FascistCheck in -lcrack" >&5 +$as_echo_n "checking for FascistCheck in -lcrack... " >&6; } +if ${ac_cv_lib_crack_FascistCheck+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lcrack $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char FascistCheck (); +int +main () +{ +return FascistCheck (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_crack_FascistCheck=yes +else + ac_cv_lib_crack_FascistCheck=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_crack_FascistCheck" >&5 +$as_echo "$ac_cv_lib_crack_FascistCheck" >&6; } +if test "x$ac_cv_lib_crack_FascistCheck" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBCRACK 1 +_ACEOF + + LIBS="-lcrack $LIBS" + +fi + #AC_CHECK_LIB(m,floor) #AC_CHECK_LIB(nsl, gethostbyaddr) #AC_CHECK_LIB(socket, getsockname) @@ -4077,7 +4329,7 @@ # Checks for typedefs, structures, and compiler characteristics. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5 $as_echo_n "checking for an ANSI C-conforming const... " >&6; } -if test "${ac_cv_c_const+set}" = set; then : +if ${ac_cv_c_const+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -4086,11 +4338,11 @@ int main () { -/* FIXME: Include the comments suggested by Paul. */ + #ifndef __cplusplus - /* Ultrix mips cc rejects this. */ + /* Ultrix mips cc rejects this sort of thing. */ typedef int charset[2]; - const charset cs; + const charset cs = { 0, 0 }; /* SunOS 4.1.1 cc rejects this. */ char const *const *pcpcc; char **ppc; @@ -4107,8 +4359,9 @@ ++pcpcc; ppc = (char**) pcpcc; pcpcc = (char const *const *) ppc; - { /* SCO 3.2v4 cc rejects this. */ - char *t; + { /* SCO 3.2v4 cc rejects this sort of thing. */ + char tx; + char *t = &tx; char const *s = 0 ? (char *) 0 : (char const *) 0; *t++ = 0; @@ -4124,10 +4377,10 @@ iptr p = 0; ++p; } - { /* AIX XL C 1.02.0.0 rejects this saying + { /* AIX XL C 1.02.0.0 rejects this sort of thing, saying "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ - struct s { int j; const int *ap[3]; }; - struct s *b; b->j = 5; + struct s { int j; const int *ap[3]; } bx; + struct s *b = &bx; b->j = 5; } { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ const int foo = 10; @@ -4159,7 +4412,7 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 $as_echo_n "checking for grep that handles long lines and -e... " >&6; } -if test "${ac_cv_path_GREP+set}" = set; then : +if ${ac_cv_path_GREP+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$GREP"; then @@ -4173,7 +4426,7 @@ for ac_prog in grep ggrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue + as_fn_executable_p "$ac_path_GREP" || continue # Check for GNU ac_path_GREP and select it if it is found. # Check for GNU $ac_path_GREP case `"$ac_path_GREP" --version 2>&1` in @@ -4208,7 +4461,7 @@ done IFS=$as_save_IFS if test -z "$ac_cv_path_GREP"; then - as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_GREP=$GREP @@ -4222,7 +4475,7 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 $as_echo_n "checking for egrep... " >&6; } -if test "${ac_cv_path_EGREP+set}" = set; then : +if ${ac_cv_path_EGREP+:} false; then : $as_echo_n "(cached) " >&6 else if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 @@ -4239,7 +4492,7 @@ for ac_prog in egrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue + as_fn_executable_p "$ac_path_EGREP" || continue # Check for GNU ac_path_EGREP and select it if it is found. # Check for GNU $ac_path_EGREP case `"$ac_path_EGREP" --version 2>&1` in @@ -4274,7 +4527,7 @@ done IFS=$as_save_IFS if test -z "$ac_cv_path_EGREP"; then - as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_EGREP=$EGREP @@ -4289,7 +4542,7 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uid_t in sys/types.h" >&5 $as_echo_n "checking for uid_t in sys/types.h... " >&6; } -if test "${ac_cv_type_uid_t+set}" = set; then : +if ${ac_cv_type_uid_t+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -4324,7 +4577,7 @@ as_ac_Header=`$as_echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_hdr that defines DIR" >&5 $as_echo_n "checking for $ac_hdr that defines DIR... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Header+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -4351,8 +4604,7 @@ eval ac_res=\$$as_ac_Header { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Header - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_hdr" | $as_tr_cpp` 1 _ACEOF @@ -4365,7 +4617,7 @@ if test $ac_header_dirent = dirent.h; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5 $as_echo_n "checking for library containing opendir... " >&6; } -if test "${ac_cv_search_opendir+set}" = set; then : +if ${ac_cv_search_opendir+:} false; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS @@ -4399,11 +4651,11 @@ fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext - if test "${ac_cv_search_opendir+set}" = set; then : + if ${ac_cv_search_opendir+:} false; then : break fi done -if test "${ac_cv_search_opendir+set}" = set; then : +if ${ac_cv_search_opendir+:} false; then : else ac_cv_search_opendir=no @@ -4422,7 +4674,7 @@ else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5 $as_echo_n "checking for library containing opendir... " >&6; } -if test "${ac_cv_search_opendir+set}" = set; then : +if ${ac_cv_search_opendir+:} false; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS @@ -4456,11 +4708,11 @@ fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext - if test "${ac_cv_search_opendir+set}" = set; then : + if ${ac_cv_search_opendir+:} false; then : break fi done -if test "${ac_cv_search_opendir+set}" = set; then : +if ${ac_cv_search_opendir+:} false; then : else ac_cv_search_opendir=no @@ -4480,7 +4732,7 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 $as_echo_n "checking for ANSI C header files... " >&6; } -if test "${ac_cv_header_stdc+set}" = set; then : +if ${ac_cv_header_stdc+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -4597,8 +4849,7 @@ as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default " -eval as_val=\$$as_ac_Header - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -4610,7 +4861,7 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether closedir returns void" >&5 $as_echo_n "checking whether closedir returns void... " >&6; } -if test "${ac_cv_func_closedir_void+set}" = set; then : +if ${ac_cv_func_closedir_void+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : @@ -4660,8 +4911,7 @@ do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -eval as_val=\$$as_ac_var - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF @@ -4693,7 +4943,7 @@ if test "$vpopmaildir" = "" then - as_fn_error "Unable to find your vpopmaildir, specify --enable-vpopmaildir." "$LINENO" 5 + as_fn_error $? "Unable to find your vpopmaildir, specify --enable-vpopmaildir." "$LINENO" 5 fi fi @@ -4720,7 +4970,7 @@ if test "$htmldir" = "" then - as_fn_error "Unable to find your html base directory, specify --enable-htmldir." "$LINENO" 5 + as_fn_error $? "Unable to find your html base directory, specify --enable-htmldir." "$LINENO" 5 fi fi @@ -4745,7 +4995,7 @@ if test "$cgibindir" = "" then - as_fn_error "Unable to find your cgi-bin directory, specify --enable-cgibindir." "$LINENO" 5 + as_fn_error $? "Unable to find your cgi-bin directory, specify --enable-cgibindir." "$LINENO" 5 fi fi @@ -4760,7 +5010,7 @@ if test "$imageurl" = "" then - as_fn_error "Unable to find your html url, specify --enable-imageurl." "$LINENO" 5 + as_fn_error $? "Unable to find your html url, specify --enable-imageurl." "$LINENO" 5 fi fi @@ -4787,7 +5037,7 @@ if test "$imagedir" = "" then - as_fn_error "Unable to find your html image directory, specify --enable-imagedir." "$LINENO" 5 + as_fn_error $? "Unable to find your html image directory, specify --enable-imagedir." "$LINENO" 5 fi fi @@ -4803,7 +5053,7 @@ if test "$htmllibdir" = "" then - as_fn_error "Unable to find your htmllibdir directory, specify --enable-htmllibdir." "$LINENO" 5 + as_fn_error $? "Unable to find your htmllibdir directory, specify --enable-htmllibdir." "$LINENO" 5 fi fi @@ -4833,7 +5083,7 @@ if test "$qmaildir" = "" then - as_fn_error "Unable to find your qmaildir directory, specify --enable-qmaildir." "$LINENO" 5 + as_fn_error $? "Unable to find your qmaildir directory, specify --enable-qmaildir." "$LINENO" 5 fi fi @@ -4860,7 +5110,7 @@ if test "$ezmlmdir" = "" then - as_fn_error "Unable to find your ezmlmdir user, specify --enable-ezmlmdir." "$LINENO" 5 + as_fn_error $? "Unable to find your ezmlmdir user, specify --enable-ezmlmdir." "$LINENO" 5 fi fi @@ -4880,7 +5130,7 @@ if test "$cgipath" = "" then - as_fn_error "Unable to find your cgipath directory, specify --enable-cgipath." "$LINENO" 5 + as_fn_error $? "Unable to find your cgipath directory, specify --enable-cgipath." "$LINENO" 5 fi fi @@ -4912,7 +5162,7 @@ if test "$autorespond_path" = "" then - as_fn_error "Unable to find your autorespond program directory, specify --enable-autoresponder-path." "$LINENO" 5 + as_fn_error $? "Unable to find your autorespond program directory, specify --enable-autoresponder-path." "$LINENO" 5 fi fi @@ -4931,7 +5181,7 @@ if test "$vpopuser" = "" then - as_fn_error "Unable to find your vpopuser user, specify --enable-vpopuser." "$LINENO" 5 + as_fn_error $? "Unable to find your vpopuser user, specify --enable-vpopuser." "$LINENO" 5 fi fi @@ -4951,7 +5201,7 @@ if test "$vpopgroup" = "" then - as_fn_error "Unable to find your vpopgroup group, specify --enable-vpopgroup." "$LINENO" 5 + as_fn_error $? "Unable to find your vpopgroup group, specify --enable-vpopgroup." "$LINENO" 5 fi fi @@ -5222,6 +5472,39 @@ +cracklib=no +# Check whether --enable-cracklib was given. +if test "${enable_cracklib+set}" = set; then : + enableval=$enable_cracklib; cracklib="$enableval" +else + + if test "$cracklib" = "" + then + as_fn_error $? "Unable to find your cracklib directory, specify --enable-cracklib." "$LINENO" 5 + fi + +fi + + +if test "$cracklib" = "yes" +then + cracklib="/usr/lib/cracklib_dict" +fi + +case $cracklib in +0*|n*|N*) + echo "checking whether to use password checking... no" + ;; +*) + +cat >>confdefs.h <<_ACEOF +#define CRACKLIB "$cracklib" +_ACEOF + + echo "checking whether to use password checking... yes" + ;; +esac + HELP=no # Check whether --enable-help was given. if test "${enable_help+set}" = set; then : @@ -5336,10 +5619,21 @@ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then - test "x$cache_file" != "x/dev/null" && + if test "x$cache_file" != "x/dev/null"; then { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 $as_echo "$as_me: updating cache $cache_file" >&6;} - cat confcache >$cache_file + if test ! -f "$cache_file" || test -h "$cache_file"; then + cat confcache >"$cache_file" + else + case $cache_file in #( + */* | ?:*) + mv -f confcache "$cache_file"$$ && + mv -f "$cache_file"$$ "$cache_file" ;; #( + *) + mv -f confcache "$cache_file" ;; + esac + fi + fi else { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} @@ -5369,6 +5663,14 @@ LTLIBOBJS=$ac_ltlibobjs +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 +$as_echo_n "checking that generated files are newer than configure... " >&6; } + if test -n "$am_sleep_pid"; then + # Hide warnings about reused PIDs. + wait $am_sleep_pid 2>/dev/null + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5 +$as_echo "done" >&6; } if test -n "$EXEEXT"; then am__EXEEXT_TRUE= am__EXEEXT_FALSE='#' @@ -5378,15 +5680,15 @@ fi if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then - as_fn_error "conditional \"AMDEP\" was never defined. + as_fn_error $? "conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then - as_fn_error "conditional \"am__fastdepCC\" was never defined. + as_fn_error $? "conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi -: ${CONFIG_STATUS=./config.status} +: "${CONFIG_STATUS=./config.status}" ac_write_fail=0 ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" @@ -5487,6 +5789,7 @@ IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. +as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -5532,19 +5835,19 @@ (unset CDPATH) >/dev/null 2>&1 && unset CDPATH -# as_fn_error ERROR [LINENO LOG_FD] -# --------------------------------- +# as_fn_error STATUS ERROR [LINENO LOG_FD] +# ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with status $?, using 1 if that was 0. +# script with STATUS, using 1 if that was 0. as_fn_error () { - as_status=$?; test $as_status -eq 0 && as_status=1 - if test "$3"; then - as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3 + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi - $as_echo "$as_me: error: $1" >&2 + $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error @@ -5682,16 +5985,16 @@ # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -p'. + # In both cases, we have to default to `cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -p' + as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else - as_ln_s='cp -p' + as_ln_s='cp -pR' fi else - as_ln_s='cp -p' + as_ln_s='cp -pR' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null @@ -5740,7 +6043,7 @@ test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p @@ -5751,28 +6054,16 @@ as_mkdir_p=false fi -if test -x / >/dev/null 2>&1; then - as_test_x='test -x' -else - if ls -dL / >/dev/null 2>&1; then - as_ls_L_option=L - else - as_ls_L_option= - fi - as_test_x=' - eval sh -c '\'' - if test -d "$1"; then - test -d "$1/."; - else - case $1 in #( - -*)set "./$1";; - esac; - case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( - ???[sx]*):;;*)false;;esac;fi - '\'' sh - ' -fi -as_executable_p=$as_test_x + +# as_fn_executable_p FILE +# ----------------------- +# Test if FILE is an executable regular file. +as_fn_executable_p () +{ + test -f "$1" && test -x "$1" +} # as_fn_executable_p +as_test_x='test -x' +as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" @@ -5794,7 +6085,7 @@ # values after options handling. ac_log=" This file was extended by $as_me, which was -generated by GNU Autoconf 2.65. Invocation command line was +generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS @@ -5860,10 +6151,10 @@ ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ config.status -configured by $0, generated by GNU Autoconf 2.65, +configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" -Copyright (C) 2009 Free Software Foundation, Inc. +Copyright (C) 2012 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." @@ -5881,11 +6172,16 @@ while test $# != 0 do case $1 in - --*=*) + --*=?*) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; + --*=) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg= + ac_shift=: + ;; *) ac_option=$1 ac_optarg=$2 @@ -5907,6 +6203,7 @@ $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; esac as_fn_append CONFIG_FILES " '$ac_optarg'" ac_need_defaults=false;; @@ -5919,7 +6216,7 @@ ac_need_defaults=false;; --he | --h) # Conflict between --help and --header - as_fn_error "ambiguous option: \`$1' + as_fn_error $? "ambiguous option: \`$1' Try \`$0 --help' for more information.";; --help | --hel | -h ) $as_echo "$ac_cs_usage"; exit ;; @@ -5928,7 +6225,7 @@ ac_cs_silent=: ;; # This is an error. - -*) as_fn_error "unrecognized option: \`$1' + -*) as_fn_error $? "unrecognized option: \`$1' Try \`$0 --help' for more information." ;; *) as_fn_append ac_config_targets " $1" @@ -5948,7 +6245,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 if \$ac_cs_recheck; then - set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion + set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion shift \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 CONFIG_SHELL='$SHELL' @@ -5986,7 +6283,7 @@ "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; - *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;; + *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; esac done @@ -6009,9 +6306,10 @@ # after its creation but before its name has been assigned to `$tmp'. $debug || { - tmp= + tmp= ac_tmp= trap 'exit_status=$? - { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status + : "${ac_tmp:=$tmp}" + { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status ' 0 trap 'as_fn_exit 1' 1 2 13 15 } @@ -6019,12 +6317,13 @@ { tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && - test -n "$tmp" && test -d "$tmp" + test -d "$tmp" } || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") -} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5 +} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 +ac_tmp=$tmp # Set up the scripts for CONFIG_FILES section. # No need to generate them if there are no CONFIG_FILES. @@ -6041,12 +6340,12 @@ fi ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then - ac_cs_awk_cr='\r' + ac_cs_awk_cr='\\r' else ac_cs_awk_cr=$ac_cr fi -echo 'BEGIN {' >"$tmp/subs1.awk" && +echo 'BEGIN {' >"$ac_tmp/subs1.awk" && _ACEOF @@ -6055,18 +6354,18 @@ echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && echo "_ACEOF" } >conf$$subs.sh || - as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 -ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'` + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 +ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` ac_delim='%!_!# ' for ac_last_try in false false false false false :; do . ./conf$$subs.sh || - as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` if test $ac_delim_n = $ac_delim_num; then break elif $ac_last_try; then - as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi @@ -6074,7 +6373,7 @@ rm -f conf$$subs.sh cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -cat >>"\$tmp/subs1.awk" <<\\_ACAWK && +cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && _ACEOF sed -n ' h @@ -6122,7 +6421,7 @@ rm -f conf$$subs.awk cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK -cat >>"\$tmp/subs1.awk" <<_ACAWK && +cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && for (key in S) S_is_set[key] = 1 FS = "" @@ -6154,21 +6453,29 @@ sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" else cat -fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \ - || as_fn_error "could not setup config files machinery" "$LINENO" 5 +fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ + || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 _ACEOF -# VPATH may cause trouble with some makes, so we remove $(srcdir), -# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and +# VPATH may cause trouble with some makes, so we remove sole $(srcdir), +# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=/{ -s/:*\$(srcdir):*/:/ -s/:*\${srcdir}:*/:/ -s/:*@srcdir@:*/:/ -s/^\([^=]*=[ ]*\):*/\1/ + ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ +h +s/// +s/^/:/ +s/[ ]*$/:/ +s/:\$(srcdir):/:/g +s/:\${srcdir}:/:/g +s/:@srcdir@:/:/g +s/^:*// s/:*$// +x +s/\(=[ ]*\).*/\1/ +G +s/\n// s/^[^=]*=[ ]*$// }' fi @@ -6180,7 +6487,7 @@ # No need to generate them if there are no CONFIG_HEADERS. # This happens for instance with `./config.status Makefile'. if test -n "$CONFIG_HEADERS"; then -cat >"$tmp/defines.awk" <<\_ACAWK || +cat >"$ac_tmp/defines.awk" <<\_ACAWK || BEGIN { _ACEOF @@ -6192,11 +6499,11 @@ # handling of long lines. ac_delim='%!_!# ' for ac_last_try in false false :; do - ac_t=`sed -n "/$ac_delim/p" confdefs.h` - if test -z "$ac_t"; then + ac_tt=`sed -n "/$ac_delim/p" confdefs.h` + if test -z "$ac_tt"; then break elif $ac_last_try; then - as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 5 + as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi @@ -6281,7 +6588,7 @@ _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - as_fn_error "could not setup config headers machinery" "$LINENO" 5 + as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 fi # test -n "$CONFIG_HEADERS" @@ -6294,7 +6601,7 @@ esac case $ac_mode$ac_tag in :[FHL]*:*);; - :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;; + :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac @@ -6313,7 +6620,7 @@ for ac_f do case $ac_f in - -) ac_f="$tmp/stdin";; + -) ac_f="$ac_tmp/stdin";; *) # Look for the file first in the build tree, then in the source tree # (if the path is not absolute). The absolute path cannot be DOS-style, # because $ac_f cannot contain `:'. @@ -6322,7 +6629,7 @@ [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || - as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;; + as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; esac case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac as_fn_append ac_file_inputs " '$ac_f'" @@ -6348,8 +6655,8 @@ esac case $ac_tag in - *:-:* | *:-) cat >"$tmp/stdin" \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 ;; + *:-:* | *:-) cat >"$ac_tmp/stdin" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; esac ;; esac @@ -6485,23 +6792,24 @@ s&@MKDIR_P@&$ac_MKDIR_P&;t t $ac_datarootdir_hack " -eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 +eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ + >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && - { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && - { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && + { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ + "$ac_tmp/out"`; test -z "$ac_out"; } && { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined." >&5 +which seems to be undefined. Please make sure it is defined" >&5 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined." >&2;} +which seems to be undefined. Please make sure it is defined" >&2;} - rm -f "$tmp/stdin" + rm -f "$ac_tmp/stdin" case $ac_file in - -) cat "$tmp/out" && rm -f "$tmp/out";; - *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";; + -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; + *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; esac \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; :H) # @@ -6510,21 +6818,21 @@ if test x"$ac_file" != x-; then { $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" - } >"$tmp/config.h" \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 - if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" + } >"$ac_tmp/config.h" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 $as_echo "$as_me: $ac_file is unchanged" >&6;} else rm -f "$ac_file" - mv "$tmp/config.h" "$ac_file" \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 + mv "$ac_tmp/config.h" "$ac_file" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 fi else $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \ - || as_fn_error "could not create -" "$LINENO" 5 + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ + || as_fn_error $? "could not create -" "$LINENO" 5 fi # Compute "$ac_file"'s index in $config_headers. _am_arg="$ac_file" @@ -6570,7 +6878,7 @@ case $ac_file$ac_mode in "depfiles":C) test x"$AMDEP_TRUE" != x"" || { - # Autoconf 2.62 quotes --file arguments for eval, but not when files + # Older Autoconf quotes --file arguments for eval, but not when files # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. case $CONFIG_FILES in @@ -6583,7 +6891,7 @@ # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. - # We used to match only the files named `Makefile.in', but + # We used to match only the files named 'Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. @@ -6617,21 +6925,19 @@ continue fi # Extract the definition of DEPDIR, am__include, and am__quote - # from the Makefile without running `make'. + # from the Makefile without running 'make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` - test -z "am__include" && continue + test -z "$am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` - # When using ansi2knr, U may be empty or an underscore; expand it - U=`sed -n 's/^U = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ - sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`$as_dirname -- "$file" || @@ -6674,7 +6980,7 @@ ac_clean_files=$ac_clean_files_save test $ac_write_fail = 0 || - as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5 + as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 # configure is writing to config.log, and then calls config.status. @@ -6695,7 +7001,7 @@ exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. - $ac_cs_success || as_fn_exit $? + $ac_cs_success || as_fn_exit 1 fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 @@ -6728,4 +7034,7 @@ then echo " spam command = "$spam_command"" fi - +if test "$cracklib" != "no" +then + echo "cracklib dictionary= "$cracklib"" +fi diff -ruN ../../qmailadmin-1.2.16-original/configure.in qmailadmin-1.2.16/configure.in --- ../../qmailadmin-1.2.16-original/configure.in 2011-02-22 15:45:47.000000000 +0100 +++ qmailadmin-1.2.16/configure.in 2020-05-04 11:15:44.923792626 +0200 @@ -26,6 +26,7 @@ dnl Checks for libraries. AC_CHECK_LIB(crypt,crypt) AC_CHECK_LIB(shadow,crypt) +AC_CHECK_LIB(crack,FascistCheck) #AC_CHECK_LIB(m,floor) #AC_CHECK_LIB(nsl, gethostbyaddr) #AC_CHECK_LIB(socket, getsockname) @@ -421,6 +422,31 @@ AC_DEFINE_UNQUOTED(SPAM_COMMAND, "$spam_command","") AC_SUBST(SPAM_COMMAND) +cracklib=no +AC_ARG_ENABLE(cracklib, [ --enable-cracklib=PATH Path to cracklib dictionary.], + cracklib="$enableval", + [ + if test "$cracklib" = "" + then + AC_MSG_ERROR([Unable to find your cracklib directory, specify --enable-cracklib.]) + fi + ] ) + +if test "$cracklib" = "yes" +then + cracklib="/usr/lib/cracklib_dict" +fi + +case $cracklib in +0*|n*|N*) + echo "checking whether to use password checking... no" + ;; +*) + AC_DEFINE_UNQUOTED(CRACKLIB,"$cracklib","") + echo "checking whether to use password checking... yes" + ;; +esac + HELP=no AC_ARG_ENABLE(help, [ --enable-help Display help links on login page.], HELP="$enableval",) @@ -485,4 +511,7 @@ then echo " spam command = "$spam_command"" fi - +if test "$cracklib" != "no" +then + echo "cracklib dictionary= "$cracklib"" +fi diff -ruN ../../qmailadmin-1.2.16-original/html/add_autorespond.html qmailadmin-1.2.16/html/add_autorespond.html --- ../../qmailadmin-1.2.16-original/html/add_autorespond.html 2011-02-22 15:45:47.000000000 +0100 +++ qmailadmin-1.2.16/html/add_autorespond.html 2020-05-03 16:17:22.000000000 +0200 @@ -1,76 +1,45 @@ - - + +
- - -
-

##S

- -
- - - - - - - - - - - -
- - ##X003 - -
- - - - - - -
-
- - - - - - - - - - - - - -
##X004 @##D
##X005 
##X006 
- - +

##X003

+ + + + +
+
+ + @##D +
+ + +
+
+ +
+ + +
+
+ +
+ +
+ +
+ +
-
-
- - [  - ##X077 -  |  - ##X001 -  |  -##x -  ] - -
-
-
- -
- -
- + +
+ +
+ +
diff -ruN ../../qmailadmin-1.2.16-original/html/add_forward.html qmailadmin-1.2.16/html/add_forward.html --- ../../qmailadmin-1.2.16-original/html/add_forward.html 2011-02-22 15:45:47.000000000 +0100 +++ qmailadmin-1.2.16/html/add_forward.html 2020-05-03 11:41:50.000000000 +0200 @@ -1,85 +1,35 @@ - - + +
- +

##X007

-
-

##S

- -
- - - - - - - - - - - - -
- - ##X007 - -
- - - - - - -
-
- - - - - - - - - - - - - - - - -
##X106 ##X305
- @##D - -  ##X306  - -
##X010 -
   - -
-
-
-
- - [  - ##X122 -  |  - ##X001 -  |  -##x -  ] - -
-
-
- -
- -
+
+ + +
+
+ @##D +
+ + +
+
+ + ##X010 +
+ + +
+ +
+ +
+ +
\ No newline at end of file diff -ruN ../../qmailadmin-1.2.16-original/html/add_listdig.html qmailadmin-1.2.16/html/add_listdig.html --- ../../qmailadmin-1.2.16-original/html/add_listdig.html 2011-02-22 15:45:47.000000000 +0100 +++ qmailadmin-1.2.16/html/add_listdig.html 2020-05-03 22:21:30.000000000 +0200 @@ -1,68 +1,34 @@ - - + - - -
-

##S

- -
- - - - - - - - - - - -
- - ##X241 - -
- - - - - - -
-

##X241 ##A@##D

-
- - - - - -
##X013 
- - -
-
-
- - [  - ##X080 -  |  - ##X001 -  |  -##x -  ] - -
-
-
- -
- -
+
+ +

##X241

+ +
##X241 ##A@##D
+ +
+ + +
+ + +
+ + + + +
+ +
+ + +
+ +
\ No newline at end of file diff -ruN ../../qmailadmin-1.2.16-original/html/add_listmod.html qmailadmin-1.2.16/html/add_listmod.html --- ../../qmailadmin-1.2.16-original/html/add_listmod.html 2011-02-22 15:45:47.000000000 +0100 +++ qmailadmin-1.2.16/html/add_listmod.html 2020-05-03 21:47:23.000000000 +0200 @@ -1,68 +1,34 @@ - - + - - -
-

##S

- -
- - - - - - - - - - - -
- - ##X011 - -
- - - - - - -
-

##X012 ##A@##D

-
- - - - - -
##X013 
- - -
-
-
- - [  - ##X080 -  |  - ##X001 -  |  -##x -  ] - -
-
-
- -
- -
+
+ +

##X011

+ +
##X012 ##A@##D
+ +
+ + +
+ + +
+ + + + +
+ +
+ + +
+ +
\ No newline at end of file diff -ruN ../../qmailadmin-1.2.16-original/html/add_listuser.html qmailadmin-1.2.16/html/add_listuser.html --- ../../qmailadmin-1.2.16-original/html/add_listuser.html 2011-02-22 15:45:47.000000000 +0100 +++ qmailadmin-1.2.16/html/add_listuser.html 2020-05-03 20:12:16.000000000 +0200 @@ -1,68 +1,34 @@ - - + - - -
-

##S

- -
- - - - - - - - - - - -
- - ##X014 - -
- - - - - - -
-

##X014 ##A@##D

-
- - - - - -
##X013 
- - -
-
-
- - [  - ##X080 -  |  - ##X001 -  |  -##x -  ] - -
-
-
- -
- -
+
+ +

##X014

+ +
##X014 ##A@##D
+ +
+ + +
+ + +
+ + + + +
+ +
+ + +
+ +
\ No newline at end of file diff -ruN ../../qmailadmin-1.2.16-original/html/add_mailinglist-idx.html qmailadmin-1.2.16/html/add_mailinglist-idx.html --- ../../qmailadmin-1.2.16-original/html/add_mailinglist-idx.html 2011-02-22 15:45:47.000000000 +0100 +++ qmailadmin-1.2.16/html/add_mailinglist-idx.html 2020-05-04 09:22:47.000000000 +0200 @@ -1,76 +1,45 @@ - - + + +
+ +

##X015

+ +
+ + +
+ + + @##D +
+ + +
+ + +
+ + +
+ + +
- - -
-

##S

- -
- - - - - - - - - - - -
- - ##X015 - -
- - - - - - -
- - - - - - - - - - - - - - -
##X016@##D
##X017
##X256
##E -
- -
-
- - [  - ##X080 -  |  - ##X001 -  |  -##x -  ] - -
-
-
- -
- -
+
+ + + +
+ +
+ +
\ No newline at end of file diff -ruN ../../qmailadmin-1.2.16-original/html/add_mailinglist-no-idx.html qmailadmin-1.2.16/html/add_mailinglist-no-idx.html --- ../../qmailadmin-1.2.16-original/html/add_mailinglist-no-idx.html 2011-02-22 15:45:47.000000000 +0100 +++ qmailadmin-1.2.16/html/add_mailinglist-no-idx.html 2020-05-03 20:10:20.000000000 +0200 @@ -1,73 +1,42 @@ - - + + +
+ +

##X015

- - -
-

##S

- -
- - - - - - - - - - - -
- - ##X015 - -
- - - - - - -
-
- - - - - - - - - - - -
##X016 
 ##X018
 ##X039
- -
-
-
- - [  - ##X080 -  |  - ##X001 -  |  -##x -  ] - -
-
-
- -
- -
+
+ + +
+ + + @##D +
+ + +
+ + +
+ +
+ + +
+ + + +
+ +
+ +
+ +
\ No newline at end of file diff -ruN ../../qmailadmin-1.2.16-original/html/add_user.html qmailadmin-1.2.16/html/add_user.html --- ../../qmailadmin-1.2.16-original/html/add_user.html 2011-02-22 15:45:47.000000000 +0100 +++ qmailadmin-1.2.16/html/add_user.html 2020-05-02 22:50:12.000000000 +0200 @@ -1,93 +1,66 @@ - - + +
- - -
-

##S

- -
- - - - - - - - - - - -
- - ##X090 - -
- - - - - - -
-
- - - - - + +

##D

+ + +
##X090
+ + + + +
+ + + @##D +
##tq - - - - + + +
+ + + ##X251 +
##tt - - - - - - - - - - - - + +
+ + +
+ + +
+ + +
+ + +
+ + +
##ts - - - - + +
+
+ +
##tt -
##X002: @##D
##X249:  ##X251
##X057: 
##X091 
##X092: 
##X304 - -
##c - -
-
-
- - [  - ##X061 -  |  - ##X001 -  |  -##x -  ] - -
-
-
- -
- -
+ + + +
+ +
+ +
\ No newline at end of file diff -ruN ../../qmailadmin-1.2.16-original/html/change_password.html qmailadmin-1.2.16/html/change_password.html --- ../../qmailadmin-1.2.16-original/html/change_password.html 2011-02-22 15:45:47.000000000 +0100 +++ qmailadmin-1.2.16/html/change_password.html 2020-05-03 22:37:42.000000000 +0200 @@ -1,36 +1,38 @@ - - -
-

##S

-
- - - - - - - - - - - - - - - - - - - - - - - -
##X013
##X057:
##X110:
##X091
- - - -
##R
-
-
+ +
+ +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + + + + + +
+ +
\ No newline at end of file diff -ruN ../../qmailadmin-1.2.16-original/html/change_password_success.html qmailadmin-1.2.16/html/change_password_success.html --- ../../qmailadmin-1.2.16-original/html/change_password_success.html 2011-02-22 15:45:47.000000000 +0100 +++ qmailadmin-1.2.16/html/change_password_success.html 2020-05-03 22:40:14.000000000 +0200 @@ -1,7 +1,9 @@ - - -
-

##X139

+ + +
+ +

##X139

+ ##R -
+ \ No newline at end of file diff -ruN ../../qmailadmin-1.2.16-original/html/del_autorespond_confirm.html qmailadmin-1.2.16/html/del_autorespond_confirm.html --- ../../qmailadmin-1.2.16-original/html/del_autorespond_confirm.html 2011-02-22 15:45:47.000000000 +0100 +++ qmailadmin-1.2.16/html/del_autorespond_confirm.html 2020-05-03 20:10:20.000000000 +0200 @@ -1,52 +1,27 @@ - - -
-

##S

- -
- - - - - - - - - - - -
- - ##X098 - -
- - - - - - -
-

##X098 ##A@##D?

-
+ + +
+ +

##X098

+ +
##X098 ##A@##D?
+ + - - -
-
- - [  - ##X077 -  |  - ##X001 -  |  -##x -  ] - -
-
-
- -
- -
+ + + + + +
+ +
\ No newline at end of file diff -ruN ../../qmailadmin-1.2.16-original/html/del_forward_confirm.html qmailadmin-1.2.16/html/del_forward_confirm.html --- ../../qmailadmin-1.2.16-original/html/del_forward_confirm.html 2011-02-22 15:45:47.000000000 +0100 +++ qmailadmin-1.2.16/html/del_forward_confirm.html 2020-05-03 20:10:20.000000000 +0200 @@ -1,52 +1,23 @@ - - -
-

##S

- -
- - - - - - - - - - - -
- - ##X100 - -
- - - - - - -
-

##X100 ##A@##D?

-
- - -
-
-
- - [  - ##X122 -  |  - ##X001 -  |  -##x -  ] - -
-
-
- -
- -
+ +
+ +

##X100

+ +
##X100 ##A@##D?
+ +
+ + +
+ +
+
+ +
\ No newline at end of file diff -ruN ../../qmailadmin-1.2.16-original/html/del_listdig.html qmailadmin-1.2.16/html/del_listdig.html --- ../../qmailadmin-1.2.16-original/html/del_listdig.html 2011-02-22 15:45:47.000000000 +0100 +++ qmailadmin-1.2.16/html/del_listdig.html 2020-05-03 22:25:04.000000000 +0200 @@ -1,58 +1,32 @@ - - -
-

##S

- -
- - - - - - - - - - - -
- - ##X243 - -
- - - - - - -
-

##X243 ##A@##D?

-
- - - - - -
##X013 
- - -
-
-
- - [  - ##X080 -  |  - ##X001 -  |  -##x -  ] - -
-
-
- -
- -
+ + +
+ +

##X243

+ +
##X243 ##A@##D?
+ +
+ + +
+ + +
+ + + +
+ +
+ +
+ +
\ No newline at end of file diff -ruN ../../qmailadmin-1.2.16-original/html/del_listmod.html qmailadmin-1.2.16/html/del_listmod.html --- ../../qmailadmin-1.2.16-original/html/del_listmod.html 2011-02-22 15:45:47.000000000 +0100 +++ qmailadmin-1.2.16/html/del_listmod.html 2020-05-03 22:12:56.000000000 +0200 @@ -1,58 +1,33 @@ - - -
-

##S

- -
- - - - - - - - - - - -
- - ##X196 - -
- - - - - - -
-

##X196 ##A@##D?

-
- - - - - -
##X013 
- - -
-
-
- - [  - ##X080 -  |  - ##X001 -  |  -##x -  ] - -
-
-
- -
- -
+ + +
+ +

##X196

+ +
##X196 ##A@##D?
+ +
+ + +
+ + +
+ + + + +
+ +
+ +
+ +
\ No newline at end of file diff -ruN ../../qmailadmin-1.2.16-original/html/del_listuser.html qmailadmin-1.2.16/html/del_listuser.html --- ../../qmailadmin-1.2.16-original/html/del_listuser.html 2011-02-22 15:45:47.000000000 +0100 +++ qmailadmin-1.2.16/html/del_listuser.html 2020-05-03 20:10:20.000000000 +0200 @@ -1,58 +1,31 @@ - - -
-

##S

- -
- - - - - - - - - - - -
- - ##X195 - -
- - - - - - -
-

##X195 ##A@##D?

-
- - - - - -
##X013 
- - -
-
-
- - [  - ##X080 -  |  - ##X001 -  |  -##x -  ] - -
-
-
- -
- -
+ + +
+ +

##X195

+ +
##X195 ##A@##D?
+ +
+ +
+
+ +
+ + + +
+ +
+ +
+ +
\ No newline at end of file diff -ruN ../../qmailadmin-1.2.16-original/html/del_mailinglist_confirm.html qmailadmin-1.2.16/html/del_mailinglist_confirm.html --- ../../qmailadmin-1.2.16-original/html/del_mailinglist_confirm.html 2011-02-22 15:45:47.000000000 +0100 +++ qmailadmin-1.2.16/html/del_mailinglist_confirm.html 2020-05-03 20:10:20.000000000 +0200 @@ -1,52 +1,25 @@ - - -
-

##S

- -
- - - - - - - - - - - -
- - ##X101 - -
- - - - - - -
-

##X101 ##A@##D?

-
- - -
-
-
- - [  - ##X080 -  |  - ##X001 -  |  -##x -  ] - -
-
-
- -
- -
+ + +
+ +

##X101

+ +
##X101 ##A@##D?
+ +
+ + +
+ +
+ +
+ +
\ No newline at end of file diff -ruN ../../qmailadmin-1.2.16-original/html/del_user_confirm.html qmailadmin-1.2.16/html/del_user_confirm.html --- ../../qmailadmin-1.2.16-original/html/del_user_confirm.html 2011-02-22 15:45:47.000000000 +0100 +++ qmailadmin-1.2.16/html/del_user_confirm.html 2020-05-03 20:10:20.000000000 +0200 @@ -1,59 +1,39 @@ - - -
-

##S

- -
- - - - - - - - - - - -
- - ##X102 - -
- - - - - - -
-

##X102 ##A@##D?

-
-  ##X103
- - - - - -
##X104 
- - -
-
-
- - [  - ##X061 -  |  - ##X001 -  |  -##x -  ] - -
-
-
- -
- -
+ + +
+

##X102

+ +
##X102 ##A@##D?
+ +
+ + +
+ + +
+ + + ##ta +
+ + +
+ + + +
+
+ +
+ +
\ No newline at end of file diff -ruN ../../qmailadmin-1.2.16-original/html/footer.html qmailadmin-1.2.16/html/footer.html --- ../../qmailadmin-1.2.16-original/html/footer.html 2011-02-22 15:45:47.000000000 +0100 +++ qmailadmin-1.2.16/html/footer.html 2020-05-05 15:30:06.974439672 +0200 @@ -1,2 +1,13 @@ - + + + +
+

##V

+
+ + + + + + diff -ruN ../../qmailadmin-1.2.16-original/html/header.html qmailadmin-1.2.16/html/header.html --- ../../qmailadmin-1.2.16-original/html/header.html 2011-02-22 15:45:47.000000000 +0100 +++ qmailadmin-1.2.16/html/header.html 2020-05-03 20:10:20.000000000 +0200 @@ -1,6 +1,59 @@ - - - - QmailAdmin ##D - - + + + + + + + + + + + QmailAdmin ##D + + + + + + + + + + + +
+
+
+ +

##S

+
+
+
+ +
+
\ No newline at end of file diff -ruN ../../qmailadmin-1.2.16-original/html/main_menu.html qmailadmin-1.2.16/html/main_menu.html --- ../../qmailadmin-1.2.16-original/html/main_menu.html 2011-02-22 15:45:47.000000000 +0100 +++ qmailadmin-1.2.16/html/main_menu.html 2020-05-03 08:29:51.000000000 +0200 @@ -1,36 +1,9 @@ - - - -
-

##S

- - - - - - - - - - - -
- ##v -
-##X217 -
##x -
- ##ta -
-
- ##X124
- @##D
-   -
- ##tt -
-
+
+ + ##v +
  • ##x
+
+
+ + +
\ No newline at end of file diff -ruN ../../qmailadmin-1.2.16-original/html/mod_autorespond.html qmailadmin-1.2.16/html/mod_autorespond.html --- ../../qmailadmin-1.2.16-original/html/mod_autorespond.html 2011-02-22 15:45:47.000000000 +0100 +++ qmailadmin-1.2.16/html/mod_autorespond.html 2020-05-03 20:10:20.000000000 +0200 @@ -1,71 +1,55 @@ - - + - +template.c line 223 + value="%H@%H"> +
+ + // subject/alias +
+ + +
+ + // message +
+ +
+--> + + + + + +
-
-

##S

- - +
- - - - - - - - - - - -
- - ##X105 - -
- - - - - -
-
- - - - - - - - - - -
##X004 ##A@##D
##X005  - - -
-
- - [  - ##X077 -  |  - ##X001 -  |  -##x -  ] - -
-
-
- -
- - +
+ +
\ No newline at end of file diff -ruN ../../qmailadmin-1.2.16-original/html/mod_dotqmail.html qmailadmin-1.2.16/html/mod_dotqmail.html --- ../../qmailadmin-1.2.16-original/html/mod_dotqmail.html 2011-02-22 15:45:47.000000000 +0100 +++ qmailadmin-1.2.16/html/mod_dotqmail.html 2020-05-03 14:04:34.000000000 +0200 @@ -1,83 +1,41 @@ - - + +
- - -
-

##S

- -
- - - - - - - - - - - -
- - ##X071 - -
- - - - - - - ##I +

##X071

+ +
##X106##X305##X072
+ + + + + + + ##I +
##X106##X305##X072
- - - - - - - - - - - + - - - - -
- ##X108 - - ##X305
-
##X010 -
  + + + +
+
+ + ##X010 +
+ -
-
-
- - [  - ##X122 -  |  - ##X001 -  |  -##x -  ] - -
-
-
- -
- -
+ + +
+
+ +
diff -ruN ../../qmailadmin-1.2.16-original/html/mod_mailinglist-idx.html qmailadmin-1.2.16/html/mod_mailinglist-idx.html --- ../../qmailadmin-1.2.16-original/html/mod_mailinglist-idx.html 2011-02-22 15:45:47.000000000 +0100 +++ qmailadmin-1.2.16/html/mod_mailinglist-idx.html 2020-05-04 12:58:23.899161687 +0200 @@ -1,75 +1,41 @@ - - - - - - - -
-

##S

- -
- - - - - - - - - - - -
- - ##X225 ##A@##D - -
- - - - - - -
-
- - - - - - - - - -
##X017
##X256
+ + +
+ +

##X225 ##A@##D

+ + + + +
+ + +
+ + +
+ + +
+ ##E - -
- -
-
- - [  - ##X080 -  |  - ##X001 -  |  -##x -  ] - -
-
-
- -
- -
+ +
+ + + + + + + +
+ +
diff -ruN ../../qmailadmin-1.2.16-original/html/mod_user.html qmailadmin-1.2.16/html/mod_user.html --- ../../qmailadmin-1.2.16-original/html/mod_user.html 2011-02-22 15:45:47.000000000 +0100 +++ qmailadmin-1.2.16/html/mod_user.html 2020-09-01 14:36:38.758282654 +0200 @@ -1,151 +1,154 @@ - - - - - - -
-

##S

- -
- - - - - - - - - - - - -
- - ##X109: ##A@##D - -
- - - - - -
-
- - - - - - - - - - - - - - -##tq - - - +
+ + +

##X109: ##A@##D

+ + + + + +
+ + +
+ + +
+ + +
+ + +
+ + +
+##tq + + ##ta +
+ + + ##X251 +
+ ##tt + + ##tu +
+ + + ##Q ##q MB +
+ ##tt ##tt -
##X092:
##X110:
##X091
##X249: -##ta - -  ##X251 -##tt -##tu ##Q ##q ##tt -

- - - - - -
##X260: - ##X205 -
- ##X303 -
-  ##X211 
-    ##X210  -

- ##X212
- ##X213  -
##X214 
- -
- + + +

##X260

+ + +
+ + +
+ + +
+ + +
+ + +
+ + + +     + +
+ +
+ + +
+ + +
+ + +

+ + +
+ +
+ + +
+ + + ##ts - - - - +
+ + +
##tt - - - -
##X304: - -
- -
+
- -
-
-
- - [  + +
+ +
+
-
- -
- -
+ + ##x + + diff -ruN ../../qmailadmin-1.2.16-original/html/setremotecatchall.html qmailadmin-1.2.16/html/setremotecatchall.html --- ../../qmailadmin-1.2.16-original/html/setremotecatchall.html 2011-02-22 15:45:47.000000000 +0100 +++ qmailadmin-1.2.16/html/setremotecatchall.html 2020-05-03 20:10:20.000000000 +0200 @@ -1,66 +1,29 @@ - - + +
- - -
-

##S

- -
- - - - - - - - - - - -
- - ##X207 - -
- - - - - - -
-
- - - - - -
##X208 
- -
-
-
- - [  - ##X061 -  |  - ##X001 -  |  -##x -  ] - -
-
-
- -
- -
+

##X207

+ +
+ +
+ + +
+ + +
+ +
+ +
+ +
\ No newline at end of file diff -ruN ../../qmailadmin-1.2.16-original/html/show_autorespond.html qmailadmin-1.2.16/html/show_autorespond.html --- ../../qmailadmin-1.2.16-original/html/show_autorespond.html 2011-02-22 15:45:47.000000000 +0100 +++ qmailadmin-1.2.16/html/show_autorespond.html 2020-05-03 20:10:20.000000000 +0200 @@ -1,53 +1,32 @@ - - -
-

##S

- -
- - - - - - - - - - - - - - -
##D##X077[##X254 ##K]
- - - - - -
- - - - - - + + +
+ +

##D

+ +
##X077 ##X254 ##K
+ +
##X072##X071##X078
+ + + + + + ##g -
##X072##X071##X078
-
-
- - [  - ##X079 -  |  - ##X001 -  |  -##x -  ] - -
-
-
- -
-
+
+ + + +
+ +
\ No newline at end of file diff -ruN ../../qmailadmin-1.2.16-original/html/show_digest_subscribers.html qmailadmin-1.2.16/html/show_digest_subscribers.html --- ../../qmailadmin-1.2.16-original/html/show_digest_subscribers.html 2011-02-22 15:45:47.000000000 +0100 +++ qmailadmin-1.2.16/html/show_digest_subscribers.html 2020-05-03 22:27:14.000000000 +0200 @@ -1,55 +1,22 @@ - - -
-

##S

- -
- - - - - - - - - - - -
- - ##X247 - -
- - - - - - -
- - - - -
- ##X248 ##A@##D

- ##G -

-
-
- - [  - ##X080 -  |  - ##X001 -  |  -##x -  ] - -
-
-
- -
- -
+ + +
+ +

##X247

+ +
##X248 ##A@##D
+ + ##G + +
+ +
+ +
\ No newline at end of file diff -ruN ../../qmailadmin-1.2.16-original/html/show_forwards.html qmailadmin-1.2.16/html/show_forwards.html --- ../../qmailadmin-1.2.16-original/html/show_forwards.html 2011-02-22 15:45:47.000000000 +0100 +++ qmailadmin-1.2.16/html/show_forwards.html 2020-05-03 20:10:20.000000000 +0200 @@ -1,55 +1,32 @@ - - -
-

##S

- -
- - - - - - - - - - - - - -
##D##X074[##X254 ##k]
- - - - - - -
- - - - - - + +
+ +

##D

+ + +
##X074 ##X254 ##k
+ +
##X072##X071##X106##X305
+ + + + + + + ##d -
##X072##X071##X106##X305
-
-
- - [  - ##X076 -  |  - ##X001 -  |  -##x -  ] - -
-
-
- -
- -
+ + + +
+ +
diff -ruN ../../qmailadmin-1.2.16-original/html/show_login.html qmailadmin-1.2.16/html/show_login.html --- ../../qmailadmin-1.2.16-original/html/show_login.html 2011-02-22 15:45:47.000000000 +0100 +++ qmailadmin-1.2.16/html/show_login.html 2020-05-03 20:10:20.000000000 +0200 @@ -1,126 +1,26 @@ - - +
- - -
-

##S

- - - - - - - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
-
- - -
-
- - -
-
- -
- - - - - - - - - - -
##X112
##X113
##X057
- - - -
##X316
-
- - -
- - -
-
- - - -
-
- - - -
-
- - - - -
-
- ##V -
-
-
- -##th - ##X257
- ##X258
- ##X259 -##tt -
- - -
-
- - -
-
- - -
-
- - -
-
-
+ + +

[ ##X316 ]

+ +
\ No newline at end of file diff -ruN ../../qmailadmin-1.2.16-original/html/show_mailinglist.html qmailadmin-1.2.16/html/show_mailinglist.html --- ../../qmailadmin-1.2.16-original/html/show_mailinglist.html 2011-02-22 15:45:47.000000000 +0100 +++ qmailadmin-1.2.16/html/show_mailinglist.html 2020-05-03 20:10:20.000000000 +0200 @@ -1,48 +1,23 @@ - - -
-

##S

- -
- - - - - - - - - - - - - -
##D##X080[##X254 ##j]
- - - - - - -
- - ##e -
-
-
- - [  - ##X089 -  |  - ##X001 -  |  -##x -  ] - -
-
-
- -
- -
+ + +
+ +

##D

+ +
##X080 ##X254 ##j
+ + + ##e +
+ +
+ + +
\ No newline at end of file diff -ruN ../../qmailadmin-1.2.16-original/html/show_moderators.html qmailadmin-1.2.16/html/show_moderators.html --- ../../qmailadmin-1.2.16-original/html/show_moderators.html 2011-02-22 15:45:47.000000000 +0100 +++ qmailadmin-1.2.16/html/show_moderators.html 2020-05-03 22:26:48.000000000 +0200 @@ -1,55 +1,24 @@ - - -
-

##S

- -
- - - - - - - - - - - -
- - ##X219 - -
- - - - - - -
- - - - -
- ##X191 ##A@##D

- ##o -

-
-
- - [  - ##X080 -  |  - ##X001 -  |  -##x -  ] - -
-
-
- -
- -
+ + +
+ +

##X219

+ +
##X191 ##A@##D
+ + + ##o + +
+ + +
+ +
\ No newline at end of file diff -ruN ../../qmailadmin-1.2.16-original/html/show_subscribers.html qmailadmin-1.2.16/html/show_subscribers.html --- ../../qmailadmin-1.2.16-original/html/show_subscribers.html 2011-02-22 15:45:47.000000000 +0100 +++ qmailadmin-1.2.16/html/show_subscribers.html 2020-05-03 20:10:20.000000000 +0200 @@ -1,55 +1,25 @@ - - -
-

##S

- -
- - - - - - - - - - - -
- - ##X221 - -
- - - - - - -
- - - - -
-

##X189 ##A@##D

- ##M -
-
-
- - [  - ##X080 -  |  - ##X001 -  |  -##x -  ] - -
-
-
- -
- -
+ + +
+ + +

##X221

+ + +
##X189 ##A@##D
+ + + ##M + +
+ +
+ +
diff -ruN ../../qmailadmin-1.2.16-original/html/show_users.html qmailadmin-1.2.16/html/show_users.html --- ../../qmailadmin-1.2.16-original/html/show_users.html 2011-02-22 15:45:47.000000000 +0100 +++ qmailadmin-1.2.16/html/show_users.html 2020-05-03 20:10:20.000000000 +0200 @@ -1,61 +1,37 @@ - - -
-

##S

- -
- - - - - - - - - - - - - -
##D##X061[##X254 ##B]
- - - - - - -
- - - - - - - - - - - - - - - ##p -
##s
##X002##X063##X250 / ##X249  ##X064##X065##X066
-
-
- - [  - ##X067 -  |  - ##X001 -  |  -##x -  ] - -
-
-
- -
- -
+ +
+ +

##D

+ + +
##X061 ##X254 ##B
+ +
##s
+ + + + + + + + + + + + + + ##p + +
##X002##X063##X250##X249##X064##X065##X066
+ +
+
+ +
\ No newline at end of file diff -ruN ../../qmailadmin-1.2.16-original/html.h qmailadmin-1.2.16/html.h --- ../../qmailadmin-1.2.16-original/html.h 2011-02-22 15:45:48.000000000 +0100 +++ qmailadmin-1.2.16/html.h 2020-05-03 13:22:18.000000000 +0200 @@ -18,47 +18,46 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA */ -#define HTML_MENU_START "[ " -#define HTML_MENU_SEP " | " -#define HTML_MENU_END " ]" +#define HTML_MENU_START "[ " +#define HTML_MENU_SEP " | " +#define HTML_MENU_END " ]" #define HTML_EMPTY_TD " " -#define HTML_BTN_GENERIC "" -#define HTML_BTN_DELETE "" +#define HTML_BTN_GENERIC "clear" +#define HTML_BTN_DELETE "delete_forever" #define HTML_ALIAS_ERROR "%s %s\n" #define HTML_ALIAS_ROW_START "" #define HTML_ALIAS_ROW_END "\n" -#define HTML_ALIAS_NAME "%H" +#define HTML_ALIAS_NAME "%H" // start of the list of destination addresses -#define HTML_ALIAS_DEST_START "" +#define HTML_ALIAS_DEST_START "" #define HTML_ALIAS_DEST_END "" // Possible destinations in list // BLACKHOLE uses text string 303 (All mail deleted) -#define HTML_ALIAS_BLACKHOLE "%s" +#define HTML_ALIAS_BLACKHOLE "%s" // LOCAL is for local addresses (no domain shown) #define HTML_ALIAS_LOCAL "%H" // INVALID is for local addresses that no longer exist (error condition) -#define HTML_ALIAS_INVALID "%H" +#define HTML_ALIAS_INVALID "%H" // REMOTE is for remote addresses (domain is shown) #define HTML_ALIAS_REMOTE "%H" #define HTML_ALIAS_SHOWPAGE "%s" #define HTML_ALIAS_DOSEARCH "%s" -#define HTML_ALIAS_FOOTER_START "" +#define HTML_ALIAS_FOOTER_START "" #define HTML_ALIAS_FOOTER_END "" // HTML from the "modify alias" page #define HTML_ALIAS_MOD_ROW_START "" #define HTML_ALIAS_MOD_ROW_END "" -#define HTML_ALIAS_MOD_NAME "%H" -#define HTML_ALIAS_MOD_DEST "%s\n" -#define HTML_ALIAS_MOD_DELETE "" \ +#define HTML_ALIAS_MOD_NAME "%H" +#define HTML_ALIAS_MOD_DEST "%s\n" +#define HTML_ALIAS_MOD_DELETE "" \ "" HTML_BTN_DELETE "\n" - Binary files ../../qmailadmin-1.2.16-original/images/favicon-16x16.png and qmailadmin-1.2.16/images/favicon-16x16.png differ Binary files ../../qmailadmin-1.2.16-original/images/favicon-32x32.png and qmailadmin-1.2.16/images/favicon-32x32.png differ Binary files ../../qmailadmin-1.2.16-original/images/logo.png and qmailadmin-1.2.16/images/logo.png differ Binary files ../../qmailadmin-1.2.16-original/images/logo_big.png and qmailadmin-1.2.16/images/logo_big.png differ diff -ruN ../../qmailadmin-1.2.16-original/images/style.css qmailadmin-1.2.16/images/style.css --- ../../qmailadmin-1.2.16-original/images/style.css 1970-01-01 01:00:00.000000000 +0100 +++ qmailadmin-1.2.16/images/style.css 2020-05-05 14:58:17.283124241 +0200 @@ -0,0 +1,77 @@ +.mt {margin-top: 40px;} +.mo {margin-left: 15px; margin-right: 15px;} +.mbc {margin-bottom: 90px;} +.p0, .p0 a {padding: 0px;} +footer { + font-size: 80%; + padding-top: 10px; + background-color: #ebebeb; + text-align: center; +} +h2 {margin-bottom: 40px;} +h5 {padding-bottom: 20px;} + +.form-signin { + width: 100%; + max-width: 330px; + padding: 15px; + margin: auto; +} +.form-signin .checkbox { + font-weight: 400; +} +.form-signin .form-control { + position: relative; + box-sizing: border-box; + height: auto; + padding: 10px; + font-size: 16px; +} +.form-signin .form-control:focus { + z-index: 2; +} +.form-signin input[type="password"] {margin-bottom: 10px;} +.my-input, input[type="text"] { + border: 1px solid #ced4da; + border-radius: .25rem; + padding-left: 5px; + padding-right: 5px; + margin-right: 10px; +} +.my-select { + padding: .1rem .1rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #ced4da; + border-radius: .25rem; + transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out; +} +td input[type="radio"] { + margin-left: 5px; + margin-right: 5px; +} +.btn-block, .btn-primary, .badge-primary { + background-color: #337ab7; + border-color: #2e6da4; +} +.d-flex div { + padding: .75rem 1.25rem; + margin-bottom: 20px; + margin-right: 20px; + border: 1px solid #ced4da; + border-radius: .25rem; + transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out; +} +.material-icons { + color:#555; + vertical-align:middle; +} + +.table.big thead th { + font-size: 0.8rem; + padding: .40rem; +} diff -ruN ../../qmailadmin-1.2.16-original/lang/en qmailadmin-1.2.16/lang/en --- ../../qmailadmin-1.2.16-original/lang/en 2011-02-22 15:45:48.000000000 +0100 +++ qmailadmin-1.2.16/lang/en 2020-05-03 11:09:15.000000000 +0200 @@ -8,7 +8,7 @@ 007 Add Forward Account: 008 Forward Email Address: 009 Local Name: -010 (Account name to forward to
OR
full email address if forwarding to another domain) +010 (Account name to forward to OR full email address if forwarding to another domain.) 011 Add List Moderator 012 Add Moderator to mailing list 013 Email Address: diff -ruN ../../qmailadmin-1.2.16-original/lang/it qmailadmin-1.2.16/lang/it --- ../../qmailadmin-1.2.16-original/lang/it 2011-02-22 15:45:48.000000000 +0100 +++ qmailadmin-1.2.16/lang/it 2020-05-03 11:05:14.000000000 +0200 @@ -8,7 +8,7 @@ 007 Aggiungi Forward: 008 Indirizzo Email Forward: 009 Casella locale: -010 L'indirizzo destinatario dell'inoltro deve essere indicato nella forma casella@dominio.xxx.
Il nome locale deve essere indicato nella forma: casella
Esempio:
Forward: remo@remo.it Nome locale: pluto
In questo modo tutto cio' che sara' inviato alla casella pluto del vostro dominio sara' inoltrato a remo@remo.it +010 L'indirizzo destinatario dell'inoltro deve essere indicato nella forma casella@dominio.xxx.
Il nome locale deve essere indicato nella forma: casella
Esempio:
Forward: remo@remo.it Nome locale: pluto
In questo modo tutto cio' che sara' inviato alla casella pluto del vostro dominio sara' inoltrato a remo@remo.it 011 Aggiungi moderatore della lista 012 Aggiungi moderatore alla Lista 013 Indirizzo Email: diff -ruN ../../qmailadmin-1.2.16-original/mailinglist.c qmailadmin-1.2.16/mailinglist.c --- ../../qmailadmin-1.2.16-original/mailinglist.c 2011-02-22 15:45:48.000000000 +0100 +++ qmailadmin-1.2.16/mailinglist.c 2020-05-05 15:49:45.566952776 +0200 @@ -59,6 +59,10 @@ #define REPLYTO_LIST 2 #define REPLYTO_ADDRESS 3 +#define GROUP_SUBSCRIBER 0 +#define GROUP_MODERATOR 1 +#define GROUP_DIGEST 2 + void set_options(); void default_options(); @@ -110,24 +114,24 @@ } /* First display the title row */ - printf (""); - printf ("%s", html_text[72]); + printf ("\n"); + printf ("%s\n", html_text[72]); #ifdef EZMLMIDX - printf ("%s", html_text[71]); + printf ("%s\n", html_text[71]); #endif - printf ("%s", html_text[81]); - printf ("%s", html_text[83]); - printf ("%s", html_text[84]); - printf ("%s", html_text[85]); + printf ("%s\n", html_text[81]); + printf ("%s\n", html_text[83]); + printf ("%s\n", html_text[84]); + printf ("%s\n", html_text[85]); #ifdef EZMLMIDX - printf ("%s", html_text[86]); - printf ("%s", html_text[87]); - printf ("%s", html_text[88]); - printf ("%s", html_text[237]); - printf ("%s", html_text[238]); - printf ("%s", html_text[239]); + printf ("%s\n", html_text[86]); + printf ("%s\n", html_text[87]); + printf ("%s\n", html_text[88]); + printf ("%s\n", html_text[237]); + printf ("%s\n", html_text[238]); + printf ("%s\n", html_text[239]); #endif - printf ("\n"); + printf ("\n\n"); sort_init(); @@ -136,9 +140,9 @@ if ( strncmp(".qmail-", mydirent->d_name, 7) == 0 ) { if ( (fs=fopen(mydirent->d_name,"r"))==NULL) { #ifdef EZMLMIDX - printf ("%s %s\n", html_text[144], mydirent->d_name); + printf ("%s %s\n", html_text[144], mydirent->d_name); #else - printf ("%s %s\n", html_text[144], mydirent->d_name); + printf ("%s %s\n", html_text[144], mydirent->d_name); #endif continue; } @@ -158,34 +162,34 @@ str_replace (addr, ':', '.'); printf (""); - qmail_button(addr, "delmailinglist", user, dom, mytime, "trash.png"); + qmail_button(addr, "delmailinglist", user, dom, mytime, "delete_forever"); #ifdef EZMLMIDX - qmail_button(addr, "modmailinglist", user, dom, mytime, "modify.png"); + qmail_button(addr, "modmailinglist", user, dom, mytime, "create"); #endif - printh ("%H\n", addr); + printh ("%H\n", addr); - qmail_button(addr, "addlistuser", user, dom, mytime, "delete.png"); - qmail_button(addr, "dellistuser", user, dom, mytime, "delete.png"); - qmail_button(addr, "showlistusers", user, dom, mytime, "delete.png"); + qmail_button(addr, "addlistuser", user, dom, mytime, "radio_button_checked"); + qmail_button(addr, "dellistuser", user, dom, mytime, "radio_button_checked"); + qmail_button(addr, "showlistusers", user, dom, mytime, "radio_button_checked"); #ifdef EZMLMIDX - qmail_button(addr, "addlistmod", user, dom, mytime, "delete.png"); - qmail_button(addr, "dellistmod", user, dom, mytime, "delete.png"); - qmail_button(addr, "showlistmod", user, dom, mytime, "delete.png"); + qmail_button(addr, "addlistmod", user, dom, mytime, "radio_button_checked"); + qmail_button(addr, "dellistmod", user, dom, mytime, "radio_button_checked"); + qmail_button(addr, "showlistmod", user, dom, mytime, "radio_button_checked"); /* Is it a digest list? */ if ( (fs=fopen(testfn,"r"))==NULL) { /* not a digest list */ - printf (" "); + printf (" "); } else { - qmail_button(addr, "addlistdig", user, dom, mytime, "delete.png"); - qmail_button(addr, "dellistdig", user, dom, mytime, "delete.png"); - qmail_button(addr, "showlistdig", user, dom, mytime, "delete.png"); + qmail_button(addr, "addlistdig", user, dom, mytime, "radio_button_checked"); + qmail_button(addr, "dellistdig", user, dom, mytime, "radio_button_checked"); + qmail_button(addr, "showlistdig", user, dom, mytime, "radio_button_checked"); fclose(fs); } #endif - printf ("\n"); + printf ("\n\n"); } sort_cleanup(); } @@ -222,7 +226,7 @@ } if ( (mydir = opendir(".")) == NULL ) { - printf ("%s %d
\n", html_text[143], 1); + printf ("%s %d
\n", html_text[143], 1); return; } @@ -246,30 +250,27 @@ } closedir(mydir); + /* subscibe user to the following lists */ /* if there aren't any lists, don't display anything */ if (listcount == 0) { sort_cleanup(); return; } - printf ("
"); - printf (""); - printf ("\n", - html_text[95]); + printf ("

%s

\n", html_text[95]); sort_dosort(); - printf ("\n", listcount); + printf ("\n", listcount); + printf ("
    "); for (i = 0; i < listcount; ++i) { addr = sort_get_entry(i); str_replace (addr, ':', '.'); - printh ("
", i, addr); - printh ("", addr, Domain); + printh ("
  • ", i, addr); + printh ("%H@%H
  • ", addr, Domain); } - printf ("
    "); - printf ("%s
    %H@%H
    \n"); + printf ("\n"); sort_cleanup(); } @@ -533,7 +534,7 @@ arguments[argc++]=TmpBuf3; arguments[argc++]=ActionUser; arguments[argc++]=Domain; - arguments[argc]=NULL; + arguments[argc]=(char *) NULL; execv(TmpBuf1, arguments); exit(127); @@ -541,29 +542,6 @@ wait(&pid); } - /* - * ezmlm-make -e leaves .qmail-listname-(accept||reject) links for some reason. - * (causing file permission errors in "show mailing lists") Also, it doesn't - * delete dir/digest/ when turning off digests. This section cleans up... - */ - if(listopt['M'-'A'] == 'M') { /* moderation off */ - sprintf(tmp, "%s/.qmail-%s-accept-default", RealDir, dotqmail_name); - unlink (tmp); - sprintf(tmp, "%s/.qmail-%s-reject-default", RealDir, dotqmail_name); - unlink (tmp); - } - if(listopt['D'-'A'] == 'D') { /* digest off */ - sprintf(tmp, "%s/.qmail-%s-digest-return-default", RealDir, dotqmail_name); - unlink (tmp); - sprintf(tmp, "%s/.qmail-%s-digest-owner", RealDir, dotqmail_name); - unlink (tmp); - - /* delete the digest directory */ - sprintf(tmp, "%s/%s/digest", RealDir, ActionUser); - vdelfiles(tmp); - chdir(RealDir); - } - /* Check for prefix setting */ GetValue(TmpCGI, tmp, "prefix=", sizeof(tmp)); @@ -617,10 +595,10 @@ #ifdef EZMLMIDX /* if this is a new list, add owner as subscriber */ if (newlist && (*list_owner != '\0')) { - ezmlm_sub ("", list_owner); + ezmlm_sub (GROUP_SUBSCRIBER, list_owner); if (listopt['M'-'A'] == 'm') { /* moderation on */ /* add owner as moderator/remote admin as well */ - ezmlm_sub ("mod", list_owner); + ezmlm_sub (GROUP_MODERATOR, list_owner); } } #endif @@ -680,14 +658,14 @@ close(handles[0]); dup2(handles[1],fileno(stdout)); sprintf(TmpBuf1, "%s/ezmlm-list", EZMLMDIR); - if(mod == 1) { - sprintf(TmpBuf2, "%s/%s/mod", RealDir, ActionUser); - } else if(mod == 2) { - sprintf(TmpBuf2, "%s/%s/digest", RealDir, ActionUser); + sprintf(TmpBuf2, "%s/%s", RealDir, ActionUser); + if(mod == GROUP_MODERATOR) { + execl(TmpBuf1, "ezmlm-list", TmpBuf2, "mod", (char *)NULL); + } else if(mod == GROUP_DIGEST) { + execl(TmpBuf1, "ezmlm-list", TmpBuf2, "digest", (char *)NULL); } else { - sprintf(TmpBuf2, "%s/%s/", RealDir, ActionUser); + execl(TmpBuf1, "ezmlm-list", TmpBuf2, (char *)NULL); } - execl(TmpBuf1, "ezmlm-list", TmpBuf2, NULL); exit(127); } else { close(handles[1]); @@ -715,16 +693,20 @@ /* strcpy(TmpBuf2, "084"); */ } strcpy(TmpBuf2, "072"); - printf ("\n"); - printf (" \n"); - printf (" \n", get_html_text(TmpBuf), subuser_count); - printf (" \n"); - printf (" \n", get_color_text("002")); - printf (" \n", get_html_text(TmpBuf2)); - printf (" \n", get_html_text(TmpBuf1)); - printf (" \n", get_html_text(TmpBuf2)); - printf (" \n", get_html_text(TmpBuf1)); - printf (" \n"); + /* total subscribers */ + printf ("

    %s %d

    ", get_html_text(TmpBuf), subuser_count); + + /* column names */ + /* + printf ("\n"); + printf ("\n", get_html_text(TmpBuf2)); + printf ("\n", get_html_text(TmpBuf1)); + printf ("\n", get_html_text(TmpBuf2)); + printf ("\n", get_html_text(TmpBuf1)); + printf ("\n"); + */ + + printf ("
    \n"); if(mod == 1) { strcpy(TmpBuf, "dellistmodnow"); @@ -733,25 +715,25 @@ } else { strcpy(TmpBuf, "dellistusernow"); } + for(z = 0; (addr = sort_get_entry(z)); ++z) { - printf ("
    "); - printh (" \n", - cgiurl(TmpBuf), ActionUser, addr, IMAGEURL); - printh (" \n", addr); + printh ("
    delete_forever ", + cgiurl(TmpBuf), ActionUser, addr); + printh ("%H
    \n", addr); ++z; if( (addr = sort_get_entry(z)) ) { - printh (" \n", - cgiurl(TmpBuf), ActionUser, addr, IMAGEURL); - printh (" \n", addr); + printh ("
    delete_forever ", + cgiurl(TmpBuf), ActionUser, addr); + printh ("%H
    \n", addr); } else { - printf (" "); + printf (" "); } - printf (" "); } + printf ("\n"); + sort_cleanup(); - printf ("
    %s %d

    %s%s%s%s
    %s%s%s%s
    %H%H
    "); fclose(fs); close(handles[0]); wait(&pid); snprintf (StatusMessage, sizeof(StatusMessage), "%s\n", html_text[190]); @@ -790,7 +772,7 @@ void addlistdig() { addlistgroup( "add_listdig.html" ); } /* returns 0 for success */ -int ezmlm_sub (char *dir, char *email) +int ezmlm_sub (int mod, char *email) { int pid; char subpath[MAX_BUFF]; @@ -799,9 +781,14 @@ pid=fork(); if (pid==0) { snprintf(subpath, sizeof(subpath), "%s/ezmlm-sub", EZMLMDIR); - snprintf(listpath, sizeof(listpath), "%s/%s/%s", - RealDir, ActionUser, dir); - execl(subpath, "ezmlm-sub", listpath, email, NULL); + snprintf(listpath, sizeof(listpath), "%s/%s", RealDir, ActionUser); + if (mod == GROUP_MODERATOR) { + execl(subpath, "ezmlm-sub", listpath, "mod", email, (char *)NULL); + } else if (mod == GROUP_DIGEST) { + execl(subpath, "ezmlm-sub", listpath, "digest", email, (char *)NULL); + } else { + execl(subpath, "ezmlm-sub", listpath, email, (char *)NULL); + } exit(127); } else wait(&pid); @@ -824,9 +811,9 @@ if ( check_email_addr(Newu) ) { snprinth (StatusMessage, sizeof(StatusMessage), "%s %H\n", html_text[148], Newu); - if (mod == 1) { + if (mod == GROUP_MODERATOR) { addlistmod(); - } else if (mod == 2) { + } else if (mod == GROUP_DIGEST) { addlistdig(); } else { addlistuser(); @@ -835,18 +822,16 @@ exit(0); } - if(mod == 1 ) { - ezmlm_sub ("mod", Newu); + ezmlm_sub (mod, Newu); + if(mod == GROUP_MODERATOR ) { snprinth (StatusMessage, sizeof(StatusMessage), "%H %s %H@%H\n", Newu, html_text[194], ActionUser, Domain); send_template( "add_listmod.html" ); - } else if(mod == 2) { - ezmlm_sub ("digest", Newu); + } else if(mod == GROUP_DIGEST) { snprinth (StatusMessage, sizeof(StatusMessage), "%H %s %H@%H\n", Newu, html_text[240], ActionUser, Domain); send_template( "add_listdig.html" ); } else { - ezmlm_sub ("", Newu); snprinth (StatusMessage, sizeof(StatusMessage), "%H %s %H@%H\n", Newu, html_text[193], ActionUser, Domain); send_template( "add_listuser.html" ); @@ -888,21 +873,21 @@ pid=fork(); if (pid==0) { sprintf(TmpBuf1, "%s/ezmlm-unsub", EZMLMDIR); - if(mod == 1) { - sprintf(TmpBuf2, "%s/%s/mod", RealDir, ActionUser); - } else if(mod == 2 ) { - sprintf(TmpBuf2, "%s/%s/digest", RealDir, ActionUser); + sprintf(TmpBuf2, "%s/%s", RealDir, ActionUser); + if(mod == GROUP_MODERATOR) { + execl(TmpBuf1, "ezmlm-unsub", TmpBuf2, "mod", Newu, (char *)NULL); + } else if(mod == GROUP_DIGEST ) { + execl(TmpBuf1, "ezmlm-unsub", TmpBuf2, "digest", Newu, (char *)NULL); } else { - sprintf(TmpBuf2, "%s/%s/", RealDir, ActionUser); + execl(TmpBuf1, "ezmlm-unsub", TmpBuf2, Newu, (char *)NULL); } - execl(TmpBuf1, "ezmlm-unsub", TmpBuf2, Newu, NULL); exit(127); } else wait(&pid); - if(mod == 1) { + if(mod == GROUP_MODERATOR) { snprinth (StatusMessage, sizeof(StatusMessage), "%H %s %H@%H\n", Newu, html_text[197], ActionUser, Domain); - } else if(mod == 2) { + } else if(mod == GROUP_DIGEST) { snprinth (StatusMessage, sizeof(StatusMessage), "%H %s %H@%H\n", Newu, html_text[242], ActionUser, Domain); } else { @@ -921,7 +906,7 @@ FILE *fs; if ( (mydir = opendir(".")) == NULL ) { - printf ("%s %d
    \n", html_text[143], 1); + printf ("%s %d
    \n", html_text[143], 1); printf (""); return; } @@ -1092,42 +1077,96 @@ // default to false for lowercase letters for (c = 'a'; c <= 'z'; checkopt[(int) c++] = 0); - // figure out some options in the -default file + // ------ newer configuration reads + + // -s: Subscription moderation. touching dir/modsub + sprintf(TmpBuf, "%s/modsub", ActionUser); + checkopt['s'] = file_exists(TmpBuf); + // -h: Help subscription. Don't require confirmation. Not recommented! + sprintf(TmpBuf, "%s/nosubconfirm", ActionUser); + checkopt['h'] = file_exists(TmpBuf); + // -j Jump off. Unsubscribe does not require confirmation. + sprintf(TmpBuf, "%s/nounsubconfirm", ActionUser); + checkopt['j'] = file_exists(TmpBuf); + + // -m: Message moderation. touch dir/modpost + sprintf(TmpBuf, "%s/modpost", ActionUser); // valid for newer ezmlm-versions + checkopt['m'] = file_exists(TmpBuf); + // -o: Reject others than; applicable to message moderated lists only + sprintf(TmpBuf, "%s/modpostonly", ActionUser); + checkopt['o'] = file_exists(TmpBuf); + // -u: User posts only. subscribers, digest-subscribers and dir/allow + sprintf(TmpBuf, "%s/subpostonly", ActionUser); + checkopt['u'] = file_exists(TmpBuf); + + // -f: Subject Prefix. outgoing subject will be pre-fixed with the list name + sprintf(TmpBuf, "%s/prefix", ActionUser); + checkopt['f'] = file_exists(TmpBuf); + // -t: Message Trailer. create dir/text/trailer + sprintf(TmpBuf, "%s/addtrailer", ActionUser); + checkopt['t'] = file_exists(TmpBuf); + + // -a: Archived: touch dir/archived and dir/indexed + sprintf(TmpBuf, "%s/archived", ActionUser); + checkopt['a'] = file_exists(TmpBuf); + // -i: indexed for WWW archive access + sprintf(TmpBuf, "%s/threaded", ActionUser); + checkopt['i'] = file_exists(TmpBuf); + // -p: Public archive. touch dir/public + sprintf(TmpBuf, "%s/public", ActionUser); + checkopt['p'] = file_exists(TmpBuf); + // -g: Guard archive. Access requests from unrecognized SENDERs will be rejected. + sprintf(TmpBuf, "%s/subgetonly", ActionUser); + checkopt['g'] = file_exists(TmpBuf); + // -b: Block archive. Only moderators are allowed to access the archive. + sprintf(TmpBuf, "%s/modgetonly", ActionUser); + checkopt['b'] = file_exists(TmpBuf); + + // -d: Digest + sprintf(TmpBuf, "%s/digested", ActionUser); + checkopt['d'] = file_exists(TmpBuf); + + // -r: Remote admin. touching dir/remote + sprintf(TmpBuf, "%s/remote", ActionUser); + checkopt['r'] = file_exists(TmpBuf); + // -l List subscribers. administrators can request a subscriber + sprintf(TmpBuf, "%s/modcanlist", ActionUser); + checkopt['l'] = file_exists(TmpBuf); + // -n New text file. administrators may edit texts + sprintf(TmpBuf, "%s/modcanedit", ActionUser); + checkopt['n'] = file_exists(TmpBuf); + + // ------ end of newer configuration reads + + // ------ read in old ezmlm's values + // figure out some options in the -default file; sprintf(TmpBuf, ".qmail-%s-default", dotqmail_name); if( (fs=fopen(TmpBuf, "r")) !=NULL ) { while(fgets(TmpBuf2, sizeof(TmpBuf2), fs)) { + // -b: Block archive. Only moderators are allowed to access the archive. if((get_ezmlmidx_line_arguments(TmpBuf2, "ezmlm-get", 'P')) > 0) { checkopt['b'] = 1; } + // -g: Guard archive. Access requests from unrecognized SENDERs will be rejected. if((get_ezmlmidx_line_arguments(TmpBuf2, "ezmlm-get", 's')) > 0) { checkopt['g'] = 1; } - if((get_ezmlmidx_line_arguments(TmpBuf2, "ezmlm-manage", 'S')) > 0) { + // -h: Help subscription. Don't require confirmation. Not recommented! + if((get_ezmlmidx_line_arguments(TmpBuf2, "ezmlm-manage", 'S')) > 0){ checkopt['h'] = 1; } + // -j Jump off. Unsubscribe does not require confirmation. if((get_ezmlmidx_line_arguments(TmpBuf2, "ezmlm-manage", 'U')) > 0) { checkopt['j'] = 1; } + // -l List subscribers. administrators can request a subscriber if((get_ezmlmidx_line_arguments(TmpBuf2, "ezmlm-manage", 'l')) > 0) { checkopt['l'] = 1; } + // -n New text file. administrators may edit texts if((get_ezmlmidx_line_arguments(TmpBuf2, "ezmlm-manage", 'e')) > 0) { checkopt['n'] = 1; } - if((strstr(TmpBuf2, "ezmlm-request")) != 0) { - checkopt['q'] = 1; - } - } - fclose(fs); - } - - // figure out some options in the -accept-default file - sprintf(TmpBuf, ".qmail-%s-accept-default", dotqmail_name); - if( (fs=fopen(TmpBuf, "r")) !=NULL ) { - while(fgets(TmpBuf2, sizeof(TmpBuf2), fs)) { - if(strstr(TmpBuf2, "ezmlm-archive") !=0) { - checkopt['i'] = 1; - } } fclose(fs); } @@ -1136,43 +1175,21 @@ sprintf(TmpBuf, ".qmail-%s", dotqmail_name); if( (fs=fopen(TmpBuf, "r")) !=NULL ) { while(fgets(TmpBuf2, sizeof(TmpBuf2), fs)) { - if((get_ezmlmidx_line_arguments(TmpBuf2, "ezmlm-store", 'P')) > 0) { + // -o: Reject others than; applicable to message moderated lists only + if( ( (get_ezmlmidx_line_arguments(TmpBuf2, "ezmlm-store", 'P')) > 0)){ checkopt['o'] = 1; } - if((strstr(TmpBuf2, "ezmlm-gate")) != 0 || (strstr(TmpBuf2, "ezmlm-issubn")) != 0) { - checkopt['u'] = 1; - } - if(strstr(TmpBuf2, "ezmlm-archive") !=0) { - checkopt['i'] = 1; - } } fclose(fs); } - sprintf(TmpBuf, ".qmail-%s-accept-default", dotqmail_name); - checkopt['m'] = file_exists(TmpBuf); - - sprintf(TmpBuf, "%s/archived", ActionUser); - checkopt['a'] = file_exists(TmpBuf); - - sprintf(TmpBuf, "%s/digest/bouncer", ActionUser); - checkopt['d'] = file_exists(TmpBuf); - - sprintf(TmpBuf, "%s/prefix", ActionUser); - checkopt['f'] = file_exists(TmpBuf); - - sprintf(TmpBuf, "%s/public", ActionUser); - checkopt['p'] = file_exists(TmpBuf); - - sprintf(TmpBuf, "%s/remote", ActionUser); - checkopt['r'] = file_exists(TmpBuf); - - sprintf(TmpBuf, "%s/modsub", ActionUser); - checkopt['s'] = file_exists(TmpBuf); - + // -t: Message Trailer. create dir/text/trailer sprintf(TmpBuf, "%s/text/trailer", ActionUser); - checkopt['t'] = file_exists(TmpBuf); - + if (file_exists(TmpBuf)) { + checkopt['t'] = 1; + } + // ------ end of read in old ezmlm's values + /* update the uppercase option letters (just the opposite of the lowercase) */ for (c = 'A'; c <= 'Z'; c++) { @@ -1208,7 +1225,7 @@ checkopt['n'] = 0; /* Remote admins can edit text files */ checkopt['o'] = 0; /* Others rejected (for Moderated lists only */ checkopt['p'] = 1; /* Public */ - checkopt['q'] = 1; /* Service listname-request */ + checkopt['q'] = 1; /* Service listname-request, no longer supported */ checkopt['r'] = 0; /* Remote Administration */ checkopt['s'] = 0; /* Subscriptions are moderated */ checkopt['t'] = 0; /* Add Trailer to outgoing messages */ @@ -1253,93 +1270,88 @@ snprinth (listname, sizeof(listname), "%H", dotqmail_name); str_replace (listname, ':', '.'); } else { - sprintf (listname, "%s", html_text[261]); + sprintf (listname, "%s", html_text[261]); } /* Posting Messages */ - printf ("

    %s
    \n", html_text[262]); - build_option_str ("RADIO", "opt1", "MU", html_text[263]); - printf ("
    \n"); - build_option_str ("RADIO", "opt1", "Mu", html_text[264]); - printf ("
    \n"); - build_option_str ("RADIO", "opt1", "mu", html_text[265]); - printf ("
    \n"); - build_option_str ("RADIO", "opt1", "mUo", html_text[266]); - printf ("
    \n"); - build_option_str ("RADIO", "opt1", "mUO", html_text[267]); - printf ("

    \n"); + printf ("

    %s

    \n

    \n", html_text[262]); + build_option_str ("radio", "opt1", "MU", html_text[263]); + printf ("
    \n"); + build_option_str ("radio", "opt1", "Mu", html_text[264]); + printf ("
    \n"); + build_option_str ("radio", "opt1", "mu", html_text[265]); + printf ("
    \n"); + build_option_str ("radio", "opt1", "mUo", html_text[266]); + printf ("
    \n"); + build_option_str ("radio", "opt1", "mUO", html_text[267]); + printf ("

    \n"); /* List Options */ - printf ("

    %s
    \n", html_text[268]); + printf ("

    %s

    \n

    \n", html_text[268]); /* this next option isn't necessary since we use the edit box to * set/delete the prefix sprintf (TmpBuf, html_text[269], listname); - build_option_str ("CHECKBOX", "opt3", "f", TmpBuf); - printf ("
    \n"); + build_option_str ("checkbox", "opt3", "f", TmpBuf); + printf ("

    \n"); */ - printf ("", + printf ("
    %s
    ", html_text[310]); - printf ("\n", - REPLYTO_SENDER, (replyto == REPLYTO_SENDER) ? " CHECKED" : "", html_text[311]); - printf ("\n", - REPLYTO_LIST, (replyto == REPLYTO_LIST) ? " CHECKED" : "", html_text[312]); - printf ("\n", + printf ("\n", + REPLYTO_SENDER, (replyto == REPLYTO_SENDER) ? " checked" : "", html_text[311]); + printf ("\n", + REPLYTO_LIST, (replyto == REPLYTO_LIST) ? " checked" : "", html_text[312]); + printf ("\n", replyto_addr); - printf ("
    %s%s
    %s
    %s ", - REPLYTO_ADDRESS, (replyto == REPLYTO_ADDRESS) ? " CHECKED" : "", html_text[313]); - printh ("
    %s
    %s
    %s ", + REPLYTO_ADDRESS, (replyto == REPLYTO_ADDRESS) ? " checked" : "", html_text[313]); + printh ("

    \n"); - build_option_str ("CHECKBOX", "opt4", "t", html_text[270]); - printf ("
    \n"); - build_option_str ("CHECKBOX", "opt5", "d", html_text[271]); + printf ("
    \n"); + build_option_str ("checkbox", "opt4", "t", html_text[270]); + printf ("
    \n"); + build_option_str ("checkbox", "opt5", "d", html_text[271]); sprintf (TmpBuf, html_text[272], listname); - printf ("(%s)", TmpBuf); - printf ("
    \n"); - sprintf (TmpBuf, html_text[273], listname); - build_option_str ("CHECKBOX", "opt6", "q", TmpBuf); - printf ("
    \n"); - sprintf (TmpBuf, html_text[274], listname, listname, listname); - printf ("    (%s)

    ", TmpBuf); + printf ("(%s)", TmpBuf); + printf ("

    ", TmpBuf); /* Remote Administration */ - printf ("

    %s
    \n", html_text[275]); - build_option_str ("CHECKBOX", "opt7", "r", html_text[276]); - printf ("
    \n"); - build_option_str ("CHECKBOX", "opt8", "P", html_text[277]); - printf ("(%s)
    ", html_text[278]); - printf ("", + printf ("

    %s

    \n

    \n", html_text[275]); + build_option_str ("checkbox", "opt7", "r", html_text[276]); + printf ("
    \n"); + build_option_str ("checkbox", "opt8", "P", html_text[277]); + printf ("(%s)
    ", html_text[278]); + printf ("

    %s
    ", html_text[279]); - printf ("\n\n\n", html_text[282]); - printf ("
    %s"); - build_option_str ("CHECKBOX", "opt9", "l", html_text[280]); - printf ("
    "); - build_option_str ("CHECKBOX", "opt10", "n", html_text[281]); - printf ("(%s).
    \n

    \n"); - - printf ("

    %s
    \n", html_text[283]); - printf ("%s
    \n    ", html_text[284]); - build_option_str ("CHECKBOX", "opt11", "H", html_text[285]); - printf ("
    \n    "); - build_option_str ("CHECKBOX", "opt12", "s", html_text[286]); - printf ("
    \n%s
    \n    ", html_text[287]); - build_option_str ("CHECKBOX", "opt13", "J", html_text[285]); - printf ("
    \n"); - printf ("%s\n

    \n", html_text[288]); - - printf ("

    %s
    \n", html_text[289]); - build_option_str ("CHECKBOX", "opt14", "a", html_text[290]); - printf ("   %s\n."); - printf ("
    \n"); + printf (""); + build_option_str ("checkbox", "opt9", "l", html_text[280]); + printf ("\n\n"); + build_option_str ("checkbox", "opt10", "n", html_text[281]); + printf ("(%s).\n", html_text[282]); + printf ("\n

    \n"); + + printf ("

    %s

    \n

    \n", html_text[283]); + printf ("%s
    \n    ", html_text[284]); + build_option_str ("checkbox", "opt11", "H", html_text[285]); + printf ("
    \n    "); + build_option_str ("checkbox", "opt12", "s", html_text[286]); + printf ("
    \n%s
    \n    ", html_text[287]); + build_option_str ("checkbox", "opt13", "J", html_text[285]); + printf ("
    \n"); + printf ("%s\n

    \n", html_text[288]); + + printf ("

    %s

    \n

    \n", html_text[289]); + build_option_str ("checkbox", "opt14", "a", html_text[290]); + printf ("   %s\n."); + printf ("
    \n"); /* note that if user doesn't have ezmlm-cgi installed, it might be a good idea to default to having option i off. */ - build_option_str ("CHECKBOX", "opt16", "i", html_text[291]); - printf ("

    \n"); + build_option_str ("checkbox", "opt16", "i", html_text[291]); + printf ("

    \n"); /***********************/ /* begin MySQL options */ @@ -1361,15 +1373,15 @@ fclose(fs); } #ifdef ENABLE_MYSQL - printf ("

    %s
    \n", html_text[99]); + printf ("

    %s

    \n

    \n", html_text[99]); printf (" %s", - checked ? " CHECKED" : "", html_text[53]); + checked ? " checked" : "", html_text[53]); /* parse dir/sql file for SQL settings */ - printf (" \n"); + printf ("
    \n"); #else if (checked) - printf ("\n"); + printf ("\n"); #endif /* get hostname */ @@ -1383,12 +1395,12 @@ } #ifdef ENABLE_MYSQL - printf (" \n"); - printf (" \n", checked1); + printf ("\n"); + printf ("\n", checked1); #else - printh ("\n", checked1); + printh ("\n", checked1); #endif /* get port */ @@ -1401,12 +1413,12 @@ } } #ifdef ENABLE_MYSQL - printf (" \n", checked1); - printf (" \n"); + printf ("\n", checked1); + printf ("\n"); #else - printh ("\n", checked1); + printh ("\n", checked1); #endif /* get user */ @@ -1419,12 +1431,12 @@ } } #ifdef ENABLE_MYSQL - printf (" \n"); - printf (" \n", checked1); + printf ("\n"); + printf ("\n", checked1); #else - printh ("\n", checked1); + printh ("\n", checked1); #endif /* get password */ @@ -1437,12 +1449,12 @@ } } #ifdef ENABLE_MYSQL - printf (" \n", checked1); - printf (" \n"); + printf ("\n", checked1); + printf ("\n"); #else - printh ("\n", checked1); + printh ("\n", checked1); #endif /* get database name */ @@ -1455,12 +1467,12 @@ } } #ifdef ENABLE_MYSQL - printf (" \n"); - printf (" \n", checked1); + printf ("\n"); + printf ("\n", checked1); #else - printh ("\n", checked1); + printh ("\n", checked1); #endif /* get table name */ @@ -1473,13 +1485,13 @@ } } #ifdef ENABLE_MYSQL - printf (" \n", checked1); - printf (" \n"); - printf ("
    %s:\n", html_text[54]); - printf (" \n"); - printh ("
    %s:\n", html_text[54]); + printf ("\n"); + printh ("%s:\n", html_text[55]); - printf (" \n"); - printh ("
    %s:\n", html_text[55]); + printf ("\n"); + printh ("
    %s:\n", html_text[56]); - printf (" \n"); - printh ("
    %s:\n", html_text[56]); + printf ("\n"); + printh ("%s:\n", html_text[57]); - printf (" \n"); - printh ("
    %s:\n", html_text[57]); + printf ("\n"); + printh ("
    %s:\n", html_text[58]); - printf (" \n"); - printh ("
    %s:\n", html_text[58]); + printf ("\n"); + printh ("%s:\n", html_text[59]); - printf (" \n"); - printh ("
    \n"); + printf ("%s:\n", html_text[59]); + printf ("\n"); + printh ("\n", checked1); + printf ("\n"); + printf ("\n"); #else - printh ("\n", checked1); + printh ("\n", checked1); #endif } diff -ruN ../../qmailadmin-1.2.16-original/mailinglist.h qmailadmin-1.2.16/mailinglist.h --- ../../qmailadmin-1.2.16-original/mailinglist.h 2011-02-22 15:45:48.000000000 +0100 +++ qmailadmin-1.2.16/mailinglist.h 2020-05-04 11:17:54.219516892 +0200 @@ -13,7 +13,7 @@ void dellistgroupnow(int mod); void delmailinglist(); void delmailinglistnow(); -int ezmlm_sub (char *dir, char *email); +int ezmlm_sub (int mod, char *email); void modmailinglist(); void modmailinglistnow(); void show_list_group(char *template); diff -ruN ../../qmailadmin-1.2.16-original/qmailadmin.c qmailadmin-1.2.16/qmailadmin.c --- ../../qmailadmin-1.2.16-original/qmailadmin.c 2011-02-22 15:45:48.000000000 +0100 +++ qmailadmin-1.2.16/qmailadmin.c 2020-05-04 11:16:38.212266863 +0200 @@ -22,6 +22,7 @@ #include #include #include +#include #include #include #include @@ -50,6 +51,11 @@ #include "template.h" #include "user.h" #include "util.h" +/* cracklib patch */ +#ifdef CRACKLIB +# include +#endif +/* end cracklib */ char Username[MAX_BUFF]; char Domain[MAX_BUFF]; @@ -109,6 +115,33 @@ char RealDir[156]; char Lang[40]; +static void +log_auth(char *msg) +{ + FILE *fp = NULL; + if ((fp = fopen("/var/log/qma-auth.log", "a")) == NULL) { + exit(-1); + } + + const char *ip_addr = getenv("REMOTE_ADDR"); + if (!ip_addr) + ip_addr = "127.0.0.1"; + + time_t tv; + struct tm tm; + char time_buf[64]; + + time(&tv); + localtime_r(&tv, &tm); + strftime(time_buf, sizeof(time_buf) - 2, "%Y/%m/%d %H:%M:%S", &tm); + + fprintf(fp, "%s user:%s@%s ip:%s auth:%s\n", time_buf, Username, Domain, ip_addr, msg); + + if (fclose(fp) != 0) { + exit(-1); + } +} + void qmailadmin_suid (gid_t Gid, uid_t Uid) { if ( geteuid() == 0 ) { @@ -131,6 +164,7 @@ int argc; char *argv[]; { + char *tmpstr; const char *ip_addr=getenv("REMOTE_ADDR"); const char *x_forward=getenv("HTTP_X_FORWARDED_FOR"); char *pi; @@ -195,6 +229,11 @@ if (*Username && (*Password == '\0') && (*Password1 || *Password2)) { /* username entered, but no password */ snprintf (StatusMessage, sizeof(StatusMessage), "%s", html_text[198]); + + char log_buf[3 * MAX_BUFF]; + memset(log_buf, 0x0, sizeof(log_buf)); + snprintf(log_buf, sizeof(log_buf) - 2, "failed [%s@%s]", Newu, Domain); + log_auth(log_buf); } else if (*Username && *Password) { /* attempt to authenticate user */ vget_assign (Domain, RealDir, sizeof(RealDir), &Uid, &Gid); @@ -208,6 +247,11 @@ if ( *Domain == '\0' ) { snprintf (StatusMessage, sizeof(StatusMessage), "%s", html_text[198]); + + char log_buf[3 * MAX_BUFF]; + memset(log_buf, 0x0, sizeof(log_buf)); + snprintf(log_buf, sizeof(log_buf) - 2, "failed [%s@%s]", Newu, Domain); + log_auth(log_buf); } else { chdir(RealDir); load_limits(); @@ -215,6 +259,11 @@ pw = vauth_user( User, Domain, Password, "" ); if ( pw == NULL ) { snprintf (StatusMessage, sizeof(StatusMessage), "%s", html_text[198]); + + char log_buf[3 * MAX_BUFF]; + memset(log_buf, 0x0, sizeof(log_buf)); + snprintf(log_buf, sizeof(log_buf) - 2, "failed [%s@%s]", Newu, Domain); + log_auth(log_buf); } else if (pw->pw_flags & NO_PASSWD_CHNG) { strcpy (StatusMessage, "You don't have permission to change your password."); } else if (strcmp (Password1, Password2) != 0) { @@ -227,6 +276,12 @@ } else if ( strstr(User,Password1)!=NULL) { snprintf (StatusMessage, sizeof(StatusMessage), "%s\n", html_text[320]); #endif +/* cracklib patch */ +#ifdef CRACKLIB + } else if ((tmpstr = FascistCheck(Password1, CRACKLIB)) != NULL ) { + sprintf (StatusMessage, "Bad password - %s\n", tmpstr); +#endif +/* end cracklib */ } else { /* success */ snprintf (StatusMessage, sizeof(StatusMessage), "%s", html_text[139]); @@ -264,6 +319,12 @@ pw = vauth_user( Username, Domain, Password, "" ); if ( pw == NULL ) { snprintf (StatusMessage, sizeof(StatusMessage), "%s\n", html_text[198]); + + char log_buf[3 * MAX_BUFF]; + memset(log_buf, 0x0, sizeof(log_buf)); + snprintf(log_buf, sizeof(log_buf) - 2, "failed [%s@%s]", Newu, Domain); + log_auth(log_buf); + show_login(); vclose(); exit(0); diff -ruN ../../qmailadmin-1.2.16-original/template.c qmailadmin-1.2.16/template.c --- ../../qmailadmin-1.2.16-original/template.c 2011-02-22 15:45:47.000000000 +0100 +++ qmailadmin-1.2.16/template.c 2020-05-03 16:14:53.000000000 +0200 @@ -92,11 +92,11 @@ snprintf(TmpBuf2, (sizeof(TmpBuf2) - 1), "%s/html/%s", tmpstr, filename); if (lstat(TmpBuf2, &mystat) == -1) { - printf("Warning: cannot lstat '%s', check permissions.
    \n", TmpBuf2); + printf("Warning: cannot lstat '%s', check permissions.
    \n", TmpBuf2); return(-1); } if (S_ISLNK(mystat.st_mode)) { - printf("Warning: '%s' is a symbolic link.
    \n", TmpBuf2); + printf("Warning: '%s' is a symbolic link.
    \n", TmpBuf2); return(-1); } @@ -217,9 +217,10 @@ TmpBuf3[j] = TmpBuf2[i]; } TmpBuf3[j] = '\0'; - printh ("value=\"%H@%H\">\n", TmpBuf3, Domain); + /* mod_autorespond.html */ + printh ("value=\"%H@%H\">\n", TmpBuf3, Domain); } else { - printh ("value=\"%H\">\n", &TmpBuf2[1]); + printh ("value=\"%H\">\n", &TmpBuf2[1]); } } upperit(ActionUser); @@ -229,19 +230,16 @@ fgets( TmpBuf2, sizeof(TmpBuf2), fs); fgets( TmpBuf2, sizeof(TmpBuf2), fs); - printf ("  \n"); - printf (" \n"); - printf (" \n"); - printf (" %s\n", html_text[6]); + printf("

    "); + printf("\n", html_text[6]); /* take off newline */ i = strlen(TmpBuf2); --i; TmpBuf2[i] = 0; - printh (" \n", + printh ("\n", &TmpBuf2[9]); - printf ("  \n"); - printf (" \n"); - printf (" \n"); - printf (" "); + printf ("\n
    \n"); fclose(fs); } break; @@ -469,7 +467,7 @@ GetValue (TmpCGI, value, "returntext=", sizeof(value)); GetValue (TmpCGI, value2, "returnhttp=", sizeof(value2)); if (*value != '\0') { - printh ("%H", value2, value); + printh ("%H", value2, value); } break; @@ -512,49 +510,52 @@ /* show version number */ case 'V': - printf("%s %s
    ", + printf("%s %s ~ ", QA_PACKAGE, QA_VERSION); - printf("%s %s
    ", + printf("%s %s", PACKAGE, VERSION); break; /* display the main menu */ /* move this to a function... */ case 'v': - printh ("%H

    ", + printh ("

    %H

    ", Domain); printf ( - "%s
    ", + "
    %s
    ", html_text[1]); + printf (""); } else { /* the quota code in here is kinda screwy and could use review * then again, with recent changes, the non-admin shouldn't @@ -565,53 +566,58 @@ char path[256]; vpw = vauth_getpw(Username, Domain); - printh ("", cgiurl("moduser"), Username); + printf("
      "); + + printh ("
    • ", cgiurl("moduser"), Username); printh ( - "%s %H

      ", + "%s %H
    • ", html_text[111], Username); if (strncmp(vpw->pw_shell, "NOQUOTA", 2) != 0) { quota_to_megabytes(qconvert, vpw->pw_shell); } else { sprintf(qconvert, "%s", html_text[229]); qnote = ""; } - printf ("%s:
      %s %s %s", + printf ("
    • %s:
      %s %s %s", html_text[249], html_text[253], qconvert, qnote); printf ("
      %s ", html_text[254]); snprintf(path, sizeof(path), "%s/" MAILDIR, vpw->pw_dir); readuserquota(path, &diskquota, &maxmsg); - printf ("%-2.2lf MB

      ", ((double)diskquota)/1048576.0); /* Convert to MB */ + printf ("%-2.2lf MB
    • ", ((double)diskquota)/1048576.0); /* Convert to MB */ + + printf("
    "); } if (AdminType == DOMAIN_ADMIN) { - printf ("
    "); + printf (""); } break; @@ -633,9 +639,9 @@ case 'x': strcpy (value, get_session_val("returntext=")); if(strlen(value) > 0) { - printh("%H", get_session_val("returnhttp="), value); + printh("%H", get_session_val("returnhttp="), value); } else { - printh("%s", cgiurl("logout"), html_text[218]); + printh("%s", cgiurl("logout"), html_text[218]); } printf("\n"); break; diff -ruN ../../qmailadmin-1.2.16-original/user.c qmailadmin-1.2.16/user.c --- ../../qmailadmin-1.2.16-original/user.c 2011-02-22 15:45:48.000000000 +0100 +++ qmailadmin-1.2.16/user.c 2020-05-05 18:08:40.250213748 +0200 @@ -47,7 +47,11 @@ #include "user.h" #include "util.h" #include "vauth.h" - +/* cracklib patch */ +#ifdef CRACKLIB +# include +#endif +/* end cracklib patch */ #define HOOKS 1 @@ -88,7 +92,7 @@ /* Get the default catchall box name */ if ((fs=fopen(".qmail-default","r")) == NULL) { /* report error opening .qmail-default and exit */ - printf ("%s .qmail-default", + printf ("%s .qmail-default\n", colspan, html_text[144]); vclose(); exit(0); @@ -160,8 +164,8 @@ } if (pw == NULL) { - printf ("%s\n", - colspan, get_color_text("000"), html_text[131]); + printf ("%s\n", + colspan, html_text[131]); moreusers = 0; } else { char path[256]; @@ -174,28 +178,28 @@ storage_t maxmsg = 0; /* display account name and user name */ - printf ("", get_color_text("000")); - printh ("%H", pw->pw_name); - printh ("%H", pw->pw_gecos); + printf ("\n"); + printh ("%H\n", pw->pw_name); + printh ("%H\n", pw->pw_gecos); /* display user's quota */ snprintf(path, sizeof(path), "%s/" MAILDIR, pw->pw_dir); readuserquota(path, &diskquota, &maxmsg); - printf ("%-2.2lf / ", ((double)diskquota)/1048576.0); /* Convert to MB */ + printf ("%-2.2lf / \n", ((double)diskquota)/1048576.0); /* Convert to MB */ if (strncmp(pw->pw_shell, "NOQUOTA", 2) != 0) { if(quota_to_megabytes(qconvert, pw->pw_shell)) { - printf ("(BAD)"); + printf ("(BAD)\n"); } - else { printf ("%s", qconvert); } + else { printf ("%s\n", qconvert); } } - else { printf ("%s", html_text[229]); } + else { printf ("%s", html_text[229]); } /* display button to modify user */ - printf (""); + printf (""); printh ("", cgiurl("moduser"), pw->pw_name); - printf ("", IMAGEURL); - printf (""); - + printf ("create"); + printf ("\n"); + /* if the user has admin privileges and pw->pw_name is not * the user or postmaster, allow deleting */ @@ -210,32 +214,29 @@ } /* display trashcan for delete, or nothing if delete not allowed */ - printf (""); + printf (""); if (allowdelete) { printh ("", cgiurl("deluser"), pw->pw_name); - printf ("", IMAGEURL); + printf ("delete_forever"); } else { - /* printf ("", IMAGEURL); */ + /* printf ("flash_off"); */ } - printf (""); + printf ("\n"); /* display button in the 'set catchall' column */ - printf (""); + printf (""); if (bounced==0 && strncmp(pw->pw_name,TmpBuf3,sizeof(TmpBuf3)) == 0) { - printf ("", - IMAGEURL); + printf ("radio_button_checked"); #ifdef CATCHALL_ENABLED } else if (AdminType==DOMAIN_ADMIN) { printh ("", cgiurl("setdefault"), pw->pw_name, Pagenumber); - printf ("", - IMAGEURL); + printf ("radio_button_unchecked"); #endif } else { - printf ("", - IMAGEURL); + printf ("flash_off"); } - printf (""); + printf ("\n"); printf ("\n"); } pw = vauth_getall(dom,0,0); @@ -246,9 +247,8 @@ if (AdminType == DOMAIN_ADMIN) { print_user_index ("showusers", colspan, user, dom, mytime); - printf ("", get_color_text("000")); - printf ("", colspan); - printf (""); + printf ("\n"); + printf ("", colspan); printf ("[ "); bars = 0; #ifdef USER_INDEX @@ -276,8 +276,7 @@ printh ("%s", cgiurl("setremotecatchall"), html_text[206]); #endif printf (" ]"); - printf (""); - printf ("\n"); + printf ("\n\n"); } return 0; } @@ -318,6 +317,7 @@ void addusernow() { + char *tmpstr; int cnt=0, num; char *c_num; char **mailingListNames; @@ -394,6 +394,16 @@ exit(0); } #endif +/* cracklib patch */ +#ifdef CRACKLIB + if ((tmpstr = FascistCheck(Password1, CRACKLIB)) != NULL ) { + sprintf(StatusMessage, "Bad password - %s\n", tmpstr); + adduser(); + vclose(); + exit(0); + } +#endif +/* end cracklib */ #ifndef ENABLE_LEARN_PASSWORDS if ( strlen(Password1) <= 0 ) { @@ -491,7 +501,7 @@ } else { /* otherwise, report error */ - snprinth (StatusMessage, sizeof(StatusMessage), "%s %H@%H (%H) %s", + snprinth (StatusMessage, sizeof(StatusMessage), "%s %H@%H (%H) %s", html_text[2], Newu, Domain, Gecos, html_text[120]); } @@ -673,7 +683,7 @@ /* Get the default catchall box name */ if ((fs=fopen(".qmail-default","r")) == NULL) { - printf ("%s %s\n", + printf ("%s %s\n", html_text[144], ".qmail-default"); vclose(); exit(0); @@ -682,19 +692,19 @@ fclose(fs); if (strstr(TmpBuf, " bounce-no-mailbox\n") != NULL) { - printf ("%s", html_text[130]); + printf ("%s", html_text[130]); } else if (strstr(TmpBuf, " delete\n") != NULL) { - printf ("%s", html_text[236]); + printf ("%s", html_text[236]); } else if ( strstr(TmpBuf, "@") != NULL ) { i=strlen(TmpBuf); for(;TmpBuf[i-1]!=' ';--i); if (strncmp (&TmpBuf[i], "$EXT@", 5) == 0) { /* forward to an entire domain */ - printh ("%s user%H", html_text[62], &TmpBuf[i+4]); + printh ("%s user%H", html_text[62], &TmpBuf[i+4]); } else { - printh ("%s %H", html_text[62], &TmpBuf[i]); + printh ("%s %H", html_text[62], &TmpBuf[i]); } } else { i = strlen(TmpBuf) - 1; @@ -704,7 +714,7 @@ /* take off newline */ i = strlen(TmpBuf2); --i; TmpBuf2[i] = 0;/* take off newline */ - printh ("%s %H", html_text[62], TmpBuf2); + printh ("%s %H", html_text[62], TmpBuf2); } return 0; } @@ -796,6 +806,16 @@ exit(0); } #endif +/* cracklib patch */ +#ifdef CRACKLIB + if ((tmpstr = FascistCheck(Password1, CRACKLIB)) != NULL ) { + sprintf(StatusMessage, "Bad password - %s\n", tmpstr); + moduser(); + vclose(); + exit(0); + } +#endif +/* end cracklib */ ret_code = vpasswd( ActionUser, Domain, Password1, USE_POP); if ( ret_code != VA_SUCCESS ) { snprintf (StatusMessage, sizeof(StatusMessage), "%s (%s)", html_text[140], diff -ruN ../../qmailadmin-1.2.16-original/util.c qmailadmin-1.2.16/util.c --- ../../qmailadmin-1.2.16-original/util.c 2011-02-22 15:45:47.000000000 +0100 +++ qmailadmin-1.2.16/util.c 2020-05-03 12:36:59.000000000 +0200 @@ -123,9 +123,10 @@ void qmail_button(char *modu, char *command, char *user, char *dom, time_t mytime, char *png) { - printf (""); + printf (""); printh ("", cgiurl(command), modu); - printf ("", IMAGEURL, png); +/* printf ("", IMAGEURL, png); */ + printf ("%s", png); printf ("\n"); } @@ -160,10 +161,10 @@ count_autoresponders(); count_mailinglists(); - printf ("%s = %d
    \n", html_text[61], CurPopAccounts); - printf ("%s = %d
    \n", html_text[74], CurForwards); - printf ("%s = %d
    \n", html_text[77], CurAutoResponders); - printf ("%s = %d
    \n", html_text[80], CurMailingLists); + printf ("%s = %d
    \n", html_text[61], CurPopAccounts); + printf ("%s = %d
    \n", html_text[74], CurForwards); + printf ("%s = %d
    \n", html_text[77], CurAutoResponders); + printf ("%s = %d
    \n", html_text[80], CurMailingLists); } /* check_email_addr( char *addr ) @@ -232,7 +233,7 @@ char *extra; { printf ("%s %s\n", get_html_text(msg), extra); - printf ("\n"); + printf ("\n"); vclose(); exit(0); } @@ -399,10 +400,10 @@ #ifdef USER_INDEX int k; - printf ("", get_color_text("000")); - printf ("", colspan); + printf (""); + printf ("", colspan); printf ("
    "); - printf ("%s   ", html_text[133]); + printf ("%s ", html_text[133]); for (k = 0; k < 10; k++) { printh ("%d\n", cgiurl(action), k, k); } @@ -412,17 +413,15 @@ printf (""); printf ("\n"); - printf ("", get_color_text("000")); - printf ("", colspan); - printf (""); + printf ("

    "); + printf ("
    ", colspan); printf ("
    ", CGIPATH, action); printh ("", user); printh ("", dom); printf ("", (unsigned int) mytime); - printh (" ", SearchUser); - printf ("", html_text[204]); + printh (" ", SearchUser); + printf ("", html_text[204]); printf ("
    "); - printf ("
    "); printf ("
    "); printf ("\n");