Commit Graph

439 Commits

Author SHA1 Message Date
Khanh Ngo
b8ffb1dae9
Merge pull request #804 from RoeiGanor/api_key
Add API Key to the UI
2020-10-10 14:11:09 +02:00
Tom Hetmer
cf62658e19
do not fail with wildcard PTRs 2020-09-10 01:18:07 +07:00
root
74b89b1b7e Add API Key to the UI 2020-08-08 13:41:18 +00:00
Nick Douma
70c2744f29 Log amount of accounts found in PowerDNS 2020-08-06 17:45:05 +02:00
Nick Douma
3c59ba6f84 Account does not have username 2020-08-06 17:44:54 +02:00
Nick Douma
b4d7f66e29 Use Account.delete_account to also handle unlinking of Users 2020-08-06 16:33:00 +02:00
Nick Douma
f9f966df75 Allow for configuration of logout url 2020-08-06 15:29:02 +02:00
Nick Douma
27f5c89f70 Manage Account membership on oidc login 2020-08-06 15:28:54 +02:00
Nick Douma
7ef6f5db4e Check if plain_text_password is falsish instead of empty string 2020-08-06 15:28:45 +02:00
Nick Douma
ab6480a4b4 Update user with info from oidc during login 2020-08-06 15:28:27 +02:00
Nick Douma
0ef57b2f9f Implement account update method
Allow syncing of all known accounts from PowerDNS, in the same
way that Domain().update() does for domains.
2020-08-06 15:22:28 +02:00
Erik Weber
22eabef06a
Use the correct matching group 2020-07-03 11:01:17 +02:00
Erik Weber
e993422106
Add regex matching for group/account description 2020-07-03 10:55:06 +02:00
Erik Weber
25db119d02
Add Account creation/permission handling based on Azure oAuth group membership 2020-07-03 08:55:31 +02:00
Manuel Frei
9946f72a85 Order accounts by name on 'New Domain' and domain admin 2020-06-28 01:59:12 +02:00
Roei Ganor
0f9a5f8652 Fix gravatar offline mode 2020-06-24 11:17:45 +03:00
Khanh Ngo
f3f91d56e2
Adjust html code 2020-06-20 11:08:14 +07:00
Khanh Ngo
1b4fe8935d Merge branch 'master' into record_rollback 2020-06-20 10:17:52 +07:00
Khanh Ngo
4e63f8380b
Merge pull request #756 from RoeiGanor/master
Changed default TTL
2020-06-20 09:55:41 +07:00
Khanh Ngo
1f4580a27a
Log failed domain apply operation 2020-06-20 09:51:30 +07:00
Khanh Ngo
5123d542e4
Fix #752 - Rollback the removed record if apply operation failed 2020-06-19 09:34:33 +07:00
Khanh Ngo
a3fd856dd8
Code refactoring and bug fixes 2020-06-19 08:47:51 +07:00
Roei
84ae753db2 Changed default TTL 2020-06-14 09:13:01 +03:00
Ymage
4e39d5a461 Fix session clearing 2020-05-29 17:41:20 +02:00
Khanh Ngo
cfc8567180
Merge pull request #742 from nfantone/feat/remote-user
Support authenticating using REMOTE_USER environment variable
2020-05-26 15:36:47 +07:00
Nicolás Fantone
39db31b5ae Add missing ensure_list util function 2020-05-25 14:16:33 +01:00
Khanh Ngo
831fbf3cb3
Merge pull request #738 from ymage/url_for_static_assets
Add url_for() for static assets
2020-05-24 21:22:33 +07:00
Khanh Ngo
125883330e Merge branch 'pull/679' 2020-05-24 21:19:04 +07:00
Khanh Ngo
73c267848c
Merge branch 'master' into url_for_static_assets 2020-05-24 21:16:00 +07:00
Khanh Ngo
5ac126f349
Merge pull request #739 from sshipway/sorting
Sort rrset members by content before comparison to ensure correct compare
2020-05-24 21:06:51 +07:00
Nicolás Fantone
52298f8289 Support login in through REMOTE_USER environment variable
Support redirecting remote users to logout URL and clearing remote login cookies
2020-05-22 15:31:24 +01:00
Khanh Ngo
a598c52729
Fix base template
current_user is Anonymous when we are not authenticated. Need to check if
email attribute is defined before using it
2020-05-22 17:37:39 +07:00
Steve Shipway
3476c8a9ec SJS Sort rrset members by content before comparison to ensure correct compare. Also default comment to blank entry rather than missing entry, to allow sorting to work correctly. 2020-05-20 16:21:28 +12:00
Ymage
99f12df748 Add url_for() for static assets 2020-05-20 00:03:36 +02:00
Khanh Ngo
0ef132a7be
Update swagger yaml 2020-05-17 21:00:13 +07:00
Khanh Ngo
fd0485d897 Merge remote-tracking branch 'keesbos/mgmt' 2020-05-17 19:43:45 +07:00
Khanh Ngo
ab7e1eb71b
Fix email confirmation template 2020-05-17 16:11:52 +07:00
Khanh Ngo
edb2a354d1
Merge pull request #725 from Monogramm/ui/favicon
fix: Add favicon to fix #724
2020-05-17 13:47:18 +07:00
Khanh Ngo
78245d339f
Merge pull request #717 from RoeiGanor/master
OIDC custom claims
2020-05-17 13:44:52 +07:00
mathieu.brunot
9f562714f2
fix: Add favicon to fix #724
Signed-off-by: mathieu.brunot <mathieu.brunot@monogramm.io>
2020-05-09 23:56:19 +02:00
root
2044ce4737 oidc custom claims 2020-05-04 07:12:48 +00:00
Khanh Ngo
33eff6313f
Fix loading zone with Slave type 2020-05-02 09:41:01 +07:00
Khanh Ngo
978c0b6c62
Merge pull request #711 from terbolous/azure_oauth
Azure oauth fixes
2020-05-01 10:25:27 +07:00
Roei Ganor
483c767d26 Offline installation and searchable inputs 2020-04-30 17:20:37 +00:00
Erik Weber
b03cbdea65
Azure oauth: Graph api calls it mail, not email 2020-04-30 12:15:19 +02:00
Erik Weber
b8442c4c5c
Azure oauth: remove preferredName from query 2020-04-30 12:14:32 +02:00
Khanh Ngo
9e8401ae46
Merge branch 'master' of github.com:ngoduykhanh/PowerDNS-Admin 2020-04-30 10:17:32 +07:00
Khanh Ngo
02692c7759
Code formating 2020-04-30 10:17:08 +07:00
Khanh Ngo
bbd00865dc
Merge pull request #681 from eht16/fix_create_template_from_zone_url
Remove $SCRIPT_ROOT from 'admin.create_template_from_zone' URL
2020-04-30 09:12:04 +07:00
Marcus Knight
0e093d4eec Support only having one auth method enabled (which isn't ldap/local) 2020-04-16 16:04:10 +08:00
Attila DEBRECZENI
def06bee41 set SAML wantAssertionsEncrypted from config 2020-04-03 13:44:03 +00:00
Attila DEBRECZENI
cc26174a48
wantAssertionsEncrypted to false 2020-03-27 02:19:06 +01:00
Attila DEBRECZENI
a581aa3cf2 add SAML_ASSERTION_ENCRYPTED envrionment 2020-03-25 21:35:20 +00:00
Attila DEBRECZENI
e550b0a109 SAML debug attributes 2020-03-25 21:05:30 +00:00
Enrico Tröger
bc2e7c9786 Remove $SCRIPT_ROOT from 'admin.create_template_from_zone' URL
As the URL here is contructed from Flask's "url_for" which already
takes the script root into account, we do not need to add it here
explicitly. This would result in a duplicate script root otherwise.
2020-03-09 17:08:27 +01:00
Scott Howard
417338d826 Remove blank comments from rrsets before sending for compatibility with some pdns backends 2020-03-07 02:07:41 -06:00
Khanh Ngo
f2704649f1
Merge pull request #668 from pprietosanchez/fix_search_API_request
Correct request method
2020-03-06 14:08:39 +07:00
Khanh Ngo
026dcead7f
Merge pull request #671 from eht16/add_missing_format_arguments
Add missing format arguments for error message
2020-03-06 13:58:10 +07:00
Khanh Ngo
7024404f73
Merge pull request #674 from sshipway/patch-1
Corrections to Azure auth service definition after refactor
2020-03-06 13:57:09 +07:00
Enrico Tröger
b421b9b38a Fix token name in session for OIDC and GitHub authentication 2020-03-05 17:07:13 +01:00
Steve Shipway
7ac6529e0a
Corrections to Azure auth service definition after refactor 2020-03-04 17:34:01 +13:00
Enrico Tröger
2d55832729 Add missing format arguments for error message 2020-03-04 00:27:48 +01:00
pprietosanchez
a2d98d38e2 Correct request method 2020-02-28 16:25:19 +01:00
Khanh Ngo
52eb62a911
Fix unit tests
The python float number formatting causes unit tests failed
2020-02-13 16:22:07 +07:00
Khanh Ngo
d497fdee8e
Merge pull request #655 from eht16/issue428_sync_performance
Perform domain sync within a single transaction
2020-02-12 09:56:41 +07:00
Khanh Ngo
13aab7f6ee
Merge pull request #645 from eht16/outgoing_request_logging
Add log message after remote server request
2020-02-12 09:45:12 +07:00
Enrico Tröger
81bfde5a79 Add log message after remote server request
This might be handy to detect remote server problems or debugging
timeouts and the like.
2020-02-02 15:23:00 +01:00
Enrico Tröger
eabbcedf08 Perform domain sync within a single transaction
This increases data inconsistency and also performance of the whole
update process: SqlAlchemy can use its own caching better with a single
transaction as it does not need to mark already fetched objects as dirty
and so re-fetch them again on later use. So after deleting a domain,
we can still use the previously fetched domain objects for the update
operations afterwards. Otherwise SqlAlchemy had to fetch each domain
object again with single SELECT statements which leads to bad
performance with many domains (>> 1000).

The introduced "do_commit" variable controls whether the database
changes are to be committed by the caller or in the called method
itself. So we can use a single transaction for the Domain.update()
method while still preserving the previous behavior for other callers.

Closes #428.
2020-02-02 15:15:20 +01:00
Khanh Ngo
4cfb6ef81f
Merge branch 'master' of github.com:ngoduykhanh/PowerDNS-Admin 2020-01-29 22:33:32 +07:00
Khanh Ngo
31d19b19ab Merge remote-tracking branch 'eht16/add_ssl_verify_setting' 2020-01-29 22:33:24 +07:00
Khanh Ngo
faeb8d1f94
Merge pull request #652 from ngoduykhanh/fix_import
Fix logging in models
2020-01-29 22:31:56 +07:00
Khanh Ngo
a069fdd8cb
Merge pull request #648 from eht16/adjustable_log_level
Introduce PDNS_ADMIN_LOG_LEVEL to change the log level
2020-01-29 22:28:03 +07:00
Khanh Ngo
dbb181d575
Merge pull request #647 from eht16/fix_typos
Fiy typos in logging messages
2020-01-29 22:21:29 +07:00
Khanh Ngo
23c73f6c52
Fix logging in models 2020-01-29 22:18:15 +07:00
Khanh Ngo
2de8bf55f8 Merge branch 'dashboard_search_placeholder' 2020-01-29 22:00:17 +07:00
Kees Bos
4d391ccb34 Extend api with account and user management 2020-01-27 14:04:15 +00:00
Enrico Tröger
0f6b7bdcf6 Introduce PDNS_ADMIN_LOG_LEVEL to change the log level
By setting the environment variable PDNS_ADMIN_LOG_LEVEL to a Python
support log level, PowerDNS-Admin will use that log level.
2020-01-27 00:20:32 +01:00
Enrico Tröger
ccaf74646d Fiy typos in logging messages 2020-01-27 00:05:28 +01:00
Enrico Tröger
68843d9664 Add new setting to verify outgoing SSL connections
The new setting 'verify_ssl_connections' tells the requests library to
verify secured outgoing HTTP connections.
Usually verifying is desired and helps to reveal configuration
problems. It also disables an ugly warning when HTTPS connections
are made without verification.
2020-01-25 19:44:11 +01:00
Enrico Tröger
737531d23f Add dashboard search placeholder to describe search patterns
Since ^ and $ for searching from start and to end is supported, let's
tell the user about it.
2020-01-25 19:26:13 +01:00
mathieu.brunot
acef820c54
🐛 Fix logger for LDAP group filter
Signed-off-by: mathieu.brunot <mathieu.brunot@monogramm.io>
2020-01-08 23:40:14 +01:00
mathieu.brunot
0ea188f8d6
✏️ Fix copy/paste error in div id
Signed-off-by: mathieu.brunot <mathieu.brunot@monogramm.io>
2020-01-08 23:31:51 +01:00
mathieu.brunot
66ff3426e0
👌 Update LDAP selection flip
Signed-off-by: mathieu.brunot <mathieu.brunot@monogramm.io>
2020-01-08 23:23:40 +01:00
mathieu.brunot
b4b5673cf1
Merge branch 'master' of github.com:johnwarburton/PowerDNS-Admin into feat/groupofnames
Signed-off-by: mathieu.brunot <mathieu.brunot@monogramm.io>
2020-01-08 23:19:51 +01:00
Khanh Ngo
1cd423041c Fix #632 2020-01-07 14:30:28 +07:00
Khanh Ngo
b1ba339a9c Merge remote-tracking branch 'sshipway/azure' 2020-01-03 21:07:57 +07:00
Khanh Ngo
e1c0b4a1b4
Fix missing import 2020-01-03 10:03:20 +07:00
Steve Shipway
cff4d0af53 Fix some formatting issues 2020-01-03 15:57:07 +13:00
Steve Shipway
765eab999a Azure OAuth - add Group mappings to Roles 2020-01-03 15:36:38 +13:00
Khanh Ngo
7f8ae003fc
Fix #631 Ipv6 reverse dns with pretty_ipv6_ptr enabled 2020-01-03 09:32:04 +07:00
Khanh Ngo
3bf6e6e9f1
Merge pull request #622 from ngoduykhanh/email_verification
Add user email verification
2019-12-22 10:06:43 +07:00
Khanh Ngo
462190a913
Fix API key query 2019-12-22 10:06:02 +07:00
Khanh Ngo
9533d8a5aa
Adjustment in user profile email
- Don't allow to update to new email address that currently used by another user
- Reset the confirmed status if verify_user_email setting is enabled
2019-12-22 09:19:35 +07:00
Khanh Ngo
d09a645300
Fix migration script and user model 2019-12-22 08:40:05 +07:00
Khanh Ngo
4bdd433079
Fix migration script and LGTM 2019-12-21 22:26:56 +07:00
Khanh Ngo
7739bf7cfc
Add user email verification 2019-12-21 21:43:03 +07:00
Khanh Ngo
1ea460fc71 Merge remote-tracking branch 'Neven1986/saml_requested_attrs' 2019-12-20 21:08:06 +07:00
Khanh Ngo
8723b7d56b
Fix #529. Update domain serial columns type 2019-12-20 11:36:27 +07:00
Neven1986
3688cec91a Support for SAML metadata Requested Attributes
Enhancements:

- More robust check when creating self-signed certificates
- Added support for SAML Requested Attributes through "SAML_SP_REQUESTED_ATTRIBUTES" parameter
2019-12-20 03:24:26 +01:00
Khanh Ngo
5567886aa3
Fix #614. Can not enable dnssec 2019-12-19 21:50:15 +07:00
Khanh Ngo
93cd64ac75
Fix #613. Create domain from template with SOA record enabled 2019-12-19 21:43:53 +07:00
Khanh Ngo
59110432a0
Merge pull request #612 from Neven1986/saml_certificate_fix
SAML certificate fix and enhancement
2019-12-19 09:11:15 +07:00
Neven1986
567430790c SAML certificate fix and enhancement
Problems resolved:

- Method create_self_signed_cert() was invoked nowhere. This puts parameter "SAML_SIGN_REQUEST" description in configs/development.py as incorrect
- Method create_self_signed_cert() was returning error while trying to write out certificate and private key. File handler was opened for writing out TEXT instead of BINARY data

Enhancements:

- Two new parameters are introduced SAML_CERT_FILE and SAML_KEY_FILE. User can now explicitly define own certificate and key file anywhere on file-system.
- If parameters mentioned in previous bullet aren't explicitly defined, in PowerDNS-Admin root directory self-signed certificate will be created.
- Certificates will be used or generated in any case, because in saml.py there are explicit parameters defined which require certificate/key in order to work normally. If they aren't, exception will be thrown. Examples of parameters defined in saml.py requiring certificate: wantAssertionsEncrypted, signMetadata, wantAssertionsSigned.
2019-12-19 00:40:25 +01:00
Khanh Ngo
7205b4a01b
User session improvement
- Add session handler on other blueprint's before request
- Adjustment in using jTimeout to close warning popup on
other tabs when we extend the session
2019-12-18 15:25:20 +07:00
Khanh Ngo
9a1b92fbc2
Add session timeout warning 2019-12-17 23:46:34 +07:00
Khanh Ngo
103bf176ed
Fix dashboard domain sorting 2019-12-17 13:34:52 +07:00
Khanh Ngo
3e961d7b21
LGTM fixes 2019-12-16 16:27:18 +07:00
Khanh Ngo
f5b88ebc73
Merge branch 'master' into record_adjustment 2019-12-16 15:54:38 +07:00
Khanh Ngo
3196297f57
Fix domain template. Drop PDNS 3.x support 2019-12-16 14:23:17 +07:00
Khanh Ngo
a891ed38e2
Add more log and history data 2019-12-16 11:01:16 +07:00
Khanh Ngo
4263bccbba
Format the history popup content 2019-12-15 21:42:08 +07:00
Khanh Ngo
de581e9e1d
Yapf code formatting 2019-12-15 09:40:05 +07:00
Neven1986
37f24f9fde Correction of redirect URL after successful SAML login
From my perspective, if agreed, this change can be merged, because the basic SAM auth. functionality is now present
and was tested with "samlidp.io" iDP.

However, there are further improvements which I would like to integrate, but as a separate features in separate pull requests
2019-12-15 01:15:30 +01:00
Neven1986
894756ad96 Invocation of separate threa in get_idp_data() problem resolved 2019-12-14 21:45:51 +01:00
Neven1986
cd3535dcd2 - Variable references inside SAML class were fixed
- Function signatures inside SAML class were fixed
    - Redirect URL for /saml/login path was modified (saml_authorized -> index.saml_authorized)

    Current status is that SAML metadata can be generated under /saml/metadata and communication to SAML iDP is working

    Problems remaining:
        - SAML Response doesn't contain any attributes (There is no AttributeStatement on the Response). It can be that problem is on iDP side
        - Background thread in retrieve_idp_data() cannot be spawned, this part is currently commented out, old code needs to be revisited
2019-12-14 18:59:59 +01:00
Khanh Ngo
5ac58d5503
Re-add pretty_ipv6_ptr. Bug fixes 2019-12-14 23:13:55 +07:00
Khanh Ngo
14658d797e
Adjustment in domain's record applying 2019-12-14 14:47:21 +07:00
Khanh Ngo
ad6b04bd78
LGTM fixes 2019-12-14 08:31:23 +07:00
Khanh Ngo
c0594b2c0b
Fix SAML 2019-12-13 21:55:11 +07:00
Khanh Ngo
d90a20f8da
Fix #602 domain table with long records 2019-12-13 21:22:58 +07:00
Tobias Paepke
81869f4cd8 add history entries for rrsets delivered via zone api which is forwarded to pdns 2019-12-11 14:04:18 +01:00
Khanh Ngo
242e31a490
Merge pull request #599 from ngoduykhanh/global_search
Add PDNS global search feature
2019-12-11 16:56:06 +07:00
Khanh Ngo
1d973d1614
Allow update zone kind the domain setting page 2019-12-11 16:02:36 +07:00
Khanh Ngo
798b7abb5b
Show actual result on applyChanges(). Remove generated assets files 2019-12-11 13:45:27 +07:00
Khanh Ngo
c62f9f6936
Formatting 2019-12-11 10:32:02 +07:00
Khanh Ngo
2cc73abbe5 Add PDNS global search feature
Remove POST method in global search route

Edit form action
2019-12-11 10:26:17 +07:00
Khanh Ngo
a65b940103
Remove POST method in global search route 2019-12-11 10:02:04 +07:00
Khanh Ngo
de69eaf825
Add PDNS global search feature 2019-12-11 09:55:18 +07:00
Khanh Ngo
67e6df6880
Bug fixes. Adjust logger 2019-12-10 17:08:43 +07:00
Khanh Ngo
9904505867
Bug fixes 2019-12-10 10:36:51 +07:00
Khanh Ngo
bca3c45e37
Add record comment 2019-12-09 17:50:48 +07:00
Khanh Ngo
c1fae6f3dd
Update README and LGTM fixes 2019-12-08 18:23:36 +07:00
Khanh Ngo
354383f0ec
Fix missing import 2019-12-08 08:57:24 +07:00
Khanh Ngo
19401699ca
Fix #596 missing import 2019-12-07 20:46:14 +07:00
Khanh Ngo
6af94df00a
LGTM fixes. Remove unused import and variables 2019-12-07 20:20:40 +07:00
Khanh Ngo
80b6ca19ac Resolve the conflicts and add adjustment to #591 2019-12-06 14:27:35 +07:00
Khanh Ngo
8de6df4d3b Fix the tests
Fix the tests

Fix the tests
2019-12-06 10:59:19 +07:00
Khanh Ngo
840e2a4750 Update docker stuff and bug fixes 2019-12-04 11:50:46 +07:00
Khanh Ngo
8ea00b9484
Refactoring the code
- Use Flask blueprint
- Split model and views into smaller parts
- Bug fixes
- API adjustment
2019-12-02 10:32:03 +07:00