Commit 4c27533
committed
fix: re-seat the TLS impl's transport pointer on move
Both TLS stream impls referenced their owner's stream_ member, so
moving an openssl_stream or wolfssl_stream left the impl reading and
writing through the moved-from object's empty any_stream. Store a
pointer instead and re-seat it onto the new owner's stream_ in the
move constructor and move assignment.
Add shared TLS tests: move construction before the handshake and move
assignment of a live session followed by data transfer, reads and
shutdown after the peer closes the transport without close_notify
(stream_truncated), a handshake whose server key is AES-encrypted PEM
loaded through the password callback, an unparseable-credentials
context failing the handshake cleanly, and a no-SNI client against a
server with a servername callback. Encrypted-key decryption is a
compile-time wolfSSL feature, so that backend only requires a clean
outcome with the callback invoked; a failsafe timer tears down the
transport if a feature-limited build stalls the handshake.1 parent 018e9d7 commit 4c27533
6 files changed
Lines changed: 384 additions & 25 deletions
File tree
- src
- openssl/src
- wolfssl/src
- test/unit
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
36 | 36 | | |
37 | 37 | | |
38 | 38 | | |
39 | | - | |
40 | | - | |
| 39 | + | |
| 40 | + | |
41 | 41 | | |
42 | 42 | | |
43 | 43 | | |
| |||
46 | 46 | | |
47 | 47 | | |
48 | 48 | | |
49 | | - | |
50 | | - | |
| 49 | + | |
| 50 | + | |
51 | 51 | | |
52 | 52 | | |
53 | 53 | | |
| |||
311 | 311 | | |
312 | 312 | | |
313 | 313 | | |
314 | | - | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
315 | 317 | | |
316 | 318 | | |
317 | 319 | | |
| |||
322 | 324 | | |
323 | 325 | | |
324 | 326 | | |
325 | | - | |
| 327 | + | |
326 | 328 | | |
327 | 329 | | |
328 | 330 | | |
| |||
379 | 381 | | |
380 | 382 | | |
381 | 383 | | |
382 | | - | |
| 384 | + | |
383 | 385 | | |
384 | 386 | | |
385 | 387 | | |
| |||
393 | 395 | | |
394 | 396 | | |
395 | 397 | | |
396 | | - | |
| 398 | + | |
397 | 399 | | |
398 | 400 | | |
399 | 401 | | |
| |||
738 | 740 | | |
739 | 741 | | |
740 | 742 | | |
| 743 | + | |
| 744 | + | |
| 745 | + | |
741 | 746 | | |
742 | 747 | | |
743 | 748 | | |
| |||
749 | 754 | | |
750 | 755 | | |
751 | 756 | | |
| 757 | + | |
| 758 | + | |
| 759 | + | |
752 | 760 | | |
753 | 761 | | |
754 | 762 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
37 | 37 | | |
38 | 38 | | |
39 | 39 | | |
40 | | - | |
41 | | - | |
| 40 | + | |
| 41 | + | |
42 | 42 | | |
43 | 43 | | |
44 | 44 | | |
| |||
49 | 49 | | |
50 | 50 | | |
51 | 51 | | |
52 | | - | |
| 52 | + | |
53 | 53 | | |
54 | 54 | | |
55 | 55 | | |
| |||
300 | 300 | | |
301 | 301 | | |
302 | 302 | | |
303 | | - | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
304 | 306 | | |
305 | 307 | | |
306 | 308 | | |
| |||
336 | 338 | | |
337 | 339 | | |
338 | 340 | | |
339 | | - | |
| 341 | + | |
340 | 342 | | |
341 | 343 | | |
342 | 344 | | |
| |||
501 | 503 | | |
502 | 504 | | |
503 | 505 | | |
504 | | - | |
| 506 | + | |
505 | 507 | | |
506 | 508 | | |
507 | 509 | | |
| |||
535 | 537 | | |
536 | 538 | | |
537 | 539 | | |
538 | | - | |
| 540 | + | |
539 | 541 | | |
540 | 542 | | |
541 | 543 | | |
| |||
614 | 616 | | |
615 | 617 | | |
616 | 618 | | |
617 | | - | |
| 619 | + | |
618 | 620 | | |
619 | 621 | | |
620 | 622 | | |
| |||
644 | 646 | | |
645 | 647 | | |
646 | 648 | | |
647 | | - | |
| 649 | + | |
648 | 650 | | |
649 | 651 | | |
650 | 652 | | |
| |||
673 | 675 | | |
674 | 676 | | |
675 | 677 | | |
676 | | - | |
| 678 | + | |
677 | 679 | | |
678 | 680 | | |
679 | 681 | | |
| |||
742 | 744 | | |
743 | 745 | | |
744 | 746 | | |
745 | | - | |
| 747 | + | |
746 | 748 | | |
747 | 749 | | |
748 | 750 | | |
| |||
768 | 770 | | |
769 | 771 | | |
770 | 772 | | |
771 | | - | |
| 773 | + | |
772 | 774 | | |
773 | 775 | | |
774 | 776 | | |
| |||
794 | 796 | | |
795 | 797 | | |
796 | 798 | | |
797 | | - | |
| 799 | + | |
798 | 800 | | |
799 | 801 | | |
800 | 802 | | |
| |||
814 | 816 | | |
815 | 817 | | |
816 | 818 | | |
817 | | - | |
| 819 | + | |
818 | 820 | | |
819 | 821 | | |
820 | 822 | | |
| |||
870 | 872 | | |
871 | 873 | | |
872 | 874 | | |
873 | | - | |
| 875 | + | |
874 | 876 | | |
875 | 877 | | |
876 | 878 | | |
| |||
892 | 894 | | |
893 | 895 | | |
894 | 896 | | |
895 | | - | |
| 897 | + | |
896 | 898 | | |
897 | 899 | | |
898 | 900 | | |
| |||
918 | 920 | | |
919 | 921 | | |
920 | 922 | | |
921 | | - | |
| 923 | + | |
922 | 924 | | |
923 | 925 | | |
924 | 926 | | |
| |||
1029 | 1031 | | |
1030 | 1032 | | |
1031 | 1033 | | |
| 1034 | + | |
| 1035 | + | |
| 1036 | + | |
1032 | 1037 | | |
1033 | 1038 | | |
1034 | 1039 | | |
| |||
1040 | 1045 | | |
1041 | 1046 | | |
1042 | 1047 | | |
| 1048 | + | |
| 1049 | + | |
| 1050 | + | |
1043 | 1051 | | |
1044 | 1052 | | |
1045 | 1053 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
118 | 118 | | |
119 | 119 | | |
120 | 120 | | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
121 | 125 | | |
122 | 126 | | |
123 | 127 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
624 | 624 | | |
625 | 625 | | |
626 | 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 | + | |
627 | 688 | | |
628 | 689 | | |
629 | 690 | | |
| |||
0 commit comments