diff --git a/.editorconfig b/.editorconfig index c5b468b8..d97ba338 100644 --- a/.editorconfig +++ b/.editorconfig @@ -22,6 +22,9 @@ indent_size = 4 [Makefile] indent_style = tab +[*.rst] +indent_style = space +indent_size = 4 [.gitlab-ci.yml}] indent_style = space diff --git a/CHANGELOG.rst b/CHANGELOG.rst index b9ad0b17..6b0e3593 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -10,30 +10,35 @@ Current - Add percent done in `overview `_ - Add the ability to `chain multiple authentication backends `_ - Add display versions `within the interface `_ +- Add support for `zip64 `_ - Add Basic HTTP Authentication - Add full documented API - Fix issue `#81 `_ +- Fix issue `#87 `_ +- Fix issue `#88 `_ +- Fix issue `#92 `_ +- Fix issue `#95 `_ - `demo `_ - API refactoring - Security fixes - Bugfixes -- `Full changelog `__ +- `Full changelog `__ -0.0.7.3 -------- +0.0.7.3 (09/26/2015) +-------------------- - Fix issue `#77 `_ - Doc -0.0.7.2 -------- +0.0.7.2 (09/01/2015) +-------------------- - Fix issue `#73 `_ - Fix issue `#74 `_ - Doc -0.0.7.1 -------- +0.0.7.1 (08/22/2015) +-------------------- - Add `Burp-2 backend `_ - Add `sortable tables `_ @@ -66,8 +71,8 @@ Current - Bufixes - `Full changelog `__ -0.0.6 ------ +0.0.6 (12/15/2014) +------------------ - Add `gunicorn support `_ - Add `init script for CentOS `_ @@ -87,32 +92,32 @@ Current - Bugfixes - `Full changelog `__ -0.0.5 ------ +0.0.5 (09/22/2014) +------------------ - Add multi-server support - Fix bugs - `Full changelog `__ -0.0.4 ------ +0.0.4 (09/07/2014) +------------------ - Add the ability to download files directly from the web interface - `Full changelog `__ -0.0.3 ------ +0.0.3 (09/02/2014) +------------------ - Add authentication - `Full changelog `__ -0.0.2 ------ +0.0.2 (08/25/2014) +------------------ - Fix bugs - `Full changelog `__ -0.0.1 ------ +0.0.1 (08/25/2014) +------------------ - Initial release diff --git a/LICENSE b/LICENSE index c67f252a..b5229bf3 100644 --- a/LICENSE +++ b/LICENSE @@ -4,7 +4,7 @@ The following License only applies to the burp-ui sources ================================================================================ -Copyright (c) 2014-2015 by Benjamin SANS (Ziirish) +Copyright (c) 2014-2016 by Benjamin SANS (Ziirish) http://ziirish.info/ Some rights reserved. diff --git a/buiagent.sample.cfg b/buiagent.sample.cfg deleted file mode 120000 index b48c2b2c..00000000 --- a/buiagent.sample.cfg +++ /dev/null @@ -1 +0,0 @@ -share/burpui/etc/buiagent.sample.cfg \ No newline at end of file diff --git a/burpui.sample.cfg b/burpui.sample.cfg deleted file mode 120000 index 606b1bf4..00000000 --- a/burpui.sample.cfg +++ /dev/null @@ -1 +0,0 @@ -share/burpui/etc/burpui.sample.cfg \ No newline at end of file diff --git a/burpui/__init__.py b/burpui/__init__.py index dcea2eda..9b53aadf 100644 --- a/burpui/__init__.py +++ b/burpui/__init__.py @@ -7,7 +7,7 @@ jQuery/Bootstrap :platform: Unix :synopsis: Burp-UI main module. -.. moduleauthor:: Ziirish +.. moduleauthor:: Ziirish """ import os @@ -20,7 +20,7 @@ if sys.version_info < (3, 0): __title__ = 'burp-ui' __author__ = 'Benjamin SANS (Ziirish)' -__author_email__ = 'ziirish+burpui@ziirish.info' +__author_email__ = 'hi+burpui@ziirish.me' __url__ = 'https://git.ziirish.me/ziirish/burp-ui' __doc__ = 'https://burp-ui.readthedocs.org/en/latest/' __description__ = ('Burp-UI is a web-ui for burp backup written in python with ' diff --git a/burpui/_compat.py b/burpui/_compat.py index a53d9f13..6946da80 100644 --- a/burpui/_compat.py +++ b/burpui/_compat.py @@ -4,7 +4,7 @@ :platform: Unix :synopsis: Burp-UI compatibility module. -.. moduleauthor:: Ziirish +.. moduleauthor:: Ziirish """ import sys diff --git a/burpui/_json.py b/burpui/_json.py index b5b5c1a6..9998b0cc 100644 --- a/burpui/_json.py +++ b/burpui/_json.py @@ -4,7 +4,7 @@ :platform: Unix :synopsis: Burp-UI json compatibility module. -.. moduleauthor:: Ziirish +.. moduleauthor:: Ziirish """ import ujson diff --git a/burpui/_rtfd.py b/burpui/_rtfd.py index 36a93ea1..38c196dd 100644 --- a/burpui/_rtfd.py +++ b/burpui/_rtfd.py @@ -4,7 +4,7 @@ :platform: Unix :synopsis: Burp-UI wrapper documentation module. -.. moduleauthor:: Ziirish +.. moduleauthor:: Ziirish """ diff --git a/burpui/api/__init__.py b/burpui/api/__init__.py index 01c584ae..a60150a6 100644 --- a/burpui/api/__init__.py +++ b/burpui/api/__init__.py @@ -4,7 +4,7 @@ :platform: Unix :synopsis: Burp-UI api module. -.. moduleauthor:: Ziirish +.. moduleauthor:: Ziirish """ diff --git a/burpui/api/client.py b/burpui/api/client.py index 25eec1cc..bae91ef7 100644 --- a/burpui/api/client.py +++ b/burpui/api/client.py @@ -4,7 +4,7 @@ :platform: Unix :synopsis: Burp-UI client api module. -.. moduleauthor:: Ziirish +.. moduleauthor:: Ziirish """ # This is a submodule we can also use "from ..api import api" diff --git a/burpui/api/clients.py b/burpui/api/clients.py index 4b3d9282..ca7258d7 100644 --- a/burpui/api/clients.py +++ b/burpui/api/clients.py @@ -4,7 +4,7 @@ :platform: Unix :synopsis: Burp-UI clients api module. -.. moduleauthor:: Ziirish +.. moduleauthor:: Ziirish """ # This is a submodule we can also use "from ..api import api" diff --git a/burpui/api/misc.py b/burpui/api/misc.py index ec82446f..05165562 100644 --- a/burpui/api/misc.py +++ b/burpui/api/misc.py @@ -4,7 +4,7 @@ :platform: Unix :synopsis: Burp-UI misc api module. -.. moduleauthor:: Ziirish +.. moduleauthor:: Ziirish """ # This is a submodule we can also use "from ..api import api" diff --git a/burpui/api/restore.py b/burpui/api/restore.py index b7328da7..d676790b 100644 --- a/burpui/api/restore.py +++ b/burpui/api/restore.py @@ -4,7 +4,7 @@ :platform: Unix :synopsis: Burp-UI restore api module. -.. moduleauthor:: Ziirish +.. moduleauthor:: Ziirish """ import select diff --git a/burpui/api/settings.py b/burpui/api/settings.py index 3a11dca5..ac0f5741 100644 --- a/burpui/api/settings.py +++ b/burpui/api/settings.py @@ -4,7 +4,7 @@ :platform: Unix :synopsis: Burp-UI settings api module. -.. moduleauthor:: Ziirish +.. moduleauthor:: Ziirish """ import sys diff --git a/burpui/exceptions.py b/burpui/exceptions.py index 228028fe..1b99ea53 100644 --- a/burpui/exceptions.py +++ b/burpui/exceptions.py @@ -4,7 +4,7 @@ :platform: Unix :synopsis: Burp-UI exceptions module. -.. moduleauthor:: Ziirish +.. moduleauthor:: Ziirish """ # Agent does not need "real" HTTP errors diff --git a/burpui/misc/acl/interface.py b/burpui/misc/acl/interface.py index 528df0db..40c26be2 100644 --- a/burpui/misc/acl/interface.py +++ b/burpui/misc/acl/interface.py @@ -4,7 +4,7 @@ :platform: Unix :synopsis: Burp-UI ACL interface. -.. moduleauthor:: Ziirish +.. moduleauthor:: Ziirish """ from abc import ABCMeta, abstractmethod, abstractproperty diff --git a/burpui/misc/auth/interface.py b/burpui/misc/auth/interface.py index a7878b96..badb4ef3 100644 --- a/burpui/misc/auth/interface.py +++ b/burpui/misc/auth/interface.py @@ -4,7 +4,7 @@ :platform: Unix :synopsis: Burp-UI authentication interface. -.. moduleauthor:: Ziirish +.. moduleauthor:: Ziirish """ from flask.ext.login import UserMixin diff --git a/burpui/misc/backend/burp1.py b/burpui/misc/backend/burp1.py index ebd37e7c..1ad52644 100644 --- a/burpui/misc/backend/burp1.py +++ b/burpui/misc/backend/burp1.py @@ -4,7 +4,7 @@ :platform: Unix :synopsis: Burp-UI burp1 backend module. -.. moduleauthor:: Ziirish +.. moduleauthor:: Ziirish """ import re diff --git a/burpui/misc/backend/interface.py b/burpui/misc/backend/interface.py index ae2ceb6b..755ce009 100644 --- a/burpui/misc/backend/interface.py +++ b/burpui/misc/backend/interface.py @@ -4,7 +4,7 @@ :platform: Unix :synopsis: Burp-UI backend interface. -.. moduleauthor:: Ziirish +.. moduleauthor:: Ziirish """ from abc import ABCMeta, abstractmethod diff --git a/burpui/misc/parser/interface.py b/burpui/misc/parser/interface.py index a2d3e00b..68b45598 100644 --- a/burpui/misc/parser/interface.py +++ b/burpui/misc/parser/interface.py @@ -4,7 +4,7 @@ :platform: Unix :synopsis: Burp-UI parser interface. -.. moduleauthor:: Ziirish +.. moduleauthor:: Ziirish """ from ...utils import BUIlogging diff --git a/burpui/server.py b/burpui/server.py index 984f807b..c0befb7c 100644 --- a/burpui/server.py +++ b/burpui/server.py @@ -4,7 +4,7 @@ :platform: Unix :synopsis: Burp-UI server module. -.. moduleauthor:: Ziirish +.. moduleauthor:: Ziirish """ import traceback diff --git a/burpui/utils.py b/burpui/utils.py index 73a34ca6..ae173f0b 100644 --- a/burpui/utils.py +++ b/burpui/utils.py @@ -4,7 +4,7 @@ :platform: Unix :synopsis: Burp-UI utils module. -.. moduleauthor:: Ziirish +.. moduleauthor:: Ziirish """ import math diff --git a/docker/docker-burp1/Dockerfile b/docker/docker-burp1/Dockerfile index 2888f4a5..da6fb560 100644 --- a/docker/docker-burp1/Dockerfile +++ b/docker/docker-burp1/Dockerfile @@ -1,5 +1,5 @@ FROM debian:jessie -MAINTAINER ziirish@ziirish.info +MAINTAINER hi+burpui@ziirish.me RUN apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get install -y supervisor logrotate locales wget curl uthash-dev g++ make libssl-dev librsync-dev python2.7-dev git python-virtualenv python-pip cron libffi-dev \ diff --git a/docker/docker-burp2/Dockerfile b/docker/docker-burp2/Dockerfile index 6fae6ad5..ac7a6332 100644 --- a/docker/docker-burp2/Dockerfile +++ b/docker/docker-burp2/Dockerfile @@ -1,5 +1,5 @@ FROM debian:jessie -MAINTAINER ziirish@ziirish.info +MAINTAINER hi+burpui@ziirish.me RUN apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get install -y supervisor logrotate locales wget curl uthash-dev g++ make libssl-dev librsync-dev python2.7-dev git python-virtualenv python-pip cron libffi-dev autoconf automake libtool libz-dev libyajl-dev \ diff --git a/docker/docker-burpui/Dockerfile b/docker/docker-burpui/Dockerfile index 30663770..6a5b2ba3 100644 --- a/docker/docker-burpui/Dockerfile +++ b/docker/docker-burpui/Dockerfile @@ -1,5 +1,5 @@ FROM debian:jessie -MAINTAINER ziirish@ziirish.info +MAINTAINER hi+burpui@ziirish.me RUN apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get install -y supervisor logrotate locales wget curl python2.7-dev git python-virtualenv gunicorn python-pip cron libffi-dev \ diff --git a/docker/docker-cli1/Dockerfile b/docker/docker-cli1/Dockerfile index b80e8021..b5c53dbf 100644 --- a/docker/docker-cli1/Dockerfile +++ b/docker/docker-cli1/Dockerfile @@ -1,5 +1,5 @@ FROM debian:jessie -MAINTAINER ziirish@ziirish.info +MAINTAINER hi+burpui@ziirish.me RUN apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get install -y supervisor logrotate locales wget curl uthash-dev g++ make libssl-dev librsync-dev git cron \ diff --git a/docker/docker-cli2/Dockerfile b/docker/docker-cli2/Dockerfile index 64f8f86d..db0ca540 100644 --- a/docker/docker-cli2/Dockerfile +++ b/docker/docker-cli2/Dockerfile @@ -1,5 +1,5 @@ FROM debian:jessie -MAINTAINER ziirish@ziirish.info +MAINTAINER hi+burpui@ziirish.me RUN apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get install -y supervisor logrotate locales wget curl uthash-dev g++ make libssl-dev librsync-dev git cron autoconf automake libtool libz-dev libyajl-dev \ diff --git a/docker/docker-cli2/assets/setup/install b/docker/docker-cli2/assets/setup/install index a70c464e..992a0166 100755 --- a/docker/docker-cli2/assets/setup/install +++ b/docker/docker-cli2/assets/setup/install @@ -12,9 +12,10 @@ git clone $BURP cd burp git checkout tags/$BURP_VERSION autoreconf -vif -./configure +./configure --prefix=/usr --sysconfdir=/etc/burp --localstatedir=/var make -j4 make install +#make install-all # configure supervisord log rotation cat > /etc/logrotate.d/supervisord < {% endif %} + + + + {%- endblock %} diff --git a/docs/buiagent.rst b/docs/buiagent.rst index ea96a9ef..1bbd71ff 100644 --- a/docs/buiagent.rst +++ b/docs/buiagent.rst @@ -68,6 +68,17 @@ The architecture is described bellow: +--------------------+ +Requirements +------------ + +The agent is powered by gevent. In order to install it, you can run the +following command: + +:: + + pip install "burp-ui[agent]" + + Configuration ------------- @@ -122,13 +133,13 @@ Here is a full usage example: :: # On the server called 'agent1' - agent1:~$ python path/to/bui-agent -c path/to/buiagent.cfg + agent1:~$ bui-agent -c path/to/buiagent.cfg # On the server called 'agent2' - agent2:~$ python path/to/bui-agent -c path/to/buiagent.cfg + agent2:~$ bui-agent -c path/to/buiagent.cfg # On the server called 'front' - front:~$ python path/to/burp-ui -c path/to/burpui.cfg + front:~$ burp-ui -c path/to/burpui.cfg This example uses three servers. You then only need to point your browser to diff --git a/docs/conf.py b/docs/conf.py index 24a1ea1e..4f93750f 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -52,7 +52,7 @@ master_doc = 'index' # General information about the project. project = u'Burp-UI' -copyright = u'2015, Ziirish' +copyright = u'2016, Ziirish' author = u'Ziirish' # The version info for the project you're documenting, acts as replacement for @@ -213,7 +213,7 @@ html_logo = '_static/logo.png' #html_search_scorer = 'scorer.js' # Output file base name for HTML help builder. -htmlhelp_basename = 'Burp-UIdoc' +htmlhelp_basename = 'Burp-UI doc' # -- Options for LaTeX output --------------------------------------------- @@ -280,7 +280,7 @@ man_pages = [ # dir menu entry, description, category) texinfo_documents = [ (master_doc, 'Burp-UI', u'Burp-UI Documentation', - author, 'Burp-UI', 'One line description of project.', + author, 'Burp-UI', 'Burp-UI is a web-ui for burp backup written in python with Flask and jQuery/Bootstrap.', 'Miscellaneous'), ] diff --git a/docs/index.rst b/docs/index.rst index 7ba83928..8ec45cb1 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -27,6 +27,7 @@ Documentation contributing changelog faq + step-by-step developer diff --git a/docs/installation.rst b/docs/installation.rst index 4e1ee195..d961d47b 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -27,8 +27,8 @@ By default `Burp-UI`_ ships with a sample file located in virtualenv) .. note:: - It is advised to copy the sample configuration in ``/etc/burp/burpui.cfg`` - and to edit this file so that it is not overwritten on every upgrade. + It is advised to copy the sample configuration in ``/etc/burp/burpui.cfg`` + and to edit this file so that it is not overwritten on every upgrade. Then you can run ``burp-ui``: ``burp-ui`` diff --git a/docs/introduction.rst b/docs/introduction.rst index f70e7a90..8560b5c0 100644 --- a/docs/introduction.rst +++ b/docs/introduction.rst @@ -9,13 +9,21 @@ The project also provides a full documented `API `_ so that you can develop any front-end you like on top of it. The core will take care of the communication with the burp server(s) for you. +.. note:: + Although the `Burp`_'s author and I exchange a lot, our products are totally + distinct. So I would like people to understand some issues might be related + to `Burp-UI`_, but some other might be related to `Burp`_ and I may not be + able to help you in the later case. + There is a dedicated mailing-list for `Burp`_ related issues. You can find + details `here `_ + Known Issues ------------ Because it's an Open Source project, people are free (and encouraged) to open -issues in the `bug-tracker `_. -You will find there the current opened issues. +issues in the `bug-tracker `_ +where will find there the current opened issues. There are also a few issues unrelated to the code itself: diff --git a/docs/requirements.rst b/docs/requirements.rst index 70da442e..04d63340 100644 --- a/docs/requirements.rst +++ b/docs/requirements.rst @@ -4,6 +4,10 @@ Requirements Please note that, `Burp-UI`_ must be running on the same server that runs the burp-server for some features. +.. note:: + At the moment, `Burp-UI`_ and this doc is mostly debian-centric but feel + free to contribute for other distributions! + LDAP ---- @@ -27,10 +31,29 @@ On Debian: aptitude install python-openssl +Alternatively, you can install the python package using the following command: + +:: + + pip install "burp-ui[ssl]" + + +Burp1 +----- + +The `burp1 backend `__ supports burp versions from 1.3.48 to +1.4.40. +With these versions of burp, the status port is only listening on the machine +loopback (ie. ``localhost`` or ``127.0.0.1``). It means you *MUST* run +`Burp-UI`_ on the same host that is running your burp server in order to be able +to access burp's statistics. +Alternatively, you can use a `bui-agent `__. + + Burp2 ----- -The `burp2 backend `_ supports only burp 2.0.18 and above. +The `burp2 backend `__ supports only burp 2.0.18 and above. If you are using an older version of burp2 `Burp-UI`_ will fail to start. .. _Burp-UI: https://git.ziirish.me/ziirish/burp-ui diff --git a/docs/step-by-step.rst b/docs/step-by-step.rst new file mode 100644 index 00000000..d451c30d --- /dev/null +++ b/docs/step-by-step.rst @@ -0,0 +1,165 @@ +Step By Step +============ + +Although `Burp-UI`_ tries to make `Burp`_ accessible to everyone, both products +have their complexity. + +In this *Step by Step*, I would like to introduce you different use-cases with +their associated configurations, descriptions and comments. +In every case, we will consider neither `Burp`_ or `Burp-UI`_ are installed and +describe the steps to setup your server from Scratch. + +.. note:: + Again, this part of the doc is mostly debian-centric. If some users are + willing to adapt these examples with other distros I would be very thankful. + + +1. `Burp1 server`_ with `Burp-UI`_ +2. `Burp2 server`_ with `Burp-UI`_ +3. `Multiple servers`_ with `bui-agents `_ + + +Burp1 server +------------ + +In this scenario, we are going to install a `Burp`_ server version 1.4.40 which +is the current stable version. We assume you are using the user *root* to run +the following commands. + +We begin with the installation of `Burp`_ itself. + +First, we need some system requirements in order to compile `Burp`_ and to +install `Burp-UI`_: + +:: + + apt-get update + apt-get install uthash-dev g++ make libssl-dev librsync-dev python2.7-dev \ + git python-pip libffi-dev + + +Now we retrieve the `Burp`_ sources and then we compile and install it: + +:: + + cd /usr/src + git clone https://github.com/grke/burp.git + cd burp + git checkout tags/1.4.40 + ./configure --disable-ipv6 + make + make install + # we also install init scripts + cp debian/init /etc/init.d/burp + cat >/etc/default/burp</etc/burp/clientconfdir/bui<>/etc/burp/burp-server.conf + + # now we generate ou client configuration + cat >/etc/burp/burp.conf<`__ first. + The *burp-1* backend can be enabled by setting the *version* option to *1* in the ``[Global]`` section of your `burpui.cfg`_ file: @@ -269,6 +278,10 @@ Each option is commented, but here is a more detailed documentation: Burp2 ^^^^^ +.. note:: + Make sure you have read and understood the `requirements + `__ first. + The *burp-2* backend can be enabled by setting the *version* option to *2* in the ``[Global]`` section of your `burpui.cfg`_ file: @@ -332,9 +345,9 @@ LDAP ^^^^ The *ldap* authentication backend has some dependencies, please refer to the -`requirements `_ page. To enable this backend, you need to -set the *auth* option of the ``[Global]`` section of your `burpui.cfg`_ file to -*ldap*: +`requirements `_ page. To enable this backend, you need +to set the *auth* option of the ``[Global]`` section of your `burpui.cfg`_ file +to *ldap*: :: @@ -413,7 +426,9 @@ Now you can add *basic* specific options: user1: otherpassword -.. note:: Each line defines a new user with the *key* as the username and the *value* as the password +.. note:: + Each line defines a new user with the *key* as the username and the *value* + as the password ACL diff --git a/pictures b/pictures deleted file mode 120000 index 44822ed5..00000000 --- a/pictures +++ /dev/null @@ -1 +0,0 @@ -docs/_static \ No newline at end of file diff --git a/setup.py b/setup.py index 2a5e0569..ab4e1c21 100755 --- a/setup.py +++ b/setup.py @@ -190,7 +190,7 @@ setup( author=author, author_email=author_email, url=url, - keywords='burp web ui', + keywords='burp web ui backup monitoring', packages=find_packages(), include_package_data=True, package_data={ @@ -213,10 +213,12 @@ setup( ], install_requires=requires, extras_require={ + 'ssl': ['pyOpenSSL'], 'ldap_authentication': ['ldap3'], 'extra': ['ujson'], 'gunicorn': ['gevent'], 'gunicorn-extra': ['redis', 'Flask-Session'], + 'agent': ['gevent'], 'test': test_requires, 'dev': dev_requires, }, diff --git a/test/docker/py2.7/Dockerfile b/test/docker/py2.7/Dockerfile index 303f0c1f..156ce6f7 100644 --- a/test/docker/py2.7/Dockerfile +++ b/test/docker/py2.7/Dockerfile @@ -1,5 +1,5 @@ FROM python:2.7 -MAINTAINER ziirish@ziirish.info +MAINTAINER hi+burpui@ziirish.me RUN apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get install -y locales wget curl uthash-dev g++ make libssl-dev librsync-dev python2.7-dev \ diff --git a/test/docker/py3.4/Dockerfile b/test/docker/py3.4/Dockerfile index 15cf3784..8e9b2f62 100644 --- a/test/docker/py3.4/Dockerfile +++ b/test/docker/py3.4/Dockerfile @@ -1,5 +1,5 @@ FROM python:3.4 -MAINTAINER ziirish@ziirish.info +MAINTAINER hi+burpui@ziirish.me RUN apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get install -y locales wget curl uthash-dev g++ make libssl-dev librsync-dev python3.4-dev \ diff --git a/test/run_docker.sh b/test/run_docker.sh index 1c3566f1..e516e183 100755 --- a/test/run_docker.sh +++ b/test/run_docker.sh @@ -3,13 +3,73 @@ SCRIPT=$(readlink -f "$0") # Absolute path this script is in, thus /home/user/bin SCRIPTPATH=$(dirname "$SCRIPT") +me=$(basename $0) -USR=${1:-${USER}} -IMAGES="2.7 3.4" +# prints error in all cases +function myerror() { + echo "[e] $*" >&2 +} + +# prints the help menu and exit +function usage() { + cat <