contrib: remove notmuch deliver
authorDavid Bremner <david@tethera.net>
Wed, 14 Jan 2015 14:25:30 +0000 (15:25 +0100)
committerDavid Bremner <david@tethera.net>
Wed, 14 Jan 2015 14:25:30 +0000 (15:25 +0100)
contrib/notmuch-deliver is presumed obsoleted by notmuch-insert.

36 files changed:
NEWS
contrib/notmuch-deliver/.gitignore [deleted file]
contrib/notmuch-deliver/.mailmap [deleted file]
contrib/notmuch-deliver/Makefile.am [deleted file]
contrib/notmuch-deliver/README.mkd [deleted file]
contrib/notmuch-deliver/autogen.sh [deleted file]
contrib/notmuch-deliver/configure.ac [deleted file]
contrib/notmuch-deliver/m4/ax_check_compiler_flags.m4 [deleted file]
contrib/notmuch-deliver/maildrop/maildir/Makefile.am [deleted file]
contrib/notmuch-deliver/maildrop/maildir/configure.in [deleted file]
contrib/notmuch-deliver/maildrop/maildir/maildircreate.c [deleted file]
contrib/notmuch-deliver/maildrop/maildir/maildircreate.h [deleted file]
contrib/notmuch-deliver/maildrop/maildir/maildirmisc.h [deleted file]
contrib/notmuch-deliver/maildrop/maildir/maildirmkdir.c [deleted file]
contrib/notmuch-deliver/maildrop/maildir/maildiropen.c [deleted file]
contrib/notmuch-deliver/maildrop/numlib/Makefile.am [deleted file]
contrib/notmuch-deliver/maildrop/numlib/atotimet.c [deleted file]
contrib/notmuch-deliver/maildrop/numlib/atouidt.c [deleted file]
contrib/notmuch-deliver/maildrop/numlib/changeuidgid.c [deleted file]
contrib/notmuch-deliver/maildrop/numlib/configure.in [deleted file]
contrib/notmuch-deliver/maildrop/numlib/numlib.h [deleted file]
contrib/notmuch-deliver/maildrop/numlib/strdevt.c [deleted file]
contrib/notmuch-deliver/maildrop/numlib/strgidt.c [deleted file]
contrib/notmuch-deliver/maildrop/numlib/strhdevt.c [deleted file]
contrib/notmuch-deliver/maildrop/numlib/strhinot.c [deleted file]
contrib/notmuch-deliver/maildrop/numlib/strhpidt.c [deleted file]
contrib/notmuch-deliver/maildrop/numlib/strhtimet.c [deleted file]
contrib/notmuch-deliver/maildrop/numlib/strinot.c [deleted file]
contrib/notmuch-deliver/maildrop/numlib/strofft.c [deleted file]
contrib/notmuch-deliver/maildrop/numlib/strpidt.c [deleted file]
contrib/notmuch-deliver/maildrop/numlib/strsize.c [deleted file]
contrib/notmuch-deliver/maildrop/numlib/strsizet.c [deleted file]
contrib/notmuch-deliver/maildrop/numlib/strtimet.c [deleted file]
contrib/notmuch-deliver/maildrop/numlib/struidt.c [deleted file]
contrib/notmuch-deliver/src/Makefile.am [deleted file]
contrib/notmuch-deliver/src/main.c [deleted file]

diff --git a/NEWS b/NEWS
index 44e8d0543f9d0b4f48168849c4cc85350f144b2e..abb5ad7aae955d539afd35d026740b83d812e501 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,12 @@
+Notmuch 0.20 (UNRELEASED)
+
+Contrib
+-------
+
+`notmuch-deliver` is removed. As far as we know, all functionality
+previously provided by `notmuch-deliver` should now be provided by
+`notmuch insert`, provided by the main notmuch binary.
+
 Notmuch 0.19 (2014-11-14)
 =========================
 
diff --git a/contrib/notmuch-deliver/.gitignore b/contrib/notmuch-deliver/.gitignore
deleted file mode 100644 (file)
index 6971ef2..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-# gitignore for notmuch-deliver
-.*.swp
-*~
-*.[oa]
-*.py[co]
-
-tags
-
-*.lo
-*.la
-
-.deps
-.libs
-Makefile.in
-Makefile
-
-gmon.out
-gprof*
-
-/INSTALL
-/aclocal.m4
-/autom4te.cache
-/config.guess
-/config.h
-/config.h.in
-/config.log
-/config.sub
-/config.status
-/configure
-/compile
-/depcomp
-/install-sh
-/missing
-/stamp-h1
-/libtool
-/ltmain.sh
-
-m4/libtool.m4
-m4/lt*.m4
-
-maildrop/numlib/config.h
-src/notmuch-deliver
diff --git a/contrib/notmuch-deliver/.mailmap b/contrib/notmuch-deliver/.mailmap
deleted file mode 100644 (file)
index 95f1131..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Ali Polatel <alip@exherbo.org> <alip@penguen.ev>
diff --git a/contrib/notmuch-deliver/Makefile.am b/contrib/notmuch-deliver/Makefile.am
deleted file mode 100644 (file)
index 365558a..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-CLEANFILES= *~
-MAINTAINERCLEANFILES= Makefile.in configure aclocal.m4 \
-                     config.h config.h.in INSTALL
-ACLOCAL_AMFLAGS= -I m4
-AUTOMAKE_OPTIONS= dist-bzip2 no-dist-gzip std-options foreign
-SUBDIRS= maildrop/numlib src .
-
-doc_DATA= README.mkd
diff --git a/contrib/notmuch-deliver/README.mkd b/contrib/notmuch-deliver/README.mkd
deleted file mode 100644 (file)
index 06268bd..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-## About
-`notmuch-deliver` is a [maildir](http://cr.yp.to/proto/maildir.html) delivery
-tool.
-
-## Overview
-`notmuch-deliver` is a [maildir](http://cr.yp.to/proto/maildir.html) delivery
-tool for [notmuch](http://notmuchmail.org) mail indexer. It reads from standard
-input, delivers the mail to the specified maildir and adds it to the notmuch
-database. This is meant as a convenient alternative to running `notmuch new`
-after mail delivery.
-
-## Usage
-Here's a simple example for [maildrop](http://www.courier-mta.org/maildrop/):
-
-    # Deliver local mail to $MAILDIR/.Local and add local tag.
-    if (/^From: root/:h)
-    {
-      to "|notmuch-deliver -f -t local Local"
-    }
-
-    # Deliver lkml mail to $MAILDIR/.Lkml, add lkml tag and remove inbox tag.
-    if (/^List-Id: linux-kernel@vger.kernel.org/:h)
-    {
-      to "|notmuch-deliver -f -t lkml -r inbox Lkml"
-    }
-
-    # Deliver the rest to $MAILDIR, adding personal tag
-    to "|notmuch-deliver -t personal"
-
-## Requirements
-- [notmuch](http://notmuchmail.org) shared library
-- [GLib](http://library.gnome.org/devel/glib/)-2.16 or newer
-
-## Contribute
-Clone [git://github.com/alip/notmuch-deliver.git](git://github.com/alip/notmuch-deliver.git).  
-Format patches are preferred. Either send a mail to me or poke me on IRC.  
-My personal e-mail address is [alip@exherbo.org](mailto:alip@exherbo.org).  
-I'm available on IRC as `alip` on [Freenode](http://freenode.net) and [OFTC](http://www.oftc.net).
-
-## License
-You may redistribute this under the same terms as notmuch itself.
-
-<!-- vim: set ft=mkd spell spelllang=en sw=4 sts=4 et : -->
diff --git a/contrib/notmuch-deliver/autogen.sh b/contrib/notmuch-deliver/autogen.sh
deleted file mode 100755 (executable)
index 2c660bc..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/bin/sh
-# vim: set sw=4 et sts=4 tw=80 :
-
-die() {
-    echo "$@" >&2
-    exit 1
-}
-
-echo ">>> libtoolize --copy --force --automake"
-libtoolize --copy --force --automake || die "libtoolize failed"
-echo ">>> rm -f config.cache"
-rm -f config.cache
-echo ">>> aclocal -I m4"
-aclocal -I m4 || die "aclocal failed"
-echo ">>> autoheader"
-autoheader || die "autoheader failed"
-echo ">>> autoconf"
-autoconf || die "autoconf failed"
-echo ">>> automake --foreign --add-missing --copy"
-automake --foreign --add-missing --copy || die "automake failed"
diff --git a/contrib/notmuch-deliver/configure.ac b/contrib/notmuch-deliver/configure.ac
deleted file mode 100644 (file)
index 4deb658..0000000
+++ /dev/null
@@ -1,156 +0,0 @@
-dnl vim: set sw=4 sts=4 ts=4 noet ft=config foldmethod=marker foldmarker={{{,}}} :
-
-dnl {{{ Program, version
-AC_PREREQ(2.59)
-AC_INIT([src/main.c])
-AC_CANONICAL_SYSTEM
-
-VERSION_MAJOR=0
-VERSION_MINOR=1
-VERSION_FULL="$VERSION_MAJOR.$VERSION_MINOR"
-VERSION="$VERSION_FULL"
-
-AC_SUBST([VERSION_MAJOR])
-AC_SUBST([VERSION_MINOR])
-AC_SUBST([VERSION_FULL])
-
-AM_INIT_AUTOMAKE(notmuch-deliver, [$VERSION_FULL])
-m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
-
-dnl {{{ Git revision
-AC_MSG_CHECKING([for git head])
-if test -d "${GIT_DIR:-${ac_top_srcdir:-./}/.git}" ; then
-       GITHEAD=`git describe 2>/dev/null`
-       if test -z ${GITHEAD} ; then
-               GITHEAD=`git rev-parse HEAD`
-       fi
-       if test -n "`git diff-index -m --name-only HEAD`" ; then
-               GITHEAD=${GITHEAD}-dirty
-       fi
-       if test -n "${GITHEAD}" ; then
-               GITHEAD="-${GITHEAD}"
-       fi
-fi
-AC_MSG_RESULT([$GITHEAD])
-AC_SUBST([GITHEAD])
-dnl }}}
-dnl }}}
-
-dnl {{{ Toolchain checks
-AC_USE_SYSTEM_EXTENSIONS
-AC_PROG_CC
-AC_PROG_CC_C99
-if test x"$ac_cv_prog_cc_c99" = x"no"; then
-       AC_MSG_ERROR([notmuch-deliver requires a C compiler that supports ISO C99!])
-fi
-AC_PROG_LIBTOOL
-AC_PROG_LN_S
-AC_PROG_INSTALL
-AC_PROG_MAKE_SET
-dnl }}}
-
-dnl {{{ Check for headers
-AC_HEADER_DIRENT
-AC_HEADER_STDC
-AC_HEADER_TIME
-AC_HEADER_SYS_WAIT
-AC_CHECK_HEADERS([sys/stat.h unistd.h sysexits.h utime.h])
-dnl }}}
-
-dnl {{{ Check for typedefs, structures and compiler characteristics
-AC_C_CONST
-AC_TYPE_OFF_T
-AC_TYPE_SIZE_T
-AC_TYPE_UID_T
-AC_TYPE_PID_T
-AC_STRUCT_TM
-dnl }}}
-
-dnl {{{ Check for library functions
-AC_CHECK_FUNCS([setgroups initgroups symlink readlink strcasecmp utime utimes splice])
-dnl }}}
-
-dnl {{{ gethostname()
-AC_CACHE_CHECK([for missing gethostname prototype],
-                          maildir_cv_SYS_GETHOSTNAME,
-                          AC_TRY_COMPILE([
-#ifdef HAVE_UNISTD_H
-#include       <unistd.h>
-#endif
-
-int gethostname(int,int);
-],,[maildir_cv_SYS_GETHOSTNAME=yes], [maildir_cv_SYS_GETHOSTNAME=no]))
-
-if test x"$maildir_cv_SYS_GETHOSTNAME" = x"no" ; then
-       AC_DEFINE_UNQUOTED(HAS_GETHOSTNAME, 1, [Whether gethostname() is prototyped])
-fi
-dnl }}}
-
-dnl {{{ Check for maildir target separator
-if test "$target_os" = "cygwin" ; then
-       AC_DEFINE_UNQUOTED(MDIRSEP, "!", [Maildir target separator])
-else
-       AC_DEFINE_UNQUOTED(MDIRSEP, ":", [Maildir target separator])
-fi
-dnl }}}
-
-dnl {{{ Make pkg-config work
-PKG_PROG_PKG_CONFIG([0.9.0])
-dnl }}}
-
-dnl {{{ Check for libraries
-GLIB_REQUIRED=2.16
-
-PKG_CHECK_MODULES([glib], [glib-2.0 >= $GLIB_REQUIRED],,
-                                 [AC_MSG_ERROR([notmuch-deliver requires glib-$GLIB_REQUIRED or newer])])
-AC_CHECK_LIB(notmuch, notmuch_database_create,,
-                        [AC_MSG_ERROR([notmuch-deliver requires notmuch mail indexing library])])
-dnl }}}
-
-dnl {{{ Extra CFLAGS
-NOTMUCH_DELIVER_CFLAGS=
-WANTED_CFLAGS="-Wall -W -Wextra -Wvla -Wformat=2 -Wformat-security -Wformat-nonliteral -Winit-self -Wfloat-equal -Wno-deprecated-declarations -Wmissing-declarations -Wmissing-noreturn -Wmissing-prototypes -Wredundant-decls  -Wshadow -Wpointer-arith -Wstrict-prototypes -Wcast-qual -Wwrite-strings -pedantic"
-for flag in $WANTED_CFLAGS ; do
-       AX_CHECK_COMPILER_FLAGS([$flag], [NOTMUCH_DELIVER_CFLAGS="$NOTMUCH_DELIVER_CFLAGS $flag"],)
-done
-dnl }}}
-
-dnl {{{ Profiling
-AC_MSG_CHECKING([whether gprof symbols are wanted])
-AC_ARG_ENABLE([gprof],
-                         [AS_HELP_STRING([--enable-gprof],
-                                                         [Add gprof symbols (-pg) (for debugging)])],
-                         PROFILE="$enableval",
-                         PROFILE="no")
-AC_MSG_RESULT([$PROFILE])
-if test x"$PROFILE" = x"yes" ; then
-       AX_CHECK_COMPILER_FLAGS([-pg],, AC_MSG_ERROR([Your compiler doesn't support -pg flag]))
-       NOTMUCH_DELIVER_CFLAGS="$NOTMUCH_DELIVER_CFLAGS -pg"
-       LDFLAGS="$LDFLAGS -pg"
-fi
-AC_MSG_CHECKING([whether coverage testing should be enabled])
-AC_ARG_ENABLE([gcov],
-                         [AS_HELP_STRING([--enable-gcov],
-                                                         [add gcov support (for debugging)])],
-                         COVERAGE="$enableval",
-                         COVERAGE="no")
-AC_MSG_RESULT([$COVERAGE])
-if test x"$COVERAGE" = x"yes" ; then
-       AX_CHECK_COMPILER_FLAGS([-fprofile-arcs],,
-                                                       AC_MSG_ERROR([Your compiler doesn't support -fprofile-arcs flag]))
-       AX_CHECK_COMPILER_FLAGS([-ftest-coverage],,
-                                                       AC_MSG_ERROR([Your compiler doesn't support -ftest-coverage flag]))
-       NOTMUCH_DELIVER_CFLAGS="$NOTMUCH_DELIVER_CFLAGS -fprofile-arcs -ftest-coverage"
-fi
-AC_SUBST([NOTMUCH_DELIVER_CFLAGS])
-dnl }}}
-
-dnl {{{ Output
-AC_CONFIG_HEADERS([config.h])
-AC_CONFIG_LINKS([maildrop/numlib/config.h:config.h])
-AC_OUTPUT(
-                 Makefile
-                 maildrop/numlib/Makefile
-                 src/Makefile
-                 )
-dnl }}}
diff --git a/contrib/notmuch-deliver/m4/ax_check_compiler_flags.m4 b/contrib/notmuch-deliver/m4/ax_check_compiler_flags.m4
deleted file mode 100644 (file)
index 7da8324..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-# ===========================================================================
-#     http://www.nongnu.org/autoconf-archive/ax_check_compiler_flags.html
-# ===========================================================================
-#
-# SYNOPSIS
-#
-#   AX_CHECK_COMPILER_FLAGS(FLAGS, [ACTION-SUCCESS], [ACTION-FAILURE])
-#
-# DESCRIPTION
-#
-#   Check whether the given compiler FLAGS work with the current language's
-#   compiler, or whether they give an error. (Warnings, however, are
-#   ignored.)
-#
-#   ACTION-SUCCESS/ACTION-FAILURE are shell commands to execute on
-#   success/failure.
-#
-# LICENSE
-#
-#   Copyright (c) 2009 Steven G. Johnson <stevenj@alum.mit.edu>
-#   Copyright (c) 2009 Matteo Frigo
-#
-#   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 3 of the License, 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 <http://www.gnu.org/licenses/>.
-#
-#   As a special exception, the respective Autoconf Macro's copyright owner
-#   gives unlimited permission to copy, distribute and modify the configure
-#   scripts that are the output of Autoconf when processing the Macro. You
-#   need not follow the terms of the GNU General Public License when using
-#   or distributing such scripts, even though portions of the text of the
-#   Macro appear in them. The GNU General Public License (GPL) does govern
-#   all other use of the material that constitutes the Autoconf Macro.
-#
-#   This special exception to the GPL applies to versions of the Autoconf
-#   Macro released by the Autoconf Archive. When you make and distribute a
-#   modified version of the Autoconf Macro, you may extend this special
-#   exception to the GPL to apply to your modified version as well.
-
-AC_DEFUN([AX_CHECK_COMPILER_FLAGS],
-[AC_PREREQ(2.59) dnl for _AC_LANG_PREFIX
-AC_MSG_CHECKING([whether _AC_LANG compiler accepts $1])
-dnl Some hackery here since AC_CACHE_VAL can't handle a non-literal varname:
-AS_LITERAL_IF([$1],
-  [AC_CACHE_VAL(AS_TR_SH(ax_cv_[]_AC_LANG_ABBREV[]_flags_[$1]), [
-      ax_save_FLAGS=$[]_AC_LANG_PREFIX[]FLAGS
-      _AC_LANG_PREFIX[]FLAGS="$1"
-      AC_COMPILE_IFELSE([AC_LANG_PROGRAM()],
-        AS_TR_SH(ax_cv_[]_AC_LANG_ABBREV[]_flags_[$1])=yes,
-        AS_TR_SH(ax_cv_[]_AC_LANG_ABBREV[]_flags_[$1])=no)
-      _AC_LANG_PREFIX[]FLAGS=$ax_save_FLAGS])],
-  [ax_save_FLAGS=$[]_AC_LANG_PREFIX[]FLAGS
-   _AC_LANG_PREFIX[]FLAGS="$1"
-   AC_COMPILE_IFELSE([AC_LANG_PROGRAM()],
-     eval AS_TR_SH(ax_cv_[]_AC_LANG_ABBREV[]_flags_[$1])=yes,
-     eval AS_TR_SH(ax_cv_[]_AC_LANG_ABBREV[]_flags_[$1])=no)
-   _AC_LANG_PREFIX[]FLAGS=$ax_save_FLAGS])
-eval ax_check_compiler_flags=$AS_TR_SH(ax_cv_[]_AC_LANG_ABBREV[]_flags_[$1])
-AC_MSG_RESULT($ax_check_compiler_flags)
-if test "x$ax_check_compiler_flags" = xyes; then
-       m4_default([$2], :)
-else
-       m4_default([$3], :)
-fi
-])dnl AX_CHECK_COMPILER_FLAGS
diff --git a/contrib/notmuch-deliver/maildrop/maildir/Makefile.am b/contrib/notmuch-deliver/maildrop/maildir/Makefile.am
deleted file mode 100644 (file)
index 6fd0ae4..0000000
+++ /dev/null
@@ -1,201 +0,0 @@
-#
-# Copyright 1998 - 2005 Double Precision, Inc.  See COPYING for
-# distribution information.
-
-
-noinst_LTLIBRARIES=libmaildir.la
-
-
-DOCS=  deliverquota.html.in deliverquota.8.in \
-       maildiracl.1.in \
-       maildir.html maildir.5 \
-       maildiracl.html.in \
-       maildirmake.html.in maildirmake.1.in maildirquota.html maildirquota.7 \
-       maildirkw.html maildirkw.1
-
-if HAVE_SGML
-BUILT_SOURCES=maildirsharedrc.h maildirfilterconfig.h quotawarnmsg.h \
-       mailbot.h autoresponsequota.h $(noinst_DATA) $(DOCS)
-else
-BUILT_SOURCES=maildirsharedrc.h maildirfilterconfig.h quotawarnmsg.h \
-       mailbot.h autoresponsequota.h $(noinst_DATA)
-endif
-
-noinst_DATA=deliverquota.html maildirmake.html deliverquota.8 maildirmake.1 \
-       maildiracl.html maildiracl.1 maildir.libdeps
-
-libmaildir_la_SOURCES=autoresponse.c autoresponse.h \
-       maildiraclt.c maildiraclt.h \
-       maildircache.c maildircache.h \
-       maildircreate.c maildircreate.h \
-       maildirfilename.c maildirgetnew.c \
-       maildirfilter.c maildirfilter2.c \
-       maildirfilter.h maildirfiltertypelist.h\
-       maildirflags.c maildirmkdir.c \
-       maildirgetquota.c maildirgetquota.h \
-       maildirinfo.c maildirinfo.h \
-       maildirkeywords.c maildirkeywords2.c maildirkeywords3.c \
-       maildirkeywords4.cpp \
-       maildirkeywords.h maildirlist.c maildirlock.c \
-       maildirmake2.c \
-       maildirnewshared.c maildirnewshared.h maildirnewshared2.c \
-       maildiropen.c maildirparsequota.c \
-       maildirpath.c maildirpurgetmp.c maildirmisc.h \
-       maildirrename.c \
-       maildirsearch.c maildirsearchC.cpp maildirsearch.h \
-       maildirshared.c maildirshared2.c maildirdelfolder.c\
-       maildirquota.c maildirquota.h maildirrequota.c maildirrequota.h \
-       maildirwatch.c maildirwatch.h loginexec.c loginexec.h
-
-noinst_PROGRAMS=deliverquota maildirmake testmaildirfilter maildirkwtest \
-       maildirkw maildiracl maildiraclttest
-
-deliverquota_SOURCES=deliverquota.c
-deliverquota_DEPENDENCIES=libmaildir.la ../rfc822/librfc822.la \
-                               ../numlib/libnumlib.la
-deliverquota_LDADD=libmaildir.la ../rfc822/librfc822.la ../numlib/libnumlib.la
-deliverquota_LDFLAGS=-static
-
-maildirmake_SOURCES=maildirmake.c
-maildirmake_DEPENDENCIES=libmaildir.la ../numlib/libnumlib.la \
-                       ../rfc822/librfc822.la
-maildirmake_LDADD=libmaildir.la ../numlib/libnumlib.la \
-                       ../rfc822/librfc822.la
-maildirmake_LDFLAGS=-static
-
-testmaildirfilter_SOURCES=maildirfiltertypelist.h testmaildirfilter.c
-testmaildirfilter_DEPENDENCIES=libmaildir.la ../numlib/libnumlib.la
-testmaildirfilter_LDADD=libmaildir.la ../numlib/libnumlib.la @LIBPCRE@
-testmaildirfilter_LDFLAGS=-static
-
-maildirkwtest_SOURCES=maildirkwtest.c
-maildirkwtest_LDADD=libmaildir.la
-maildirkwtest_DEPENDENCIES=libmaildir.la
-maildirkwtest_LDFLAGS=-static
-
-maildirkw_SOURCES=maildirkw.c
-maildirkw_LDADD=libmaildir.la ../liblock/liblock.la ../numlib/libnumlib.la \
-               `cat maildir.libdeps`
-maildirkw_DEPENDENCIES=libmaildir.la ../liblock/liblock.la \
-       ../numlib/libnumlib.la maildir.libdeps
-maildirkw_LDFLAGS=-static
-
-maildiracl=maildiracl.c
-maildiracl_LDADD=libmaildir.la ../liblock/liblock.la ../numlib/libnumlib.la \
-                       `cat maildir.libdeps`
-maildiracl_DEPENDENCIES=libmaildir.la ../liblock/liblock.la \
-               ../numlib/libnumlib.la maildir.libdeps
-maildiracl_LDFLAGS=-static
-
-maildiraclttest_SOURCES=testmaildiraclt.c
-maildiraclttest_LDADD=libmaildir.la ../liblock/liblock.la \
-               ../numlib/libnumlib.la `cat maildir.libdeps`
-maildiraclttest_DEPENDENCIES=libmaildir.la ../liblock/liblock.la \
-               ../numlib/libnumlib.la maildir.libdeps
-maildiraclttest_LDFLAGS=-static
-
-EXTRA_DIST=README.maildirquota.html README.maildirquota.txt \
-       README.imapkeywords.html \
-       README.maildirfilter.html \
-       README.sharedfolders.html README.sharedfolders.txt \
-       maildirkwtest.txt \
-       testsuite testsuite.txt testsuite2 testsuite2.txt quotawarnmsg $(DOCS)
-
-HTML2TXT=links -dump -no-numbering
-
-README.maildirquota.txt: README.maildirquota.html
-       $(HTML2TXT) README.maildirquota.html >README.maildirquota.txt
-
-README.sharedfolders.txt: README.sharedfolders.html
-       $(HTML2TXT) README.sharedfolders.html >README.sharedfolders.txt
-
-mailbot.h: config.status
-       echo '#define MAILBOT "@MAILBOT@"' >mailbot.h
-
-maildirsharedrc.h: config.status
-       echo '#define MAILDIRSHAREDRC "$(sysconfdir)/maildirshared"' >maildirsharedrc.h
-
-maildirfilterconfig.h: config.status
-       echo '#define MAILDIRFILTERCONFIG "$(sysconfdir)/maildirfilterconfig"' >maildirfilterconfig.h
-
-autoresponsequota.h: config.status
-       echo '#define AUTORESPONSEQUOTA "$(sysconfdir)/autoresponsesquota"' >autoresponsequota.h
-
-quotawarnmsg.h: config.status
-       echo '#define QUOTAWARNMSG "$(sysconfdir)/quotawarnmsg"' >quotawarnmsg.h
-maildir.libdeps: config.status
-       echo @LIBFAM@ >maildir.libdeps
-
-clean-local:
-       rm -rf maildir.libdeps testmd
-
-check-am:
-       @SHELL@ $(srcdir)/testsuite 2>&1 | cmp - $(srcdir)/testsuite.txt
-       test "@LIBPCRE@" != "" || exit 0 ; @SHELL@ $(srcdir)/testsuite2 2>&1 | cmp - $(srcdir)/testsuite2.txt
-       LC_ALL=C; export LC_ALL; ./maildirkwtest | cmp -s - $(srcdir)/maildirkwtest.txt
-       LC_ALL=C; export LC_ALL; ./maildiraclttest
-
-if HAVE_SGML
-
-deliverquota.html.in: deliverquota.sgml ../docbook/sgml2html
-       ../docbook/sgml2html deliverquota.sgml deliverquota.html.in
-
-deliverquota.8.in: deliverquota.sgml ../docbook/sgml2html
-       ../docbook/sgml2man deliverquota.sgml deliverquota.8.in
-       mv deliverquota.8 deliverquota.8.in
-
-maildirmake.html.in: maildirmake.sgml ../docbook/sgml2html
-       ../docbook/sgml2html maildirmake.sgml maildirmake.html.in
-
-maildirmake.1.in: maildirmake.sgml ../docbook/sgml2html
-       ../docbook/sgml2man maildirmake.sgml maildirmake.1.in
-       mv maildirmake.1 maildirmake.1.in
-
-maildiracl.html.in: maildiracl.sgml ../docbook/sgml2html
-       ../docbook/sgml2html maildiracl.sgml maildiracl.html.in
-
-maildiracl.1.in: maildiracl.sgml ../docbook/sgml2html
-       ../docbook/sgml2man maildiracl.sgml maildiracl.1.in
-       mv maildiracl.1 maildiracl.1.in
-
-maildirquota.html: maildirquota.sgml ../docbook/sgml2html
-       ../docbook/sgml2html maildirquota.sgml maildirquota.html
-
-maildirquota.7: maildirquota.sgml ../docbook/sgml2man
-       ../docbook/sgml2man maildirquota.sgml maildirquota.7
-
-maildir.html: maildir.sgml ../docbook/sgml2html
-       ../docbook/sgml2html maildir.sgml maildir.html
-
-maildir.5: maildir.sgml ../docbook/sgml2man
-       ../docbook/sgml2man maildir.sgml maildir.5
-
-maildirkw.html: maildirkw.sgml ../docbook/sgml2html
-       ../docbook/sgml2html maildirkw.sgml maildirkw.html
-
-maildirkw.1: maildirkw.sgml ../docbook/sgml2man
-       ../docbook/sgml2man maildirkw.sgml maildirkw.1
-
-endif
-
-deliverquota.html: deliverquota.html.in
-       ./config.status --file=$@
-
-deliverquota.8: deliverquota.8.in
-       ./config.status --file=$@
-
-maildirmake.html: maildirmake.html.in
-       ./config.status --file=$@
-
-maildirmake.1: maildirmake.1.in
-       ./config.status --file=$@
-
-maildiracl.html: maildiracl.html.in
-       ./config.status --file=$@
-
-maildiracl.1: maildiracl.1.in
-       ./config.status --file=$@
-
-# autoresponse.c: autoresponsequota.h
-
-DISTCLEANFILES=$(BUILT_SOURCES)
diff --git a/contrib/notmuch-deliver/maildrop/maildir/configure.in b/contrib/notmuch-deliver/maildrop/maildir/configure.in
deleted file mode 100644 (file)
index dfdd22a..0000000
+++ /dev/null
@@ -1,165 +0,0 @@
-dnl Process this file with autoconf to produce a configure script.
-dnl
-dnl Copyright 1998 - 2001 Double Precision, Inc.  See COPYING for
-dnl distribution information.
-
-AC_INIT(maildir, 0.11, [courier-maildrop@lists.sourceforge.net])
-
->confdefs.h  # Kill PACKAGE_ macros
-
-AC_CONFIG_SRCDIR(maildirquota.c)
-LPATH="$PATH:/usr/local/bin"
-AC_CANONICAL_SYSTEM
-AM_INIT_AUTOMAKE([foreign no-define])
-AM_CONFIG_HEADER(config.h)
-
-dnl Checks for programs.
-AC_PROG_AWK
-AC_USE_SYSTEM_EXTENSIONS
-AC_PROG_CC
-AC_PROG_INSTALL
-AC_PROG_LN_S
-AC_LIBTOOL_DLOPEN
-AM_PROG_LIBTOOL
-
-AC_PROG_CXX
-
-AC_PATH_PROGS(PERL, perl5 perl, perl, $LPATH)
-
-if test "$GCC" = "yes"
-then
-       CFLAGS="$CFLAGS -Wall"
-fi
-
-if test "$GXX" = "yes"
-then
-       CXXFLAGS="$CXXFLAGS -Wall"
-fi
-
-CFLAGS="$CFLAGS -I${srcdir}/.. -I.."
-
-dnl Checks for libraries.
-
-dnl Checks for header files.
-AC_HEADER_DIRENT
-AC_HEADER_STDC
-AC_HEADER_TIME
-AC_CHECK_HEADERS(sys/stat.h sys/wait.h fcntl.h unistd.h sysexits.h utime.h pcre.h pcre/pcre.h)
-
-AC_CHECK_HEADER([pcre.h],
-               [LIBPCRE=-lpcre])
-
-AC_CHECK_HEADER([pcre/pcre.h],
-               [LIBPCRE=-lpcre])
-
-AC_SUBST(LIBPCRE)
-
-AC_HEADER_SYS_WAIT
-
-AC_LANG_CPLUSPLUS
-AC_CHECK_HEADERS(vector vector.h)
-AC_LANG_C
-
-dnl Checks for typedefs, structures, and compiler characteristics.
-AC_C_CONST
-AC_TYPE_OFF_T
-AC_TYPE_SIZE_T
-AC_TYPE_UID_T
-AC_STRUCT_TM
-AC_SYS_LARGEFILE
-
-dnl Checks for library functions.
-AC_CHECK_HEADER(fam.h, :, :)
-AC_CHECK_FUNCS(symlink readlink strcasecmp utime utimes)
-AC_CHECK_LIB(fam, FAMOpen,  [
-                       LIBFAM=-lfam
-                       AC_DEFINE_UNQUOTED(HAVE_FAM,1,
-                       [ Whether libfam.a is available ])
-
-                       AC_CHECK_HEADER(fam.h, : , [
-AC_MSG_WARN([[The development header files and libraries for fam,]])
-AC_MSG_WARN([[the File Alteration Monitor, are not installed.]])
-AC_MSG_WARN([[You appear to have the FAM runtime libraries installed,]])
-AC_MSG_WARN([[so you need to simply install the additional development]])
-AC_MSG_WARN([[package for your operating system.]])
-AC_MSG_ERROR([[FAM development libraries not found.]]) ]
-                                       )
-                 ])
-
-AC_SUBST(LIBFAM)
-
-echo "$LIBFAM" >maildir.libdeps
-
-AC_CACHE_CHECK([for missing gethostname prototype],maildir_cv_SYS_GETHOSTNAME,
-
-AC_TRY_COMPILE([
-#if HAVE_UNISTD_H
-#include       <unistd.h>
-#endif
-
-extern "C" int gethostname(int,int);
-],[
-],maildir_cv_SYS_GETHOSTNAME=yes,maildir_cv_SYS_GETHOSTNAME=no
-)
-
-)
-
-if test $maildir_cv_SYS_GETHOSTNAME = "no"
-then
-       AC_DEFINE_UNQUOTED(HAS_GETHOSTNAME,1,
-       [ Whether gethostname() is prototyped ])
-fi
-
-AC_ARG_WITH(db, [  --with-db=gdbm          Use the GDBM library.
-  --with-db=db            Use the libdb.a library.],
-       db="$withval", db="")
-
-if test "$db" = "no"
-then
-       db=""
-fi
-
-if test "$db" != ""
-then
-       AC_DEFINE_UNQUOTED(HAVE_DBOBJ,1,
-       [ Whether the top-level configure script defined dbobj ])
-fi
-
-AC_ARG_WITH(trashquota, [  --with-trashquota       Count deleted messages as part of the quota],
-       trashquota="$withval",
-       trashquota="no")
-
-if test "$trashquota" = "yes"
-then
-       AC_DEFINE_UNQUOTED(TRASHQUOTA,1,
-       [ Whether to count deleted messages towards the maildir quota ])
-fi
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-eval "prefix=$prefix"
-eval "exec_prefix=$exec_prefix"
-eval "sysconfdir=$sysconfdir"
-
-AC_PATH_PROGS(MAILBOT, mailbot, mailbot, $LPATH)
-
-if test -d $srcdir/../courier
-then
-       MAILBOT="$bindir/mailbot"
-       AC_DEFINE_UNQUOTED(HAVE_COURIER,1,
-                               [ Whether building the full Courier suite. ])
-fi
-
-AC_SUBST(MAILBOT)
-AM_CONDITIONAL(HAVE_SGML, test -d ${srcdir}/../docbook)
-
-if test "$target_os" = "cygwin"
-then
-       AC_DEFINE_UNQUOTED(MDIRSEP, "!",
-       [ Maildir target separator ])
-else
-       AC_DEFINE_UNQUOTED(MDIRSEP, ":",
-       [ Maildir target separator ])
-fi
-
-AC_OUTPUT(Makefile sharedindexinstall sharedindexsplit)
diff --git a/contrib/notmuch-deliver/maildrop/maildir/maildircreate.c b/contrib/notmuch-deliver/maildrop/maildir/maildircreate.c
deleted file mode 100644 (file)
index 5efc0af..0000000
+++ /dev/null
@@ -1,240 +0,0 @@
-/*
-** Copyright 1998 - 2003 Double Precision, Inc.
-** See COPYING for distribution information.
-*/
-
-#include       "maildircreate.h"
-#include       "maildirmisc.h"
-#include       <sys/types.h>
-#if    HAVE_SYS_STAT_H
-#include       <sys/stat.h>
-#endif
-
-#if TIME_WITH_SYS_TIME
-#include       <sys/time.h>
-#include       <time.h>
-#else
-#if HAVE_SYS_TIME_H
-#include       <sys/time.h>
-#else
-#include       <time.h>
-#endif
-#endif
-#if    HAVE_SYS_STAT_H
-#include       <sys/stat.h>
-#endif
-
-#if    HAVE_UNISTD_H
-#include       <unistd.h>
-#endif
-#include       <string.h>
-#include       <errno.h>
-#include       <stdio.h>
-#include       <stdlib.h>
-#include       <fcntl.h>
-#include       "numlib/numlib.h"
-
-
-
-FILE *maildir_tmpcreate_fp(struct maildir_tmpcreate_info *info)
-{
-       int fd=maildir_tmpcreate_fd(info);
-       FILE *fp;
-
-       if (fd < 0)
-               return NULL;
-
-       fp=fdopen(fd, "w+");
-
-       if (fp == NULL)
-       {
-               close(fd);
-               return NULL;
-       }
-
-       return fp;
-}
-
-static int maildir_tmpcreate_fd_do(struct maildir_tmpcreate_info *info);
-
-#define KEEPTRYING     (60 * 60)
-#define SLEEPFOR       3
-
-int maildir_tmpcreate_fd(struct maildir_tmpcreate_info *info)
-{
-       int i;
-
-       if (!info->doordie)
-               return (maildir_tmpcreate_fd_do(info));
-
-       for (i=0; i<KEEPTRYING / SLEEPFOR; i++)
-       {
-               int fd=maildir_tmpcreate_fd_do(info);
-
-               if (fd >= 0 || errno != EAGAIN)
-                       return fd;
-
-               sleep(SLEEPFOR);
-       }
-
-       return -1;
-}
-
-static int maildir_tmpcreate_fd_do(struct maildir_tmpcreate_info *info)
-{
-       const char *maildir=info->maildir;
-       const char *uniq=info->uniq;
-       const char *hostname=info->hostname;
-
-       char hostname_buf[256];
-       char time_buf[NUMBUFSIZE];
-       char usec_buf[NUMBUFSIZE];
-       char pid_buf[NUMBUFSIZE];
-       char len_buf[NUMBUFSIZE+3];
-       char dev_buf[NUMBUFSIZE];
-       char ino_buf[NUMBUFSIZE];
-       struct timeval tv;
-
-       struct stat stat_buf;
-       int fd;
-
-       if (!maildir)
-               maildir=".";
-       if (!uniq)
-               uniq="";
-
-       if (!hostname || !*hostname)
-       {
-               hostname_buf[sizeof(hostname_buf)-1]=0;
-               if (gethostname(hostname_buf, sizeof(hostname_buf)-1) < 0)
-                       strcpy(hostname_buf, "localhost");
-               hostname=hostname_buf;
-       }
-
-       gettimeofday(&tv, NULL);
-
-       libmail_str_time_t(tv.tv_sec, time_buf);
-       libmail_str_time_t(tv.tv_usec, usec_buf);
-       libmail_str_pid_t(getpid(), pid_buf);
-       len_buf[0]=0;
-       if (info->msgsize > 0)
-       {
-               strcpy(len_buf, ",S=");
-               libmail_str_size_t(info->msgsize, len_buf+3);
-       }
-
-       if (info->tmpname)
-               free(info->tmpname);
-
-       info->tmpname=malloc(strlen(maildir)+strlen(uniq)+
-                            strlen(hostname)+strlen(time_buf)+
-                            strlen(usec_buf)+
-                            strlen(pid_buf)+strlen(len_buf)+100);
-
-       if (!info->tmpname)
-       {
-               maildir_tmpcreate_free(info);
-               return -1;
-       }
-
-       strcpy(info->tmpname, maildir);
-       strcat(info->tmpname, "/tmp/");
-       strcat(info->tmpname, time_buf);
-       strcat(info->tmpname, ".M");
-       strcat(info->tmpname, usec_buf);
-       strcat(info->tmpname, "P");
-       strcat(info->tmpname, pid_buf);
-
-       if (*uniq)
-               strcat(strcat(info->tmpname, "_"), uniq);
-       strcat(info->tmpname, ".");
-       strcat(info->tmpname, hostname);
-       strcat(info->tmpname, len_buf);
-
-       if (stat( info->tmpname, &stat_buf) == 0)
-       {
-               maildir_tmpcreate_free(info);
-               errno=EAGAIN;
-               return -1;
-       }
-
-       if (errno != ENOENT)
-       {
-               maildir_tmpcreate_free(info);
-               if (errno == EAGAIN)
-                       errno=EIO;
-               return -1;
-       }
-
-       if ((fd=maildir_safeopen_stat(info->tmpname, O_CREAT|O_RDWR|O_TRUNC,
-                                     info->openmode, &stat_buf)) < 0)
-       {
-               maildir_tmpcreate_free(info);
-               return -1;
-       }
-
-       libmail_strh_dev_t(stat_buf.st_dev, dev_buf);
-       libmail_strh_ino_t(stat_buf.st_ino, ino_buf);
-
-       if (info->newname)
-               free(info->newname);
-
-       info->newname=malloc(strlen(info->tmpname)+strlen(ino_buf)+
-                            strlen(dev_buf)+3);
-
-       if (!info->newname)
-       {
-               maildir_tmpcreate_free(info);
-               unlink(info->tmpname);
-               close(fd);
-               if (errno == EAGAIN)
-                       errno=EIO;
-               return -1;
-       }
-
-       strcpy(info->newname, maildir);
-       strcat(info->newname, "/new/");
-       strcat(info->newname, time_buf);
-       strcat(info->newname, ".M");
-       strcat(info->newname, usec_buf);
-       strcat(info->newname, "P");
-       strcat(info->newname, pid_buf);
-       strcat(info->newname, "V");
-       strcat(info->newname, dev_buf);
-       strcat(info->newname, "I");
-       strcat(info->newname, ino_buf);
-       if (*uniq)
-               strcat(strcat(info->newname, "_"), uniq);
-       strcat(info->newname, ".");
-       strcat(info->newname, hostname);
-       strcat(info->newname, len_buf);
-
-       return fd;
-}
-
-void maildir_tmpcreate_free(struct maildir_tmpcreate_info *info)
-{
-       if (info->tmpname)
-               free(info->tmpname);
-       info->tmpname=NULL;
-
-       if (info->newname)
-               free(info->newname);
-       info->newname=NULL;
-}
-
-int maildir_movetmpnew(const char *tmpname, const char *newname)
-{
-       if (link(tmpname, newname) == 0)
-       {
-               unlink(tmpname);
-               return 0;
-       }
-
-       if (errno != EXDEV)
-               return -1;
-
-       /* AFS? */
-
-       return rename(tmpname, newname);
-}
diff --git a/contrib/notmuch-deliver/maildrop/maildir/maildircreate.h b/contrib/notmuch-deliver/maildrop/maildir/maildircreate.h
deleted file mode 100644 (file)
index 8539145..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-#ifndef        maildircreate_h
-#define        maildircreate_h
-
-/*
-** Copyright 1998 - 2003 Double Precision, Inc.
-** See COPYING for distribution information.
-*/
-
-#if    HAVE_CONFIG_H
-#include       "config.h"
-#endif
-
-#include       <stdio.h>
-
-#ifdef  __cplusplus
-extern "C" {
-#endif
-
-
-       /* Create messages in maildirs */
-
-struct maildir_tmpcreate_info {
-       const char *maildir;
-       unsigned long msgsize;  /* If known, 0 otherwise (must use requota later)*/
-       const char *uniq;       /* You need when creating multiple msgs */
-       const char *hostname;   /* If known, NULL otherwise */
-       int openmode;           /* Default open mode */
-       int doordie;            /* Loop until we get it right. */
-       char *tmpname;  /* On exit, filename in tmp */
-       char *newname; /* On exit, filename in new */
-};
-
-#define maildir_tmpcreate_init(i) \
-       do \
-       { \
-               memset( (i), 0, sizeof(*(i))); \
-               (i)->openmode=0644; \
-       } while(0)
-
-int maildir_tmpcreate_fd(struct maildir_tmpcreate_info *);
-FILE *maildir_tmpcreate_fp(struct maildir_tmpcreate_info *);
-void maildir_tmpcreate_free(struct maildir_tmpcreate_info *);
-
-       /* Move created message from tmp to new */
-int maildir_movetmpnew(const char *tmpname, const char *newname);
-
-#ifdef  __cplusplus
-}
-#endif
-
-#endif
diff --git a/contrib/notmuch-deliver/maildrop/maildir/maildirmisc.h b/contrib/notmuch-deliver/maildrop/maildir/maildirmisc.h
deleted file mode 100644 (file)
index e1e7c19..0000000
+++ /dev/null
@@ -1,201 +0,0 @@
-#ifndef        maildirmisc_h
-#define        maildirmisc_h
-
-/*
-** Copyright 2000-2003 Double Precision, Inc.
-** See COPYING for distribution information.
-*/
-
-#if    HAVE_CONFIG_H
-#include       "config.h"
-#endif
-
-#if HAVE_SYS_STAT_H
-#include       <sys/stat.h>
-#endif
-
-#ifdef  __cplusplus
-extern "C" {
-#endif
-
-
-/*
-**
-** Miscellaneous maildir-related code
-**
-*/
-
-/* Some special folders */
-
-#define        INBOX   "INBOX"
-#define        DRAFTS  "Drafts"
-#define        SENT    "Sent"
-#define        TRASH   "Trash"
-#define        SHARED  "shared"
-
-#define        SHAREDSUBDIR    "shared-folders"
-
-#define NEWSHAREDSP "#shared"
-#define        NEWSHARED "#shared."
-
-#define PUBLIC "public" /* SMAP */
-
-int maildir_make(const char *maildir, int perm, int subdirperm,
-               int folder);
-
-int maildir_del(const char *maildir);
-
-int maildir_del_content(const char *maildir);
-
-char *maildir_name2dir(const char *maildir,    /* DIR location */
-                      const char *foldername); /* INBOX.name */
-
-char *maildir_location(const char *homedir,
-                      const char *maildir);
-/*
-** Homedir is the account's home directory, "maildir" is where the account's
-** default Maildir is configured to be (usually "./Maildir").  Combine the
-** two to produce an absolute pathname.
-*/
-
-
-char *maildir_folderdir(const char *,          /* maildir */
-       const char *);                          /* folder name */
-       /* Returns the directory corresponding to foldername (foldername is
-       ** checked to make sure that it's a valid name, else we set errno
-       ** to EINVAL, and return (0).
-       */
-
-char *maildir_filename(const char *,           /* maildir */
-       const char *,                           /* folder */
-       const char *);                          /* filename */
-       /*
-       ** Builds the filename to this message, suitable for opening.
-       ** If the file doesn't appear to be there, search the maildir to
-       ** see if someone changed the flags, and return the current filename.
-       */
-
-int maildir_safeopen(const char *,             /* filename */
-       int,                            /* mode */
-       int);                           /* perm */
-
-/*
-**     Same arguments as open().  When we're accessing a shared maildir,
-**     prevent someone from playing cute and dumping a bunch of symlinks
-**     in there.  This function will open the indicate file only if the
-**     last component is not a symlink.
-**     This is implemented by opening the file with O_NONBLOCK (to prevent
-**     a DOS attack of someone pointing the symlink to a pipe, causing
-**     the open to hang), clearing O_NONBLOCK, then stat-int the file
-**     descriptor, lstating the filename, and making sure that dev/ino
-**     match.
-*/
-
-int maildir_semisafeopen(const char *, /* filename */
-       int,                            /* mode */
-       int);                           /* perm */
-
-/*
-** Same thing, except that we allow ONE level of soft link indirection,
-** because we're reading from our own maildir, which points to the
-** message in the sharable maildir.
-*/
-
-int maildir_safeopen_stat(const char *path, int mode, int perm,
-                         struct stat *stat1);
-       /* Sane as maildir_safeopen(), except that we also initialize a
-       ** struct stat, saving an extra syscall to the caller.
-       */
-
-int maildir_mkdir(const char *);       /* directory */
-/*
-** Create maildir including all subdirectories in the path (like mkdir -p)
-*/
-
-void maildir_purgetmp(const char *);           /* maildir */
-       /* purges old stuff out of tmp */
-
-void maildir_purge(const char *,               /* directory */
-       unsigned);                              /* time_t to purge */
-
-void maildir_getnew(const char *,              /* maildir */
-       const char *,                           /* folder */
-       void (*)(const char *, void *),         /* Callback function for
-                                               ** every moved msg.
-                                               */
-       void *arg);                             /* Passthrough callback arg */
-
-       /* move messages from new to cur */
-
-int maildir_deletefolder(const char *,         /* maildir */
-       const char *);                          /* folder */
-       /* deletes a folder */
-
-void maildir_list(const char *maildir,
-                 void (*func)(const char *, void *),
-                 void *voidp);
-
-void maildir_list_sharable(const char *,       /* maildir */
-       void (*)(const char *, void *),         /* callback function */
-       void *);                                /* 2nd arg to callback func */
-       /* list sharable folders */
-
-int maildir_shared_subscribe(const char *,     /* maildir */
-               const char *);                  /* folder */
-       /* subscribe to a shared folder */
-
-void maildir_list_shared(const char *,         /* maildir */
-       void (*)(const char *, void *),         /* callback function */
-       void *);                        /* 2nd arg to the callback func */
-       /* list subscribed folders */
-
-int maildir_shared_unsubscribe(const char *,   /* maildir */
-               const char *);                  /* folder */
-       /* unsubscribe from a shared folder */
-
-char *maildir_shareddir(const char *,          /* maildir */
-       const char *);                          /* folder */
-       /*
-       ** Validate and return a path to a shared folder.  folderdir must be
-       ** a name of a valid shared folder.
-       */
-
-void maildir_shared_sync(const char *);                /* maildir */
-       /* "sync" the shared folder */
-
-int maildir_sharedisro(const char *);          /* maildir */
-       /* maildir is a shared read-only folder */
-
-int maildir_unlinksharedmsg(const char *);     /* filename */
-       /* Remove a message from a shared folder */
-
-/* Internal function that reads a symlink */
-
-char *maildir_getlink(const char *);
-
-       /* Determine whether the maildir filename has a certain flag */
-
-int maildir_hasflag(const char *filename, char);
-
-#define        MAILDIR_DELETED(f)      maildir_hasflag((f), 'T')
-
-       /*
-       ** Hierarchical maildir rename.
-       */
-
-#define MAILDIR_RENAME_FOLDER 1
-#define MAILDIR_RENAME_SUBFOLDERS 2
-
-int maildir_rename(const char *maildir, /* Path to the maildir */
-                  const char *oldname, /* .foldername */
-                  const char *newname, /* .foldername */
-                  int flags, /* See above */
-                  void (*callback_func)(const char *old_path,
-                                        const char *new_path)
-                  );
-
-#ifdef  __cplusplus
-}
-#endif
-
-#endif
diff --git a/contrib/notmuch-deliver/maildrop/maildir/maildirmkdir.c b/contrib/notmuch-deliver/maildrop/maildir/maildirmkdir.c
deleted file mode 100644 (file)
index 28a3ac2..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
-** Copyright 2000 Double Precision, Inc.
-** See COPYING for distribution information.
-*/
-
-#if HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include       <sys/types.h>
-#include       <sys/stat.h>
-#include       <string.h>
-#include       <stdlib.h>
-#if    HAVE_UNISTD_H
-#include       <unistd.h>
-#endif
-#include       <errno.h>
-
-#include       "maildirmisc.h"
-
-
-int maildir_mkdir(const char *dir)
-{
-char   *buf, *p;
-size_t l;
-
-       if (dir == 0 || dir[0] == 0)
-       {
-               errno = EINVAL;
-               return (-1);
-       }
-       l = strlen(dir);
-       if ((buf = malloc(l + sizeof("/tmp"))) == 0)
-       {
-               errno = ENOMEM;
-               return (-1);
-       }
-       strcpy(buf, dir);
-       strcpy(buf+l, "/cur");
-
-       /* We do mkdir -p here */
-
-       p = buf+1;
-       while ((p = strchr(p, '/')) != 0)
-       {
-               *p = '\0';
-               if (mkdir(buf, 0700) < 0 && errno != EEXIST)
-               {
-                       free(buf);
-                       return (-1);
-               }
-               *p++ = '/';
-       }
-
-       if (mkdir(buf, 0700) < 0 && errno != EEXIST) {
-               free(buf);
-               return (-1);
-       }
-       strcpy(buf+l, "/new");
-       if (mkdir(buf, 0700) < 0 && errno != EEXIST) {
-               free(buf);
-               return (-1);
-       }
-       /*
-        *  make /tmp last because this is the one we open first -
-        *  the existence of this directory implies the whole
-        *  Maildir structure is complete
-        */
-       strcpy(buf+l, "/tmp");
-       if (mkdir(buf, 0700) < 0 && errno != EEXIST) {
-               free(buf);
-               return (-1);
-       }
-       free(buf);
-       return (0);
-}
-
diff --git a/contrib/notmuch-deliver/maildrop/maildir/maildiropen.c b/contrib/notmuch-deliver/maildrop/maildir/maildiropen.c
deleted file mode 100644 (file)
index 2542873..0000000
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
-** Copyright 2000 Double Precision, Inc.
-** See COPYING for distribution information.
-*/
-
-#if HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include       <sys/types.h>
-#include       <sys/stat.h>
-#include       <string.h>
-#include       <stdlib.h>
-#include       <time.h>
-#if    HAVE_UNISTD_H
-#include       <unistd.h>
-#endif
-#include       <stdio.h>
-#include       <ctype.h>
-#include       <errno.h>
-#include       <fcntl.h>
-
-#include       "maildirmisc.h"
-
-
-char *maildir_getlink(const char *filename)
-{
-#if     HAVE_READLINK
-size_t bufsiz;
-char   *buf;
-
-       bufsiz=0;
-       buf=0;
-
-       for (;;)
-       {
-       int     n;
-
-               if (buf)        free(buf);
-               bufsiz += 256;
-               if ((buf=malloc(bufsiz)) == 0)
-               {
-                       perror("malloc");
-                       return (0);
-               }
-               if ((n=readlink(filename, buf, bufsiz)) < 0)
-               {
-                       free(buf);
-                       return (0);
-               }
-               if (n < bufsiz)
-               {
-                       buf[n]=0;
-                       break;
-               }
-       }
-       return (buf);
-#else
-       return (0);
-#endif
-}
-
-int maildir_semisafeopen(const char *path, int mode, int perm)
-{
-
-#if    HAVE_READLINK
-
-char   *l=maildir_getlink(path);
-
-       if (l)
-       {
-       int     f;
-
-               if (*l != '/')
-               {
-               char    *q=malloc(strlen(path)+strlen(l)+2);
-               char    *s;
-
-                       if (!q)
-                       {
-                               free(l);
-                               return (-1);
-                       }
-
-                       strcpy(q, path);
-                       if ((s=strchr(q, '/')) != 0)
-                               s[1]=0;
-                       else    *q=0;
-                       strcat(q, l);
-                       free(l);
-                       l=q;
-               }
-
-               f=maildir_safeopen(l, mode, perm);
-
-               free(l);
-               return (f);
-       }
-#endif
-
-       return (maildir_safeopen(path, mode, perm));
-}
-               
-int maildir_safeopen(const char *path, int mode, int perm)
-{
-       struct  stat    stat1;
-
-       return maildir_safeopen_stat(path, mode, perm, &stat1);
-}
-
-int maildir_safeopen_stat(const char *path, int mode, int perm,
-                         struct stat *stat1)
-{
-       struct  stat    stat2;
-
-       int     fd=open(path, mode
-#ifdef O_NONBLOCK
-                       | O_NONBLOCK
-#else
-                       | O_NDELAY
-#endif
-                       , perm);
-
-       if (fd < 0)     return (fd);
-       if (fcntl(fd, F_SETFL, (mode & O_APPEND)) || fstat(fd, stat1)
-           || lstat(path, &stat2))
-       {
-               close(fd);
-               return (-1);
-       }
-
-       if (stat1->st_dev != stat2.st_dev || stat1->st_ino != stat2.st_ino)
-       {
-               close(fd);
-               errno=ENOENT;
-               return (-1);
-       }
-
-       return (fd);
-}
diff --git a/contrib/notmuch-deliver/maildrop/numlib/Makefile.am b/contrib/notmuch-deliver/maildrop/numlib/Makefile.am
deleted file mode 100644 (file)
index 0a5f103..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-#
-# Copyright 1998 - 2004 Double Precision, Inc.  See COPYING for
-# distribution information.
-
-
-CLEANFILES=$(noinst_DATA)
-noinst_LTLIBRARIES=libnumlib.la
-
-libnumlib_la_SOURCES=\
-       atotimet.c \
-       atouidt.c \
-       changeuidgid.c \
-       numlib.h \
-       strdevt.c \
-       strgidt.c \
-       strhdevt.c \
-       strhinot.c \
-       strhpidt.c \
-       strhtimet.c \
-       strinot.c \
-       strofft.c \
-       strpidt.c \
-       strsize.c \
-       strsizet.c \
-       strtimet.c \
-       struidt.c
diff --git a/contrib/notmuch-deliver/maildrop/numlib/atotimet.c b/contrib/notmuch-deliver/maildrop/numlib/atotimet.c
deleted file mode 100644 (file)
index 0360b5b..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-/*
-** Copyright 2003 Double Precision, Inc.
-** See COPYING for distribution information.
-*/
-
-#if    HAVE_CONFIG_H
-#include       "config.h"
-#endif
-#include       "numlib.h"
-#include       <string.h>
-
-
-LIBMAIL_STRIMPL(time_t, libmail_strtotime_t, libmail_atotime_t)
diff --git a/contrib/notmuch-deliver/maildrop/numlib/atouidt.c b/contrib/notmuch-deliver/maildrop/numlib/atouidt.c
deleted file mode 100644 (file)
index 6f869d5..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-/*
-** Copyright 2003 Double Precision, Inc.
-** See COPYING for distribution information.
-*/
-
-#if    HAVE_CONFIG_H
-#include       "config.h"
-#endif
-#include       "numlib.h"
-#include       <string.h>
-
-
-LIBMAIL_STRIMPL(uid_t, libmail_strtouid_t, libmail_atouid_t)
-LIBMAIL_STRIMPL(gid_t, libmail_strtogid_t, libmail_atogid_t)
diff --git a/contrib/notmuch-deliver/maildrop/numlib/changeuidgid.c b/contrib/notmuch-deliver/maildrop/numlib/changeuidgid.c
deleted file mode 100644 (file)
index adaee40..0000000
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
-** Copyright 1998 - 2002 Double Precision, Inc.  See COPYING for
-** distribution information.
-*/
-
-#if    HAVE_CONFIG_H
-#include       "config.h"
-#endif
-#include       <sys/types.h>
-#if    HAVE_UNISTD_H
-#include       <unistd.h>
-#endif
-#include       <stdio.h>
-#include       <stdlib.h>
-#include       <string.h>
-#include       <grp.h>
-#include       <pwd.h>
-#include       <errno.h>
-
-#include       "numlib.h"
-
-
-void libmail_changegroup(gid_t gid)
-{
-       if ( setgid(gid))
-       {
-               perror("setgid");
-               exit(1);
-       }
-
-#if HAVE_SETGROUPS
-       if ( getuid() == 0 && setgroups(1, &gid) )
-       {
-               perror("setgroups");
-               exit(1);
-       }
-#endif
-}
-
-void libmail_changeuidgid(uid_t uid, gid_t gid)
-{
-       libmail_changegroup(gid);
-       if ( setuid(uid))
-       {
-               perror("setuid");
-               exit(1);
-       }
-}
-
-void libmail_changeusername(const char *uname, const gid_t *forcegrp)
-{
-struct passwd *pw;
-uid_t  changeuid;
-gid_t  changegid;
-
-/* uname might be a pointer returned from a previous called to getpw(),
-** and libc has a problem getting it back.
-*/
-char   *p=malloc(strlen(uname)+1);
-
-       if (!p)
-       {
-               perror("malloc");
-               exit(1);
-       }
-       strcpy(p, uname);
-
-       errno=ENOENT;
-       if ((pw=getpwnam(p)) == 0)
-       {
-               free(p);
-               perror("getpwnam");
-               exit(1);
-       }
-       free(p);
-
-       changeuid=pw->pw_uid;
-
-       if ( !forcegrp )        forcegrp= &pw->pw_gid;
-
-       changegid= *forcegrp;
-
-       if ( setgid( changegid ))
-       {
-               perror("setgid");
-               exit(1);
-       }
-
-#if HAVE_INITGROUPS
-       if ( getuid() == 0 && initgroups(pw->pw_name, changegid) )
-       {
-               perror("initgroups");
-               exit(1);
-       }
-#else
-#if HAVE_SETGROUPS
-       if ( getuid() == 0 && setgroups(1, &changegid) )
-       {
-               perror("setgroups");
-               exit(1);
-       }
-#endif
-#endif
-
-       if (setuid(changeuid))
-       {
-               perror("setuid");
-               exit(1);
-       }
-}
diff --git a/contrib/notmuch-deliver/maildrop/numlib/configure.in b/contrib/notmuch-deliver/maildrop/numlib/configure.in
deleted file mode 100644 (file)
index 7479725..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-dnl Process this file with autoconf to produce a configure script.
-dnl
-dnl Copyright 1998 - 2010 Double Precision, Inc.  See COPYING for
-dnl distribution information.
-
-AC_PREREQ(2.59)
-AC_INIT(numlib, 0.10, courier-users@lists.sourceforge.net)
-
->confdefs.h  # Kill PACKAGE_ macros
-
-AC_CONFIG_SRCDIR([atotimet.c])
-AM_CONFIG_HEADER([config.h])
-AM_INIT_AUTOMAKE([foreign no-define])
-dnl Checks for programs.
-AC_PROG_AWK
-AC_PROG_CC
-AC_PROG_INSTALL
-AC_PROG_LN_S
-AC_PROG_LIBTOOL
-
-if test "$GCC" = "yes"
-then
-       CFLAGS="$CFLAGS -Wall"
-fi
-
-dnl Checks for libraries.
-
-dnl Checks for header files.
-
-AC_CHECK_HEADERS(unistd.h stdint.h)
-
-AC_CHECK_TYPE(int64_t, [ : ],
-                      [
-                      AC_DEFINE_UNQUOTED(int64_t,long long,[default definition of int64_t])
-                      ])
-
-dnl Checks for typedefs, structures, and compiler characteristics.
-AC_TYPE_UID_T
-AC_TYPE_PID_T
-AC_SYS_LARGEFILE
-
-dnl Checks for library functions.
-
-AC_CHECK_FUNCS(setgroups initgroups)
-AC_OUTPUT(Makefile)
diff --git a/contrib/notmuch-deliver/maildrop/numlib/numlib.h b/contrib/notmuch-deliver/maildrop/numlib/numlib.h
deleted file mode 100644 (file)
index c31d9b1..0000000
+++ /dev/null
@@ -1,101 +0,0 @@
-#ifndef        numlib_h
-#define        numlib_h
-
-/*
-** Copyright 1998 - 2010 Double Precision, Inc.
-** See COPYING for distribution information.
-*/
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-#if    HAVE_CONFIG_H
-#include       "../numlib/config.h" /* VPATH build */
-#endif
-
-#if    HAVE_STDINT_H
-#include       <stdint.h>
-#endif
-
-#include       <sys/types.h>
-#include       <time.h>
-
-#define        NUMBUFSIZE      60
-
-/* Convert various system types to decimal */
-
-char   *libmail_str_time_t(time_t, char *);
-char   *libmail_str_off_t(off_t, char *);
-char   *libmail_str_int64_t(int64_t, char *);
-char   *libmail_str_pid_t(pid_t, char *);
-char   *libmail_str_dev_t(dev_t, char *);
-char   *libmail_str_ino_t(ino_t, char *);
-char   *libmail_str_uid_t(uid_t, char *);
-char   *libmail_str_gid_t(gid_t, char *);
-char   *libmail_str_size_t(size_t, char *);
-
-char   *libmail_str_sizekb(unsigned long, char *);     /* X Kb or X Mb */
-
-/* Convert selected system types to hex */
-
-char   *libmail_strh_time_t(time_t, char *);
-char   *libmail_strh_pid_t(pid_t, char *);
-char   *libmail_strh_ino_t(ino_t, char *);
-char   *libmail_strh_dev_t(dev_t, char *);
-
-/* And, now let's do the reverse */
-
-time_t libmail_strtotime_t(const char **);
-time_t libmail_atotime_t(const char *);
-
-uid_t libmail_strtouid_t(const char **);
-uid_t libmail_atouid_t(const char *);
-
-gid_t libmail_strtogid_t(const char **);
-gid_t libmail_atogid_t(const char *);
-
-       /* Common macros: */
-
-#define LIBMAIL_STRIMPL(type, f1, f2) \
-\
-type f1(const char **p)\
-{\
-       type n=0;\
-       while ( **p >= '0' && **p <= '9') n=n*10 + (char)(*(*p)++ - '0');\
-       return n;\
-}\
-\
-type f2(const char *p)\
-{\
-       return f1(&p);\
-}
-
-
-/*
-** The following functions are used by root to reset its user and group id
-** to the authenticated user's.  Various functions are provided to handle
-** various situations.
-*/
-
-void libmail_changegroup(gid_t);       /* Set the group id only.  Also clear any
-                               ** auxiliary group ids */
-
-void libmail_changeuidgid(uid_t, gid_t);
-                               /* Set both user id and group id.  Also clear
-                               ** aux group ids */
-
-void libmail_changeusername(const char *, const gid_t *);
-       /*
-       ** Set the userid to the indicate user's.  If second argument is
-       ** not null, it points to the groupid to set.  If it's null, the
-       ** group id is taken from the passwd file.  Auxiliary IDs are set
-       ** to any aux IDs set for the user in the group file.  If there are
-       ** no aux group IDs for the user, any AUX ids are cleared.
-       */
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/contrib/notmuch-deliver/maildrop/numlib/strdevt.c b/contrib/notmuch-deliver/maildrop/numlib/strdevt.c
deleted file mode 100644 (file)
index aa8b028..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
-** Copyright 2003 Double Precision, Inc.
-** See COPYING for distribution information.
-*/
-
-#if    HAVE_CONFIG_H
-#include       "config.h"
-#endif
-#include       "numlib.h"
-#include       <string.h>
-
-
-char *libmail_str_dev_t(dev_t t, char *arg)
-{
-       char    buf[NUMBUFSIZE];
-       char    *p=buf+sizeof(buf)-1;
-
-       *p=0;
-       do
-       {
-               *--p= '0' + (t % 10);
-               t=t / 10;
-       } while(t);
-       return (strcpy(arg, p));
-}
diff --git a/contrib/notmuch-deliver/maildrop/numlib/strgidt.c b/contrib/notmuch-deliver/maildrop/numlib/strgidt.c
deleted file mode 100644 (file)
index 828a455..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
-** Copyright 1998 - 2000 Double Precision, Inc.
-** See COPYING for distribution information.
-*/
-
-#if    HAVE_CONFIG_H
-#include       "config.h"
-#endif
-#include       "numlib.h"
-#include       <string.h>
-
-
-char *libmail_str_gid_t(gid_t t, char *arg)
-{
-char   buf[NUMBUFSIZE];
-char   *p=buf+sizeof(buf)-1;
-
-       *p=0;
-       do
-       {
-               *--p= '0' + (t % 10);
-               t=t / 10;
-       } while(t);
-       return (strcpy(arg, p));
-}
diff --git a/contrib/notmuch-deliver/maildrop/numlib/strhdevt.c b/contrib/notmuch-deliver/maildrop/numlib/strhdevt.c
deleted file mode 100644 (file)
index 9ff45f2..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
-** Copyright 1998 - 2003 Double Precision, Inc.
-** See COPYING for distribution information.
-*/
-
-#if    HAVE_CONFIG_H
-#include       "config.h"
-#endif
-#include       "numlib.h"
-#include       <string.h>
-
-
-static const char xdigit[]="0123456789ABCDEF";
-
-char *libmail_strh_dev_t(dev_t t, char *arg)
-{
-char   buf[sizeof(t)*2+1];
-char   *p=buf+sizeof(buf)-1;
-unsigned i;
-
-       *p=0;
-       for (i=0; i<sizeof(t)*2; i++)
-       {
-               *--p= xdigit[t & 15];
-               t=t / 16;
-       }
-       return (strcpy(arg, p));
-}
diff --git a/contrib/notmuch-deliver/maildrop/numlib/strhinot.c b/contrib/notmuch-deliver/maildrop/numlib/strhinot.c
deleted file mode 100644 (file)
index c3cdc10..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
-** Copyright 1998 - 2000 Double Precision, Inc.
-** See COPYING for distribution information.
-*/
-
-#if    HAVE_CONFIG_H
-#include       "config.h"
-#endif
-#include       "numlib.h"
-#include       <string.h>
-
-
-static const char xdigit[]="0123456789ABCDEF";
-
-char *libmail_strh_ino_t(ino_t t, char *arg)
-{
-char   buf[sizeof(t)*2+1];
-char   *p=buf+sizeof(buf)-1;
-unsigned i;
-
-       *p=0;
-       for (i=0; i<sizeof(t)*2; i++)
-       {
-               *--p= xdigit[t & 15];
-               t=t / 16;
-       }
-       return (strcpy(arg, p));
-}
diff --git a/contrib/notmuch-deliver/maildrop/numlib/strhpidt.c b/contrib/notmuch-deliver/maildrop/numlib/strhpidt.c
deleted file mode 100644 (file)
index 5a440f5..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
-** Copyright 1998 - 2000 Double Precision, Inc.
-** See COPYING for distribution information.
-*/
-
-#if    HAVE_CONFIG_H
-#include       "config.h"
-#endif
-#include       "numlib.h"
-#include       <string.h>
-
-
-static const char xdigit[]="0123456789ABCDEF";
-
-char *libmail_strh_pid_t(pid_t t, char *arg)
-{
-char   buf[sizeof(t)*2+1];
-char   *p=buf+sizeof(buf)-1;
-unsigned i;
-
-       *p=0;
-       for (i=0; i<sizeof(t)*2; i++)
-       {
-               *--p= xdigit[t & 15];
-               t=t / 16;
-       }
-       return (strcpy(arg, p));
-}
diff --git a/contrib/notmuch-deliver/maildrop/numlib/strhtimet.c b/contrib/notmuch-deliver/maildrop/numlib/strhtimet.c
deleted file mode 100644 (file)
index cb9e6a9..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
-** Copyright 1998 - 2000 Double Precision, Inc.
-** See COPYING for distribution information.
-*/
-
-#if    HAVE_CONFIG_H
-#include       "config.h"
-#endif
-#include       "numlib.h"
-#include       <string.h>
-
-
-static const char xdigit[]="0123456789ABCDEF";
-
-char *libmail_strh_time_t(time_t t, char *arg)
-{
-char   buf[sizeof(t)*2+1];
-char   *p=buf+sizeof(buf)-1;
-unsigned i;
-
-       *p=0;
-       for (i=0; i<sizeof(t)*2; i++)
-       {
-               *--p= xdigit[t & 15];
-               t=t / 16;
-       }
-       return (strcpy(arg, p));
-}
diff --git a/contrib/notmuch-deliver/maildrop/numlib/strinot.c b/contrib/notmuch-deliver/maildrop/numlib/strinot.c
deleted file mode 100644 (file)
index 314b2f3..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
-** Copyright 1998 - 2000 Double Precision, Inc.
-** See COPYING for distribution information.
-*/
-
-#if    HAVE_CONFIG_H
-#include       "config.h"
-#endif
-#include       "numlib.h"
-#include       <string.h>
-
-
-char *libmail_str_ino_t(ino_t t, char *arg)
-{
-char   buf[NUMBUFSIZE];
-char   *p=buf+sizeof(buf)-1;
-
-       *p=0;
-       do
-       {
-               *--p= '0' + (t % 10);
-               t=t / 10;
-       } while(t);
-       return (strcpy(arg, p));
-}
diff --git a/contrib/notmuch-deliver/maildrop/numlib/strofft.c b/contrib/notmuch-deliver/maildrop/numlib/strofft.c
deleted file mode 100644 (file)
index 567f912..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
-** Copyright 1998 - 2010 Double Precision, Inc.
-** See COPYING for distribution information.
-*/
-
-#if    HAVE_CONFIG_H
-#include       "config.h"
-#endif
-#include       "numlib.h"
-#include       <string.h>
-
-
-char *libmail_str_off_t(off_t t, char *arg)
-{
-       char    buf[NUMBUFSIZE];
-       char    *p=buf+sizeof(buf)-1;
-       int     isneg=0;
-
-       if (t < 0)
-       {
-               t= -t;
-               isneg=1;
-       }
-
-       *p=0;
-       do
-       {
-               *--p= '0' + (t % 10);
-               t=t / 10;
-       } while(t);
-
-       if (isneg)
-               *--p='-';
-
-       return (strcpy(arg, p));
-}
-
-char *libmail_str_int64_t(int64_t t, char *arg)
-{
-       char    buf[NUMBUFSIZE];
-       char    *p=buf+sizeof(buf)-1;
-       int     isneg=0;
-
-       if (t < 0)
-       {
-               t= -t;
-               isneg=1;
-       }
-
-       *p=0;
-       do
-       {
-               *--p= '0' + (t % 10);
-               t=t / 10;
-       } while(t);
-
-       if (isneg)
-               *--p='-';
-
-       return (strcpy(arg, p));
-}
-
-
-
diff --git a/contrib/notmuch-deliver/maildrop/numlib/strpidt.c b/contrib/notmuch-deliver/maildrop/numlib/strpidt.c
deleted file mode 100644 (file)
index 0c29b07..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
-** Copyright 1998 - 2000 Double Precision, Inc.
-** See COPYING for distribution information.
-*/
-
-#if    HAVE_CONFIG_H
-#include       "config.h"
-#endif
-#include       "numlib.h"
-#include       <string.h>
-
-
-char *libmail_str_pid_t(pid_t t, char *arg)
-{
-char   buf[NUMBUFSIZE];
-char   *p=buf+sizeof(buf)-1;
-
-       *p=0;
-       do
-       {
-               *--p= '0' + (t % 10);
-               t=t / 10;
-       } while(t);
-       return (strcpy(arg, p));
-}
diff --git a/contrib/notmuch-deliver/maildrop/numlib/strsize.c b/contrib/notmuch-deliver/maildrop/numlib/strsize.c
deleted file mode 100644 (file)
index 1c90312..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
-** Copyright 2001 Double Precision, Inc.
-** See COPYING for distribution information.
-*/
-
-#if    HAVE_CONFIG_H
-#include       "config.h"
-#endif
-#include       "numlib.h"
-#include       <string.h>
-
-
-static void cat_n(char *buf, unsigned long n)
-{
-char    bb[NUMBUFSIZE+1];
-char    *p=bb+sizeof(bb)-1;
-
-        *p=0;
-        do
-        {
-                *--p = "0123456789"[n % 10];
-                n=n/10;
-        } while (n);
-        strcat(buf, p);
-}
-
-char *libmail_str_sizekb(unsigned long n, char *sizebuf)
-{
-        /* If size is less than 1K bytes, display it as 0.xK */
-
-        if (n < 1024)
-        {
-                strcpy(sizebuf, "0.");
-                cat_n(sizebuf, (int)(10 * n / 1024 ));
-                strcat(sizebuf, "K");
-        }
-        /* If size is less than 1 meg, display is as xK */
-
-        else if (n < 1024 * 1024)
-        {
-                *sizebuf=0;
-                cat_n(sizebuf, (unsigned long)(n+512)/1024);
-                strcat(sizebuf, "K");
-        }
-
-        /* Otherwise, display in megabytes */
-
-        else
-        {
-        unsigned long nm=(double)n / (1024.0 * 1024.0) * 10;
-
-                *sizebuf=0;
-                cat_n( sizebuf, nm / 10);
-                strcat(sizebuf, ".");
-                cat_n( sizebuf, nm % 10);
-                strcat(sizebuf, "M");
-        }
-
-       return (sizebuf);
-}
-
diff --git a/contrib/notmuch-deliver/maildrop/numlib/strsizet.c b/contrib/notmuch-deliver/maildrop/numlib/strsizet.c
deleted file mode 100644 (file)
index fd9d1d1..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
-** Copyright 1998 - 2000 Double Precision, Inc.
-** See COPYING for distribution information.
-*/
-
-#if    HAVE_CONFIG_H
-#include       "config.h"
-#endif
-#include       "numlib.h"
-#include       <string.h>
-
-
-char *libmail_str_size_t(size_t t, char *arg)
-{
-char   buf[NUMBUFSIZE];
-char   *p=buf+sizeof(buf)-1;
-
-       *p=0;
-       do
-       {
-               *--p= '0' + (t % 10);
-               t=t / 10;
-       } while(t);
-       return (strcpy(arg, p));
-}
diff --git a/contrib/notmuch-deliver/maildrop/numlib/strtimet.c b/contrib/notmuch-deliver/maildrop/numlib/strtimet.c
deleted file mode 100644 (file)
index 63307f2..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
-** Copyright 1998 - 2000 Double Precision, Inc.
-** See COPYING for distribution information.
-*/
-
-#if    HAVE_CONFIG_H
-#include       "config.h"
-#endif
-#include       "numlib.h"
-#include       <string.h>
-
-
-char *libmail_str_time_t(time_t t, char *arg)
-{
-char   buf[NUMBUFSIZE];
-char   *p=buf+sizeof(buf)-1;
-
-       *p=0;
-       do
-       {
-               *--p= '0' + (t % 10);
-               t=t / 10;
-       } while(t);
-       return (strcpy(arg, p));
-}
diff --git a/contrib/notmuch-deliver/maildrop/numlib/struidt.c b/contrib/notmuch-deliver/maildrop/numlib/struidt.c
deleted file mode 100644 (file)
index 5843ed2..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
-** Copyright 1998 - 2000 Double Precision, Inc.
-** See COPYING for distribution information.
-*/
-
-#if    HAVE_CONFIG_H
-#include       "config.h"
-#endif
-#include       "numlib.h"
-#include       <string.h>
-
-
-char *libmail_str_uid_t(uid_t t, char *arg)
-{
-char   buf[NUMBUFSIZE];
-char   *p=buf+sizeof(buf)-1;
-
-       *p=0;
-       do
-       {
-               *--p= '0' + (t % 10);
-               t=t / 10;
-       } while(t);
-       return (strcpy(arg, p));
-}
diff --git a/contrib/notmuch-deliver/src/Makefile.am b/contrib/notmuch-deliver/src/Makefile.am
deleted file mode 100644 (file)
index e2ff7ba..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-DEFS+= -DGITHEAD=\"$(GITHEAD)\"
-AM_CPPFLAGS= \
-  -I$(top_builddir)/maildrop/numlib \
-  -I$(top_srcdir)/maildrop \
-  -I$(top_srcdir)/maildrop/maildir
-AM_CFLAGS= @NOTMUCH_DELIVER_CFLAGS@ $(glib_CFLAGS)
-
-noinst_HEADERS=\
-              $(top_srcdir)/maildrop/maildir/maildircreate.h \
-              $(top_srcdir)/maildrop/maildir/maildirmisc.h
-
-bin_PROGRAMS=\
-            notmuch-deliver
-
-notmuch_deliver_SOURCES=\
-                       $(top_srcdir)/maildrop/maildir/maildircreate.c \
-                       $(top_srcdir)/maildrop/maildir/maildiropen.c \
-                       $(top_srcdir)/maildrop/maildir/maildirmkdir.c \
-                       main.c
-notmuch_deliver_LDADD=\
-                     $(top_builddir)/maildrop/numlib/libnumlib.la \
-                     $(glib_LIBS)
diff --git a/contrib/notmuch-deliver/src/main.c b/contrib/notmuch-deliver/src/main.c
deleted file mode 100644 (file)
index 032b9d6..0000000
+++ /dev/null
@@ -1,469 +0,0 @@
-/* notmuch-deliver - If you make the user a promise... make sure you deliver it!
- *
- * Copyright © 2010 Ali Polatel
- * Based in part upon deliverquota of maildrop which is:
- *   Copyright 1998 - 2009 Double Precision, Inc.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, 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 http://www.gnu.org/licenses/ .
- *
- * Author: Ali Polatel <polatel@gmail.com>
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <errno.h>
-#include <stdio.h>
-#include <string.h>
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#ifdef HAVE_SPLICE
-#include <fcntl.h>
-#endif
-
-#ifdef HAVE_SYSEXITS_H
-#include <sysexits.h>
-#endif
-
-#include <glib.h>
-#include <notmuch.h>
-
-#include "maildircreate.h"
-#include "maildirmisc.h"
-
-#ifndef EX_USAGE
-#define EX_USAGE 64
-#endif
-
-#ifndef EX_SOFTWARE
-#define EX_SOFTWARE 70
-#endif
-
-#ifndef EX_OSERR
-#define EX_OSERR 71
-#endif
-
-#ifndef EX_IOERR
-#define EX_IOERR 74
-#endif
-
-#ifndef EX_TEMPFAIL
-#define EX_TEMPFAIL 75
-#endif
-
-#ifndef EX_NOPERM
-#define EX_NOPERM 77
-#endif
-
-#ifndef EX_CONFIG
-#define EX_CONFIG 78
-#endif
-
-static gboolean opt_create, opt_fatal, opt_folder, opt_version;
-static gboolean opt_verbose = FALSE;
-static gchar **opt_tags = NULL;
-static gchar **opt_rtags = NULL;
-
-static GOptionEntry options[] = {
-       {"version", 'V', 0, G_OPTION_ARG_NONE, &opt_version,
-               "Display version", NULL},
-       {"verbose", 'v', 0, G_OPTION_ARG_NONE, &opt_verbose,
-               "Be verbose (useful for debugging)", NULL},
-       {"create", 'c', 0, G_OPTION_ARG_NONE, &opt_create,
-               "Create the maildir if it doesn't exist", NULL},
-       {"folder", 'f', 0, G_OPTION_ARG_NONE, &opt_folder,
-               "Add a dot before FOLDER, e.g: Local => $MAILDIR/.Local", NULL},
-       {"tag", 't', 0, G_OPTION_ARG_STRING_ARRAY, &opt_tags,
-               "Add a tag to the message, may be specified multiple times", "TAG"},
-       {"remove-tag", 'r', 0, G_OPTION_ARG_STRING_ARRAY, &opt_rtags,
-               "Remove a tag from the message, may be specified multiple times", "TAG"},
-       {"fatal-add", 0, 0, G_OPTION_ARG_NONE, &opt_fatal,
-               "If adding the mail to the database fails, unlink it and return non-zero", NULL},
-       {NULL, 0, 0, 0, NULL, NULL, NULL},
-};
-
-static void
-about(void)
-{
-       printf(PACKAGE"-"VERSION GITHEAD "\n");
-}
-
-static void
-log_handler(G_GNUC_UNUSED const gchar *domain, GLogLevelFlags level,
-       const gchar *message, G_GNUC_UNUSED gpointer user_data)
-{
-       g_return_if_fail(message != NULL && message[0] != '\0');
-
-       if (!opt_verbose && (level & G_LOG_LEVEL_DEBUG))
-               return;
-
-       g_printerr(PACKAGE": %s\n", message);
-}
-
-static gboolean
-load_keyfile(const gchar *path, gchar **db_path, gchar ***tags)
-{
-       GKeyFile *fd;
-       GError *error;
-
-       fd = g_key_file_new();
-       error = NULL;
-       if (!g_key_file_load_from_file(fd, path, G_KEY_FILE_NONE, &error)) {
-               g_printerr("Failed to parse `%s': %s", path, error->message);
-               g_error_free(error);
-               g_key_file_free(fd);
-               return FALSE;
-       }
-
-       *db_path = g_key_file_get_string(fd, "database", "path", &error);
-       if (*db_path == NULL) {
-               g_critical("Failed to parse database.path from `%s': %s", path, error->message);
-               g_error_free(error);
-               g_key_file_free(fd);
-               return FALSE;
-       }
-
-       *tags = g_key_file_get_string_list(fd, "new", "tags", NULL, NULL);
-
-       g_key_file_free(fd);
-       return TRUE;
-}
-
-#ifdef HAVE_SPLICE
-static int
-save_splice(int fdin, int fdout)
-{
-       int ret, written, pfd[2];
-
-       if (pipe(pfd) < 0) {
-               g_critical("Failed to create pipe: %s", g_strerror(errno));
-               return EX_IOERR;
-       }
-
-       for (;;) {
-               ret = splice(fdin, NULL, pfd[1], NULL, 4096, 0);
-               if (!ret)
-                       break;
-               if (ret < 0) {
-                       g_critical("Splicing data from standard input failed: %s",
-                               g_strerror(errno));
-                       close(pfd[0]);
-                       close(pfd[1]);
-                       return EX_IOERR;
-               }
-
-               do {
-                       written = splice(pfd[0], NULL, fdout, NULL, ret, 0);
-                       if (!written) {
-                               g_critical("Splicing data to temporary file failed: internal error");
-                               close(pfd[0]);
-                               close(pfd[1]);
-                               return EX_IOERR;
-                       }
-                       if (written < 0) {
-                               g_critical("Splicing data to temporary file failed: %s",
-                                       g_strerror(errno));
-                               close(pfd[0]);
-                               close(pfd[1]);
-                               return EX_IOERR;
-                       }
-                       ret -= written;
-               } while (ret);
-       }
-
-       close(pfd[0]);
-       close(pfd[1]);
-       return 0;
-}
-#endif /* HAVE_SPLICE */
-
-static int
-save_readwrite(int fdin, int fdout)
-{
-       int ret, written;
-       char buf[4096], *p;
-
-       for (;;) {
-               ret = read(fdin, buf, 4096);
-               if (!ret)
-                       break;
-               if (ret < 0) {
-                       if (errno == EINTR)
-                               continue;
-                       g_critical("Reading from standard input failed: %s",
-                               g_strerror(errno));
-                       return EX_IOERR;
-               }
-               p = buf;
-               do {
-                       written = write(fdout, p, ret);
-                       if (!written)
-                               return EX_IOERR;
-                       if (written < 0) {
-                               if (errno == EINTR)
-                                       continue;
-                               g_critical("Writing to temporary file failed: %s",
-                                       g_strerror(errno));
-                               return EX_IOERR;
-                       }
-                       p += written;
-                       ret -= written;
-               } while (ret);
-       }
-
-       return 0;
-}
-
-static int
-save_maildir(int fdin, const char *dir, int auto_create, char **path)
-{
-       int fdout, ret;
-       struct maildir_tmpcreate_info info;
-
-       maildir_tmpcreate_init(&info);
-       info.openmode = 0666;
-       info.maildir = dir;
-       info.doordie = 1;
-
-       while ((fdout = maildir_tmpcreate_fd(&info)) < 0)
-       {
-               if (errno == ENOENT && auto_create && maildir_mkdir(dir) == 0)
-               {
-                       auto_create = 0;
-                       continue;
-               }
-
-               g_critical("Failed to create temporary file `%s': %s",
-                       info.tmpname, g_strerror(errno));
-               return EX_TEMPFAIL;
-       }
-
-       g_debug("Reading from standard input and writing to `%s'", info.tmpname);
-#ifdef HAVE_SPLICE
-       ret = g_getenv("NOTMUCH_DELIVER_NO_SPLICE")
-               ? save_readwrite(fdin, fdout)
-               : save_splice(fdin, fdout);
-#else
-       ret = save_readwrite(fdin, fdout);
-#endif /* HAVE_SPLICE */
-       if (ret)
-               goto fail;
-
-       close(fdout);
-       g_debug("Moving `%s' to `%s'", info.tmpname, info.newname);
-       if (maildir_movetmpnew(info.tmpname, info.newname)) {
-               g_critical("Moving `%s' to `%s' failed: %s",
-                       info.tmpname, info.newname, g_strerror(errno));
-               unlink(info.tmpname);
-               return EX_IOERR;
-       }
-
-       if (path)
-               *path = g_strdup(info.newname);
-
-       maildir_tmpcreate_free(&info);
-
-       return 0;
-
-fail:
-       g_debug("Unlinking `%s'", info.tmpname);
-       unlink(info.tmpname);
-       return EX_IOERR;
-}
-
-static int
-add_tags(notmuch_message_t *message, char **tags)
-{
-       unsigned i;
-       notmuch_status_t ret;
-
-       if (!tags)
-               return 0;
-
-       for (i = 0; tags[i]; i++) {
-               ret = notmuch_message_add_tag(message, tags[i]);
-               if (ret != NOTMUCH_STATUS_SUCCESS)
-                       g_warning("Failed to add tag `%s': %s",
-                               tags[i], notmuch_status_to_string(ret));
-       }
-
-       return i;
-}
-
-static int
-rm_tags(notmuch_message_t *message, char **tags)
-{
-       unsigned i;
-       notmuch_status_t ret;
-
-       if (!tags)
-               return 0;
-
-       for (i = 0; tags[i]; i++) {
-               ret = notmuch_message_remove_tag(message, tags[i]);
-               if (ret != NOTMUCH_STATUS_SUCCESS)
-                       g_warning("Failed to remove tag `%s': %s",
-                               tags[i], notmuch_status_to_string(ret));
-       }
-
-       return i;
-}
-
-static int
-save_database(notmuch_database_t *db, const char *path, char **default_tags)
-{
-       notmuch_status_t ret;
-       notmuch_message_t *message;
-
-       g_debug("Adding `%s' to notmuch database", path);
-       ret = notmuch_database_add_message(db, path, &message);
-       switch (ret) {
-       case NOTMUCH_STATUS_SUCCESS:
-               break;
-       case NOTMUCH_STATUS_DUPLICATE_MESSAGE_ID:
-               g_debug("Message is a duplicate, not adding tags");
-               return 0;
-       default:
-               g_warning("Failed to add `%s' to notmuch database: %s",
-                       path, notmuch_status_to_string(ret));
-               return EX_SOFTWARE;
-       }
-
-       g_debug("Message isn't a duplicate, adding tags");
-       add_tags(message, default_tags);
-       add_tags(message, opt_tags);
-       rm_tags(message, opt_rtags);
-
-       return 0;
-}
-
-int
-main(int argc, char **argv)
-{
-       int ret;
-       gchar *conf_path, *db_path, *folder, *maildir, *mail;
-       gchar **conf_tags;
-       GOptionContext *ctx;
-       GError *error = NULL;
-       notmuch_database_t *db;
-       notmuch_status_t status;
-
-       ctx = g_option_context_new("[FOLDER]");
-       g_option_context_add_main_entries(ctx, options, PACKAGE);
-       g_option_context_set_summary(ctx, PACKAGE"-"VERSION GITHEAD" - notmuch delivery tool");
-       g_option_context_set_description(ctx,
-               "\nConfiguration:\n"
-               "  "PACKAGE" uses notmuch's configuration file to determine database path and\n"
-               "  initial tags to add to new messages. You may set NOTMUCH_CONFIG environment\n"
-               "  variable to specify an alternative configuration file.\n"
-               "\nEnvironment:\n"
-               "  NOTMUCH_CONFIG: Path to notmuch configuration file\n"
-               "  NOTMUCH_DELIVER_NO_SPLICE: Don't use splice() even if it's available\n"
-               "\nExit codes:\n"
-               "  0   => Successful run\n"
-               "  64  => Usage error\n"
-               "  70  => Failed to open the database\n"
-               "         (or to add to the database if --fatal-add is specified)\n"
-               "  71  => Input output errors\n"
-               "         (failed to read from standard input)\n"
-               "         (failed to write to temporary file)\n"
-               "  76  => Failed to open/create maildir\n"
-               "  78  => Configuration error (wrt .notmuch-config)\n");
-
-       g_log_set_default_handler(log_handler, NULL);
-
-       if (!g_option_context_parse(ctx, &argc, &argv, &error)) {
-               g_critical("Option parsing failed: %s", error->message);
-               g_option_context_free(ctx);
-               g_error_free(error);
-               return EX_USAGE;
-       }
-       g_option_context_free(ctx);
-
-       if (opt_version) {
-               about();
-               return 0;
-       }
-
-       if (g_getenv("NOTMUCH_CONFIG"))
-               conf_path = g_strdup(g_getenv("NOTMUCH_CONFIG"));
-       else if (g_getenv("HOME"))
-               conf_path = g_build_filename(g_getenv("HOME"), ".notmuch-config", NULL);
-       else {
-               g_critical("Neither NOTMUCH_CONFIG nor HOME set");
-               return EX_USAGE;
-       }
-
-       db_path = NULL;
-       conf_tags = NULL;
-       g_debug("Parsing configuration from `%s'", conf_path);
-       if (!load_keyfile(conf_path, &db_path, &conf_tags)) {
-               g_free(conf_path);
-               return EX_CONFIG;
-       }
-       g_free(conf_path);
-
-       if ((argc - 1) > 1) {
-               g_critical("Won't deliver to %d folders", argc - 1);
-               return EX_USAGE;
-       }
-
-       if (argc > 1) {
-               folder = g_strdup_printf("%s%s", opt_folder ? "." : "", argv[1]);
-               maildir = g_build_filename(db_path, folder, NULL);
-               g_free(folder);
-       }
-       else
-               maildir = g_strdup(db_path);
-
-       g_debug("Opening notmuch database `%s'", db_path);
-       status = notmuch_database_open(db_path, NOTMUCH_DATABASE_MODE_READ_WRITE,
-                                      &db);
-       if (status) {
-           g_critical("Failed to open database `%s': %s",
-                      db_path, notmuch_status_to_string(status));
-           g_free(maildir);
-           return EX_SOFTWARE;
-       }
-       g_free(db_path);
-       if (db == NULL)
-               return EX_SOFTWARE;
-       if (notmuch_database_needs_upgrade(db)) {
-               g_message("Upgrading database");
-               notmuch_database_upgrade(db, NULL, NULL);
-       }
-
-       g_debug("Opening maildir `%s'", maildir);
-       if ((ret = save_maildir(STDIN_FILENO, maildir, opt_create, &mail)) != 0) {
-               g_free(maildir);
-               return ret;
-       }
-       g_free(maildir);
-
-       if ((ret = save_database(db, mail, conf_tags)) != 0 && opt_fatal) {
-               g_warning("Unlinking `%s'", mail);
-               unlink(mail);
-               return ret;
-       }
-       g_strfreev(conf_tags);
-       g_strfreev(opt_tags);
-       g_strfreev(opt_rtags);
-       g_free(mail);
-
-       notmuch_database_destroy(db);
-
-       return 0;
-}