diff options
Diffstat (limited to 'net/tnftp/files/libnetbsd')
28 files changed, 909 insertions, 155 deletions
diff --git a/net/tnftp/files/libnetbsd/Makefile.in b/net/tnftp/files/libnetbsd/Makefile.in index 5ea81073630..2a46676c8b6 100644 --- a/net/tnftp/files/libnetbsd/Makefile.in +++ b/net/tnftp/files/libnetbsd/Makefile.in @@ -1,37 +1,534 @@ -# $NetBSD: Makefile.in,v 1.4 2007/08/07 02:06:58 lukem Exp $ -# +# Makefile.in generated by automake 1.11.1 from Makefile.am. +# @configure_input@ -srcdir = @srcdir@ -VPATH = @srcdir@ -SHELL = /bin/sh +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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. -CC = @CC@ -CFLAGS = @CFLAGS@ -CPPFLAGS= -I${srcdir} -I${srcdir}/.. -I. -I.. @INCLUDES@ @CPPFLAGS@ +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. -AR = @AR@ -RANLIB = @RANLIB@ +@SET_MAKE@ -LIB = libnetbsd.a +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = libnetbsd +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in dirname.c \ + err.c fgetln.c getaddrinfo.c getnameinfo.c glob.c inet_ntop.c \ + inet_pton.c mkstemp.c setprogname.c sl_init.c snprintf.c \ + strdup.c strerror.c strlcat.c strlcpy.c strptime.c strsep.c \ + strtoll.c strunvis.c strvis.c timegm.c usleep.c utimes.c +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/buildaux/ax_check_openssl.m4 \ + $(top_srcdir)/buildaux/libtool.m4 \ + $(top_srcdir)/buildaux/ltoptions.m4 \ + $(top_srcdir)/buildaux/ltsugar.m4 \ + $(top_srcdir)/buildaux/ltversion.m4 \ + $(top_srcdir)/buildaux/lt~obsolete.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/tnftp_config.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +LTLIBRARIES = $(noinst_LTLIBRARIES) +libnetbsd_la_DEPENDENCIES = $(LTLIBOBJS) +am_libnetbsd_la_OBJECTS = +libnetbsd_la_OBJECTS = $(am_libnetbsd_la_OBJECTS) +AM_V_lt = $(am__v_lt_$(V)) +am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) +am__v_lt_0 = --silent +DEFAULT_INCLUDES = +depcomp = $(SHELL) $(top_srcdir)/buildaux/depcomp +am__depfiles_maybe = depfiles +am__mv = mv -f +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CFLAGS) $(CFLAGS) +AM_V_CC = $(am__v_CC_$(V)) +am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) +am__v_CC_0 = @echo " CC " $@; +AM_V_at = $(am__v_at_$(V)) +am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) +am__v_at_0 = @ +CCLD = $(CC) +LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CCLD = $(am__v_CCLD_$(V)) +am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) +am__v_CCLD_0 = @echo " CCLD " $@; +AM_V_GEN = $(am__v_GEN_$(V)) +am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) +am__v_GEN_0 = @echo " GEN " $@; +SOURCES = $(libnetbsd_la_SOURCES) +DIST_SOURCES = $(libnetbsd_la_SOURCES) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +ALLOCA = @ALLOCA@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = \ + -I$(srcdir) \ + -I$(top_srcdir) \ + -I$(top_builddir) -OBJS = @LIBOBJS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OPENSSL_INCLUDES = @OPENSSL_INCLUDES@ +OPENSSL_LDFLAGS = @OPENSSL_LDFLAGS@ +OPENSSL_LIBS = @OPENSSL_LIBS@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +noinst_LTLIBRARIES = libnetbsd.la +libnetbsd_la_SOURCES = +libnetbsd_la_LIBADD = $(LTLIBOBJS) +EXTRA_DIST = \ + fseeko.c \ + ftpglob.h \ + ftpvis.h +all: all-am -all: ${LIB} +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libnetbsd/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --foreign libnetbsd/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; -${LIB}: ${OBJS} - ${AR} cr $@ ${OBJS} - ${RANLIB} $@ +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -${OBJS}: ${srcdir}/../tnftp.h ../config.h +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +clean-noinstLTLIBRARIES: + -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) + @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ + dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ + test "$$dir" != "$$p" || dir=.; \ + echo "rm -f \"$${dir}/so_locations\""; \ + rm -f "$${dir}/so_locations"; \ + done +libnetbsd.la: $(libnetbsd_la_OBJECTS) $(libnetbsd_la_DEPENDENCIES) + $(AM_V_CCLD)$(LINK) $(libnetbsd_la_OBJECTS) $(libnetbsd_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/dirname.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/err.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/fgetln.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/getaddrinfo.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/getnameinfo.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/glob.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/inet_ntop.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/inet_pton.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/mkstemp.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/setprogname.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/sl_init.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/snprintf.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/strdup.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/strerror.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/strlcat.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/strlcpy.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/strptime.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/strsep.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/strtoll.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/strunvis.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/strvis.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/timegm.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/usleep.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/utimes.Plo@am__quote@ .c.o: - ${CC} ${CFLAGS} ${CPPFLAGS} -c $< +@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 +@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c $< + +.c.obj: +@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 +@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` + +.c.lo: +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +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 + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + set x; \ + here=`pwd`; \ + 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; }; }'`; \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + 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; }; }'`; \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(LTLIBRARIES) +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +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 +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ + mostlyclean-am + +distclean: distclean-am + -rm -rf $(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf $(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: + +.MAKE: install-am install-strip -install: +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libtool clean-noinstLTLIBRARIES ctags distclean \ + distclean-compile distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ + pdf pdf-am ps ps-am tags uninstall uninstall-am -clean: - rm -f ${LIB} ${OBJS} -distclean: clean - rm -f Makefile +# 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. +.NOEXPORT: diff --git a/net/tnftp/files/libnetbsd/dirname.c b/net/tnftp/files/libnetbsd/dirname.c index 5fbc0c3c96e..a0eeaabbedb 100644 --- a/net/tnftp/files/libnetbsd/dirname.c +++ b/net/tnftp/files/libnetbsd/dirname.c @@ -1,4 +1,4 @@ -/* $NetBSD: dirname.c,v 1.2 2008/04/29 05:46:09 martin Exp $ */ +/* $NetBSD: dirname.c,v 1.3 2014/10/31 18:59:32 spz Exp $ */ /* from NetBSD: dirname.c,v 1.7 2002/10/17 11:36:39 tron Exp */ /*- diff --git a/net/tnftp/files/libnetbsd/err.c b/net/tnftp/files/libnetbsd/err.c index 429c6b60f47..ee979a846fc 100644 --- a/net/tnftp/files/libnetbsd/err.c +++ b/net/tnftp/files/libnetbsd/err.c @@ -1,4 +1,4 @@ -/* $NetBSD: err.c,v 1.3 2007/08/07 02:06:58 lukem Exp $ */ +/* $NetBSD: err.c,v 1.4 2014/10/31 18:59:32 spz Exp $ */ /* * Copyright 1997-2000 Luke Mewburn <lukem@NetBSD.org>. diff --git a/net/tnftp/files/libnetbsd/fgetln.c b/net/tnftp/files/libnetbsd/fgetln.c index 1fa6c30b553..442332196e9 100644 --- a/net/tnftp/files/libnetbsd/fgetln.c +++ b/net/tnftp/files/libnetbsd/fgetln.c @@ -1,4 +1,4 @@ -/* $NetBSD: fgetln.c,v 1.3 2007/08/07 02:06:58 lukem Exp $ */ +/* $NetBSD: fgetln.c,v 1.4 2014/10/31 18:59:32 spz Exp $ */ /*- * Copyright (c) 1998 The NetBSD Foundation, Inc. @@ -15,9 +15,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED diff --git a/net/tnftp/files/libnetbsd/fseeko.c b/net/tnftp/files/libnetbsd/fseeko.c index f4390bb2f0d..7c0131e2a03 100644 --- a/net/tnftp/files/libnetbsd/fseeko.c +++ b/net/tnftp/files/libnetbsd/fseeko.c @@ -1,4 +1,4 @@ -/* $NetBSD: fseeko.c,v 1.3 2007/08/07 02:06:59 lukem Exp $ */ +/* $NetBSD: fseeko.c,v 1.4 2014/10/31 18:59:32 spz Exp $ */ /* * Copyright 2002 Luke Mewburn <lukem@NetBSD.org>. diff --git a/net/tnftp/files/libnetbsd/ftpglob.h b/net/tnftp/files/libnetbsd/ftpglob.h index 85e91da0813..83360131073 100644 --- a/net/tnftp/files/libnetbsd/ftpglob.h +++ b/net/tnftp/files/libnetbsd/ftpglob.h @@ -1,5 +1,5 @@ -/* $NetBSD: ftpglob.h,v 1.4 2007/08/07 02:06:59 lukem Exp $ */ -/* from NetBSD: glob.h,v 1.21 2006/03/26 18:11:22 christos Exp */ +/* $NetBSD: ftpglob.h,v 1.5 2014/10/31 18:59:32 spz Exp $ */ +/* from: NetBSD: glob.h,v 1.26 2010/09/06 14:38:56 christos Exp */ /* * Copyright (c) 1989, 1993 @@ -83,9 +83,13 @@ typedef struct { #define GLOB_BRACE 0x0080 /* Expand braces ala csh. */ #define GLOB_MAGCHAR 0x0100 /* Pattern had globbing characters. */ #define GLOB_NOMAGIC 0x0200 /* GLOB_NOCHECK without magic chars (csh). */ -#define GLOB_LIMIT 0x0400 /* Limit memory used by matches to ARG_MAX */ +#define GLOB_LIMIT 0x0400 /* Limit memory used by matches to ARG_MAX */ #define GLOB_TILDE 0x0800 /* Expand tilde names from the passwd file. */ -#define GLOB_QUOTE 0 /* source compatibility */ +/* GLOB_NOESCAPE 0x1000 above */ +#define GLOB_PERIOD 0x2000 /* Allow metachars to match leading periods. */ +#define GLOB_NO_DOTDIRS 0x4000 /* Make . and .. vanish from wildcards. */ +#define GLOB_STAR 0x8000 /* Use glob ** to recurse directories */ +#define GLOB_QUOTE 0 /* source compatibility */ #define GLOB_ABEND GLOB_ABORTED /* source compatibility */ diff --git a/net/tnftp/files/libnetbsd/ftpvis.h b/net/tnftp/files/libnetbsd/ftpvis.h index e4f10274ebb..0164fe08580 100644 --- a/net/tnftp/files/libnetbsd/ftpvis.h +++ b/net/tnftp/files/libnetbsd/ftpvis.h @@ -1,4 +1,4 @@ -/* $NetBSD: ftpvis.h,v 1.4 2007/08/07 02:06:59 lukem Exp $ */ +/* $NetBSD: ftpvis.h,v 1.5 2014/10/31 18:59:32 spz Exp $ */ /* from NetBSD: vis.h,v 1.15 2005/02/03 04:39:32 perry Exp */ /*- diff --git a/net/tnftp/files/libnetbsd/getaddrinfo.c b/net/tnftp/files/libnetbsd/getaddrinfo.c index 736044fad04..55165d6cebe 100644 --- a/net/tnftp/files/libnetbsd/getaddrinfo.c +++ b/net/tnftp/files/libnetbsd/getaddrinfo.c @@ -1,4 +1,4 @@ -/* $NetBSD: getaddrinfo.c,v 1.3 2007/08/07 02:06:59 lukem Exp $ */ +/* $NetBSD: getaddrinfo.c,v 1.4 2014/10/31 18:59:32 spz Exp $ */ /* from ? */ /* diff --git a/net/tnftp/files/libnetbsd/getnameinfo.c b/net/tnftp/files/libnetbsd/getnameinfo.c index 41208c024bf..629322d5b62 100644 --- a/net/tnftp/files/libnetbsd/getnameinfo.c +++ b/net/tnftp/files/libnetbsd/getnameinfo.c @@ -1,4 +1,4 @@ -/* $NetBSD: getnameinfo.c,v 1.4 2007/08/07 02:06:59 lukem Exp $ */ +/* $NetBSD: getnameinfo.c,v 1.5 2014/10/31 18:59:32 spz Exp $ */ /* from ? */ /* diff --git a/net/tnftp/files/libnetbsd/glob.c b/net/tnftp/files/libnetbsd/glob.c index a3df04233c3..c9ba9a87d30 100644 --- a/net/tnftp/files/libnetbsd/glob.c +++ b/net/tnftp/files/libnetbsd/glob.c @@ -1,5 +1,5 @@ -/* $NetBSD: glob.c,v 1.5 2009/02/19 00:51:12 abs Exp $ */ -/* from NetBSD: glob.c,v 1.16 2006/03/26 18:11:22 christos Exp */ +/* $NetBSD: glob.c,v 1.6 2014/10/31 18:59:32 spz Exp $ */ +/* from: NetBSD: glob.c,v 1.34 2013/02/21 18:17:43 christos Exp */ /* * Copyright (c) 1989, 1993 @@ -51,19 +51,58 @@ * expand ~user/foo to the /home/dir/of/user/foo * GLOB_BRACE: * expand {1,2}{a,b} to 1a 1b 2a 2b + * GLOB_PERIOD: + * allow metacharacters to match leading dots in filenames. + * GLOB_NO_DOTDIRS: + * . and .. are hidden from wildcards, even if GLOB_PERIOD is set. * gl_matchc: * Number of matches in the current invocation of glob. */ #include "tnftp.h" -/* At least Ubuntu 8.10 jumps through hoops to *undefine* ARG_MAX */ -#if !defined(ARG_MAX) -# define ARG_MAX sysconf(_SC_ARG_MAX) +#if 0 + +#include <sys/param.h> +#include <sys/stat.h> + +#include <assert.h> +#include <ctype.h> +#include <dirent.h> +#include <errno.h> +#include <pwd.h> +#include <stdio.h> +#include <stddef.h> +#include <stdlib.h> +#include <string.h> +#include <unistd.h> + #endif +#define NO_GETPW_R + +#define GLOB_LIMIT_STRING 65536 /* number of readdirs */ +#define GLOB_LIMIT_STAT 128 /* number of stat system calls */ +#define GLOB_LIMIT_READDIR 16384 /* total buffer size of path strings */ +#define GLOB_LIMIT_PATH 1024 /* number of path elements */ +#define GLOB_LIMIT_BRACE 128 /* Number of brace calls */ + +struct glob_limit { + size_t l_string; + size_t l_stat; + size_t l_readdir; + size_t l_brace; +}; + #undef TILDE /* XXX: AIX 4.1.5 has this in <sys/ioctl.h> */ +/* + * XXX: For NetBSD 1.4.x compatibility. (kill me l8r) + */ +#ifndef _DIAGASSERT +#define _DIAGASSERT(a) +#endif + #define DOLLAR '$' #define DOT '.' #define EOS '\0' @@ -116,31 +155,36 @@ typedef char Char; static int compare(const void *, const void *); static int g_Ctoc(const Char *, char *, size_t); -static int g_lstat(Char *, __gl_stat_t *, glob_t *); +static int g_lstat(Char *, __gl_stat_t *, glob_t *); static DIR *g_opendir(Char *, glob_t *); static Char *g_strchr(const Char *, int); static int g_stat(Char *, __gl_stat_t *, glob_t *); -static int glob0(const Char *, glob_t *); -static int glob1(Char *, glob_t *, size_t *); -static int glob2(Char *, Char *, Char *, Char *, glob_t *, size_t *); -static int glob3(Char *, Char *, Char *, Char *, Char *, glob_t *, - size_t *); -static int globextend(const Char *, glob_t *, size_t *); +static int glob0(const Char *, glob_t *, struct glob_limit *); +static int glob1(Char *, glob_t *, struct glob_limit *); +static int glob2(Char *, Char *, Char *, const Char *, glob_t *, + struct glob_limit *); +static int glob3(Char *, Char *, Char *, const Char *, const Char *, + const Char *, glob_t *, struct glob_limit *); +static int globextend(const Char *, glob_t *, struct glob_limit *); static const Char *globtilde(const Char *, Char *, size_t, glob_t *); -static int globexp1(const Char *, glob_t *); -static int globexp2(const Char *, const Char *, glob_t *, int *); -static int match(Char *, Char *, Char *); +static int globexp1(const Char *, glob_t *, struct glob_limit *); +static int globexp2(const Char *, const Char *, glob_t *, int *, + struct glob_limit *); +static int match(const Char *, const Char *, const Char *); #ifdef DEBUG static void qprintf(const char *, Char *); #endif int -glob(const char *pattern, int flags, int (*errfunc)(const char *, int), - glob_t *pglob) +glob(const char * pattern, int flags, int (*errfunc)(const char *, + int), glob_t * pglob) { const unsigned char *patnext; int c; Char *bufnext, *bufend, patbuf[MAXPATHLEN+1]; + struct glob_limit limit = { 0, 0, 0, 0 }; + + _DIAGASSERT(pattern != NULL); patnext = (const unsigned char *) pattern; if (!(flags & GLOB_APPEND)) { @@ -174,9 +218,9 @@ glob(const char *pattern, int flags, int (*errfunc)(const char *, int), *bufnext = EOS; if (flags & GLOB_BRACE) - return globexp1(patbuf, pglob); + return globexp1(patbuf, pglob, &limit); else - return glob0(patbuf, pglob); + return glob0(patbuf, pglob, &limit); } /* @@ -185,20 +229,29 @@ glob(const char *pattern, int flags, int (*errfunc)(const char *, int), * characters */ static int -globexp1(const Char *pattern, glob_t *pglob) +globexp1(const Char *pattern, glob_t *pglob, struct glob_limit *limit) { const Char* ptr = pattern; int rv; + _DIAGASSERT(pattern != NULL); + _DIAGASSERT(pglob != NULL); + + if ((pglob->gl_flags & GLOB_LIMIT) && + limit->l_brace++ >= GLOB_LIMIT_BRACE) { + errno = 0; + return GLOB_NOSPACE; + } + /* Protect a single {}, for find(1), like csh */ if (pattern[0] == LBRACE && pattern[1] == RBRACE && pattern[2] == EOS) - return glob0(pattern, pglob); + return glob0(pattern, pglob, limit); while ((ptr = (const Char *) g_strchr(ptr, LBRACE)) != NULL) - if (!globexp2(ptr, pattern, pglob, &rv)) + if (!globexp2(ptr, pattern, pglob, &rv, limit)) return rv; - return glob0(pattern, pglob); + return glob0(pattern, pglob, limit); } @@ -208,13 +261,19 @@ globexp1(const Char *pattern, glob_t *pglob) * If it fails then it tries to glob the rest of the pattern and returns. */ static int -globexp2(const Char *ptr, const Char *pattern, glob_t *pglob, int *rv) +globexp2(const Char *ptr, const Char *pattern, glob_t *pglob, int *rv, + struct glob_limit *limit) { int i; Char *lm, *ls; const Char *pe, *pm, *pl; Char patbuf[MAXPATHLEN + 1]; + _DIAGASSERT(ptr != NULL); + _DIAGASSERT(pattern != NULL); + _DIAGASSERT(pglob != NULL); + _DIAGASSERT(rv != NULL); + /* copy part up to the brace */ for (lm = patbuf, pm = pattern; pm != ptr; *lm++ = *pm++) continue; @@ -248,7 +307,7 @@ globexp2(const Char *ptr, const Char *pattern, glob_t *pglob, int *rv) * we use `pattern', not `patbuf' here so that that * unbalanced braces are passed to the match */ - *rv = glob0(pattern, pglob); + *rv = glob0(pattern, pglob, limit); return 0; } @@ -293,9 +352,9 @@ globexp2(const Char *ptr, const Char *pattern, glob_t *pglob, int *rv) /* Expand the current pattern */ #ifdef DEBUG - qprintf("globexp2:", patbuf); + qprintf("globexp2", patbuf); #endif - *rv = globexp1(patbuf, pglob); + *rv = globexp1(patbuf, pglob, limit); /* move after the comma, to the next string */ pl = pm + 1; @@ -324,9 +383,17 @@ globtilde(const Char *pattern, Char *patbuf, size_t patsize, glob_t *pglob) Char *b; char *d; Char *pend = &patbuf[patsize / sizeof(Char)]; +#ifndef NO_GETPW_R + struct passwd pwres; + char pwbuf[1024]; +#endif pend--; + _DIAGASSERT(pattern != NULL); + _DIAGASSERT(patbuf != NULL); + _DIAGASSERT(pglob != NULL); + if (*pattern != TILDE || !(pglob->gl_flags & GLOB_TILDE)) return pattern; @@ -348,7 +415,12 @@ globtilde(const Char *pattern, Char *patbuf, size_t patsize, glob_t *pglob) * first and then trying the password file */ if ((h = getenv("HOME")) == NULL) { +#ifdef NO_GETPW_R if ((pwd = getpwuid(getuid())) == NULL) +#else + if (getpwuid_r(getuid(), &pwres, pwbuf, sizeof(pwbuf), + &pwd) != 0 || pwd == NULL) +#endif return pattern; else h = pwd->pw_dir; @@ -358,7 +430,12 @@ globtilde(const Char *pattern, Char *patbuf, size_t patsize, glob_t *pglob) /* * Expand a ~user */ +#ifdef NO_GETPW_R if ((pwd = getpwnam(d)) == NULL) +#else + if (getpwnam_r(d, &pwres, pwbuf, sizeof(pwbuf), &pwd) != 0 || + pwd == NULL) +#endif return pattern; else h = pwd->pw_dir; @@ -390,13 +467,15 @@ globtilde(const Char *pattern, Char *patbuf, size_t patsize, glob_t *pglob) * to find no matches. */ static int -glob0(const Char *pattern, glob_t *pglob) +glob0(const Char *pattern, glob_t *pglob, struct glob_limit *limit) { const Char *qpatnext; int c, error; __gl_size_t oldpathc; Char *bufnext, patbuf[MAXPATHLEN+1]; - size_t limit = 0; + + _DIAGASSERT(pattern != NULL); + _DIAGASSERT(pglob != NULL); if ((qpatnext = globtilde(pattern, patbuf, sizeof(patbuf), pglob)) == NULL) @@ -440,10 +519,13 @@ glob0(const Char *pattern, glob_t *pglob) break; case STAR: pglob->gl_flags |= GLOB_MAGCHAR; - /* collapse adjacent stars to one, + /* collapse adjacent stars to one [or three if globstar] * to avoid exponential behavior */ - if (bufnext == patbuf || bufnext[-1] != M_ALL) + if (bufnext == patbuf || bufnext[-1] != M_ALL || + ((pglob->gl_flags & GLOB_STAR) != 0 && + (bufnext - 1 == patbuf || bufnext[-2] != M_ALL || + bufnext - 2 == patbuf || bufnext[-3] != M_ALL))) *bufnext++ = M_ALL; break; default: @@ -453,11 +535,11 @@ glob0(const Char *pattern, glob_t *pglob) } *bufnext = EOS; #ifdef DEBUG - qprintf("glob0:", patbuf); + qprintf("glob0", patbuf); #endif - if ((error = glob1(patbuf, pglob, &limit)) != 0) - return(error); + if ((error = glob1(patbuf, pglob, limit)) != 0) + return error; if (pglob->gl_pathc == oldpathc) { /* @@ -470,9 +552,9 @@ glob0(const Char *pattern, glob_t *pglob) if ((pglob->gl_flags & GLOB_NOCHECK) || ((pglob->gl_flags & (GLOB_NOMAGIC|GLOB_MAGCHAR)) == GLOB_NOMAGIC)) { - return globextend(pattern, pglob, &limit); + return globextend(pattern, pglob, limit); } else { - return (GLOB_NOMATCH); + return GLOB_NOMATCH; } } else if (!(pglob->gl_flags & GLOB_NOSORT)) { qsort(pglob->gl_pathv + pglob->gl_offs + oldpathc, @@ -480,32 +562,37 @@ glob0(const Char *pattern, glob_t *pglob) compare); } - return(0); + return 0; } static int compare(const void *p, const void *q) { - return(strcoll(*(const char * const *)p, *(const char * const *)q)); + _DIAGASSERT(p != NULL); + _DIAGASSERT(q != NULL); + + return strcoll(*(const char * const *)p, *(const char * const *)q); } static int -glob1(Char *pattern, glob_t *pglob, size_t *limit) +glob1(Char *pattern, glob_t *pglob, struct glob_limit *limit) { Char pathbuf[MAXPATHLEN+1]; + _DIAGASSERT(pattern != NULL); + _DIAGASSERT(pglob != NULL); + /* A null pathname is invalid -- POSIX 1003.1 sect. 2.4. */ if (*pattern == EOS) - return(0); + return 0; /* * we save one character so that we can use ptr >= limit, * in the general case when we are appending non nul chars only. */ - return(glob2(pathbuf, pathbuf, - pathbuf + (sizeof(pathbuf) / sizeof(*pathbuf)) - 1, - pattern, - pglob, limit)); + return glob2(pathbuf, pathbuf, + pathbuf + (sizeof(pathbuf) / sizeof(*pathbuf)) - 1, pattern, + pglob, limit); } /* @@ -514,13 +601,22 @@ glob1(Char *pattern, glob_t *pglob, size_t *limit) * meta characters. */ static int -glob2(Char *pathbuf, Char *pathend, Char *pathlim, - Char *pattern, glob_t *pglob, size_t *limit) +glob2(Char *pathbuf, Char *pathend, Char *pathlim, const Char *pattern, + glob_t *pglob, struct glob_limit *limit) { __gl_stat_t sb; - Char *p, *q; + const Char *p; + Char *q; int anymeta; + _DIAGASSERT(pathbuf != NULL); + _DIAGASSERT(pathend != NULL); + _DIAGASSERT(pattern != NULL); + _DIAGASSERT(pglob != NULL); + +#ifdef DEBUG + qprintf("glob2", pathbuf); +#endif /* * Loop over pattern segments until end of pattern or until * segment with meta character found. @@ -529,20 +625,27 @@ glob2(Char *pathbuf, Char *pathend, Char *pathlim, if (*pattern == EOS) { /* End of pattern? */ *pathend = EOS; if (g_lstat(pathbuf, &sb, pglob)) - return(0); + return 0; + if ((pglob->gl_flags & GLOB_LIMIT) && + limit->l_stat++ >= GLOB_LIMIT_STAT) { + errno = 0; + *pathend++ = SEP; + *pathend = EOS; + return GLOB_NOSPACE; + } if (((pglob->gl_flags & GLOB_MARK) && pathend[-1] != SEP) && (S_ISDIR(sb.st_mode) || (S_ISLNK(sb.st_mode) && (g_stat(pathbuf, &sb, pglob) == 0) && S_ISDIR(sb.st_mode)))) { if (pathend >= pathlim) - return (GLOB_ABORTED); + return GLOB_ABORTED; *pathend++ = SEP; *pathend = EOS; } ++pglob->gl_matchc; - return(globextend(pathbuf, pglob, limit)); + return globextend(pathbuf, pglob, limit); } /* Find end of next segment, copy tentatively to pathend. */ @@ -556,7 +659,7 @@ glob2(Char *pathbuf, Char *pathend, Char *pathlim, *q++ = *p++; } - if (!anymeta) { /* No expansion, do next segment. */ + if (!anymeta) { pathend = q; pattern = p; while (*pattern == SEP) { @@ -565,20 +668,25 @@ glob2(Char *pathbuf, Char *pathend, Char *pathlim, *pathend++ = *pattern++; } } else /* Need expansion, recurse. */ - return(glob3(pathbuf, pathend, pathlim, pattern, p, - pglob, limit)); + return glob3(pathbuf, pathend, pathlim, pattern, p, + pattern, pglob, limit); } /* NOTREACHED */ } static int -glob3(Char *pathbuf, Char *pathend, Char *pathlim, - Char *pattern, Char *restpattern, glob_t *pglob, size_t *limit) +glob3(Char *pathbuf, Char *pathend, Char *pathlim, const Char *pattern, + const Char *restpattern, const Char *pglobstar, glob_t *pglob, + struct glob_limit *limit) { struct dirent *dp; DIR *dirp; + __gl_stat_t sbuf; int error; char buf[MAXPATHLEN]; + int globstar = 0; + int chase_symlinks = 0; + const Char *termstar = NULL; /* * The readdirfunc declaration can't be prototyped, because it is @@ -588,16 +696,55 @@ glob3(Char *pathbuf, Char *pathend, Char *pathlim, */ struct dirent *(*readdirfunc)(void *); + _DIAGASSERT(pathbuf != NULL); + _DIAGASSERT(pathend != NULL); + _DIAGASSERT(pattern != NULL); + _DIAGASSERT(restpattern != NULL); + _DIAGASSERT(pglob != NULL); + *pathend = EOS; errno = 0; + while (pglobstar < restpattern) { + if ((pglobstar[0] & M_MASK) == M_ALL && + (pglobstar[1] & M_MASK) == M_ALL) { + globstar = 1; + chase_symlinks = (pglobstar[2] & M_MASK) == M_ALL; + termstar = pglobstar + (2 + chase_symlinks); + break; + } + pglobstar++; + } + + if (globstar) { + error = pglobstar == pattern && termstar == restpattern ? + *restpattern == EOS ? + glob2(pathbuf, pathend, pathlim, restpattern - 1, pglob, + limit) : + glob2(pathbuf, pathend, pathlim, restpattern + 1, pglob, + limit) : + glob3(pathbuf, pathend, pathlim, pattern, restpattern, + termstar, pglob, limit); + if (error) + return error; + *pathend = EOS; + } + + if (*pathbuf && (g_lstat(pathbuf, &sbuf, pglob) || + !S_ISDIR(sbuf.st_mode) +#ifdef S_IFLINK + && ((globstar && !chase_symlinks) || !S_ISLNK(sbuf.st_mode)) +#endif + )) + return 0; + if ((dirp = g_opendir(pathbuf, pglob)) == NULL) { if (pglob->gl_errfunc) { if (g_Ctoc(pathbuf, buf, sizeof(buf))) - return (GLOB_ABORTED); + return GLOB_ABORTED; if (pglob->gl_errfunc(buf, errno) || pglob->gl_flags & GLOB_ERR) - return (GLOB_ABORTED); + return GLOB_ABORTED; } /* * Posix/XOpen: glob should return when it encounters a @@ -606,9 +753,9 @@ glob3(Char *pathbuf, Char *pathend, Char *pathlim, * I think that Posix had in mind EPERM... */ if (pglob->gl_flags & GLOB_ERR) - return (GLOB_ABORTED); + return GLOB_ABORTED; - return(0); + return 0; } error = 0; @@ -622,8 +769,29 @@ glob3(Char *pathbuf, Char *pathend, Char *pathlim, unsigned char *sc; Char *dc; - /* Initial DOT must be matched literally. */ - if (dp->d_name[0] == DOT && *pattern != DOT) + if ((pglob->gl_flags & GLOB_LIMIT) && + limit->l_readdir++ >= GLOB_LIMIT_READDIR) { + errno = 0; + *pathend++ = SEP; + *pathend = EOS; + error = GLOB_NOSPACE; + break; + } + + /* + * Initial DOT must be matched literally, unless we have + * GLOB_PERIOD set. + */ + if ((pglob->gl_flags & GLOB_PERIOD) == 0) + if (dp->d_name[0] == DOT && *pattern != DOT) + continue; + /* + * If GLOB_NO_DOTDIRS is set, . and .. vanish. + */ + if ((pglob->gl_flags & GLOB_NO_DOTDIRS) && + (dp->d_name[0] == DOT) && + ((dp->d_name[1] == EOS) || + ((dp->d_name[1] == DOT) && (dp->d_name[2] == EOS)))) continue; /* * The resulting string contains EOS, so we can @@ -652,15 +820,36 @@ glob3(Char *pathbuf, Char *pathend, Char *pathlim, } } - if (!match(pathend, pattern, restpattern)) { + if (globstar) { +#ifdef S_IFLNK + if (!chase_symlinks && + (g_lstat(pathbuf, &sbuf, pglob) || + S_ISLNK(sbuf.st_mode))) + continue; +#endif + + if (!match(pathend, pattern, termstar)) + continue; + + if (--dc < pathlim - 2) + *dc++ = SEP; + *dc = EOS; + error = glob2(pathbuf, dc, pathlim, pglobstar, + pglob, limit); + if (error) + break; *pathend = EOS; - continue; + } else { + if (!match(pathend, pattern, restpattern)) { + *pathend = EOS; + continue; + } + error = glob2(pathbuf, --dc, pathlim, restpattern, + pglob, limit); + if (error) + break; } - error = glob2(pathbuf, --dc, pathlim, restpattern, pglob, limit); - if (error) - break; } - if (pglob->gl_flags & GLOB_ALTDIRFUNC) (*pglob->gl_closedir)(dirp); else @@ -670,14 +859,14 @@ glob3(Char *pathbuf, Char *pathend, Char *pathlim, * Again Posix X/Open issue with regards to error handling. */ if ((error || errno) && (pglob->gl_flags & GLOB_ERR)) - return (GLOB_ABORTED); + return GLOB_ABORTED; - return(error); + return error; } /* - * Extend the gl_pathv member of a glob_t structure to accomodate a new item, + * Extend the gl_pathv member of a glob_t structure to accommodate a new item, * add the new item, and update gl_pathc. * * This assumes the BSD realloc, which only copies the block when its size @@ -691,18 +880,24 @@ glob3(Char *pathbuf, Char *pathend, Char *pathlim, * gl_pathv points to (gl_offs + gl_pathc + 1) items. */ static int -globextend(const Char *path, glob_t *pglob, size_t *limit) +globextend(const Char *path, glob_t *pglob, struct glob_limit *limit) { char **pathv; size_t i, newsize, len; char *copy; const Char *p; + _DIAGASSERT(path != NULL); + _DIAGASSERT(pglob != NULL); + newsize = sizeof(*pathv) * (2 + pglob->gl_pathc + pglob->gl_offs); + if ((pglob->gl_flags & GLOB_LIMIT) && + newsize > GLOB_LIMIT_PATH * sizeof(*pathv)) + goto nospace; pathv = pglob->gl_pathv ? realloc(pglob->gl_pathv, newsize) : malloc(newsize); if (pathv == NULL) - return(GLOB_NOSPACE); + return GLOB_NOSPACE; if (pglob->gl_pathv == NULL && pglob->gl_offs > 0) { /* first time around -- clear initial gl_offs items */ @@ -715,22 +910,24 @@ globextend(const Char *path, glob_t *pglob, size_t *limit) for (p = path; *p++;) continue; len = (size_t)(p - path); - *limit += len; + limit->l_string += len; if ((copy = malloc(len)) != NULL) { if (g_Ctoc(path, copy, len)) { free(copy); - return(GLOB_ABORTED); + return GLOB_ABORTED; } pathv[pglob->gl_offs + pglob->gl_pathc++] = copy; } pathv[pglob->gl_offs + pglob->gl_pathc] = NULL; - if ((pglob->gl_flags & GLOB_LIMIT) && (newsize + *limit) >= ARG_MAX) { - errno = 0; - return(GLOB_NOSPACE); - } + if ((pglob->gl_flags & GLOB_LIMIT) && + (newsize + limit->l_string) >= GLOB_LIMIT_STRING) + goto nospace; - return(copy == NULL ? GLOB_NOSPACE : 0); + return copy == NULL ? GLOB_NOSPACE : 0; +nospace: + errno = 0; + return GLOB_NOSPACE; } @@ -739,30 +936,35 @@ globextend(const Char *path, glob_t *pglob, size_t *limit) * pattern causes a recursion level. */ static int -match(Char *name, Char *pat, Char *patend) +match(const Char *name, const Char *pat, const Char *patend) { int ok, negate_range; Char c, k; + _DIAGASSERT(name != NULL); + _DIAGASSERT(pat != NULL); + _DIAGASSERT(patend != NULL); + while (pat < patend) { c = *pat++; switch (c & M_MASK) { case M_ALL: + while (pat < patend && (*pat & M_MASK) == M_ALL) + pat++; /* eat consecutive '*' */ if (pat == patend) - return(1); - do - if (match(name, pat, patend)) - return(1); - while (*name++ != EOS); - return(0); + return 1; + for (; !match(name, pat, patend); name++) + if (*name == EOS) + return 0; + return 1; case M_ONE: if (*name++ == EOS) - return(0); + return 0; break; case M_SET: ok = 0; if ((k = *name++) == EOS) - return(0); + return 0; if ((negate_range = ((*pat & M_MASK) == M_NOT)) != EOS) ++pat; while (((c = *pat++) & M_MASK) != M_END) @@ -773,15 +975,15 @@ match(Char *name, Char *pat, Char *patend) } else if (c == k) ok = 1; if (ok == negate_range) - return(0); + return 0; break; default: if (*name++ != c) - return(0); + return 0; break; } } - return(*name == EOS); + return *name == EOS; } /* Free allocated data belonging to a glob_t structure. */ @@ -791,6 +993,8 @@ globfree(glob_t *pglob) size_t i; char **pp; + _DIAGASSERT(pglob != NULL); + if (pglob->gl_pathv != NULL) { pp = pglob->gl_pathv + pglob->gl_offs; for (i = pglob->gl_pathc; i--; ++pp) @@ -802,11 +1006,47 @@ globfree(glob_t *pglob) } } +#ifndef __LIBC12_SOURCE__ +int +glob_pattern_p(const char *pattern, int quote) +{ + int range = 0; + + for (; *pattern; pattern++) + switch (*pattern) { + case QUESTION: + case STAR: + return 1; + + case QUOTE: + if (quote && pattern[1] != EOS) + ++pattern; + break; + + case LBRACKET: + range = 1; + break; + + case RBRACKET: + if (range) + return 1; + break; + default: + break; + } + + return 0; +} +#endif + static DIR * g_opendir(Char *str, glob_t *pglob) { char buf[MAXPATHLEN]; + _DIAGASSERT(str != NULL); + _DIAGASSERT(pglob != NULL); + if (!*str) (void)strlcpy(buf, ".", sizeof(buf)); else { @@ -815,9 +1055,9 @@ g_opendir(Char *str, glob_t *pglob) } if (pglob->gl_flags & GLOB_ALTDIRFUNC) - return((*pglob->gl_opendir)(buf)); + return (*pglob->gl_opendir)(buf); - return(opendir(buf)); + return opendir(buf); } static int @@ -825,11 +1065,15 @@ g_lstat(Char *fn, __gl_stat_t *sb, glob_t *pglob) { char buf[MAXPATHLEN]; + _DIAGASSERT(fn != NULL); + _DIAGASSERT(sb != NULL); + _DIAGASSERT(pglob != NULL); + if (g_Ctoc(fn, buf, sizeof(buf))) return -1; if (pglob->gl_flags & GLOB_ALTDIRFUNC) - return((*pglob->gl_lstat)(buf, sb)); - return(lstat(buf, sb)); + return (*pglob->gl_lstat)(buf, sb); + return lstat(buf, sb); } static int @@ -837,22 +1081,28 @@ g_stat(Char *fn, __gl_stat_t *sb, glob_t *pglob) { char buf[MAXPATHLEN]; + _DIAGASSERT(fn != NULL); + _DIAGASSERT(sb != NULL); + _DIAGASSERT(pglob != NULL); + if (g_Ctoc(fn, buf, sizeof(buf))) return -1; if (pglob->gl_flags & GLOB_ALTDIRFUNC) - return((*pglob->gl_stat)(buf, sb)); - return(stat(buf, sb)); + return (*pglob->gl_stat)(buf, sb); + return stat(buf, sb); } static Char * g_strchr(const Char *str, int ch) { + + _DIAGASSERT(str != NULL); + do { if (*str == ch) - /* LINTED this is libc's definition! */ - return (Char *)str; + return __UNCONST(str); } while (*str++); - return (NULL); + return NULL; } static int @@ -860,6 +1110,9 @@ g_Ctoc(const Char *str, char *buf, size_t len) { char *dc; + _DIAGASSERT(str != NULL); + _DIAGASSERT(buf != NULL); + if (len == 0) return 1; @@ -875,6 +1128,9 @@ qprintf(const char *str, Char *s) { Char *p; + _DIAGASSERT(str != NULL); + _DIAGASSERT(s != NULL); + (void)printf("%s:\n", str); for (p = s; *p; p++) (void)printf("%c", CHAR(*p)); diff --git a/net/tnftp/files/libnetbsd/inet_ntop.c b/net/tnftp/files/libnetbsd/inet_ntop.c index 3c22f1a2faf..afcdec5c569 100644 --- a/net/tnftp/files/libnetbsd/inet_ntop.c +++ b/net/tnftp/files/libnetbsd/inet_ntop.c @@ -1,4 +1,4 @@ -/* $NetBSD: inet_ntop.c,v 1.4 2007/08/07 02:06:59 lukem Exp $ */ +/* $NetBSD: inet_ntop.c,v 1.5 2014/10/31 18:59:32 spz Exp $ */ /* from NetBSD: inet_ntop.c,v 1.3 2006/05/10 21:53:15 mrg Exp */ /* diff --git a/net/tnftp/files/libnetbsd/inet_pton.c b/net/tnftp/files/libnetbsd/inet_pton.c index 16a9f90c666..975b1b7aa28 100644 --- a/net/tnftp/files/libnetbsd/inet_pton.c +++ b/net/tnftp/files/libnetbsd/inet_pton.c @@ -1,4 +1,4 @@ -/* $NetBSD: inet_pton.c,v 1.4 2007/08/07 02:06:59 lukem Exp $ */ +/* $NetBSD: inet_pton.c,v 1.5 2014/10/31 18:59:32 spz Exp $ */ /* from NetBSD: inet_pton.c,v 1.3 2006/09/26 05:59:18 lukem Exp */ /* diff --git a/net/tnftp/files/libnetbsd/mkstemp.c b/net/tnftp/files/libnetbsd/mkstemp.c index 043d3a939a3..429f211f401 100644 --- a/net/tnftp/files/libnetbsd/mkstemp.c +++ b/net/tnftp/files/libnetbsd/mkstemp.c @@ -1,4 +1,4 @@ -/* $NetBSD: mkstemp.c,v 1.4 2007/08/07 02:06:59 lukem Exp $ */ +/* $NetBSD: mkstemp.c,v 1.5 2014/10/31 18:59:32 spz Exp $ */ /* from NetBSD: gettemp.c,v 1.13 2003/12/05 00:57:36 uebayasi Exp */ /* diff --git a/net/tnftp/files/libnetbsd/setprogname.c b/net/tnftp/files/libnetbsd/setprogname.c index 65d9771373b..36fe0cd96d3 100644 --- a/net/tnftp/files/libnetbsd/setprogname.c +++ b/net/tnftp/files/libnetbsd/setprogname.c @@ -1,4 +1,4 @@ -/* $NetBSD: setprogname.c,v 1.4 2008/04/29 05:46:09 martin Exp $ */ +/* $NetBSD: setprogname.c,v 1.5 2014/10/31 18:59:32 spz Exp $ */ /* from NetBSD: setprogname.c,v 1.3 2002/01/31 19:21:58 tv Exp */ /*- diff --git a/net/tnftp/files/libnetbsd/sl_init.c b/net/tnftp/files/libnetbsd/sl_init.c index cd24c2f6207..09c2b2f49ea 100644 --- a/net/tnftp/files/libnetbsd/sl_init.c +++ b/net/tnftp/files/libnetbsd/sl_init.c @@ -1,4 +1,4 @@ -/* $NetBSD: sl_init.c,v 1.5 2008/04/29 05:46:09 martin Exp $ */ +/* $NetBSD: sl_init.c,v 1.6 2014/10/31 18:59:32 spz Exp $ */ /* from NetBSD: stringlist.c,v 1.10 2000/01/25 16:24:40 enami Exp */ /*- diff --git a/net/tnftp/files/libnetbsd/snprintf.c b/net/tnftp/files/libnetbsd/snprintf.c index 476f81215bb..656be7634d8 100644 --- a/net/tnftp/files/libnetbsd/snprintf.c +++ b/net/tnftp/files/libnetbsd/snprintf.c @@ -1,4 +1,4 @@ -/* $NetBSD: snprintf.c,v 1.3 2007/08/07 02:07:00 lukem Exp $ */ +/* $NetBSD: snprintf.c,v 1.4 2014/10/31 18:59:32 spz Exp $ */ /* * Copyright Patrick Powell 1995 diff --git a/net/tnftp/files/libnetbsd/strdup.c b/net/tnftp/files/libnetbsd/strdup.c index bb1b73feb12..0deb1eb7227 100644 --- a/net/tnftp/files/libnetbsd/strdup.c +++ b/net/tnftp/files/libnetbsd/strdup.c @@ -1,4 +1,4 @@ -/* $NetBSD: strdup.c,v 1.4 2007/08/07 02:07:00 lukem Exp $ */ +/* $NetBSD: strdup.c,v 1.5 2014/10/31 18:59:32 spz Exp $ */ /* from NetBSD: strdup.c,v 1.13 2003/08/07 16:43:50 agc Exp */ /* diff --git a/net/tnftp/files/libnetbsd/strerror.c b/net/tnftp/files/libnetbsd/strerror.c index 584abaf06ca..5c7c253286e 100644 --- a/net/tnftp/files/libnetbsd/strerror.c +++ b/net/tnftp/files/libnetbsd/strerror.c @@ -1,4 +1,4 @@ -/* $NetBSD: strerror.c,v 1.3 2007/08/07 02:07:00 lukem Exp $ */ +/* $NetBSD: strerror.c,v 1.4 2014/10/31 18:59:32 spz Exp $ */ #include "tnftp.h" diff --git a/net/tnftp/files/libnetbsd/strlcat.c b/net/tnftp/files/libnetbsd/strlcat.c index 6847412a971..4697639ad5c 100644 --- a/net/tnftp/files/libnetbsd/strlcat.c +++ b/net/tnftp/files/libnetbsd/strlcat.c @@ -1,4 +1,4 @@ -/* $NetBSD: strlcat.c,v 1.4 2007/08/07 02:07:00 lukem Exp $ */ +/* $NetBSD: strlcat.c,v 1.5 2014/10/31 18:59:32 spz Exp $ */ /* from NetBSD: strlcat.c,v 1.16 2003/10/27 00:12:42 lukem Exp */ /* from OpenBSD: strlcat.c,v 1.10 2003/04/12 21:56:39 millert Exp */ diff --git a/net/tnftp/files/libnetbsd/strlcpy.c b/net/tnftp/files/libnetbsd/strlcpy.c index 1cfd33ed5b0..abb4dbc38ab 100644 --- a/net/tnftp/files/libnetbsd/strlcpy.c +++ b/net/tnftp/files/libnetbsd/strlcpy.c @@ -1,4 +1,4 @@ -/* $NetBSD: strlcpy.c,v 1.4 2007/08/07 02:07:00 lukem Exp $ */ +/* $NetBSD: strlcpy.c,v 1.5 2014/10/31 18:59:32 spz Exp $ */ /* from NetBSD: strlcpy.c,v 1.14 2003/10/27 00:12:42 lukem Exp */ /* from OpenBSD: strlcpy.c,v 1.7 2003/04/12 21:56:39 millert Exp */ diff --git a/net/tnftp/files/libnetbsd/strptime.c b/net/tnftp/files/libnetbsd/strptime.c index 4b2a6e1e3c0..ec34b45ce72 100644 --- a/net/tnftp/files/libnetbsd/strptime.c +++ b/net/tnftp/files/libnetbsd/strptime.c @@ -1,4 +1,4 @@ -/* $NetBSD: strptime.c,v 1.4 2008/04/29 05:46:09 martin Exp $ */ +/* $NetBSD: strptime.c,v 1.5 2014/10/31 18:59:32 spz Exp $ */ /* from NetBSD: strptime.c,v 1.18 1999/04/29 02:58:30 tv Exp */ /*- diff --git a/net/tnftp/files/libnetbsd/strsep.c b/net/tnftp/files/libnetbsd/strsep.c index f7c433e9085..cfabf571bcc 100644 --- a/net/tnftp/files/libnetbsd/strsep.c +++ b/net/tnftp/files/libnetbsd/strsep.c @@ -1,4 +1,4 @@ -/* $NetBSD: strsep.c,v 1.4 2007/08/07 02:07:01 lukem Exp $ */ +/* $NetBSD: strsep.c,v 1.5 2014/10/31 18:59:32 spz Exp $ */ /* from NetBSD: strsep.c,v 1.14 2003/08/07 16:43:52 agc Exp */ /*- diff --git a/net/tnftp/files/libnetbsd/strtoll.c b/net/tnftp/files/libnetbsd/strtoll.c index 923b7cdb123..d61950c7621 100644 --- a/net/tnftp/files/libnetbsd/strtoll.c +++ b/net/tnftp/files/libnetbsd/strtoll.c @@ -1,4 +1,4 @@ -/* $NetBSD: strtoll.c,v 1.4 2007/08/07 02:07:01 lukem Exp $ */ +/* $NetBSD: strtoll.c,v 1.5 2014/10/31 18:59:32 spz Exp $ */ /* from NetBSD: strtoll.c,v 1.6 2003/10/27 00:12:42 lukem Exp */ /*- diff --git a/net/tnftp/files/libnetbsd/strunvis.c b/net/tnftp/files/libnetbsd/strunvis.c index ecb2d05e0f4..153fb039be8 100644 --- a/net/tnftp/files/libnetbsd/strunvis.c +++ b/net/tnftp/files/libnetbsd/strunvis.c @@ -1,4 +1,4 @@ -/* $NetBSD: strunvis.c,v 1.4 2007/08/07 02:07:01 lukem Exp $ */ +/* $NetBSD: strunvis.c,v 1.5 2014/10/31 18:59:32 spz Exp $ */ /* from NetBSD: unvis.c,v 1.27 2005/05/16 11:42:04 lukem Exp */ /*- diff --git a/net/tnftp/files/libnetbsd/strvis.c b/net/tnftp/files/libnetbsd/strvis.c index cd5bf6c0b8e..6b9b6b3486e 100644 --- a/net/tnftp/files/libnetbsd/strvis.c +++ b/net/tnftp/files/libnetbsd/strvis.c @@ -1,4 +1,4 @@ -/* $NetBSD: strvis.c,v 1.5 2008/04/29 05:46:09 martin Exp $ */ +/* $NetBSD: strvis.c,v 1.6 2014/10/31 18:59:32 spz Exp $ */ /* from NetBSD: vis.c,v 1.33 2005/05/28 13:11:14 lukem Exp */ /*- diff --git a/net/tnftp/files/libnetbsd/timegm.c b/net/tnftp/files/libnetbsd/timegm.c index d625b84622f..efbb8a78f65 100644 --- a/net/tnftp/files/libnetbsd/timegm.c +++ b/net/tnftp/files/libnetbsd/timegm.c @@ -1,4 +1,4 @@ -/* $NetBSD: timegm.c,v 1.3 2007/08/07 02:07:01 lukem Exp $ */ +/* $NetBSD: timegm.c,v 1.4 2014/10/31 18:59:32 spz Exp $ */ /* from ? */ #include "tnftp.h" diff --git a/net/tnftp/files/libnetbsd/usleep.c b/net/tnftp/files/libnetbsd/usleep.c index 1c883ea920d..ed7a533588e 100644 --- a/net/tnftp/files/libnetbsd/usleep.c +++ b/net/tnftp/files/libnetbsd/usleep.c @@ -1,4 +1,4 @@ -/* $NetBSD: usleep.c,v 1.6 2008/04/29 05:46:09 martin Exp $ */ +/* $NetBSD: usleep.c,v 1.7 2014/10/31 18:59:32 spz Exp $ */ /*- * Copyright (c) 1999,2000,2005 The NetBSD Foundation, Inc. diff --git a/net/tnftp/files/libnetbsd/utimes.c b/net/tnftp/files/libnetbsd/utimes.c index 1a46cc604b3..7e827e0b1fb 100644 --- a/net/tnftp/files/libnetbsd/utimes.c +++ b/net/tnftp/files/libnetbsd/utimes.c @@ -1,4 +1,4 @@ -/* $NetBSD: utimes.c,v 1.5 2008/04/29 05:46:09 martin Exp $ */ +/* $NetBSD: utimes.c,v 1.6 2014/10/31 18:59:32 spz Exp $ */ /*- * Copyright (c) 2004 The NetBSD Foundation, Inc. |