forked from privacyidea/privacyidea
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathChangelog
2055 lines (1769 loc) · 88 KB
/
Changelog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
Version 3.10, 2024-09-03
Features:
* Node-specific realms (#3758)
* Add node names and UUIDs to database (#3757)
* Add, remove and configure realms with node-specific resolver configuration (API and WebUI)
* Add token containers (#1291)
* There are three container types (generic, smartphone, and yubikey) which can contain different token types
* A container can have one owner and multiple tokens
* Tokens can be added to a container on the fly during the enrollment, on the token, user and container page
* Perform actions on all tokens of a container (enable, disable, delete)
* Event Handler
* Admin and user policies (similar to tokens)
* Added container serial and type as columns to the audit log
Enhancements:
* Drop support of Python 3.6 and enable Python 3.11 and 3.12 (#3593, #3711, #3760)
* UI: Capitalize headings
* UI: Enable/disable tokens, reset the fail counter, delete tokens and unassign user from token in user details
* UI: The support button in the footer will now initiate an email to ease the request of support (#3919)
* UI: Add multiple choice elements for realms and resolvers (#3793)
* UI: Hide enroll token menu entry, if no token-type is allowed (#4053)
* MS CA Connector: Added certificate revocation (#3316)
* Email and Phone number attributes can be used in challenge texts (#2917)
* Validity of JWT can be configured (#3996)
* PUSH: Optionally, the user can be required to press a number or character that is displayed on login
to complete the push authentication (#3897)
* PUSH: Add event handler for declining push requests (#3632)
* PUSH: Allow tags in PUSH notifications (#3227)
* Added "Authentication" condition to event handlers, which can be used to distinguish between
SUCCESS, FAILED and CHALLENGE (#3886)
* Enrollment via validate can have a custom enrollment text (#3884)
* Allow case insensitive usernames in policies (#3281)
* Cleanup of expired challenges externally (#3920)
* Tools: Migration of several tools to the click framework (#2498, #3769)
* Add functionality to dump token data to YAML (#3005)
* Allow extended notes on policies (#1814, #3895)
* WebAuthn: Allow offline usage (#3764, #3857, #3866)
* Add user-agent to audit log (#3856)
* Check Yubikey OTP length before validating (#3746)
* Check secret length for Yubikey token during enrollment (#3725)
* Enable user-agent version in subscription checks (#3800)
* Enhance offline token to allow refill for WebAuthn tokens (#3764)
* Add policy to disable PIN+OTP check when using challenge-response (#4051)
* Add privacyIDEA version to exported data and warn during import if versions mismatch (#4055)
* Make token description available as a tag in the user-notification handler (#3763)
* Add "creator" tag to QR-code for enrollment (#3902)
* Add email validation to enrollment (#3918)
Fixes:
* UI: Added translation for page navigation in the user details and list pages
* UI: Fixed open and close all actions in create new policy and conditions in create new event handler
* UI: Removed duplicated controller calls resulting in duplicated API calls (#3421)
* UI: Cancel poll-transaction in case another token is used (#3861)
* UI: Fix reset of user filters when changing user view (#3543)
* UI: Fix error during generation of drop-down lists in UI (#3937)
* UI: Hide "unassign" button in token view if the user does not have the proper rights (#3966)
* When attaching a token to a machine, validate the serial and the application (#4019)
* The realm of the token owner can not be removed from the token, unless the token is unassigned from the user (#3986)
* PUSH: Declined PUSH requests are now saved as such and can no longer be polled (#4026)
* PUSH: Label policies are now considered for PUSH token enrollment via validate (#3883)
* Verify enrollment now works for indexed secret token (#3869)
* Remove duplicate messages from response (#3989)
* Lazy translation evaluation for static strings (#3721)
* Truncate token description (#3747)
* Use uppercase hash name for google-authenticator URLs (#3812)
* Improve logging of event handler status in Audit log (#3781)
* Update config description of LDAP resolver to remove warning (#3854)
* Add missing index to Challenge.expiration column (#3920)
* Fix usage of challenge text and token defaults policies during multi-challenge enrollment (#3928, #3976)
* Enable sms/email text policies when verifying enrollment (#3971)
Version 3.9.3, 2024-04-04
Fixes:
* Fix creation of database tables with galera cluster (#3863)
Version 3.9.2, 2023-12-20
Fixes:
* Allow verify-enroll for paper token and TAN token (#3809)
* Fix offline data, when PIN is behind the OTP value (#3831)
Version 3.9.1, 2023-11-06
Fixes:
* Set correct start sequence for empty tables
* Fix pi-manage backup
* Add privacyIDEA CP to list of clients, that do not
need to be unquoted. (#3770)
* Fix problem with token description and verify enrollment (#3798)
Version 3.9, 2023-09-12
Features:
* Tokentype: Application Specific password (#3260, #3585)
* Tokentype: Day password token (#2781)
* Add machine grouping aka service IDs to be used with
application specific passwords and SSH keys (#3300, #3246, #3533, #3573)
Enhancements:
* Add event handler to set token application like "offline" (#3335)
* Add challenge response with pin reset for better usability with
client plugins (#3261)
* Add logged_in_user to g-object during /auth request (#3710)
* Allow to force description during rollout (#3469)
* Allow an administrator to explicitly (only) set a description (#3609)
* Add verify enrollment for indexed secret token (#3452)
* Handle declined PUSH requests so that plugins know, that they do
not need to poll anymore (#3599)
* Clean up the usage of PI_NODE and AUDIT_SERVERNAME to allow a
consistent naming in the audit log (#3589)
* Remove PI_VASCO_LIB error message in log file (#3470)
* Add event handler status to audit log (#3430)
* Optimize URL decoding for different clients (#3337)
* Upgrade to SQLAlchemy 1.4 (#2798)
* Add event for poll_transaction (#3692)
* Make LDAP Resolver pooling strategy configurable (#3461)
* Disable private key checking during loading for speed up (#3590)
* Add tool for exporting tokens for database re-encryption (#3005)
* UI: Multiselect policies in WebUI (#3493)
* UI: Make the whole header of an accordion clickable (#3425)
* UI: Improved grouping in the system menu (#3419)
* UI: Moved the CA menu to config->system (#3419)
* UI: Add italian translation (#3508)
* UI: Add user information in selfservice/user context (#3688)
* Docs: Improve documentation for /validate/check-enrollment (#3507)
* Docs: Improve policy mangle documentation (#3565)
* Docs: Add a detailed plugin guide how to write fully functional plugins (#3650)
* Docs: Fix description of preferred_client_mode (#3661)
* Docs: Update documentation (#3728, #3712, #3728)
* Update translations
* Infrastructure: Add Bandit and GraphQL runs for pull requests
Fixes:
* Fix /auth endpoint in case no password is available (#3438)
* Return all images as data:image, so that they can be used by the
client plugins (#3450)
* Fix typo in policy definition to fix revoke permission (#3608)
* Add missing thread ID to audit log in case of /validate/check
(#3578)
* Fix pi-manage backup with non-default SQL port (#3570)
* Fix SQLAlchemy warnings (#3547)
* Fix problems with naming object "." or ".." (#3409)
* Use more secure secrets module instead of urandom (#3623)
* UI: More explicit description for entering PIN or password (#3370)
* Fetch error when decoding JWT (#3028)
* UI: Fetch error when user does not exist (#3672)
* Ensure subprocess calls are secure (#3625)
* TOTP code cleanup: Use time2counter wherever necessary (#3664)
* Fix totp.get_otp test function (#3660)
* Fix typos (#3661)
* Update docs about TOTP apps, that have limited capabilities (#3634)
* Enhance schemas for urlopen (#3622)
* Add timeout to requests calls (#3621)
* Avoid exception if the provided password is shorter than the
OTP length (#3467)
* Ignore PIN policy during token rollover and verify to avoid
wrong error (#2886)
* Fixing response data of /auth endpoint to make the handling
more consistent (#3436)
* Fix parameter error in Webhook event handler (#3676)
* Fix calculation of TOTP values (#3734)
* Correct ID and help-text for Daypassword (#3742, #3744)
Version 3.8.1, 2023-02-06
Fixes:
* Update diag tool (#3146)
* Fix tokengroup error in WebUI (#3441)
* Fix dependencies when deleting tokengroups (#3423)
* Fix wrong QR code in enroll-via-validate (#3427)
* Add missing preferred client mode in validate-check-enrollment (#3429)
* Add missing enrollment parameters with challenge-response-enrollment (#3478)
* Fix password problem with special chars -
Disable unquoting of LDAP-Proxy and simpleSAMLphp (#3337)
* Remove false error message when user assigns a token (#3499)
* Fix tags in email tokens (#3330)
* Fix LDAP NTLM Authentication (#3482)
* Add missing Webhook Eventhandler in UI (#3475)
* Remove redundant id in SQL resolver (#3454)
* Fix ca-parameter policy during enrollment (#3479)
* Fix removing node from a policy (#3500)
Version 3.8, 2022-12-20
Features:
* Drop support for Python 3.5. Support for 2.7 will be dropped
in privacyIDEA 3.9 (#3263)
* Add MS CA connector to issue certificates from a Microsoft CA
(#3233, #3232, #2966, #2158)
* Add enrollment of HOTP, TOTP, SMS, Email or PUSH token during
authentication via Multi-Challenge (#2993)
* Add webhook event handler (#3178, #2938)
* Allow Kerebos Authentication for LDAP resolvers (#770)
* Add token groups in preparation for SSH key and Offline-Token
management (#3299)
Enhancements:
* Avoid double registration of webauthn tokens per user (#3207)
* Add WebAuthn attestation format "packed" (#3150)
* Support Windows Hello as WebAuthn token (#3142)
* Add preferred client mode to define the authentication behaviour of
plugins (#3373)
* Display multiple serials in auditlog in case of C/R (#3285)
* Add PI_LOGOUT_REDIRECT_URL for using a SAML logout link from the WebUI (#3257)
* Add passthru policy to audit log, even if password was wrong (#3212)
* Improve the description for appimageurl (#3133)
* Allow to choose padding for default security module (#3115)
* Make available languages configurable in pi.cfg (#3076)
* Add translation for admin error messages (#3066)
* Allow HTTPSMSProvider to send data as JSON (#3056)
* Rename pi-manage createdb to create-tables (#2996)
* Add ed25519-sk/ecdsa-sk for SSH tokens (#2792)
* Avoid spamming with SMS or Email by allowing to increase failcounter
* Add thread ID to audit log (#3381)
during challenge-response (#933)
* Configure Email address in the subject of a certificate request (#3327)
* Be more relaxing about subscription checking of plugins (#3296)
UI
* Add policy for audit_page_size (#3167)
* Add search highlighting in event handler conditions (#3062)
* Link online documentation in WebUI (#2952)
* Search and filter for actions in configured policies (#2788)
Documentation
* Add a glossary (#2783)
Fixes:
* Automatically delete MachineTokenOptions when a MachineToken is deleted (#3165)
* Fixing int-str conversion with Python 3.10 (#3303)
* Remove pillow dependency (#3268)
* Fix default AD attributes to (ObjectCategory=person) (#3218)
* Fix WebAuthn trust anchor directory (#3216)
* Fix enrolling SSH keys with an empty comment (#3198)
* Avoid fails in case of content-type header mismatch (#3194)
* Fix App device in certain cases as WebAuthn token (#3136)
* Fix ImportException to be subclass of privacyIDEAError (#3131)
* Fix URL encoding in TiQR URL (#3121)
* Add index for timestamp in DB (#3120)
* AES module also encrypts empty strings (#2899)
* Fix Push_Wait if user presses decline on smartphone (#2865)
* Fix fetching SSH keys under certain circumstances (#3375)
* Add missing sequences for certain database tables (#3356)
* Remove user fields from token API (#3343)
* Add SMPP encoding check (#3321)
WebUI:
* Disable realm button in case of reasolverread (UI) (#3149)
* Add missing translation for PSKC import (#3129)
Version 3.8dev3, 2022-12-07
Features:
* Add enrollment of HOTP, TOTP, SMS, Email or PUSH token during
authentication via Multi-Challenge (#2993)
* Add token groups in preparation for SSH key and Offline-Token
management (#3299)
Enhancements:
* Add thread ID to audit log (#3381)
* Add preferred client mode to define the authentication behaviour of
plugins (#3373)
* Avoid spamming with SMS or Email by allowing to increase failcounter
during challenge-response (#933)
* Configure Email address in the subject of a certificate request (#3327)
Fixes:
* Fix fetching SSH keys under certain circumstances (#3375)
* Add missing sequences for certain database tables (#3356)
* Remove user fields from token API (#3343)
* Add SMPP encoding check (#3321)
* Fix encrpyting empty strings in AES module (#2899)
* Rename createdb and dropdb to createtables and droptables (#2996)
* Make subscription checking more relaxing (#3296)
Version 3.8dev1, 2022-10-06
Features:
* Drop support for Python 3.5. Support for 2.7 will be dropped
in privacyIDEA 3.9 (#3263)
* Add MS CA connector to issue certificates from a Microsoft CA (#3233,
#3232, #2966, #2158)
* Add webhook event handler (#3178, #2938)
* Allow Kerebos Authentication for LDAP resolvers (#770)
Enhancements:
* add policy for audit_page_size (#3167)
* Be more relaxing about subscription checking of plugins (#3296)
* Display multiple serials in auditlog in case of C/R (#3285)
* Add PI_LOGOUT_REDIRECT_URL for using a SAML logout link from the WebUI (#3257)
* Add passthru policy to audit log, even if password was wrong (#3212)
* Avoid double registration of webauthn tokens per user (#3207)
* Add WebAuthn attestation format "packed" (#3150)
* Support Windows Hello as WebAuthn token (#3142)
* Improve the description for appimageurl (#3133)
* Allow to choose padding for defaul security module (#3115)
* Make available languages configureable in pi.cfg (#3076)
* Add translation for admin error messages (#3066)
* Allow HTTPSMSProvider to send data as JSON (#3056)
* Rename pi-manage createdb to create-tables (#2996)
* Add ed25519-sk/ecdsa-sk for SSH tokens (#2792)
UI
* Add search highlighting in event handler conditions (#3062)
* Link online documentation in WebUI (#2952)
* Search and filter for actions in configured policies (#2788)
Documentation
* Add a glossary (#2783)
Fixes:
* Automatically delete MachineTokenOptions when a MachineToken is deleted (#3165)
* Fixing int-str conversion with Python 3.10 (#3303)
* Remove pillow dependency (#3268)
* Fix default AD attributes to (ObjectCategory=person) (#3218)
* Fix WebAuthn trust anchor directory (#3216)
* Fix enrolling SSH keys with an empty comment (#3198)
* Avoid fails in case of content-type header mismatch (#3194)
* Fix App device in certain cases as WebAuthn token (#3136)
* Fix ImportException to be subclass of privacyIDEAError (#3131)
* Fix URL encoding in TiQR URL (#3121)
* Add index for timestamp in DB (#3120)
* AES module also encrypts empty strings (#2899)
* Fix Push_Wait if user presses decline on smartphone (#2865)
WebUI:
* Disable realm button in case of reasolverread (UI) (#3149)
* Add missing translation for PSKC import (#3129)
Version 3.7.4, 2022-10-18
Fixes:
* Fix the PassOnNoToken and passthru in Offline mode with Credential
Provider (#3333)
* URLencode password and username for remote token (#3337)
Version 3.7.3, 2022-08-01
Fixes:
* Preserve client information, when disabling a policy (#3243)
* Fix spanish translation
Version 3.7.2, 2022-07-04
Fixes:
* Fix password recovery link (#3168)
* Add missing user object in DEL /user/ request (#3192)
* Compare users by uid, thus fixing 2step enrollment with case
insensitive login names(#3186)
* Downgrade ldap3 dependency to fix finding of 5c-users
in objectGUID in Active Directory
Version 3.7.1, 2022-05-11
Fixes:
* Fix WebUI login with HOTP/TOTP challenge-response token (#3038)
* Improve error handling for "/ttype" endpoint (#3090)
* Removed redundant "user" option from offline token assignment (#3077)
* Fix creation of download-links for certificates due to HTML sanitizer (#3088)
* Fix policy descriptions containing HTML-like tags (#3118)
* Add documentation for the CustomUserAttributeHandler (#3075)
* Send Push message as notification and data to FireBase (#3117)
* Fix translation issue in PSKC-import (#3126)
* Add App-PIN policy for Push token (#3116)
Version 3.7, 2022-03-31
Features:
* Allow Offline Token without assigning to a specific IP address (#2926)
* The enrollment of HOTP, TOTP, SMS and Email Tokens can be verified
by entering a valid OTP value after the enrollment. (#2441)
* Security: Add security module to decrypt encryption keys using HSM (#3003)
Enhancements:
* Token: Policy for Password token can create human readable passwords (#2864)
* Token: Redesign the code logic of is_previous_otp and make it more robust for HOTP and TOTP tokens (#2916)
* Token: Allow resyncing of a token via Multi-Challenge (#2349)
* Token: consolidate client_wait in token enrollment. All tokens now
get the rollout_state "clientwait" or "enrolled" which can
be used in Token Handlers and in the token-janitor (#2784)
* Security and Speed: Allow to choosing hashing algorithms in pi.cfg (#2981)
* Policies: Also honor the user resolver in policies, when administrator is managing tokens (#2778)
* Policies: Add policy extended conditions of webserver environment (#2510)
* Event Handler: Token Handler can use the serial numbers of the tokens
during token import (#2698)
* Event Handler: Notification Handler now allows placeholders like "tokenowner" in reply-to. (#2711)
* UI: Allow to login to WebUI using Push-Tokens (#2893)
* UI: If an adminitrator is allowed to manage only one realm, this realm is autoselected in the UI. (#2908)
* UI: Rename buttons from "create" to "save" to avoid misunderstanding (#2932)
* UI: Use new dependency injection in javascript code (#1917)
* UI: Policy to exclude tokeninfo in token details (#2819)
* UI: Highlight policy search term (#2577)
* Tools: The tokenjanitor can check for the pure existence of a tokeninfo key (#2753)
* Tools: Improve the token janitor documentation (#2885)
* Tools: LinOTP miration script now also works with PostgreSQL (#2770)
* Tools: The "orphaned" parameter of the token-janitor allows to use
0/False or 1/True to also search for non-orphaned tokens (#2838)
* Tools: Add more export/import functions to pi-manage (#2455)
* Add nightly tests with a MySQL database (2477)
* Add new translated languages from the community: cs, es, it nb_NO, pl, ru, si, tr, uk, zh_HANS
* Add extra_require in setup.py for PyKCS11 to allow installing via pip also in case of use with HSMs. (#2951)
* Support SMTPS (#2568)
* Documentation: Add documentation for max_identifier_length for Oracle DBs (#2986)
* Documentation: Improve Event Handler documentation
* Documentation: Add missing policy documentation (#2768)
* Documentation: Add documentation about importance of time in privacyIDEA (#3026)
* Add detailed log messages to track HSM sessions (#3000)
Fixes:
* Failures in submission to Firebase will not block Push-Poll (#2904)
* Fix problems with CA certificate and StartTLS (#2892)
* Dependency update (Pillow)
* Token: Remove the tokenowner entry after the automatic deletion of the registration token (#2907)
* Fix the usage of secondary login attribute (#2919)
* Fix removal of the "alembic_version" table with dropdb (#2848)
* Fix "validate_mac no_check" when importing tokens with the token janitor (#2755)
* Update dependencies
* UI: Fix reload of policy list (#2967)
* UI: Remove the client side keygen tag for x509 certificates, since it is not supported by browsers anymore (#2968)
* UI: Fix submenu links like "new" and the routing highlighting (#2546)
* UI: Check the sanity of client IPs during creation of a policy (#2949)
* Event Handler: Fix loading of boolean values in event handler options (#2310)
* Token: Fix email token without an assigned user (#2990)
* Token: Handle modhex error for invalid passwords in Yubikey token (#2896)
* Do not use not-readily enrolled tokens for auth (#2852)
* Allow tokens in client_wait to be rolled over (#2763)
* Make token-janitor robust against unknown chars in last_auth check (#2780)
* Fix the manual setting of U2F tokens, which was overwritten by an
automatic description (#2793)
* Improve parameter parsing and decoding (#2810)
* Fix policy import with missing "condition" keyword (#2829)
* Add failsafe to raise an exception on the lib level when trying to assign a token
to a user, if the token is already assigned. (#2860)
* Fix AD little endian in objectGUID
* Fix upper case realm names in policy check (#2869)
* Fix deleting expired auth_cache entries (#2481)
Version 3.7dev4, 2022-03-20
Features:
* Security: Add security module to decrypt encryption keys using HSM (#3003)
Enhancements:
* UI: Policy to exclude tokeninfo in token details (#2819)
* UI: Highlight policy search term (#2577)
* Token: Policy for Password token can create human readable passwords (#2864)
* Security and Speed: Allow to choosing hashing algorithms in pi.cfg (#2981)
* Add documentation about importance of time in privacyIDEA (#3026)
* Allow to login to WebUI using Push-Tokens (#2893)
Fixes:
* Failures in submission to Firebase will not block Push-Poll (#2904)
* Fix problems with CA certificate and StartTLS (#2892)
* Dependency update (Pillow)
Version 3.7dev3, 2022-02-22
Features:
* Allow Offline Token without assigning to a specific IP address (#2926)
* The enrollment of HOTP, TOTP, SMS and Email Tokens can be verified
by entering a valid OTP value after the enrollment. (#2441)
Enhancements:
* Policies: Also honor the user resolver in policies, when administrator is managing tokens (#2778)
* Token: Redesign the code logic of is_previous_otp and make it more robust for HOTP and TOTP tokens (#2916)
* Add detailed log messages to track HSM sessions (#3000)
* UI: If an adminitrator is allowed to manage only one realm, this realm is autoselected in the UI. (#2908)
* UI: Rename buttons from "create" to "save" to avoid misunderstanding (#2932)
* UI: Use new dependency injection in javascript code (#1917)
* Tools: The tokenjanitor can check for the pure existence of a tokeninfo key (#2753)
* Tools: Improve the token janitor documentation (#2885)
* Add new translated languages from the community: cs, es, it nb_NO, pl, ru, si, tr, uk, zh_HANS
* Add nightly tests with a MySQL database (2477)
* Add extra_require in setup.py for PyKCS11 to allow installing via pip also in case of use with HSMs. (#2951)
* Documentation: Add documentation for max_identifier_length for Oracle DBs (#2986)
* Documentation: Improve Event Handler documentation
* Documentation: Add missing policy documentation (#2768)
Fixes:
* Token: Remove the tokenowner entry after the automatic deletion of the registration token (#2907)
* Fix the usage of secondary login attribute (#2919)
* Fix removal of the "alembic_version" table with dropdb (#2848)
* Fix "validate_mac no_check" when importing tokens with the token janitor (#2755)
* Update dependencies
* UI: Fix reload of policy list (#2967)
* UI: Remove the client side keygen tag for x509 certificates, since it is not supported by browsers anymore (#2968)
* UI: Fix submenu links like "new" and the routing highlighting (#2546)
* UI: Check the sanity of client IPs during creation of a policy (#2949)
* Event Handler: Fix loading of boolean values in event handler options (#2310)
* Token: Fix email token without an assigned user (#2990)
* Token: Handle modhex error for invalid passwords in Yubikey token (#2896)
Version 3.6.3, 2021-11-18
Fixes:
* Fix endianess for certain GUID bytestrings in LDAP resovler returned from AD
* Fix problem with old OTP values of TOTP tokens in autoresync
Version 3.7dev2, 2021-10-08
Enhancements:
* Support SMTPS (#2568)
* Add policy extended conditions of webserver environment (#2510)
Fixes:
* Do not use not-readily enrolled tokens for auth (#2852)
* Allow tokens in client_wait to be rolled over (#2763)
Version 3.7dev1, 2021-08-25
Features:
Enhancements:
* Allow resyncing of a token via Multi-Challenge (#2349)
* Token Handler can use the serial numbers of the tokens
during token import (#2698)
* Notification Handler now allows placeholders like "tokenowner" in reply-to. (#2711)
* LinOTP miration script now also works with PostgreSQL (#2770)
* consolidate client_wait in token enrollment. All tokens now
get the rollout_state "clientwait" or "enrolled" which can
be used in Token Handlers and in the token-janitor (#2784)
* The "orphaned" parameter of the token-janitor allows to use
0/False or 1/True to also search for non-orphaned tokens (#2838)
* Add more export/import functions to pi-manage (#2455)
Fixes:
* Make token-janitor robust against unknown chars in last_auth check (#2780)
* Fix the manual setting of U2F tokens, which was overwritten by an
automatic description (#2793)
* Improve parameter parsing and decoding (#2810)
* Fix policy import with missing "condition" keyword (#2829)
* Add failsafe to raise an exception on the lib level when trying to assign a token
to a user, if the token is already assigned. (#2860)
* Fix AD little endian in objectGUID
* Fix upper case realm names in policy check (#2869)
* Fix deleting expired auth_cache entries (#2481)
Version 3.6.2, 2021-07-22
Fixes:
* Fix LDAP Resolver for old Python versions like in CentOS 7 #2835
* Fix typo in pi-manage that breaks config restore #2829
Version 3.6.1, 2021-07-19
Fixes:
* Remove importlib-metadata from doc requirements
* Add a safe_store feature #2794
* Decode URL parameters for forms #2800
* Prepare ADFS subscription #2801
Version 3.6, 2021-06-07
Features:
* Add custom user attributes that can be managed within privacyIDEA #680
* Extended policy conditions can match on any token attribute #2590
Enhancements:
* Allow to use Push tokens without Firebase #2720
* privacyidea-cron allow to choose retry if action failed #1179
* UI: allow token rollover e.g. for smartphone swap #2613
* pi-manage: allow configuration export and import #2467
* Allow different PIN policies for different token types #2142
* UI: Search in policy description, not only in policy action #2574
* UI: Highlight found locations of search term in web UI #2577
* UI: Allow configurable entry point for custom web UI #2592
* UI: Add more descriptive tooltip to token when assigning to machine #2516
* Import AES mode yubikeys created with Yubico Personalization tool #2594
* token janitor can export arbitrary user fields #2569
* token janitor: CSV token export can either export hex or base32 encoded seeds #2648
* token janitor: CSV token export contains token owner #2664
* Remote Token can now be configured with a privacyIDEA configuration
instead of a distinct URL #2124
* Allow additional tags like {username} in SMS token #2677
* improve privacyidea-diag #2555
* auth_cache can now cache the credentials for a certain number of usages #1059
* Policy "add_user_in_response" also checks for user-realms #2642
* Stamp the database version automatically during installation #2708
* Audit Rotation is automatically added on new installation #1427
Documentation:
* Add note about SMS text formats #2151
* Rewrite Yubikey enrollment documentation #2318
Hardening:
* Replace ecdsa module with stable pyca module #2410
* LDAP resolver supports TLS 1.3 #2637
* Update dependencies / requirements #2570
* Choose more secure configuration defaults #2408
Fixes:
* Do not trigger disabled PUSH tokens #2723
* Configuration default truncate Audit log #2699
* Policy: Fix problems with extended policy conditions #2676
* UI: Remove table borders in list views #2585
* UI: Do not translate date in audit log #2579
* Remove deprecated oauth2client #1990
* Fix visibility of subscription for administrator #2609
* Remove non-existing getOTP from documentation #2636
* Remove undocumented and unused parameter aladdin_hashlib in token import #2634
* Fix visibility of token wizard #2632
* Create policy button is disabled if no scope is selected #1888
* Re-enable enroll button in case of error during token enrollment #2717
* Save fractions of seconds in the audit log #2706
* Fix pi-manage restore #2728
Version 3.5.2, 2021-03-23
Fixes:
* Add serial to the request object in /ttype/ endpoint (#2605)
* Fix missing audit entries missing_line and sig_check (#2627)
* Fix backup on Ubuntu 20.04 (#2646)
* Fix missing priority in policy import (#2643)
* Fix DB migrate URI if it contains char % (#2661)
* Fix long default POOLING_LOOP_TIMEOUT (#2662)
Version 3.5.1, 2021-01-28
Fixes:
* Fix DB migration script for update from prior of 3.3. (#2582)
* Fix the internal interface of container audit module (#2562)
* Add missing headers to /auth request (#2599)
* Fix tokeninfo value filter with Oracle db (#2602)
Version 3.5, 2020-12-22
Features:
* 4Eyes token uses multi challenge authentication (#2317)
* Require attestation certificate when enrolling
certificate token (#2152)
Enhancements:
* Tokens
* Allow to update firebase_token of a Push Token (#2436)
* Support WebAuthn tokens without sign_count (#2361)
* PSKC import now verifies the MAC of the token secrets (#2312)
* Configure length and contents of registration token via policy (#2284)
* The questionnaire token can now ask several questions from the list (#2137)
* Event handler:
* Choose SMS Gateway Identifier in Tokenhandler
when enrolling SMS token (#2506)
* Choose SMTP Identifier in Tokenhandler
when enrolling Email token (#2452)
* Increase or decrease failcounter in Tokenhandler (#2402)
* Allow to set maxfail counter in event handlers (#2541)
* Policies:
* Add extended conditions for tokeninfo (#1947)
* Web UI
* PIN can be changed with Challlenge Response when authenticating
at the WebUI (#2474)
* Hide some audit log columns for service desk users (#2372)
* Allow to configure a link to a policy statement/GDPR (#2325)
* Audit log now contains start time, end time and
duration of a request (#2254)
* The length of the audit columns to be truncated can be
configured in pi.cfg (#1756)
* Action grouping in scope authorization (#2438)
* Redesign welcome message for community version (#2397)
* Add usernames and serials of failed authentications
as shortlink into dashboard (#2475)
* Policy to add node name in the web UI (#1961)
* Make event conditions searchable (#2148)
* Align search layout in event conditions and policy actions (#2557)
* pi-manage: export resolver configuration (#1329)
* Documentation:
* Add note about SELinux and using non-standard ports (#2459)
* Explain sync_to_database for script handlers (#2450)
* Add documentation for RADIUS configuration (#2448)
Fixes:
* Allow equal signs in policy actions (#2494)
* Challenge Response is now checked independently on the presence
of a challenge in the database (#2491)
* Fix enrollment of two tokens using double click (#2487)
* Fix wrong (to few) number of authentication requests
in the dashboard (#2473)
* Allow setting an empty PIN in the UI (#2472)
* The dashboard only displays information, which an admin is
allowed to see, without throwing errors (#2456)
* Fix length of hashed password column in auth_cache table (#2446)
* Fix url_decode (#2345)
* Fix missing adminuser when importing policies (#2340)
* Hide browser autocomplete in user search field (#2292)
* Disable browser autocomple fields that clash with
search fields in the UI (#2401)
* Fix challenge response with multiple FIDO2 tokens (#2092)
Version 3.4.1, 2020-10-09
Fixes:
* Fix the deletion of the registration token (#2356)
* Add "messages" to JSON response in case of multi challenge
pin change (2346)
* Move from PBKDF2 to Argon2 for password hashes. Might want to
reset local admin passwords to use new hashing algo (#2412)
* Hide dashboard for normal users (#2384)
* Fix problem with missing templates in CA conncetor (#2374)
* Fix missing successful authentications in dashboard (#2394)
* Improve error handling in token janitor in case of
problematic user (#2405)
* remove PI_PEPPER and pyCrypto (#2409)
* only check for existing JWT algorithms (#2407)
* Use Argon2 for PINs and local admins (#2413)
* Fix error when logging in with REMOTE_USER (#2423)
* Use a secure way to compare strings to avoid
theoretical side channel attacks (#2415)
Version 3.4, 2020-09-08
Features:
* Add ScriptSMSProvider, that can send SMS through external
Gateways using arbitrary scripts (#2236)
* Add HTTP Resolver that can read users from web services
via JSON responses (#2083)
* Add a basic dashboard as start screen in the WebUI (#2177)
* Allow using dynamic 3rd party token classes (#2321)
* Allow multiple consecutive challenge responses for authentication
or tasks like changing the token PIN (#2361)
* PUSH token can communicate with privacyIDEA via polling
as fallback to Google Push Service or Apple Notification Service (#2262)
Enhancements:
* Allow deletion of validity period via UI (#2263)
* Remove marker for missing translations and allow to set a
custom marker (#2223)
* Add support for Python 3.8 (#2190)
* Allow hiding description field for users during
token enrollment (#2173)
* Improve error message during token import (#2073)
* Add Dutch translation (#2314)
* Allow application to choose tokentypes in
/validate/check and /validate/triggerchallenge (#2047)
* HTTPSMSProvider can now have header parameters in the
provider definition (#1963)
* Events
* Add failcounter as condition in event handlers (#2147)
* The script handler allows to sync the database before
running the script (#2293 #2302)
* Allow using user_obj in pre event handlers for
/auth event. (#2303)
* Policies
* Allow to define characters for set_random_pin policy (#2121)
* Add privacyIDEA nodes to policy condition (#2108)
* Add new authz policy action is_authorized to basically
allow or deny access (#2275)
* Allow ECDSA and other SSH key types (#2274)
* pi-manage can import tokens including HOTP token counter (#2285)
* Allow the token janitor to set tokenrealms (#2299)
* Use our general webauthn client component in the
privacyIDEA WebUI (#2273)
Fixes:
* Add missing audit data to container audit (#2264)
* Add tokeninfo failsafe for LinOTP migration script (#2253)
* Fix certain problems with the type of the userid
in SQL-Resolvers with Oracle DB (#2219)
* Fix default empty string problems with Oracle DB (#2218)
* Fix a policy issue that would require admin policies to
import tokens (#2209)
* Fix inconsistent enrollment templates. Have description
field for all tokentypes (#2208)
* Fix floating problems with multiple QR images in enrollment UI (#2175)
* Allow to edit realms without resolver priority (#2171)
* Fix empty (None) values in SQL Resolver connect string (#2271)
* Fix missing options parameter in RADIUS and REMOTE token (#2276)
* Use UTC for challenge timestamp (#1586)
* Fix exceeding max tokens when enabling a disabled token (#2215)
* split@Sign setting is also applied to REMOTE_USER (#1954)
* Fix privacyidea-diag and privacyidea-standalone to run with Python 3 (#1874)
* Fix possible recursion error in 4eyes token (#1892)
* Improve tests by fixing deprecation warnings (#2298)
* Clean up the code for /validate/samlcheck
* Fix censoring of Oracle connect strings (#2304)
* Treat unsupported WebAuthn attestation as None attestation (#2342)
* Fix admin/scope in import/export of policies with pi-manage (#2359)
* Fix url_decode (#2360)
* Fix token settings for Yubikey in UI enrollment (#2365, #2366)
Version 3.3.3, 2020-05-19
Fixes:
* Fix failing Challenge Response in WebUI (#2192)
* Add better logging for contradciting policy calls
* Case insensitive user check failsafe in policy matching (#2198)
Version 3.3.2, 2020-05-04
Fixes:
* Fix restricted audit log for helpdesk users (#2181)
Version 3.3.1, 2020-04-29
Fixes:
* Fix broken U2F support (#2157)
* Fix creation of PGP keys with pi-maange (#2165)
Version 3.3, 2020-04-06
Features:
* New token type: WebAuthn/FIDO2 token is initially supported by privacyIDEA (#1468)
* New token type: Indexed Secret token allows user
to authenticate with a pre-known secret that can be
initialized from the user store. (#1986)
* New Event Handler Module: Logging module enables custom event-driven logging (#1580)
Enhancements:
* Event Handler:
* The OTP token QR code can now be added not only inline but also as an attachment
to email notifications (#1226)
* Policies:
* Added a policy to define the allowed characters for PINs (#2051)
* Add policies to limit the number of destinct tokentypes per user (#1375)
* Improved distinction between the username of the administrator
and the username of the user. Add an admin username to policies. (#1867)
Thus allowing:
* User attribute conditions in admin policies
* default settings for hashlib and otplen for HOTP and TOTP token
and default timestep for TOTP token can now be dependent on
admin user and for which user the admin does the enrollment
* Enrollment settings for push tokens can distinguish better
between admin users and user
* Random PIN settings can be user dependent
* WebUI
* Added the option to filter tokens by tokenrealm (#545)
* Prior to enrollment of soft tokens, such as HOTP, TOTP and PUSH the user is
offered with a QR codes to direct him to the Authenticator App stores (#1919).
* Adding version hashes to WebUI components to avoid working with outdated
templates (#1871)
* Updated bootstrap and AngularJS (#830)
* Rework policy matching (#1691 #2024 #2038)
* Documentation
* The documentation was restructured and updated (#1967 #1981 #1504 #2049 #2089 #2090).
* Tools
* Added a migration script to update the database schema from 2.23.5 to 3.2.2 (#2040)
* Misc
* Added the remote serial to the tokeninfo of a remote token to better track
authenticated devices (#2031)
* Use dictConfig instead of fileConfig to read configurations (#2059)
* Support logging configuration file in YAML format (#2080)
* Support custom audit logger names (#2106)
Fixes:
* Fix unauthorized statistics view (#1238)
* Fix a bug which caused an exception during PSKC key file container import (#1915)
* Fix link on privacyIDEA logo in the WebUI when no user is logged in (#1944)
* Updated CA files in testdata which were about to expire (#1960)
* Fix API endpoints to avoid redirects (#1999)
* Fix url_decode padding before it could cause any issues (#2000)
* Initialize rtype in user_object correctly (#2007)
* Fix an inconsistency of start_tls with postgres SQL (#2025)
* Fix wrong type splitting of questionnaire token (#2026)
* Fix a bug which could cause missing audit entries when using the
ContainerAudit module (#2029)
* Fix a bug which prevented defining an SQL resolver without a password (#2030)
* Fix missing "position" argument on event import with pi-manage (#2036)
* Fix timing issues in tests (#2041)
* Fix documentation (#2049)
* Fix sorting token table by column (#2111)
Version 3.2.2, 2020-01-17
Fixes:
* Fix Popen calls like with pi-manage backup restore
* Fix retrieving the correct database for restore (#1993)
* Fix caconnectorread policy (#1994)
Version 3.2.1, 2019-12-30
Fixes:
* Fix the wording and translation of the lost token scenario
Version 3.2, 2019-12-02
Features:
* New Event Handler: RequestMangler to modify request attributes (#1810)
* New Event Handler: ResponseMangler to modify the response data (#1138)
* New Audit Module to write to a file (#1072)
* New Container Audit Module to write to several audit modules at once (#1072)
* Applications can use the API with predefined asymmetric JWT (#1773)
Enhancements:
* Authentication:
* Add endpoint /validate/polltransaction for an improved workflow
for out-of-band challenges-responses like PUSH token (#1838)
* Allow registration token to work as challenge/response (#1897)
* RADIUS token also uses timeout and retries (#1931)
* Improve the handling of splitAtSign, so that a multi-realm
setup will be more consistent (#1808)
* Use authentication and authorization policies also for the
/auth endpoint (#1722, #1537)
* Policies and events:
* Allow HTTP AGENT and any arbitrary HTTP header in extended policy conditions (#1425)
* Allow HTTP AGENT as condition for event handlers (#1260)
* Event Handlers can match for the rollout_state (#1801)
* Add write-to-file action to the notification handler (#717)
* Allow user endpoints to trigger events (#1822)
* Management:
* Allow help desk to trigger a token PIN reset without actually seeing the PIN (#1196)
* Allow "file:" syntax in email notification handler (#1939)
* Allow more sophisticated Proxy settings for the OverrideClient settings (#1868)
* LinOTP migration script to work with LDAP mixed endian notation (#1883)
* triggerchallenge also writes the serial of the triggered token
to the audit log (#1862)
* Allow a dash ("-") in policy names (#1813)
* The token janitor can return a list of users with tokens (#1705)
* Restrict OTP length, hash and timestep also in admin policies (#1566)
* User experience:
* Clean up event handler view and put handler and
position in extra columns (#1920)
* Improve the serial number checking for disallowed characters (#1826)
* The event handler list can be sorted and filtered (#1818)
* The policy list can be sorted and filtered (#1817)
* Show disallowed policy name characters in the UI (#1674)
* Ask before deleting a hardware token (#954)
* Performance:
* Improve performance by reading event handlers only if the
configuration has changed (#1823)
* Store statistics data like event counters per node to improve
HA and replication performance (#1819)
* Improve performance of the pre-auth event handler (#1686)
Fixes:
* Delete entries from database tables, when the parent object
is deleted (fixed for machineresolverconfig, resolverconfig,
eventhandleroption) (#1927)
* Comply to new pyredis parameters for apache auth module (#1925)
* Fix filename parameter of HostMachineResolver (#1912)
* Fix JSON content detection for endpoints like /validate/radiuscheck (#1850)
* Fix integer UID with PostgreSQL databases (#1825)
* Make the policy creation at the command line with pi-manage more
consistent (#1807)
Version 3.1.2, 2019-11-15
Fixes:
* Fix the missing phone number field for SMS token, when a user
wants to enroll an SMS token. (#1929)
Version 3.1.1, 2019-09-25
Fixes:
* Fix the wrong token_type key in the audit log which caused the tokentype
to not be contained in the audit (#1846)
Version 3.1, 2019-09-04
Features:
* Allow user attributes in policy conditions (#1645)
* Assign tokens and set old PIN during migration (#1619)
* Admins can only see tokens within the realm they are allowed to manage (#1713)
**Note**: During update a policy "pi-update-policy-b9131d0686eb" is added, which
gives admins the previous read rights on tokens.
* Add adminread policies for policies, events, resolvers, system, machineresolvers,
smtpserver, radiusserver, privacyidea server, periodic tasks, smsgateways. (#1495)
**Note**: During update a policy "pi-update-policy-3d7f8b29cbb1" is added, which
gives read rights to all admins to provide backward compatibility
Enhancements:
* Authentication and Challenge Response:
* RADIUS token supports a single AccessChallenge with the remote RADIUS server (#1790)
* Improving Push token performance by reusing still valid access token (#1795)
* Improving TiQR token: It returns the remaining attemps after a wrong PIN is given (#1777)
* Improving TiQR token: Make TiQR info URL configurable (#1782)
* Enhance validate check logic in regards to serials and user names (#1768)
* User may now have several TiQR tokens at the same time (#1739)
* Do not increase fail counter when *checking* for an answered challenge (#1697)
* Allow additional token specific checks when answering challenge response (#1695)
* Endpoint GET /token/challenges also takes transaction_id (#1689)
* Push token can delay the response of /validate/check, so that there is no need
to query the server to check if the push notification has been answered (#1583)
* User experience:
* Improve user experience when enrolling Yubikeys via ykpersonalize - Automatically
removing whitespaces (#1735)
* Allow user to change the token description (#1717)
* Customize Web UI page title (#1624, #1243)
* *search_on_enter* also applies to audit log (#1493)
* Allow a welcome message in the Web UI if the user has no token (#1074)
* Do not display token configuration hints in the UI to normal users (#1789)
* Management:
* Event handlers allow rollout_state as condition (#1801)
* Add script to export OTP counters (#1728)
* Allow many additional tags in email notifications: serial, user, givenname,
surname, username, userrealm, tokentype, recipient_givenname, recipient_surname,
time, date (#1703)
* Improve diagnostics script by adding SQLAlchemy URL (#1667)
* Add resolver conditions to several policy checks (#1646)
* /auth entries in the audit log now also fill in resolver and serial (#1593)
* `pi-manage backup` also backs up the FreeRADIUS configuration (#1575)
* Allow event handlers on /auth endpoint (#1567)
* Allow to force a PIN on tokens in the privacyIDEA Authenticator App (#1295)
* New policy *max_active_tokens_per_user* (#1241)
* Add image url to the otpauth QR code, allow images in e.g. FreeOTP (#1228)
* Add MAC to PSKC token export (#1663)
* Performance: