AdvanticGmbH
40deb3c145
Create method to encode and decode idna
...
Previously strings with characters like "ß" would throw and exception
This seems to happen because the lib behind encode().decode('idna')
cant handle characters like this
2022-04-25 10:05:46 +02:00
KostasMparmparousis
4d6c6224b4
Login requirement removal for /ping endpoint
2022-04-20 13:31:23 +03:00
RGanor
4958423cc7
Update api.py
2022-04-18 22:11:31 +03:00
root
f41696c310
WIP - Added health check
2022-04-18 09:01:22 +00:00
Vasileios Markopoulos
e891333971
Merge pull request #1166 from LordVeovis/fix/saml
...
Fix broken SAML login from 9c00e48f
2022-04-13 10:16:58 +03:00
Vasileios Markopoulos
c9c82d4244
Merge pull request #1118 from cropalato/master
...
Fixing AD login if there is a infinity loop in memberOf groups.
2022-04-13 10:15:54 +03:00
Veovis
bd92c5946c
Fix broken SAML login from 9c00e48f
2022-04-12 17:14:54 +02:00
Ricardo Melo
ee0511ff4c
[Fix] AD recursive problem
...
- Fixing #1011[https://github.com/PowerDNS-Admin/PowerDNS-Admin/issues/1011 ]
2022-04-11 08:49:38 -04:00
Vasileios Markopoulos
098224eed1
Merge pull request #1123 from gunet/log-dnssec-enabling
...
Log DNSSEC status change for a domain
2022-04-11 15:21:59 +03:00
ManosKoukoularis
9e90dde144
Merge pull request #1158 from AdvanticGmbH/domain_xss
...
Render domain data table fields only as text
2022-04-11 13:05:43 +03:00
vmarkop
9c62208c2e
Updated repository URL
2022-04-11 12:21:34 +03:00
jbe-dw
8cf2985335
Merge pull request #979 from mirko/make-onelogin-pkg-optional
...
routes/index.py: Make package 'onelogin.saml2.utils' optional
2022-04-07 13:37:00 +02:00
jbe-dw
33f1c6ad61
Merge pull request #1027 from mirko/add-WWW-Authenticate-header-for-dyndns
...
dyndns: Respond with HTTP header 'WWW-Authenticate' to unauthed requests
2022-04-07 13:31:03 +02:00
AdvanticGmbH
b534eadf19
Decode domain record data and comment from HTML entity to text
2022-04-04 14:43:02 +02:00
AdvanticGmbH
e596de37f4
Render Name, Type, Status, TTL, Data and Edit as text
2022-04-04 14:16:40 +02:00
AdvanticGmbH
930932d131
Render domain data table fields only as text
2022-04-04 14:06:31 +02:00
jbe-dw
13ff4df9f9
Merge pull request #1122 from gunet/auth_type_log_fix
...
Fixed LDAP Authenticator Type logging
2022-04-03 14:59:48 +02:00
jbe-dw
c6de972ed8
Merge pull request #1101 from decryptus/master
...
[BUG] Fixed delete zone from API
2022-04-03 00:29:47 +02:00
Jérôme BECOT
17b4269e1b
fix: Set Content-Type on backend API calls
2022-03-30 23:39:00 +02:00
ManosKoukoularis
fcb8287f14
Update login.html
2022-02-25 12:59:23 +02:00
Jérôme BECOT
84a183d913
fix: Disassociate domains from account before deletion
2022-02-24 11:24:19 +01:00
Jérôme BECOT
6ba1254759
feat: Make domain update optional in assoc_account
2022-02-24 11:24:12 +01:00
kkmanos
10603fbb36
fixed csrf expiration for login page
2022-02-17 18:10:06 +02:00
kkmanos
e21f53085d
added DNSSEC enabling/disabling to history logs
2022-02-17 17:40:48 +02:00
vmarkop
36cee8cddc
Fixed 'LOCAL' Authenticator Type showing for LDAP auth
2022-02-17 17:34:54 +02:00
kkmanos
b9cf7245a5
fixed csrf expiration for login page
2022-02-17 17:02:11 +02:00
Adrien Delle Cave
6982e0107c
Typo in routes/api.py
2022-01-20 12:49:37 +01:00
Adrien Delle Cave
98bd9634a4
[BUG] Fixed delete zone from API
2022-01-19 13:50:12 +01:00
zoeller-freinet
0b2ad520b7
History table: relocate HTML for modal window ( #1090 )
...
- Store HTML for modal window inside an invisible <div> element instead
of inside the <button> element's value attribute
- Mark history.detailed_msg as safe as it is already manually run
through the template engine beforehand and would be broken if escaped
a second time
2022-01-01 21:20:01 +01:00
Christian
302e793665
Add button for admin page in single Domain view ( #1076 )
...
* Added button for admin page in domain overview
2021-12-31 00:55:59 +01:00
RGanor
328780e2d4
Revert "Merge branch 'master' into master"
...
This reverts commit ca4c145a18
, reversing
changes made to 7808febad8
.
2021-12-25 16:17:54 +02:00
RGanor
ca4c145a18
Merge branch 'master' into master
2021-12-25 16:10:18 +02:00
zoeller-freinet
7808febad8
login.html: don't suggest previous OTP tokens
...
This change has been tested to work with:
- Chromium 96.0.4664.93
- Firefox 95.0
- Edge 96.0.1054.57
2021-12-17 12:48:11 +01:00
Vasileios Markopoulos
94a923a965
Add 'otp_force' basic setting ( #1051 )
...
If the 'otp_force' and 'otp_field_enabled' basic settings are both enabled, automatically enable 2FA for the user after login or signup, if needed, by setting a new OTP secret. Redirect the user to a welcome page for scanning the QR code.
Also show the secret key in ASCII form on the user profile page for easier copying into other applications.
2021-12-17 11:41:51 +01:00
Jérôme BECOT
0da9b2185e
fix: Error in the swagger AccountSummary definition
2021-12-08 23:11:13 +01:00
zoeller-freinet
07f0d215a7
PDNS-API: factor in 'dnssec_admins_only' basic setting ( #1055 )
...
`GET cryptokeys/{cryptokey_id}` returns the private key, which justifies
that the setting is honored in this case.
2021-12-06 22:38:16 +01:00
Jérôme BECOT
d2f35a4059
fix: Check user zone create/delete permission
...
Co-authored-by: zoeller-freinet <86965592+zoeller-freinet@users.noreply.github.com>
2021-12-05 14:16:45 +01:00
zoeller-freinet
737e1fb93b
routes/admin.py: DetailedHistory: backward-compatibility
...
See https://github.com/ngoduykhanh/PowerDNS-Admin/pull/1066
2021-12-04 17:38:48 +01:00
zoeller-freinet
f0008ce401
routes/admin.py: refactor DetailedHistory
...
- Run HTML through the template engine, preventing XSS from various
vectors
- Fix uncaught exception when a history entry about domain template
deletion is processed
- Adapt indentation to 4 space characters per level
2021-12-04 16:09:53 +01:00
Dominic Zöller
6f12b783a8
models.user: get_accounts(): order by name
...
The order of account names returned by User.get_accounts() affects the
order account names are displyed in on /domain/add if the current user
neither has the Administrator role nor the Operator role and the
`allow_user_create_domain` setting is enabled at the same time.
If the current user does have the Administrator or Operator role,
routes.domain.add() already returns accounts ordered by name, so this
change makes it consistent.
2021-12-04 16:09:15 +01:00
Dominic Zöller
51a7f636b0
Use secrets module for generating new API keys and passwords
...
The implementation of `random.choice()` uses the Mersenne Twister, the
output of which is predictable by observing previous output, and is as
such unsuitable for security-sensitive applications. A cryptographically
secure pseudorandom number generator - which the `secrets` module relies
on - should be used instead in those instances.
2021-12-04 16:08:07 +01:00
ManosKoukoularis
9f46188c7e
Quotes fix ( #1066 )
...
* minor fix in history
* made key access more generic
2021-12-03 20:14:14 +02:00
root
caa48b7fe5
Merge branch 'quotes-fix'
...
Conflicts:
powerdnsadmin/routes/admin.py
2021-12-03 14:17:39 +00:00
root
940551e99e
feat: Associate an API Key with accounts ( #1044 )
2021-12-03 14:12:11 +00:00
ManosKoukoularis
6c1dfd2408
Datepicker replace ( #1059 )
...
* replaced jquery-ui-datepicker with bootstrap-datepicker
* removed obsolete static files
2021-12-02 11:59:36 +01:00
Dominic Zöller
701a442d12
default config: add exemplary URL encoding step for SQLA DB URL params
...
SQLAlchemy database URLs follow RFC-1738, so parameters like username
and password need to be encoded accordingly.
https://docs.sqlalchemy.org/en/13/core/engines.html#database-urls
2021-11-30 22:29:00 +01:00
ManosKoukoularis
1332c8d29d
History Tab Overhaul & Domain Record Modifications Changelog ( #1042 )
...
Co-authored-by: Konstantinos Kouris <85997752+konkourgr@users.noreply.github.com>
Co-authored-by: vmarkop <billy.mark.b.m.10@gmail.com>
Co-authored-by: KostasMparmparousis <mparmparousis.kostas@gmail.com>
Co-authored-by: dimpapac <demispapa@gmail.com>
2021-11-30 11:02:37 +02:00
benshalev849
b3f9b4a2b0
OIDC list accounts ( #994 )
...
Added the function to use lists instead of a single string in account autoprovision.
2021-11-19 17:53:17 +02:00
zoeller-freinet
bfaf5655ae
Clarify salt re-use for API keys ( #1037 )
2021-11-09 22:09:15 +02:00
benshalev849
3081036c2c
Env oauth url ( #1030 )
...
Overriding settings in DB using environment variable in docker
2021-11-05 18:22:38 +02:00
Daniel Molkentin
c7b4aa3434
fix: actually store OIDC logout URL ( #988 )
2021-11-05 17:28:21 +02:00
Vitali Quiering
e7d5a3aba0
feat: enable_api_rr_history setting ( #998 )
...
* feat: introduce enable_api_rr_history setting to disable api record
changes
2021-11-05 17:26:38 +02:00
zoeller-freinet
20b866a784
strip() whitespace from new local user master data ( #1019 )
...
When creating a new local user, there is a chance that, due to a copy &
paste or typing error, whitespace will be introduced at the start or end
of the username. This can lead to issues when trying to log in using the
affected username, as such a condition can easily be overlooked - no
user will be found in the database if entering the username without the
aforementioned whitespace. This commit therefore strip()s the username
string within routes/{admin,index}.py.
The firstname, lastname and email strings within
routes/{admin,index,user}.py are also strip()ped on this occasion.
2021-11-05 17:04:35 +02:00
zoeller-freinet
0e655c1357
user_profile tpl: set email input type attr to "email" ( #1020 )
...
It is then consistent with the email address input elements declared in
admin_edit_account.html, admin_edit_user.html and register.html.
2021-10-30 21:30:26 +02:00
steschuser
ba2423d6f5
fix if condition in pretty_domain_name ( #1008 )
2021-10-30 21:29:55 +02:00
jbe-dw
b8ee91ab9a
fix: Accounts API is broken ( #996 )
2021-10-30 21:28:36 +02:00
RGanor
c246775ffe
bg_domain button for operators and higher ( #993 )
2021-10-30 21:26:46 +02:00
Hidde
f96103db79
Replace [ZONE] placeholder with domain_name ( #960 )
2021-10-30 21:24:16 +02:00
steschuser
bf83662108
allow users to remove domain ( #952 )
2021-10-30 21:21:45 +02:00
steschuser
1f34dbf810
fix for api key ( #950 )
2021-10-30 21:19:49 +02:00
Khanh Ngo
b7197948c1
Reslove conflicts
...
Signed-off-by: Khanh Ngo <khanh.ngo@taxfix.de>
2021-10-30 21:19:01 +02:00
Khanh Ngo
ddf2d4788b
Reslove conflicts
...
Signed-off-by: Khanh Ngo <khanh.ngo@taxfix.de>
2021-10-30 21:15:04 +02:00
steschuser
1ec6b76f89
Remove otp field ( #942 )
2021-10-30 21:09:04 +02:00
Mark Zealey
4ce1b71c57
Fix when no records returned by API ( #923 )
...
For some reason when some programs delete a record we get an entry returned with records: []
2021-10-30 21:07:42 +02:00
steschuser
79457bdc85
Bug domain parse ( #936 )
2021-10-30 21:06:44 +02:00
Mirko Vogt
282c630eb8
dyndns: Respond with HTTP header 'WWW-Authenticate' to unauthed requests
...
The common procedure for HTTP Basic Auth is that a client does /not/
immediately send out credentials via an 'Authorization'-header, but to
wait until the server tells the client to do so - which the server
indicates via the 'WWW-Authenticate'-header.
PowerDNS-Admin (and flask in general), though, abort the whole
communication if no Authorization header was found in the initial
request - resulting in '200 "badauth"'.
While this might work for /some/ HTTP clients - which right away add an
Authorization header crafted from provided credentials (via args or
extracted from given URL), this is /not/ standard and /not/ common.
Hence add the 'WWW-Authenticate'-header for every unauthenticated call
checking for dyndns authorisation.
Note, though, this changes the status code from 200 to 401 in this case,
which - given the explanation why 200 was chosen in the first place -
might cause side effects.
2021-10-20 15:12:17 +00:00
RoeiGanor
10dc2b0273
bg_domain button for operators and higher
2021-08-13 20:03:06 +03:00
steschuser
993e02b635
limit user to only create domains for the accounts he belongs to ( #970 )
2021-08-05 19:42:58 +02:00
steschuser
07c71fb0bf
setting account_user_ids to empty list on GET /account/edit ( #966 )
2021-08-05 19:41:28 +02:00
steschuser
c4a9498898
respect_bg_domain_updates in routes/api ( #962 )
2021-08-05 19:39:26 +02:00
Kostas Mparmparousis
6e04d0419b
Provision PDA user privileges based On LDAP Attributes ( #980 )
2021-08-05 19:37:48 +02:00
Mirko Vogt
9c00e48f0f
routes/index.py: Make package 'onelogin.saml2.utils' optional
...
The onelogin package is not part of all saml packages for whatever
reason (e.g. Debian) and not easily installable from pypi (requires
CC toolchain).
As the onelogin functionality is already guarded by whether
SAML_ENABLED is set in other places (services/saml.py), also do so
in routes/index.py.
2021-07-23 06:56:09 +00:00
Carsten Rosenberg
d6e64dce8e
fix some jinja typos
2021-06-04 15:24:49 +02:00
Steffen Schwebel
b069cea8d1
add css to base as well
2021-06-02 09:44:15 +02:00
Steffen Schwebel
fd933f8dbc
remove unrelated files and changes as best as possible
2021-06-02 09:41:08 +02:00
Steffen Schwebel
0505b934a1
remove unrelated files and changes as best as possible
2021-06-02 09:39:39 +02:00
Steffen Schwebel
083a023e57
fix include
2021-06-01 16:41:26 +02:00
Steffen Schwebel
054e0e6eba
add rule for 'custom_css' setting
2021-06-01 16:24:07 +02:00
Steffen Schwebel
c13dd2d835
add 'custom_css' setting to model; check for 'custom_css' in template; create custom css dir in dockerfile
2021-06-01 16:15:31 +02:00
Steffen Schwebel
43a6e46e66
add setting to hide otp_token field on login page
2021-05-27 22:51:07 +02:00
Steffen Schwebel
36fdb3733f
Merge remote-tracking branch 'origin/master' into remove_otp_field
2021-05-25 15:30:32 +02:00
Steffen Schwebel
b197491a86
remove traceback
2021-05-25 12:44:07 +02:00
Steffen Schwebel
d23a57da50
handle decode error, output warning
2021-05-25 12:35:53 +02:00
Steffen Schwebel
4180882fb7
show traceback
2021-05-21 15:10:17 +02:00
root
bbbcf271fe
remove otp token from login page, depending on Setting
2021-05-20 15:21:56 +02:00
jyoung15
32983635c6
Delete blank comments. Fix for ngoduykhanh/PowerDNS-Admin#919 ( #920 )
2021-05-07 23:43:44 +02:00
Ian Bobbitt
39cddd3b34
SAML improvements for Docker ( #929 )
...
* Fix typo in managing user account membership with SAML assertion
* Support more config options from Docker env.
* Improve support for SAML key and cert from Docker secrets
Co-authored-by: Ian Bobbitt <ibobbitt@globalnoc.iu.edu>
2021-05-07 23:36:55 +02:00
jodygilbert
b66b37ecfd
delete history records when a domain is deleted ( #916 )
...
Co-authored-by: Jody <jody.gilbert@edftrading.com>
2021-05-07 22:55:45 +02:00
jodygilbert
98db953820
Allow user role to view history ( #890 )
2021-03-27 19:33:11 +01:00
jbe-dw
86700f8fd7
upd: improve user api ( #878 )
2021-03-16 19:39:53 +01:00
R. Daneel Olivaw
46993e08c0
Add punycode (IDN) support ( #879 )
2021-03-16 19:37:05 +01:00
jodygilbert
4c19f95928
Improve account creation/permission handling based on Azure oAuth group membership ( #877 )
2021-01-31 11:31:56 +01:00
jbe-dw
3a4efebf95
enh: display b64 encoded apikey on creation through the API ( #870 )
2021-01-24 09:43:51 +01:00
jodygilbert
7f86730909
allow-server-side-sessions ( #855 )
2021-01-24 09:09:53 +01:00
jbe-dw
8f6a800836
fix: account API output^ ( #874 )
2021-01-24 09:08:32 +01:00
jbe-dw
3cd98251b3
fix: API (apikeys) behaviour does not match swagger definition ( #868 )
2021-01-24 09:06:51 +01:00
jbe-dw
54b257768f
feat: Implement apikeys/<id> endpoint from swagger spec. ( #864 )
2021-01-16 20:49:41 +01:00
jbe-dw
718b41e3d1
feat: limit zone list for users on servers endpoint ( #862 )
2021-01-16 20:45:02 +01:00
jbe-dw
dd0a5f6326
feat: Allow sync domain with basic auth ( #861 )
2021-01-16 20:37:11 +01:00
jbe-dw
c3d438842f
fix: user jsonify to set response headers to json ( #863 )
2021-01-16 20:29:40 +01:00