diff --git a/CHANGELOG.md b/CHANGELOG.md index 0b0047d..ec83f8b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,36 @@ CHANGELOG ========= +1.0.2 (2018-09-24) +------------------ + +### Backend +- Emit a more specific error message for cases like #160. +- The timeout for calls to `intelmqctl` has been raised to 20s (#164). + +### Pages + +#### Configuration +- Underscore is now allowed for new parameter names (#153). + +#### Monitor +* Fix link to monitor page (#157). + +### Documentation +- Add a FAQ and add a section about the docker issue (#160). +- Add instructions for Debian 9, Ubuntu 18.04, and openSUSE Leap 42.3, 15.0 (#168). + +### Packaging +- Include a positions file matching the default configuration of intelmq (#171). + +### Known issues +* Missing CSRF protection (#111). +* Missing copyright notices (#140). +* Graph jumps around on "Add edge" bug component (#148). +* new runtime parameters with _ not possible (#153). +* wrong error message for new bots with existing ID (#152). +* Queue size for deleted queue remains displayed (#158). + 1.0.1 (2018-04-23) ------------------ The version is compatible with intelmq >= 1.0.3 diff --git a/NEWS.md b/NEWS.md index af25701..0534a0e 100644 --- a/NEWS.md +++ b/NEWS.md @@ -3,6 +3,16 @@ NEWS See the changelog for a full list of changes. +1.0.1 (2018-09-24) +------------------ + +No changes are required by administrators. + +1.0.0 (2018-04-23) +------------------ + +No changes are required by administrators. + 0.3.1 ----- diff --git a/debian/changelog b/debian/changelog index 5e0d1be..0458f7c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +intelmq-manager (1.0.1-2) stable; urgency=medium + + * update to version 1.0.2 + + -- Wagner Sebastian Mon, 24 Sep 2018 17:30:06 +0200 + intelmq-manager (1.0.1-1) stable; urgency=low * update to version 1.0.1 diff --git a/debian/positions.conf b/debian/positions.conf index 0967ef4..4264ce3 100644 --- a/debian/positions.conf +++ b/debian/positions.conf @@ -1 +1,62 @@ -{} +{ + "abusech-domain-parser": { + "x": -304, + "y": 250 + }, + "abusech-feodo-domains-collector": { + "x": -508, + "y": 282 + }, + "cymru-whois-expert": { + "x": 510, + "y": -407 + }, + "deduplicator-expert": { + "x": -107, + "y": 162 + }, + "file-output": { + "x": 504, + "y": -614 + }, + "gethostbyname-1-expert": { + "x": 481, + "y": -198 + }, + "gethostbyname-2-expert": { + "x": 322, + "y": -325 + }, + "malc0de-parser": { + "x": -292, + "y": 48 + }, + "malc0de-windows-format-collector": { + "x": -477, + "y": -46 + }, + "malware-domain-list-collector": { + "x": 230, + "y": 382 + }, + "malware-domain-list-parser": { + "x": 60, + "y": 276 + }, + "spamhaus-drop-collector": { + "x": -88, + "y": 589 + }, + "spamhaus-drop-parser": { + "x": -114, + "y": 381 + }, + "taxonomy-expert": { + "x": 89, + "y": 29 + }, + "url2fqdn-expert": { + "x": 275, + "y": -116 + } +} \ No newline at end of file diff --git a/docs/FAQ.md b/docs/FAQ.md new file mode 100644 index 0000000..4bdfeb2 --- /dev/null +++ b/docs/FAQ.md @@ -0,0 +1,11 @@ +FAQ +=== + +Error saving a big configuration in docker +------------------------------------------ + +Problem: When saving a configuration with lots of bots (~30) the reponse is always an error. All files are saved correctly, but not the runtime configuration, which is unchanged. + +Reason: Look at your apache error logs, it may say that it discarded the data because the temporary directory is not writeable. + +Solution: Fix your docker image by making the temporary directoy `/tmp` writeable as it should be. diff --git a/docs/INSTALL.md b/docs/INSTALL.md index f25dd7d..f3ceea8 100644 --- a/docs/INSTALL.md +++ b/docs/INSTALL.md @@ -47,7 +47,7 @@ If you are using native packages, you can simply skip this section as all depend apt-get install git apache2 php5 libapache2-mod-php5 ``` -## Ubuntu 16.04 +## Ubuntu 16.04 / Debian 9 ```bash apt-get install git apache2 php libapache2-mod-php7.0 @@ -56,7 +56,7 @@ apt-get install git apache2 php libapache2-mod-php7.0 ## Ubuntu 18.04 ```bash -apt-get install git apache2 php libapache2-mod-php +apt-get install git apache2 php libapache2-mod-php7.2 ``` ## CentOS 7 @@ -66,7 +66,7 @@ yum install epel-release yum install git httpd httpd-tools php ``` -## openSUSE Leap 42.2 +## openSUSE Leap 42.2 / 42.3 / 15.0 ```bash yum install git apache2 apache2-utils apache2-mod_php7 diff --git a/docs/Release.md b/docs/Release.md new file mode 100644 index 0000000..1523df9 --- /dev/null +++ b/docs/Release.md @@ -0,0 +1,73 @@ +# Release procedure + +Make sure the current state is really final ;) +You can test most of the steps described here locally before doing it real. + +Assumption: You are working on branch maintenance, the next version is a bug fix release. For feature releaese it is slightly different. + +## Documentation + + * CHANGELOG.MD and + * NEWS.MD: Update the latest header, fix the order and remove empty sections if necessary. + * `intelmq-manager/php/config.php`: Update the version. + * `debian/changelog`: Insert a new section for the new version with the tool `dch`. + +## Commit and tag. +Commit your changes, the message should start with `REL: `. Push and create a pull request from maintenance to master. Someone else should review the changes. Eventually fix them, make sure the `REL: ` is the last commit, you can also push that one at last, after the reviews. + +## Tag and release + +Tag the commit with `git tag -s version HEAD`, merge it into master, push the both branches *and* the tag. The tag is just `a.b.c`, not prefixed with `v` (that was necessary only with SVN a long time ago...). + +Go to https://github.com/certtools/intelmq/tags and enter the release notes (changelog) for the new tag, then it's considered a release by github. + +## Tarballs and PyPI + + * Build the source and binary (wheel) distribution: `python3 setup.py sdist bdist_wheel` + * Upload the files including signatures to PyPI with e.g. twine: `twine upload -s dist/intelmq...` + +## Packages +We are currently using the public Open Build Service instance of openSUSE: http://build.opensuse.org/project/show/home:sebix:intelmq + +First, test all the steps first with the [unstable-repository](http://build.opensuse.org/project/show/home:sebix:intelmq:unstable) and check that at least installations succeed. + + * Create the tarballs with the script `create-archives.sh`. + * Update the dsc and spec files for new filenames and versions. + * Update the .changes file + * Build locally for all distributions. + * Commit. + +## Announcements + +Announce the new version at the mailinglists intelmq-users, intelmq-dev. +For bigger releases, probably also at IHAP, Twitter, etc. Ask your favorite social media consultant. + +## Prepare new version + +Increase the version in `intelmq-manager/php/config.php` and declare it as alpha version. + +Add a new empty changelog section: + +``` +### Backend + +### Pages + +#### Landing page + +#### Configuration + +#### Management + +#### Monitor + +#### Check + +### Documentation + +### Third-party libraries + +### Packaging + +### Known issues +``` diff --git a/intelmq-manager/js/main.js b/intelmq-manager/js/main.js index 21ae0c6..6e595ec 100644 --- a/intelmq-manager/js/main.js +++ b/intelmq-manager/js/main.js @@ -496,8 +496,8 @@ function addNewKey() { var newKeyInput = document.getElementById('newKeyInput'); var newValueInput = document.getElementById('newValueInput'); - if (!BOT_ID_REGEX.test(newKeyInput.value)) { - show_error("Bot ID's can only be composed of numbers, letters and hiphens"); + if (!PARAM_KEY_REGEX.test(newKeyInput.value)) { + show_error("Parameter names can only be composed of numbers, letters, hiphens and underscores"); $('#newKeyInput').focus(); } else { hideModal(); diff --git a/intelmq-manager/js/monitor.js b/intelmq-manager/js/monitor.js index 3aceef6..0cad258 100644 --- a/intelmq-manager/js/monitor.js +++ b/intelmq-manager/js/monitor.js @@ -176,7 +176,7 @@ function redraw_queues() { cell0.innerHTML = dst_queues[index][0]; cell0.addEventListener("click", function (event) { var selectedBot = dst_queues[$(event.target).closest('tr').index()]["parent"]; - window.location.href = "monitor.html?bot_id=" + selectedBot; + window.location.href = "?page=monitor&bot_id=" + selectedBot; }); var cell1 = destination_queue.insertCell(1); diff --git a/intelmq-manager/js/static.js b/intelmq-manager/js/static.js index adac0ad..2d78b92 100644 --- a/intelmq-manager/js/static.js +++ b/intelmq-manager/js/static.js @@ -32,6 +32,7 @@ var LEVEL_CLASS = { var STARTUP_KEYS = ['group', 'name', 'module', 'description', 'enabled', 'run_mode']; var BOT_ID_REGEX = /^[0-9a-zA-Z.-]+$/; +var PARAM_KEY_REGEX = /^[0-9a-zA-Z._-]+$/; var ROOT = window.location.href.substring(0,window.location.href.lastIndexOf('/')+1); diff --git a/intelmq-manager/php/config.php b/intelmq-manager/php/config.php index 5746d86..1f9c1ea 100644 --- a/intelmq-manager/php/config.php +++ b/intelmq-manager/php/config.php @@ -16,5 +16,5 @@ $BOT_CONFIGS_REJECT_REGEX = '/[^[:print:]\n\r\t]/'; $BOT_ID_REJECT_REGEX = '/[^A-Za-z0-9.-]/'; - $VERSION = "1.0.1"; + $VERSION = "1.0.2"; ?> diff --git a/intelmq-manager/php/controller.php b/intelmq-manager/php/controller.php index 592986e..043b933 100644 --- a/intelmq-manager/php/controller.php +++ b/intelmq-manager/php/controller.php @@ -80,7 +80,7 @@ $command = sprintf($CONTROLLER, $arguments); - set_time_limit(10); + set_time_limit(20); $return = shell_exec($command); diff --git a/intelmq-manager/php/save.php b/intelmq-manager/php/save.php index b450fb3..d9fd142 100644 --- a/intelmq-manager/php/save.php +++ b/intelmq-manager/php/save.php @@ -12,6 +12,9 @@ } $post_contents = file_get_contents("php://input"); + if ($post_contents === '') { + die('Error: Received an empty string, which is invalid. Check your webserver log for error messages.'); + } $decoded_config = json_decode($post_contents); if (gettype($decoded_config) != 'object') {