-
Notifications
You must be signed in to change notification settings - Fork 7
/
ChangeLog
2660 lines (1594 loc) · 89.4 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
2023-03-14 Ludvig Michaelsson <[email protected]>
* NEWS: release 1.3.0
2023-03-06 Ludvig Michaelsson <[email protected]>
* NEWS: news: prepare for 1.3.0
2023-03-06 Ludvig Michaelsson <[email protected]>
* NEWS, configure.ac: misc: adjust version to reflect changes Next version introduces new features.
2023-03-03 Ludvig Michaelsson <[email protected]>
* man/pam_u2f.8.txt: man: clarify relative and absolute authfile
paths
2023-02-16 Ludvig Michaelsson <[email protected]>
* COPYING: COPYING: bump copyright
2023-03-02 Ludvig Michaelsson <[email protected]>
* README, man/pam_u2f.8.txt: man: clarify what a global authfile is
2023-03-02 Ludvig Michaelsson <[email protected]>
* README, man/pam_u2f.8.txt: man: document `expand`
2023-02-15 Ludvig Michaelsson <[email protected]>
* Makefile.am, pam-u2f.c, util.h: pam: add opt-in for %u expansion
in authfile path
2023-02-15 Ludvig Michaelsson <[email protected]>
* expand.c, tests/Makefile.am, tests/expand.c, util.h: expand:
utility for replacing occurrences of %u with username
2022-11-30 Ludvig Michaelsson <[email protected]>
* README, man/pamu2fcfg.1.txt: man: add references to fido2-token,
yubikey-manager For setting PIN, enrolling fingerprints, and more.
2022-11-30 Ludvig Michaelsson <[email protected]>
* pamu2fcfg/pamu2fcfg.c: pamu2fcfg: also check FIDO_ERR_PIN_BLOCKED For CTAP 2.0 authenticators' equivalent of FIDO_ERR_UV_BLOCKED.
2022-11-30 Ludvig Michaelsson <[email protected]>
* pamu2fcfg/pamu2fcfg.c: pamu2fcfg: make_cred() exercises UV Attempt using either built-in UV/PIN depending on the user selection
of authentication options. This fixes #278 (more consistent PIN prompts).
2022-11-29 Ludvig Michaelsson <[email protected]>
* pamu2fcfg/pamu2fcfg.c: pamu2fcfg: make_cred() for non-PIN
authenticators CTAP2.0 with some form of UV configured will require UV for
credential creation. Similarly, CTAP2.1 devices will require some
form of UV if the makeCredUvNotRqd option is not enabled. While here, allow fallback to PIN if built-in UV is blocked.
2022-11-29 Ludvig Michaelsson <[email protected]>
* pamu2fcfg/pamu2fcfg.c: pamu2fcfg: basic sanity checking of user
options Compare selection of user verification methods to what the
authenticator actually supports. This fixes #278 (ensure that device actually has some form of UV).
2022-11-29 Ludvig Michaelsson <[email protected]>
* pamu2fcfg/pamu2fcfg.c: pamu2fcfg: defer prepare_cred()
2022-12-01 Ludvig Michaelsson <[email protected]>
* .github/ISSUE_TEMPLATE/config.yml: github: direct questions to
discussions tab
2022-12-01 Ludvig Michaelsson <[email protected]>
* .github/ISSUE_TEMPLATE/feature_request.md: github: feature request
template
2022-11-30 Ludvig Michaelsson <[email protected]>
* SECURITY.md: github: add security policy
2022-11-30 Ludvig Michaelsson <[email protected]>
* .github/ISSUE_TEMPLATE/bug_report.md: github: add bug report
template
2022-11-30 Ludvig Michaelsson <[email protected]>
* .github/workflows/format.yml, build-aux/ci/format-code.sh: ci:
update clang-format version
2022-11-21 Ludvig Michaelsson <[email protected]>
* README, man/pam_u2f.8.txt: README: add common example
configurations
2022-11-21 Ludvig Michaelsson <[email protected]>
* README, man/pam_u2f.8.txt: README: clarify multiple authenticators While here, remove an unused anchor and refer to the authorization
mapping file consistently.
2022-11-21 Ludvig Michaelsson <[email protected]>
* README: README: change heading syntax, add subsections While here, move a notice about origin/appid to a more relevant
section.
2022-11-21 Ludvig Michaelsson <[email protected]>
* README: README: yubikey-touch-detector no longer uses
authpending_file
2022-11-21 Ludvig Michaelsson <[email protected]>
* README: README: consistent headings
2022-11-01 Ludvig Michaelsson <[email protected]>
* .github/workflows/linux_builds.yml: ci: restore install of
docbook-xsl
2022-11-01 Ludvig Michaelsson <[email protected]>
* .github/workflows/linux_builds.yml: ci: bump gcc to gcc-12
2022-09-05 Ludvig Michaelsson <[email protected]>
* .github/workflows/macos_builds.yml: ci: macos 10.15 workflows are
deprecated
2022-09-05 Ludvig Michaelsson <[email protected]>
* .github/workflows/format.yml, .github/workflows/linux_builds.yml:
ci: ubuntu 18.04 workflows are deprected
2022-06-08 Ludvig Michaelsson <[email protected]>
* .github/workflows/alpine_builds.yml,
.github/workflows/codeql-analysis.yml,
.github/workflows/format.yml, .github/workflows/linux_builds.yml,
.github/workflows/linux_fuzz.yml,
.github/workflows/macos_builds.yml: ci: bump checkout to v3 While here, use the proposed workaround for ownership problems [1]. [1] https://github.com/actions/checkout/issues/766
2022-07-13 Ludvig Michaelsson <[email protected]>
* .github/workflows/format.yml, build-aux/ci/format-code.sh: ci:
update base branch name to main
2022-06-23 Ludvig Michaelsson <[email protected]>
* .github/workflows/alpine_builds.yml: ci: drop USER environment
variable
2022-06-23 Ludvig Michaelsson <[email protected]>
* tests/get_devices.c: tests: prefer getpwuid over getenv `$USER` may not be set, look up the username of the effective user
ID from the password database instead. In the long term, consider
splitting authfile handling and parsing to simplify testing. This fixes #270.
2022-06-17 Ludvig Michaelsson <[email protected]>
* build-aux/ci/fuzz-linux-asan.sh: fuzz: bump libcbor to 0.9.0
2022-06-17 Ludvig Michaelsson <[email protected]>
* .github/workflows/linux_fuzz.yml, build-aux/ci/fuzz-linux-asan.sh:
fuzz: bump libfido2 to 1.11.0
2022-06-09 Ludvig Michaelsson <[email protected]>
* .github/workflows/macos_builds.yml: ci: add macos-11, macos-12
2022-06-07 Ludvig Michaelsson <[email protected]>
* .github/workflows/linux_fuzz.yml: ci: bump fuzzer builds to ubuntu
22.04/clang-14
2022-06-07 Ludvig Michaelsson <[email protected]>
* .github/workflows/linux_builds.yml: ci: add ubuntu 22.04 builds
2022-06-07 Ludvig Michaelsson <[email protected]>
* .github/workflows/linux_builds.yml: ci: collapse linux build
matrix
2022-06-02 Ludvig Michaelsson <[email protected]>
* .github/workflows/codeql-analysis.yml: ci: update codeql to v2
2022-06-02 Ludvig Michaelsson <[email protected]>
* .github/workflows/alpine_builds.yml: ci: alpine now packages
libfido2-dev
2022-06-02 Ludvig Michaelsson <[email protected]>
* .github/workflows/alpine_builds.yml: ci: bump alpine host to
ubuntu-22.04
2022-06-02 Ludvig Michaelsson <[email protected]>
* .github/workflows/alpine_builds.yml: ci: explicitly add bash to
alpine container
2022-05-11 Ludvig Michaelsson <[email protected]>
* NEWS, configure.ac: Bump version
2022-05-11 Ludvig Michaelsson <[email protected]>
* NEWS: Update NEWS file
2022-05-05 Ludvig Michaelsson <[email protected]>
* man/pamu2fcfg.1.txt: man: sync manpages with pamu2fcfg help text
2022-04-28 Ludvig Michaelsson <[email protected]>
* configure.ac, tests/credentials/new_limited_count.cred.in,
tests/get_devices.c: tests: test parsing a limited number of
credentials
2022-04-22 Ludvig Michaelsson <[email protected]>
* util.c, util.h: pam: remove unused buffer
2022-04-22 Ludvig Michaelsson <[email protected]>
* util.c: pam: mandate a SSH trailer for success
2022-04-22 Ludvig Michaelsson <[email protected]>
* util.c: pam: use fixed max size for SSH credential We're always parsing at most one credential. Use a reasonably sized
buffer to parse into.
2022-04-22 Ludvig Michaelsson <[email protected]>
* util.c: pam: adjust buffer size correctly only decrement size when we copy a character
2022-04-28 Ludvig Michaelsson <[email protected]>
* Makefile.am, fuzz/wrap.c: fuzz: wrap getline
2022-04-22 Ludvig Michaelsson <[email protected]>
* util.c: pam: do not truncate credentials ensure an entire line is always read as to not truncate parts of the
credential
2022-04-21 Ludvig Michaelsson <[email protected]>
* util.c: pam: ensure reaching native authfile's EOF since we look for the user's last line in the authfile, ensure that
all of it was parsed when fgets() or friends returns without data
2022-04-27 Ludvig Michaelsson <[email protected]>
* README, man/pam_u2f.8.txt: man: clarify omission of options
2022-04-27 Ludvig Michaelsson <[email protected]>
* README, man/pam_u2f.8.txt: man: make note of features that require
FIDO2
2022-04-27 Ludvig Michaelsson <[email protected]>
* README: man: reword, rewrap previous
2022-04-26 Martin Brugnara <[email protected]>
* README: FAQ: YubiKey 4 does not support asking for pin Explicitly state YubiKey 4 series does not support asking for pin. __Problem__ * FIDO(1) devices are only partially supported. They can be used as
a second authentication factor to the password or as a single factor
by themselves, but they cannot be used in conjunction with a `pin`. * The failure mode consists in silently ignoring the device. It
does not provide any feedback as to why the authentication procedure
is failing and it's thus very complicated to debug (see for example
#144). * YubiKey product pages, understandably, do not highlight the
differences between FIDO and FIDO2, users may thus not realize at a
first glance what their devices do actually support. __This PR__ Add a paragraph to help users like myself understand why
their YubiKeys work only half of the time. __Next steps__ Modify `pamu2fcfg` to emit a warning when registering
devices with unsupported configurations.
2022-04-22 Ludvig Michaelsson <[email protected]>
* configure.ac: make: silence deprecation warnings for OSSL 3.* When we bump up the minimum libfido2 version to 1.9.0 we can switch
to using the EVP interface rather than the deprecated EC_KEY
interface. Until then, silence the related deprecation warnings.
2022-04-21 Ludvig Michaelsson <[email protected]>
* util.c: pam: simplify authfile parser cleanup
2022-04-21 Ludvig Michaelsson <[email protected]>
* util.c: pam: simplify ssh authfile parser cleanup
2022-04-21 Ludvig Michaelsson <[email protected]>
* util.c: pam: consolidate authfile parsers' return values other functions in pam-u2f return 1 for success, 0 for error
2022-04-13 Ludvig Michaelsson <[email protected]>
* util.c: pam: introduce parse_native_credential() extracts (native) credential components from a comma-delimited list
2022-04-14 Ludvig Michaelsson <[email protected]>
* .github/workflows/alpine_builds.yml: ci: fix permissions on alpine
workdir
2022-04-06 Alexandru Geana <[email protected]>
* .github/workflows/scan.yml: tests: remove deprecated scan.yml
workflow
2022-03-04 Ludvig Michaelsson <[email protected]>
* fuzz/export.sym, fuzz/fuzz_format_parsers.c: fuzz: export
get_devices_from_authfile() Have `fuzz_format_parsers` use this function instead of the two
private authfile parsers. This is made possible via the mocking
utilities introduced along with `fuzz_auth` and enables us to not
have to include the relevant sources directly in the fuzzer harness
source.
2022-03-04 Ludvig Michaelsson <[email protected]>
* fuzz/fuzz_auth.c, fuzz/fuzz_format_parsers.c: fuzz: sort headers
2022-03-04 Ludvig Michaelsson <[email protected]>
* configure.ac: configure: remove unused header check
2022-03-04 Ludvig Michaelsson <[email protected]>
* configure.ac: configure: remove redundant variables AC_CHECK_FUNCS does not modify CFLAGS nor LIBS, there's no need to
store and reset their value. Remove redundant comment.
2022-03-01 Ludvig Michaelsson <[email protected]>
* util.c: pam: remove redundant appid comparison No functional change; it does not matter if we pass `origin` or
`appid` to `fido_assert_set_rp()` if they compare equal.
2022-03-01 Ludvig Michaelsson <[email protected]>
* pam-u2f.c: pam: use strcmp for sshformat flag matching This ensures an exact match of the configuration option. Prefix
matching is only useful for matching configuration options with a
value.
2022-03-01 Ludvig Michaelsson <[email protected]>
* pam-u2f.c: pam: skip redundant configuration option comparisons No functional change; each option has a unique name.
2022-02-25 Alexandru Geana <[email protected]>
* fuzz/wrap.c: fuzz: check prng status before use
2022-02-09 Alexandru Geana <[email protected]>
* build-aux/ci/fuzz-linux-asan.sh: fuzz: checkout specific libfido2
commit for fuzzing builds
2022-02-23 Ludvig Michaelsson <[email protected]>
* tests/get_devices.c, tests/regenerate_credentials.py: tests:
clearly label autogenerated test cases Additionally, skip running the formatter on the autogenerated code
to make it easier to diff in the future. The two tests that are not
automatically generated (SSH, old format) are kept separate. While here, remove unnecessary includes.
2022-02-23 Ludvig Michaelsson <[email protected]>
* tests/regenerate_credentials.py: tests: only regenerate missing
templates While here, remove redundant argument.
2022-02-21 Ludvig Michaelsson <[email protected]>
* Makefile.am, fuzz/wrap.c: fuzz: wrap asprintf
2022-02-21 Ludvig Michaelsson <[email protected]>
* fuzz/wrap.c: fuzz: sort includes
2022-02-21 Ludvig Michaelsson <[email protected]>
* pam-u2f.c, util.h: pam: reduce `asprintf` repetition While here, ensure that the resolved path is absolute.
2022-02-18 Ludvig Michaelsson <[email protected]>
* pam-u2f.c: pam: reduce `openasuser` repetition
2022-02-18 Ludvig Michaelsson <[email protected]>
* pam-u2f.c: pam: remove unnecessary branch Caller guarantees a relative or missing path.
2022-02-18 Ludvig Michaelsson <[email protected]>
* pam-u2f.c: pam: set asprintf string to NULL on failure
2022-02-14 Ludvig Michaelsson <[email protected]>
* tests/regenerate_credentials.py: tests: flatten
regenerate_credentials.py loops
2022-02-14 Ludvig Michaelsson <[email protected]>
* tests/regenerate_credentials.py: tests: modernize
regenerate_credentials.py for PY3
2022-02-14 Ludvig Michaelsson <[email protected]>
* tests/regenerate_credentials.py: tests: simplify
regenerate_credentials.py Reduce repetition via a helper function to generate and dump
credentials to the specified filename.
2022-02-04 Ludvig Michaelsson <[email protected]>
* .github/workflows/alpine_builds.yml,
.github/workflows/codeql-analysis.yml,
.github/workflows/linux_builds.yml,
.github/workflows/linux_fuzz.yml,
.github/workflows/macos_builds.yml,
build-aux/ci/build-linux-clang.sh, tests/bionic/Dockerfile: ci:
remove occurrences of `gengetopt`
2022-02-04 Ludvig Michaelsson <[email protected]>
* README: doc: remove occurrences of `gengetopt`
2022-02-03 Ludvig Michaelsson <[email protected]>
* pamu2fcfg/Makefile.am, pamu2fcfg/cmdline.ggo,
pamu2fcfg/pamu2fcfg.c: pamu2fcfg: use bespoke `getopt_long` handler This drops the (maintainer) dependency on `gengetopt`. Moreover, a
combination of the `--username` and `--nouser` options is now
allowed. The former sets the username in the credential, while the
latter only toggles whether the username is printed to stdout with
the rest of the credential.
2022-02-02 Ludvig Michaelsson <[email protected]>
* pam-u2f.c: pam: remove unused variable
2022-02-01 Ludvig Michaelsson <[email protected]>
* Makefile.am, export.sym, fuzz/Makefile.am, fuzz/export.sym: pam:
only export the public service functions For fuzzing, a couple of additional symbols for mocking are
exported.
2022-02-01 Ludvig Michaelsson <[email protected]>
* Makefile.am, tests/Makefile.am: tests: use convenience library for
unit tests Tests that poke at internal functions can link to this (static)
library instead. This is required if we're to restrict the symbols
that are exported in our shared module.
2022-02-02 Ludvig Michaelsson <[email protected]>
* tests/Makefile.am, tests/get_devices.c: tests: fixup CFLAGS and
related warnings
2022-02-02 Ludvig Michaelsson <[email protected]>
* .gitignore, tests/Makefile.am, tests/basic.c, tests/dlsym_check.c:
tests: basic sanity checks of the shared module This checks that the expected public service functions can be loaded
using `dlsym`.
2022-01-27 Ludvig Michaelsson <[email protected]>
* pamu2fcfg/Makefile.am: pamu2fcfg: prevent parallel generation of
cmdline.[ch] Running make in parallel would spawn two instances of gengetopt. To
prevent this, use a GNU make pattern rule which is able to express
rules with multiple output files. Other make implementations should
still be able to build from the tarballs. While here, remove an
unnecessary include path.
2022-01-26 Ludvig Michaelsson <[email protected]>
* Makefile.am, configure.ac, man/Makefile.am, pamu2fcfg/Makefile.am:
man: collect man page generation rules `DISTCLEANFILES` is replaced with `MAINTAINERCLEANFILES`, the former
is primarily intended for files generated by `configure`. We are
distributing the generated man pages as if they were source files.
2022-01-13 Ludvig Michaelsson <[email protected]>
* .gitignore: git: simplify .gitignore Remove ignores of specific files that are also ignored by patterns.
2022-01-11 pedro martelletto <[email protected]>
* README, build-aux/ci/build-osx.sh,
build-aux/ci/fuzz-linux-asan.sh: git -> https the unauthenticated git protocol on port 9418 (git://) is no longer
supported by github.
2022-01-05 Ludvig Michaelsson <[email protected]>
* COPYING: COPYING: bump copyright
2022-01-05 Ludvig Michaelsson <[email protected]>
* configure.ac: autoconf: replace obsoleted macros - AC_PROG_CC_STDC was integrated into AC_PROG_CC in autoconf 2.54. - Replace only remaining occurrence of obsolete AC_HELP_STRING. - Modern libtool prefers passing options through LT_INIT.
2022-01-05 Ludvig Michaelsson <[email protected]>
* m4/ax_check_compile_flag.m4: m4: update ax_check_compile_flag to
latest revision
2022-01-03 Ludvig Michaelsson <[email protected]>
* debug.c: debug: indicate truncated log messages
2021-12-21 Ludvig Michaelsson <[email protected]>
* pam-u2f.c, util.c: util: reword potentially long debug messages Move user-controlled data towards the end of the debug string so
that relevant information is always visible. Additionally remove a
couple of overly verbose debug messages.
2021-12-20 Ludvig Michaelsson <[email protected]>
* debug.c: debug: only print the source file's basename The file path may contain an absolute or relative path to the source
directory. Strip any components before the last forward slash.
2021-12-20 Ludvig Michaelsson <[email protected]>
* debug.c: debug: only write to debug file once per call This prevents double syslog entries for each call of
`debug_fprintf()` by writing into an internal buffer before passing
along the result. This may truncate long debug messages (>2048
octets; the recommended minimum maximum syslog message length),
which should be avoided. Note that RFC 5424 §8.3 encourages not
logging messages longer than the required minimum maximum size of
480 octets.
2021-12-17 Ludvig Michaelsson <[email protected]>
* util.c: util: use debug_dbg() in do_manual_authentication()
2021-12-17 Ludvig Michaelsson <[email protected]>
* util.c: util: use debug_dbg() in do_authentication()
2021-12-17 Ludvig Michaelsson <[email protected]>
* util.c: util: use debug_dbg() while preparing assert
2021-12-17 Ludvig Michaelsson <[email protected]>
* util.c: util: use debug_dbg() while probing authenticators
2021-12-17 Ludvig Michaelsson <[email protected]>
* util.c: util: use debug_dbg() in SSH authfile parser
2021-12-17 Ludvig Michaelsson <[email protected]>
* util.c: util: use debug_dbg() in native authfile parser
2021-12-17 Ludvig Michaelsson <[email protected]>
* util.c: util: use debug_dbg() in authfile loader
2021-12-17 Ludvig Michaelsson <[email protected]>
* pam-u2f.c: pam: replace DBG() calls with debug_dbg()
2021-12-17 Ludvig Michaelsson <[email protected]>
* pam-u2f.c: pam: replace D() calls in parse_cfg()
2021-12-15 Ludvig Michaelsson <[email protected]>
* Makefile.am, debug.c, debug.h, pam-u2f.c, util.c, util.h: debug:
introduce debug.{c,h} Move debug-related functions here and introduce debug_dbg() which
can be used to replace if-debug-debug constructs.
2021-12-15 Ludvig Michaelsson <[email protected]>
* pam-u2f.c, util.h: pam: introduce helpers for managing the
`debug_file`
2021-12-15 Ludvig Michaelsson <[email protected]>
* pam-u2f.c, util.c: util: use NULL to represent syslog While here, bump copyright.
2021-12-15 Ludvig Michaelsson <[email protected]>
* util.c: util: assume that syslog is defined Windows is not a target for us, syslog should always be available.
2021-09-30 Ludvig Michaelsson <[email protected]>
* pam-u2f.c: pam: add helper function to resolve `authfile` path Given a relative or unassigned authfile path, this function
allocates and returns the absolute path to the authfile.
2021-09-29 Ludvig Michaelsson <[email protected]>
* pam-u2f.c: pam: add helper function for `interactive` prompt Reduces scope of helper variable required to free the user response.
2021-09-22 Ludvig Michaelsson <[email protected]>
* NEWS, configure.ac: Bump version
2021-09-22 Ludvig Michaelsson <[email protected]>
* NEWS: Update NEWS file
2021-09-22 Ludvig Michaelsson <[email protected]>
* NEWS, configure.ac: Update version number to reflect changes
2021-09-21 Ludvig Michaelsson <[email protected]>
* .github/workflows/linux_builds.yml, build-aux/ci/distcheck.sh: ci:
also run distcheck
2021-09-21 Ludvig Michaelsson <[email protected]>
* Makefile.am: make: support distcheck without sudo When distcheck runs, the packages are installed in two temporary
staging directories (once with --prefix, once with DESTDIR) and then
removed again. Since we are using `--with-pam-dir` to determine
where to install pam_u2f.so, we must help distcheck with an extra
flag.
2021-09-21 Ludvig Michaelsson <[email protected]>
* Makefile.am: make: respect DESTDIR on uninstall
2021-08-30 Ludvig Michaelsson <[email protected]>
* util.c: util: filter authenticators based on selected options If the user specifies PIN or user verification, only proceed with
CTAP2 authenticators that support these modes. Moreover, if user
verification is disabled and unsupported by the authenticator, omit
the option instead of explicitly specifying it (as per spec). This can be simplified when we can enforce libfido2 1.7.0 or greater
using the fido_dev_{supports,has}_{pin,uv} family of functions.
2021-08-26 Ludvig Michaelsson <[email protected]>
* Makefile.am, drop_privs.c, drop_privs.h: priv: drop bespoke
implementation of pam_modutil_{drop,regain}_priv linux-pam have had these functions implemented since 2010. The
alternatives provided by openpam have been around since 2002.
2021-08-26 Ludvig Michaelsson <[email protected]>
* configure.ac, drop_privs.c, drop_privs.h: priv: use
openpam_{borrow,restore}_cred when available Provide these functions as aliases to
pam_modutil_{drop,regain}_priv. While here, move `configure.ac` to
use `AC_CHECK_FUNCS()` for PAM extensions. This resolves #207.
2021-09-03 Ludvig Michaelsson <[email protected]>
* .github/workflows/codeql-analysis.yml,
.github/workflows/linux_builds.yml, .github/workflows/scan.yml: ci:
revert workaround for libfido2 1.7.0 pkg-config libfido2 has been updated to 1.8.0 and fixed its pkg-config file. This reverts commit f704ec7ff92a84f7adfcf6564e4ff6ec26f3b19e.
2021-09-03 Ludvig Michaelsson <[email protected]>
* README, man/pam_u2f.8.txt, man/pamu2fcfg.1.txt,
pamu2fcfg/cmdline.ggo: man: improve documentation on origin/appid Since pam-u2f/pamu2fcfg 1.1.0, these are the RP ID and RP name
respectively.
2021-08-27 Ludvig Michaelsson <[email protected]>
* README: readme: add a warning about erroneous pam configurations
2021-08-27 Ludvig Michaelsson <[email protected]>
* README: readme: add reference to pam.conf(5)
2021-08-24 Ludvig Michaelsson <[email protected]>
* build-aux/ci/build-osx.sh: ci: replace nproc call on macos builds
2021-07-15 Ludvig Michaelsson <[email protected]>
* build-aux/ci/fuzz-linux-asan.sh: ci: update fuzz corpus url and
paths
2021-07-07 Ludvig Michaelsson <[email protected]>
* fuzz/coverage.sh: fuzz: tweak coverage.sh for project-wide
coverage instrumentation
2021-07-06 Ludvig Michaelsson <[email protected]>
* .github/workflows/linux_fuzz.yml, build-aux/ci/fuzz-linux-asan.sh:
ci/fuzz: fuzzing-compatible builds of libfido2,libcbor Make it possible for mocked devices' wiredata to propagate through
libfido2 (see nonce, cid, et al).
2021-07-07 Ludvig Michaelsson <[email protected]>
* fuzz/fuzz_format_parsers.c: fuzz: use seed type suitable for the
left shifts
2021-07-06 Ludvig Michaelsson <[email protected]>
* pam-u2f.c: pam-u2f: free response after interactive prompt
2021-07-06 Ludvig Michaelsson <[email protected]>
* util.c: util: prevent misaligned loads when parsing ssh key
2021-07-06 Ludvig Michaelsson <[email protected]>
* pam-u2f.c: pam-u2f/fuzz: while fuzzing, restrict maximum number of
devices Otherwise, libfuzzer generates OOM errors.
2021-07-06 Ludvig Michaelsson <[email protected]>
* pam-u2f.c: pam-u2f: handle multiple occurences of the `debug_file`
argument If pam-u2f is given the following configuration debug_file=/some/file debug_file=syslog it will ultimately try calling fclose((FILE *) -1); and promptly crash. Instead, close any potentially opened file and
reset the configuration whenever pam-u2f parses any occurence of the
`debug_flag` argument.
2021-07-06 Ludvig Michaelsson <[email protected]>
* configure.ac, fuzz/Makefile.am, fuzz/authfile.h, fuzz/fuzz.h,
fuzz/fuzz_auth.c, fuzz/pack.c, fuzz/wiredata.h, pam-u2f.c, util.c:
fuzz: add fuzz_auth harness This harness fuzzes the entirety of pam-u2f via the
pam_sm_authenticate() entry point.
2021-07-06 Ludvig Michaelsson <[email protected]>
* Makefile.am, fuzz/Makefile.am, fuzz/fuzz.h,
fuzz/fuzz_format_parsers.c, fuzz/wrap.c: fuzz: wrap more symbols,
reorganize linker flags This wraps most of the external symbols used by pam_u2f.la. Note
that the implementation of wrap.c depends on the deterministic prng
included with fuzzing-instrumented builds of libfido2 (-DFUZZ=1).
2021-07-12 Ludvig Michaelsson <[email protected]>
* util.c: util: handle old format with origin != appid This fixes an compatibility problem that occurred when pam-u2f
switched to libfido2 (v1.1.0). Users with old-format authfile
entries with differing `origin` and `appid` strings were no longer
able to authenticate as only the `origin` is used. For context, see
GitHub issue #205.
2021-07-08 Ludvig Michaelsson <[email protected]>
* README: README: use console-style source highlighting Missing language specifiers rendered code blocks invisible on
developers.yubico.com. Using `bash` as the langauge specifier leads
to commands prepended with a hash symbol being treated as comments.
Instead, use the `console` specifier.
2021-06-17 Ludvig Michaelsson <[email protected]>
* util.c: util: case-insensitive cose_type() pamu2fcfg documentation expresses cose type in uppercase, preserve
compatibility using strcasecmp (which is what pamu2cfg did before).
2021-06-17 Ludvig Michaelsson <[email protected]>
* README, man/pamu2fcfg.1.txt, pamu2fcfg/cmdline.ggo: man: document
support for EDDSA
2021-06-18 Ludvig Michaelsson <[email protected]>
* util.c: util: add support for sk-ssh-ed25519
2021-06-17 Ludvig Michaelsson <[email protected]>
* pamu2fcfg/pamu2fcfg.c, util.c, util.h: util: pull in cose_string()
from pamu2fcfg
2021-06-21 Ludvig Michaelsson <[email protected]>
* util.c, util.h: util: decorate _debug with the format attribute
2021-06-18 Ludvig Michaelsson <[email protected]>
* tests/get_devices.c, util.c: util: introduce reset_device()
2021-06-18 Ludvig Michaelsson <[email protected]>
* util.c: utils: introduce set of helpers for parse_ssh_format() Among other things, this ensures that any strings that we log to the
debug file are null-terminated.
2021-06-18 Ludvig Michaelsson <[email protected]>
* util.c: util: introduce load_ssh_key This parses the SSH key file and returns the base64-encoded key.
2021-06-16 Ludvig Michaelsson <[email protected]>
* pamu2fcfg/pamu2fcfg.c, util.c: pamu2fcfg, util: add support for
EDDSA
2021-06-16 Ludvig Michaelsson <[email protected]>
* pamu2fcfg/pamu2fcfg.c, util.c, util.h: pamu2fcfg: use cose_type(),
introduce cose_string()
2021-06-11 Ludvig Michaelsson <[email protected]>
* util.c: util: set of functions for managing public keys
2021-06-15 Ludvig Michaelsson <[email protected]>
* util.c: util: introduce manual_get_assert()
2021-06-14 Ludvig Michaelsson <[email protected]>
* util.c: util: more use of is_resident()
2021-06-09 Ludvig Michaelsson <[email protected]>
* util.c: util: introduce helpers for managing options Note that this changes how the manual authentication paths parses
authenticator options, now taking into account any options set in
the module configuration. These were not considered before.
2021-06-09 Ludvig Michaelsson <[email protected]>
* util.c: util: introduce set of functions to initialize an assert
2021-06-08 Ludvig Michaelsson <[email protected]>
* util.h: util: remove unused client_key attribute
2021-06-08 Ludvig Michaelsson <[email protected]>
* util.c: util: plug memory leak when using old format pubkey
2021-06-07 Ludvig Michaelsson <[email protected]>
* tests/get_devices.c, tests/regenerate_credentials.py: tests:
always memset entire dev array
2021-06-01 Ludvig Michaelsson <[email protected]>
* tests/get_devices.c, tests/regenerate_credentials.py: tests: fix
memset with sizeof of incorrect type
2021-06-01 Ludvig Michaelsson <[email protected]>
* .github/workflows/alpine_builds.yml: ci: add musl build via alpine
container
2021-06-07 Ludvig Michaelsson <[email protected]>
* Makefile.am, build-aux/ci/fuzz-linux-asan.sh, configure.ac,
m4/ax_check_link_flag.m4: make: add configure flag for enabling
fuzzing targets Prefer explicitly enabling/disabling fuzzing over detecting
compiler/support.
2021-06-07 Ludvig Michaelsson <[email protected]>
* : Merge pull request #193 from SoapGentoo/respect-DESTDIR respect `DESTDIR`
2021-06-01 Ludvig Michaelsson <[email protected]>
* configure.ac: make: improve checks for compiler warnings under
clang By default, clang only warns for unknown warnings. This makes the
AX_CHECK_COMPILE_FLAG macro always include the flags, regardless
whether they are supported. To remedy, add
-Werror=unknown-warning-option.
2021-06-03 Ludvig Michaelsson <[email protected]>
* : Merge pull request #188 from perceival/patch-1 Update README with Fedora dependencies
2021-06-03 perceival <[email protected]>
* README: Update README Fixed missing Fedora dependencies
2021-06-02 Ludvig Michaelsson <[email protected]>
* README, man/pam_u2f.8.txt: man: update authfile format
2021-06-02 Ludvig Michaelsson <[email protected]>
* README: man: mirror readme's authfile description with man pages However, remove the part about the authfile format since it is
actually explained in the linked sections.
2021-05-24 Ludvig Michaelsson <[email protected]>
* man/pam_u2f.8.txt: man: clarify documentation about authfile path This resolves #182.
2021-06-02 Ludvig Michaelsson <[email protected]>
* pamu2fcfg/strlcpy.c: pamu2fcfg: have clang-format ignore imported
file
2021-06-01 Ludvig Michaelsson <[email protected]>
* pamu2fcfg/pamu2fcfg.c: pamu2fcfg: make origin an array, drop
generic buf
2021-06-01 Ludvig Michaelsson <[email protected]>
* configure.ac, pamu2fcfg/Makefile.am, pamu2fcfg/openbsd-compat.h,
pamu2fcfg/pamu2fcfg.c, pamu2fcfg/strlcpy.c: pamu2fcfg: add strlcpy()
via compat layer
2021-06-01 Ludvig Michaelsson <[email protected]>
* pamu2fcfg/pamu2fcfg.c: pamu2fcfg: introduce prepare_cred()
2021-05-30 perceival <[email protected]>
* README: Update README with Fedora dependencies
2021-05-28 Ludvig Michaelsson <[email protected]>
* pamu2fcfg/pamu2fcfg.c: pamu2fcfg: introduce make_cred()
2021-05-28 Ludvig Michaelsson <[email protected]>
* pamu2fcfg/pamu2fcfg.c: pamu2fcfg: introduce verify_cred()
2021-05-27 Ludvig Michaelsson <[email protected]>
* pamu2fcfg/pamu2fcfg.c: pamu2fcfg: update copyright
2021-05-27 Ludvig Michaelsson <[email protected]>
* pamu2fcfg/pamu2fcfg.c: pamu2fcfg: introduce print_authfile_line()
2021-05-27 Ludvig Michaelsson <[email protected]>
* pamu2fcfg/pamu2fcfg.c: pamu2fcfg: free memory allocated by
cmdline_parser()
2021-05-27 Ludvig Michaelsson <[email protected]>
* pamu2fcfg/pamu2fcfg.c: pamu2fcfg: close any opened device
2021-05-27 Ludvig Michaelsson <[email protected]>
* pamu2fcfg/pamu2fcfg.c: pamu2fcfg: always explicitly free allocated
memory
2021-05-27 Ludvig Michaelsson <[email protected]>
* pamu2fcfg/pamu2fcfg.c: pamu2fcfg: reduce scope of iterator
variable This also fixes warnings about shadowing the variable via another
for-loop in the same function.
2021-05-27 Ludvig Michaelsson <[email protected]>
* pamu2fcfg/pamu2fcfg.c: pamu2fcfg: remove unused variables
2021-05-27 Ludvig Michaelsson <[email protected]>
* Makefile.am, fuzz/Makefile.am, pamu2fcfg/Makefile.am: make: use
correct variables for AM_CFLAGS This project doesn't use warnings/manywarnings since ed1b7c74.
2021-05-26 Ludvig Michaelsson <[email protected]>
* util.c: util: zap unnecessary retval variable
2021-05-26 Ludvig Michaelsson <[email protected]>
* util.c: util: remove unused return value To appease scan-build.
2021-05-26 Ludvig Michaelsson <[email protected]>
* .github/workflows/linux_builds.yml,
build-aux/ci/build-linux-clang.sh, build-aux/ci/{build-linux.sh =>
build-linux-gcc.sh}: ci: run scan-build on builds with clang
2021-05-26 Ludvig Michaelsson <[email protected]>
* .gitignore: gitignore: ignore build/ directory
2021-05-24 Ludvig Michaelsson <[email protected]>
* README: ci: replace old badges in readme with github actions
badges
2021-05-24 Ludvig Michaelsson <[email protected]>
* .github/workflows/codeql-analysis.yml: ci: remove checkout of
'HEAD^2', as per build annotation
2021-05-24 Ludvig Michaelsson <[email protected]>
* build-aux/ci/build-linux.sh, build-aux/ci/build-osx.sh,
build-aux/ci/fuzz-linux-asan.sh: ci: increase number of 'make' jobs
2021-05-24 Ludvig Michaelsson <[email protected]>
* .github/workflows/format.yml, build-aux/ci/format-code.sh: ci: add
format check (previously on travis)
2021-05-24 Ludvig Michaelsson <[email protected]>
* .travis.yml, build-aux/ci/build-bionic-clang7.sh,
build-aux/ci/build-bionic-clang8.sh,
build-aux/ci/build-bionic-gcc7.sh,
build-aux/ci/build-bionic-gcc8.sh,
build-aux/ci/build-bionic-gcc9.sh,
build-aux/ci/build-osx11-clang.sh,
build-aux/ci/build-osx9.4-clang.sh: ci: retire travis builds
2021-05-24 Ludvig Michaelsson <[email protected]>
* Makefile.am, configure.ac, m4/ax_check_link_flag.m4: make: check
whether linker supports -Wl,--wrap This adds the AX_CHECK_LINK_FLAG macro. Comfortably makes the build
work on MacOS+clang without adding additional configure flags.
2021-05-24 Ludvig Michaelsson <[email protected]>
* .github/workflows/macos_builds.yml: ci: add macos workflow
2021-05-24 Ludvig Michaelsson <[email protected]>
* .github/workflows/linux_builds.yml,
.github/workflows/linux_fuzz.yml: ci: bump actions/checkout to v2
2021-05-24 Ludvig Michaelsson <[email protected]>