Commit Graph

575 Commits

Author SHA1 Message Date
Matt Scott
cf62890fcf
Working on implementing the jQuery Validation plugin for the authentication settings editor. 2023-04-10 17:28:54 -04:00
Matt Scott
a4b6fba2be
Working on implementing the jQuery Validation plugin for the authentication settings editor. 2023-04-10 16:35:02 -04:00
Matt Scott
6a19ed2903
Completed basic handling of authentication settings save process to the database. 2023-04-10 13:24:42 -04:00
Matt Scott
2e30b83545
Added jQuery Validation 1.19.5 to the project NPM configuration as well as the Flask assets build script for js_main. 2023-04-10 13:06:06 -04:00
Matt Scott
022e780d77
Working on authentication editor data saving workflow. 2023-04-10 12:49:12 -04:00
Matt Scott
0912dd2805
Working on Knockout model integration into existing authentication settings editor view.
Settings are now loading via new backend API.
2023-04-10 07:39:21 -04:00
Matt Scott
827da59ae2
Working on Knockout model integration into existing authentication settings editor view. 2023-04-09 10:26:07 -04:00
Matt Scott
737e104912
Added KnockoutJS NPM package.
Re-formatted and re-organized settings model.

Working on Knockout model integration into existing authentication settings editor view.
2023-04-09 10:11:00 -04:00
Matt Scott
ece9626212
Updated the OAuth login handlers to utilize uniform user naming variables.
Updated the GitHub login process to split the user's full name based on spaces so that first and last name are filled in on PDA profile.
2023-04-08 18:14:40 -04:00
Matt Scott
9168dd99e0
Updated the OAuth login handlers to utilize uniform user naming variables.
Updated the GitHub login process to split the user's full name based on spaces so that first and last name are filled in on PDA profile.
2023-04-08 18:11:55 -04:00
Matt Scott
a46ab760fd
Reorganized universal OAuth fields' order to a uniform standard. Also updated the Client ID field prompts to a uniform standard. 2023-04-08 17:40:30 -04:00
Matt Scott
ee9012fa24
Completed OAuth change to make the use of the metadata URL setting exclusive to the authorization and token URL settings. If the former is defined, it will be used in preference to the latter. 2023-04-08 17:14:55 -04:00
Matt Scott
ab4495dc46
Completed the implementation of the SERVER_EXTERNAL_SSL environment setting into the app config files.
Completed the implementation of the aforementioned environment setting into the OAuth workflows.

Documented the aforementioned setting in the Environment-variables.md wiki document.
2023-04-08 17:05:27 -04:00
Rauno Tuul
f5565bef23 merged activity_sql_perf_tuning #1487 to solve conflicts in forehand 2023-04-06 12:55:13 +03:00
Rauno Tuul
d27fa2aa96 minor syntax improvement to use single history object as list 2023-04-04 22:27:21 +03:00
Rauno Tuul
84d792ac07 Resolved merge conflict 2023-04-04 15:50:46 +03:00
Rauno Tuul
fe10665e19 Refactored zone history retrieval, parsing and displaying code. 2023-04-04 15:32:52 +03:00
Stefan Ubbink
bae746cffe Show the current zone type and soa-edit-api settings on the zone settings page 2023-04-03 17:40:46 +02:00
Stefan Ubbink
a2429ad9d6 Make it possible again to use a different Zone Type than 'native', fixes #1501 2023-04-02 20:46:32 +02:00
Matt Scott
19335439bd
Completed the removal of the OAuth JWKS URL setting as well as the update of how the existing metadata URL settings are being used.
For additional information, reference GitHub issue #1499.
2023-04-02 09:19:05 -04:00
Rauno Tuul
e6c0b4c15f Performance gain in activity records list as in #1381 2023-03-30 16:23:03 +03:00
Jan Koppe
0d0339a316
fix #1485: allow more than 100 rows default in dashboard
The dashboard.domains_custom route was hardcoded to either return all
the domains, or at most 100, regardless of default_domain_table_size
setting.

Make this limit be dependent on default_domain_table_size instead.

The API will now limit to 100 or default_domain_table_size, whichever
one is higher. This is done to not break any seconday use-cases that
might depend on the hardcoded setting.
2023-03-29 14:52:00 +02:00
Rauno Tuul
bb34daa333 Activity pages history base_query unification and perfomance improvement for standard user 2023-03-28 16:41:08 +03:00
Rauno Tuul
e0dffff325 Fix activity search form structure 2023-03-25 11:47:58 +02:00
Nigel Kukard
a954800869 fix(api): fixed internal server error being generated from invalid UTF-8 encoded X-API-KEY 2023-03-22 01:27:52 +00:00
Nigel Kukard
138532fb95 fix: allow the specification of any combination of groups in LDAP group security configuration
Previous behavior required the specification of all three group security groups before the
"Save Settings" button would be enabled.

This adds a check into users.py which checks that the group is set before searching and
removes the javascript preventing the specification of any combination of groups.

Tested:
- Tested all combinations on AD after MR 1238
- Tested all combinations on OpenLDAP
- Tested enabling the Group Security with no groups set which correctly prevents login

Resolves #1462
2023-03-18 20:30:52 +00:00
Matt Scott
c24b4b047d
Merge pull request #1461 from nkukard/nkupdates-fix-session-clear
fix: fixed session clearing and let logout_user take care of cleanup
2023-03-18 16:05:20 -04:00
Matt Scott
defb3e5a48
Merge pull request #1238 from melck/fix-ldap-ad-nested-member
Fix LDAP user group search for nested groups #1238
2023-03-18 16:03:48 -04:00
Nigel Kukard
f44ff7d261 fix: fixed session clearing and let logout_user take care of cleanup
It seems when logging in and logging out, then logging back in, setting
the session timeout to 5 minutes, then waiting for expiry can cause
a situation when using SQLA-based sessions which results in a NULL field
in the database and causes a persistent 500 Internal Server Error.

As per issue 1439 here is a fix found by @raunz.

Resolves #1439.

Tested for about 8 hours and tons and tons of expired sessions, could not
reproduce with the fix applied.
2023-03-18 19:14:58 +00:00
Matt Scott
a25dda8ac1 Made some formatting tweaks to the authentication settings view to unify section header styling.
Corrected improper markup introduced by recent PR for password complexity requirements.
2023-03-17 15:50:08 -04:00
Matt Scott
78f0332a2d
Merge branch 'dev' into nkupdates-password-policy 2023-03-17 15:31:10 -04:00
Matt Scott
4fa8bf2556
Merge pull request #1454 from nkukard/nkupdates-fix-basic-auth-exception2
fix(auth:basic): Basic auth exception handling improvement
2023-03-17 15:28:20 -04:00
Nigel Kukard
64017195da feat(authentication): check password policy during user profile password change 2023-03-17 03:45:37 +00:00
Nigel Kukard
fc14e9189d feat(authentication): check password policy during registration of new users 2023-03-17 03:45:09 +00:00
Nigel Kukard
1cea4b7ce3 feat(authentication): added password policy checker function 2023-03-17 03:44:08 +00:00
Nigel Kukard
bb6d2d0497 feat(authentication): added admin settings for password policies 2023-03-17 03:42:45 +00:00
Stefan Ubbink
a9e18ec594 Make sure old history items will also be shown 2023-03-16 18:36:47 +01:00
Stefan Ubbink
a2d1179fd2 Change domain(s) to zone(s) in the python code and docs 2023-03-16 17:02:23 +01:00
Stefan Ubbink
34902f6cf9 Change domain(s) to zone(s) in the templates 2023-03-16 17:02:23 +01:00
Nigel Kukard
17e3a8f942 fix(auth:basic): Basic auth exception handling improvement
Currently passing an invalid Basic auth header (random string base64 encoded) would result in an exception being raised due to a username, password = auth_header.split().

Similary passing a `Digest` authentication type would result in an exception as there is no :.

Thirdly passing invalid base64 encoded UTF-8 code sequences would result in exceptions as this issue (#1424).

I added code to check explicitly that we are doing basic authentication then by checking the number of entries returned by the split.

I also added exception handling for invalid UTF-8 code sequence exceptions.

Tested with a fuzzer.

Tested with valid and invalid credentials.

This fixes #1424.
2023-03-15 01:09:46 +00:00
Nigel Kukard
24f94abc32 fix(auth:basic): improved API basic auth handling to avoid exceptions
Currently passing an invalid Basic auth header (random string base64 encoded) would result in an
exception being raised due to a `username, password = auth_header.split()`.

I refactored the code in this decorator by checking explicitly that we are doing basic authentication
then by checking the number of entries returned by the split.

I also added exception handling for invalid UTF-8 code sequences.

Tested with a fuzzer.

Tested with valid and invalid credentials.

This fixes #1447.
2023-03-14 23:19:40 +00:00
Stefan Ubbink
6eef5eb59c Make the OTP label the same as the site_name #1237 2023-03-13 18:54:49 +01:00
benshalev849
bd30c73ca4
Merge branch 'dev' into custom_current_user 2023-03-12 17:23:44 +02:00
Matt Scott
84cfd165b4 Re-arranged side navigation to include the "Global Search" feature regardless of user role as the global search feature is now accessible to all users.
Also moved the "Activity" feature link higher in the menu to remove duplicate code from the navigation code base.
2023-03-12 10:27:04 -04:00
Your Name
ee68b18e27 Added custom header in created_by segment option 2023-03-12 13:36:30 +00:00
Matt Scott
1afe9b4908 Finished adding new OAuth Server Metadata URL setting to Google, GitHub, and Microsoft OAuth service configuration features. 2023-03-12 09:13:54 -04:00
Matt Scott
fd30e3ff49 Added new JWKS URL setting for each OAuth provider and updated the associated authorization service to use the setting during the initialization of the authlib. 2023-03-11 14:46:58 -05:00
Matt Scott
87891a3eb9 Re-formatted the assets.py file to current PEP8 standards.
Modified the yarn.lock file to remove what appears to be a dependency overwrite for Font Awesome icons which results in an older 5.x release overwriting the newer 6.x release.
2023-03-11 08:48:19 -05:00
Matt Scott
dd867eb4e8 Added application version to base template footer, starting with the next planned production release of 0.4.0. 2023-03-10 18:43:20 -05:00
Matt Scott
cb929c3265 Tweaked the assets.py build script to switch to rcssmin for the login CSS build process. 2023-03-10 18:16:55 -05:00
Matt Scott
c617aa1483 Merge branch 'raunz-session_type_sqlalchemy' into dev 2023-03-10 16:35:22 -05:00
Matt Scott
356667f989 Tweaked PR to include the latest asset build changes for CSS minimizer. Also updated the default session storage to use SQLAlchemy instead of the file system. 2023-03-10 16:34:55 -05:00
Matt Scott
1d6fdb1c23 Merge branch 'session_type_sqlalchemy' of github.com:raunz/PowerDNS-Admin into raunz-session_type_sqlalchemy 2023-03-10 16:27:06 -05:00
Matt Scott
26f3f79388 Corrected unauthorized side navigation change regarding the placement of the "Global Search" feature.
Removed the statistics and recent activity / history data display from the dashboard view.
2023-03-10 16:23:33 -05:00
Matt Scott
6be6f3d389 Updated core project to also use rcssmin filter. 2023-03-10 16:10:42 -05:00
Rauno Tuul
aa70951964 Read flask session type from environment variable and create sessions table if not exist. 2023-03-08 17:05:32 +02:00
Rauno Tuul
68d9fb3755 Support multiple Flask session types, not just filesystem. Set via generic SESSION_TYPE environment variable 2023-03-08 12:08:07 +02:00
Lukas
d055fd83c5 Documentation, Fix 2023-03-08 08:52:27 +01:00
Matt Scott
4933351ac1 Revert "Revert "Clean up dashboard zone tabs""
This reverts commit 5f2fc514df.
2023-03-06 08:30:00 -05:00
Matt Scott
5f2fc514df Revert "Clean up dashboard zone tabs"
This reverts commit fc39cc40ee.
2023-03-04 11:27:44 -05:00
Matt Scott
9003b3f6c8
Merge pull request #1422 from corubba/feature/dashboard-tab-cleanup
Clean up dashboard zone tabs
2023-03-04 11:03:57 -05:00
Matt Scott
840076dae3
Merge pull request #1423 from corubba/feature/history-diff
Diff-ify changelog view for zone changes
2023-03-04 10:59:44 -05:00
Matt Scott
f5ddcc5809
Merge pull request #1421 from corubba/feature/sorting
Sort records label-wise right to left
2023-03-04 10:56:59 -05:00
Matt Scott
7f6924a966
Merge pull request #1420 from MDXDave/patch-1
Fixed scrolling on long content
2023-03-04 10:56:18 -05:00
Matt Scott
f4f1f31575
Merge pull request #1378 from raunz/global_search_for_all_users
Global Search available for all users
2023-03-04 10:54:49 -05:00
Matt Scott
062cb032c5
Merge pull request #1379 from raunz/dashboard_improvements
Fix dashboard MySQL performance with large history for standard users
2023-03-04 10:54:12 -05:00
corubba
fc39cc40ee Clean up dashboard zone tabs
* Rename `customBoxes` to be more descriptive and follow CamelCase name convention for classes
* Change the tab info from a tuple to a named tuple
* Change all access to the tab info tuple from index to (new) property name
* Rename/Relabel the tabs
* Add docstrings
* Simplify the domain filter logic
* Simplify/Unify the tab html template
2023-03-03 14:34:13 +01:00
corubba
934e4a7af3 Sort records label-wise reverse
Account for the hierarchical nature of DNS by sorting records by their
name label-wise from right to left. Also justify the record names to the
right, so they visually line up on label borders.
2023-03-03 13:35:14 +01:00
corubba
8a40d21ea4 Diff-ify changelog view for zone changes
Improve and document the diff-computation and presentation, so you can
easier see what changed.
2023-03-03 13:22:29 +01:00
Dave
70073b9267
Fixed scrolling on long content 2023-03-02 16:08:39 +01:00
Rauno Tuul
68fe7c0e56 Standard user domain records list performance loop improvement 2023-03-01 18:43:47 +02:00
Rauno Tuul
ec687b13a5 Dashboard history query performance related change to nested subquery (allowed domains for user). 2023-03-01 11:42:21 +02:00
Rauno Tuul
dc69f00094 Fix dashboard MySQL performance with large history table and standard user privileges. 2023-03-01 11:29:17 +02:00
Rauno Tuul
524b6c6883 Move Global Search menu item next to dashboard. 2023-03-01 11:21:29 +02:00
Rauno Tuul
3688add76a Global Search available for all users. Apply allowed domain filter for standard users search result. 2023-03-01 11:12:42 +02:00
Matt Scott
077bbb813c Corrected styling mistake introduced by recent Admin-LTE upgrades. 2023-02-26 17:09:30 -05:00
Matt Scott
df94baa81e Fixed a bug introduced by the recent updates for the mobile-first PR. 2023-02-25 16:50:08 -05:00
Matt Scott
81bd5804e0 Merge branch 'master' of github.com:PowerDNS-Admin/PowerDNS-Admin 2023-02-25 16:46:24 -05:00
Ymage
63db17ec21 Add missing OIDC env vars
Set SAML_ENABLED default to false
2023-02-23 22:13:19 +01:00
Mathieu
5346bee291
Update domain_setting.html
correct value priamry in primary
2023-02-23 22:01:49 +01:00
Matt Scott
74935359e4 Tweaked activity logs card header on dashboard view to match the latest naming conventions. 2023-02-23 06:56:18 -05:00
AdvanticGmbH
5ad384bfe9 Add support for oidc_oauth_metadata_url configuration option
This commit adds support for the `oidc_oauth_metadata_url` configuration
option. This option specifies the URL of the OIDC server's
metadata endpoint, which contains information about the OIDC server's
endpoints, supported scopes, and other configuration details. By using this
option, we can ensure compatibility with different OIDC servers and reduce
the risk of errors due to manual endpoint configuration.
2023-02-23 09:21:01 +01:00
Matt Scott
1cda4f774a Updated card styles for API keys list view that was missed in the recent mobile-first PR. 2023-02-22 09:12:13 -05:00
Matt Scott
b04ab933c6 Tweaked breadcrumb label for activity view that was missed in the recent mobile-first updates. 2023-02-21 08:03:06 -05:00
Matt Scott
8b0f005006 Fixed bug introduced by PR 1391 involving the saving up settings that have an associated text input. 2023-02-21 07:57:59 -05:00
Matt Scott
564e393292 Fixed bug introduced by PR 1391 involving the saving up settings that have an associated text input. 2023-02-21 07:55:15 -05:00
Matt Scott
b98bcc3bec Cleaned up a UX issue with the zone records list editor view. 2023-02-20 15:52:00 -05:00
Matt Scott
4d0cf87338 Cleaned up a UX issue with the zone records list editor view. 2023-02-20 15:50:03 -05:00
Matt Scott
3ee63aca8c Tweaked styling for global search query form to include curved edges in accordance with the latest styling. 2023-02-20 14:52:01 -05:00
Matt Scott
32c53cf2a1 Tweaked markup generated from JS file to remove legacy btn-flat classes from various buttons. 2023-02-20 13:15:17 -05:00
Matt Scott
fcdbc45de7 Moved temporary global styles out of base view template and into custom.css file to be properly included to asset generation. 2023-02-20 12:49:05 -05:00
Matt Scott
78b88c8e0e Finished minor tweaks on the activity view, but it will still need a major re-work to correct the numerous mistakes present in the code. 2023-02-20 12:43:49 -05:00
Matt Scott
40034b2f26 Corrected minor styling issue for small mobile screens on the dashboard. 2023-02-20 12:37:22 -05:00
Matt Scott
be827c2362 Partially reverted a UX change on zone template record editor view to keep things working until it gets a full rebuild. 2023-02-20 12:30:57 -05:00
Matt Scott
65b7b9a5c3 Completed first-round updates for the error template views. 2023-02-20 12:28:56 -05:00
Matt Scott
b3c80df674 Completed first-round updates for the email confirmation views. 2023-02-20 12:12:22 -05:00
Matt Scott
f977a42cea Completed first-round updates for the user profile edit view. 2023-02-20 12:08:32 -05:00
Matt Scott
2980e5cec9 Completed first-round updates for the authentication settings view. 2023-02-20 11:39:52 -05:00
Matt Scott
0e94e18485 Working on first-round updates for the authentication settings view. 2023-02-20 11:25:25 -05:00
Matt Scott
bd94c97486 Merge branch 'master' of github.com:PowerDNS-Admin/PowerDNS-Admin into 1391-feature-mobile-first-responsive-ui-design 2023-02-20 10:45:20 -05:00