New Upstream Snapshot - getmail6

Ready changes

Summary

Merged new upstream version: 6.18.11+git20230101.1.b9f8a33 (was: 6.18.11).

Resulting package

Built on 2023-01-07T00:21 (took 11m24s)

The resulting binary packages can be installed (if you have the apt repository enabled) by running one of:

apt install -t fresh-snapshots getmail6

Lintian Result

Diff

diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index 9b52f15..0000000
--- a/.gitignore
+++ /dev/null
@@ -1,140 +0,0 @@
-test/temp.*
-
-# Byte-compiled / optimized / DLL files
-__pycache__/
-*.py[cod]
-*$py.class
-
-# C extensions
-*.so
-
-# Distribution / packaging
-.Python
-build/
-develop-eggs/
-dist/
-downloads/
-eggs/
-.eggs/
-lib/
-lib64/
-parts/
-sdist/
-var/
-wheels/
-share/python-wheels/
-*.egg-info/
-.installed.cfg
-*.egg
-MANIFEST
-
-# PyInstaller
-#  Usually these files are written by a python script from a template
-#  before PyInstaller builds the exe, so as to inject date/other infos into it.
-*.manifest
-*.spec
-
-# Installer logs
-pip-log.txt
-pip-delete-this-directory.txt
-
-# Unit test / coverage reports
-htmlcov/
-.tox/
-.nox/
-.coverage
-.coverage.*
-.cache
-nosetests.xml
-coverage.xml
-*.cover
-*.py,cover
-.hypothesis/
-.pytest_cache/
-cover/
-
-# Translations
-*.mo
-*.pot
-
-# Django stuff:
-*.log
-local_settings.py
-db.sqlite3
-db.sqlite3-journal
-
-# Flask stuff:
-instance/
-.webassets-cache
-
-# Scrapy stuff:
-.scrapy
-
-# Sphinx documentation
-docs/_build/
-
-# PyBuilder
-.pybuilder/
-target/
-
-# Jupyter Notebook
-.ipynb_checkpoints
-
-# IPython
-profile_default/
-ipython_config.py
-
-# pyenv
-#   For a library or package, you might want to ignore these files since the code is
-#   intended to run in multiple environments; otherwise, check them in:
-# .python-version
-
-# pipenv
-#   According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
-#   However, in case of collaboration, if having platform-specific dependencies or dependencies
-#   having no cross-platform support, pipenv may install dependencies that don't work, or not
-#   install all needed dependencies.
-#Pipfile.lock
-
-# PEP 582; used by e.g. github.com/David-OConnor/pyflow
-__pypackages__/
-
-# Celery stuff
-celerybeat-schedule
-celerybeat.pid
-
-# SageMath parsed files
-*.sage.py
-
-# Environments
-.env
-.venv
-env/
-venv/
-ENV/
-env.bak/
-venv.bak/
-
-# Spyder project settings
-.spyderproject
-.spyproject
-
-# Rope project settings
-.ropeproject
-
-# mkdocs documentation
-/site
-
-# mypy
-.mypy_cache/
-.dmypy.json
-dmypy.json
-
-# Pyre type checker
-.pyre/
-
-# pytype static type analyzer
-.pytype/
-
-# Cython debug symbols
-cython_debug/
diff --git a/Makefile b/Makefile
deleted file mode 100644
index ddf231d..0000000
--- a/Makefile
+++ /dev/null
@@ -1,64 +0,0 @@
-# docs/COPYING 2a + DRY: https://github.com/getmail6/getmail6
-# Please refer to the git history regarding who changed what and when in this file.
-
-# Needs Docker Daemon running
-# systemctl start docker
-
-.PHONY: doc
-doc:
-	links -dump docs/documentation.html > docs/documentation.txt
-	links -dump docs/configuration.html > docs/configuration.txt
-	links -dump docs/faq.html > docs/faq.txt
-	links -dump docs/troubleshooting.html > docs/troubleshooting.txt
-
-.PHONY: cleantest
-cleantest:
-	rm -rf /tmp/mailserver/python?
-
-.PHONY: test2
-test2:
-	cd test && ./prepare_test.sh 2
-	cd /tmp/mailserver && test/bats/bin/bats test/test_getmail_with_docker_mailserver.bats
-
-.PHONY: test3
-test3:
-	cd test && ./prepare_test.sh 3
-	cd /tmp/mailserver && test/bats/bin/bats test/test_getmail_with_docker_mailserver.bats
-
-.PHONY: testpython
-testpython:
-	pytest test/test.py
-
-.PHONY: test
-test: testpython cleantest test3 test2
-	cd /tmp/mailserver && docker-compose down
-
-.PHONY: check
-check:
-	/usr/bin/man -l docs/getmail.1
-	/usr/bin/man -l docs/getmails.1
-	/usr/bin/man -l docs/getmail_fetch.1
-	/usr/bin/man -l docs/getmail_maildir.1
-	/usr/bin/man -l docs/getmail_mbox.1
-	restview --long-description --strict
-
-.PHONY: dist
-dist: doc
-	echo "need sudo to create wheel"
-	sudo python setup.py bdist_wheel
-	echo "note:"
-	echo "use ./pypi.sh to upload to PYPI"
-
-# use ./pypi.sh to upload to PYPI
-.PHONY: up
-up: dist
-	twine upload dist/`ls dist -rt | tail -1`
-
-.PHONY: tag
-tag: dist
-	$(eval TAGMSG="v$(shell ./getmail --version | cut -d ' ' -f 2)")
-	echo $(TAGMSG)
-	git tag -s $(TAGMSG) -m"$(TAGMSG)"
-	git verify-tag $(TAGMSG)
-	git push origin $(TAGMSG) --follow-tags
-
diff --git a/PKG-INFO b/PKG-INFO
index dc44230..df487c3 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,14 +1,13 @@
-Metadata-Version: 1.1
-Name: getmail
-Version: 6.00
+Metadata-Version: 2.1
+Name: getmail6
+Version: 6.18.11
 Summary: a mail retrieval, sorting, and delivering system
-Home-page: http://pyropus.ca/software/getmail/
-Author: Charles Cazabon
+Home-page: https://www.getmail6.org/
+Download-URL: https://github.com/getmail6/getmail6/releases
+Author: Charles Cazabon, Roland Puntaier, and others
 Author-email: charlesc-getmail@pyropus.ca
+Maintainer-email: roland.puntaier@gmail.com
 License: GNU GPL version 2
-Download-URL: http://pyropus.ca/software/getmail/#download
-Description: getmail is a multi-protocol mail retrieval system withsupport for simple and domain POP3 and IMAP4 mailboxes, domain SDPS mailboxes, POP3-over-SSL and IMAP-over-SSL, mail sorting, message filtering, and delivery to Maildirs, Mboxrd files, external MDAs, and other advanced features.
-Platform: UNKNOWN
 Classifier: Development Status :: 4 - Beta
 Classifier: Environment :: Console
 Classifier: Intended Audience :: End Users/Desktop
@@ -24,3 +23,139 @@ Classifier: Topic :: Communications :: Email :: Post-Office :: IMAP
 Classifier: Topic :: Communications :: Email :: Post-Office :: POP3
 Classifier: Topic :: Software Development :: Libraries :: Python Modules
 Classifier: Topic :: Utilities
+
+.. vim: syntax=rst
+
+.. docs/COPYING 2a + DRY: https://github.com/getmail6/getmail6
+.. Please refer to the git history regarding who changed what and when in this file.
+
+getmail6
+========
+
+getmail6 is a flexible, extensible mail retrieval system with
+support for POP3, IMAP4, SSL variants of both, maildirs, mboxrd files,
+external MDAs, arbitrary message filtering, single-user and domain-mailboxes,
+and many other useful features.
+
+getmail is Copyright (C) 1998-2023 Charles Cazabon and others.
+getmail is licensed for use under the GNU General Public License version 2 (only).
+See ``docs/COPYING`` for specific terms and distribution information.
+
+getmail6 has adaptations to work with Python 3.
+These changes might still contain some bugs.
+Please report them at https://github.com/getmail6/getmail6.
+See ``docs/BUGS`` for instructions on reporting bugs.
+
+getmail6 will probably not work with Python versions older than 2.7.
+Use getmail 5.14 with them.
+
+Installation
+------------
+
+To install::
+
+  pip install getmail6
+
+To uninstall::
+
+  pip uninstall getmail6
+
+You can install getmail6 in your home directory if you add ``--user``.
+
+If getmail6 is available via your Linux distribution, you better use that.
+
+Usage
+-----
+
+getmail6 is not a python API.
+getmail6 provides command line tools:
+
+- getmail
+- getmail_maildir,
+- getmail_mbox
+- getmail_fetch
+- getmail-gmail-xoauth-tokens
+
+Before using ``getmail`` you must configure it.
+See ``docs/configuration.txt`` and ``docs/getmailrc-examples``.
+An example::
+
+  [retriever]
+  type = SimpleIMAPSSLRetriever
+  server = imap.gmail.com 
+  port = 993
+  username = <your_email_here>
+  #password = ... or
+  password_command = ("pass", "<your_email_here>")
+
+  [destination]
+  type = Maildir
+  path = ~/Mail/<your_email_here>/INBOX/
+
+  [options]
+  read_all = true
+  delete = true
+
+Google gmail
+------------
+
+For **gmail**,
+after having enabled 2-Step Authentication,
+let google generate an "app password" for you.
+Then, for the above example,
+use ``pass edit <your_email_here>`` and change to the generate one.
+
+- Go to https://mail.google.com
+- If you are signed in, on the left upper corner there is a cogwheel symbol for settings
+- Choose "See all Settings"
+- "Accounts and Imports" tab, then "Other Google Account Settings"/"Security" brings you to
+  https://myaccount.google.com/u/0/security?hl=en
+- Turn on "2-Step Verification" (also known as 2-factor-authentication or 2FA)
+- In "App passwords", generate a password for your device
+- Update this in your password command.
+
+See also: https://support.google.com/accounts/answer/185833
+
+Oauth2 Privacy Policy
+---------------------
+
+getmail is a native app.
+See
+https://developers.google.com/identity/protocols/oauth2/native-app
+Still, to download your email from gmail to your computer using OAuth2
+you need to grant getmail OAuth2 access to the scope ``https://mail.google.com/``,
+as you would to web apps.
+Unfortunately, the init step in example 12 in ``docs/getmailrc-examples``
+has to be repeated regularly.
+This makes the *app password* method above a better alternative.
+Don't forget to remove the ``use_xoauth2`` line,
+if you switch from Oauth2 to *app password*.
+
+Tests
+-----
+
+getmail 5.14 did not come with tests.
+
+There is now a test folder that uses
+`docker-mailserver <https://github.com/docker-mailserver/docker-mailserver>`__
+for black box testing.
+
+This still tests Python 2.7.
+
+Tests are work in progress.
+
+Documentation
+-------------
+
+See the HTML documentation for details on setting up and using ``getmail``.
+It is included in the ``docs`` subdirectory,
+and will be installed in ``<PREFIX>/doc/getmail-<version>/`` (by default).
+
+::
+
+  docs/documentation.txt
+  docs/configuration.txt
+  docs/faq.txt
+  docs/troubleshooting.txt
+
+
diff --git a/debian/changelog b/debian/changelog
index a42345b..f54fcda 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+getmail6 (6.18.11+git20230101.1.b9f8a33-1) UNRELEASED; urgency=low
+
+  * New upstream snapshot.
+
+ -- Debian Janitor <janitor@jelmer.uk>  Sat, 07 Jan 2023 00:12:58 -0000
+
 getmail6 (6.18.11-1) unstable; urgency=medium
 
   * New upstream version 6.18.11
diff --git a/docs/CHANGELOG b/docs/CHANGELOG
index 1c6e3a7..87e6f7d 100644
--- a/docs/CHANGELOG
+++ b/docs/CHANGELOG
@@ -1,14 +1,14 @@
 Version 6.18.11
 1 January 2023
-     #149 (h3xx/fix-shell-quote) added ability to process token creation on a headless server (device without a browser)
-     #146 (ykasap/appperms) Fix shell quoting issue
-     #145 add "offline_access" permission in Example 13 docs/getmailrc-examples (Exchange Online)
-     #141 add documentation for --searchset/-s
-     #142 dont consider hidden files as config file (if no --rcfile)
-     #138 (ChrisTG742) partial fix for #135 (getmail-gmail-xoauth-tokens errors are confusing)
-          HTTP exception handling for GET requests
-     #134 (ChrisTG742) fix #129 (MDA_external: screen output of called script silently dropped)
-          new option "pipe_stdout" to the [destination] settings block
+    - #149 (h3xx/fix-shell-quote) added ability to process token creation on a headless server (device without a browser)
+    - #146 (ykasap/appperms) Fix shell quoting issue
+    - #145 add "offline_access" permission in Example 13 docs/getmailrc-examples (Exchange Online)
+    - #141 add documentation for --searchset/-s
+    - #142 dont consider hidden files as config file (if no --rcfile)
+    - #138 (ChrisTG742) partial fix for #135 (getmail-gmail-xoauth-tokens errors are confusing)
+      HTTP exception handling for GET requests
+    - #134 (ChrisTG742) fix #129 (MDA_external: screen output of called script silently dropped)
+      new option "pipe_stdout" to the [destination] settings block
 
 Version 6.18.10
 20 September 2022
diff --git a/docs/HACKING b/docs/HACKING
deleted file mode 100644
index 8eafc9e..0000000
--- a/docs/HACKING
+++ /dev/null
@@ -1,4 +0,0 @@
-Should you want to modify the documentation files here:
-- Install links
-- Modify the .html
-- Regenerate the .txt by running "make doc" from the toplevel directory
diff --git a/getmail6.egg-info/PKG-INFO b/getmail6.egg-info/PKG-INFO
new file mode 100644
index 0000000..df487c3
--- /dev/null
+++ b/getmail6.egg-info/PKG-INFO
@@ -0,0 +1,161 @@
+Metadata-Version: 2.1
+Name: getmail6
+Version: 6.18.11
+Summary: a mail retrieval, sorting, and delivering system
+Home-page: https://www.getmail6.org/
+Download-URL: https://github.com/getmail6/getmail6/releases
+Author: Charles Cazabon, Roland Puntaier, and others
+Author-email: charlesc-getmail@pyropus.ca
+Maintainer-email: roland.puntaier@gmail.com
+License: GNU GPL version 2
+Classifier: Development Status :: 4 - Beta
+Classifier: Environment :: Console
+Classifier: Intended Audience :: End Users/Desktop
+Classifier: Intended Audience :: System Administrators
+Classifier: License :: OSI Approved :: GNU General Public License (GPL)
+Classifier: Natural Language :: English
+Classifier: Operating System :: OS Independent
+Classifier: Operating System :: POSIX
+Classifier: Programming Language :: Python
+Classifier: Topic :: Communications :: Email
+Classifier: Topic :: Communications :: Email :: Filters
+Classifier: Topic :: Communications :: Email :: Post-Office :: IMAP
+Classifier: Topic :: Communications :: Email :: Post-Office :: POP3
+Classifier: Topic :: Software Development :: Libraries :: Python Modules
+Classifier: Topic :: Utilities
+
+.. vim: syntax=rst
+
+.. docs/COPYING 2a + DRY: https://github.com/getmail6/getmail6
+.. Please refer to the git history regarding who changed what and when in this file.
+
+getmail6
+========
+
+getmail6 is a flexible, extensible mail retrieval system with
+support for POP3, IMAP4, SSL variants of both, maildirs, mboxrd files,
+external MDAs, arbitrary message filtering, single-user and domain-mailboxes,
+and many other useful features.
+
+getmail is Copyright (C) 1998-2023 Charles Cazabon and others.
+getmail is licensed for use under the GNU General Public License version 2 (only).
+See ``docs/COPYING`` for specific terms and distribution information.
+
+getmail6 has adaptations to work with Python 3.
+These changes might still contain some bugs.
+Please report them at https://github.com/getmail6/getmail6.
+See ``docs/BUGS`` for instructions on reporting bugs.
+
+getmail6 will probably not work with Python versions older than 2.7.
+Use getmail 5.14 with them.
+
+Installation
+------------
+
+To install::
+
+  pip install getmail6
+
+To uninstall::
+
+  pip uninstall getmail6
+
+You can install getmail6 in your home directory if you add ``--user``.
+
+If getmail6 is available via your Linux distribution, you better use that.
+
+Usage
+-----
+
+getmail6 is not a python API.
+getmail6 provides command line tools:
+
+- getmail
+- getmail_maildir,
+- getmail_mbox
+- getmail_fetch
+- getmail-gmail-xoauth-tokens
+
+Before using ``getmail`` you must configure it.
+See ``docs/configuration.txt`` and ``docs/getmailrc-examples``.
+An example::
+
+  [retriever]
+  type = SimpleIMAPSSLRetriever
+  server = imap.gmail.com 
+  port = 993
+  username = <your_email_here>
+  #password = ... or
+  password_command = ("pass", "<your_email_here>")
+
+  [destination]
+  type = Maildir
+  path = ~/Mail/<your_email_here>/INBOX/
+
+  [options]
+  read_all = true
+  delete = true
+
+Google gmail
+------------
+
+For **gmail**,
+after having enabled 2-Step Authentication,
+let google generate an "app password" for you.
+Then, for the above example,
+use ``pass edit <your_email_here>`` and change to the generate one.
+
+- Go to https://mail.google.com
+- If you are signed in, on the left upper corner there is a cogwheel symbol for settings
+- Choose "See all Settings"
+- "Accounts and Imports" tab, then "Other Google Account Settings"/"Security" brings you to
+  https://myaccount.google.com/u/0/security?hl=en
+- Turn on "2-Step Verification" (also known as 2-factor-authentication or 2FA)
+- In "App passwords", generate a password for your device
+- Update this in your password command.
+
+See also: https://support.google.com/accounts/answer/185833
+
+Oauth2 Privacy Policy
+---------------------
+
+getmail is a native app.
+See
+https://developers.google.com/identity/protocols/oauth2/native-app
+Still, to download your email from gmail to your computer using OAuth2
+you need to grant getmail OAuth2 access to the scope ``https://mail.google.com/``,
+as you would to web apps.
+Unfortunately, the init step in example 12 in ``docs/getmailrc-examples``
+has to be repeated regularly.
+This makes the *app password* method above a better alternative.
+Don't forget to remove the ``use_xoauth2`` line,
+if you switch from Oauth2 to *app password*.
+
+Tests
+-----
+
+getmail 5.14 did not come with tests.
+
+There is now a test folder that uses
+`docker-mailserver <https://github.com/docker-mailserver/docker-mailserver>`__
+for black box testing.
+
+This still tests Python 2.7.
+
+Tests are work in progress.
+
+Documentation
+-------------
+
+See the HTML documentation for details on setting up and using ``getmail``.
+It is included in the ``docs`` subdirectory,
+and will be installed in ``<PREFIX>/doc/getmail-<version>/`` (by default).
+
+::
+
+  docs/documentation.txt
+  docs/configuration.txt
+  docs/faq.txt
+  docs/troubleshooting.txt
+
+
diff --git a/getmail6.egg-info/SOURCES.txt b/getmail6.egg-info/SOURCES.txt
new file mode 100644
index 0000000..9971bfa
--- /dev/null
+++ b/getmail6.egg-info/SOURCES.txt
@@ -0,0 +1,46 @@
+MANIFEST.in
+README
+getmail
+getmail-gmail-xoauth-tokens
+getmail_fetch
+getmail_maildir
+getmail_mbox
+getmails
+setup.py
+./README
+docs/BUGS
+docs/CHANGELOG
+docs/COPYING
+docs/THANKS
+docs/configuration.html
+docs/configuration.txt
+docs/documentation.html
+docs/documentation.txt
+docs/faq.html
+docs/faq.txt
+docs/getmail.1
+docs/getmail_fetch.1
+docs/getmail_maildir.1
+docs/getmail_mbox.1
+docs/getmaildocs.css
+docs/getmailrc-examples
+docs/getmails.1
+docs/troubleshooting.html
+docs/troubleshooting.txt
+getmail6.egg-info/PKG-INFO
+getmail6.egg-info/SOURCES.txt
+getmail6.egg-info/dependency_links.txt
+getmail6.egg-info/top_level.txt
+getmailcore/__init__.py
+getmailcore/_retrieverbases.py
+getmailcore/baseclasses.py
+getmailcore/constants.py
+getmailcore/destinations.py
+getmailcore/exceptions.py
+getmailcore/filters.py
+getmailcore/imap_utf7.py
+getmailcore/logging.py
+getmailcore/message.py
+getmailcore/retrievers.py
+getmailcore/utilities.py
+test/test.py
\ No newline at end of file
diff --git a/getmail6.egg-info/dependency_links.txt b/getmail6.egg-info/dependency_links.txt
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/getmail6.egg-info/dependency_links.txt
@@ -0,0 +1 @@
+
diff --git a/getmail6.egg-info/top_level.txt b/getmail6.egg-info/top_level.txt
new file mode 100644
index 0000000..ccc4ca9
--- /dev/null
+++ b/getmail6.egg-info/top_level.txt
@@ -0,0 +1 @@
+getmailcore
diff --git a/pypi.sh b/pypi.sh
deleted file mode 100755
index 528bc29..0000000
--- a/pypi.sh
+++ /dev/null
@@ -1,13 +0,0 @@
-# docs/COPYING 2a + DRY: https://github.com/getmail6/getmail6
-# Please refer to the git history regarding who changed what and when in this file.
-
-if git status | grep nothing; then
-    make dist
-    make up
-    sed -i -e "s/name.*=.*getmail6./name = 'getmail'/g" setup.py
-    make dist
-    make up
-    git reset --hard
-else
-    echo Commit changes first!
-fi
diff --git a/setup.cfg b/setup.cfg
new file mode 100644
index 0000000..8bfd5a1
--- /dev/null
+++ b/setup.cfg
@@ -0,0 +1,4 @@
+[egg_info]
+tag_build = 
+tag_date = 0
+
diff --git a/test/README.rst b/test/README.rst
deleted file mode 100644
index 14c8ec2..0000000
--- a/test/README.rst
+++ /dev/null
@@ -1,37 +0,0 @@
-Tests
-=====
-
-A
-`docker-mailserver <https://github.com/docker-mailserver/docker-mailserver>`__
-image is created at ``/tmp/mailserver``.
-
-To reset the test setup:
-
-.. code:: sh
-
-    cd /tmp/mailserver
-    docker-compose down
-    sudo rm -rf /tmp/mailserver/
-
-The ``sudo`` is needed for the self-signed ``.pem`` files,
-created by ``self_sign.sh``.
-
-``prepare_test.sh 2/3`` sets up ``/tmp/mailserver`` for Python 2 or Python 3.
-
-The tests are in ``.bats`` files.
-
-``make test2`` runs tests for Python 2.
-``/tmp/mailserver`` is not renewed on repeated runs.
-
-``make test3`` runs tests for Python 3.
-``/tmp/mailserver`` is not renewed on repeated runs.
-
-``make test`` runs tests for Python 2 and Python 3.
-``/tmp/mailserver`` is renewed on repeated runs.
-
-To force a renew in the next make run.
-
-.. code:: sh
-
-    rm -rf /tmp/mailserver/python?
-
diff --git a/test/docker-compose.yml b/test/docker-compose.yml
deleted file mode 100644
index a6607d9..0000000
--- a/test/docker-compose.yml
+++ /dev/null
@@ -1,39 +0,0 @@
-version: '3.8'
-
-services:
-  mailserver:
-    build:
-      context: /tmp/mailserver/docker-mailserver-getmail6test
-    image: docker-mailserver-getmail6test
-    hostname: ${HOSTNAME}
-    domainname: ${DOMAINNAME}
-    container_name: ${CONTAINER_NAME}
-    env_file: mailserver.env
-    ports:
-      - "25:25"
-      - "143:143"
-      - "587:587"
-      - "993:993"
-    volumes:
-      - maildata:/var/mail
-      - mailstate:/var/mail-state
-      - maillogs:/var/log/mail
-      - ./config/:/tmp/docker-mailserver/${SELINUX_LABEL}
-    restart: always
-    environment:
-      - SSL_TYPE=self-signed
-      - ENABLE_POP3=1
-      - ENABLE_CLAMAV=1
-      - ENABLE_SPAMASSASSIN=1
-      - DOVECOT_TLS="yes"
-      - PSS=test
-      - TESTEMAIL=address@domain.tld
-    cap_add:
-      #- NET_ADMIN
-      - SYS_PTRACE
-
-volumes:
-  maildata:
-  mailstate:
-  maillogs:
-
diff --git a/test/docker-mailserver-getmail6test/Dockerfile b/test/docker-mailserver-getmail6test/Dockerfile
deleted file mode 100644
index 0e38ffb..0000000
--- a/test/docker-mailserver-getmail6test/Dockerfile
+++ /dev/null
@@ -1,23 +0,0 @@
-FROM ghcr.io/docker-mailserver/docker-mailserver:9.0.1
-
-RUN apt-get update && apt-get -y install \
-        git \
-        iputils-ping \
-        make \
-        nmap \
-        procmail \
-        python-pip \
-        python3-pip \
-    && rm -rf /var/lib/apt/lists/*
-
-# add our user to postfix group so we can access dovecot's LMTP unix socket
-RUN useradd -m -s /bin/bash getmail \
-    && usermod -a -G postfix getmail
-
-COPY entrypoint.sh /
-RUN chmod +x /entrypoint.sh
-
-# use our own entrypoint
-ENTRYPOINT ["/entrypoint.sh"]
-# from https://github.com/docker-mailserver/docker-mailserver/blob/014dddafbc2e329b7c35aada498eeba8b940d83d/Dockerfile#L291
-CMD ["supervisord", "-c", "/etc/supervisor/supervisord.conf"]
diff --git a/test/docker-mailserver-getmail6test/entrypoint.sh b/test/docker-mailserver-getmail6test/entrypoint.sh
deleted file mode 100644
index 369905b..0000000
--- a/test/docker-mailserver-getmail6test/entrypoint.sh
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/bin/bash -e
-
-# add user if it doesn't exist
-if ! /usr/local/bin/listmailuser 2>/dev/null | egrep "^${TESTEMAIL}$" > /dev/null; then
-    echo "* creating mailuser"
-    # the env vars are set by our docker-compose.yml
-    /usr/local/bin/addmailuser "${TESTEMAIL}" "${PSS}"
-    /usr/local/bin/addmailuser "other-user@example.com" "${PSS}"
-fi
-
-if [[ ! -e "/tmp/docker-mailserver/ssl" ]]; then
-    echo "* generating SSL certificate"
-    /tmp/docker-mailserver/self_sign.sh
-fi
-
-# run original init
-exec /usr/bin/dumb-init -- $@
\ No newline at end of file
diff --git a/test/prepare_test.sh b/test/prepare_test.sh
deleted file mode 100755
index 4914e96..0000000
--- a/test/prepare_test.sh
+++ /dev/null
@@ -1,731 +0,0 @@
-#!/usr/bin/env bash
-
-# cwd = getmail/test
-
-DOCKER_CONFIG="/tmp/docker-mailserver"
-HOST_CONFIG="/tmp/mailserver/config"
-
-: '
-#----------------------------------------------------------
-
-# requires pytest, docker, docker-compose < V2 (V2 does not work)
-
-cd getmail6
-
-# run all tests
-make test
-# run only python2 tests
-make test2
-# run only python3 tests
-make test3
-
-# force renew of /tmp/mailserver when running `make test`:
-rm /tmp/mailserver/python?
-
-# manual commands as root on docker
-#----------------------------------------------------------
-
-cd test
-. ./prepare_test.sh
-export PYVER=3
-clone_mailserver
-
-# check mailserver after clone_mailserver
-/tmp/mailserver
-docker-compose ps
-docker-compose up -d
-
-# interactive as root
-docker exec -u 0 -it mail.domain.tld bash
-
-# install in mailserver
-apt-get update
-apt-get -y install git make procmail iputils-ping nmap python-pip python3-pip vim
-
-#install getmail6 copied via prepare_test.sh copy_tests
-cd /tmp/docker-mailserver/getmail6
-cat setup.py | sed "s/^\s*download_url.*//p" | python2 - install
-cat setup.py | sed "s/^\s*download_url.*//p" | python3 - install
-
-# self_sign
-/tmp/docker-mailserver/self_sign.sh
-
-# TESTEMAIL from self_sign.sh
-source /tmp/docker-mailserver/self_sign.sh
-
-# add email
-which addmailuser
-ls /usr/local/bin/*mail*
-echo $TESTEMAIL $PSS
-addmailuser $TESTEMAIL $PSS
-listmailuser
-
-# delete
-delmailuser $TESTEMAIL
-exit
-
-# run commands as user on docker
-#----------------------------------------------------------
-
-## prepare_test.sh used in test_getmail_with_docker_mailserver.bats
-cd /home/roland/mine/getmail6/test
-source prepare_test.sh
-echo $GETMAIL6REPO
-yes | cp test_getmail_with_docker_mailserver.bats /tmp/mailserver/test/test_getmail_with_docker_mailserver.bats
-yes | cp prepare_test.sh /tmp/mailserver/config/getmail6/test/prepare_test.sh
-cd /tmp/mailserver
-  d_simple_dest_maildir POP3
-  d_imap_search "ALL true"
-  d_retrieve
-  d_override_test
-  d_config_test "BrokenUIDLPOP3Retriever 110 800 False False"
-  d_docker "cat /home/getmail/getmail"
-  d_docker "rm /home/getmail/getmail"
-
-docker-compose down
-copy_tests
-docker_up
-
-cd /tmp/mailserver
-docker exec -u getmail -it mail.domain.tld bash
-  cat /home/getmail/getmail
-  ls /home/getmail
-cd /tmp/docker-mailserver/getmail6/test/
-source prepare_test.sh
-echo ${PORTNR[IMAPSSL]}
-
-simple_dest_maildir IMAPSSL
-grep_mail "$TESTGREP" && echo "success expected"
-grep_mail utf_8 || echo "fail expected"
-imap_search ALL false
-imap_search UNSEEN true
-imap_search ALL true
-config_test BrokenUIDLPOP3Retriever 110 800 False False
-
-exit
-'
-
-#getmail6/test
-CWD="$(pwd)"
-# echo $CWD
-GETMAIL6REPO=${CWD%/*}
-
-source self_sign.sh
-export PSS TESTEMAIL NAME
-
-MAILSERVERSOURCE="${HOME}/msrc/docker-mailserver"
-if [[ ! -d "$MAILSERVERSOURCE" ]]; then
-    MAILSERVERSOURCE='https://github.com/docker-mailserver/docker-mailserver'
-fi
-# echo $MAILSERVERSOURCE
-
-PYVER=3
-
-function clone_mailserver() {
-    # clone to reuse bats scripts
-    if [[ ! -f /tmp/mailserver/python$PYVER ]]; then
-        if [[ -d /tmp/mailserver ]]; then
-            cd /tmp/mailserver
-            docker-compose down &>/dev/null
-            cd $CWD
-            echo "need sudo to rm /tmp/mailserver"
-            sudo rm -rf /tmp/mailserver
-        fi
-        git clone --recursive -c advice.detachedHead=false -b v9.0.1 $MAILSERVERSOURCE /tmp/mailserver
-        cd /tmp/mailserver
-        touch /tmp/mailserver/python$PYVER
-        yes | cp -f $CWD/docker-compose.yml /tmp/mailserver/
-        cp -R $CWD/docker-mailserver-getmail6test /tmp/mailserver/
-        cat > /tmp/mailserver/.env << EOF
-HOSTNAME="mail"
-DOMAINNAME="domain.tld"
-CONTAINER_NAME="${NAME}"
-SELINUX_LABEL=""
-EOF
-        chmod a+x /tmp/mailserver/setup.sh
-    fi
-}
-
-function copy_tests() {
-    yes | cp -f $GETMAIL6REPO/test/*.bats /tmp/mailserver/test/
-    yes | cp -f $GETMAIL6REPO/test/self_sign.sh /tmp/mailserver/config/
-
-    cd  /tmp/mailserver/config
-    echo "need sudo to rm /tmp/mailserver/config/getmail6"
-    sudo rm -rf getmail6
-    cp -R $GETMAIL6REPO getmail6
-}
-
-function docker_up() {
-    cd  /tmp/mailserver
-
-    # start container if not running
-    if ! docker exec -t ${NAME} bash -c ":" &>/dev/null ; then
-        docker-compose up --build -d
-        docker-compose ps
-        
-        # update ClamAV after startup
-        docker exec -u 0 -t ${NAME} bash -c "freshclam &> /dev/null"
-    fi
-
-    # always reinstall getmail6 to get newest changes
-    #pip2 is 2.7.16
-    #pip3 is 3.7.3
-    docker exec -u 0 -t ${NAME} bash -c "yes | pip$PYVER uninstall getmail6"
-    #docker exec -u 0 -t ${NAME} bash -c "cd /tmp/docker-mailserver/getmail6 && cat setup.py | sed 's/^\s*download_url.*//p' | python$PYVER - install"
-    docker exec -u 0 -t ${NAME} bash -c "cd /tmp/docker-mailserver/getmail6 && pip$PYVER install -e ."
-}
-
-#---- for test_getmail_with_docker_mailserver.bats ----#
-
-export TMPMAIL=/home/getmail/Mail
-export MAILDIR=$TMPMAIL/$TESTEMAIL
-export MAILDIRIN=$MAILDIR/INBOX
-declare -A PORTNR
-PORTNR["POP3"]=110
-PORTNR["IMAP"]=143
-PORTNR["IMAPSSL"]=993
-PORTNR["POP3SSL"]=995
-PORTNR["SMTP"]=25
-PORTNR["SMTPSSL"]=587
-export PORTNR
-
-d_docker(){
-cd /tmp/mailserver
-docker exec -u getmail $NAME bash -c "cd /tmp/docker-mailserver/getmail6/test
-source prepare_test.sh
-$@
-"
-}
-
-ports_test(){
-nmap -p25 localhost
-nmap -p143 localhost
-nmap -p587 localhost
-nmap -p993 localhost
-}
-d_ports_test(){
-d_docker ports_test
-}
-
-export TESTGREP="Troms"
-testmail(){
-  nc 0.0.0.0 25 << EOF
-HELO mail.localhost
-MAIL FROM: ${TESTEMAIL}
-RCPT TO: ${TESTEMAIL}
-DATA
-Subject: test
-This is the test text:
-я αβ один süße créme in Tromsœ.
-.
-QUIT
-EOF
-sleep 1
-}
-d_testmail(){
-d_docker testmail
-}
-
-retrieve(){
-getmail --rcfile=getmail --getmaildir=/home/getmail
-}
-d_retrieve(){
-  d_docker retrieve
-}
-
-mail_clean(){
-  rm -rf $MAILDIR
-  mkdir -p $MAILDIRIN/{cur,tmp,new}
-}
-
-maildir_clean_retrieve() {
-  RETRIEVER=$1
-  PORT=${PORTNR[$1]}
-  mail_clean
-  cat > /home/getmail/getmail <<EOF
-[retriever]
-type = Simple${RETRIEVER}Retriever
-server = localhost
-username = $TESTEMAIL
-port = $PORT
-password = $PSS
-record_mailbox = True
-[destination]
-type = Maildir
-path = $MAILDIRIN/
-[options]
-read_all = true
-delete = true
-EOF
-  retrieve
-}
-d_maildir_clean_retrieve() {
-d_docker "maildir_clean_retrieve $@"
-}
-
-simple_dest_maildir() {
-  testmail
-  maildir_clean_retrieve $1
-  grep_mail "$TESTGREP"
-}
-d_simple_dest_maildir() {
-d_docker "simple_dest_maildir $@"
-}
-
-grep_mail(){
-grep "$1" $MAILDIRIN/new/*
-}
-d_grep_mail(){
-d_docker "grep_mail $@"
-}
-
-
-simple_dest_procmail_filter() {
-  RETRIEVER=$1
-  PORT=${PORTNR[$RETRIEVER]}
-  testmail
-  mail_clean
-  mkdir -p $MAILDIR/tests/{cur,tmp,new}
-  cat > /home/getmail/getmail <<EOF
-[retriever]
-type = Simple${RETRIEVER}Retriever
-server = localhost
-username = $TESTEMAIL
-port = $PORT
-password = $PSS
-[destination]
-type = MDA_external
-path = /usr/bin/procmail
-arguments = ('-f', '%(sender)', '-m', '/home/getmail/procmail')
-#pacman -S spamassassin
-[filter-1]
-type = Filter_external
-path = /usr/bin/spamassassin
-ignore_header_shrinkage = True
-#pacman -S clamav
-[filter-2]
-type = Filter_classifier
-path = /usr/bin/clamscan
-arguments = ('--stdout', '--no-summary', '--scan-mail', '--infected', '-')
-exitcodes_drop = (1,)
-[options]
-read_all = true
-delete = true
-EOF
-  cat > /home/getmail/procmail <<EOF
-MAILDIR=$MAILDIR
-DEFAULT=\$MAILDIR/INBOX
-:0
-* ^Subject:.*test.*
-tests/
-:0
-\$DEFAULT/
-EOF
-}
-d_simple_dest_procmail_filter(){
-d_docker "simple_dest_procmail_filter $@"
-}
-
-config_test() {
-  RETRIEVER=$1
-  PORT=$2
-  MAX=$3
-  READALL=$4
-  DEL=$5
-  testmail
-  mail_clean
-  touch $MAILDIR/mbx
-  cat > /home/getmail/getmail <<EOF
-[retriever]
-type = $RETRIEVER
-server = localhost
-username = $TESTEMAIL
-port = $PORT
-password_command = ('/home/getmail/pass',)
-[destination]
-type = Mboxrd
-path = $MAILDIR/mbx
-[options]
-read_all = $READALL
-delete = $DEL
-max_message_size = $MAX
-delete_after = 1
-to_oldmail_on_each_mail = true
-delete_bigger_than = 800
-max_messages_per_session = 9
-max_bytes_per_session = 3000
-verbose = 3
-delivered_to = false
-received = false
-message_log_verbose = true
-message_log_syslog = true
-fingerprint = true
-logfile = /home/getmail/getmail.log
-message_log = ~/getmail_message.log
-EOF
-  cat > /home/getmail/pass <<EOF
-#!/bin/bash
-echo $PSS
-EOF
-  chmod +x /home/getmail/pass
-}
-d_config_test(){
-d_docker "config_test $@"
-}
-
-multidropmail(){
-  nc 0.0.0.0 25 << EOF
-HELO mail.localhost
-MAIL FROM: ${TESTEMAIL}
-RCPT TO: ${TESTEMAIL}
-DATA
-Subject: test
-X-Envelope-To: ${TESTEMAIL}
-Content-Type: multipart/mixed; boundary=\"----=_NextPart_000_0012_A796884C.DCABE8FF\"
-
-This is a multi-part message in MIME format.
-
-------=_NextPart_000_0012_A796884C.DCABE8FF
-Content-Transfer-Encoding: quoted-printable
-Content-Type: text/html
-
-<=21DOCTYPE HTML>
-
-<html><head><title></title>
-<meta http-equiv=3D=22X-UA-Compatible=22 content=3D=22IE=3Dedge=22>
-</head>
-<body style=3D=22margin: 0.4em;=22><p>Dear Sir/Madam,</p>
-</body></html>
-------=_NextPart_000_0012_A796884C.DCABE8FF--
-
-Content-Type: multipart/mixed; boundary=\"----=_NextPart_000_0012_A796884C.DCABE8FF\"
-This is the test text.
-------=_NextPart_000_0012_A796884C.DCABE8FF--
-.
-QUIT
-EOF
-sleep 1
-}
-d_multidropmail(){
-d_docker multidropmail
-}
-
-multidrop_test() {
-  RETRIEVER=$1
-  PORT=$2
-  multidropmail
-  mail_clean
-  cat > /home/getmail/getmail <<EOF
-[retriever]
-type = $RETRIEVER
-server = localhost
-username = $TESTEMAIL
-port = $PORT
-password = $PSS
-envelope_recipient = X-Envelope-To
-[destination]
-type = Maildir
-path = $MAILDIRIN/
-[options]
-read_all = True
-delete = True
-EOF
-}
-d_multidrop_test() {
-d_docker "multidrop_test $@"
-}
-
-multisorter_test() {
-  RETRIEVER=$1
-  PORT=$2
-  multidropmail
-  mail_clean
-  touch $MAILDIR/mbx
-  cat > /home/getmail/getmail <<EOF
-[retriever]
-type = $RETRIEVER
-server = localhost
-username = $TESTEMAIL
-port = $PORT
-password = $PSS
-envelope_recipient = X-Envelope-To
-[destination]
-type = MultiSorter
-default = [localuser1]
-locals = (
-     ('address@', '[localuser1]'),
-     ('address@', '[localuser2]'),
-     )
-[localuser1]
-type = Maildir
-path = $MAILDIRIN/
-user = getmail
-[localuser2]
-type = Mboxrd
-path = $MAILDIR/mbx
-[options]
-read_all = True
-delete = True
-EOF
-}
-d_multisorter_test() {
-d_docker "multisorter_test $@"
-}
-
-lmtp_test_py() {
-  RETRIEVER=$1
-  PORT=$2
-  testmail
-  mail_clean
-  cat > /home/getmail/getmail <<EOF
-[retriever]
-type = ${RETRIEVER}
-server = localhost
-username = $TESTEMAIL
-port = $PORT
-password = $PSS
-[destination]
-type = MDA_lmtp
-host = 127.0.0.1
-port = 23218
-[options]
-read_all = True
-delete = True
-EOF
-  cat > /home/getmail/lmtpd.py <<EOF
-from smtpd import SMTPChannel, SMTPServer
-import asyncore
-class LMTPChannel(SMTPChannel):
-  def smtp_LHLO(self, arg):
-    self.smtp_HELO(arg)
-class LMTPServer(SMTPServer):
-  def __init__(self, localaddr, remoteaddr):
-    SMTPServer.__init__(self, localaddr, remoteaddr)
-  def process_message(self, peer, mailfrom, rcpttos, data, **kwargs):
-    return
-  def handle_accept(self):
-    conn, addr = self.accept()
-    channel = LMTPChannel(self, conn, addr)
-server = LMTPServer(('localhost', 23218), None)
-asyncore.loop()
-EOF
-  python$PYVER /home/getmail/lmtpd.py &
-}
-d_lmtp_test_py() {
-d_docker "lmtp_test_py $@"
-}
-
-lmtp_test_unix_socket() {
-  RETRIEVER=$1
-  PORT=$2
-  nc 0.0.0.0 25 << EOF
-HELO mail.localhost
-MAIL FROM: a-user@example.com
-RCPT TO: ${TESTEMAIL}
-DATA
-From: a-user@example.com
-To: ${TESTEMAIL}
-Subject: lmtp_test_unix_socket_x
-This is the test text:
-я αβ один süße créme in Tromsœ.
-.
-QUIT
-EOF
-  sleep 1
-  mail_clean
-  cat > /home/getmail/getmail <<EOF
-[retriever]
-type = ${RETRIEVER}
-server = localhost
-username = $TESTEMAIL
-port = $PORT
-password = $PSS
-[destination]
-type = MDA_lmtp
-# use docker-mailserver/dovecot's lmtp listener
-host = /var/run/dovecot/lmtp
-[options]
-read_all = True
-delete = True
-EOF
-}
-d_lmtp_test_unix_socket() {
-d_docker "lmtp_test_unix_socket $@"
-}
-
-lmtp_test_override() {
-  RETRIEVER=$1
-  PORT=$2
-  nc 0.0.0.0 25 << EOF
-HELO mail.localhost
-MAIL FROM: a-user@example.com
-RCPT TO: other-user@example.com
-DATA
-From: a-user@example.com
-To: nonexistent-user@example.com
-Subject: lmtp_test_override_x
-This is the test text:
-я αβ один süße créme in Tromsœ.
-.
-QUIT
-EOF
-  sleep 1
-  mail_clean
-  cat > /home/getmail/getmail <<EOF
-[retriever]
-type = ${RETRIEVER}
-server = localhost
-username = other-user@example.com
-port = $PORT
-password = $PSS
-[destination]
-type = MDA_lmtp
-host = /var/run/dovecot/lmtp
-override = $TESTEMAIL
-[options]
-read_all = True
-delete = True
-EOF
-}
-d_lmtp_test_override() {
-d_docker "lmtp_test_override $@"
-}
-
-lmtp_test_override_fallback() {
-  RETRIEVER=$1
-  PORT=$2
-  nc 0.0.0.0 25 << EOF
-HELO mail.localhost
-MAIL FROM: a-user@example.com
-RCPT TO: other-user@example.com
-DATA
-From: a-user@example.com
-To: nonexistent-user@example.com
-Subject: lmtp_test_override_fallback_x
-This is the test text:
-я αβ один süße créme in Tromsœ.
-.
-QUIT
-EOF
-  sleep 1
-  mail_clean
-  cat > /home/getmail/getmail <<EOF
-[retriever]
-type = ${RETRIEVER}
-server = localhost
-username = other-user@example.com
-port = $PORT
-password = $PSS
-[destination]
-type = MDA_lmtp
-host = /var/run/dovecot/lmtp
-override = another-nonexistent-user
-fallback = $TESTEMAIL
-[options]
-read_all = True
-delete = True
-EOF
-}
-d_lmtp_test_override_fallback() {
-d_docker "lmtp_test_override_fallback $@"
-}
-
-imap_search() {
-  DELETE=$2
-  RETRIEVER=IMAPSSL
-  PORT=${PORTNR[$RETRIEVER]}
-  IMAPSEARCH=$1
-  IMAPDELETE="(\Seen)"
-  [[ "$1" == "ALL" ]] && testmail
-  [[ "$1" == "ALL" ]] && IMAPDELETE=""
-  [[ "$1" == "ALL" ]] && IMAPSEARCH=""
-  mail_clean
-  cat > /home/getmail/getmail <<EOF
-[retriever]
-type = Simple${RETRIEVER}Retriever
-server = localhost
-username = $TESTEMAIL
-port = $PORT
-password = $PSS
-record_mailbox = True
-imap_search = $IMAPSEARCH
-imap_on_delete = $IMAPDELETE
-[destination]
-type = Maildir
-path = $MAILDIRIN/
-[options]
-read_all = true
-delete = $DELETE
-EOF
-}
-d_imap_search() {
-d_docker "imap_search $@"
-}
-
-override_test(){
-getmail --rcfile=getmail --getmaildir=/home/getmail -s,
-grep_mail "$TESTGREP"
-mail_clean
-#(Unseen \Seen) so this time 0
-getmail --rcfile=getmail --getmaildir=/home/getmail -s,
-[[ "$(grep "$TESTGREP" $MAILDIRIN/new/* -l | wc -l)" == "0" ]]
-mail_clean
-getmail --rcfile=getmail --getmaildir=/home/getmail --searchset UNSEEN --searchset ,SEEN
-[[ "$(grep "$TESTGREP" $MAILDIRIN/new/* -l | wc -l)" == "0" ]]
-mail_clean
-getmail --rcfile=getmail --getmaildir=/home/getmail -s "FROM \"domain\" ,SEEN"
-grep_mail "$TESTGREP"
-mail_clean
-getmail --rcfile=getmail --getmaildir=/home/getmail -s "TEXT \"Troms\" ,SEEN"
-grep_mail "$TESTGREP"
-mail_clean
-getmail --rcfile=getmail --getmaildir=/home/getmail -s "TEXT \"NotThere\""
-[[ "$(grep "$TESTGREP" $MAILDIRIN/new/* -l | wc -l)" == "0" ]]
-getmail --rcfile=getmail --getmaildir=/home/getmail -s "ALL ,SEEN"
-grep_mail "$TESTGREP"
-mail_clean
-getmail --rcfile=getmail --getmaildir=/home/getmail -s "ALL"
-grep_mail "$TESTGREP"
-}
-
-d_override_test() {
-d_docker "imap_search ALL true"
-d_docker override_test
-}
-
-
-d_local_mbox(){
-d_docker "mail_clean && \
-  touch $MAILDIR/mbx && \
-  echo 'βσSß' | getmail_mbox $MAILDIR/mbx && \
-  grep 'βσSß' $MAILDIR/mbx"
-}
-
-d_local_maildir(){
-d_docker "simple_dest_maildir POP3 \
-  echo 'βσSß' | getmail_maildir $MAILDIRIN/ && \
-  grep_mail 'βσSß'"
-}
-
-fetch_maildir() {
-  PORT=${PORTNR["POP3"]}
-  testmail
-  mail_clean
-  getmail_fetch -p $PORT localhost $TESTEMAIL $PSS $MAILDIRIN/
-  grep_mail "$TESTGREP"
-}
-d_fetch_maildir(){
-d_docker fetch_maildir
-}
-
-if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then
-    if [[ $# != 1 ]]; then
-      echo "usage: ./prepare_test.sh <2 or 3>"
-      exit 0
-    fi
-    export PYVER=${1}
-    clone_mailserver
-    copy_tests
-    docker_up
-fi
diff --git a/test/self_sign.sh b/test/self_sign.sh
deleted file mode 100755
index 78e0a23..0000000
--- a/test/self_sign.sh
+++ /dev/null
@@ -1,102 +0,0 @@
-#!/usr/bin/env bash
-
-export PSS="test"
-export TESTEMAIL="address@domain.tld"
-export NAME="mail.domain.tld"
-
-: '
-/tmp/mailserver
-docker-compose ps
-docker exec -u 0 -it mail.domain.tld bash
-cd /tmp/docker-mailserver/ssl
-rm -rf *
-cd /tmp/docker-mailserver/
-ls
-./self_sign.sh
-'
-
-export CATOP="/tmp/docker-mailserver/ssl/demoCA"
-export SUBJ="/C=US/ST=domain/L=tld/O=Dis/CN="
-
-# does not persist, but no need to run, because done in
-# /tmp/mailserver/target/scripts/startup/setup-stack.sh:1033
-function install_demo_CA() {
-    ##$CATOP/cacert.pem needs to be added to the system's list of trusted CA's
-    #cp -f ${CATOP}/cacert.pem \
-    #    /usr/share/ca-certificates/cacert.crt
-    ## can be used to remove as well (without the -p)
-    #dpkg-reconfigure -p critical ca-certificates
-    cp -f ${CATOP}/cacert.pem \
-        /usr/local/share/ca-certificates/cacert.crt
-    update-ca-certificates
-}
-
-# persists
-function create_demo_CA() {
-    # from /usr/lib/ssl/misc/CA.pl
-    mkdir -p $CATOP -m 0777
-    mkdir -p $CATOP/certs -m 0777
-    mkdir -p $CATOP/crl -m 0777
-    mkdir -p $CATOP/newcerts -m 0777
-    mkdir -p $CATOP/private -m 0777
-    touch $CATOP/index.txt
-    cat > $CATOP/crlnumber << EOF
-01
-EOF
-    SUBJCA="${SUBJ}for.test.ca"
-    CONFIG="-subj $SUBJCA -passin pass:$PSS -passout pass:$PSS"
-    openssl req $CONFIG -new -keyout $CATOP/private/cakey.pem -out $CATOP/careq.pem 2> /dev/null
-    openssl ca -subj $SUBJCA -passin pass:$PSS -create_serial \
-            -out $CATOP/cacert.pem $CADAYS -batch \
-            -keyfile $CATOP/private/cakey.pem \
-            -selfsign -extensions v3_ca -infiles $CATOP/careq.pem 2> /dev/null
-}
-
-# persists
-function generate_self_signed() {
-    SSL_CFG_PATH="/tmp/docker-mailserver/ssl"
-    if [[ -f ${CATOP}/private/cakey.pem ]]; then
-        return 0
-    fi
-    #from /usr/local/bin/generate-ssl-certificate
-    if [[ -z ${1} ]]
-    then
-      FQDN="$(hostname --fqdn)"
-    else
-      FQDN="${1}"
-    fi
-    if [[ ! -d ${SSL_CFG_PATH} ]]
-    then
-      mkdir "${SSL_CFG_PATH}"
-    fi
-    cd "${SSL_CFG_PATH}" || { echo "cd ${SSL_CFG_PATH} error" ; exit ; }
-
-    rm -rf *
-    create_demo_CA
-
-    # Create an unpassworded private key and create an unsigned public key certificate
-    openssl req -subj "${SUBJ}{$FQDN}" \
-        -new -nodes -keyout "${SSL_CFG_PATH}"/"${FQDN}"-key.pem \
-        -out "${SSL_CFG_PATH}"/"${FQDN}"-req.pem -days 3652 2> /dev/null
-
-    [[ -f "${SSL_CFG_PATH}"/"${FQDN}"-key.pem ]] && echo "${FQDN}-key.pem is there"
-    [[ -f "${SSL_CFG_PATH}"/"${FQDN}"-req.pem ]] && echo "${FQDN}-req.pem is there"
-
-    # Sign the public key certificate with CA certificate
-    openssl ca -out "${SSL_CFG_PATH}"/"${FQDN}"-cert.pem -batch \
-        -passin pass:$PSS -infiles "${SSL_CFG_PATH}"/"${FQDN}"-req.pem 2> /dev/null
-
-    [[ -f "${SSL_CFG_PATH}"/"${FQDN}"-cert.pem ]] && echo "${FQDN}-cert.pem is there"
-
-    # Combine certificates for courier
-    cat "${SSL_CFG_PATH}"/"${FQDN}"-key.pem \
-        "${SSL_CFG_PATH}"/"${FQDN}"-cert.pem > "${SSL_CFG_PATH}"/"${FQDN}"-combined.pem
-
-
-    [[ -f "${SSL_CFG_PATH}"/"${FQDN}"-combined.pem ]] && echo "${FQDN}-combined.pem is there"
-}
-
-if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then
-  generate_self_signed
-fi
-
diff --git a/test/test_getmail_with_docker_mailserver.bats b/test/test_getmail_with_docker_mailserver.bats
deleted file mode 100644
index c55e4a8..0000000
--- a/test/test_getmail_with_docker_mailserver.bats
+++ /dev/null
@@ -1,276 +0,0 @@
-load 'test_helper/common'
-
-: '
-
-cd /tmp/mailserver
-test/bats/bin/bats test/test_getmail_with_docker_mailserver.bats
-
-'
-
-#source config/self_sign.sh
-#export PSS TESTEMAIL NAME
-cd config/getmail6/test
-source prepare_test.sh
-cd ../../..
-
-run_only_test() {
-    if [ "$BATS_TEST_NUMBER" -ne "$1" ]; then
-        skip
-    fi
-}
-
-function setup() {
-    # run_only_test 3
-    setup_file
-}
-
-function teardown() {
-    run_teardown_file_if_necessary
-}
-
-function setup_file() {
-    source '.env'
-    export HOSTNAME DOMAINNAME CONTAINER_NAME SELINUX_LABEL
-    wait_for_finished_setup_in_container ${NAME}
-    local STATUS=0
-    repeat_until_success_or_timeout --fatal-test "container_is_running ${NAME}" "${TEST_TIMEOUT_IN_SECONDS}" sh -c "docker logs ${NAME} | grep 'is up and running'" || STATUS=1
-    if [[ ${STATUS} -eq 1 ]]; then
-        echo "Last ${NUMBER_OF_LOG_LINES} lines of container \`${NAME}\`'s log"
-        docker logs "${NAME}" | tail -n "${NUMBER_OF_LOG_LINES}"
-    fi
-    return ${STATUS}
-}
-
-function teardown_file() {
-    : # docker-compose down
-}
-
-@test "first" {
-  skip 'this test must come first to reliably identify when to run setup_file'
-}
-
-@test "checking ssl" {
-  run docker exec $NAME /bin/bash -c "\
-    openssl s_client -connect 0.0.0.0:25 -starttls smtp -CApath /etc/ssl/certs/"
-  assert_success
-}
-
-@test "checking ports" {
-  run d_ports_test
-  assert_success
-}
-
-bats_check_mail(){
-  run d_retrieve
-  assert_success # expect mail retrieval without error
-  run d_grep_mail "$TESTGREP"
-  assert_success # expect a mail which contains "$TESTGREP"
-  run d_grep_mail utf-8
-  assert_failure # expect no utf-8 encoding of INBOX
-}
-
-bats_simple_dest_maildir (){
-  run d_simple_dest_maildir "$@"
-  #bats_check_mail # moved into simple_dest_maildir, because it failed
-}
-
-@test "SimplePOP3Retriever, destination Maildir" {
-  bats_simple_dest_maildir POP3
-}
-@test "SimplePOP3SSLRetriever, destination Maildir" {
-  bats_simple_dest_maildir POP3SSL
-}
-@test "SimpleIMAPRetriever, destination Maildir" {
-  bats_simple_dest_maildir IMAP
-}
-@test "SimpleIMAPSSLRetriever, destination Maildir" {
-  bats_simple_dest_maildir IMAPSSL
-}
-
-bats_simple_dest_procmail_filter() {
-  run d_simple_dest_procmail_filter "$@"
-  assert_success
-}
-
-@test "SimplePOP3Retriever, destination MDA_external (procmail), filter spamassassin clamav" {
-  bats_simple_dest_procmail_filter POP3
-}
-@test "SimplePOP3SSLRetriever, destination MDA_external (procmail), filter spamassassin clamav" {
-  bats_simple_dest_procmail_filter POP3SSL
-}
-@test "SimpleIMAPRetriever, destination MDA_external (procmail), filter spamassassin clamav" {
-  bats_simple_dest_procmail_filter IMAP
-}
-@test "SimpleIMAPSSLRetriever, destination MDA_external (procmail), filter spamassassin clamav" {
-  bats_simple_dest_procmail_filter IMAPSSL
-}
-
-bats_config_test(){
-  run d_config_test "$@"
-  run d_retrieve
-  assert_success # expect mail retrieval without error
-}
-
-#896 is message size
-
-@test "BrokenUIDLPOP3Retriever, config test" {
-bats_config_test "BrokenUIDLPOP3Retriever 110 800 False False"
-bats_config_test "BrokenUIDLPOP3Retriever 110 900 True  False"
-}
-@test "BrokenUIDLPOP3SSLRetriever, config test" {
-bats_config_test "BrokenUIDLPOP3SSLRetriever 995 800 0 0"
-bats_config_test "BrokenUIDLPOP3SSLRetriever 995 900 1 1"
-}
-@test "SimpleIMAPRetriever, config test" {
-bats_config_test "SimpleIMAPRetriever 143 800 false true"
-bats_config_test "SimpleIMAPRetriever 143 900 false true"
-}
-@test "SimpleIMAPSSLRetriever, config test" {
-bats_config_test "SimpleIMAPSSLRetriever 993 800 False False"
-bats_config_test "SimpleIMAPSSLRetriever 993 900 True  True"
-}
-
-bats_multidrop_test() {
-  run d_multidrop_test "$@"
-  run d_retrieve
-  assert_success
-}
-
-@test "MultidropPOP3Retriever" {
-bats_multidrop_test "SimplePOP3Retriever 110"
-bats_multidrop_test "MultidropPOP3Retriever 110"
-}
-@test "MultidropPOP3SSLRetriever" {
-bats_multidrop_test "SimplePOP3SSLRetriever 995"
-bats_multidrop_test "MultidropPOP3SSLRetriever 995"
-}
-@test "MultidropIMAPRetriever" {
-bats_multidrop_test "SimpleIMAPRetriever 143"
-bats_multidrop_test "MultidropIMAPRetriever 143"
-}
-@test "MultidropIMAPSSLRetriever" {
-bats_multidrop_test "SimpleIMAPSSLRetriever 993"
-bats_multidrop_test "MultidropIMAPSSLRetriever 993"
-}
-
-
-bats_multisorter_test() {
-  run d_multisorter_test "$@"
-  assert_success
-}
-
-@test "MultidropPOP3Retriever, Multisorter" {
-bats_multisorter_test "MultidropPOP3Retriever 110"
-}
-@test "MultidropPOP3SSLRetriever, Multisorter" {
-bats_multisorter_test "MultidropPOP3SSLRetriever 995"
-}
-@test "MultidropIMAPRetriever, Multisorter" {
-bats_multisorter_test "MultidropIMAPRetriever 143"
-}
-@test "MultidropIMAPSSLRetriever, Multisorter" {
-bats_multisorter_test "MultidropIMAPSSLRetriever 993"
-}
-
-bats_lmtp_test_py() {
-  run d_lmtp_test_py "$@"
-  run d_retrieve
-  assert_success
-}
-
-bats_check_lmtp_delivery() {
-  run d_grep_mail "$TESTGREP"
-  assert_failure # expect no mail because the mail was delivered to $TESTEMAIL's vmail mailbox
-  run d_maildir_clean_retrieve IMAP
-  assert_success # retrieves the mail we delivered using LMTP into our maildir
-  run d_grep_mail "$TESTGREP"
-  assert_success
-}
-
-bats_lmtp_test_unix_socket() {
-  run d_lmtp_test_unix_socket "$@"
-  run d_retrieve
-  assert_success
-  bats_check_lmtp_delivery
-  run d_grep_mail "Subject: lmtp_test_unix_socket_x"
-  assert_success
-}
-
-bats_lmtp_test_override() {
-  run d_lmtp_test_override "$@"
-  run d_retrieve
-  assert_success
-  bats_check_lmtp_delivery
-  run d_grep_mail "Subject: lmtp_test_override_x"
-  assert_success
-}
-
-bats_lmtp_test_override_fallback() {
-  run d_lmtp_test_override_fallback "$@"
-  run d_retrieve
-  assert_success
-  bats_check_lmtp_delivery
-  run d_grep_mail "Subject: lmtp_test_override_fallback_x"
-  assert_success
-}
-
-@test "MDA_lmtp" {
-if head `which getmail` | grep 'python3' ; then
-bats_lmtp_test_py "SimpleIMAPRetriever 143"
-bats_lmtp_test_unix_socket "SimpleIMAPRetriever 143"
-bats_lmtp_test_override "SimpleIMAPRetriever 143"
-bats_lmtp_test_override_fallback "SimpleIMAPRetriever 143"
-fi
-}
-
-bats_imap_search() {
-  run d_imap_search "$@"
-  bats_check_mail
-}
-
-@test "SimpleIMAPSSLRetriever, ALL, no delete" {
-  bats_imap_search "ALL false"
-}
-@test "SimpleIMAPRetriever, UNSEEN, set seen" {
-  bats_imap_search "UNSEEN true"
-}
-@test "SimpleIMAPRetriever, UNSEEN, no unseen" {
-  run d_imap_search "UNSEEN true"
-  run d_retrieve
-  assert_success # expect mail retrieval without error
-  run d_grep_mail "$TESTGREP"
-  assert_failure # expect no mail mail which contains "test"
-}
-@test "SimpleIMAPSSLRetriever, ALL, delete" {
-  bats_imap_search "ALL true"
-}
-
-bats_override() {
-  run d_override_test
-}
-@test "IMAP override via command line -s" {
-  bats_override
-}
-
-
-bats_local_mbox(){
-  run d_local_mbox
-}
-@test "getmail_mbox test" {
-  bats_local_mbox
-}
-
-bats_local_maildir(){
-  run d_local_maildir
-}
-@test "getmail_maildir test" {
-  bats_local_maildir
-}
-
-bats_fetch_maildir(){
-  run d_fetch_maildir
-}
-@test "getmail_fetch test" {
-  bats_fetch_maildir
-}
-

Debdiff

File lists identical (after any substitutions)

No differences were encountered in the control files

More details

Full run details