Commit 72a5fda
committed
Implement SSPI authentication
SSPI is a Windows technology for secure authentication. SSPI and GSSAPI
interoperate as clients and servers. Postgres documentation recommends
using SSPI on Windows clients and servers and GSSAPI on non-Windows
platforms[1].
Changes in this PR:
* Support AUTH_REQUIRED_SSPI server request. This is the same as
AUTH_REQUIRED_GSS, except it allows negotiation with SSPI clients.
* Allow using SSPI on the client. Which library to use can be specified
using the `gsslib` connection parameter.
* Use SSPI instead of GSSAPI on Windows by default. The latter requires
installing Kerberos for Windows and is unlikely to work out of the
box.
Closes #142
[1] https://www.postgresql.org/docs/current/sspi-auth.html1 parent d42432b commit 72a5fda
File tree
6 files changed
+183
-35
lines changed- asyncpg
- protocol
- tests
6 files changed
+183
-35
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
57 | 57 | | |
58 | 58 | | |
59 | 59 | | |
| 60 | + | |
60 | 61 | | |
61 | 62 | | |
62 | 63 | | |
| |||
262 | 263 | | |
263 | 264 | | |
264 | 265 | | |
265 | | - | |
| 266 | + | |
266 | 267 | | |
267 | 268 | | |
268 | 269 | | |
| |||
389 | 390 | | |
390 | 391 | | |
391 | 392 | | |
| 393 | + | |
| 394 | + | |
| 395 | + | |
| 396 | + | |
| 397 | + | |
392 | 398 | | |
393 | 399 | | |
394 | 400 | | |
| |||
659 | 665 | | |
660 | 666 | | |
661 | 667 | | |
| 668 | + | |
| 669 | + | |
| 670 | + | |
| 671 | + | |
| 672 | + | |
| 673 | + | |
| 674 | + | |
| 675 | + | |
| 676 | + | |
662 | 677 | | |
663 | 678 | | |
664 | 679 | | |
665 | 680 | | |
666 | 681 | | |
667 | | - | |
| 682 | + | |
668 | 683 | | |
669 | 684 | | |
670 | 685 | | |
| |||
675 | 690 | | |
676 | 691 | | |
677 | 692 | | |
678 | | - | |
| 693 | + | |
679 | 694 | | |
680 | 695 | | |
681 | 696 | | |
| |||
705 | 720 | | |
706 | 721 | | |
707 | 722 | | |
708 | | - | |
| 723 | + | |
709 | 724 | | |
710 | 725 | | |
711 | 726 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2008 | 2008 | | |
2009 | 2009 | | |
2010 | 2010 | | |
2011 | | - | |
| 2011 | + | |
| 2012 | + | |
2012 | 2013 | | |
2013 | 2014 | | |
2014 | 2015 | | |
| |||
2240 | 2241 | | |
2241 | 2242 | | |
2242 | 2243 | | |
| 2244 | + | |
| 2245 | + | |
| 2246 | + | |
| 2247 | + | |
2243 | 2248 | | |
2244 | 2249 | | |
2245 | 2250 | | |
| |||
2309 | 2314 | | |
2310 | 2315 | | |
2311 | 2316 | | |
2312 | | - | |
| 2317 | + | |
2313 | 2318 | | |
2314 | 2319 | | |
2315 | 2320 | | |
| |||
2354 | 2359 | | |
2355 | 2360 | | |
2356 | 2361 | | |
| 2362 | + | |
2357 | 2363 | | |
2358 | 2364 | | |
2359 | 2365 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
91 | 91 | | |
92 | 92 | | |
93 | 93 | | |
94 | | - | |
| 94 | + | |
95 | 95 | | |
96 | 96 | | |
97 | 97 | | |
| |||
138 | 138 | | |
139 | 139 | | |
140 | 140 | | |
141 | | - | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
142 | 144 | | |
143 | 145 | | |
144 | 146 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
38 | 38 | | |
39 | 39 | | |
40 | 40 | | |
41 | | - | |
| 41 | + | |
| 42 | + | |
42 | 43 | | |
43 | 44 | | |
44 | 45 | | |
| |||
635 | 636 | | |
636 | 637 | | |
637 | 638 | | |
638 | | - | |
639 | | - | |
640 | | - | |
| 639 | + | |
| 640 | + | |
| 641 | + | |
| 642 | + | |
| 643 | + | |
| 644 | + | |
| 645 | + | |
| 646 | + | |
| 647 | + | |
| 648 | + | |
| 649 | + | |
641 | 650 | | |
642 | 651 | | |
643 | 652 | | |
644 | 653 | | |
645 | 654 | | |
646 | | - | |
647 | | - | |
648 | | - | |
649 | | - | |
650 | | - | |
651 | | - | |
652 | | - | |
653 | 655 | | |
654 | 656 | | |
655 | 657 | | |
656 | 658 | | |
657 | | - | |
| 659 | + | |
658 | 660 | | |
659 | | - | |
660 | | - | |
| 661 | + | |
| 662 | + | |
661 | 663 | | |
662 | 664 | | |
663 | 665 | | |
| |||
714 | 716 | | |
715 | 717 | | |
716 | 718 | | |
717 | | - | |
| 719 | + | |
718 | 720 | | |
719 | 721 | | |
720 | 722 | | |
721 | | - | |
| 723 | + | |
722 | 724 | | |
723 | | - | |
| 725 | + | |
724 | 726 | | |
725 | 727 | | |
| 728 | + | |
| 729 | + | |
| 730 | + | |
| 731 | + | |
| 732 | + | |
| 733 | + | |
| 734 | + | |
| 735 | + | |
| 736 | + | |
| 737 | + | |
| 738 | + | |
| 739 | + | |
| 740 | + | |
| 741 | + | |
| 742 | + | |
| 743 | + | |
| 744 | + | |
| 745 | + | |
726 | 746 | | |
727 | 747 | | |
728 | 748 | | |
729 | | - | |
730 | | - | |
| 749 | + | |
| 750 | + | |
| 751 | + | |
731 | 752 | | |
732 | 753 | | |
733 | 754 | | |
734 | | - | |
735 | | - | |
| 755 | + | |
736 | 756 | | |
737 | 757 | | |
738 | 758 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
36 | 36 | | |
37 | 37 | | |
38 | 38 | | |
39 | | - | |
| 39 | + | |
| 40 | + | |
40 | 41 | | |
41 | 42 | | |
42 | 43 | | |
43 | 44 | | |
44 | 45 | | |
45 | 46 | | |
46 | 47 | | |
| 48 | + | |
47 | 49 | | |
48 | 50 | | |
49 | 51 | | |
| |||
0 commit comments