Compare commits

...

14 commits

Author SHA1 Message Date
Lukas Metzger 28abbfa356 Add version metadata to packaging 2019-12-27 12:22:26 +01:00
Lukas Metzger 52050a4298 Fixed db layout for tests 2019-12-25 23:43:48 +01:00
Lukas Metzger 72a60a0703 Adjust database layout to default powerdns layout fix #98 2019-12-25 23:30:54 +01:00
Lukas Metzger 0b2f36dbbd Fixed spelling of shure to sure 2019-12-25 21:13:35 +01:00
Lukas Metzger 6feed021d2 Bump test database version 2019-12-25 19:10:32 +01:00
Lukas Metzger 4eed13e475 Clarify error message in setup 2019-12-25 18:49:05 +01:00
Lukas Metzger 0e53529442 Fixed sql schema for installation 2019-12-25 18:31:11 +01:00
Lukas Metzger aa2a5906f9 Fixed deletion of password when editing user fixing #112 2019-12-25 18:17:44 +01:00
dependabot[bot] 36b6bf5b88 Bump axios from 0.18.0 to 0.18.1 in /backend/test (#116)
Bumps [axios](https://github.com/axios/axios) from 0.18.0 to 0.18.1.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v0.18.1/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v0.18.0...v0.18.1)

Signed-off-by: dependabot[bot] <support@github.com>
2019-12-25 18:09:44 +01:00
dependabot[bot] 972d03b005 Bump axios from 0.18.0 to 0.18.1 in /frontend (#115)
Bumps [axios](https://github.com/axios/axios) from 0.18.0 to 0.18.1.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v0.18.1/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v0.18.0...v0.18.1)

Signed-off-by: dependabot[bot] <support@github.com>
2019-12-25 17:58:59 +01:00
Lukas Metzger 2bae2042a2 Merge branch 'master' of github.com:loewexy/pdnsmanager 2019-12-25 15:31:16 +01:00
Lukas Metzger 600c7acdc1 Fixed client ip error on X-Forwarded-For 2019-12-25 15:25:39 +01:00
Virtual Mirai 2628d7f938 Fixed typo line 5 (#92) 2019-02-06 12:25:46 +01:00
GAZDOWN 091f27e9e5 Fix broken login after upgrade (#80)
* Added users(backend) field update

* dbVersion bumped to 6
2018-09-15 12:21:24 +02:00
23 changed files with 262 additions and 130 deletions

View file

@ -3,10 +3,10 @@
if test $TRAVIS_TAG
then
utils/make-package.sh pdnsmanager-${TRAVIS_TAG:1}
utils/make-package.sh pdnsmanager-$TRAVIS_COMMIT
utils/make-package.sh pdnsmanager-${TRAVIS_TAG:1} ${TRAVIS_TAG:1}
utils/make-package.sh pdnsmanager-$TRAVIS_COMMIT $TRAVIS_COMMIT
else
utils/make-package.sh pdnsmanager-$TRAVIS_COMMIT
utils/make-package.sh pdnsmanager-$TRAVIS_COMMIT $TRAVIS_COMMIT
fi
exit 0

View file

@ -1,3 +1,3 @@
#!/bin/bash
curl -F "file=@pdnsmanager-${TRAVIS_TAG:1}.tar.gz" -u "travis:$UPLOAD_PASS" 'https://upload.pdnsmanager.org/?action=release'
curl -F "file=@pdnsmanager-${TRAVIS_TAG:1}.tar.gz" -u "travis:$UPLOAD_PASS" "https://upload.pdnsmanager.org/?action=release&version=${TRAVIS_TAG:1}"

View file

@ -1,3 +1,3 @@
#!/bin/bash
curl -F "file=@pdnsmanager-$TRAVIS_COMMIT.tar.gz" -u "travis:$UPLOAD_PASS" 'https://upload.pdnsmanager.org/?action=snapshot'
curl -F "file=@pdnsmanager-$TRAVIS_COMMIT.tar.gz" -u "travis:$UPLOAD_PASS" "https://upload.pdnsmanager.org/?action=snapshot&version=$TRAVIS_COMMIT"

View file

@ -2,8 +2,7 @@
[PDNS Manager](https://pdnsmanager.org) is a simple yet powerful free administration tool for the Powerdns authoritative nameserver. It supports master, native and slave zones.
PNDS Manager was developed from scratch to achieve a user-friendly
and pretty looking interface.
PDNS Manager was developed from scratch to achieve a user-friendly and pretty looking interface.
PDNS Manager also features a powerful API to set records programatically.
This can be used e.g. for a dynamic DNS service, but also to obtain certificates from [Let's Encrypt](https://letsencrypt.org/) via the dns-01 challenge.

View file

@ -38,7 +38,7 @@ $defaultConfig = [
]
],
'proxys' => [],
'dbVersion' => 5
'dbVersion' => 7
];
if (file_exists('../config/ConfigOverride.php')) {

View file

@ -38,9 +38,8 @@ class ClientIp
$ip = $_SERVER['REMOTE_ADDR'];
for ($i = count($parts) - 1; $i >= 0; $i--) {
if (in_array($parts[$i], $proxys) && $i > 0) {
$ip = $parts[$i - 1];
} else {
if (!in_array($parts[$i], $proxys)) {
$ip = $parts[$i];
break;
}
}

View file

@ -283,12 +283,12 @@ class Users
}
if ($record['backend'] === 'native' && $name !== null) {
//Check if user already exists
//Check if user with new name already exists
$query = $this->db->prepare('SELECT id FROM users WHERE name=:name AND backend=\'native\'');
$query->bindValue(':name', $name);
$query->execute();
$record = $query->fetch();
if ($record !== false && intval($record['id']) !== $userId) {
$recordTest = $query->fetch();
if ($recordTest !== false && intval($recordTest['id']) !== $userId) {
throw new \Exceptions\AlreadyExistentException();
}
}

View file

@ -0,0 +1,3 @@
UPDATE users SET backend='native' WHERE backend='';
UPDATE options SET value=6 WHERE name='schema_version';

View file

@ -0,0 +1,10 @@
ALTER TABLE `remote`
DROP FOREIGN KEY remote_ibfk_1;
ALTER TABLE records MODIFY `id` bigint(20) NOT NULL AUTO_INCREMENT;
ALTER TABLE remote MODIFY record BIGINT;
ALTER TABLE `remote`
ADD CONSTRAINT remote_ibfk_1 FOREIGN KEY(record) REFERENCES `records`(id);
UPDATE options SET value=7 WHERE name='schema_version';

View file

@ -80,7 +80,7 @@ CREATE TABLE `permissions` (
--
CREATE TABLE `records` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`domain_id` int(11) DEFAULT NULL,
`name` varchar(255) DEFAULT NULL,
`type` varchar(10) DEFAULT NULL,
@ -102,7 +102,7 @@ CREATE TABLE `records` (
CREATE TABLE `remote` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`record` int(11) NOT NULL,
`record` bigint(20) NOT NULL,
`description` varchar(255) NOT NULL,
`type` varchar(20) NOT NULL,
`security` varchar(2000) NOT NULL,
@ -169,7 +169,7 @@ CREATE TABLE `options` (
--
INSERT INTO `options` (`name`, `value`) VALUES
('schema_version', '5');
('schema_version', '7');
-- --------------------------------------------------------

View file

@ -3,13 +3,15 @@
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Generation Time: Mar 31, 2018 at 12:51 PM
-- Server version: 5.7.21-0ubuntu0.16.04.1
-- PHP Version: 7.0.28-0ubuntu0.16.04.1
-- Erstellungszeit: 25. Dez 2019 um 23:22
-- Server-Version: 5.7.23-0ubuntu0.16.04.1
-- PHP-Version: 7.0.30-0ubuntu0.16.04.1
SET FOREIGN_KEY_CHECKS=0;
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";
DROP TABLE IF EXISTS `comments`, `cryptokeys`, `domainmetadata`, `domains`, `options`, `permissions`, `records`, `remote`, `supermasters`, `tsigkeys`, `users`;
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
@ -17,13 +19,13 @@ SET time_zone = "+00:00";
/*!40101 SET NAMES utf8mb4 */;
--
-- Database: `pdnsnew`
-- Datenbank: `pdnsnew`
--
-- --------------------------------------------------------
--
-- Table structure for table `comments`
-- Tabellenstruktur für Tabelle `comments`
--
DROP TABLE IF EXISTS `comments`;
@ -40,7 +42,7 @@ CREATE TABLE `comments` (
-- --------------------------------------------------------
--
-- Table structure for table `cryptokeys`
-- Tabellenstruktur für Tabelle `cryptokeys`
--
DROP TABLE IF EXISTS `cryptokeys`;
@ -55,7 +57,7 @@ CREATE TABLE `cryptokeys` (
-- --------------------------------------------------------
--
-- Table structure for table `domainmetadata`
-- Tabellenstruktur für Tabelle `domainmetadata`
--
DROP TABLE IF EXISTS `domainmetadata`;
@ -69,7 +71,7 @@ CREATE TABLE `domainmetadata` (
-- --------------------------------------------------------
--
-- Table structure for table `domains`
-- Tabellenstruktur für Tabelle `domains`
--
DROP TABLE IF EXISTS `domains`;
@ -84,7 +86,7 @@ CREATE TABLE `domains` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--
-- Dumping data for table `domains`
-- Daten für Tabelle `domains`
--
INSERT INTO `domains` (`id`, `name`, `master`, `last_check`, `type`, `notified_serial`, `account`) VALUES
@ -97,7 +99,26 @@ INSERT INTO `domains` (`id`, `name`, `master`, `last_check`, `type`, `notified_s
-- --------------------------------------------------------
--
-- Table structure for table `permissions`
-- Tabellenstruktur für Tabelle `options`
--
DROP TABLE IF EXISTS `options`;
CREATE TABLE `options` (
`name` varchar(255) NOT NULL,
`value` varchar(2000) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
--
-- Daten für Tabelle `options`
--
INSERT INTO `options` (`name`, `value`) VALUES
('schema_version', '7');
-- --------------------------------------------------------
--
-- Tabellenstruktur für Tabelle `permissions`
--
DROP TABLE IF EXISTS `permissions`;
@ -107,7 +128,7 @@ CREATE TABLE `permissions` (
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
--
-- Dumping data for table `permissions`
-- Daten für Tabelle `permissions`
--
INSERT INTO `permissions` (`domain_id`, `user_id`) VALUES
@ -117,7 +138,7 @@ INSERT INTO `permissions` (`domain_id`, `user_id`) VALUES
-- --------------------------------------------------------
--
-- Table structure for table `records`
-- Tabellenstruktur für Tabelle `records`
--
DROP TABLE IF EXISTS `records`;
@ -136,7 +157,7 @@ CREATE TABLE `records` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--
-- Dumping data for table `records`
-- Daten für Tabelle `records`
--
INSERT INTO `records` (`id`, `domain_id`, `name`, `type`, `content`, `ttl`, `prio`, `change_date`, `disabled`, `ordername`, `auth`) VALUES
@ -149,13 +170,13 @@ INSERT INTO `records` (`id`, `domain_id`, `name`, `type`, `content`, `ttl`, `pri
-- --------------------------------------------------------
--
-- Table structure for table `remote`
-- Tabellenstruktur für Tabelle `remote`
--
DROP TABLE IF EXISTS `remote`;
CREATE TABLE `remote` (
`id` int(11) NOT NULL,
`record` int(11) NOT NULL,
`record` bigint(20) DEFAULT NULL,
`description` varchar(255) NOT NULL,
`type` varchar(20) NOT NULL,
`security` varchar(2000) NOT NULL,
@ -163,7 +184,7 @@ CREATE TABLE `remote` (
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
--
-- Dumping data for table `remote`
-- Daten für Tabelle `remote`
--
INSERT INTO `remote` (`id`, `record`, `description`, `type`, `security`, `nonce`) VALUES
@ -174,7 +195,7 @@ INSERT INTO `remote` (`id`, `record`, `description`, `type`, `security`, `nonce`
-- --------------------------------------------------------
--
-- Table structure for table `supermasters`
-- Tabellenstruktur für Tabelle `supermasters`
--
DROP TABLE IF EXISTS `supermasters`;
@ -187,7 +208,7 @@ CREATE TABLE `supermasters` (
-- --------------------------------------------------------
--
-- Table structure for table `tsigkeys`
-- Tabellenstruktur für Tabelle `tsigkeys`
--
DROP TABLE IF EXISTS `tsigkeys`;
@ -201,26 +222,7 @@ CREATE TABLE `tsigkeys` (
-- --------------------------------------------------------
--
-- Table structure for table `options`
--
DROP TABLE IF EXISTS `options`;
CREATE TABLE `options` (
`name` varchar(255) NOT NULL,
`value` varchar(2000) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
--
-- Dumping data for table `options`
--
INSERT INTO `options` (`name`, `value`) VALUES
('schema_version', '5');
-- --------------------------------------------------------
--
-- Table structure for table `users`
-- Tabellenstruktur für Tabelle `users`
--
DROP TABLE IF EXISTS `users`;
@ -233,7 +235,7 @@ CREATE TABLE `users` (
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
--
-- Dumping data for table `users`
-- Daten für Tabelle `users`
--
INSERT INTO `users` (`id`, `name`, `backend`, `type`, `password`) VALUES
@ -242,11 +244,11 @@ INSERT INTO `users` (`id`, `name`, `backend`, `type`, `password`) VALUES
(3, 'configuser', 'config', 'user', NULL);
--
-- Indexes for dumped tables
-- Indizes der exportierten Tabellen
--
--
-- Indexes for table `comments`
-- Indizes für die Tabelle `comments`
--
ALTER TABLE `comments`
ADD PRIMARY KEY (`id`),
@ -254,34 +256,40 @@ ALTER TABLE `comments`
ADD KEY `comments_order_idx` (`domain_id`,`modified_at`);
--
-- Indexes for table `cryptokeys`
-- Indizes für die Tabelle `cryptokeys`
--
ALTER TABLE `cryptokeys`
ADD PRIMARY KEY (`id`),
ADD KEY `domainidindex` (`domain_id`);
--
-- Indexes for table `domainmetadata`
-- Indizes für die Tabelle `domainmetadata`
--
ALTER TABLE `domainmetadata`
ADD PRIMARY KEY (`id`),
ADD KEY `domainmetadata_idx` (`domain_id`,`kind`);
--
-- Indexes for table `domains`
-- Indizes für die Tabelle `domains`
--
ALTER TABLE `domains`
ADD PRIMARY KEY (`id`),
ADD UNIQUE KEY `name_index` (`name`);
ADD PRIMARY KEY (`id`);
--
-- Indexes for table `permissions`
-- Indizes für die Tabelle `options`
--
ALTER TABLE `options`
ADD PRIMARY KEY (`name`);
--
-- Indizes für die Tabelle `permissions`
--
ALTER TABLE `permissions`
ADD PRIMARY KEY (`user_id`,`domain_id`);
ADD PRIMARY KEY (`domain_id`,`user_id`),
ADD KEY `permissions_ibfk_2` (`user_id`);
--
-- Indexes for table `records`
-- Indizes für die Tabelle `records`
--
ALTER TABLE `records`
ADD PRIMARY KEY (`id`),
@ -290,74 +298,99 @@ ALTER TABLE `records`
ADD KEY `ordername` (`ordername`);
--
-- Indexes for table `remote`
-- Indizes für die Tabelle `remote`
--
ALTER TABLE `remote`
ADD PRIMARY KEY (`id`);
ADD PRIMARY KEY (`id`),
ADD KEY `remote_ibfk_1` (`record`);
--
-- Indexes for table `supermasters`
-- Indizes für die Tabelle `supermasters`
--
ALTER TABLE `supermasters`
ADD PRIMARY KEY (`ip`,`nameserver`);
--
-- Indexes for table `tsigkeys`
-- Indizes für die Tabelle `tsigkeys`
--
ALTER TABLE `tsigkeys`
ADD PRIMARY KEY (`id`),
ADD UNIQUE KEY `namealgoindex` (`name`,`algorithm`);
--
-- Indexes for table `users`
-- Indizes für die Tabelle `users`
--
ALTER TABLE `users`
ADD PRIMARY KEY (`id`);
--
-- AUTO_INCREMENT for dumped tables
-- AUTO_INCREMENT für exportierte Tabellen
--
--
-- AUTO_INCREMENT for table `comments`
-- AUTO_INCREMENT für Tabelle `comments`
--
ALTER TABLE `comments`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `cryptokeys`
-- AUTO_INCREMENT für Tabelle `cryptokeys`
--
ALTER TABLE `cryptokeys`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `domainmetadata`
-- AUTO_INCREMENT für Tabelle `domainmetadata`
--
ALTER TABLE `domainmetadata`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `domains`
-- AUTO_INCREMENT für Tabelle `domains`
--
ALTER TABLE `domains`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=6;
--
-- AUTO_INCREMENT for table `records`
-- AUTO_INCREMENT für Tabelle `records`
--
ALTER TABLE `records`
MODIFY `id` bigint(20) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;
MODIFY `id` bigint(20) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=6;
--
-- AUTO_INCREMENT for table `remote`
-- AUTO_INCREMENT für Tabelle `remote`
--
ALTER TABLE `remote`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4;
--
-- AUTO_INCREMENT for table `tsigkeys`
-- AUTO_INCREMENT für Tabelle `tsigkeys`
--
ALTER TABLE `tsigkeys`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `users`
-- AUTO_INCREMENT für Tabelle `users`
--
ALTER TABLE `users`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4;
--
-- Constraints der exportierten Tabellen
--
--
-- Constraints der Tabelle `permissions`
--
ALTER TABLE `permissions`
ADD CONSTRAINT `permissions_ibfk_1` FOREIGN KEY (`domain_id`) REFERENCES `domains` (`id`) ON DELETE CASCADE,
ADD CONSTRAINT `permissions_ibfk_2` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE;
--
-- Constraints der Tabelle `records`
--
ALTER TABLE `records`
ADD CONSTRAINT `records_ibfk_1` FOREIGN KEY (`domain_id`) REFERENCES `domains` (`id`) ON DELETE CASCADE;
--
-- Constraints der Tabelle `remote`
--
ALTER TABLE `remote`
ADD CONSTRAINT `remote_ibfk_1` FOREIGN KEY (`record`) REFERENCES `records` (`id`);
SET FOREIGN_KEY_CHECKS=1;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

View file

@ -10,12 +10,12 @@
"integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y="
},
"axios": {
"version": "0.18.0",
"resolved": "https://registry.npmjs.org/axios/-/axios-0.18.0.tgz",
"integrity": "sha1-MtU+SFHv3AoRmTts0AB4nXDAUQI=",
"version": "0.18.1",
"resolved": "https://registry.npmjs.org/axios/-/axios-0.18.1.tgz",
"integrity": "sha512-0BfJq4NSfQXd+SkFdrvFbG7addhYSBA2mQwISr46pD6E5iqkWg02RAs8vyTT/j0RTnoYmeXauBuSv1qKwR179g==",
"requires": {
"follow-redirects": "1.4.1",
"is-buffer": "1.1.6"
"follow-redirects": "1.5.10",
"is-buffer": "^2.0.2"
}
},
"cartesian-product": {
@ -32,17 +32,17 @@
}
},
"follow-redirects": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.4.1.tgz",
"integrity": "sha512-uxYePVPogtya1ktGnAAXOacnbIuRMB4dkvqeNz2qTtTQsuzSfbDolV+wMMKxAmCx0bLgAKLbBOkjItMbbkR1vg==",
"version": "1.5.10",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz",
"integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==",
"requires": {
"debug": "3.1.0"
"debug": "=3.1.0"
}
},
"is-buffer": {
"version": "1.1.6",
"resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
"integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz",
"integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A=="
},
"ms": {
"version": "2.0.0",

View file

@ -3,7 +3,7 @@
"version": "1.0.0",
"description": "Dependencies for pdnsmanager test",
"dependencies": {
"axios": "^0.18.0",
"axios": "^0.18.1",
"cartesian-product": "^2.1.2",
"node-rsa": "^0.4.2"
}

View file

@ -41,6 +41,6 @@ test.run(async function () {
});
assert.equal(res.status, 200);
assert.equal(res.data, { ip: '127.0.0.1' }, 'X-Forwarded-For Test 3');
assert.equal(res.data, { ip: '1.2.3.4' }, 'X-Forwarded-For Test 3');
});
});

View file

@ -90,13 +90,35 @@ test.run(async function () {
url: '/users/4',
method: 'put',
data: {
name: 'foo',
name: 'foo1',
password: 'bar',
type: 'user'
}
});
assert.equal(res.status, 204, 'Update should succeed.');
//Test if updated user can log in
var res = await req({
url: '/sessions',
method: 'post',
data: {
username: 'foo1',
password: 'bar'
}
});
assert.equal(res.status, 201, 'Login with updated user should succeed.');
//Test user update without password
var res = await req({
url: '/users/4',
method: 'put',
data: {
name: 'foo',
type: 'user'
}
});
assert.equal(res.status, 204, 'Update should succeed.');
//Test if updated user can log in
var res = await req({
url: '/sessions',

View file

@ -669,6 +669,7 @@
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.1.tgz",
"integrity": "sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==",
"dev": true,
"optional": true,
"requires": {
"es6-promisify": "5.0.0"
}
@ -702,6 +703,7 @@
"resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz",
"integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=",
"dev": true,
"optional": true,
"requires": {
"kind-of": "3.2.2",
"longest": "1.0.1",
@ -713,6 +715,7 @@
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"dev": true,
"optional": true,
"requires": {
"is-buffer": "1.1.6"
}
@ -1050,12 +1053,27 @@
"dev": true
},
"axios": {
"version": "0.18.0",
"resolved": "https://registry.npmjs.org/axios/-/axios-0.18.0.tgz",
"integrity": "sha1-MtU+SFHv3AoRmTts0AB4nXDAUQI=",
"version": "0.18.1",
"resolved": "https://registry.npmjs.org/axios/-/axios-0.18.1.tgz",
"integrity": "sha512-0BfJq4NSfQXd+SkFdrvFbG7addhYSBA2mQwISr46pD6E5iqkWg02RAs8vyTT/j0RTnoYmeXauBuSv1qKwR179g==",
"requires": {
"follow-redirects": "1.5.7",
"is-buffer": "1.1.6"
"follow-redirects": "1.5.10",
"is-buffer": "^2.0.2"
},
"dependencies": {
"follow-redirects": {
"version": "1.5.10",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz",
"integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==",
"requires": {
"debug": "=3.1.0"
}
},
"is-buffer": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz",
"integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A=="
}
}
},
"babel-code-frame": {
@ -1468,6 +1486,7 @@
"resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz",
"integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=",
"dev": true,
"optional": true,
"requires": {
"hoek": "2.16.3"
}
@ -1652,7 +1671,8 @@
"version": "0.0.2",
"resolved": "https://registry.npmjs.org/buffer-more-ints/-/buffer-more-ints-0.0.2.tgz",
"integrity": "sha1-JrOIXRD6E9t/wBquOquHAZngEkw=",
"dev": true
"dev": true,
"optional": true
},
"buffer-xor": {
"version": "1.0.3",
@ -3024,13 +3044,15 @@
"version": "4.2.4",
"resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.4.tgz",
"integrity": "sha512-/NdNZVJg+uZgtm9eS3O6lrOLYmQag2DjdEXuPaHlZ6RuVqgqaVZfgYCepEIKsLqwdQArOPtC3XzRLqGGfT8KQQ==",
"dev": true
"dev": true,
"optional": true
},
"es6-promisify": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz",
"integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=",
"dev": true,
"optional": true,
"requires": {
"es6-promise": "4.2.4"
}
@ -3655,6 +3677,7 @@
"version": "1.5.7",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.7.tgz",
"integrity": "sha512-NONJVIFiX7Z8k2WxfqBjtwqMifx7X42ORLFrOZ2LTKGj71G3C0kfdyTqGqr8fx5zSX6Foo/D95dgGWbPUiwnew==",
"dev": true,
"requires": {
"debug": "3.1.0"
}
@ -3774,7 +3797,8 @@
"ansi-regex": {
"version": "2.1.1",
"bundled": true,
"dev": true
"dev": true,
"optional": true
},
"aproba": {
"version": "1.2.0",
@ -3795,12 +3819,14 @@
"balanced-match": {
"version": "1.0.0",
"bundled": true,
"dev": true
"dev": true,
"optional": true
},
"brace-expansion": {
"version": "1.1.11",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"balanced-match": "1.0.0",
"concat-map": "0.0.1"
@ -3815,17 +3841,20 @@
"code-point-at": {
"version": "1.1.0",
"bundled": true,
"dev": true
"dev": true,
"optional": true
},
"concat-map": {
"version": "0.0.1",
"bundled": true,
"dev": true
"dev": true,
"optional": true
},
"console-control-strings": {
"version": "1.1.0",
"bundled": true,
"dev": true
"dev": true,
"optional": true
},
"core-util-is": {
"version": "1.0.2",
@ -3942,7 +3971,8 @@
"inherits": {
"version": "2.0.3",
"bundled": true,
"dev": true
"dev": true,
"optional": true
},
"ini": {
"version": "1.3.5",
@ -3954,6 +3984,7 @@
"version": "1.0.0",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"number-is-nan": "1.0.1"
}
@ -3968,6 +3999,7 @@
"version": "3.0.4",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"brace-expansion": "1.1.11"
}
@ -3975,12 +4007,14 @@
"minimist": {
"version": "0.0.8",
"bundled": true,
"dev": true
"dev": true,
"optional": true
},
"minipass": {
"version": "2.2.4",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"safe-buffer": "5.1.1",
"yallist": "3.0.2"
@ -3999,6 +4033,7 @@
"version": "0.5.1",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"minimist": "0.0.8"
}
@ -4079,7 +4114,8 @@
"number-is-nan": {
"version": "1.0.1",
"bundled": true,
"dev": true
"dev": true,
"optional": true
},
"object-assign": {
"version": "4.1.1",
@ -4091,6 +4127,7 @@
"version": "1.4.0",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"wrappy": "1.0.2"
}
@ -4176,7 +4213,8 @@
"safe-buffer": {
"version": "5.1.1",
"bundled": true,
"dev": true
"dev": true,
"optional": true
},
"safer-buffer": {
"version": "2.1.2",
@ -4212,6 +4250,7 @@
"version": "1.0.2",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"code-point-at": "1.1.0",
"is-fullwidth-code-point": "1.0.0",
@ -4231,6 +4270,7 @@
"version": "3.0.1",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"ansi-regex": "2.1.1"
}
@ -4274,12 +4314,14 @@
"wrappy": {
"version": "1.0.2",
"bundled": true,
"dev": true
"dev": true,
"optional": true
},
"yallist": {
"version": "3.0.2",
"bundled": true,
"dev": true
"dev": true,
"optional": true
}
}
},
@ -4288,6 +4330,7 @@
"resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz",
"integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=",
"dev": true,
"optional": true,
"requires": {
"graceful-fs": "4.1.11",
"inherits": "2.0.3",
@ -4790,7 +4833,8 @@
"version": "2.16.3",
"resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz",
"integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=",
"dev": true
"dev": true,
"optional": true
},
"homedir-polyfill": {
"version": "1.0.1",
@ -4956,6 +5000,7 @@
"resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz",
"integrity": "sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==",
"dev": true,
"optional": true,
"requires": {
"agent-base": "4.2.1",
"debug": "3.1.0"
@ -4989,6 +5034,7 @@
"resolved": "https://registry.npmjs.org/httpntlm/-/httpntlm-1.6.1.tgz",
"integrity": "sha1-rQFScUOi6Hc8+uapb1hla7UqNLI=",
"dev": true,
"optional": true,
"requires": {
"httpreq": "0.4.24",
"underscore": "1.7.0"
@ -4998,7 +5044,8 @@
"version": "0.4.24",
"resolved": "https://registry.npmjs.org/httpreq/-/httpreq-0.4.24.tgz",
"integrity": "sha1-QzX/2CzZaWaKOUZckprGHWOTYn8=",
"dev": true
"dev": true,
"optional": true
},
"https-browserify": {
"version": "1.0.0",
@ -5011,6 +5058,7 @@
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.1.tgz",
"integrity": "sha512-HPCTS1LW51bcyMYbxUIOO4HEOlQ1/1qRaFWcyxvwaqUS9TY88aoEuHUY33kuAh1YhVVaDQhLZsnPd+XNARWZlQ==",
"dev": true,
"optional": true,
"requires": {
"agent-base": "4.2.1",
"debug": "3.1.0"
@ -5206,7 +5254,8 @@
"is-buffer": {
"version": "1.1.6",
"resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
"integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
"integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
"dev": true
},
"is-builtin-module": {
"version": "1.0.0",
@ -6018,13 +6067,15 @@
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/libbase64/-/libbase64-0.1.0.tgz",
"integrity": "sha1-YjUag5VjrF/1vSbxL2Dpgwu3UeY=",
"dev": true
"dev": true,
"optional": true
},
"libmime": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/libmime/-/libmime-3.0.0.tgz",
"integrity": "sha1-UaGp50SOy9Ms2lRCFnW7IbwJPaY=",
"dev": true,
"optional": true,
"requires": {
"iconv-lite": "0.4.15",
"libbase64": "0.1.0",
@ -6035,7 +6086,8 @@
"version": "0.4.15",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.15.tgz",
"integrity": "sha1-/iZaIYrGpXz+hUkn6dBMGYJe3es=",
"dev": true
"dev": true,
"optional": true
}
}
},
@ -6043,7 +6095,8 @@
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/libqp/-/libqp-1.1.0.tgz",
"integrity": "sha1-9ebgatdLeU+1tbZpiL9yjvHe2+g=",
"dev": true
"dev": true,
"optional": true
},
"license-webpack-plugin": {
"version": "1.4.0",
@ -6386,7 +6439,8 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz",
"integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=",
"dev": true
"dev": true,
"optional": true
},
"loose-envify": {
"version": "1.4.0",
@ -7097,13 +7151,15 @@
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/nodemailer-fetch/-/nodemailer-fetch-1.6.0.tgz",
"integrity": "sha1-ecSQihwPXzdbc/6IjamCj23JY6Q=",
"dev": true
"dev": true,
"optional": true
},
"nodemailer-shared": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/nodemailer-shared/-/nodemailer-shared-1.1.0.tgz",
"integrity": "sha1-z1mU4v0mjQD1zw+nZ6CBae2wfsA=",
"dev": true,
"optional": true,
"requires": {
"nodemailer-fetch": "1.6.0"
}
@ -7136,7 +7192,8 @@
"version": "0.1.10",
"resolved": "https://registry.npmjs.org/nodemailer-wellknown/-/nodemailer-wellknown-0.1.10.tgz",
"integrity": "sha1-WG24EB2zDLRDjrVGc3pBqtDPE9U=",
"dev": true
"dev": true,
"optional": true
},
"nopt": {
"version": "3.0.6",
@ -9189,6 +9246,7 @@
"resolved": "https://registry.npmjs.org/smtp-connection/-/smtp-connection-2.12.0.tgz",
"integrity": "sha1-1275EnyyPCJZ7bHoNJwujV4tdME=",
"dev": true,
"optional": true,
"requires": {
"httpntlm": "1.6.1",
"nodemailer-shared": "1.1.0"
@ -10357,7 +10415,8 @@
"version": "1.7.0",
"resolved": "https://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz",
"integrity": "sha1-a7rwh3UA02vjTsqlhODbn+8DUgk=",
"dev": true
"dev": true,
"optional": true
},
"union-value": {
"version": "1.0.0",

View file

@ -21,7 +21,7 @@
"@angular/platform-browser": "6.1.4",
"@angular/platform-browser-dynamic": "6.1.4",
"@angular/router": "6.1.4",
"axios": "^0.18.0",
"axios": "^0.18.1",
"bootstrap": "^4.1.3",
"core-js": "^2.5.7",
"font-awesome": "^4.7.0",

View file

@ -62,7 +62,7 @@ export class DomainsComponent implements OnInit {
try {
await this.modal.showMessage(new ModalOptionsDatatype({
heading: 'Confirm deletion',
body: 'Are you shure you want to delete ' + domain.name + '?',
body: 'Are you sure you want to delete ' + domain.name + '?',
acceptText: 'Delete',
dismisText: 'Cancel',
acceptClass: 'danger'

View file

@ -88,7 +88,7 @@ export class EditAuthLineComponent implements OnInit, OnChanges {
try {
await this.modal.showMessage(new ModalOptionsDatatype({
heading: 'Confirm deletion',
body: 'Are you shure you want to delete the ' + this.inputType.value +
body: 'Are you sure you want to delete the ' + this.inputType.value +
' record ' + this.fullName() + ' with content ' + this.inputContent.value + '?',
acceptText: 'Delete',
dismisText: 'Cancel',

View file

@ -145,7 +145,7 @@ export class EditCredentialsComponent implements OnInit {
try {
await this.modal.showMessage(new ModalOptionsDatatype({
heading: 'Confirm deletion',
body: 'Are you shure you want to delete the credential ' + credential.description + '?',
body: 'Are you sure you want to delete the credential ' + credential.description + '?',
acceptText: 'Delete',
dismisText: 'Cancel',
acceptClass: 'danger'

View file

@ -58,7 +58,7 @@ export class SetupComponent implements OnInit {
} catch (e) {
switch (e.response.status) {
case 404:
this.errorMessage = 'The application has already been setup or the backend is misconfigured.';
this.errorMessage = 'The backend seems to be misconfigured or the application has a config file already.';
break;
case 500:
this.errorMessage = e.response.data.error;

View file

@ -62,7 +62,7 @@ export class UsersComponent implements OnInit {
try {
await this.modal.showMessage(new ModalOptionsDatatype({
heading: 'Confirm deletion',
body: 'Are you shure you want to delete ' + user.name + '?',
body: 'Are you sure you want to delete ' + user.name + '?',
acceptText: 'Delete',
dismisText: 'Cancel',
acceptClass: 'danger'

View file

@ -21,6 +21,13 @@ cd ..
cp LICENSE "$1"
cp README.md "$1"
# Add version info
cat << EOF > "$1"/version.json
{
"version": "$2"
}
EOF
# Create archive
tar -czf "$1".tar.gz "$1"