ofs | hex dump | ascii |
---|
0000 | 80 04 95 01 00 01 00 00 00 00 00 8c 12 73 70 68 69 6e 78 2e 65 6e 76 69 72 6f 6e 6d 65 6e 74 94 | .............sphinx.environment. |
0020 | 8c 10 42 75 69 6c 64 45 6e 76 69 72 6f 6e 6d 65 6e 74 94 93 94 29 81 94 7d 94 28 8c 03 61 70 70 | ..BuildEnvironment...)..}.(..app |
0040 | 94 4e 8c 0a 64 6f 63 74 72 65 65 64 69 72 94 8c 37 2f 68 6f 6d 65 2f 6d 61 74 65 6a 2f 61 72 63 | .N..doctreedir..7/home/matej/arc |
0060 | 68 69 76 2f 6b 6e 69 68 6f 76 6e 61 2f 72 65 70 6f 73 2f 6d 32 63 72 79 70 74 6f 2f 64 6f 63 2f | hiv/knihovna/repos/m2crypto/doc/ |
0080 | 64 6f 63 74 72 65 65 73 94 8c 06 73 72 63 64 69 72 94 8c 2e 2f 68 6f 6d 65 2f 6d 61 74 65 6a 2f | doctrees...srcdir.../home/matej/ |
00a0 | 61 72 63 68 69 76 2f 6b 6e 69 68 6f 76 6e 61 2f 72 65 70 6f 73 2f 6d 32 63 72 79 70 74 6f 2f 64 | archiv/knihovna/repos/m2crypto/d |
00c0 | 6f 63 94 8c 06 63 6f 6e 66 69 67 94 8c 0d 73 70 68 69 6e 78 2e 63 6f 6e 66 69 67 94 8c 06 43 6f | oc...config...sphinx.config...Co |
00e0 | 6e 66 69 67 94 93 94 29 81 94 7d 94 28 8c 09 6f 76 65 72 72 69 64 65 73 94 7d 94 8c 05 73 65 74 | nfig...)..}.(..overrides.}...set |
0100 | 75 70 94 4e 8c 0a 65 78 74 65 6e 73 69 6f 6e 73 94 5d 94 28 8c 12 73 70 68 69 6e 78 2e 65 78 74 | up.N..extensions.].(..sphinx.ext |
0120 | 2e 61 75 74 6f 64 6f 63 94 8c 13 73 70 68 69 6e 78 2e 65 78 74 2e 76 69 65 77 63 6f 64 65 94 65 | .autodoc...sphinx.ext.viewcode.e |
0140 | 8c 0e 74 65 6d 70 6c 61 74 65 73 5f 70 61 74 68 94 5d 94 8c 0a 5f 74 65 6d 70 6c 61 74 65 73 94 | ..templates_path.]..._templates. |
0160 | 61 8c 0d 73 6f 75 72 63 65 5f 73 75 66 66 69 78 94 8c 0b 63 6f 6c 6c 65 63 74 69 6f 6e 73 94 8c | a..source_suffix...collections.. |
0180 | 0b 4f 72 64 65 72 65 64 44 69 63 74 94 93 94 29 52 94 8c 04 2e 72 73 74 94 4e 73 8c 0a 6d 61 73 | .OrderedDict...)R....rst.Ns..mas |
01a0 | 74 65 72 5f 64 6f 63 94 8c 05 69 6e 64 65 78 94 8c 07 70 72 6f 6a 65 63 74 94 8c 08 4d 32 43 72 | ter_doc...index...project...M2Cr |
01c0 | 79 70 74 6f 94 8c 09 63 6f 70 79 72 69 67 68 74 94 8c 20 32 30 31 37 2c 20 4d 61 74 65 6a 20 43 | ypto...copyright...2017,.Matej.C |
01e0 | 65 70 6c 20 3c 6d 63 65 70 6c 40 63 65 70 6c 2e 65 75 3e 94 8c 07 76 65 72 73 69 6f 6e 94 8c 00 | epl.<mcepl@cepl.eu>...version... |
0200 | 94 8c 07 72 65 6c 65 61 73 65 94 68 27 8c 10 65 78 63 6c 75 64 65 5f 70 61 74 74 65 72 6e 73 94 | ...release.h'..exclude_patterns. |
0220 | 5d 94 8c 06 5f 62 75 69 6c 64 94 61 8c 0e 70 79 67 6d 65 6e 74 73 5f 73 74 79 6c 65 94 8c 06 73 | ]..._build.a..pygments_style...s |
0240 | 70 68 69 6e 78 94 8c 10 68 74 6d 6c 5f 73 74 61 74 69 63 5f 70 61 74 68 94 5d 94 8c 07 5f 73 74 | phinx...html_static_path.]..._st |
0260 | 61 74 69 63 94 61 8c 11 68 74 6d 6c 68 65 6c 70 5f 62 61 73 65 6e 61 6d 65 94 8c 0b 4d 32 43 72 | atic.a..htmlhelp_basename...M2Cr |
0280 | 79 70 74 6f 64 6f 63 94 8c 0e 6c 61 74 65 78 5f 65 6c 65 6d 65 6e 74 73 94 7d 94 8c 0f 6c 61 74 | yptodoc...latex_elements.}...lat |
02a0 | 65 78 5f 64 6f 63 75 6d 65 6e 74 73 94 5d 94 28 68 21 8c 0c 4d 32 43 72 79 70 74 6f 2e 74 65 78 | ex_documents.].(h!..M2Crypto.tex |
02c0 | 94 8c 16 4d 32 43 72 79 70 74 6f 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 94 8c 31 4d 61 74 65 | ...M2Crypto.Documentation..1Mate |
02e0 | 6a 20 43 65 70 6c 20 5c 74 65 78 74 6c 65 73 73 7b 7d 6d 63 65 70 6c 40 63 65 70 6c 2e 65 75 5c | j.Cepl.\textless{}mcepl@cepl.eu\ |
0300 | 74 65 78 74 67 72 65 61 74 65 72 7b 7d 94 8c 06 6d 61 6e 75 61 6c 94 74 94 61 8c 09 6d 61 6e 5f | textgreater{}...manual.t.a..man_ |
0320 | 70 61 67 65 73 94 5d 94 28 68 21 8c 08 6d 32 63 72 79 70 74 6f 94 8c 16 4d 32 43 72 79 70 74 6f | pages.].(h!..m2crypto...M2Crypto |
0340 | 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 94 5d 94 8c 1a 4d 61 74 65 6a 20 43 65 70 6c 20 3c 6d | .Documentation.]...Matej.Cepl.<m |
0360 | 63 65 70 6c 40 63 65 70 6c 2e 65 75 3e 94 61 4b 01 74 94 61 8c 11 74 65 78 69 6e 66 6f 5f 64 6f | cepl@cepl.eu>.aK.t.a..texinfo_do |
0380 | 63 75 6d 65 6e 74 73 94 5d 94 28 68 21 68 23 8c 16 4d 32 43 72 79 70 74 6f 20 44 6f 63 75 6d 65 | cuments.].(h!h#..M2Crypto.Docume |
03a0 | 6e 74 61 74 69 6f 6e 94 8c 1a 4d 61 74 65 6a 20 43 65 70 6c 20 3c 6d 63 65 70 6c 40 63 65 70 6c | ntation...Matej.Cepl.<mcepl@cepl |
03c0 | 2e 65 75 3e 94 68 23 8c 20 4f 6e 65 20 6c 69 6e 65 20 64 65 73 63 72 69 70 74 69 6f 6e 20 6f 66 | .eu>.h#..One.line.description.of |
03e0 | 20 70 72 6f 6a 65 63 74 2e 94 8c 0d 4d 69 73 63 65 6c 6c 61 6e 65 6f 75 73 94 74 94 61 8c 0a 65 | .project....Miscellaneous.t.a..e |
0400 | 70 75 62 5f 74 69 74 6c 65 94 68 23 8c 0b 65 70 75 62 5f 61 75 74 68 6f 72 94 68 41 8c 0e 65 70 | pub_title.h#..epub_author.hA..ep |
0420 | 75 62 5f 70 75 62 6c 69 73 68 65 72 94 68 41 8c 0e 65 70 75 62 5f 63 6f 70 79 72 69 67 68 74 94 | ub_publisher.hA..epub_copyright. |
0440 | 68 25 8c 0e 68 74 6d 6c 5f 63 73 73 5f 66 69 6c 65 73 94 5d 94 8c 0d 68 74 6d 6c 5f 6a 73 5f 66 | h%..html_css_files.]...html_js_f |
0460 | 69 6c 65 73 94 5d 94 8c 0e 65 70 75 62 5f 63 73 73 5f 66 69 6c 65 73 94 5d 94 8c 0d 6e 75 6d 66 | iles.]...epub_css_files.]...numf |
0480 | 69 67 5f 66 6f 72 6d 61 74 94 7d 94 28 8c 07 73 65 63 74 69 6f 6e 94 8c 0a 53 65 63 74 69 6f 6e | ig_format.}.(..section...Section |
04a0 | 20 25 73 94 8c 06 66 69 67 75 72 65 94 8c 07 46 69 67 2e 20 25 73 94 8c 05 74 61 62 6c 65 94 8c | .%s...figure...Fig..%s...table.. |
04c0 | 08 54 61 62 6c 65 20 25 73 94 8c 0a 63 6f 64 65 2d 62 6c 6f 63 6b 94 8c 0a 4c 69 73 74 69 6e 67 | .Table.%s...code-block...Listing |
04e0 | 20 25 73 94 75 8c 06 76 61 6c 75 65 73 94 7d 94 28 68 22 68 23 8c 03 65 6e 76 94 4e 87 94 8c 06 | .%s.u..values.}.(h"h#..env.N.... |
0500 | 61 75 74 68 6f 72 94 8c 07 75 6e 6b 6e 6f 77 6e 94 68 60 4e 87 94 68 24 68 25 8c 04 68 74 6d 6c | author...unknown.h`N..h$h%..html |
0520 | 94 4e 87 94 68 26 68 27 68 60 4e 87 94 68 28 68 27 68 60 4e 87 94 8c 05 74 6f 64 61 79 94 68 27 | .N..h&h'h`N..h(h'h`N....today.h' |
0540 | 68 60 4e 87 94 8c 09 74 6f 64 61 79 5f 66 6d 74 94 4e 68 60 4e 87 94 8c 08 6c 61 6e 67 75 61 67 | h`N....today_fmt.Nh`N....languag |
0560 | 65 94 4e 68 60 4e 87 94 8c 0b 6c 6f 63 61 6c 65 5f 64 69 72 73 94 5d 94 8c 07 6c 6f 63 61 6c 65 | e.Nh`N....locale_dirs.]...locale |
0580 | 73 94 61 68 60 4e 87 94 8c 18 66 69 67 75 72 65 5f 6c 61 6e 67 75 61 67 65 5f 66 69 6c 65 6e 61 | s.ah`N....figure_language_filena |
05a0 | 6d 65 94 8c 16 7b 72 6f 6f 74 7d 2e 7b 6c 61 6e 67 75 61 67 65 7d 7b 65 78 74 7d 94 68 60 4e 87 | me...{root}.{language}{ext}.h`N. |
05c0 | 94 68 20 68 21 68 60 4e 87 94 68 1a 68 1e 68 60 4e 87 94 8c 0f 73 6f 75 72 63 65 5f 65 6e 63 6f | .h.h!h`N..h.h.h`N....source_enco |
05e0 | 64 69 6e 67 94 8c 09 75 74 66 2d 38 2d 73 69 67 94 68 60 4e 87 94 8c 0e 73 6f 75 72 63 65 5f 70 | ding...utf-8-sig.h`N....source_p |
0600 | 61 72 73 65 72 73 94 7d 94 68 60 4e 87 94 68 29 68 2a 68 60 4e 87 94 8c 0c 64 65 66 61 75 6c 74 | arsers.}.h`N..h)h*h`N....default |
0620 | 5f 72 6f 6c 65 94 4e 68 60 4e 87 94 8c 18 61 64 64 5f 66 75 6e 63 74 69 6f 6e 5f 70 61 72 65 6e | _role.Nh`N....add_function_paren |
0640 | 74 68 65 73 65 73 94 88 68 60 4e 87 94 8c 10 61 64 64 5f 6d 6f 64 75 6c 65 5f 6e 61 6d 65 73 94 | theses..h`N....add_module_names. |
0660 | 88 68 60 4e 87 94 8c 1d 74 72 69 6d 5f 66 6f 6f 74 6e 6f 74 65 5f 72 65 66 65 72 65 6e 63 65 5f | .h`N....trim_footnote_reference_ |
0680 | 73 70 61 63 65 94 89 68 60 4e 87 94 8c 0c 73 68 6f 77 5f 61 75 74 68 6f 72 73 94 89 68 60 4e 87 | space..h`N....show_authors..h`N. |
06a0 | 94 68 2c 68 2d 68 65 4e 87 94 8c 12 68 69 67 68 6c 69 67 68 74 5f 6c 61 6e 67 75 61 67 65 94 8c | .h,h-heN....highlight_language.. |
06c0 | 07 64 65 66 61 75 6c 74 94 68 60 4e 87 94 8c 11 68 69 67 68 6c 69 67 68 74 5f 6f 70 74 69 6f 6e | .default.h`N....highlight_option |
06e0 | 73 94 7d 94 68 60 4e 87 94 68 17 68 18 68 65 4e 87 94 8c 0f 74 65 6d 70 6c 61 74 65 5f 62 72 69 | s.}.h`N..h.h.heN....template_bri |
0700 | 64 67 65 94 4e 68 65 4e 87 94 8c 0d 6b 65 65 70 5f 77 61 72 6e 69 6e 67 73 94 89 68 60 4e 87 94 | dge.NheN....keep_warnings..h`N.. |
0720 | 8c 11 73 75 70 70 72 65 73 73 5f 77 61 72 6e 69 6e 67 73 94 5d 94 68 60 4e 87 94 8c 16 6d 6f 64 | ..suppress_warnings.].h`N....mod |
0740 | 69 6e 64 65 78 5f 63 6f 6d 6d 6f 6e 5f 70 72 65 66 69 78 94 5d 94 68 65 4e 87 94 8c 0a 72 73 74 | index_common_prefix.].heN....rst |
0760 | 5f 65 70 69 6c 6f 67 94 4e 68 60 4e 87 94 8c 0a 72 73 74 5f 70 72 6f 6c 6f 67 94 4e 68 60 4e 87 | _epilog.Nh`N....rst_prolog.Nh`N. |
0780 | 94 8c 12 74 72 69 6d 5f 64 6f 63 74 65 73 74 5f 66 6c 61 67 73 94 88 68 60 4e 87 94 8c 0e 70 72 | ...trim_doctest_flags..h`N....pr |
07a0 | 69 6d 61 72 79 5f 64 6f 6d 61 69 6e 94 8c 02 70 79 94 68 60 4e 87 94 8c 0c 6e 65 65 64 73 5f 73 | imary_domain...py.h`N....needs_s |
07c0 | 70 68 69 6e 78 94 4e 4e 4e 87 94 8c 10 6e 65 65 64 73 5f 65 78 74 65 6e 73 69 6f 6e 73 94 7d 94 | phinx.NNN....needs_extensions.}. |
07e0 | 4e 4e 87 94 8c 0c 6d 61 6e 70 61 67 65 73 5f 75 72 6c 94 4e 68 60 4e 87 94 8c 08 6e 69 74 70 69 | NN....manpages_url.Nh`N....nitpi |
0800 | 63 6b 79 94 89 4e 4e 87 94 8c 0e 6e 69 74 70 69 63 6b 5f 69 67 6e 6f 72 65 94 5d 94 4e 4e 87 94 | cky..NN....nitpick_ignore.].NN.. |
0820 | 8c 06 6e 75 6d 66 69 67 94 89 68 60 4e 87 94 8c 13 6e 75 6d 66 69 67 5f 73 65 63 6e 75 6d 5f 64 | ..numfig..h`N....numfig_secnum_d |
0840 | 65 70 74 68 94 4b 01 68 60 4e 87 94 68 54 68 55 68 60 4e 87 94 8c 0f 6d 61 74 68 5f 6e 75 6d 62 | epth.K.h`N..hThUh`N....math_numb |
0860 | 65 72 5f 61 6c 6c 94 89 68 60 4e 87 94 8c 11 6d 61 74 68 5f 65 71 72 65 66 5f 66 6f 72 6d 61 74 | er_all..h`N....math_eqref_format |
0880 | 94 4e 68 60 4e 87 94 8c 0b 6d 61 74 68 5f 6e 75 6d 66 69 67 94 88 68 60 4e 87 94 8c 0a 74 6c 73 | .Nh`N....math_numfig..h`N....tls |
08a0 | 5f 76 65 72 69 66 79 94 88 68 60 4e 87 94 8c 0b 74 6c 73 5f 63 61 63 65 72 74 73 94 4e 68 60 4e | _verify..h`N....tls_cacerts.Nh`N |
08c0 | 87 94 8c 0b 73 6d 61 72 74 71 75 6f 74 65 73 94 88 68 60 4e 87 94 8c 12 73 6d 61 72 74 71 75 6f | ....smartquotes..h`N....smartquo |
08e0 | 74 65 73 5f 61 63 74 69 6f 6e 94 8c 03 71 44 65 94 68 60 4e 87 94 8c 14 73 6d 61 72 74 71 75 6f | tes_action...qDe.h`N....smartquo |
0900 | 74 65 73 5f 65 78 63 6c 75 64 65 73 94 7d 94 28 8c 09 6c 61 6e 67 75 61 67 65 73 94 5d 94 8c 02 | tes_excludes.}.(..languages.]... |
0920 | 6a 61 94 61 8c 08 62 75 69 6c 64 65 72 73 94 5d 94 28 8c 03 6d 61 6e 94 8c 04 74 65 78 74 94 65 | ja.a..builders.].(..man...text.e |
0940 | 75 68 60 4e 87 94 8c 0a 68 74 6d 6c 5f 74 68 65 6d 65 94 8c 09 61 6c 61 62 61 73 74 65 72 94 68 | uh`N....html_theme...alabaster.h |
0960 | 65 4e 87 94 8c 0f 68 74 6d 6c 5f 74 68 65 6d 65 5f 70 61 74 68 94 5d 94 68 65 4e 87 94 8c 12 68 | eN....html_theme_path.].heN....h |
0980 | 74 6d 6c 5f 74 68 65 6d 65 5f 6f 70 74 69 6f 6e 73 94 7d 94 68 65 4e 87 94 8c 0a 68 74 6d 6c 5f | tml_theme_options.}.heN....html_ |
09a0 | 74 69 74 6c 65 94 8c 17 4d 32 43 72 79 70 74 6f 20 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 94 | title...M2Crypto..documentation. |
09c0 | 68 65 4e 87 94 8c 10 68 74 6d 6c 5f 73 68 6f 72 74 5f 74 69 74 6c 65 94 8c 17 4d 32 43 72 79 70 | heN....html_short_title...M2Cryp |
09e0 | 74 6f 20 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 94 68 65 4e 87 94 8c 0a 68 74 6d 6c 5f 73 74 | to..documentation.heN....html_st |
0a00 | 79 6c 65 94 4e 68 65 4e 87 94 8c 09 68 74 6d 6c 5f 6c 6f 67 6f 94 4e 68 65 4e 87 94 8c 0c 68 74 | yle.NheN....html_logo.NheN....ht |
0a20 | 6d 6c 5f 66 61 76 69 63 6f 6e 94 4e 68 65 4e 87 94 68 4e 68 4f 68 65 4e 87 94 68 50 68 51 68 65 | ml_favicon.NheN..hNhOheN..hPhQhe |
0a40 | 4e 87 94 68 2e 68 2f 68 65 4e 87 94 8c 0f 68 74 6d 6c 5f 65 78 74 72 61 5f 70 61 74 68 94 5d 94 | N..h.h/heN....html_extra_path.]. |
0a60 | 68 65 4e 87 94 8c 15 68 74 6d 6c 5f 6c 61 73 74 5f 75 70 64 61 74 65 64 5f 66 6d 74 94 4e 68 65 | heN....html_last_updated_fmt.Nhe |
0a80 | 4e 87 94 8c 0d 68 74 6d 6c 5f 73 69 64 65 62 61 72 73 94 7d 94 68 65 4e 87 94 8c 15 68 74 6d 6c | N....html_sidebars.}.heN....html |
0aa0 | 5f 61 64 64 69 74 69 6f 6e 61 6c 5f 70 61 67 65 73 94 7d 94 68 65 4e 87 94 8c 13 68 74 6d 6c 5f | _additional_pages.}.heN....html_ |
0ac0 | 64 6f 6d 61 69 6e 5f 69 6e 64 69 63 65 73 94 88 68 65 4e 87 94 8c 13 68 74 6d 6c 5f 61 64 64 5f | domain_indices..heN....html_add_ |
0ae0 | 70 65 72 6d 61 6c 69 6e 6b 73 94 8c 02 c2 b6 94 68 65 4e 87 94 8c 0e 68 74 6d 6c 5f 75 73 65 5f | permalinks......heN....html_use_ |
0b00 | 69 6e 64 65 78 94 88 68 65 4e 87 94 8c 10 68 74 6d 6c 5f 73 70 6c 69 74 5f 69 6e 64 65 78 94 89 | index..heN....html_split_index.. |
0b20 | 68 65 4e 87 94 8c 10 68 74 6d 6c 5f 63 6f 70 79 5f 73 6f 75 72 63 65 94 88 68 65 4e 87 94 8c 14 | heN....html_copy_source..heN.... |
0b40 | 68 74 6d 6c 5f 73 68 6f 77 5f 73 6f 75 72 63 65 6c 69 6e 6b 94 88 68 65 4e 87 94 8c 16 68 74 6d | html_show_sourcelink..heN....htm |
0b60 | 6c 5f 73 6f 75 72 63 65 6c 69 6e 6b 5f 73 75 66 66 69 78 94 8c 04 2e 74 78 74 94 68 65 4e 87 94 | l_sourcelink_suffix....txt.heN.. |
0b80 | 8c 13 68 74 6d 6c 5f 75 73 65 5f 6f 70 65 6e 73 65 61 72 63 68 94 68 27 68 65 4e 87 94 8c 10 68 | ..html_use_opensearch.h'heN....h |
0ba0 | 74 6d 6c 5f 66 69 6c 65 5f 73 75 66 66 69 78 94 4e 68 65 4e 87 94 8c 10 68 74 6d 6c 5f 6c 69 6e | tml_file_suffix.NheN....html_lin |
0bc0 | 6b 5f 73 75 66 66 69 78 94 4e 68 65 4e 87 94 8c 13 68 74 6d 6c 5f 73 68 6f 77 5f 63 6f 70 79 72 | k_suffix.NheN....html_show_copyr |
0be0 | 69 67 68 74 94 88 68 65 4e 87 94 8c 10 68 74 6d 6c 5f 73 68 6f 77 5f 73 70 68 69 6e 78 94 88 68 | ight..heN....html_show_sphinx..h |
0c00 | 65 4e 87 94 8c 0c 68 74 6d 6c 5f 63 6f 6e 74 65 78 74 94 7d 94 68 65 4e 87 94 8c 14 68 74 6d 6c | eN....html_context.}.heN....html |
0c20 | 5f 6f 75 74 70 75 74 5f 65 6e 63 6f 64 69 6e 67 94 8c 05 75 74 66 2d 38 94 68 65 4e 87 94 8c 12 | _output_encoding...utf-8.heN.... |
0c40 | 68 74 6d 6c 5f 63 6f 6d 70 61 63 74 5f 6c 69 73 74 73 94 88 68 65 4e 87 94 8c 15 68 74 6d 6c 5f | html_compact_lists..heN....html_ |
0c60 | 73 65 63 6e 75 6d 62 65 72 5f 73 75 66 66 69 78 94 8c 02 2e 20 94 68 65 4e 87 94 8c 14 68 74 6d | secnumber_suffix......heN....htm |
0c80 | 6c 5f 73 65 61 72 63 68 5f 6c 61 6e 67 75 61 67 65 94 4e 68 65 4e 87 94 8c 13 68 74 6d 6c 5f 73 | l_search_language.NheN....html_s |
0ca0 | 65 61 72 63 68 5f 6f 70 74 69 6f 6e 73 94 7d 94 68 65 4e 87 94 8c 12 68 74 6d 6c 5f 73 65 61 72 | earch_options.}.heN....html_sear |
0cc0 | 63 68 5f 73 63 6f 72 65 72 94 68 27 4e 4e 87 94 8c 16 68 74 6d 6c 5f 73 63 61 6c 65 64 5f 69 6d | ch_scorer.h'NN....html_scaled_im |
0ce0 | 61 67 65 5f 6c 69 6e 6b 94 88 68 65 4e 87 94 8c 1e 68 74 6d 6c 5f 65 78 70 65 72 69 6d 65 6e 74 | age_link..heN....html_experiment |
0d00 | 61 6c 5f 68 74 6d 6c 35 5f 77 72 69 74 65 72 94 4e 68 65 4e 87 94 8c 0c 68 74 6d 6c 5f 62 61 73 | al_html5_writer.NheN....html_bas |
0d20 | 65 75 72 6c 94 68 27 68 65 4e 87 94 8c 12 68 74 6d 6c 5f 6d 61 74 68 5f 72 65 6e 64 65 72 65 72 | eurl.h'heN....html_math_renderer |
0d40 | 94 4e 68 60 4e 87 94 8c 13 73 69 6e 67 6c 65 68 74 6d 6c 5f 73 69 64 65 62 61 72 73 94 68 ec 68 | .Nh`N....singlehtml_sidebars.h.h |
0d60 | 65 4e 87 94 8c 0c 6d 61 74 68 6a 61 78 5f 70 61 74 68 94 8c 5b 68 74 74 70 73 3a 2f 2f 63 64 6e | eN....mathjax_path..[https://cdn |
0d80 | 6a 73 2e 63 6c 6f 75 64 66 6c 61 72 65 2e 63 6f 6d 2f 61 6a 61 78 2f 6c 69 62 73 2f 6d 61 74 68 | js.cloudflare.com/ajax/libs/math |
0da0 | 6a 61 78 2f 32 2e 37 2e 35 2f 6c 61 74 65 73 74 2e 6a 73 3f 63 6f 6e 66 69 67 3d 54 65 58 2d 41 | jax/2.7.5/latest.js?config=TeX-A |
0dc0 | 4d 53 2d 4d 4d 4c 5f 48 54 4d 4c 6f 72 4d 4d 4c 94 68 65 4e 87 94 8c 0f 6d 61 74 68 6a 61 78 5f | MS-MML_HTMLorMML.heN....mathjax_ |
0de0 | 6f 70 74 69 6f 6e 73 94 7d 94 68 65 4e 87 94 8c 0e 6d 61 74 68 6a 61 78 5f 69 6e 6c 69 6e 65 94 | options.}.heN....mathjax_inline. |
0e00 | 5d 94 28 8c 02 5c 28 94 8c 02 5c 29 94 65 68 65 4e 87 94 8c 0f 6d 61 74 68 6a 61 78 5f 64 69 73 | ].(..\(...\).eheN....mathjax_dis |
0e20 | 70 6c 61 79 94 5d 94 28 8c 02 5c 5b 94 8c 02 5c 5d 94 65 68 65 4e 87 94 8c 0e 6d 61 74 68 6a 61 | play.].(..\[...\].eheN....mathja |
0e40 | 78 5f 63 6f 6e 66 69 67 94 4e 68 65 4e 87 94 8c 15 61 70 70 6c 65 68 65 6c 70 5f 62 75 6e 64 6c | x_config.NheN....applehelp_bundl |
0e60 | 65 5f 6e 61 6d 65 94 68 23 8c 09 61 70 70 6c 65 68 65 6c 70 94 4e 87 94 8c 13 61 70 70 6c 65 68 | e_name.h#..applehelp.N....appleh |
0e80 | 65 6c 70 5f 62 75 6e 64 6c 65 5f 69 64 94 4e 6a 3a 01 00 00 4e 87 94 8c 14 61 70 70 6c 65 68 65 | elp_bundle_id.Nj:...N....applehe |
0ea0 | 6c 70 5f 64 65 76 5f 72 65 67 69 6f 6e 94 8c 05 65 6e 2d 75 73 94 6a 3a 01 00 00 4e 87 94 8c 18 | lp_dev_region...en-us.j:...N.... |
0ec0 | 61 70 70 6c 65 68 65 6c 70 5f 62 75 6e 64 6c 65 5f 76 65 72 73 69 6f 6e 94 8c 01 31 94 6a 3a 01 | applehelp_bundle_version...1.j:. |
0ee0 | 00 00 4e 87 94 8c 0e 61 70 70 6c 65 68 65 6c 70 5f 69 63 6f 6e 94 4e 6a 3a 01 00 00 4e 87 94 8c | ..N....applehelp_icon.Nj:...N... |
0f00 | 14 61 70 70 6c 65 68 65 6c 70 5f 6b 62 5f 70 72 6f 64 75 63 74 94 8c 09 4d 32 43 72 79 70 74 6f | .applehelp_kb_product...M2Crypto |
0f20 | 2d 94 6a 3a 01 00 00 4e 87 94 8c 10 61 70 70 6c 65 68 65 6c 70 5f 6b 62 5f 75 72 6c 94 4e 6a 3a | -.j:...N....applehelp_kb_url.Nj: |
0f40 | 01 00 00 4e 87 94 8c 14 61 70 70 6c 65 68 65 6c 70 5f 72 65 6d 6f 74 65 5f 75 72 6c 94 4e 6a 3a | ...N....applehelp_remote_url.Nj: |
0f60 | 01 00 00 4e 87 94 8c 17 61 70 70 6c 65 68 65 6c 70 5f 69 6e 64 65 78 5f 61 6e 63 68 6f 72 73 94 | ...N....applehelp_index_anchors. |
0f80 | 89 6a 3a 01 00 00 4e 87 94 8c 19 61 70 70 6c 65 68 65 6c 70 5f 6d 69 6e 5f 74 65 72 6d 5f 6c 65 | .j:...N....applehelp_min_term_le |
0fa0 | 6e 67 74 68 94 4e 6a 3a 01 00 00 4e 87 94 8c 13 61 70 70 6c 65 68 65 6c 70 5f 73 74 6f 70 77 6f | ngth.Nj:...N....applehelp_stopwo |
0fc0 | 72 64 73 94 8c 02 65 6e 94 6a 3a 01 00 00 4e 87 94 8c 10 61 70 70 6c 65 68 65 6c 70 5f 6c 6f 63 | rds...en.j:...N....applehelp_loc |
0fe0 | 61 6c 65 94 6a 52 01 00 00 6a 3a 01 00 00 4e 87 94 8c 0f 61 70 70 6c 65 68 65 6c 70 5f 74 69 74 | ale.jR...j:...N....applehelp_tit |
1000 | 6c 65 94 8c 0d 4d 32 43 72 79 70 74 6f 20 48 65 6c 70 94 6a 3a 01 00 00 4e 87 94 8c 1b 61 70 70 | le...M2Crypto.Help.j:...N....app |
1020 | 6c 65 68 65 6c 70 5f 63 6f 64 65 73 69 67 6e 5f 69 64 65 6e 74 69 74 79 94 4e 6a 3a 01 00 00 4e | lehelp_codesign_identity.Nj:...N |
1040 | 87 94 8c 18 61 70 70 6c 65 68 65 6c 70 5f 63 6f 64 65 73 69 67 6e 5f 66 6c 61 67 73 94 5d 94 6a | ....applehelp_codesign_flags.].j |
1060 | 3a 01 00 00 4e 87 94 8c 16 61 70 70 6c 65 68 65 6c 70 5f 69 6e 64 65 78 65 72 5f 70 61 74 68 94 | :...N....applehelp_indexer_path. |
1080 | 8c 0f 2f 75 73 72 2f 62 69 6e 2f 68 69 75 74 69 6c 94 6a 3a 01 00 00 4e 87 94 8c 17 61 70 70 6c | ../usr/bin/hiutil.j:...N....appl |
10a0 | 65 68 65 6c 70 5f 63 6f 64 65 73 69 67 6e 5f 70 61 74 68 94 8c 11 2f 75 73 72 2f 62 69 6e 2f 63 | ehelp_codesign_path.../usr/bin/c |
10c0 | 6f 64 65 73 69 67 6e 94 6a 3a 01 00 00 4e 87 94 8c 20 61 70 70 6c 65 68 65 6c 70 5f 64 69 73 61 | odesign.j:...N....applehelp_disa |
10e0 | 62 6c 65 5f 65 78 74 65 72 6e 61 6c 5f 74 6f 6f 6c 73 94 89 4e 4e 87 94 8c 0d 65 70 75 62 5f 62 | ble_external_tools..NN....epub_b |
1100 | 61 73 65 6e 61 6d 65 94 68 23 4e 4e 87 94 8c 0c 65 70 75 62 5f 76 65 72 73 69 6f 6e 94 47 40 08 | asename.h#NN....epub_version.G@. |
1120 | 00 00 00 00 00 00 8c 04 65 70 75 62 94 4e 87 94 8c 0a 65 70 75 62 5f 74 68 65 6d 65 94 6a 69 01 | ........epub.N....epub_theme.ji. |
1140 | 00 00 6a 69 01 00 00 4e 87 94 8c 12 65 70 75 62 5f 74 68 65 6d 65 5f 6f 70 74 69 6f 6e 73 94 7d | ..ji...N....epub_theme_options.} |
1160 | 94 6a 69 01 00 00 4e 87 94 68 4a 68 23 6a 69 01 00 00 4e 87 94 68 4b 68 41 6a 69 01 00 00 4e 87 | .ji...N..hJh#ji...N..hKhAji...N. |
1180 | 94 8c 0d 65 70 75 62 5f 6c 61 6e 67 75 61 67 65 94 6a 52 01 00 00 6a 69 01 00 00 4e 87 94 68 4c | ...epub_language.jR...ji...N..hL |
11a0 | 68 41 6a 69 01 00 00 4e 87 94 68 4d 68 25 6a 69 01 00 00 4e 87 94 8c 0f 65 70 75 62 5f 69 64 65 | hAji...N..hMh%ji...N....epub_ide |
11c0 | 6e 74 69 66 69 65 72 94 68 63 6a 69 01 00 00 4e 87 94 8c 0b 65 70 75 62 5f 73 63 68 65 6d 65 94 | ntifier.hcji...N....epub_scheme. |
11e0 | 68 63 6a 69 01 00 00 4e 87 94 8c 08 65 70 75 62 5f 75 69 64 94 68 63 68 60 4e 87 94 8c 0a 65 70 | hcji...N....epub_uid.hch`N....ep |
1200 | 75 62 5f 63 6f 76 65 72 94 29 68 60 4e 87 94 8c 0a 65 70 75 62 5f 67 75 69 64 65 94 29 68 60 4e | ub_cover.)h`N....epub_guide.)h`N |
1220 | 87 94 8c 0e 65 70 75 62 5f 70 72 65 5f 66 69 6c 65 73 94 5d 94 68 60 4e 87 94 8c 0f 65 70 75 62 | ....epub_pre_files.].h`N....epub |
1240 | 5f 70 6f 73 74 5f 66 69 6c 65 73 94 5d 94 68 60 4e 87 94 68 52 68 53 6a 69 01 00 00 4e 87 94 8c | _post_files.].h`N..hRhSji...N... |
1260 | 12 65 70 75 62 5f 65 78 63 6c 75 64 65 5f 66 69 6c 65 73 94 5d 94 68 60 4e 87 94 8c 0d 65 70 75 | .epub_exclude_files.].h`N....epu |
1280 | 62 5f 74 6f 63 64 65 70 74 68 94 4b 03 68 60 4e 87 94 8c 0b 65 70 75 62 5f 74 6f 63 64 75 70 94 | b_tocdepth.K.h`N....epub_tocdup. |
12a0 | 88 68 60 4e 87 94 8c 0d 65 70 75 62 5f 74 6f 63 73 63 6f 70 65 94 68 8b 68 60 4e 87 94 8c 0f 65 | .h`N....epub_tocscope.h.h`N....e |
12c0 | 70 75 62 5f 66 69 78 5f 69 6d 61 67 65 73 94 89 68 60 4e 87 94 8c 14 65 70 75 62 5f 6d 61 78 5f | pub_fix_images..h`N....epub_max_ |
12e0 | 69 6d 61 67 65 5f 77 69 64 74 68 94 4b 00 68 60 4e 87 94 8c 0e 65 70 75 62 5f 73 68 6f 77 5f 75 | image_width.K.h`N....epub_show_u |
1300 | 72 6c 73 94 8c 06 69 6e 6c 69 6e 65 94 6a 69 01 00 00 4e 87 94 8c 0e 65 70 75 62 5f 75 73 65 5f | rls...inline.ji...N....epub_use_ |
1320 | 69 6e 64 65 78 94 88 6a 69 01 00 00 4e 87 94 8c 10 65 70 75 62 5f 64 65 73 63 72 69 70 74 69 6f | index..ji...N....epub_descriptio |
1340 | 6e 94 68 63 6a 69 01 00 00 4e 87 94 8c 10 65 70 75 62 5f 63 6f 6e 74 72 69 62 75 74 6f 72 94 68 | n.hcji...N....epub_contributor.h |
1360 | 63 6a 69 01 00 00 4e 87 94 8c 11 65 70 75 62 5f 77 72 69 74 69 6e 67 5f 6d 6f 64 65 94 8c 0a 68 | cji...N....epub_writing_mode...h |
1380 | 6f 72 69 7a 6f 6e 74 61 6c 94 6a 69 01 00 00 4e 87 94 8c 10 64 65 76 68 65 6c 70 5f 62 61 73 65 | orizontal.ji...N....devhelp_base |
13a0 | 6e 61 6d 65 94 68 23 4e 4e 87 94 8c 0f 67 65 74 74 65 78 74 5f 63 6f 6d 70 61 63 74 94 88 8c 07 | name.h#NN....gettext_compact.... |
13c0 | 67 65 74 74 65 78 74 94 4e 87 94 8c 10 67 65 74 74 65 78 74 5f 6c 6f 63 61 74 69 6f 6e 94 88 6a | gettext.N....gettext_location..j |
13e0 | a3 01 00 00 4e 87 94 8c 0c 67 65 74 74 65 78 74 5f 75 75 69 64 94 89 6a a3 01 00 00 4e 87 94 8c | ....N....gettext_uuid..j....N... |
1400 | 12 67 65 74 74 65 78 74 5f 61 75 74 6f 5f 62 75 69 6c 64 94 88 68 60 4e 87 94 8c 1a 67 65 74 74 | .gettext_auto_build..h`N....gett |
1420 | 65 78 74 5f 61 64 64 69 74 69 6f 6e 61 6c 5f 74 61 72 67 65 74 73 94 5d 94 68 60 4e 87 94 68 31 | ext_additional_targets.].h`N..h1 |
1440 | 68 32 4e 4e 87 94 8c 0c 6c 61 74 65 78 5f 65 6e 67 69 6e 65 94 8c 08 70 64 66 6c 61 74 65 78 94 | h2NN....latex_engine...pdflatex. |
1460 | 4e 4e 87 94 68 35 68 36 4e 4e 87 94 8c 0a 6c 61 74 65 78 5f 6c 6f 67 6f 94 4e 4e 4e 87 94 8c 10 | NN..h5h6NN....latex_logo.NNN.... |
1480 | 6c 61 74 65 78 5f 61 70 70 65 6e 64 69 63 65 73 94 5d 94 4e 4e 87 94 8c 1b 6c 61 74 65 78 5f 75 | latex_appendices.].NN....latex_u |
14a0 | 73 65 5f 6c 61 74 65 78 5f 6d 75 6c 74 69 63 6f 6c 75 6d 6e 94 89 4e 4e 87 94 8c 0f 6c 61 74 65 | se_latex_multicolumn..NN....late |
14c0 | 78 5f 75 73 65 5f 78 69 6e 64 79 94 89 4e 4e 87 94 8c 19 6c 61 74 65 78 5f 74 6f 70 6c 65 76 65 | x_use_xindy..NN....latex_topleve |
14e0 | 6c 5f 73 65 63 74 69 6f 6e 69 6e 67 94 4e 4e 4e 87 94 8c 14 6c 61 74 65 78 5f 64 6f 6d 61 69 6e | l_sectioning.NNN....latex_domain |
1500 | 5f 69 6e 64 69 63 65 73 94 88 4e 4e 87 94 8c 0f 6c 61 74 65 78 5f 73 68 6f 77 5f 75 72 6c 73 94 | _indices..NN....latex_show_urls. |
1520 | 8c 02 6e 6f 94 4e 4e 87 94 8c 13 6c 61 74 65 78 5f 73 68 6f 77 5f 70 61 67 65 72 65 66 73 94 89 | ..no.NN....latex_show_pagerefs.. |
1540 | 4e 4e 87 94 68 33 68 34 4e 4e 87 94 8c 16 6c 61 74 65 78 5f 61 64 64 69 74 69 6f 6e 61 6c 5f 66 | NN..h3h4NN....latex_additional_f |
1560 | 69 6c 65 73 94 5d 94 4e 4e 87 94 8c 0e 6c 61 74 65 78 5f 64 6f 63 63 6c 61 73 73 94 7d 94 4e 4e | iles.].NN....latex_docclass.}.NN |
1580 | 87 94 8c 10 6c 69 6e 6b 63 68 65 63 6b 5f 69 67 6e 6f 72 65 94 5d 94 4e 4e 87 94 8c 11 6c 69 6e | ....linkcheck_ignore.].NN....lin |
15a0 | 6b 63 68 65 63 6b 5f 72 65 74 72 69 65 73 94 4b 01 4e 4e 87 94 8c 11 6c 69 6e 6b 63 68 65 63 6b | kcheck_retries.K.NN....linkcheck |
15c0 | 5f 74 69 6d 65 6f 75 74 94 4e 4e 4e 87 94 8c 11 6c 69 6e 6b 63 68 65 63 6b 5f 77 6f 72 6b 65 72 | _timeout.NNN....linkcheck_worker |
15e0 | 73 94 4b 05 4e 4e 87 94 8c 11 6c 69 6e 6b 63 68 65 63 6b 5f 61 6e 63 68 6f 72 73 94 88 4e 4e 87 | s.K.NN....linkcheck_anchors..NN. |
1600 | 94 8c 18 6c 69 6e 6b 63 68 65 63 6b 5f 61 6e 63 68 6f 72 73 5f 69 67 6e 6f 72 65 94 5d 94 8c 02 | ...linkcheck_anchors_ignore.]... |
1620 | 5e 21 94 61 4e 4e 87 94 68 3c 68 3d 4e 4e 87 94 8c 0d 6d 61 6e 5f 73 68 6f 77 5f 75 72 6c 73 94 | ^!.aNN..h<h=NN....man_show_urls. |
1640 | 89 4e 4e 87 94 8c 0f 71 74 68 65 6c 70 5f 62 61 73 65 6e 61 6d 65 94 68 23 4e 4e 87 94 8c 10 71 | .NN....qthelp_basename.h#NN....q |
1660 | 74 68 65 6c 70 5f 6e 61 6d 65 73 70 61 63 65 94 4e 68 65 4e 87 94 8c 0c 71 74 68 65 6c 70 5f 74 | thelp_namespace.NheN....qthelp_t |
1680 | 68 65 6d 65 94 8c 05 6e 6f 6e 61 76 94 68 65 4e 87 94 8c 14 71 74 68 65 6c 70 5f 74 68 65 6d 65 | heme...nonav.heN....qthelp_theme |
16a0 | 5f 6f 70 74 69 6f 6e 73 94 7d 94 68 65 4e 87 94 68 43 68 44 4e 4e 87 94 8c 12 74 65 78 69 6e 66 | _options.}.heN..hChDNN....texinf |
16c0 | 6f 5f 61 70 70 65 6e 64 69 63 65 73 94 5d 94 4e 4e 87 94 8c 10 74 65 78 69 6e 66 6f 5f 65 6c 65 | o_appendices.].NN....texinfo_ele |
16e0 | 6d 65 6e 74 73 94 7d 94 4e 4e 87 94 8c 16 74 65 78 69 6e 66 6f 5f 64 6f 6d 61 69 6e 5f 69 6e 64 | ments.}.NN....texinfo_domain_ind |
1700 | 69 63 65 73 94 88 4e 4e 87 94 8c 11 74 65 78 69 6e 66 6f 5f 73 68 6f 77 5f 75 72 6c 73 94 8c 08 | ices..NN....texinfo_show_urls... |
1720 | 66 6f 6f 74 6e 6f 74 65 94 4e 4e 87 94 8c 15 74 65 78 69 6e 66 6f 5f 6e 6f 5f 64 65 74 61 69 6c | footnote.NN....texinfo_no_detail |
1740 | 6d 65 6e 75 94 89 4e 4e 87 94 8c 11 74 65 78 74 5f 73 65 63 74 69 6f 6e 63 68 61 72 73 94 8c 07 | menu..NN....text_sectionchars... |
1760 | 2a 3d 2d 7e 22 2b 60 94 68 60 4e 87 94 8c 0d 74 65 78 74 5f 6e 65 77 6c 69 6e 65 73 94 8c 04 75 | *=-~"+`.h`N....text_newlines...u |
1780 | 6e 69 78 94 68 60 4e 87 94 8c 13 74 65 78 74 5f 61 64 64 5f 73 65 63 6e 75 6d 62 65 72 73 94 88 | nix.h`N....text_add_secnumbers.. |
17a0 | 68 60 4e 87 94 8c 15 74 65 78 74 5f 73 65 63 6e 75 6d 62 65 72 5f 73 75 66 66 69 78 94 8c 02 2e | h`N....text_secnumber_suffix.... |
17c0 | 20 94 68 60 4e 87 94 8c 0a 78 6d 6c 5f 70 72 65 74 74 79 94 88 68 60 4e 87 94 8c 17 63 70 70 5f | ..h`N....xml_pretty..h`N....cpp_ |
17e0 | 69 6e 64 65 78 5f 63 6f 6d 6d 6f 6e 5f 70 72 65 66 69 78 94 5d 94 68 60 4e 87 94 8c 11 63 70 70 | index_common_prefix.].h`N....cpp |
1800 | 5f 69 64 5f 61 74 74 72 69 62 75 74 65 73 94 5d 94 68 60 4e 87 94 8c 14 63 70 70 5f 70 61 72 65 | _id_attributes.].h`N....cpp_pare |
1820 | 6e 5f 61 74 74 72 69 62 75 74 65 73 94 5d 94 68 60 4e 87 94 8c 11 61 75 74 6f 63 6c 61 73 73 5f | n_attributes.].h`N....autoclass_ |
1840 | 63 6f 6e 74 65 6e 74 94 8c 05 63 6c 61 73 73 94 68 60 4e 87 94 8c 14 61 75 74 6f 64 6f 63 5f 6d | content...class.h`N....autodoc_m |
1860 | 65 6d 62 65 72 5f 6f 72 64 65 72 94 8c 0a 61 6c 70 68 61 62 65 74 69 63 94 68 60 4e 87 94 8c 15 | ember_order...alphabetic.h`N.... |
1880 | 61 75 74 6f 64 6f 63 5f 64 65 66 61 75 6c 74 5f 66 6c 61 67 73 94 5d 94 68 60 4e 87 94 8c 17 61 | autodoc_default_flags.].h`N....a |
18a0 | 75 74 6f 64 6f 63 5f 64 65 66 61 75 6c 74 5f 6f 70 74 69 6f 6e 73 94 7d 94 68 60 4e 87 94 8c 1b | utodoc_default_options.}.h`N.... |
18c0 | 61 75 74 6f 64 6f 63 5f 64 6f 63 73 74 72 69 6e 67 5f 73 69 67 6e 61 74 75 72 65 94 88 68 60 4e | autodoc_docstring_signature..h`N |
18e0 | 87 94 8c 14 61 75 74 6f 64 6f 63 5f 6d 6f 63 6b 5f 69 6d 70 6f 72 74 73 94 5d 94 68 60 4e 87 94 | ....autodoc_mock_imports.].h`N.. |
1900 | 8c 16 61 75 74 6f 64 6f 63 5f 77 61 72 6e 69 6e 67 69 73 65 72 72 6f 72 94 88 68 60 4e 87 94 8c | ..autodoc_warningiserror..h`N... |
1920 | 1a 61 75 74 6f 64 6f 63 5f 69 6e 68 65 72 69 74 5f 64 6f 63 73 74 72 69 6e 67 73 94 88 68 60 4e | .autodoc_inherit_docstrings..h`N |
1940 | 87 94 8c 0f 76 69 65 77 63 6f 64 65 5f 69 6d 70 6f 72 74 94 4e 68 27 4e 87 94 8c 14 76 69 65 77 | ....viewcode_import.Nh'N....view |
1960 | 63 6f 64 65 5f 65 6e 61 62 6c 65 5f 65 70 75 62 94 89 68 27 4e 87 94 8c 20 76 69 65 77 63 6f 64 | code_enable_epub..h'N....viewcod |
1980 | 65 5f 66 6f 6c 6c 6f 77 5f 69 6d 70 6f 72 74 65 64 5f 6d 65 6d 62 65 72 73 94 88 68 27 4e 87 94 | e_follow_imported_members..h'N.. |
19a0 | 75 75 62 8c 0d 63 6f 6e 66 69 67 5f 73 74 61 74 75 73 94 4b 01 8c 07 76 65 72 73 69 6f 6e 94 7d | uub..config_status.K...version.} |
19c0 | 94 28 8c 10 73 70 68 69 6e 78 2e 64 6f 6d 61 69 6e 73 2e 63 94 4b 01 8c 18 73 70 68 69 6e 78 2e | .(..sphinx.domains.c.K...sphinx. |
19e0 | 64 6f 6d 61 69 6e 73 2e 63 68 61 6e 67 65 73 65 74 94 4b 01 8c 12 73 70 68 69 6e 78 2e 64 6f 6d | domains.changeset.K...sphinx.dom |
1a00 | 61 69 6e 73 2e 63 70 70 94 4b 01 8c 19 73 70 68 69 6e 78 2e 64 6f 6d 61 69 6e 73 2e 6a 61 76 61 | ains.cpp.K...sphinx.domains.java |
1a20 | 73 63 72 69 70 74 94 4b 01 8c 13 73 70 68 69 6e 78 2e 64 6f 6d 61 69 6e 73 2e 6d 61 74 68 94 4b | script.K...sphinx.domains.math.K |
1a40 | 02 8c 15 73 70 68 69 6e 78 2e 64 6f 6d 61 69 6e 73 2e 70 79 74 68 6f 6e 94 4b 01 8c 12 73 70 68 | ...sphinx.domains.python.K...sph |
1a60 | 69 6e 78 2e 64 6f 6d 61 69 6e 73 2e 72 73 74 94 4b 01 8c 12 73 70 68 69 6e 78 2e 64 6f 6d 61 69 | inx.domains.rst.K...sphinx.domai |
1a80 | 6e 73 2e 73 74 64 94 4b 01 68 16 4b 01 68 2d 4b 37 75 8c 14 76 65 72 73 69 6f 6e 69 6e 67 5f 63 | ns.std.K.h.K.h-K7u..versioning_c |
1aa0 | 6f 6e 64 69 74 69 6f 6e 94 89 8c 12 76 65 72 73 69 6f 6e 69 6e 67 5f 63 6f 6d 70 61 72 65 94 89 | ondition....versioning_compare.. |
1ac0 | 8c 07 64 6f 6d 61 69 6e 73 94 7d 94 8c 08 73 65 74 74 69 6e 67 73 94 7d 94 28 8c 10 65 6d 62 65 | ..domains.}...settings.}.(..embe |
1ae0 | 64 5f 73 74 79 6c 65 73 68 65 65 74 94 89 8c 15 63 6c 6f 61 6b 5f 65 6d 61 69 6c 5f 61 64 64 72 | d_stylesheet....cloak_email_addr |
1b00 | 65 73 73 65 73 94 88 8c 0c 70 65 70 5f 62 61 73 65 5f 75 72 6c 94 8c 20 68 74 74 70 73 3a 2f 2f | esses....pep_base_url...https:// |
1b20 | 77 77 77 2e 70 79 74 68 6f 6e 2e 6f 72 67 2f 64 65 76 2f 70 65 70 73 2f 94 8c 0e 70 65 70 5f 72 | www.python.org/dev/peps/...pep_r |
1b40 | 65 66 65 72 65 6e 63 65 73 94 4e 8c 0c 72 66 63 5f 62 61 73 65 5f 75 72 6c 94 8c 1c 68 74 74 70 | eferences.N..rfc_base_url...http |
1b60 | 73 3a 2f 2f 74 6f 6f 6c 73 2e 69 65 74 66 2e 6f 72 67 2f 68 74 6d 6c 2f 94 8c 0e 72 66 63 5f 72 | s://tools.ietf.org/html/...rfc_r |
1b80 | 65 66 65 72 65 6e 63 65 73 94 4e 8c 0e 69 6e 70 75 74 5f 65 6e 63 6f 64 69 6e 67 94 68 79 8c 0e | eferences.N..input_encoding.hy.. |
1ba0 | 64 6f 63 74 69 74 6c 65 5f 78 66 6f 72 6d 94 89 8c 12 73 65 63 74 73 75 62 74 69 74 6c 65 5f 78 | doctitle_xform....sectsubtitle_x |
1bc0 | 66 6f 72 6d 94 89 8c 0a 68 61 6c 74 5f 6c 65 76 65 6c 94 4b 05 8c 16 66 69 6c 65 5f 69 6e 73 65 | form....halt_level.K...file_inse |
1be0 | 72 74 69 6f 6e 5f 65 6e 61 62 6c 65 64 94 88 8c 13 73 6d 61 72 74 71 75 6f 74 65 73 5f 6c 6f 63 | rtion_enabled....smartquotes_loc |
1c00 | 61 6c 65 73 94 5d 94 8c 03 65 6e 76 94 68 03 8c 1d 74 72 69 6d 5f 66 6f 6f 74 6e 6f 74 65 5f 72 | ales.]...env.h...trim_footnote_r |
1c20 | 65 66 65 72 65 6e 63 65 5f 73 70 61 63 65 94 89 8c 0d 6c 61 6e 67 75 61 67 65 5f 63 6f 64 65 94 | eference_space....language_code. |
1c40 | 6a 52 01 00 00 8c 0c 73 6d 61 72 74 5f 71 75 6f 74 65 73 94 88 75 8c 09 5f 77 61 72 6e 66 75 6e | jR.....smart_quotes..u.._warnfun |
1c60 | 63 94 4e 8c 0a 66 6f 75 6e 64 5f 64 6f 63 73 94 8f 94 28 8c 0b 68 6f 77 74 6f 2e 73 6d 69 6d 65 | c.N..found_docs...(..howto.smime |
1c80 | 94 8c 08 68 6f 77 74 6f 2e 63 61 94 8c 09 68 6f 77 74 6f 2e 73 73 6c 94 8c 0c 4d 32 43 72 79 70 | ...howto.ca...howto.ssl...M2Cryp |
1ca0 | 74 6f 2e 53 53 4c 94 8c 05 69 6e 64 65 78 94 8c 08 4d 32 43 72 79 70 74 6f 94 8c 10 5a 53 65 72 | to.SSL...index...M2Crypto...ZSer |
1cc0 | 76 65 72 53 53 4c 2d 48 4f 57 54 4f 94 90 8c 08 61 6c 6c 5f 64 6f 63 73 94 7d 94 28 8c 10 5a 53 | verSSL-HOWTO....all_docs.}.(..ZS |
1ce0 | 65 72 76 65 72 53 53 4c 2d 48 4f 57 54 4f 94 47 41 d7 36 b6 d0 56 fa e6 8c 08 68 6f 77 74 6f 2e | erverSSL-HOWTO.GA.6..V....howto. |
1d00 | 63 61 94 47 41 d7 36 b6 d0 58 5e 69 8c 0b 68 6f 77 74 6f 2e 73 6d 69 6d 65 94 47 41 d7 36 b6 d0 | ca.GA.6..X^i..howto.smime.GA.6.. |
1d20 | 5a fe c5 8c 09 68 6f 77 74 6f 2e 73 73 6c 94 47 41 d7 36 b6 d0 5b eb 75 8c 05 69 6e 64 65 78 94 | Z....howto.ssl.GA.6..[.u..index. |
1d40 | 47 41 d7 36 b6 d0 5c 64 79 8c 0c 4d 32 43 72 79 70 74 6f 2e 53 53 4c 94 47 41 d7 36 b7 0b e3 0c | GA.6..\dy..M2Crypto.SSL.GA.6.... |
1d60 | 33 6a 53 02 00 00 47 41 d7 36 b7 5c e0 f0 f6 75 8c 0c 64 65 70 65 6e 64 65 6e 63 69 65 73 94 68 | 3jS...GA.6.\...u..dependencies.h |
1d80 | 1b 8c 0b 64 65 66 61 75 6c 74 64 69 63 74 94 93 94 8c 08 62 75 69 6c 74 69 6e 73 94 8c 03 73 65 | ...defaultdict.....builtins...se |
1da0 | 74 94 93 94 85 94 52 94 28 8c 09 68 6f 77 74 6f 2e 73 73 6c 94 8f 94 8c 05 69 6e 64 65 78 94 8f | t.....R.(..howto.ssl.....index.. |
1dc0 | 94 8c 0b 68 6f 77 74 6f 2e 73 6d 69 6d 65 94 8f 94 8c 10 5a 53 65 72 76 65 72 53 53 4c 2d 48 4f | ...howto.smime.....ZServerSSL-HO |
1de0 | 57 54 4f 94 8f 94 8c 08 68 6f 77 74 6f 2e 63 61 94 8f 94 6a 5c 02 00 00 8f 94 28 8c 21 2e 2e 2f | WTO.....howto.ca...j\.....(.!../ |
1e00 | 4d 32 43 72 79 70 74 6f 2f 53 53 4c 2f 73 73 6c 5f 64 69 73 70 61 74 63 68 65 72 2e 70 79 94 8c | M2Crypto/SSL/ssl_dispatcher.py.. |
1e20 | 1a 2e 2e 2f 4d 32 43 72 79 70 74 6f 2f 53 53 4c 2f 74 69 6d 65 6f 75 74 2e 70 79 94 8c 1c 2e 2e | .../M2Crypto/SSL/timeout.py..... |
1e40 | 2f 4d 32 43 72 79 70 74 6f 2f 53 53 4c 2f 53 53 4c 53 65 72 76 65 72 2e 70 79 94 8c 15 2e 2e 2f | /M2Crypto/SSL/SSLServer.py...../ |
1e60 | 4d 32 43 72 79 70 74 6f 2f 53 53 4c 2f 63 62 2e 70 79 94 8c 1b 2e 2e 2f 4d 32 43 72 79 70 74 6f | M2Crypto/SSL/cb.py...../M2Crypto |
1e80 | 2f 53 53 4c 2f 5f 5f 69 6e 69 74 5f 5f 2e 70 79 94 8c 19 2e 2e 2f 4d 32 43 72 79 70 74 6f 2f 53 | /SSL/__init__.py...../M2Crypto/S |
1ea0 | 53 4c 2f 43 69 70 68 65 72 2e 70 79 94 8c 1a 2e 2e 2f 4d 32 43 72 79 70 74 6f 2f 53 53 4c 2f 43 | SL/Cipher.py...../M2Crypto/SSL/C |
1ec0 | 6f 6e 74 65 78 74 2e 70 79 94 8c 29 2e 2e 2f 4d 32 43 72 79 70 74 6f 2f 53 53 4c 2f 54 77 69 73 | ontext.py..)../M2Crypto/SSL/Twis |
1ee0 | 74 65 64 50 72 6f 74 6f 63 6f 6c 57 72 61 70 70 65 72 2e 70 79 94 8c 1d 2e 2e 2f 4d 32 43 72 79 | tedProtocolWrapper.py...../M2Cry |
1f00 | 70 74 6f 2f 53 53 4c 2f 43 6f 6e 6e 65 63 74 69 6f 6e 2e 70 79 94 8c 1a 2e 2e 2f 4d 32 43 72 79 | pto/SSL/Connection.py...../M2Cry |
1f20 | 70 74 6f 2f 53 53 4c 2f 43 68 65 63 6b 65 72 2e 70 79 94 8c 1a 2e 2e 2f 4d 32 43 72 79 70 74 6f | pto/SSL/Checker.py...../M2Crypto |
1f40 | 2f 53 53 4c 2f 53 65 73 73 69 6f 6e 2e 70 79 94 90 6a 53 02 00 00 8f 94 28 8c 25 2f 75 73 72 2f | /SSL/Session.py..jS.....(.%/usr/ |
1f60 | 6c 69 62 36 34 2f 70 79 74 68 6f 6e 33 2e 37 2f 78 6d 6c 72 70 63 2f 63 6c 69 65 6e 74 2e 70 79 | lib64/python3.7/xmlrpc/client.py |
1f80 | 94 8c 17 2e 2e 2f 4d 32 43 72 79 70 74 6f 2f 6d 32 63 72 79 70 74 6f 2e 70 79 94 8c 12 2e 2e 2f | ...../M2Crypto/m2crypto.py...../ |
1fa0 | 4d 32 43 72 79 70 74 6f 2f 52 43 34 2e 70 79 94 8c 24 2f 75 73 72 2f 6c 69 62 36 34 2f 70 79 74 | M2Crypto/RC4.py..$/usr/lib64/pyt |
1fc0 | 68 6f 6e 33 2e 37 2f 75 72 6c 6c 69 62 2f 70 61 72 73 65 2e 70 79 94 8c 11 2e 2e 2f 4d 32 43 72 | hon3.7/urllib/parse.py...../M2Cr |
1fe0 | 79 70 74 6f 2f 45 43 2e 70 79 94 8c 13 2e 2e 2f 4d 32 43 72 79 70 74 6f 2f 75 74 69 6c 2e 70 79 | ypto/EC.py...../M2Crypto/util.py |
2000 | 94 8c 12 2e 2e 2f 4d 32 43 72 79 70 74 6f 2f 45 72 72 2e 70 79 94 8c 13 2e 2e 2f 4d 32 43 72 79 | ...../M2Crypto/Err.py...../M2Cry |
2020 | 70 74 6f 2f 41 53 4e 31 2e 70 79 94 8c 18 2e 2e 2f 4d 32 43 72 79 70 74 6f 2f 6d 32 75 72 6c 6c | pto/ASN1.py...../M2Crypto/m2urll |
2040 | 69 62 32 2e 70 79 94 8c 19 2e 2e 2f 4d 32 43 72 79 70 74 6f 2f 41 75 74 68 43 6f 6f 6b 69 65 2e | ib2.py...../M2Crypto/AuthCookie. |
2060 | 70 79 94 8c 14 2e 2e 2f 4d 32 43 72 79 70 74 6f 2f 53 4d 49 4d 45 2e 70 79 94 8c 12 2e 2e 2f 4d | py...../M2Crypto/SMIME.py...../M |
2080 | 32 43 72 79 70 74 6f 2f 45 56 50 2e 70 79 94 8c 27 2f 75 73 72 2f 6c 69 62 36 34 2f 70 79 74 68 | 2Crypto/EVP.py..'/usr/lib64/pyth |
20a0 | 6f 6e 33 2e 37 2f 75 72 6c 6c 69 62 2f 72 65 73 70 6f 6e 73 65 2e 70 79 94 8c 17 2e 2e 2f 4d 32 | on3.7/urllib/response.py...../M2 |
20c0 | 43 72 79 70 74 6f 2f 6d 32 75 72 6c 6c 69 62 2e 70 79 94 8c 15 2e 2e 2f 4d 32 43 72 79 70 74 6f | Crypto/m2urllib.py...../M2Crypto |
20e0 | 2f 45 6e 67 69 6e 65 2e 70 79 94 8c 26 2f 75 73 72 2f 6c 69 62 36 34 2f 70 79 74 68 6f 6e 33 2e | /Engine.py..&/usr/lib64/python3. |
2100 | 37 2f 75 72 6c 6c 69 62 2f 72 65 71 75 65 73 74 2e 70 79 94 8c 1a 2e 2e 2f 4d 32 43 72 79 70 74 | 7/urllib/request.py...../M2Crypt |
2120 | 6f 2f 6d 32 78 6d 6c 72 70 63 6c 69 62 2e 70 79 94 8c 13 2e 2e 2f 4d 32 43 72 79 70 74 6f 2f 58 | o/m2xmlrpclib.py...../M2Crypto/X |
2140 | 35 30 39 2e 70 79 94 8c 17 2e 2e 2f 4d 32 43 72 79 70 74 6f 2f 68 74 74 70 73 6c 69 62 2e 70 79 | 509.py...../M2Crypto/httpslib.py |
2160 | 94 8c 20 2f 75 73 72 2f 6c 69 62 36 34 2f 70 79 74 68 6f 6e 33 2e 37 2f 64 61 74 65 74 69 6d 65 | .../usr/lib64/python3.7/datetime |
2180 | 2e 70 79 94 8c 29 2f 75 73 72 2f 6c 69 62 36 34 2f 70 79 74 68 6f 6e 33 2e 37 2f 64 69 73 74 75 | .py..)/usr/lib64/python3.7/distu |
21a0 | 74 69 6c 73 2f 76 65 72 73 69 6f 6e 2e 70 79 94 8c 17 2e 2e 2f 4d 32 43 72 79 70 74 6f 2f 63 61 | tils/version.py...../M2Crypto/ca |
21c0 | 6c 6c 62 61 63 6b 2e 70 79 94 8c 1e 2f 75 73 72 2f 6c 69 62 36 34 2f 70 79 74 68 6f 6e 33 2e 37 | llback.py.../usr/lib64/python3.7 |
21e0 | 2f 66 74 70 6c 69 62 2e 70 79 94 8c 11 2e 2e 2f 4d 32 43 72 79 70 74 6f 2f 6d 32 2e 70 79 94 8c | /ftplib.py...../M2Crypto/m2.py.. |
2200 | 11 2e 2e 2f 4d 32 43 72 79 70 74 6f 2f 42 4e 2e 70 79 94 8c 11 2e 2e 2f 4d 32 43 72 79 70 74 6f | .../M2Crypto/BN.py...../M2Crypto |
2220 | 2f 44 48 2e 70 79 94 8c 1e 2f 75 73 72 2f 6c 69 62 36 34 2f 70 79 74 68 6f 6e 33 2e 37 2f 73 6f | /DH.py.../usr/lib64/python3.7/so |
2240 | 63 6b 65 74 2e 70 79 94 8c 16 2e 2e 2f 4d 32 43 72 79 70 74 6f 2f 66 74 70 73 6c 69 62 2e 70 79 | cket.py...../M2Crypto/ftpslib.py |
2260 | 94 8c 12 2e 2e 2f 4d 32 43 72 79 70 74 6f 2f 44 53 41 2e 70 79 94 8c 24 2f 75 73 72 2f 6c 69 62 | ...../M2Crypto/DSA.py..$/usr/lib |
2280 | 36 34 2f 70 79 74 68 6f 6e 33 2e 37 2f 68 74 74 70 2f 63 6f 6f 6b 69 65 73 2e 70 79 94 8c 1e 2f | 64/python3.7/http/cookies.py.../ |
22a0 | 75 73 72 2f 6c 69 62 36 34 2f 70 79 74 68 6f 6e 33 2e 37 2f 74 79 70 69 6e 67 2e 70 79 94 8c 12 | usr/lib64/python3.7/typing.py... |
22c0 | 2e 2e 2f 4d 32 43 72 79 70 74 6f 2f 42 49 4f 2e 70 79 94 8c 24 2f 75 73 72 2f 6c 69 62 36 34 2f | ../M2Crypto/BIO.py..$/usr/lib64/ |
22e0 | 70 79 74 68 6f 6e 33 2e 37 2f 75 72 6c 6c 69 62 2f 65 72 72 6f 72 2e 70 79 94 8c 17 2e 2e 2f 4d | python3.7/urllib/error.py...../M |
2300 | 32 43 72 79 70 74 6f 2f 5f 5f 69 6e 69 74 5f 5f 2e 70 79 94 8c 12 2e 2e 2f 4d 32 43 72 79 70 74 | 2Crypto/__init__.py...../M2Crypt |
2320 | 6f 2f 52 53 41 2e 70 79 94 8c 13 2e 2e 2f 4d 32 43 72 79 70 74 6f 2f 52 61 6e 64 2e 70 79 94 8c | o/RSA.py...../M2Crypto/Rand.py.. |
2340 | 23 2f 75 73 72 2f 6c 69 62 36 34 2f 70 79 74 68 6f 6e 33 2e 37 2f 68 74 74 70 2f 63 6c 69 65 6e | #/usr/lib64/python3.7/http/clien |
2360 | 74 2e 70 79 94 8c 18 2e 2e 2f 4d 32 43 72 79 70 74 6f 2f 74 68 72 65 61 64 69 6e 67 2e 70 79 94 | t.py...../M2Crypto/threading.py. |
2380 | 8c 1f 2f 75 73 72 2f 6c 69 62 36 34 2f 70 79 74 68 6f 6e 33 2e 37 2f 64 65 63 69 6d 61 6c 2e 70 | ../usr/lib64/python3.7/decimal.p |
23a0 | 79 94 90 75 8c 08 69 6e 63 6c 75 64 65 64 94 6a 5f 02 00 00 6a 62 02 00 00 85 94 52 94 8c 0d 72 | y..u..included.j_...jb.....R...r |
23c0 | 65 72 65 61 64 5f 61 6c 77 61 79 73 94 8f 94 8c 08 6d 65 74 61 64 61 74 61 94 6a 5f 02 00 00 6a | eread_always.....metadata.j_...j |
23e0 | 60 02 00 00 8c 04 64 69 63 74 94 93 94 85 94 52 94 28 6a 57 02 00 00 7d 94 8c 06 6f 72 70 68 61 | `.....dict.....R.(jW...}...orpha |
2400 | 6e 94 68 27 73 6a 58 02 00 00 7d 94 8c 06 6f 72 70 68 61 6e 94 68 27 73 6a 59 02 00 00 7d 94 8c | n.h'sjX...}...orphan.h'sjY...}.. |
2420 | 06 6f 72 70 68 61 6e 94 68 27 73 6a 5a 02 00 00 7d 94 8c 06 6f 72 70 68 61 6e 94 68 27 73 6a 5b | .orphan.h'sjZ...}...orphan.h'sj[ |
2440 | 02 00 00 7d 94 6a 5c 02 00 00 7d 94 6a 53 02 00 00 7d 94 75 8c 06 74 69 74 6c 65 73 94 7d 94 28 | ...}.j\...}.jS...}.u..titles.}.( |
2460 | 6a 57 02 00 00 8c 0e 64 6f 63 75 74 69 6c 73 2e 6e 6f 64 65 73 94 8c 05 74 69 74 6c 65 94 93 94 | jW.....docutils.nodes...title... |
2480 | 29 81 94 7d 94 28 8c 09 72 61 77 73 6f 75 72 63 65 94 68 27 8c 08 63 68 69 6c 64 72 65 6e 94 5d | )..}.(..rawsource.h'..children.] |
24a0 | 94 28 6a ba 02 00 00 8c 09 67 65 6e 65 72 61 74 65 64 94 93 94 29 81 94 7d 94 28 6a bf 02 00 00 | .(j......generated...)..}.(j.... |
24c0 | 68 27 6a c0 02 00 00 5d 94 6a ba 02 00 00 8c 04 54 65 78 74 94 93 94 8c 08 31 2e c2 a0 c2 a0 c2 | h'j....].j......Text.....1...... |
24e0 | a0 94 85 94 81 94 7d 94 28 6a bf 02 00 00 68 27 8c 06 70 61 72 65 6e 74 94 6a c4 02 00 00 75 62 | ......}.(j....h'..parent.j....ub |
2500 | 61 8c 0a 61 74 74 72 69 62 75 74 65 73 94 7d 94 28 8c 03 69 64 73 94 5d 94 8c 07 63 6c 61 73 73 | a..attributes.}.(..ids.]...class |
2520 | 65 73 94 5d 94 8c 07 73 65 63 74 6e 75 6d 94 61 8c 05 6e 61 6d 65 73 94 5d 94 8c 08 64 75 70 6e | es.]...sectnum.a..names.]...dupn |
2540 | 61 6d 65 73 94 5d 94 8c 08 62 61 63 6b 72 65 66 73 94 5d 94 75 8c 07 74 61 67 6e 61 6d 65 94 8c | ames.]...backrefs.].u..tagname.. |
2560 | 09 67 65 6e 65 72 61 74 65 64 94 8c 06 73 6f 75 72 63 65 94 4e 8c 04 6c 69 6e 65 94 4e 6a cd 02 | .generated...source.N..line.Nj.. |
2580 | 00 00 6a bd 02 00 00 75 62 6a c8 02 00 00 8c 10 5a 53 65 72 76 65 72 53 53 4c 2d 48 4f 57 54 4f | ..j....ubj......ZServerSSL-HOWTO |
25a0 | 94 85 94 81 94 7d 94 28 6a bf 02 00 00 8c 10 5a 53 65 72 76 65 72 53 53 4c 2d 48 4f 57 54 4f 94 | .....}.(j......ZServerSSL-HOWTO. |
25c0 | 6a cd 02 00 00 6a bd 02 00 00 75 62 65 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 | j....j....ubej....}.(j....].j... |
25e0 | 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 75 6a db 02 00 00 8c 05 | .].j....].j....].j....].uj...... |
2600 | 74 69 74 6c 65 94 75 62 6a 58 02 00 00 6a bc 02 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a | title.ubjX...j....)..}.(j....h'j |
2620 | c0 02 00 00 5d 94 6a c8 02 00 00 8c 28 48 4f 57 54 4f 3a 20 43 72 65 61 74 69 6e 67 20 79 6f 75 | ....].j.....(HOWTO:.Creating.you |
2640 | 72 20 6f 77 6e 20 43 41 20 77 69 74 68 20 4f 70 65 6e 53 53 4c 94 85 94 81 94 7d 94 28 6a bf 02 | r.own.CA.with.OpenSSL.....}.(j.. |
2660 | 00 00 8c 28 48 4f 57 54 4f 3a 20 43 72 65 61 74 69 6e 67 20 79 6f 75 72 20 6f 77 6e 20 43 41 20 | ...(HOWTO:.Creating.your.own.CA. |
2680 | 77 69 74 68 20 4f 70 65 6e 53 53 4c 94 6a cd 02 00 00 6a eb 02 00 00 75 62 61 6a ce 02 00 00 7d | with.OpenSSL.j....j....ubaj....} |
26a0 | 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 | .(j....].j....].j....].j....].j. |
26c0 | 02 00 00 5d 94 75 6a db 02 00 00 6a ea 02 00 00 75 62 6a 59 02 00 00 6a bc 02 00 00 29 81 94 7d | ...].uj....j....ubjY...j....)..} |
26e0 | 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a c8 02 00 00 8c 31 48 4f 57 54 4f 3a 20 50 72 | .(j....h'j....].j.....1HOWTO:.Pr |
2700 | 6f 67 72 61 6d 6d 69 6e 67 20 53 2f 4d 49 4d 45 20 69 6e 20 50 79 74 68 6f 6e 20 77 69 74 68 20 | ogramming.S/MIME.in.Python.with. |
2720 | 4d 32 43 72 79 70 74 6f 94 85 94 81 94 7d 94 28 6a bf 02 00 00 8c 31 48 4f 57 54 4f 3a 20 50 72 | M2Crypto.....}.(j.....1HOWTO:.Pr |
2740 | 6f 67 72 61 6d 6d 69 6e 67 20 53 2f 4d 49 4d 45 20 69 6e 20 50 79 74 68 6f 6e 20 77 69 74 68 20 | ogramming.S/MIME.in.Python.with. |
2760 | 4d 32 43 72 79 70 74 6f 94 6a cd 02 00 00 6a f9 02 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a d0 | M2Crypto.j....j....ubaj....}.(j. |
2780 | 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d | ...].j....].j....].j....].j....] |
27a0 | 94 75 6a db 02 00 00 6a ea 02 00 00 75 62 6a 5a 02 00 00 6a bc 02 00 00 29 81 94 7d 94 28 6a bf | .uj....j....ubjZ...j....)..}.(j. |
27c0 | 02 00 00 68 27 6a c0 02 00 00 5d 94 6a c8 02 00 00 8c 2e 48 4f 57 54 4f 3a 20 50 72 6f 67 72 61 | ...h'j....].j......HOWTO:.Progra |
27e0 | 6d 6d 69 6e 67 20 53 53 4c 20 69 6e 20 50 79 74 68 6f 6e 20 77 69 74 68 20 4d 32 43 72 79 70 74 | mming.SSL.in.Python.with.M2Crypt |
2800 | 6f 94 85 94 81 94 7d 94 28 6a bf 02 00 00 8c 2e 48 4f 57 54 4f 3a 20 50 72 6f 67 72 61 6d 6d 69 | o.....}.(j......HOWTO:.Programmi |
2820 | 6e 67 20 53 53 4c 20 69 6e 20 50 79 74 68 6f 6e 20 77 69 74 68 20 4d 32 43 72 79 70 74 6f 94 6a | ng.SSL.in.Python.with.M2Crypto.j |
2840 | cd 02 00 00 6a 07 03 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 | ....j....ubaj....}.(j....].j.... |
2860 | 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 75 6a db 02 00 00 6a ea 02 | ].j....].j....].j....].uj....j.. |
2880 | 00 00 75 62 6a 5b 02 00 00 6a bc 02 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 | ..ubj[...j....)..}.(j....h'j.... |
28a0 | 5d 94 6a c8 02 00 00 8c 26 57 65 6c 63 6f 6d 65 20 74 6f 20 4d 32 43 72 79 70 74 6f e2 80 99 73 | ].j.....&Welcome.to.M2Crypto...s |
28c0 | 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 21 94 85 94 81 94 7d 94 28 6a bf 02 00 00 8c 24 57 65 | .documentation!.....}.(j.....$We |
28e0 | 6c 63 6f 6d 65 20 74 6f 20 4d 32 43 72 79 70 74 6f 27 73 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f | lcome.to.M2Crypto's.documentatio |
2900 | 6e 21 94 6a cd 02 00 00 6a 15 03 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a | n!.j....j....ubaj....}.(j....].j |
2920 | d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 75 6a db 02 00 | ....].j....].j....].j....].uj... |
2940 | 00 6a ea 02 00 00 75 62 6a 5c 02 00 00 6a bc 02 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a | .j....ubj\...j....)..}.(j....h'j |
2960 | c0 02 00 00 5d 94 6a c8 02 00 00 8c 0b 53 53 4c 20 50 61 63 6b 61 67 65 94 85 94 81 94 7d 94 28 | ....].j......SSL.Package.....}.( |
2980 | 6a bf 02 00 00 8c 0b 53 53 4c 20 50 61 63 6b 61 67 65 94 6a cd 02 00 00 6a 23 03 00 00 75 62 61 | j......SSL.Package.j....j#...uba |
29a0 | 6a ce 02 00 00 7d 94 28 8c 03 69 64 73 94 5d 94 8c 07 63 6c 61 73 73 65 73 94 5d 94 8c 05 6e 61 | j....}.(..ids.]...classes.]...na |
29c0 | 6d 65 73 94 5d 94 8c 08 64 75 70 6e 61 6d 65 73 94 5d 94 8c 08 62 61 63 6b 72 65 66 73 94 5d 94 | mes.]...dupnames.]...backrefs.]. |
29e0 | 75 6a db 02 00 00 8c 05 74 69 74 6c 65 94 75 62 6a 53 02 00 00 6a bc 02 00 00 29 81 94 7d 94 28 | uj......title.ubjS...j....)..}.( |
2a00 | 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a c8 02 00 00 8c 10 4d 32 43 72 79 70 74 6f 20 50 61 | j....h'j....].j......M2Crypto.Pa |
2a20 | 63 6b 61 67 65 94 85 94 81 94 7d 94 28 6a bf 02 00 00 8c 10 4d 32 43 72 79 70 74 6f 20 50 61 63 | ckage.....}.(j......M2Crypto.Pac |
2a40 | 6b 61 67 65 94 6a cd 02 00 00 6a 37 03 00 00 75 62 61 6a ce 02 00 00 7d 94 28 8c 03 69 64 73 94 | kage.j....j7...ubaj....}.(..ids. |
2a60 | 5d 94 8c 07 63 6c 61 73 73 65 73 94 5d 94 8c 05 6e 61 6d 65 73 94 5d 94 8c 08 64 75 70 6e 61 6d | ]...classes.]...names.]...dupnam |
2a80 | 65 73 94 5d 94 8c 08 62 61 63 6b 72 65 66 73 94 5d 94 75 6a db 02 00 00 6a bb 02 00 00 75 62 75 | es.]...backrefs.].uj....j....ubu |
2aa0 | 8c 0a 6c 6f 6e 67 74 69 74 6c 65 73 94 7d 94 28 6a 57 02 00 00 6a bd 02 00 00 6a 58 02 00 00 6a | ..longtitles.}.(jW...j....jX...j |
2ac0 | eb 02 00 00 6a 59 02 00 00 6a f9 02 00 00 6a 5a 02 00 00 6a 07 03 00 00 6a 5b 02 00 00 6a 15 03 | ....jY...j....jZ...j....j[...j.. |
2ae0 | 00 00 6a 5c 02 00 00 6a 23 03 00 00 6a 53 02 00 00 6a 37 03 00 00 75 8c 04 74 6f 63 73 94 7d 94 | ..j\...j#...jS...j7...u..tocs.}. |
2b00 | 28 6a 57 02 00 00 6a ba 02 00 00 8c 0b 62 75 6c 6c 65 74 5f 6c 69 73 74 94 93 94 29 81 94 7d 94 | (jW...j......bullet_list...)..}. |
2b20 | 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a ba 02 00 00 8c 09 6c 69 73 74 5f 69 74 65 6d 94 | (j....h'j....].j......list_item. |
2b40 | 93 94 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 28 8c 0f 73 70 68 69 6e 78 2e | ..)..}.(j....h'j....].(..sphinx. |
2b60 | 61 64 64 6e 6f 64 65 73 94 8c 11 63 6f 6d 70 61 63 74 5f 70 61 72 61 67 72 61 70 68 94 93 94 29 | addnodes...compact_paragraph...) |
2b80 | 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a ba 02 00 00 8c 09 72 65 66 65 72 65 | ..}.(j....h'j....].j......refere |
2ba0 | 6e 63 65 94 93 94 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 28 6a c3 02 00 00 | nce...)..}.(j....h'j....].(j.... |
2bc0 | 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a c8 02 00 00 8c 08 31 2e c2 a0 c2 | )..}.(j....h'j....].j......1.... |
2be0 | a0 c2 a0 94 85 94 81 94 7d 94 28 6a bf 02 00 00 68 27 6a cd 02 00 00 6a 63 03 00 00 75 62 61 6a | ........}.(j....h'j....jc...ubaj |
2c00 | ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d4 02 00 00 61 6a d5 02 00 00 | ....}.(j....].j....].j....aj.... |
2c20 | 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 75 6a db 02 00 00 6a dc 02 00 00 6a dd 02 00 00 | ].j....].j....].uj....j....j.... |
2c40 | 4e 6a de 02 00 00 4e 6a cd 02 00 00 6a 60 03 00 00 75 62 6a c8 02 00 00 8c 10 5a 53 65 72 76 65 | Nj....Nj....j`...ubj......ZServe |
2c60 | 72 53 53 4c 2d 48 4f 57 54 4f 94 85 94 81 94 7d 94 28 6a bf 02 00 00 6a e3 02 00 00 6a cd 02 00 | rSSL-HOWTO.....}.(j....j....j... |
2c80 | 00 6a 60 03 00 00 75 62 65 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a | .j`...ubej....}.(j....].j....].j |
2ca0 | d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 8c 08 69 6e 74 65 72 6e 61 6c 94 88 | ....].j....].j....]...internal.. |
2cc0 | 8c 06 72 65 66 75 72 69 94 6a 57 02 00 00 8c 0a 61 6e 63 68 6f 72 6e 61 6d 65 94 68 27 75 6a db | ..refuri.jW.....anchorname.h'uj. |
2ce0 | 02 00 00 8c 09 72 65 66 65 72 65 6e 63 65 94 6a cd 02 00 00 6a 5b 03 00 00 75 62 61 6a ce 02 00 | .....reference.j....j[...ubaj... |
2d00 | 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 | .}.(j....].j....].j....].j....]. |
2d20 | 6a d9 02 00 00 5d 94 75 6a db 02 00 00 8c 11 63 6f 6d 70 61 63 74 5f 70 61 72 61 67 72 61 70 68 | j....].uj......compact_paragraph |
2d40 | 94 6a cd 02 00 00 6a 55 03 00 00 75 62 6a 4f 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a | .j....jU...ubjO...)..}.(j....h'j |
2d60 | c0 02 00 00 5d 94 28 6a 54 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 | ....].(jT...)..}.(j....h'j....]. |
2d80 | 6a 5a 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5f 03 00 00 29 81 | jZ...)..}.(j....h'j....].j_...). |
2da0 | 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 28 6a c3 02 00 00 29 81 94 7d 94 28 6a bf | .}.(j....h'j....].(j....)..}.(j. |
2dc0 | 02 00 00 68 27 6a c0 02 00 00 5d 94 6a c8 02 00 00 8c 0a 31 2e 31 2e c2 a0 c2 a0 c2 a0 94 85 94 | ...h'j....].j......1.1.......... |
2de0 | 81 94 7d 94 28 6a bf 02 00 00 68 27 6a cd 02 00 00 6a 91 03 00 00 75 62 61 6a ce 02 00 00 7d 94 | ..}.(j....h'j....j....ubaj....}. |
2e00 | 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d4 02 00 00 61 6a d5 02 00 00 5d 94 6a d7 02 00 | (j....].j....].j....aj....].j... |
2e20 | 00 5d 94 6a d9 02 00 00 5d 94 75 6a db 02 00 00 6a dc 02 00 00 6a dd 02 00 00 4e 6a de 02 00 00 | .].j....].uj....j....j....Nj.... |
2e40 | 4e 6a cd 02 00 00 6a 8e 03 00 00 75 62 6a c8 02 00 00 8c 0c 49 6e 74 72 6f 64 75 63 74 69 6f 6e | Nj....j....ubj......Introduction |
2e60 | 94 85 94 81 94 7d 94 28 6a bf 02 00 00 8c 0c 49 6e 74 72 6f 64 75 63 74 69 6f 6e 94 6a cd 02 00 | .....}.(j......Introduction.j... |
2e80 | 00 6a 8e 03 00 00 75 62 65 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a | .j....ubej....}.(j....].j....].j |
2ea0 | d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 8c 08 69 6e 74 65 72 6e 61 6c 94 88 | ....].j....].j....]...internal.. |
2ec0 | 8c 06 72 65 66 75 72 69 94 6a 57 02 00 00 8c 0a 61 6e 63 68 6f 72 6e 61 6d 65 94 8c 0d 23 69 6e | ..refuri.jW.....anchorname...#in |
2ee0 | 74 72 6f 64 75 63 74 69 6f 6e 94 75 6a db 02 00 00 6a 7d 03 00 00 6a cd 02 00 00 6a 8b 03 00 00 | troduction.uj....j}...j....j.... |
2f00 | 75 62 61 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 | ubaj....}.(j....].j....].j....]. |
2f20 | 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 75 6a db 02 00 00 6a 84 03 00 00 6a cd 02 00 00 6a 88 | j....].j....].uj....j....j....j. |
2f40 | 03 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 | ...ubaj....}.(j....].j....].j... |
2f60 | 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 75 6a db 02 00 00 8c 09 6c 69 73 74 5f 69 74 | .].j....].j....].uj......list_it |
2f80 | 65 6d 94 6a cd 02 00 00 6a 85 03 00 00 75 62 6a 54 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 | em.j....j....ubjT...)..}.(j....h |
2fa0 | 27 6a c0 02 00 00 5d 94 6a 5a 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d | 'j....].jZ...)..}.(j....h'j....] |
2fc0 | 94 6a 5f 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 28 6a c3 02 00 00 | .j_...)..}.(j....h'j....].(j.... |
2fe0 | 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a c8 02 00 00 8c 0a 31 2e 32 2e c2 | )..}.(j....h'j....].j......1.2.. |
3000 | a0 c2 a0 c2 a0 94 85 94 81 94 7d 94 28 6a bf 02 00 00 68 27 6a cd 02 00 00 6a c3 03 00 00 75 62 | ..........}.(j....h'j....j....ub |
3020 | 61 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d4 02 00 00 61 6a d5 02 | aj....}.(j....].j....].j....aj.. |
3040 | 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 75 6a db 02 00 00 6a dc 02 00 00 6a dd 02 | ..].j....].j....].uj....j....j.. |
3060 | 00 00 4e 6a de 02 00 00 4e 6a cd 02 00 00 6a c0 03 00 00 75 62 6a c8 02 00 00 8c 0b 50 72 65 70 | ..Nj....Nj....j....ubj......Prep |
3080 | 61 72 61 74 69 6f 6e 94 85 94 81 94 7d 94 28 6a bf 02 00 00 8c 0b 50 72 65 70 61 72 61 74 69 6f | aration.....}.(j......Preparatio |
30a0 | 6e 94 6a cd 02 00 00 6a c0 03 00 00 75 62 65 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 | n.j....j....ubej....}.(j....].j. |
30c0 | 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 8c 08 69 6e 74 65 | ...].j....].j....].j....]...inte |
30e0 | 72 6e 61 6c 94 88 8c 06 72 65 66 75 72 69 94 6a 57 02 00 00 8c 0a 61 6e 63 68 6f 72 6e 61 6d 65 | rnal....refuri.jW.....anchorname |
3100 | 94 8c 0c 23 70 72 65 70 61 72 61 74 69 6f 6e 94 75 6a db 02 00 00 6a 7d 03 00 00 6a cd 02 00 00 | ...#preparation.uj....j}...j.... |
3120 | 6a bd 03 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 | j....ubaj....}.(j....].j....].j. |
3140 | 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 75 6a db 02 00 00 6a 84 03 00 00 6a cd | ...].j....].j....].uj....j....j. |
3160 | 02 00 00 6a ba 03 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d | ...j....ubaj....}.(j....].j....] |
3180 | 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 75 6a db 02 00 00 6a b9 03 00 | .j....].j....].j....].uj....j... |
31a0 | 00 6a cd 02 00 00 6a 85 03 00 00 75 62 6a 54 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a | .j....j....ubjT...)..}.(j....h'j |
31c0 | c0 02 00 00 5d 94 6a 5a 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a | ....].jZ...)..}.(j....h'j....].j |
31e0 | 5f 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 28 6a c3 02 00 00 29 81 | _...)..}.(j....h'j....].(j....). |
3200 | 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a c8 02 00 00 8c 0a 31 2e 33 2e c2 a0 c2 | .}.(j....h'j....].j......1.3.... |
3220 | a0 c2 a0 94 85 94 81 94 7d 94 28 6a bf 02 00 00 68 27 6a cd 02 00 00 6a f4 03 00 00 75 62 61 6a | ........}.(j....h'j....j....ubaj |
3240 | ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d4 02 00 00 61 6a d5 02 00 00 | ....}.(j....].j....].j....aj.... |
3260 | 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 75 6a db 02 00 00 6a dc 02 00 00 6a dd 02 00 00 | ].j....].j....].uj....j....j.... |
3280 | 4e 6a de 02 00 00 4e 6a cd 02 00 00 6a f1 03 00 00 75 62 6a c8 02 00 00 8c 0c 49 6e 73 74 61 6c | Nj....Nj....j....ubj......Instal |
32a0 | 6c 61 74 69 6f 6e 94 85 94 81 94 7d 94 28 6a bf 02 00 00 8c 0c 49 6e 73 74 61 6c 6c 61 74 69 6f | lation.....}.(j......Installatio |
32c0 | 6e 94 6a cd 02 00 00 6a f1 03 00 00 75 62 65 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 | n.j....j....ubej....}.(j....].j. |
32e0 | 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 8c 08 69 6e 74 65 | ...].j....].j....].j....]...inte |
3300 | 72 6e 61 6c 94 88 8c 06 72 65 66 75 72 69 94 6a 57 02 00 00 8c 0a 61 6e 63 68 6f 72 6e 61 6d 65 | rnal....refuri.jW.....anchorname |
3320 | 94 8c 0d 23 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 94 75 6a db 02 00 00 6a 7d 03 00 00 6a cd 02 00 | ...#installation.uj....j}...j... |
3340 | 00 6a ee 03 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a | .j....ubaj....}.(j....].j....].j |
3360 | d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 75 6a db 02 00 00 6a 84 03 00 00 6a | ....].j....].j....].uj....j....j |
3380 | cd 02 00 00 6a eb 03 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 | ....j....ubaj....}.(j....].j.... |
33a0 | 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 75 6a db 02 00 00 6a b9 03 | ].j....].j....].j....].uj....j.. |
33c0 | 00 00 6a cd 02 00 00 6a 85 03 00 00 75 62 6a 54 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 | ..j....j....ubjT...)..}.(j....h' |
33e0 | 6a c0 02 00 00 5d 94 6a 5a 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 | j....].jZ...)..}.(j....h'j....]. |
3400 | 6a 5f 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 28 6a c3 02 00 00 29 | j_...)..}.(j....h'j....].(j....) |
3420 | 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a c8 02 00 00 8c 0a 31 2e 34 2e c2 a0 | ..}.(j....h'j....].j......1.4... |
3440 | c2 a0 c2 a0 94 85 94 81 94 7d 94 28 6a bf 02 00 00 68 27 6a cd 02 00 00 6a 25 04 00 00 75 62 61 | .........}.(j....h'j....j%...uba |
3460 | 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d4 02 00 00 61 6a d5 02 00 | j....}.(j....].j....].j....aj... |
3480 | 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 75 6a db 02 00 00 6a dc 02 00 00 6a dd 02 00 | .].j....].j....].uj....j....j... |
34a0 | 00 4e 6a de 02 00 00 4e 6a cd 02 00 00 6a 22 04 00 00 75 62 6a c8 02 00 00 8c 07 54 65 73 74 69 | .Nj....Nj....j"...ubj......Testi |
34c0 | 6e 67 94 85 94 81 94 7d 94 28 6a bf 02 00 00 8c 07 54 65 73 74 69 6e 67 94 6a cd 02 00 00 6a 22 | ng.....}.(j......Testing.j....j" |
34e0 | 04 00 00 75 62 65 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 | ...ubej....}.(j....].j....].j... |
3500 | 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 8c 08 69 6e 74 65 72 6e 61 6c 94 88 8c 06 72 | .].j....].j....]...internal....r |
3520 | 65 66 75 72 69 94 6a 57 02 00 00 8c 0a 61 6e 63 68 6f 72 6e 61 6d 65 94 8c 08 23 74 65 73 74 69 | efuri.jW.....anchorname...#testi |
3540 | 6e 67 94 75 6a db 02 00 00 6a 7d 03 00 00 6a cd 02 00 00 6a 1f 04 00 00 75 62 61 6a ce 02 00 00 | ng.uj....j}...j....j....ubaj.... |
3560 | 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a | }.(j....].j....].j....].j....].j |
3580 | d9 02 00 00 5d 94 75 6a db 02 00 00 6a 84 03 00 00 6a cd 02 00 00 6a 1c 04 00 00 75 62 61 6a ce | ....].uj....j....j....j....ubaj. |
35a0 | 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 | ...}.(j....].j....].j....].j.... |
35c0 | 5d 94 6a d9 02 00 00 5d 94 75 6a db 02 00 00 6a b9 03 00 00 6a cd 02 00 00 6a 85 03 00 00 75 62 | ].j....].uj....j....j....j....ub |
35e0 | 6a 54 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5a 03 00 00 29 81 | jT...)..}.(j....h'j....].jZ...). |
3600 | 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5f 03 00 00 29 81 94 7d 94 28 6a bf 02 | .}.(j....h'j....].j_...)..}.(j.. |
3620 | 00 00 68 27 6a c0 02 00 00 5d 94 28 6a c3 02 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 | ..h'j....].(j....)..}.(j....h'j. |
3640 | 02 00 00 5d 94 6a c8 02 00 00 8c 0a 31 2e 35 2e c2 a0 c2 a0 c2 a0 94 85 94 81 94 7d 94 28 6a bf | ...].j......1.5............}.(j. |
3660 | 02 00 00 68 27 6a cd 02 00 00 6a 56 04 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d | ...h'j....jV...ubaj....}.(j....] |
3680 | 94 6a d2 02 00 00 5d 94 6a d4 02 00 00 61 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 | .j....].j....aj....].j....].j... |
36a0 | 00 5d 94 75 6a db 02 00 00 6a dc 02 00 00 6a dd 02 00 00 4e 6a de 02 00 00 4e 6a cd 02 00 00 6a | .].uj....j....j....Nj....Nj....j |
36c0 | 53 04 00 00 75 62 6a c8 02 00 00 8c 05 48 54 54 50 53 94 85 94 81 94 7d 94 28 6a bf 02 00 00 8c | S...ubj......HTTPS.....}.(j..... |
36e0 | 05 48 54 54 50 53 94 6a cd 02 00 00 6a 53 04 00 00 75 62 65 6a ce 02 00 00 7d 94 28 6a d0 02 00 | .HTTPS.j....jS...ubej....}.(j... |
3700 | 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 8c | .].j....].j....].j....].j....].. |
3720 | 08 69 6e 74 65 72 6e 61 6c 94 88 8c 06 72 65 66 75 72 69 94 6a 57 02 00 00 8c 0a 61 6e 63 68 6f | .internal....refuri.jW.....ancho |
3740 | 72 6e 61 6d 65 94 8c 06 23 68 74 74 70 73 94 75 6a db 02 00 00 6a 7d 03 00 00 6a cd 02 00 00 6a | rname...#https.uj....j}...j....j |
3760 | 50 04 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 | P...ubaj....}.(j....].j....].j.. |
3780 | 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 75 6a db 02 00 00 6a 84 03 00 00 6a cd 02 | ..].j....].j....].uj....j....j.. |
37a0 | 00 00 6a 4d 04 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 | ..jM...ubaj....}.(j....].j....]. |
37c0 | 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 75 6a db 02 00 00 6a b9 03 00 00 | j....].j....].j....].uj....j.... |
37e0 | 6a cd 02 00 00 6a 85 03 00 00 75 62 6a 54 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 | j....j....ubjT...)..}.(j....h'j. |
3800 | 02 00 00 5d 94 6a 5a 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5f | ...].jZ...)..}.(j....h'j....].j_ |
3820 | 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 28 6a c3 02 00 00 29 81 94 | ...)..}.(j....h'j....].(j....).. |
3840 | 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a c8 02 00 00 8c 0a 31 2e 36 2e c2 a0 c2 a0 | }.(j....h'j....].j......1.6..... |
3860 | c2 a0 94 85 94 81 94 7d 94 28 6a bf 02 00 00 68 27 6a cd 02 00 00 6a 87 04 00 00 75 62 61 6a ce | .......}.(j....h'j....j....ubaj. |
3880 | 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d4 02 00 00 61 6a d5 02 00 00 5d | ...}.(j....].j....].j....aj....] |
38a0 | 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 75 6a db 02 00 00 6a dc 02 00 00 6a dd 02 00 00 4e | .j....].j....].uj....j....j....N |
38c0 | 6a de 02 00 00 4e 6a cd 02 00 00 6a 84 04 00 00 75 62 6a c8 02 00 00 8c 11 57 65 62 44 41 56 2d | j....Nj....j....ubj......WebDAV- |
38e0 | 6f 76 65 72 2d 48 54 54 50 53 94 85 94 81 94 7d 94 28 6a bf 02 00 00 8c 11 57 65 62 44 41 56 2d | over-HTTPS.....}.(j......WebDAV- |
3900 | 6f 76 65 72 2d 48 54 54 50 53 94 6a cd 02 00 00 6a 84 04 00 00 75 62 65 6a ce 02 00 00 7d 94 28 | over-HTTPS.j....j....ubej....}.( |
3920 | 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 | j....].j....].j....].j....].j... |
3940 | 00 5d 94 8c 08 69 6e 74 65 72 6e 61 6c 94 88 8c 06 72 65 66 75 72 69 94 6a 57 02 00 00 8c 0a 61 | .]...internal....refuri.jW.....a |
3960 | 6e 63 68 6f 72 6e 61 6d 65 94 8c 12 23 77 65 62 64 61 76 2d 6f 76 65 72 2d 68 74 74 70 73 94 75 | nchorname...#webdav-over-https.u |
3980 | 6a db 02 00 00 6a 7d 03 00 00 6a cd 02 00 00 6a 81 04 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a | j....j}...j....j....ubaj....}.(j |
39a0 | d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 | ....].j....].j....].j....].j.... |
39c0 | 5d 94 75 6a db 02 00 00 6a 84 03 00 00 6a cd 02 00 00 6a 7e 04 00 00 75 62 61 6a ce 02 00 00 7d | ].uj....j....j....j~...ubaj....} |
39e0 | 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 | .(j....].j....].j....].j....].j. |
3a00 | 02 00 00 5d 94 75 6a db 02 00 00 6a b9 03 00 00 6a cd 02 00 00 6a 85 03 00 00 75 62 6a 54 03 00 | ...].uj....j....j....j....ubjT.. |
3a20 | 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5a 03 00 00 29 81 94 7d 94 28 | .)..}.(j....h'j....].jZ...)..}.( |
3a40 | 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5f 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 | j....h'j....].j_...)..}.(j....h' |
3a60 | 6a c0 02 00 00 5d 94 28 6a c3 02 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d | j....].(j....)..}.(j....h'j....] |
3a80 | 94 6a c8 02 00 00 8c 0a 31 2e 37 2e c2 a0 c2 a0 c2 a0 94 85 94 81 94 7d 94 28 6a bf 02 00 00 68 | .j......1.7............}.(j....h |
3aa0 | 27 6a cd 02 00 00 6a b8 04 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 | 'j....j....ubaj....}.(j....].j.. |
3ac0 | 00 00 5d 94 6a d4 02 00 00 61 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 75 | ..].j....aj....].j....].j....].u |
3ae0 | 6a db 02 00 00 6a dc 02 00 00 6a dd 02 00 00 4e 6a de 02 00 00 4e 6a cd 02 00 00 6a b5 04 00 00 | j....j....j....Nj....Nj....j.... |
3b00 | 75 62 6a c8 02 00 00 8c 18 57 65 62 44 41 56 2d 53 6f 75 72 63 65 2d 6f 76 65 72 2d 48 54 54 50 | ubj......WebDAV-Source-over-HTTP |
3b20 | 53 94 85 94 81 94 7d 94 28 6a bf 02 00 00 8c 18 57 65 62 44 41 56 2d 53 6f 75 72 63 65 2d 6f 76 | S.....}.(j......WebDAV-Source-ov |
3b40 | 65 72 2d 48 54 54 50 53 94 6a cd 02 00 00 6a b5 04 00 00 75 62 65 6a ce 02 00 00 7d 94 28 6a d0 | er-HTTPS.j....j....ubej....}.(j. |
3b60 | 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d | ...].j....].j....].j....].j....] |
3b80 | 94 8c 08 69 6e 74 65 72 6e 61 6c 94 88 8c 06 72 65 66 75 72 69 94 6a 57 02 00 00 8c 0a 61 6e 63 | ...internal....refuri.jW.....anc |
3ba0 | 68 6f 72 6e 61 6d 65 94 8c 19 23 77 65 62 64 61 76 2d 73 6f 75 72 63 65 2d 6f 76 65 72 2d 68 74 | horname...#webdav-source-over-ht |
3bc0 | 74 70 73 94 75 6a db 02 00 00 6a 7d 03 00 00 6a cd 02 00 00 6a b2 04 00 00 75 62 61 6a ce 02 00 | tps.uj....j}...j....j....ubaj... |
3be0 | 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 | .}.(j....].j....].j....].j....]. |
3c00 | 6a d9 02 00 00 5d 94 75 6a db 02 00 00 6a 84 03 00 00 6a cd 02 00 00 6a af 04 00 00 75 62 61 6a | j....].uj....j....j....j....ubaj |
3c20 | ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 | ....}.(j....].j....].j....].j... |
3c40 | 00 5d 94 6a d9 02 00 00 5d 94 75 6a db 02 00 00 6a b9 03 00 00 6a cd 02 00 00 6a 85 03 00 00 75 | .].j....].uj....j....j....j....u |
3c60 | 62 6a 54 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5a 03 00 00 29 | bjT...)..}.(j....h'j....].jZ...) |
3c80 | 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5f 03 00 00 29 81 94 7d 94 28 6a bf | ..}.(j....h'j....].j_...)..}.(j. |
3ca0 | 02 00 00 68 27 6a c0 02 00 00 5d 94 28 6a c3 02 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a | ...h'j....].(j....)..}.(j....h'j |
3cc0 | c0 02 00 00 5d 94 6a c8 02 00 00 8c 0a 31 2e 38 2e c2 a0 c2 a0 c2 a0 94 85 94 81 94 7d 94 28 6a | ....].j......1.8............}.(j |
3ce0 | bf 02 00 00 68 27 6a cd 02 00 00 6a e9 04 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 | ....h'j....j....ubaj....}.(j.... |
3d00 | 5d 94 6a d2 02 00 00 5d 94 6a d4 02 00 00 61 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 | ].j....].j....aj....].j....].j.. |
3d20 | 00 00 5d 94 75 6a db 02 00 00 6a dc 02 00 00 6a dd 02 00 00 4e 6a de 02 00 00 4e 6a cd 02 00 00 | ..].uj....j....j....Nj....Nj.... |
3d40 | 6a e6 04 00 00 75 62 6a c8 02 00 00 8c 14 50 79 74 68 6f 6e 20 77 69 74 68 20 4d 32 43 72 79 70 | j....ubj......Python.with.M2Cryp |
3d60 | 74 6f 94 85 94 81 94 7d 94 28 6a bf 02 00 00 8c 14 50 79 74 68 6f 6e 20 77 69 74 68 20 4d 32 43 | to.....}.(j......Python.with.M2C |
3d80 | 72 79 70 74 6f 94 6a cd 02 00 00 6a e6 04 00 00 75 62 65 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 | rypto.j....j....ubej....}.(j.... |
3da0 | 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 8c 08 | ].j....].j....].j....].j....]... |
3dc0 | 69 6e 74 65 72 6e 61 6c 94 88 8c 06 72 65 66 75 72 69 94 6a 57 02 00 00 8c 0a 61 6e 63 68 6f 72 | internal....refuri.jW.....anchor |
3de0 | 6e 61 6d 65 94 8c 15 23 70 79 74 68 6f 6e 2d 77 69 74 68 2d 6d 32 63 72 79 70 74 6f 94 75 6a db | name...#python-with-m2crypto.uj. |
3e00 | 02 00 00 6a 7d 03 00 00 6a cd 02 00 00 6a e3 04 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a d0 02 | ...j}...j....j....ubaj....}.(j.. |
3e20 | 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 | ..].j....].j....].j....].j....]. |
3e40 | 75 6a db 02 00 00 6a 84 03 00 00 6a cd 02 00 00 6a e0 04 00 00 75 62 61 6a ce 02 00 00 7d 94 28 | uj....j....j....j....ubaj....}.( |
3e60 | 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 | j....].j....].j....].j....].j... |
3e80 | 00 5d 94 75 6a db 02 00 00 6a b9 03 00 00 6a cd 02 00 00 6a 85 03 00 00 75 62 6a 54 03 00 00 29 | .].uj....j....j....j....ubjT...) |
3ea0 | 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5a 03 00 00 29 81 94 7d 94 28 6a bf | ..}.(j....h'j....].jZ...)..}.(j. |
3ec0 | 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5f 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 | ...h'j....].j_...)..}.(j....h'j. |
3ee0 | 02 00 00 5d 94 28 6a c3 02 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a | ...].(j....)..}.(j....h'j....].j |
3f00 | c8 02 00 00 8c 0a 31 2e 39 2e c2 a0 c2 a0 c2 a0 94 85 94 81 94 7d 94 28 6a bf 02 00 00 68 27 6a | ......1.9............}.(j....h'j |
3f20 | cd 02 00 00 6a 1a 05 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 | ....j....ubaj....}.(j....].j.... |
3f40 | 5d 94 6a d4 02 00 00 61 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 75 6a db | ].j....aj....].j....].j....].uj. |
3f60 | 02 00 00 6a dc 02 00 00 6a dd 02 00 00 4e 6a de 02 00 00 4e 6a cd 02 00 00 6a 17 05 00 00 75 62 | ...j....j....Nj....Nj....j....ub |
3f80 | 6a c8 02 00 00 8c 05 48 54 54 50 53 94 85 94 81 94 7d 94 28 6a bf 02 00 00 8c 05 48 54 54 50 53 | j......HTTPS.....}.(j......HTTPS |
3fa0 | 94 6a cd 02 00 00 6a 17 05 00 00 75 62 65 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 | .j....j....ubej....}.(j....].j.. |
3fc0 | 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 8c 08 69 6e 74 65 72 | ..].j....].j....].j....]...inter |
3fe0 | 6e 61 6c 94 88 8c 06 72 65 66 75 72 69 94 6a 57 02 00 00 8c 0a 61 6e 63 68 6f 72 6e 61 6d 65 94 | nal....refuri.jW.....anchorname. |
4000 | 8c 04 23 69 64 32 94 75 6a db 02 00 00 6a 7d 03 00 00 6a cd 02 00 00 6a 14 05 00 00 75 62 61 6a | ..#id2.uj....j}...j....j....ubaj |
4020 | ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 | ....}.(j....].j....].j....].j... |
4040 | 00 5d 94 6a d9 02 00 00 5d 94 75 6a db 02 00 00 6a 84 03 00 00 6a cd 02 00 00 6a 11 05 00 00 75 | .].j....].uj....j....j....j....u |
4060 | 62 61 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a | baj....}.(j....].j....].j....].j |
4080 | d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 75 6a db 02 00 00 6a b9 03 00 00 6a cd 02 00 00 6a 85 03 | ....].j....].uj....j....j....j.. |
40a0 | 00 00 75 62 6a 54 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5a 03 | ..ubjT...)..}.(j....h'j....].jZ. |
40c0 | 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5f 03 00 00 29 81 94 7d 94 | ..)..}.(j....h'j....].j_...)..}. |
40e0 | 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 28 6a c3 02 00 00 29 81 94 7d 94 28 6a bf 02 00 00 | (j....h'j....].(j....)..}.(j.... |
4100 | 68 27 6a c0 02 00 00 5d 94 6a c8 02 00 00 8c 0b 31 2e 31 30 2e c2 a0 c2 a0 c2 a0 94 85 94 81 94 | h'j....].j......1.10............ |
4120 | 7d 94 28 6a bf 02 00 00 68 27 6a cd 02 00 00 6a 4b 05 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a | }.(j....h'j....jK...ubaj....}.(j |
4140 | d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d4 02 00 00 61 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d | ....].j....].j....aj....].j....] |
4160 | 94 6a d9 02 00 00 5d 94 75 6a db 02 00 00 6a dc 02 00 00 6a dd 02 00 00 4e 6a de 02 00 00 4e 6a | .j....].uj....j....j....Nj....Nj |
4180 | cd 02 00 00 6a 48 05 00 00 75 62 6a c8 02 00 00 8c 11 58 4d 4c 52 50 43 2d 6f 76 65 72 2d 48 54 | ....jH...ubj......XMLRPC-over-HT |
41a0 | 54 50 53 94 85 94 81 94 7d 94 28 6a bf 02 00 00 8c 11 58 4d 4c 52 50 43 2d 6f 76 65 72 2d 48 54 | TPS.....}.(j......XMLRPC-over-HT |
41c0 | 54 50 53 94 6a cd 02 00 00 6a 48 05 00 00 75 62 65 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 | TPS.j....jH...ubej....}.(j....]. |
41e0 | 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 8c 08 69 6e | j....].j....].j....].j....]...in |
4200 | 74 65 72 6e 61 6c 94 88 8c 06 72 65 66 75 72 69 94 6a 57 02 00 00 8c 0a 61 6e 63 68 6f 72 6e 61 | ternal....refuri.jW.....anchorna |
4220 | 6d 65 94 8c 12 23 78 6d 6c 72 70 63 2d 6f 76 65 72 2d 68 74 74 70 73 94 75 6a db 02 00 00 6a 7d | me...#xmlrpc-over-https.uj....j} |
4240 | 03 00 00 6a cd 02 00 00 6a 45 05 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a | ...j....jE...ubaj....}.(j....].j |
4260 | d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 75 6a db 02 00 | ....].j....].j....].j....].uj... |
4280 | 00 6a 84 03 00 00 6a cd 02 00 00 6a 42 05 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 | .j....j....jB...ubaj....}.(j.... |
42a0 | 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 75 6a | ].j....].j....].j....].j....].uj |
42c0 | db 02 00 00 6a b9 03 00 00 6a cd 02 00 00 6a 85 03 00 00 75 62 6a 54 03 00 00 29 81 94 7d 94 28 | ....j....j....j....ubjT...)..}.( |
42e0 | 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5a 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 | j....h'j....].jZ...)..}.(j....h' |
4300 | 6a c0 02 00 00 5d 94 6a 5f 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 | j....].j_...)..}.(j....h'j....]. |
4320 | 28 6a c3 02 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a c8 02 00 00 8c | (j....)..}.(j....h'j....].j..... |
4340 | 0b 31 2e 31 31 2e c2 a0 c2 a0 c2 a0 94 85 94 81 94 7d 94 28 6a bf 02 00 00 68 27 6a cd 02 00 00 | .1.11............}.(j....h'j.... |
4360 | 6a 7c 05 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d4 | j|...ubaj....}.(j....].j....].j. |
4380 | 02 00 00 61 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 75 6a db 02 00 00 6a | ...aj....].j....].j....].uj....j |
43a0 | dc 02 00 00 6a dd 02 00 00 4e 6a de 02 00 00 4e 6a cd 02 00 00 6a 79 05 00 00 75 62 6a c8 02 00 | ....j....Nj....Nj....jy...ubj... |
43c0 | 00 8c 0a 43 6f 6e 63 6c 75 73 69 6f 6e 94 85 94 81 94 7d 94 28 6a bf 02 00 00 8c 0a 43 6f 6e 63 | ...Conclusion.....}.(j......Conc |
43e0 | 6c 75 73 69 6f 6e 94 6a cd 02 00 00 6a 79 05 00 00 75 62 65 6a ce 02 00 00 7d 94 28 6a d0 02 00 | lusion.j....jy...ubej....}.(j... |
4400 | 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 8c | .].j....].j....].j....].j....].. |
4420 | 08 69 6e 74 65 72 6e 61 6c 94 88 8c 06 72 65 66 75 72 69 94 6a 57 02 00 00 8c 0a 61 6e 63 68 6f | .internal....refuri.jW.....ancho |
4440 | 72 6e 61 6d 65 94 8c 0b 23 63 6f 6e 63 6c 75 73 69 6f 6e 94 75 6a db 02 00 00 6a 7d 03 00 00 6a | rname...#conclusion.uj....j}...j |
4460 | cd 02 00 00 6a 76 05 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 | ....jv...ubaj....}.(j....].j.... |
4480 | 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 75 6a db 02 00 00 6a 84 03 | ].j....].j....].j....].uj....j.. |
44a0 | 00 00 6a cd 02 00 00 6a 73 05 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 | ..j....js...ubaj....}.(j....].j. |
44c0 | 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 75 6a db 02 00 00 | ...].j....].j....].j....].uj.... |
44e0 | 6a b9 03 00 00 6a cd 02 00 00 6a 85 03 00 00 75 62 65 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d | j....j....j....ubej....}.(j....] |
4500 | 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 75 6a db | .j....].j....].j....].j....].uj. |
4520 | 02 00 00 8c 0b 62 75 6c 6c 65 74 5f 6c 69 73 74 94 6a cd 02 00 00 6a 55 03 00 00 75 62 65 6a ce | .....bullet_list.j....jU...ubej. |
4540 | 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 | ...}.(j....].j....].j....].j.... |
4560 | 5d 94 6a d9 02 00 00 5d 94 75 6a db 02 00 00 6a b9 03 00 00 6a cd 02 00 00 6a 50 03 00 00 75 62 | ].j....].uj....j....j....jP...ub |
4580 | 61 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 | aj....}.(j....].j....].j....].j. |
45a0 | 02 00 00 5d 94 6a d9 02 00 00 5d 94 75 6a db 02 00 00 6a aa 05 00 00 75 62 6a 58 02 00 00 6a 4f | ...].j....].uj....j....ubjX...jO |
45c0 | 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 54 03 00 00 29 81 94 7d | ...)..}.(j....h'j....].jT...)..} |
45e0 | 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 28 6a 5a 03 00 00 29 81 94 7d 94 28 6a bf 02 00 | .(j....h'j....].(jZ...)..}.(j... |
4600 | 00 68 27 6a c0 02 00 00 5d 94 6a 5f 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 | .h'j....].j_...)..}.(j....h'j... |
4620 | 00 5d 94 6a c8 02 00 00 8c 28 48 4f 57 54 4f 3a 20 43 72 65 61 74 69 6e 67 20 79 6f 75 72 20 6f | .].j.....(HOWTO:.Creating.your.o |
4640 | 77 6e 20 43 41 20 77 69 74 68 20 4f 70 65 6e 53 53 4c 94 85 94 81 94 7d 94 28 6a bf 02 00 00 6a | wn.CA.with.OpenSSL.....}.(j....j |
4660 | f2 02 00 00 6a cd 02 00 00 6a c0 05 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 | ....j....j....ubaj....}.(j....]. |
4680 | 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 8c 08 69 6e | j....].j....].j....].j....]...in |
46a0 | 74 65 72 6e 61 6c 94 88 8c 06 72 65 66 75 72 69 94 6a 58 02 00 00 8c 0a 61 6e 63 68 6f 72 6e 61 | ternal....refuri.jX.....anchorna |
46c0 | 6d 65 94 68 27 75 6a db 02 00 00 6a 7d 03 00 00 6a cd 02 00 00 6a bd 05 00 00 75 62 61 6a ce 02 | me.h'uj....j}...j....j....ubaj.. |
46e0 | 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d | ..}.(j....].j....].j....].j....] |
4700 | 94 6a d9 02 00 00 5d 94 75 6a db 02 00 00 6a 84 03 00 00 6a cd 02 00 00 6a ba 05 00 00 75 62 6a | .j....].uj....j....j....j....ubj |
4720 | 4f 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 28 6a 54 03 00 00 29 81 | O...)..}.(j....h'j....].(jT...). |
4740 | 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5a 03 00 00 29 81 94 7d 94 28 6a bf 02 | .}.(j....h'j....].jZ...)..}.(j.. |
4760 | 00 00 68 27 6a c0 02 00 00 5d 94 6a 5f 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 | ..h'j....].j_...)..}.(j....h'j.. |
4780 | 00 00 5d 94 6a c8 02 00 00 8c 0c 49 6e 74 72 6f 64 75 63 74 69 6f 6e 94 85 94 81 94 7d 94 28 6a | ..].j......Introduction.....}.(j |
47a0 | bf 02 00 00 8c 0c 49 6e 74 72 6f 64 75 63 74 69 6f 6e 94 6a cd 02 00 00 6a df 05 00 00 75 62 61 | ......Introduction.j....j....uba |
47c0 | 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 | j....}.(j....].j....].j....].j.. |
47e0 | 00 00 5d 94 6a d9 02 00 00 5d 94 8c 08 69 6e 74 65 72 6e 61 6c 94 88 8c 06 72 65 66 75 72 69 94 | ..].j....]...internal....refuri. |
4800 | 6a 58 02 00 00 8c 0a 61 6e 63 68 6f 72 6e 61 6d 65 94 8c 0d 23 69 6e 74 72 6f 64 75 63 74 69 6f | jX.....anchorname...#introductio |
4820 | 6e 94 75 6a db 02 00 00 6a 7d 03 00 00 6a cd 02 00 00 6a dc 05 00 00 75 62 61 6a ce 02 00 00 7d | n.uj....j}...j....j....ubaj....} |
4840 | 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 | .(j....].j....].j....].j....].j. |
4860 | 02 00 00 5d 94 75 6a db 02 00 00 6a 84 03 00 00 6a cd 02 00 00 6a d9 05 00 00 75 62 61 6a ce 02 | ...].uj....j....j....j....ubaj.. |
4880 | 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d | ..}.(j....].j....].j....].j....] |
48a0 | 94 6a d9 02 00 00 5d 94 75 6a db 02 00 00 6a b9 03 00 00 6a cd 02 00 00 6a d6 05 00 00 75 62 6a | .j....].uj....j....j....j....ubj |
48c0 | 54 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5a 03 00 00 29 81 94 | T...)..}.(j....h'j....].jZ...).. |
48e0 | 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5f 03 00 00 29 81 94 7d 94 28 6a bf 02 00 | }.(j....h'j....].j_...)..}.(j... |
4900 | 00 68 27 6a c0 02 00 00 5d 94 6a c8 02 00 00 8c 0d 54 68 65 20 50 72 6f 63 65 64 75 72 65 94 85 | .h'j....].j......The.Procedure.. |
4920 | 94 81 94 7d 94 28 6a bf 02 00 00 8c 0d 54 68 65 20 50 72 6f 63 65 64 75 72 65 94 6a cd 02 00 00 | ...}.(j......The.Procedure.j.... |
4940 | 6a 03 06 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 | j....ubaj....}.(j....].j....].j. |
4960 | 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 8c 08 69 6e 74 65 72 6e 61 6c 94 88 8c | ...].j....].j....]...internal... |
4980 | 06 72 65 66 75 72 69 94 6a 58 02 00 00 8c 0a 61 6e 63 68 6f 72 6e 61 6d 65 94 8c 0e 23 74 68 65 | .refuri.jX.....anchorname...#the |
49a0 | 2d 70 72 6f 63 65 64 75 72 65 94 75 6a db 02 00 00 6a 7d 03 00 00 6a cd 02 00 00 6a 00 06 00 00 | -procedure.uj....j}...j....j.... |
49c0 | 75 62 61 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 | ubaj....}.(j....].j....].j....]. |
49e0 | 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 75 6a db 02 00 00 6a 84 03 00 00 6a cd 02 00 00 6a fd | j....].j....].uj....j....j....j. |
4a00 | 05 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 | ...ubaj....}.(j....].j....].j... |
4a20 | 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 75 6a db 02 00 00 6a b9 03 00 00 6a cd 02 00 | .].j....].j....].uj....j....j... |
4a40 | 00 6a d6 05 00 00 75 62 6a 54 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d | .j....ubjT...)..}.(j....h'j....] |
4a60 | 94 6a 5a 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5f 03 00 00 29 | .jZ...)..}.(j....h'j....].j_...) |
4a80 | 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a c8 02 00 00 8c 0a 43 6f 6e 63 6c 75 | ..}.(j....h'j....].j......Conclu |
4aa0 | 73 69 6f 6e 94 85 94 81 94 7d 94 28 6a bf 02 00 00 8c 0a 43 6f 6e 63 6c 75 73 69 6f 6e 94 6a cd | sion.....}.(j......Conclusion.j. |
4ac0 | 02 00 00 6a 27 06 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d | ...j'...ubaj....}.(j....].j....] |
4ae0 | 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 8c 08 69 6e 74 65 72 6e 61 6c | .j....].j....].j....]...internal |
4b00 | 94 88 8c 06 72 65 66 75 72 69 94 6a 58 02 00 00 8c 0a 61 6e 63 68 6f 72 6e 61 6d 65 94 8c 0b 23 | ....refuri.jX.....anchorname...# |
4b20 | 63 6f 6e 63 6c 75 73 69 6f 6e 94 75 6a db 02 00 00 6a 7d 03 00 00 6a cd 02 00 00 6a 24 06 00 00 | conclusion.uj....j}...j....j$... |
4b40 | 75 62 61 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 | ubaj....}.(j....].j....].j....]. |
4b60 | 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 75 6a db 02 00 00 6a 84 03 00 00 6a cd 02 00 00 6a 21 | j....].j....].uj....j....j....j! |
4b80 | 06 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 | ...ubaj....}.(j....].j....].j... |
4ba0 | 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 75 6a db 02 00 00 6a b9 03 00 00 6a cd 02 00 | .].j....].j....].uj....j....j... |
4bc0 | 00 6a d6 05 00 00 75 62 65 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a | .j....ubej....}.(j....].j....].j |
4be0 | d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 75 6a db 02 00 00 6a aa 05 00 00 6a | ....].j....].j....].uj....j....j |
4c00 | cd 02 00 00 6a ba 05 00 00 75 62 65 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 | ....j....ubej....}.(j....].j.... |
4c20 | 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 75 6a db 02 00 00 6a b9 03 | ].j....].j....].j....].uj....j.. |
4c40 | 00 00 6a cd 02 00 00 6a b7 05 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 | ..j....j....ubaj....}.(j....].j. |
4c60 | 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 75 6a db 02 00 00 | ...].j....].j....].j....].uj.... |
4c80 | 6a aa 05 00 00 75 62 6a 59 02 00 00 6a 4f 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 | j....ubjY...jO...)..}.(j....h'j. |
4ca0 | 02 00 00 5d 94 28 6a 54 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a | ...].(jT...)..}.(j....h'j....].j |
4cc0 | 5a 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5f 03 00 00 29 81 94 | Z...)..}.(j....h'j....].j_...).. |
4ce0 | 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a c8 02 00 00 8c 31 48 4f 57 54 4f 3a 20 50 | }.(j....h'j....].j.....1HOWTO:.P |
4d00 | 72 6f 67 72 61 6d 6d 69 6e 67 20 53 2f 4d 49 4d 45 20 69 6e 20 50 79 74 68 6f 6e 20 77 69 74 68 | rogramming.S/MIME.in.Python.with |
4d20 | 20 4d 32 43 72 79 70 74 6f 94 85 94 81 94 7d 94 28 6a bf 02 00 00 6a 00 03 00 00 6a cd 02 00 00 | .M2Crypto.....}.(j....j....j.... |
4d40 | 6a 60 06 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 | j`...ubaj....}.(j....].j....].j. |
4d60 | 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 8c 08 69 6e 74 65 72 6e 61 6c 94 88 8c | ...].j....].j....]...internal... |
4d80 | 06 72 65 66 75 72 69 94 6a 59 02 00 00 8c 0a 61 6e 63 68 6f 72 6e 61 6d 65 94 68 27 75 6a db 02 | .refuri.jY.....anchorname.h'uj.. |
4da0 | 00 00 6a 7d 03 00 00 6a cd 02 00 00 6a 5d 06 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a d0 02 00 | ..j}...j....j]...ubaj....}.(j... |
4dc0 | 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 75 | .].j....].j....].j....].j....].u |
4de0 | 6a db 02 00 00 6a 84 03 00 00 6a cd 02 00 00 6a 5a 06 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a | j....j....j....jZ...ubaj....}.(j |
4e00 | d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 | ....].j....].j....].j....].j.... |
4e20 | 5d 94 75 6a db 02 00 00 6a b9 03 00 00 6a cd 02 00 00 6a 57 06 00 00 75 62 6a 54 03 00 00 29 81 | ].uj....j....j....jW...ubjT...). |
4e40 | 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5a 03 00 00 29 81 94 7d 94 28 6a bf 02 | .}.(j....h'j....].jZ...)..}.(j.. |
4e60 | 00 00 68 27 6a c0 02 00 00 5d 94 6a 5f 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 | ..h'j....].j_...)..}.(j....h'j.. |
4e80 | 00 00 5d 94 6a c8 02 00 00 8c 0c 49 6e 74 72 6f 64 75 63 74 69 6f 6e 94 85 94 81 94 7d 94 28 6a | ..].j......Introduction.....}.(j |
4ea0 | bf 02 00 00 8c 0c 49 6e 74 72 6f 64 75 63 74 69 6f 6e 94 6a cd 02 00 00 6a 82 06 00 00 75 62 61 | ......Introduction.j....j....uba |
4ec0 | 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 | j....}.(j....].j....].j....].j.. |
4ee0 | 00 00 5d 94 6a d9 02 00 00 5d 94 8c 08 69 6e 74 65 72 6e 61 6c 94 88 8c 06 72 65 66 75 72 69 94 | ..].j....]...internal....refuri. |
4f00 | 6a 59 02 00 00 8c 0a 61 6e 63 68 6f 72 6e 61 6d 65 94 8c 0d 23 69 6e 74 72 6f 64 75 63 74 69 6f | jY.....anchorname...#introductio |
4f20 | 6e 94 75 6a db 02 00 00 6a 7d 03 00 00 6a cd 02 00 00 6a 7f 06 00 00 75 62 61 6a ce 02 00 00 7d | n.uj....j}...j....j....ubaj....} |
4f40 | 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 | .(j....].j....].j....].j....].j. |
4f60 | 02 00 00 5d 94 75 6a db 02 00 00 6a 84 03 00 00 6a cd 02 00 00 6a 7c 06 00 00 75 62 61 6a ce 02 | ...].uj....j....j....j|...ubaj.. |
4f80 | 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d | ..}.(j....].j....].j....].j....] |
4fa0 | 94 6a d9 02 00 00 5d 94 75 6a db 02 00 00 6a b9 03 00 00 6a cd 02 00 00 6a 57 06 00 00 75 62 6a | .j....].uj....j....j....jW...ubj |
4fc0 | 54 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5a 03 00 00 29 81 94 | T...)..}.(j....h'j....].jZ...).. |
4fe0 | 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5f 03 00 00 29 81 94 7d 94 28 6a bf 02 00 | }.(j....h'j....].j_...)..}.(j... |
5000 | 00 68 27 6a c0 02 00 00 5d 94 6a c8 02 00 00 8c 06 53 2f 4d 49 4d 45 94 85 94 81 94 7d 94 28 6a | .h'j....].j......S/MIME.....}.(j |
5020 | bf 02 00 00 8c 06 53 2f 4d 49 4d 45 94 6a cd 02 00 00 6a a6 06 00 00 75 62 61 6a ce 02 00 00 7d | ......S/MIME.j....j....ubaj....} |
5040 | 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 | .(j....].j....].j....].j....].j. |
5060 | 02 00 00 5d 94 8c 08 69 6e 74 65 72 6e 61 6c 94 88 8c 06 72 65 66 75 72 69 94 6a 59 02 00 00 8c | ...]...internal....refuri.jY.... |
5080 | 0a 61 6e 63 68 6f 72 6e 61 6d 65 94 8c 07 23 73 2d 6d 69 6d 65 94 75 6a db 02 00 00 6a 7d 03 00 | .anchorname...#s-mime.uj....j}.. |
50a0 | 00 6a cd 02 00 00 6a a3 06 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 | .j....j....ubaj....}.(j....].j.. |
50c0 | 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 75 6a db 02 00 00 6a | ..].j....].j....].j....].uj....j |
50e0 | 84 03 00 00 6a cd 02 00 00 6a a0 06 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 | ....j....j....ubaj....}.(j....]. |
5100 | 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 75 6a db 02 | j....].j....].j....].j....].uj.. |
5120 | 00 00 6a b9 03 00 00 6a cd 02 00 00 6a 57 06 00 00 75 62 6a 54 03 00 00 29 81 94 7d 94 28 6a bf | ..j....j....jW...ubjT...)..}.(j. |
5140 | 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5a 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 | ...h'j....].jZ...)..}.(j....h'j. |
5160 | 02 00 00 5d 94 6a 5f 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a c8 | ...].j_...)..}.(j....h'j....].j. |
5180 | 02 00 00 8c 15 4b 65 79 73 20 61 6e 64 20 43 65 72 74 69 66 69 63 61 74 65 73 94 85 94 81 94 7d | .....Keys.and.Certificates.....} |
51a0 | 94 28 6a bf 02 00 00 8c 15 4b 65 79 73 20 61 6e 64 20 43 65 72 74 69 66 69 63 61 74 65 73 94 6a | .(j......Keys.and.Certificates.j |
51c0 | cd 02 00 00 6a ca 06 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 | ....j....ubaj....}.(j....].j.... |
51e0 | 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 8c 08 69 6e 74 65 72 6e 61 | ].j....].j....].j....]...interna |
5200 | 6c 94 88 8c 06 72 65 66 75 72 69 94 6a 59 02 00 00 8c 0a 61 6e 63 68 6f 72 6e 61 6d 65 94 8c 16 | l....refuri.jY.....anchorname... |
5220 | 23 6b 65 79 73 2d 61 6e 64 2d 63 65 72 74 69 66 69 63 61 74 65 73 94 75 6a db 02 00 00 6a 7d 03 | #keys-and-certificates.uj....j}. |
5240 | 00 00 6a cd 02 00 00 6a c7 06 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 | ..j....j....ubaj....}.(j....].j. |
5260 | 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 75 6a db 02 00 00 | ...].j....].j....].j....].uj.... |
5280 | 6a 84 03 00 00 6a cd 02 00 00 6a c4 06 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d | j....j....j....ubaj....}.(j....] |
52a0 | 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 75 6a db | .j....].j....].j....].j....].uj. |
52c0 | 02 00 00 6a b9 03 00 00 6a cd 02 00 00 6a 57 06 00 00 75 62 6a 54 03 00 00 29 81 94 7d 94 28 6a | ...j....j....jW...ubjT...)..}.(j |
52e0 | bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5a 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a | ....h'j....].jZ...)..}.(j....h'j |
5300 | c0 02 00 00 5d 94 6a 5f 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a | ....].j_...)..}.(j....h'j....].j |
5320 | c8 02 00 00 8c 0e 4d 32 43 72 79 70 74 6f 2e 53 4d 49 4d 45 94 85 94 81 94 7d 94 28 6a bf 02 00 | ......M2Crypto.SMIME.....}.(j... |
5340 | 00 8c 0e 4d 32 43 72 79 70 74 6f 2e 53 4d 49 4d 45 94 6a cd 02 00 00 6a ee 06 00 00 75 62 61 6a | ...M2Crypto.SMIME.j....j....ubaj |
5360 | ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 | ....}.(j....].j....].j....].j... |
5380 | 00 5d 94 6a d9 02 00 00 5d 94 8c 08 69 6e 74 65 72 6e 61 6c 94 88 8c 06 72 65 66 75 72 69 94 6a | .].j....]...internal....refuri.j |
53a0 | 59 02 00 00 8c 0a 61 6e 63 68 6f 72 6e 61 6d 65 94 8c 0f 23 6d 32 63 72 79 70 74 6f 2d 73 6d 69 | Y.....anchorname...#m2crypto-smi |
53c0 | 6d 65 94 75 6a db 02 00 00 6a 7d 03 00 00 6a cd 02 00 00 6a eb 06 00 00 75 62 61 6a ce 02 00 00 | me.uj....j}...j....j....ubaj.... |
53e0 | 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a | }.(j....].j....].j....].j....].j |
5400 | d9 02 00 00 5d 94 75 6a db 02 00 00 6a 84 03 00 00 6a cd 02 00 00 6a e8 06 00 00 75 62 61 6a ce | ....].uj....j....j....j....ubaj. |
5420 | 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 | ...}.(j....].j....].j....].j.... |
5440 | 5d 94 6a d9 02 00 00 5d 94 75 6a db 02 00 00 6a b9 03 00 00 6a cd 02 00 00 6a 57 06 00 00 75 62 | ].j....].uj....j....j....jW...ub |
5460 | 6a 54 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5a 03 00 00 29 81 | jT...)..}.(j....h'j....].jZ...). |
5480 | 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5f 03 00 00 29 81 94 7d 94 28 6a bf 02 | .}.(j....h'j....].j_...)..}.(j.. |
54a0 | 00 00 68 27 6a c0 02 00 00 5d 94 6a c8 02 00 00 8c 04 53 69 67 6e 94 85 94 81 94 7d 94 28 6a bf | ..h'j....].j......Sign.....}.(j. |
54c0 | 02 00 00 8c 04 53 69 67 6e 94 6a cd 02 00 00 6a 12 07 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a | .....Sign.j....j....ubaj....}.(j |
54e0 | d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 | ....].j....].j....].j....].j.... |
5500 | 5d 94 8c 08 69 6e 74 65 72 6e 61 6c 94 88 8c 06 72 65 66 75 72 69 94 6a 59 02 00 00 8c 0a 61 6e | ]...internal....refuri.jY.....an |
5520 | 63 68 6f 72 6e 61 6d 65 94 8c 05 23 73 69 67 6e 94 75 6a db 02 00 00 6a 7d 03 00 00 6a cd 02 00 | chorname...#sign.uj....j}...j... |
5540 | 00 6a 0f 07 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a | .j....ubaj....}.(j....].j....].j |
5560 | d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 75 6a db 02 00 00 6a 84 03 00 00 6a | ....].j....].j....].uj....j....j |
5580 | cd 02 00 00 6a 0c 07 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 | ....j....ubaj....}.(j....].j.... |
55a0 | 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 75 6a db 02 00 00 6a b9 03 | ].j....].j....].j....].uj....j.. |
55c0 | 00 00 6a cd 02 00 00 6a 57 06 00 00 75 62 6a 54 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 | ..j....jW...ubjT...)..}.(j....h' |
55e0 | 6a c0 02 00 00 5d 94 6a 5a 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 | j....].jZ...)..}.(j....h'j....]. |
5600 | 6a 5f 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a c8 02 00 00 8c 06 | j_...)..}.(j....h'j....].j...... |
5620 | 56 65 72 69 66 79 94 85 94 81 94 7d 94 28 6a bf 02 00 00 8c 06 56 65 72 69 66 79 94 6a cd 02 00 | Verify.....}.(j......Verify.j... |
5640 | 00 6a 36 07 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a | .j6...ubaj....}.(j....].j....].j |
5660 | d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 8c 08 69 6e 74 65 72 6e 61 6c 94 88 | ....].j....].j....]...internal.. |
5680 | 8c 06 72 65 66 75 72 69 94 6a 59 02 00 00 8c 0a 61 6e 63 68 6f 72 6e 61 6d 65 94 8c 07 23 76 65 | ..refuri.jY.....anchorname...#ve |
56a0 | 72 69 66 79 94 75 6a db 02 00 00 6a 7d 03 00 00 6a cd 02 00 00 6a 33 07 00 00 75 62 61 6a ce 02 | rify.uj....j}...j....j3...ubaj.. |
56c0 | 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d | ..}.(j....].j....].j....].j....] |
56e0 | 94 6a d9 02 00 00 5d 94 75 6a db 02 00 00 6a 84 03 00 00 6a cd 02 00 00 6a 30 07 00 00 75 62 61 | .j....].uj....j....j....j0...uba |
5700 | 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 | j....}.(j....].j....].j....].j.. |
5720 | 00 00 5d 94 6a d9 02 00 00 5d 94 75 6a db 02 00 00 6a b9 03 00 00 6a cd 02 00 00 6a 57 06 00 00 | ..].j....].uj....j....j....jW... |
5740 | 75 62 6a 54 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5a 03 00 00 | ubjT...)..}.(j....h'j....].jZ... |
5760 | 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5f 03 00 00 29 81 94 7d 94 28 6a | )..}.(j....h'j....].j_...)..}.(j |
5780 | bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a c8 02 00 00 8c 07 45 6e 63 72 79 70 74 94 85 94 81 94 | ....h'j....].j......Encrypt..... |
57a0 | 7d 94 28 6a bf 02 00 00 8c 07 45 6e 63 72 79 70 74 94 6a cd 02 00 00 6a 5a 07 00 00 75 62 61 6a | }.(j......Encrypt.j....jZ...ubaj |
57c0 | ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 | ....}.(j....].j....].j....].j... |
57e0 | 00 5d 94 6a d9 02 00 00 5d 94 8c 08 69 6e 74 65 72 6e 61 6c 94 88 8c 06 72 65 66 75 72 69 94 6a | .].j....]...internal....refuri.j |
5800 | 59 02 00 00 8c 0a 61 6e 63 68 6f 72 6e 61 6d 65 94 8c 08 23 65 6e 63 72 79 70 74 94 75 6a db 02 | Y.....anchorname...#encrypt.uj.. |
5820 | 00 00 6a 7d 03 00 00 6a cd 02 00 00 6a 57 07 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a d0 02 00 | ..j}...j....jW...ubaj....}.(j... |
5840 | 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 75 | .].j....].j....].j....].j....].u |
5860 | 6a db 02 00 00 6a 84 03 00 00 6a cd 02 00 00 6a 54 07 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a | j....j....j....jT...ubaj....}.(j |
5880 | d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 | ....].j....].j....].j....].j.... |
58a0 | 5d 94 75 6a db 02 00 00 6a b9 03 00 00 6a cd 02 00 00 6a 57 06 00 00 75 62 6a 54 03 00 00 29 81 | ].uj....j....j....jW...ubjT...). |
58c0 | 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5a 03 00 00 29 81 94 7d 94 28 6a bf 02 | .}.(j....h'j....].jZ...)..}.(j.. |
58e0 | 00 00 68 27 6a c0 02 00 00 5d 94 6a 5f 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 | ..h'j....].j_...)..}.(j....h'j.. |
5900 | 00 00 5d 94 6a c8 02 00 00 8c 07 44 65 63 72 79 70 74 94 85 94 81 94 7d 94 28 6a bf 02 00 00 8c | ..].j......Decrypt.....}.(j..... |
5920 | 07 44 65 63 72 79 70 74 94 6a cd 02 00 00 6a 7e 07 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a d0 | .Decrypt.j....j~...ubaj....}.(j. |
5940 | 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d | ...].j....].j....].j....].j....] |
5960 | 94 8c 08 69 6e 74 65 72 6e 61 6c 94 88 8c 06 72 65 66 75 72 69 94 6a 59 02 00 00 8c 0a 61 6e 63 | ...internal....refuri.jY.....anc |
5980 | 68 6f 72 6e 61 6d 65 94 8c 08 23 64 65 63 72 79 70 74 94 75 6a db 02 00 00 6a 7d 03 00 00 6a cd | horname...#decrypt.uj....j}...j. |
59a0 | 02 00 00 6a 7b 07 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d | ...j{...ubaj....}.(j....].j....] |
59c0 | 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 75 6a db 02 00 00 6a 84 03 00 | .j....].j....].j....].uj....j... |
59e0 | 00 6a cd 02 00 00 6a 78 07 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 | .j....jx...ubaj....}.(j....].j.. |
5a00 | 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 75 6a db 02 00 00 6a | ..].j....].j....].j....].uj....j |
5a20 | b9 03 00 00 6a cd 02 00 00 6a 57 06 00 00 75 62 6a 54 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 | ....j....jW...ubjT...)..}.(j.... |
5a40 | 68 27 6a c0 02 00 00 5d 94 6a 5a 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 | h'j....].jZ...)..}.(j....h'j.... |
5a60 | 5d 94 6a 5f 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a c8 02 00 00 | ].j_...)..}.(j....h'j....].j.... |
5a80 | 8c 10 53 69 67 6e 20 61 6e 64 20 45 6e 63 72 79 70 74 94 85 94 81 94 7d 94 28 6a bf 02 00 00 8c | ..Sign.and.Encrypt.....}.(j..... |
5aa0 | 10 53 69 67 6e 20 61 6e 64 20 45 6e 63 72 79 70 74 94 6a cd 02 00 00 6a a2 07 00 00 75 62 61 6a | .Sign.and.Encrypt.j....j....ubaj |
5ac0 | ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 | ....}.(j....].j....].j....].j... |
5ae0 | 00 5d 94 6a d9 02 00 00 5d 94 8c 08 69 6e 74 65 72 6e 61 6c 94 88 8c 06 72 65 66 75 72 69 94 6a | .].j....]...internal....refuri.j |
5b00 | 59 02 00 00 8c 0a 61 6e 63 68 6f 72 6e 61 6d 65 94 8c 11 23 73 69 67 6e 2d 61 6e 64 2d 65 6e 63 | Y.....anchorname...#sign-and-enc |
5b20 | 72 79 70 74 94 75 6a db 02 00 00 6a 7d 03 00 00 6a cd 02 00 00 6a 9f 07 00 00 75 62 61 6a ce 02 | rypt.uj....j}...j....j....ubaj.. |
5b40 | 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d | ..}.(j....].j....].j....].j....] |
5b60 | 94 6a d9 02 00 00 5d 94 75 6a db 02 00 00 6a 84 03 00 00 6a cd 02 00 00 6a 9c 07 00 00 75 62 61 | .j....].uj....j....j....j....uba |
5b80 | 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 | j....}.(j....].j....].j....].j.. |
5ba0 | 00 00 5d 94 6a d9 02 00 00 5d 94 75 6a db 02 00 00 6a b9 03 00 00 6a cd 02 00 00 6a 57 06 00 00 | ..].j....].uj....j....j....jW... |
5bc0 | 75 62 6a 54 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5a 03 00 00 | ubjT...)..}.(j....h'j....].jZ... |
5be0 | 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5f 03 00 00 29 81 94 7d 94 28 6a | )..}.(j....h'j....].j_...)..}.(j |
5c00 | bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a c8 02 00 00 8c 12 44 65 63 72 79 70 74 20 61 6e 64 20 | ....h'j....].j......Decrypt.and. |
5c20 | 56 65 72 69 66 79 94 85 94 81 94 7d 94 28 6a bf 02 00 00 8c 12 44 65 63 72 79 70 74 20 61 6e 64 | Verify.....}.(j......Decrypt.and |
5c40 | 20 56 65 72 69 66 79 94 6a cd 02 00 00 6a c6 07 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a d0 02 | .Verify.j....j....ubaj....}.(j.. |
5c60 | 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 | ..].j....].j....].j....].j....]. |
5c80 | 8c 08 69 6e 74 65 72 6e 61 6c 94 88 8c 06 72 65 66 75 72 69 94 6a 59 02 00 00 8c 0a 61 6e 63 68 | ..internal....refuri.jY.....anch |
5ca0 | 6f 72 6e 61 6d 65 94 8c 13 23 64 65 63 72 79 70 74 2d 61 6e 64 2d 76 65 72 69 66 79 94 75 6a db | orname...#decrypt-and-verify.uj. |
5cc0 | 02 00 00 6a 7d 03 00 00 6a cd 02 00 00 6a c3 07 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a d0 02 | ...j}...j....j....ubaj....}.(j.. |
5ce0 | 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 | ..].j....].j....].j....].j....]. |
5d00 | 75 6a db 02 00 00 6a 84 03 00 00 6a cd 02 00 00 6a c0 07 00 00 75 62 61 6a ce 02 00 00 7d 94 28 | uj....j....j....j....ubaj....}.( |
5d20 | 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 | j....].j....].j....].j....].j... |
5d40 | 00 5d 94 75 6a db 02 00 00 6a b9 03 00 00 6a cd 02 00 00 6a 57 06 00 00 75 62 6a 54 03 00 00 29 | .].uj....j....j....jW...ubjT...) |
5d60 | 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5a 03 00 00 29 81 94 7d 94 28 6a bf | ..}.(j....h'j....].jZ...)..}.(j. |
5d80 | 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5f 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 | ...h'j....].j_...)..}.(j....h'j. |
5da0 | 02 00 00 5d 94 6a c8 02 00 00 8c 20 53 65 6e 64 69 6e 67 20 53 2f 4d 49 4d 45 20 6d 65 73 73 61 | ...].j......Sending.S/MIME.messa |
5dc0 | 67 65 73 20 76 69 61 20 53 4d 54 50 94 85 94 81 94 7d 94 28 6a bf 02 00 00 8c 20 53 65 6e 64 69 | ges.via.SMTP.....}.(j......Sendi |
5de0 | 6e 67 20 53 2f 4d 49 4d 45 20 6d 65 73 73 61 67 65 73 20 76 69 61 20 53 4d 54 50 94 6a cd 02 00 | ng.S/MIME.messages.via.SMTP.j... |
5e00 | 00 6a ea 07 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a | .j....ubaj....}.(j....].j....].j |
5e20 | d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 8c 08 69 6e 74 65 72 6e 61 6c 94 88 | ....].j....].j....]...internal.. |
5e40 | 8c 06 72 65 66 75 72 69 94 6a 59 02 00 00 8c 0a 61 6e 63 68 6f 72 6e 61 6d 65 94 8c 21 23 73 65 | ..refuri.jY.....anchorname..!#se |
5e60 | 6e 64 69 6e 67 2d 73 2d 6d 69 6d 65 2d 6d 65 73 73 61 67 65 73 2d 76 69 61 2d 73 6d 74 70 94 75 | nding-s-mime-messages-via-smtp.u |
5e80 | 6a db 02 00 00 6a 7d 03 00 00 6a cd 02 00 00 6a e7 07 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a | j....j}...j....j....ubaj....}.(j |
5ea0 | d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 | ....].j....].j....].j....].j.... |
5ec0 | 5d 94 75 6a db 02 00 00 6a 84 03 00 00 6a cd 02 00 00 6a e4 07 00 00 75 62 61 6a ce 02 00 00 7d | ].uj....j....j....j....ubaj....} |
5ee0 | 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 | .(j....].j....].j....].j....].j. |
5f00 | 02 00 00 5d 94 75 6a db 02 00 00 6a b9 03 00 00 6a cd 02 00 00 6a 57 06 00 00 75 62 6a 54 03 00 | ...].uj....j....j....jW...ubjT.. |
5f20 | 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5a 03 00 00 29 81 94 7d 94 28 | .)..}.(j....h'j....].jZ...)..}.( |
5f40 | 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5f 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 | j....h'j....].j_...)..}.(j....h' |
5f60 | 6a c0 02 00 00 5d 94 6a c8 02 00 00 8c 23 56 65 72 69 66 79 69 6e 67 20 6f 72 69 67 69 6e 20 6f | j....].j.....#Verifying.origin.o |
5f80 | 66 20 53 2f 4d 49 4d 45 20 6d 65 73 73 61 67 65 73 94 85 94 81 94 7d 94 28 6a bf 02 00 00 8c 23 | f.S/MIME.messages.....}.(j.....# |
5fa0 | 56 65 72 69 66 79 69 6e 67 20 6f 72 69 67 69 6e 20 6f 66 20 53 2f 4d 49 4d 45 20 6d 65 73 73 61 | Verifying.origin.of.S/MIME.messa |
5fc0 | 67 65 73 94 6a cd 02 00 00 6a 0e 08 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 | ges.j....j....ubaj....}.(j....]. |
5fe0 | 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 8c 08 69 6e | j....].j....].j....].j....]...in |
6000 | 74 65 72 6e 61 6c 94 88 8c 06 72 65 66 75 72 69 94 6a 59 02 00 00 8c 0a 61 6e 63 68 6f 72 6e 61 | ternal....refuri.jY.....anchorna |
6020 | 6d 65 94 8c 24 23 76 65 72 69 66 79 69 6e 67 2d 6f 72 69 67 69 6e 2d 6f 66 2d 73 2d 6d 69 6d 65 | me..$#verifying-origin-of-s-mime |
6040 | 2d 6d 65 73 73 61 67 65 73 94 75 6a db 02 00 00 6a 7d 03 00 00 6a cd 02 00 00 6a 0b 08 00 00 75 | -messages.uj....j}...j....j....u |
6060 | 62 61 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a | baj....}.(j....].j....].j....].j |
6080 | d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 75 6a db 02 00 00 6a 84 03 00 00 6a cd 02 00 00 6a 08 08 | ....].j....].uj....j....j....j.. |
60a0 | 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 | ..ubaj....}.(j....].j....].j.... |
60c0 | 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 75 6a db 02 00 00 6a b9 03 00 00 6a cd 02 00 00 | ].j....].j....].uj....j....j.... |
60e0 | 6a 57 06 00 00 75 62 6a 54 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 | jW...ubjT...)..}.(j....h'j....]. |
6100 | 6a 5a 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5f 03 00 00 29 81 | jZ...)..}.(j....h'j....].j_...). |
6120 | 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a c8 02 00 00 8c 26 49 6e 74 65 72 6f 70 | .}.(j....h'j....].j.....&Interop |
6140 | 65 72 61 74 69 6e 67 20 77 69 74 68 20 4e 65 74 73 63 61 70 65 20 4d 65 73 73 65 6e 67 65 72 94 | erating.with.Netscape.Messenger. |
6160 | 85 94 81 94 7d 94 28 6a bf 02 00 00 8c 26 49 6e 74 65 72 6f 70 65 72 61 74 69 6e 67 20 77 69 74 | ....}.(j.....&Interoperating.wit |
6180 | 68 20 4e 65 74 73 63 61 70 65 20 4d 65 73 73 65 6e 67 65 72 94 6a cd 02 00 00 6a 32 08 00 00 75 | h.Netscape.Messenger.j....j2...u |
61a0 | 62 61 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a | baj....}.(j....].j....].j....].j |
61c0 | d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 8c 08 69 6e 74 65 72 6e 61 6c 94 88 8c 06 72 65 66 75 72 | ....].j....]...internal....refur |
61e0 | 69 94 6a 59 02 00 00 8c 0a 61 6e 63 68 6f 72 6e 61 6d 65 94 8c 27 23 69 6e 74 65 72 6f 70 65 72 | i.jY.....anchorname..'#interoper |
6200 | 61 74 69 6e 67 2d 77 69 74 68 2d 6e 65 74 73 63 61 70 65 2d 6d 65 73 73 65 6e 67 65 72 94 75 6a | ating-with-netscape-messenger.uj |
6220 | db 02 00 00 6a 7d 03 00 00 6a cd 02 00 00 6a 2f 08 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a d0 | ....j}...j....j/...ubaj....}.(j. |
6240 | 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d | ...].j....].j....].j....].j....] |
6260 | 94 75 6a db 02 00 00 6a 84 03 00 00 6a cd 02 00 00 6a 2c 08 00 00 75 62 61 6a ce 02 00 00 7d 94 | .uj....j....j....j,...ubaj....}. |
6280 | 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 | (j....].j....].j....].j....].j.. |
62a0 | 00 00 5d 94 75 6a db 02 00 00 6a b9 03 00 00 6a cd 02 00 00 6a 57 06 00 00 75 62 6a 54 03 00 00 | ..].uj....j....j....jW...ubjT... |
62c0 | 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5a 03 00 00 29 81 94 7d 94 28 6a | )..}.(j....h'j....].jZ...)..}.(j |
62e0 | bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5f 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a | ....h'j....].j_...)..}.(j....h'j |
6300 | c0 02 00 00 5d 94 6a c8 02 00 00 8c 25 49 6e 74 65 72 6f 70 65 72 61 74 69 6e 67 20 77 69 74 68 | ....].j.....%Interoperating.with |
6320 | 20 4d 69 63 72 6f 73 6f 66 74 20 4f 75 74 6c 6f 6f 6b 94 85 94 81 94 7d 94 28 6a bf 02 00 00 8c | .Microsoft.Outlook.....}.(j..... |
6340 | 25 49 6e 74 65 72 6f 70 65 72 61 74 69 6e 67 20 77 69 74 68 20 4d 69 63 72 6f 73 6f 66 74 20 4f | %Interoperating.with.Microsoft.O |
6360 | 75 74 6c 6f 6f 6b 94 6a cd 02 00 00 6a 56 08 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a d0 02 00 | utlook.j....jV...ubaj....}.(j... |
6380 | 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 8c | .].j....].j....].j....].j....].. |
63a0 | 08 69 6e 74 65 72 6e 61 6c 94 88 8c 06 72 65 66 75 72 69 94 6a 59 02 00 00 8c 0a 61 6e 63 68 6f | .internal....refuri.jY.....ancho |
63c0 | 72 6e 61 6d 65 94 8c 26 23 69 6e 74 65 72 6f 70 65 72 61 74 69 6e 67 2d 77 69 74 68 2d 6d 69 63 | rname..&#interoperating-with-mic |
63e0 | 72 6f 73 6f 66 74 2d 6f 75 74 6c 6f 6f 6b 94 75 6a db 02 00 00 6a 7d 03 00 00 6a cd 02 00 00 6a | rosoft-outlook.uj....j}...j....j |
6400 | 53 08 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 | S...ubaj....}.(j....].j....].j.. |
6420 | 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 75 6a db 02 00 00 6a 84 03 00 00 6a cd 02 | ..].j....].j....].uj....j....j.. |
6440 | 00 00 6a 50 08 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 | ..jP...ubaj....}.(j....].j....]. |
6460 | 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 75 6a db 02 00 00 6a b9 03 00 00 | j....].j....].j....].uj....j.... |
6480 | 6a cd 02 00 00 6a 57 06 00 00 75 62 6a 54 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 | j....jW...ubjT...)..}.(j....h'j. |
64a0 | 02 00 00 5d 94 6a 5a 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5f | ...].jZ...)..}.(j....h'j....].j_ |
64c0 | 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a c8 02 00 00 8c 06 5a 53 | ...)..}.(j....h'j....].j......ZS |
64e0 | 6d 69 6d 65 94 85 94 81 94 7d 94 28 6a bf 02 00 00 8c 06 5a 53 6d 69 6d 65 94 6a cd 02 00 00 6a | mime.....}.(j......ZSmime.j....j |
6500 | 7a 08 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 | z...ubaj....}.(j....].j....].j.. |
6520 | 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 8c 08 69 6e 74 65 72 6e 61 6c 94 88 8c 06 | ..].j....].j....]...internal.... |
6540 | 72 65 66 75 72 69 94 6a 59 02 00 00 8c 0a 61 6e 63 68 6f 72 6e 61 6d 65 94 8c 07 23 7a 73 6d 69 | refuri.jY.....anchorname...#zsmi |
6560 | 6d 65 94 75 6a db 02 00 00 6a 7d 03 00 00 6a cd 02 00 00 6a 77 08 00 00 75 62 61 6a ce 02 00 00 | me.uj....j}...j....jw...ubaj.... |
6580 | 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a | }.(j....].j....].j....].j....].j |
65a0 | d9 02 00 00 5d 94 75 6a db 02 00 00 6a 84 03 00 00 6a cd 02 00 00 6a 74 08 00 00 75 62 61 6a ce | ....].uj....j....j....jt...ubaj. |
65c0 | 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 | ...}.(j....].j....].j....].j.... |
65e0 | 5d 94 6a d9 02 00 00 5d 94 75 6a db 02 00 00 6a b9 03 00 00 6a cd 02 00 00 6a 57 06 00 00 75 62 | ].j....].uj....j....j....jW...ub |
6600 | 6a 54 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5a 03 00 00 29 81 | jT...)..}.(j....h'j....].jZ...). |
6620 | 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5f 03 00 00 29 81 94 7d 94 28 6a bf 02 | .}.(j....h'j....].j_...)..}.(j.. |
6640 | 00 00 68 27 6a c0 02 00 00 5d 94 6a c8 02 00 00 8c 09 52 65 73 6f 75 72 63 65 73 94 85 94 81 94 | ..h'j....].j......Resources..... |
6660 | 7d 94 28 6a bf 02 00 00 8c 09 52 65 73 6f 75 72 63 65 73 94 6a cd 02 00 00 6a 9e 08 00 00 75 62 | }.(j......Resources.j....j....ub |
6680 | 61 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 | aj....}.(j....].j....].j....].j. |
66a0 | 02 00 00 5d 94 6a d9 02 00 00 5d 94 8c 08 69 6e 74 65 72 6e 61 6c 94 88 8c 06 72 65 66 75 72 69 | ...].j....]...internal....refuri |
66c0 | 94 6a 59 02 00 00 8c 0a 61 6e 63 68 6f 72 6e 61 6d 65 94 8c 0a 23 72 65 73 6f 75 72 63 65 73 94 | .jY.....anchorname...#resources. |
66e0 | 75 6a db 02 00 00 6a 7d 03 00 00 6a cd 02 00 00 6a 9b 08 00 00 75 62 61 6a ce 02 00 00 7d 94 28 | uj....j}...j....j....ubaj....}.( |
6700 | 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 | j....].j....].j....].j....].j... |
6720 | 00 5d 94 75 6a db 02 00 00 6a 84 03 00 00 6a cd 02 00 00 6a 98 08 00 00 75 62 61 6a ce 02 00 00 | .].uj....j....j....j....ubaj.... |
6740 | 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a | }.(j....].j....].j....].j....].j |
6760 | d9 02 00 00 5d 94 75 6a db 02 00 00 6a b9 03 00 00 6a cd 02 00 00 6a 57 06 00 00 75 62 65 6a ce | ....].uj....j....j....jW...ubej. |
6780 | 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 | ...}.(j....].j....].j....].j.... |
67a0 | 5d 94 6a d9 02 00 00 5d 94 75 6a db 02 00 00 6a aa 05 00 00 75 62 6a 5a 02 00 00 6a 4f 03 00 00 | ].j....].uj....j....ubjZ...jO... |
67c0 | 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 28 6a 54 03 00 00 29 81 94 7d 94 28 | )..}.(j....h'j....].(jT...)..}.( |
67e0 | 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5a 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 | j....h'j....].jZ...)..}.(j....h' |
6800 | 6a c0 02 00 00 5d 94 6a 5f 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 | j....].j_...)..}.(j....h'j....]. |
6820 | 6a c8 02 00 00 8c 2e 48 4f 57 54 4f 3a 20 50 72 6f 67 72 61 6d 6d 69 6e 67 20 53 53 4c 20 69 6e | j......HOWTO:.Programming.SSL.in |
6840 | 20 50 79 74 68 6f 6e 20 77 69 74 68 20 4d 32 43 72 79 70 74 6f 94 85 94 81 94 7d 94 28 6a bf 02 | .Python.with.M2Crypto.....}.(j.. |
6860 | 00 00 6a 0e 03 00 00 6a cd 02 00 00 6a cb 08 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a d0 02 00 | ..j....j....j....ubaj....}.(j... |
6880 | 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 8c | .].j....].j....].j....].j....].. |
68a0 | 08 69 6e 74 65 72 6e 61 6c 94 88 8c 06 72 65 66 75 72 69 94 6a 5a 02 00 00 8c 0a 61 6e 63 68 6f | .internal....refuri.jZ.....ancho |
68c0 | 72 6e 61 6d 65 94 68 27 75 6a db 02 00 00 6a 7d 03 00 00 6a cd 02 00 00 6a c8 08 00 00 75 62 61 | rname.h'uj....j}...j....j....uba |
68e0 | 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 | j....}.(j....].j....].j....].j.. |
6900 | 00 00 5d 94 6a d9 02 00 00 5d 94 75 6a db 02 00 00 6a 84 03 00 00 6a cd 02 00 00 6a c5 08 00 00 | ..].j....].uj....j....j....j.... |
6920 | 75 62 61 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 | ubaj....}.(j....].j....].j....]. |
6940 | 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 75 6a db 02 00 00 6a b9 03 00 00 6a cd 02 00 00 6a c2 | j....].j....].uj....j....j....j. |
6960 | 08 00 00 75 62 6a 54 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5a | ...ubjT...)..}.(j....h'j....].jZ |
6980 | 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5f 03 00 00 29 81 94 7d | ...)..}.(j....h'j....].j_...)..} |
69a0 | 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a c8 02 00 00 8c 0c 49 6e 74 72 6f 64 75 63 74 | .(j....h'j....].j......Introduct |
69c0 | 69 6f 6e 94 85 94 81 94 7d 94 28 6a bf 02 00 00 8c 0c 49 6e 74 72 6f 64 75 63 74 69 6f 6e 94 6a | ion.....}.(j......Introduction.j |
69e0 | cd 02 00 00 6a ed 08 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 | ....j....ubaj....}.(j....].j.... |
6a00 | 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 8c 08 69 6e 74 65 72 6e 61 | ].j....].j....].j....]...interna |
6a20 | 6c 94 88 8c 06 72 65 66 75 72 69 94 6a 5a 02 00 00 8c 0a 61 6e 63 68 6f 72 6e 61 6d 65 94 8c 0d | l....refuri.jZ.....anchorname... |
6a40 | 23 69 6e 74 72 6f 64 75 63 74 69 6f 6e 94 75 6a db 02 00 00 6a 7d 03 00 00 6a cd 02 00 00 6a ea | #introduction.uj....j}...j....j. |
6a60 | 08 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 | ...ubaj....}.(j....].j....].j... |
6a80 | 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 75 6a db 02 00 00 6a 84 03 00 00 6a cd 02 00 | .].j....].j....].uj....j....j... |
6aa0 | 00 6a e7 08 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a | .j....ubaj....}.(j....].j....].j |
6ac0 | d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 75 6a db 02 00 00 6a b9 03 00 00 6a | ....].j....].j....].uj....j....j |
6ae0 | cd 02 00 00 6a c2 08 00 00 75 62 6a 54 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 | ....j....ubjT...)..}.(j....h'j.. |
6b00 | 00 00 5d 94 6a 5a 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5f 03 | ..].jZ...)..}.(j....h'j....].j_. |
6b20 | 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a c8 02 00 00 8c 10 41 20 62 | ..)..}.(j....h'j....].j......A.b |
6b40 | 69 74 20 6f 66 20 68 69 73 74 6f 72 79 94 85 94 81 94 7d 94 28 6a bf 02 00 00 8c 10 41 20 62 69 | it.of.history.....}.(j......A.bi |
6b60 | 74 20 6f 66 20 68 69 73 74 6f 72 79 94 6a cd 02 00 00 6a 11 09 00 00 75 62 61 6a ce 02 00 00 7d | t.of.history.j....j....ubaj....} |
6b80 | 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 | .(j....].j....].j....].j....].j. |
6ba0 | 02 00 00 5d 94 8c 08 69 6e 74 65 72 6e 61 6c 94 88 8c 06 72 65 66 75 72 69 94 6a 5a 02 00 00 8c | ...]...internal....refuri.jZ.... |
6bc0 | 0a 61 6e 63 68 6f 72 6e 61 6d 65 94 8c 11 23 61 2d 62 69 74 2d 6f 66 2d 68 69 73 74 6f 72 79 94 | .anchorname...#a-bit-of-history. |
6be0 | 75 6a db 02 00 00 6a 7d 03 00 00 6a cd 02 00 00 6a 0e 09 00 00 75 62 61 6a ce 02 00 00 7d 94 28 | uj....j}...j....j....ubaj....}.( |
6c00 | 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 | j....].j....].j....].j....].j... |
6c20 | 00 5d 94 75 6a db 02 00 00 6a 84 03 00 00 6a cd 02 00 00 6a 0b 09 00 00 75 62 61 6a ce 02 00 00 | .].uj....j....j....j....ubaj.... |
6c40 | 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a | }.(j....].j....].j....].j....].j |
6c60 | d9 02 00 00 5d 94 75 6a db 02 00 00 6a b9 03 00 00 6a cd 02 00 00 6a c2 08 00 00 75 62 6a 54 03 | ....].uj....j....j....j....ubjT. |
6c80 | 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5a 03 00 00 29 81 94 7d 94 | ..)..}.(j....h'j....].jZ...)..}. |
6ca0 | 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5f 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 | (j....h'j....].j_...)..}.(j....h |
6cc0 | 27 6a c0 02 00 00 5d 94 6a c8 02 00 00 8c 0a 53 65 63 75 72 65 20 53 53 4c 94 85 94 81 94 7d 94 | 'j....].j......Secure.SSL.....}. |
6ce0 | 28 6a bf 02 00 00 8c 0a 53 65 63 75 72 65 20 53 53 4c 94 6a cd 02 00 00 6a 35 09 00 00 75 62 61 | (j......Secure.SSL.j....j5...uba |
6d00 | 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 | j....}.(j....].j....].j....].j.. |
6d20 | 00 00 5d 94 6a d9 02 00 00 5d 94 8c 08 69 6e 74 65 72 6e 61 6c 94 88 8c 06 72 65 66 75 72 69 94 | ..].j....]...internal....refuri. |
6d40 | 6a 5a 02 00 00 8c 0a 61 6e 63 68 6f 72 6e 61 6d 65 94 8c 0b 23 73 65 63 75 72 65 2d 73 73 6c 94 | jZ.....anchorname...#secure-ssl. |
6d60 | 75 6a db 02 00 00 6a 7d 03 00 00 6a cd 02 00 00 6a 32 09 00 00 75 62 61 6a ce 02 00 00 7d 94 28 | uj....j}...j....j2...ubaj....}.( |
6d80 | 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 | j....].j....].j....].j....].j... |
6da0 | 00 5d 94 75 6a db 02 00 00 6a 84 03 00 00 6a cd 02 00 00 6a 2f 09 00 00 75 62 61 6a ce 02 00 00 | .].uj....j....j....j/...ubaj.... |
6dc0 | 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a | }.(j....].j....].j....].j....].j |
6de0 | d9 02 00 00 5d 94 75 6a db 02 00 00 6a b9 03 00 00 6a cd 02 00 00 6a c2 08 00 00 75 62 6a 54 03 | ....].uj....j....j....j....ubjT. |
6e00 | 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5a 03 00 00 29 81 94 7d 94 | ..)..}.(j....h'j....].jZ...)..}. |
6e20 | 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5f 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 | (j....h'j....].j_...)..}.(j....h |
6e40 | 27 6a c0 02 00 00 5d 94 6a c8 02 00 00 8c 0c 43 6f 64 65 20 53 61 6d 70 6c 65 73 94 85 94 81 94 | 'j....].j......Code.Samples..... |
6e60 | 7d 94 28 6a bf 02 00 00 8c 0c 43 6f 64 65 20 53 61 6d 70 6c 65 73 94 6a cd 02 00 00 6a 59 09 00 | }.(j......Code.Samples.j....jY.. |
6e80 | 00 75 62 61 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d | .ubaj....}.(j....].j....].j....] |
6ea0 | 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 8c 08 69 6e 74 65 72 6e 61 6c 94 88 8c 06 72 65 66 | .j....].j....]...internal....ref |
6ec0 | 75 72 69 94 6a 5a 02 00 00 8c 0a 61 6e 63 68 6f 72 6e 61 6d 65 94 8c 0d 23 63 6f 64 65 2d 73 61 | uri.jZ.....anchorname...#code-sa |
6ee0 | 6d 70 6c 65 73 94 75 6a db 02 00 00 6a 7d 03 00 00 6a cd 02 00 00 6a 56 09 00 00 75 62 61 6a ce | mples.uj....j}...j....jV...ubaj. |
6f00 | 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 | ...}.(j....].j....].j....].j.... |
6f20 | 5d 94 6a d9 02 00 00 5d 94 75 6a db 02 00 00 6a 84 03 00 00 6a cd 02 00 00 6a 53 09 00 00 75 62 | ].j....].uj....j....j....jS...ub |
6f40 | 61 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 | aj....}.(j....].j....].j....].j. |
6f60 | 02 00 00 5d 94 6a d9 02 00 00 5d 94 75 6a db 02 00 00 6a b9 03 00 00 6a cd 02 00 00 6a c2 08 00 | ...].j....].uj....j....j....j... |
6f80 | 00 75 62 6a 54 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5a 03 00 | .ubjT...)..}.(j....h'j....].jZ.. |
6fa0 | 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5f 03 00 00 29 81 94 7d 94 28 | .)..}.(j....h'j....].j_...)..}.( |
6fc0 | 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a c8 02 00 00 8c 07 73 73 6c 64 75 6d 70 94 85 94 81 | j....h'j....].j......ssldump.... |
6fe0 | 94 7d 94 28 6a bf 02 00 00 8c 07 73 73 6c 64 75 6d 70 94 6a cd 02 00 00 6a 7d 09 00 00 75 62 61 | .}.(j......ssldump.j....j}...uba |
7000 | 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 | j....}.(j....].j....].j....].j.. |
7020 | 00 00 5d 94 6a d9 02 00 00 5d 94 8c 08 69 6e 74 65 72 6e 61 6c 94 88 8c 06 72 65 66 75 72 69 94 | ..].j....]...internal....refuri. |
7040 | 6a 5a 02 00 00 8c 0a 61 6e 63 68 6f 72 6e 61 6d 65 94 8c 08 23 73 73 6c 64 75 6d 70 94 75 6a db | jZ.....anchorname...#ssldump.uj. |
7060 | 02 00 00 6a 7d 03 00 00 6a cd 02 00 00 6a 7a 09 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a d0 02 | ...j}...j....jz...ubaj....}.(j.. |
7080 | 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 | ..].j....].j....].j....].j....]. |
70a0 | 75 6a db 02 00 00 6a 84 03 00 00 6a cd 02 00 00 6a 77 09 00 00 75 62 61 6a ce 02 00 00 7d 94 28 | uj....j....j....jw...ubaj....}.( |
70c0 | 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 | j....].j....].j....].j....].j... |
70e0 | 00 5d 94 75 6a db 02 00 00 6a b9 03 00 00 6a cd 02 00 00 6a c2 08 00 00 75 62 65 6a ce 02 00 00 | .].uj....j....j....j....ubej.... |
7100 | 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a | }.(j....].j....].j....].j....].j |
7120 | d9 02 00 00 5d 94 75 6a db 02 00 00 6a aa 05 00 00 75 62 6a 5b 02 00 00 6a 4f 03 00 00 29 81 94 | ....].uj....j....ubj[...jO...).. |
7140 | 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 28 6a 54 03 00 00 29 81 94 7d 94 28 6a bf 02 | }.(j....h'j....].(jT...)..}.(j.. |
7160 | 00 00 68 27 6a c0 02 00 00 5d 94 28 6a 5a 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 | ..h'j....].(jZ...)..}.(j....h'j. |
7180 | 02 00 00 5d 94 6a 5f 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a c8 | ...].j_...)..}.(j....h'j....].j. |
71a0 | 02 00 00 8c 26 57 65 6c 63 6f 6d 65 20 74 6f 20 4d 32 43 72 79 70 74 6f e2 80 99 73 20 64 6f 63 | ....&Welcome.to.M2Crypto...s.doc |
71c0 | 75 6d 65 6e 74 61 74 69 6f 6e 21 94 85 94 81 94 7d 94 28 6a bf 02 00 00 6a 1c 03 00 00 6a cd 02 | umentation!.....}.(j....j....j.. |
71e0 | 00 00 6a aa 09 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 | ..j....ubaj....}.(j....].j....]. |
7200 | 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 8c 08 69 6e 74 65 72 6e 61 6c 94 | j....].j....].j....]...internal. |
7220 | 88 8c 06 72 65 66 75 72 69 94 6a 5b 02 00 00 8c 0a 61 6e 63 68 6f 72 6e 61 6d 65 94 68 27 75 6a | ...refuri.j[.....anchorname.h'uj |
7240 | db 02 00 00 6a 7d 03 00 00 6a cd 02 00 00 6a a7 09 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a d0 | ....j}...j....j....ubaj....}.(j. |
7260 | 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d | ...].j....].j....].j....].j....] |
7280 | 94 75 6a db 02 00 00 6a 84 03 00 00 6a cd 02 00 00 6a a4 09 00 00 75 62 6a 4f 03 00 00 29 81 94 | .uj....j....j....j....ubjO...).. |
72a0 | 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 58 03 00 00 8c 07 74 6f 63 74 72 65 65 94 | }.(j....h'j....].jX.....toctree. |
72c0 | 93 94 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a ce 02 00 00 7d 94 28 6a d0 | ..)..}.(j....h'j....].j....}.(j. |
72e0 | 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d | ...].j....].j....].j....].j....] |
7300 | 94 8c 06 70 61 72 65 6e 74 94 6a 5b 02 00 00 8c 07 65 6e 74 72 69 65 73 94 5d 94 4e 8c 08 4d 32 | ...parent.j[.....entries.].N..M2 |
7320 | 43 72 79 70 74 6f 94 86 94 61 8c 0c 69 6e 63 6c 75 64 65 66 69 6c 65 73 94 5d 94 6a d1 09 00 00 | Crypto...a..includefiles.].j.... |
7340 | 61 8c 08 6d 61 78 64 65 70 74 68 94 4b 04 8c 07 63 61 70 74 69 6f 6e 94 4e 8c 04 67 6c 6f 62 94 | a..maxdepth.K...caption.N..glob. |
7360 | 89 8c 06 68 69 64 64 65 6e 94 89 8c 0d 69 6e 63 6c 75 64 65 68 69 64 64 65 6e 94 89 8c 08 6e 75 | ...hidden....includehidden....nu |
7380 | 6d 62 65 72 65 64 94 4b 00 8c 0a 74 69 74 6c 65 73 6f 6e 6c 79 94 89 75 6a db 02 00 00 8c 07 74 | mbered.K...titlesonly..uj......t |
73a0 | 6f 63 74 72 65 65 94 6a dd 02 00 00 8c 38 2f 68 6f 6d 65 2f 6d 61 74 65 6a 2f 61 72 63 68 69 76 | octree.j.....8/home/matej/archiv |
73c0 | 2f 6b 6e 69 68 6f 76 6e 61 2f 72 65 70 6f 73 2f 6d 32 63 72 79 70 74 6f 2f 64 6f 63 2f 69 6e 64 | /knihovna/repos/m2crypto/doc/ind |
73e0 | 65 78 2e 72 73 74 94 6a de 02 00 00 4b 06 6a cd 02 00 00 6a c0 09 00 00 75 62 61 6a ce 02 00 00 | ex.rst.j....K.j....j....ubaj.... |
7400 | 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a | }.(j....].j....].j....].j....].j |
7420 | d9 02 00 00 5d 94 75 6a db 02 00 00 6a aa 05 00 00 6a cd 02 00 00 6a a4 09 00 00 75 62 65 6a ce | ....].uj....j....j....j....ubej. |
7440 | 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 | ...}.(j....].j....].j....].j.... |
7460 | 5d 94 6a d9 02 00 00 5d 94 75 6a db 02 00 00 6a b9 03 00 00 6a cd 02 00 00 6a a1 09 00 00 75 62 | ].j....].uj....j....j....j....ub |
7480 | 6a 54 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5a 03 00 00 29 81 | jT...)..}.(j....h'j....].jZ...). |
74a0 | 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5f 03 00 00 29 81 94 7d 94 28 6a bf 02 | .}.(j....h'j....].j_...)..}.(j.. |
74c0 | 00 00 68 27 6a c0 02 00 00 5d 94 6a c8 02 00 00 8c 06 48 4f 57 54 4f 73 94 85 94 81 94 7d 94 28 | ..h'j....].j......HOWTOs.....}.( |
74e0 | 6a bf 02 00 00 8c 06 48 4f 57 54 4f 73 94 6a cd 02 00 00 6a f0 09 00 00 75 62 61 6a ce 02 00 00 | j......HOWTOs.j....j....ubaj.... |
7500 | 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a | }.(j....].j....].j....].j....].j |
7520 | d9 02 00 00 5d 94 8c 08 69 6e 74 65 72 6e 61 6c 94 88 8c 06 72 65 66 75 72 69 94 6a 5b 02 00 00 | ....]...internal....refuri.j[... |
7540 | 8c 0a 61 6e 63 68 6f 72 6e 61 6d 65 94 8c 07 23 68 6f 77 74 6f 73 94 75 6a db 02 00 00 6a 7d 03 | ..anchorname...#howtos.uj....j}. |
7560 | 00 00 6a cd 02 00 00 6a ed 09 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 | ..j....j....ubaj....}.(j....].j. |
7580 | 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 75 6a db 02 00 00 | ...].j....].j....].j....].uj.... |
75a0 | 6a 84 03 00 00 6a cd 02 00 00 6a ea 09 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d | j....j....j....ubaj....}.(j....] |
75c0 | 94 6a d2 02 00 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 75 6a db | .j....].j....].j....].j....].uj. |
75e0 | 02 00 00 6a b9 03 00 00 6a cd 02 00 00 6a a1 09 00 00 75 62 6a 54 03 00 00 29 81 94 7d 94 28 6a | ...j....j....j....ubjT...)..}.(j |
7600 | bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5a 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a | ....h'j....].jZ...)..}.(j....h'j |
7620 | c0 02 00 00 5d 94 6a 5f 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a | ....].j_...)..}.(j....h'j....].j |
7640 | c8 02 00 00 8c 12 49 6e 64 69 63 65 73 20 61 6e 64 20 74 61 62 6c 65 73 94 85 94 81 94 7d 94 28 | ......Indices.and.tables.....}.( |
7660 | 6a bf 02 00 00 8c 12 49 6e 64 69 63 65 73 20 61 6e 64 20 74 61 62 6c 65 73 94 6a cd 02 00 00 6a | j......Indices.and.tables.j....j |
7680 | 14 0a 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 | ....ubaj....}.(j....].j....].j.. |
76a0 | 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 8c 08 69 6e 74 65 72 6e 61 6c 94 88 8c 06 | ..].j....].j....]...internal.... |
76c0 | 72 65 66 75 72 69 94 6a 5b 02 00 00 8c 0a 61 6e 63 68 6f 72 6e 61 6d 65 94 8c 13 23 69 6e 64 69 | refuri.j[.....anchorname...#indi |
76e0 | 63 65 73 2d 61 6e 64 2d 74 61 62 6c 65 73 94 75 6a db 02 00 00 6a 7d 03 00 00 6a cd 02 00 00 6a | ces-and-tables.uj....j}...j....j |
7700 | 11 0a 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 6a d5 02 | ....ubaj....}.(j....].j....].j.. |
7720 | 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 75 6a db 02 00 00 6a 84 03 00 00 6a cd 02 | ..].j....].j....].uj....j....j.. |
7740 | 00 00 6a 0e 0a 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 00 5d 94 | ..j....ubaj....}.(j....].j....]. |
7760 | 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 75 6a db 02 00 00 6a b9 03 00 00 | j....].j....].j....].uj....j.... |
7780 | 6a cd 02 00 00 6a a1 09 00 00 75 62 65 6a ce 02 00 00 7d 94 28 6a d0 02 00 00 5d 94 6a d2 02 00 | j....j....ubej....}.(j....].j... |
77a0 | 00 5d 94 6a d5 02 00 00 5d 94 6a d7 02 00 00 5d 94 6a d9 02 00 00 5d 94 75 6a db 02 00 00 6a aa | .].j....].j....].j....].uj....j. |
77c0 | 05 00 00 75 62 6a 5c 02 00 00 6a 4f 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 | ...ubj\...jO...)..}.(j....h'j... |
77e0 | 00 5d 94 6a 54 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 28 6a 5a 03 | .].jT...)..}.(j....h'j....].(jZ. |
7800 | 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5f 03 00 00 29 81 94 7d 94 | ..)..}.(j....h'j....].j_...)..}. |
7820 | 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a c8 02 00 00 8c 0b 53 53 4c 20 50 61 63 6b 61 67 | (j....h'j....].j......SSL.Packag |
7840 | 65 94 85 94 81 94 7d 94 28 6a bf 02 00 00 6a 2a 03 00 00 6a cd 02 00 00 6a 41 0a 00 00 75 62 61 | e.....}.(j....j*...j....jA...uba |
7860 | 6a ce 02 00 00 7d 94 28 6a 2c 03 00 00 5d 94 6a 2e 03 00 00 5d 94 6a 30 03 00 00 5d 94 6a 32 03 | j....}.(j,...].j....].j0...].j2. |
7880 | 00 00 5d 94 6a 34 03 00 00 5d 94 8c 08 69 6e 74 65 72 6e 61 6c 94 88 8c 06 72 65 66 75 72 69 94 | ..].j4...]...internal....refuri. |
78a0 | 6a 5c 02 00 00 8c 0a 61 6e 63 68 6f 72 6e 61 6d 65 94 68 27 75 6a db 02 00 00 8c 09 72 65 66 65 | j\.....anchorname.h'uj......refe |
78c0 | 72 65 6e 63 65 94 6a cd 02 00 00 6a 3e 0a 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a 2c 03 00 00 | rence.j....j>...ubaj....}.(j,... |
78e0 | 5d 94 6a 2e 03 00 00 5d 94 6a 30 03 00 00 5d 94 6a 32 03 00 00 5d 94 6a 34 03 00 00 5d 94 75 6a | ].j....].j0...].j2...].j4...].uj |
7900 | db 02 00 00 8c 11 63 6f 6d 70 61 63 74 5f 70 61 72 61 67 72 61 70 68 94 6a cd 02 00 00 6a 3b 0a | ......compact_paragraph.j....j;. |
7920 | 00 00 75 62 6a 4f 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 28 6a 54 | ..ubjO...)..}.(j....h'j....].(jT |
7940 | 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5a 03 00 00 29 81 94 7d | ...)..}.(j....h'j....].jZ...)..} |
7960 | 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5f 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 | .(j....h'j....].j_...)..}.(j.... |
7980 | 68 27 6a c0 02 00 00 5d 94 28 6a ba 02 00 00 8c 07 6c 69 74 65 72 61 6c 94 93 94 29 81 94 7d 94 | h'j....].(j......literal...)..}. |
79a0 | 28 6a bf 02 00 00 8c 03 53 53 4c 94 6a c0 02 00 00 5d 94 6a c8 02 00 00 8c 03 53 53 4c 94 85 94 | (j......SSL.j....].j......SSL... |
79c0 | 81 94 7d 94 28 6a bf 02 00 00 68 27 6a cd 02 00 00 6a 67 0a 00 00 75 62 61 6a ce 02 00 00 7d 94 | ..}.(j....h'j....jg...ubaj....}. |
79e0 | 28 6a 2c 03 00 00 5d 94 6a 2e 03 00 00 5d 94 6a 30 03 00 00 5d 94 6a 32 03 00 00 5d 94 6a 34 03 | (j,...].j....].j0...].j2...].j4. |
7a00 | 00 00 5d 94 75 6a db 02 00 00 8c 07 6c 69 74 65 72 61 6c 94 6a cd 02 00 00 6a 62 0a 00 00 75 62 | ..].uj......literal.j....jb...ub |
7a20 | 6a c8 02 00 00 8c 08 20 50 61 63 6b 61 67 65 94 85 94 81 94 7d 94 28 6a bf 02 00 00 8c 08 20 50 | j.......Package.....}.(j.......P |
7a40 | 61 63 6b 61 67 65 94 6a cd 02 00 00 6a 62 0a 00 00 75 62 65 6a ce 02 00 00 7d 94 28 6a 2c 03 00 | ackage.j....jb...ubej....}.(j,.. |
7a60 | 00 5d 94 6a 2e 03 00 00 5d 94 6a 30 03 00 00 5d 94 6a 32 03 00 00 5d 94 6a 34 03 00 00 5d 94 8c | .].j....].j0...].j2...].j4...].. |
7a80 | 08 69 6e 74 65 72 6e 61 6c 94 88 8c 06 72 65 66 75 72 69 94 6a 5c 02 00 00 8c 0a 61 6e 63 68 6f | .internal....refuri.j\.....ancho |
7aa0 | 72 6e 61 6d 65 94 8c 04 23 69 64 31 94 75 6a db 02 00 00 6a 51 0a 00 00 6a cd 02 00 00 6a 5f 0a | rname...#id1.uj....jQ...j....j_. |
7ac0 | 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a 2c 03 00 00 5d 94 6a 2e 03 00 00 5d 94 6a 30 03 00 00 | ..ubaj....}.(j,...].j....].j0... |
7ae0 | 5d 94 6a 32 03 00 00 5d 94 6a 34 03 00 00 5d 94 75 6a db 02 00 00 6a 58 0a 00 00 6a cd 02 00 00 | ].j2...].j4...].uj....jX...j.... |
7b00 | 6a 5c 0a 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a 2c 03 00 00 5d 94 6a 2e 03 00 00 5d 94 6a 30 | j\...ubaj....}.(j,...].j....].j0 |
7b20 | 03 00 00 5d 94 6a 32 03 00 00 5d 94 6a 34 03 00 00 5d 94 75 6a db 02 00 00 8c 09 6c 69 73 74 5f | ...].j2...].j4...].uj......list_ |
7b40 | 69 74 65 6d 94 6a cd 02 00 00 6a 59 0a 00 00 75 62 6a 54 03 00 00 29 81 94 7d 94 28 6a bf 02 00 | item.j....jY...ubjT...)..}.(j... |
7b60 | 00 68 27 6a c0 02 00 00 5d 94 6a 5a 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 | .h'j....].jZ...)..}.(j....h'j... |
7b80 | 00 5d 94 6a 5f 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 28 6a 66 0a | .].j_...)..}.(j....h'j....].(jf. |
7ba0 | 00 00 29 81 94 7d 94 28 6a bf 02 00 00 8c 07 43 68 65 63 6b 65 72 94 6a c0 02 00 00 5d 94 6a c8 | ..)..}.(j......Checker.j....].j. |
7bc0 | 02 00 00 8c 07 43 68 65 63 6b 65 72 94 85 94 81 94 7d 94 28 6a bf 02 00 00 68 27 6a cd 02 00 00 | .....Checker.....}.(j....h'j.... |
7be0 | 6a 9b 0a 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a 2c 03 00 00 5d 94 6a 2e 03 00 00 5d 94 6a 30 | j....ubaj....}.(j,...].j....].j0 |
7c00 | 03 00 00 5d 94 6a 32 03 00 00 5d 94 6a 34 03 00 00 5d 94 75 6a db 02 00 00 6a 75 0a 00 00 6a cd | ...].j2...].j4...].uj....ju...j. |
7c20 | 02 00 00 6a 98 0a 00 00 75 62 6a c8 02 00 00 8c 07 20 4d 6f 64 75 6c 65 94 85 94 81 94 7d 94 28 | ...j....ubj.......Module.....}.( |
7c40 | 6a bf 02 00 00 8c 07 20 4d 6f 64 75 6c 65 94 6a cd 02 00 00 6a 98 0a 00 00 75 62 65 6a ce 02 00 | j.......Module.j....j....ubej... |
7c60 | 00 7d 94 28 6a 2c 03 00 00 5d 94 6a 2e 03 00 00 5d 94 6a 30 03 00 00 5d 94 6a 32 03 00 00 5d 94 | .}.(j,...].j....].j0...].j2...]. |
7c80 | 6a 34 03 00 00 5d 94 8c 08 69 6e 74 65 72 6e 61 6c 94 88 8c 06 72 65 66 75 72 69 94 6a 5c 02 00 | j4...]...internal....refuri.j\.. |
7ca0 | 00 8c 0a 61 6e 63 68 6f 72 6e 61 6d 65 94 8c 1c 23 6d 6f 64 75 6c 65 2d 4d 32 43 72 79 70 74 6f | ...anchorname...#module-M2Crypto |
7cc0 | 2e 53 53 4c 2e 43 68 65 63 6b 65 72 94 75 6a db 02 00 00 6a 51 0a 00 00 6a cd 02 00 00 6a 95 0a | .SSL.Checker.uj....jQ...j....j.. |
7ce0 | 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a 2c 03 00 00 5d 94 6a 2e 03 00 00 5d 94 6a 30 03 00 00 | ..ubaj....}.(j,...].j....].j0... |
7d00 | 5d 94 6a 32 03 00 00 5d 94 6a 34 03 00 00 5d 94 75 6a db 02 00 00 6a 58 0a 00 00 6a cd 02 00 00 | ].j2...].j4...].uj....jX...j.... |
7d20 | 6a 92 0a 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a 2c 03 00 00 5d 94 6a 2e 03 00 00 5d 94 6a 30 | j....ubaj....}.(j,...].j....].j0 |
7d40 | 03 00 00 5d 94 6a 32 03 00 00 5d 94 6a 34 03 00 00 5d 94 75 6a db 02 00 00 6a 91 0a 00 00 6a cd | ...].j2...].j4...].uj....j....j. |
7d60 | 02 00 00 6a 59 0a 00 00 75 62 6a 54 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 | ...jY...ubjT...)..}.(j....h'j... |
7d80 | 00 5d 94 6a 5a 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5f 03 00 | .].jZ...)..}.(j....h'j....].j_.. |
7da0 | 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 28 6a 66 0a 00 00 29 81 94 7d 94 | .)..}.(j....h'j....].(jf...)..}. |
7dc0 | 28 6a bf 02 00 00 8c 06 43 69 70 68 65 72 94 6a c0 02 00 00 5d 94 6a c8 02 00 00 8c 06 43 69 70 | (j......Cipher.j....].j......Cip |
7de0 | 68 65 72 94 85 94 81 94 7d 94 28 6a bf 02 00 00 68 27 6a cd 02 00 00 6a cd 0a 00 00 75 62 61 6a | her.....}.(j....h'j....j....ubaj |
7e00 | ce 02 00 00 7d 94 28 6a 2c 03 00 00 5d 94 6a 2e 03 00 00 5d 94 6a 30 03 00 00 5d 94 6a 32 03 00 | ....}.(j,...].j....].j0...].j2.. |
7e20 | 00 5d 94 6a 34 03 00 00 5d 94 75 6a db 02 00 00 6a 75 0a 00 00 6a cd 02 00 00 6a ca 0a 00 00 75 | .].j4...].uj....ju...j....j....u |
7e40 | 62 6a c8 02 00 00 8c 07 20 4d 6f 64 75 6c 65 94 85 94 81 94 7d 94 28 6a bf 02 00 00 8c 07 20 4d | bj.......Module.....}.(j.......M |
7e60 | 6f 64 75 6c 65 94 6a cd 02 00 00 6a ca 0a 00 00 75 62 65 6a ce 02 00 00 7d 94 28 6a 2c 03 00 00 | odule.j....j....ubej....}.(j,... |
7e80 | 5d 94 6a 2e 03 00 00 5d 94 6a 30 03 00 00 5d 94 6a 32 03 00 00 5d 94 6a 34 03 00 00 5d 94 8c 08 | ].j....].j0...].j2...].j4...]... |
7ea0 | 69 6e 74 65 72 6e 61 6c 94 88 8c 06 72 65 66 75 72 69 94 6a 5c 02 00 00 8c 0a 61 6e 63 68 6f 72 | internal....refuri.j\.....anchor |
7ec0 | 6e 61 6d 65 94 8c 1b 23 6d 6f 64 75 6c 65 2d 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 69 70 68 | name...#module-M2Crypto.SSL.Ciph |
7ee0 | 65 72 94 75 6a db 02 00 00 6a 51 0a 00 00 6a cd 02 00 00 6a c7 0a 00 00 75 62 61 6a ce 02 00 00 | er.uj....jQ...j....j....ubaj.... |
7f00 | 7d 94 28 6a 2c 03 00 00 5d 94 6a 2e 03 00 00 5d 94 6a 30 03 00 00 5d 94 6a 32 03 00 00 5d 94 6a | }.(j,...].j....].j0...].j2...].j |
7f20 | 34 03 00 00 5d 94 75 6a db 02 00 00 6a 58 0a 00 00 6a cd 02 00 00 6a c4 0a 00 00 75 62 61 6a ce | 4...].uj....jX...j....j....ubaj. |
7f40 | 02 00 00 7d 94 28 6a 2c 03 00 00 5d 94 6a 2e 03 00 00 5d 94 6a 30 03 00 00 5d 94 6a 32 03 00 00 | ...}.(j,...].j....].j0...].j2... |
7f60 | 5d 94 6a 34 03 00 00 5d 94 75 6a db 02 00 00 6a 91 0a 00 00 6a cd 02 00 00 6a 59 0a 00 00 75 62 | ].j4...].uj....j....j....jY...ub |
7f80 | 6a 54 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5a 03 00 00 29 81 | jT...)..}.(j....h'j....].jZ...). |
7fa0 | 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5f 03 00 00 29 81 94 7d 94 28 6a bf 02 | .}.(j....h'j....].j_...)..}.(j.. |
7fc0 | 00 00 68 27 6a c0 02 00 00 5d 94 28 6a 66 0a 00 00 29 81 94 7d 94 28 6a bf 02 00 00 8c 0a 43 6f | ..h'j....].(jf...)..}.(j......Co |
7fe0 | 6e 6e 65 63 74 69 6f 6e 94 6a c0 02 00 00 5d 94 6a c8 02 00 00 8c 0a 43 6f 6e 6e 65 63 74 69 6f | nnection.j....].j......Connectio |
8000 | 6e 94 85 94 81 94 7d 94 28 6a bf 02 00 00 68 27 6a cd 02 00 00 6a ff 0a 00 00 75 62 61 6a ce 02 | n.....}.(j....h'j....j....ubaj.. |
8020 | 00 00 7d 94 28 6a 2c 03 00 00 5d 94 6a 2e 03 00 00 5d 94 6a 30 03 00 00 5d 94 6a 32 03 00 00 5d | ..}.(j,...].j....].j0...].j2...] |
8040 | 94 6a 34 03 00 00 5d 94 75 6a db 02 00 00 6a 75 0a 00 00 6a cd 02 00 00 6a fc 0a 00 00 75 62 6a | .j4...].uj....ju...j....j....ubj |
8060 | c8 02 00 00 8c 07 20 4d 6f 64 75 6c 65 94 85 94 81 94 7d 94 28 6a bf 02 00 00 8c 07 20 4d 6f 64 | .......Module.....}.(j.......Mod |
8080 | 75 6c 65 94 6a cd 02 00 00 6a fc 0a 00 00 75 62 65 6a ce 02 00 00 7d 94 28 6a 2c 03 00 00 5d 94 | ule.j....j....ubej....}.(j,...]. |
80a0 | 6a 2e 03 00 00 5d 94 6a 30 03 00 00 5d 94 6a 32 03 00 00 5d 94 6a 34 03 00 00 5d 94 8c 08 69 6e | j....].j0...].j2...].j4...]...in |
80c0 | 74 65 72 6e 61 6c 94 88 8c 06 72 65 66 75 72 69 94 6a 5c 02 00 00 8c 0a 61 6e 63 68 6f 72 6e 61 | ternal....refuri.j\.....anchorna |
80e0 | 6d 65 94 8c 1f 23 6d 6f 64 75 6c 65 2d 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 | me...#module-M2Crypto.SSL.Connec |
8100 | 74 69 6f 6e 94 75 6a db 02 00 00 6a 51 0a 00 00 6a cd 02 00 00 6a f9 0a 00 00 75 62 61 6a ce 02 | tion.uj....jQ...j....j....ubaj.. |
8120 | 00 00 7d 94 28 6a 2c 03 00 00 5d 94 6a 2e 03 00 00 5d 94 6a 30 03 00 00 5d 94 6a 32 03 00 00 5d | ..}.(j,...].j....].j0...].j2...] |
8140 | 94 6a 34 03 00 00 5d 94 75 6a db 02 00 00 6a 58 0a 00 00 6a cd 02 00 00 6a f6 0a 00 00 75 62 61 | .j4...].uj....jX...j....j....uba |
8160 | 6a ce 02 00 00 7d 94 28 6a 2c 03 00 00 5d 94 6a 2e 03 00 00 5d 94 6a 30 03 00 00 5d 94 6a 32 03 | j....}.(j,...].j....].j0...].j2. |
8180 | 00 00 5d 94 6a 34 03 00 00 5d 94 75 6a db 02 00 00 6a 91 0a 00 00 6a cd 02 00 00 6a 59 0a 00 00 | ..].j4...].uj....j....j....jY... |
81a0 | 75 62 6a 54 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5a 03 00 00 | ubjT...)..}.(j....h'j....].jZ... |
81c0 | 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5f 03 00 00 29 81 94 7d 94 28 6a | )..}.(j....h'j....].j_...)..}.(j |
81e0 | bf 02 00 00 68 27 6a c0 02 00 00 5d 94 28 6a 66 0a 00 00 29 81 94 7d 94 28 6a bf 02 00 00 8c 07 | ....h'j....].(jf...)..}.(j...... |
8200 | 43 6f 6e 74 65 78 74 94 6a c0 02 00 00 5d 94 6a c8 02 00 00 8c 07 43 6f 6e 74 65 78 74 94 85 94 | Context.j....].j......Context... |
8220 | 81 94 7d 94 28 6a bf 02 00 00 68 27 6a cd 02 00 00 6a 31 0b 00 00 75 62 61 6a ce 02 00 00 7d 94 | ..}.(j....h'j....j1...ubaj....}. |
8240 | 28 6a 2c 03 00 00 5d 94 6a 2e 03 00 00 5d 94 6a 30 03 00 00 5d 94 6a 32 03 00 00 5d 94 6a 34 03 | (j,...].j....].j0...].j2...].j4. |
8260 | 00 00 5d 94 75 6a db 02 00 00 6a 75 0a 00 00 6a cd 02 00 00 6a 2e 0b 00 00 75 62 6a c8 02 00 00 | ..].uj....ju...j....j....ubj.... |
8280 | 8c 07 20 4d 6f 64 75 6c 65 94 85 94 81 94 7d 94 28 6a bf 02 00 00 8c 07 20 4d 6f 64 75 6c 65 94 | ...Module.....}.(j.......Module. |
82a0 | 6a cd 02 00 00 6a 2e 0b 00 00 75 62 65 6a ce 02 00 00 7d 94 28 6a 2c 03 00 00 5d 94 6a 2e 03 00 | j....j....ubej....}.(j,...].j... |
82c0 | 00 5d 94 6a 30 03 00 00 5d 94 6a 32 03 00 00 5d 94 6a 34 03 00 00 5d 94 8c 08 69 6e 74 65 72 6e | .].j0...].j2...].j4...]...intern |
82e0 | 61 6c 94 88 8c 06 72 65 66 75 72 69 94 6a 5c 02 00 00 8c 0a 61 6e 63 68 6f 72 6e 61 6d 65 94 8c | al....refuri.j\.....anchorname.. |
8300 | 1c 23 6d 6f 64 75 6c 65 2d 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 74 65 78 74 94 75 6a | .#module-M2Crypto.SSL.Context.uj |
8320 | db 02 00 00 6a 51 0a 00 00 6a cd 02 00 00 6a 2b 0b 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a 2c | ....jQ...j....j+...ubaj....}.(j, |
8340 | 03 00 00 5d 94 6a 2e 03 00 00 5d 94 6a 30 03 00 00 5d 94 6a 32 03 00 00 5d 94 6a 34 03 00 00 5d | ...].j....].j0...].j2...].j4...] |
8360 | 94 75 6a db 02 00 00 6a 58 0a 00 00 6a cd 02 00 00 6a 28 0b 00 00 75 62 61 6a ce 02 00 00 7d 94 | .uj....jX...j....j(...ubaj....}. |
8380 | 28 6a 2c 03 00 00 5d 94 6a 2e 03 00 00 5d 94 6a 30 03 00 00 5d 94 6a 32 03 00 00 5d 94 6a 34 03 | (j,...].j....].j0...].j2...].j4. |
83a0 | 00 00 5d 94 75 6a db 02 00 00 6a 91 0a 00 00 6a cd 02 00 00 6a 59 0a 00 00 75 62 6a 54 03 00 00 | ..].uj....j....j....jY...ubjT... |
83c0 | 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5a 03 00 00 29 81 94 7d 94 28 6a | )..}.(j....h'j....].jZ...)..}.(j |
83e0 | bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5f 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a | ....h'j....].j_...)..}.(j....h'j |
8400 | c0 02 00 00 5d 94 28 6a 66 0a 00 00 29 81 94 7d 94 28 6a bf 02 00 00 8c 09 53 53 4c 53 65 72 76 | ....].(jf...)..}.(j......SSLServ |
8420 | 65 72 94 6a c0 02 00 00 5d 94 6a c8 02 00 00 8c 09 53 53 4c 53 65 72 76 65 72 94 85 94 81 94 7d | er.j....].j......SSLServer.....} |
8440 | 94 28 6a bf 02 00 00 68 27 6a cd 02 00 00 6a 63 0b 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a 2c | .(j....h'j....jc...ubaj....}.(j, |
8460 | 03 00 00 5d 94 6a 2e 03 00 00 5d 94 6a 30 03 00 00 5d 94 6a 32 03 00 00 5d 94 6a 34 03 00 00 5d | ...].j....].j0...].j2...].j4...] |
8480 | 94 75 6a db 02 00 00 6a 75 0a 00 00 6a cd 02 00 00 6a 60 0b 00 00 75 62 6a c8 02 00 00 8c 07 20 | .uj....ju...j....j`...ubj....... |
84a0 | 4d 6f 64 75 6c 65 94 85 94 81 94 7d 94 28 6a bf 02 00 00 8c 07 20 4d 6f 64 75 6c 65 94 6a cd 02 | Module.....}.(j.......Module.j.. |
84c0 | 00 00 6a 60 0b 00 00 75 62 65 6a ce 02 00 00 7d 94 28 6a 2c 03 00 00 5d 94 6a 2e 03 00 00 5d 94 | ..j`...ubej....}.(j,...].j....]. |
84e0 | 6a 30 03 00 00 5d 94 6a 32 03 00 00 5d 94 6a 34 03 00 00 5d 94 8c 08 69 6e 74 65 72 6e 61 6c 94 | j0...].j2...].j4...]...internal. |
8500 | 88 8c 06 72 65 66 75 72 69 94 6a 5c 02 00 00 8c 0a 61 6e 63 68 6f 72 6e 61 6d 65 94 8c 1e 23 6d | ...refuri.j\.....anchorname...#m |
8520 | 6f 64 75 6c 65 2d 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 53 53 4c 53 65 72 76 65 72 94 75 6a db | odule-M2Crypto.SSL.SSLServer.uj. |
8540 | 02 00 00 6a 51 0a 00 00 6a cd 02 00 00 6a 5d 0b 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a 2c 03 | ...jQ...j....j]...ubaj....}.(j,. |
8560 | 00 00 5d 94 6a 2e 03 00 00 5d 94 6a 30 03 00 00 5d 94 6a 32 03 00 00 5d 94 6a 34 03 00 00 5d 94 | ..].j....].j0...].j2...].j4...]. |
8580 | 75 6a db 02 00 00 6a 58 0a 00 00 6a cd 02 00 00 6a 5a 0b 00 00 75 62 61 6a ce 02 00 00 7d 94 28 | uj....jX...j....jZ...ubaj....}.( |
85a0 | 6a 2c 03 00 00 5d 94 6a 2e 03 00 00 5d 94 6a 30 03 00 00 5d 94 6a 32 03 00 00 5d 94 6a 34 03 00 | j,...].j....].j0...].j2...].j4.. |
85c0 | 00 5d 94 75 6a db 02 00 00 6a 91 0a 00 00 6a cd 02 00 00 6a 59 0a 00 00 75 62 6a 54 03 00 00 29 | .].uj....j....j....jY...ubjT...) |
85e0 | 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5a 03 00 00 29 81 94 7d 94 28 6a bf | ..}.(j....h'j....].jZ...)..}.(j. |
8600 | 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5f 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 | ...h'j....].j_...)..}.(j....h'j. |
8620 | 02 00 00 5d 94 28 6a 66 0a 00 00 29 81 94 7d 94 28 6a bf 02 00 00 8c 07 53 65 73 73 69 6f 6e 94 | ...].(jf...)..}.(j......Session. |
8640 | 6a c0 02 00 00 5d 94 6a c8 02 00 00 8c 07 53 65 73 73 69 6f 6e 94 85 94 81 94 7d 94 28 6a bf 02 | j....].j......Session.....}.(j.. |
8660 | 00 00 68 27 6a cd 02 00 00 6a 95 0b 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a 2c 03 00 00 5d 94 | ..h'j....j....ubaj....}.(j,...]. |
8680 | 6a 2e 03 00 00 5d 94 6a 30 03 00 00 5d 94 6a 32 03 00 00 5d 94 6a 34 03 00 00 5d 94 75 6a db 02 | j....].j0...].j2...].j4...].uj.. |
86a0 | 00 00 6a 75 0a 00 00 6a cd 02 00 00 6a 92 0b 00 00 75 62 6a c8 02 00 00 8c 07 20 4d 6f 64 75 6c | ..ju...j....j....ubj.......Modul |
86c0 | 65 94 85 94 81 94 7d 94 28 6a bf 02 00 00 8c 07 20 4d 6f 64 75 6c 65 94 6a cd 02 00 00 6a 92 0b | e.....}.(j.......Module.j....j.. |
86e0 | 00 00 75 62 65 6a ce 02 00 00 7d 94 28 6a 2c 03 00 00 5d 94 6a 2e 03 00 00 5d 94 6a 30 03 00 00 | ..ubej....}.(j,...].j....].j0... |
8700 | 5d 94 6a 32 03 00 00 5d 94 6a 34 03 00 00 5d 94 8c 08 69 6e 74 65 72 6e 61 6c 94 88 8c 06 72 65 | ].j2...].j4...]...internal....re |
8720 | 66 75 72 69 94 6a 5c 02 00 00 8c 0a 61 6e 63 68 6f 72 6e 61 6d 65 94 8c 1c 23 6d 6f 64 75 6c 65 | furi.j\.....anchorname...#module |
8740 | 2d 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 53 65 73 73 69 6f 6e 94 75 6a db 02 00 00 6a 51 0a 00 | -M2Crypto.SSL.Session.uj....jQ.. |
8760 | 00 6a cd 02 00 00 6a 8f 0b 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a 2c 03 00 00 5d 94 6a 2e 03 | .j....j....ubaj....}.(j,...].j.. |
8780 | 00 00 5d 94 6a 30 03 00 00 5d 94 6a 32 03 00 00 5d 94 6a 34 03 00 00 5d 94 75 6a db 02 00 00 6a | ..].j0...].j2...].j4...].uj....j |
87a0 | 58 0a 00 00 6a cd 02 00 00 6a 8c 0b 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a 2c 03 00 00 5d 94 | X...j....j....ubaj....}.(j,...]. |
87c0 | 6a 2e 03 00 00 5d 94 6a 30 03 00 00 5d 94 6a 32 03 00 00 5d 94 6a 34 03 00 00 5d 94 75 6a db 02 | j....].j0...].j2...].j4...].uj.. |
87e0 | 00 00 6a 91 0a 00 00 6a cd 02 00 00 6a 59 0a 00 00 75 62 6a 54 03 00 00 29 81 94 7d 94 28 6a bf | ..j....j....jY...ubjT...)..}.(j. |
8800 | 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5a 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 | ...h'j....].jZ...)..}.(j....h'j. |
8820 | 02 00 00 5d 94 6a 5f 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 28 6a | ...].j_...)..}.(j....h'j....].(j |
8840 | 66 0a 00 00 29 81 94 7d 94 28 6a bf 02 00 00 8c 16 54 77 69 73 74 65 64 50 72 6f 74 6f 63 6f 6c | f...)..}.(j......TwistedProtocol |
8860 | 57 72 61 70 70 65 72 94 6a c0 02 00 00 5d 94 6a c8 02 00 00 8c 16 54 77 69 73 74 65 64 50 72 6f | Wrapper.j....].j......TwistedPro |
8880 | 74 6f 63 6f 6c 57 72 61 70 70 65 72 94 85 94 81 94 7d 94 28 6a bf 02 00 00 68 27 6a cd 02 00 00 | tocolWrapper.....}.(j....h'j.... |
88a0 | 6a c7 0b 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a 2c 03 00 00 5d 94 6a 2e 03 00 00 5d 94 6a 30 | j....ubaj....}.(j,...].j....].j0 |
88c0 | 03 00 00 5d 94 6a 32 03 00 00 5d 94 6a 34 03 00 00 5d 94 75 6a db 02 00 00 6a 75 0a 00 00 6a cd | ...].j2...].j4...].uj....ju...j. |
88e0 | 02 00 00 6a c4 0b 00 00 75 62 6a c8 02 00 00 8c 07 20 4d 6f 64 75 6c 65 94 85 94 81 94 7d 94 28 | ...j....ubj.......Module.....}.( |
8900 | 6a bf 02 00 00 8c 07 20 4d 6f 64 75 6c 65 94 6a cd 02 00 00 6a c4 0b 00 00 75 62 65 6a ce 02 00 | j.......Module.j....j....ubej... |
8920 | 00 7d 94 28 6a 2c 03 00 00 5d 94 6a 2e 03 00 00 5d 94 6a 30 03 00 00 5d 94 6a 32 03 00 00 5d 94 | .}.(j,...].j....].j0...].j2...]. |
8940 | 6a 34 03 00 00 5d 94 8c 08 69 6e 74 65 72 6e 61 6c 94 88 8c 06 72 65 66 75 72 69 94 6a 5c 02 00 | j4...]...internal....refuri.j\.. |
8960 | 00 8c 0a 61 6e 63 68 6f 72 6e 61 6d 65 94 8c 2b 23 6d 6f 64 75 6c 65 2d 4d 32 43 72 79 70 74 6f | ...anchorname..+#module-M2Crypto |
8980 | 2e 53 53 4c 2e 54 77 69 73 74 65 64 50 72 6f 74 6f 63 6f 6c 57 72 61 70 70 65 72 94 75 6a db 02 | .SSL.TwistedProtocolWrapper.uj.. |
89a0 | 00 00 6a 51 0a 00 00 6a cd 02 00 00 6a c1 0b 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a 2c 03 00 | ..jQ...j....j....ubaj....}.(j,.. |
89c0 | 00 5d 94 6a 2e 03 00 00 5d 94 6a 30 03 00 00 5d 94 6a 32 03 00 00 5d 94 6a 34 03 00 00 5d 94 75 | .].j....].j0...].j2...].j4...].u |
89e0 | 6a db 02 00 00 6a 58 0a 00 00 6a cd 02 00 00 6a be 0b 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a | j....jX...j....j....ubaj....}.(j |
8a00 | 2c 03 00 00 5d 94 6a 2e 03 00 00 5d 94 6a 30 03 00 00 5d 94 6a 32 03 00 00 5d 94 6a 34 03 00 00 | ,...].j....].j0...].j2...].j4... |
8a20 | 5d 94 75 6a db 02 00 00 6a 91 0a 00 00 6a cd 02 00 00 6a 59 0a 00 00 75 62 6a 54 03 00 00 29 81 | ].uj....j....j....jY...ubjT...). |
8a40 | 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5a 03 00 00 29 81 94 7d 94 28 6a bf 02 | .}.(j....h'j....].jZ...)..}.(j.. |
8a60 | 00 00 68 27 6a c0 02 00 00 5d 94 6a 5f 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 | ..h'j....].j_...)..}.(j....h'j.. |
8a80 | 00 00 5d 94 28 6a 66 0a 00 00 29 81 94 7d 94 28 6a bf 02 00 00 8c 02 63 62 94 6a c0 02 00 00 5d | ..].(jf...)..}.(j......cb.j....] |
8aa0 | 94 6a c8 02 00 00 8c 02 63 62 94 85 94 81 94 7d 94 28 6a bf 02 00 00 68 27 6a cd 02 00 00 6a f9 | .j......cb.....}.(j....h'j....j. |
8ac0 | 0b 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a 2c 03 00 00 5d 94 6a 2e 03 00 00 5d 94 6a 30 03 00 | ...ubaj....}.(j,...].j....].j0.. |
8ae0 | 00 5d 94 6a 32 03 00 00 5d 94 6a 34 03 00 00 5d 94 75 6a db 02 00 00 6a 75 0a 00 00 6a cd 02 00 | .].j2...].j4...].uj....ju...j... |
8b00 | 00 6a f6 0b 00 00 75 62 6a c8 02 00 00 8c 07 20 4d 6f 64 75 6c 65 94 85 94 81 94 7d 94 28 6a bf | .j....ubj.......Module.....}.(j. |
8b20 | 02 00 00 8c 07 20 4d 6f 64 75 6c 65 94 6a cd 02 00 00 6a f6 0b 00 00 75 62 65 6a ce 02 00 00 7d | ......Module.j....j....ubej....} |
8b40 | 94 28 6a 2c 03 00 00 5d 94 6a 2e 03 00 00 5d 94 6a 30 03 00 00 5d 94 6a 32 03 00 00 5d 94 6a 34 | .(j,...].j....].j0...].j2...].j4 |
8b60 | 03 00 00 5d 94 8c 08 69 6e 74 65 72 6e 61 6c 94 88 8c 06 72 65 66 75 72 69 94 6a 5c 02 00 00 8c | ...]...internal....refuri.j\.... |
8b80 | 0a 61 6e 63 68 6f 72 6e 61 6d 65 94 8c 17 23 6d 6f 64 75 6c 65 2d 4d 32 43 72 79 70 74 6f 2e 53 | .anchorname...#module-M2Crypto.S |
8ba0 | 53 4c 2e 63 62 94 75 6a db 02 00 00 6a 51 0a 00 00 6a cd 02 00 00 6a f3 0b 00 00 75 62 61 6a ce | SL.cb.uj....jQ...j....j....ubaj. |
8bc0 | 02 00 00 7d 94 28 6a 2c 03 00 00 5d 94 6a 2e 03 00 00 5d 94 6a 30 03 00 00 5d 94 6a 32 03 00 00 | ...}.(j,...].j....].j0...].j2... |
8be0 | 5d 94 6a 34 03 00 00 5d 94 75 6a db 02 00 00 6a 58 0a 00 00 6a cd 02 00 00 6a f0 0b 00 00 75 62 | ].j4...].uj....jX...j....j....ub |
8c00 | 61 6a ce 02 00 00 7d 94 28 6a 2c 03 00 00 5d 94 6a 2e 03 00 00 5d 94 6a 30 03 00 00 5d 94 6a 32 | aj....}.(j,...].j....].j0...].j2 |
8c20 | 03 00 00 5d 94 6a 34 03 00 00 5d 94 75 6a db 02 00 00 6a 91 0a 00 00 6a cd 02 00 00 6a 59 0a 00 | ...].j4...].uj....j....j....jY.. |
8c40 | 00 75 62 6a 54 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5a 03 00 | .ubjT...)..}.(j....h'j....].jZ.. |
8c60 | 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5f 03 00 00 29 81 94 7d 94 28 | .)..}.(j....h'j....].j_...)..}.( |
8c80 | 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 28 6a 66 0a 00 00 29 81 94 7d 94 28 6a bf 02 00 00 8c | j....h'j....].(jf...)..}.(j..... |
8ca0 | 0e 73 73 6c 5f 64 69 73 70 61 74 63 68 65 72 94 6a c0 02 00 00 5d 94 6a c8 02 00 00 8c 0e 73 73 | .ssl_dispatcher.j....].j......ss |
8cc0 | 6c 5f 64 69 73 70 61 74 63 68 65 72 94 85 94 81 94 7d 94 28 6a bf 02 00 00 68 27 6a cd 02 00 00 | l_dispatcher.....}.(j....h'j.... |
8ce0 | 6a 2b 0c 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a 2c 03 00 00 5d 94 6a 2e 03 00 00 5d 94 6a 30 | j+...ubaj....}.(j,...].j....].j0 |
8d00 | 03 00 00 5d 94 6a 32 03 00 00 5d 94 6a 34 03 00 00 5d 94 75 6a db 02 00 00 6a 75 0a 00 00 6a cd | ...].j2...].j4...].uj....ju...j. |
8d20 | 02 00 00 6a 28 0c 00 00 75 62 6a c8 02 00 00 8c 07 20 4d 6f 64 75 6c 65 94 85 94 81 94 7d 94 28 | ...j(...ubj.......Module.....}.( |
8d40 | 6a bf 02 00 00 8c 07 20 4d 6f 64 75 6c 65 94 6a cd 02 00 00 6a 28 0c 00 00 75 62 65 6a ce 02 00 | j.......Module.j....j(...ubej... |
8d60 | 00 7d 94 28 6a 2c 03 00 00 5d 94 6a 2e 03 00 00 5d 94 6a 30 03 00 00 5d 94 6a 32 03 00 00 5d 94 | .}.(j,...].j....].j0...].j2...]. |
8d80 | 6a 34 03 00 00 5d 94 8c 08 69 6e 74 65 72 6e 61 6c 94 88 8c 06 72 65 66 75 72 69 94 6a 5c 02 00 | j4...]...internal....refuri.j\.. |
8da0 | 00 8c 0a 61 6e 63 68 6f 72 6e 61 6d 65 94 8c 23 23 6d 6f 64 75 6c 65 2d 4d 32 43 72 79 70 74 6f | ...anchorname..##module-M2Crypto |
8dc0 | 2e 53 53 4c 2e 73 73 6c 5f 64 69 73 70 61 74 63 68 65 72 94 75 6a db 02 00 00 6a 51 0a 00 00 6a | .SSL.ssl_dispatcher.uj....jQ...j |
8de0 | cd 02 00 00 6a 25 0c 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a 2c 03 00 00 5d 94 6a 2e 03 00 00 | ....j%...ubaj....}.(j,...].j.... |
8e00 | 5d 94 6a 30 03 00 00 5d 94 6a 32 03 00 00 5d 94 6a 34 03 00 00 5d 94 75 6a db 02 00 00 6a 58 0a | ].j0...].j2...].j4...].uj....jX. |
8e20 | 00 00 6a cd 02 00 00 6a 22 0c 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a 2c 03 00 00 5d 94 6a 2e | ..j....j"...ubaj....}.(j,...].j. |
8e40 | 03 00 00 5d 94 6a 30 03 00 00 5d 94 6a 32 03 00 00 5d 94 6a 34 03 00 00 5d 94 75 6a db 02 00 00 | ...].j0...].j2...].j4...].uj.... |
8e60 | 6a 91 0a 00 00 6a cd 02 00 00 6a 59 0a 00 00 75 62 6a 54 03 00 00 29 81 94 7d 94 28 6a bf 02 00 | j....j....jY...ubjT...)..}.(j... |
8e80 | 00 68 27 6a c0 02 00 00 5d 94 6a 5a 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 | .h'j....].jZ...)..}.(j....h'j... |
8ea0 | 00 5d 94 6a 5f 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 28 6a 66 0a | .].j_...)..}.(j....h'j....].(jf. |
8ec0 | 00 00 29 81 94 7d 94 28 6a bf 02 00 00 8c 07 74 69 6d 65 6f 75 74 94 6a c0 02 00 00 5d 94 6a c8 | ..)..}.(j......timeout.j....].j. |
8ee0 | 02 00 00 8c 07 74 69 6d 65 6f 75 74 94 85 94 81 94 7d 94 28 6a bf 02 00 00 68 27 6a cd 02 00 00 | .....timeout.....}.(j....h'j.... |
8f00 | 6a 5d 0c 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a 2c 03 00 00 5d 94 6a 2e 03 00 00 5d 94 6a 30 | j]...ubaj....}.(j,...].j....].j0 |
8f20 | 03 00 00 5d 94 6a 32 03 00 00 5d 94 6a 34 03 00 00 5d 94 75 6a db 02 00 00 6a 75 0a 00 00 6a cd | ...].j2...].j4...].uj....ju...j. |
8f40 | 02 00 00 6a 5a 0c 00 00 75 62 6a c8 02 00 00 8c 07 20 4d 6f 64 75 6c 65 94 85 94 81 94 7d 94 28 | ...jZ...ubj.......Module.....}.( |
8f60 | 6a bf 02 00 00 8c 07 20 4d 6f 64 75 6c 65 94 6a cd 02 00 00 6a 5a 0c 00 00 75 62 65 6a ce 02 00 | j.......Module.j....jZ...ubej... |
8f80 | 00 7d 94 28 6a 2c 03 00 00 5d 94 6a 2e 03 00 00 5d 94 6a 30 03 00 00 5d 94 6a 32 03 00 00 5d 94 | .}.(j,...].j....].j0...].j2...]. |
8fa0 | 6a 34 03 00 00 5d 94 8c 08 69 6e 74 65 72 6e 61 6c 94 88 8c 06 72 65 66 75 72 69 94 6a 5c 02 00 | j4...]...internal....refuri.j\.. |
8fc0 | 00 8c 0a 61 6e 63 68 6f 72 6e 61 6d 65 94 8c 1c 23 6d 6f 64 75 6c 65 2d 4d 32 43 72 79 70 74 6f | ...anchorname...#module-M2Crypto |
8fe0 | 2e 53 53 4c 2e 74 69 6d 65 6f 75 74 94 75 6a db 02 00 00 6a 51 0a 00 00 6a cd 02 00 00 6a 57 0c | .SSL.timeout.uj....jQ...j....jW. |
9000 | 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a 2c 03 00 00 5d 94 6a 2e 03 00 00 5d 94 6a 30 03 00 00 | ..ubaj....}.(j,...].j....].j0... |
9020 | 5d 94 6a 32 03 00 00 5d 94 6a 34 03 00 00 5d 94 75 6a db 02 00 00 6a 58 0a 00 00 6a cd 02 00 00 | ].j2...].j4...].uj....jX...j.... |
9040 | 6a 54 0c 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a 2c 03 00 00 5d 94 6a 2e 03 00 00 5d 94 6a 30 | jT...ubaj....}.(j,...].j....].j0 |
9060 | 03 00 00 5d 94 6a 32 03 00 00 5d 94 6a 34 03 00 00 5d 94 75 6a db 02 00 00 6a 91 0a 00 00 6a cd | ...].j2...].j4...].uj....j....j. |
9080 | 02 00 00 6a 59 0a 00 00 75 62 65 6a ce 02 00 00 7d 94 28 6a 2c 03 00 00 5d 94 6a 2e 03 00 00 5d | ...jY...ubej....}.(j,...].j....] |
90a0 | 94 6a 30 03 00 00 5d 94 6a 32 03 00 00 5d 94 6a 34 03 00 00 5d 94 75 6a db 02 00 00 8c 0b 62 75 | .j0...].j2...].j4...].uj......bu |
90c0 | 6c 6c 65 74 5f 6c 69 73 74 94 6a cd 02 00 00 6a 3b 0a 00 00 75 62 65 6a ce 02 00 00 7d 94 28 6a | llet_list.j....j;...ubej....}.(j |
90e0 | 2c 03 00 00 5d 94 6a 2e 03 00 00 5d 94 6a 30 03 00 00 5d 94 6a 32 03 00 00 5d 94 6a 34 03 00 00 | ,...].j....].j0...].j2...].j4... |
9100 | 5d 94 75 6a db 02 00 00 6a 91 0a 00 00 6a cd 02 00 00 6a 38 0a 00 00 75 62 61 6a ce 02 00 00 7d | ].uj....j....j....j8...ubaj....} |
9120 | 94 28 6a 2c 03 00 00 5d 94 6a 2e 03 00 00 5d 94 6a 30 03 00 00 5d 94 6a 32 03 00 00 5d 94 6a 34 | .(j,...].j....].j0...].j2...].j4 |
9140 | 03 00 00 5d 94 75 6a db 02 00 00 6a 8c 0c 00 00 75 62 6a 53 02 00 00 6a 4f 03 00 00 29 81 94 7d | ...].uj....j....ubjS...jO...)..} |
9160 | 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 54 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 | .(j....h'j....].jT...)..}.(j.... |
9180 | 68 27 6a c0 02 00 00 5d 94 28 6a 5a 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 | h'j....].(jZ...)..}.(j....h'j... |
91a0 | 00 5d 94 6a 5f 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a c8 02 00 | .].j_...)..}.(j....h'j....].j... |
91c0 | 00 8c 10 4d 32 43 72 79 70 74 6f 20 50 61 63 6b 61 67 65 94 85 94 81 94 7d 94 28 6a bf 02 00 00 | ...M2Crypto.Package.....}.(j.... |
91e0 | 6a 3e 03 00 00 6a cd 02 00 00 6a a2 0c 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a 40 03 00 00 5d | j>...j....j....ubaj....}.(j@...] |
9200 | 94 6a 42 03 00 00 5d 94 6a 44 03 00 00 5d 94 6a 46 03 00 00 5d 94 6a 48 03 00 00 5d 94 8c 08 69 | .jB...].jD...].jF...].jH...]...i |
9220 | 6e 74 65 72 6e 61 6c 94 88 8c 06 72 65 66 75 72 69 94 6a 53 02 00 00 8c 0a 61 6e 63 68 6f 72 6e | nternal....refuri.jS.....anchorn |
9240 | 61 6d 65 94 68 27 75 6a db 02 00 00 6a 5e 03 00 00 6a cd 02 00 00 6a 9f 0c 00 00 75 62 61 6a ce | ame.h'uj....j^...j....j....ubaj. |
9260 | 02 00 00 7d 94 28 6a 40 03 00 00 5d 94 6a 42 03 00 00 5d 94 6a 44 03 00 00 5d 94 6a 46 03 00 00 | ...}.(j@...].jB...].jD...].jF... |
9280 | 5d 94 6a 48 03 00 00 5d 94 75 6a db 02 00 00 6a 59 03 00 00 6a cd 02 00 00 6a 9c 0c 00 00 75 62 | ].jH...].uj....jY...j....j....ub |
92a0 | 6a 4f 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 28 6a 54 03 00 00 29 | jO...)..}.(j....h'j....].(jT...) |
92c0 | 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5a 03 00 00 29 81 94 7d 94 28 6a bf | ..}.(j....h'j....].jZ...)..}.(j. |
92e0 | 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5f 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 | ...h'j....].j_...)..}.(j....h'j. |
9300 | 02 00 00 5d 94 28 6a 66 0a 00 00 29 81 94 7d 94 28 6a bf 02 00 00 8c 08 4d 32 43 72 79 70 74 6f | ...].(jf...)..}.(j......M2Crypto |
9320 | 94 6a c0 02 00 00 5d 94 6a c8 02 00 00 8c 08 4d 32 43 72 79 70 74 6f 94 85 94 81 94 7d 94 28 6a | .j....].j......M2Crypto.....}.(j |
9340 | bf 02 00 00 68 27 6a cd 02 00 00 6a c4 0c 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a 40 03 00 00 | ....h'j....j....ubaj....}.(j@... |
9360 | 5d 94 6a 42 03 00 00 5d 94 6a 44 03 00 00 5d 94 6a 46 03 00 00 5d 94 6a 48 03 00 00 5d 94 75 6a | ].jB...].jD...].jF...].jH...].uj |
9380 | db 02 00 00 6a 65 0a 00 00 6a cd 02 00 00 6a c1 0c 00 00 75 62 6a c8 02 00 00 8c 08 20 50 61 63 | ....je...j....j....ubj.......Pac |
93a0 | 6b 61 67 65 94 85 94 81 94 7d 94 28 6a bf 02 00 00 8c 08 20 50 61 63 6b 61 67 65 94 6a cd 02 00 | kage.....}.(j.......Package.j... |
93c0 | 00 6a c1 0c 00 00 75 62 65 6a ce 02 00 00 7d 94 28 6a 40 03 00 00 5d 94 6a 42 03 00 00 5d 94 6a | .j....ubej....}.(j@...].jB...].j |
93e0 | 44 03 00 00 5d 94 6a 46 03 00 00 5d 94 6a 48 03 00 00 5d 94 8c 08 69 6e 74 65 72 6e 61 6c 94 88 | D...].jF...].jH...]...internal.. |
9400 | 8c 06 72 65 66 75 72 69 94 6a 53 02 00 00 8c 0a 61 6e 63 68 6f 72 6e 61 6d 65 94 8c 04 23 69 64 | ..refuri.jS.....anchorname...#id |
9420 | 31 94 75 6a db 02 00 00 6a 5e 03 00 00 6a cd 02 00 00 6a be 0c 00 00 75 62 61 6a ce 02 00 00 7d | 1.uj....j^...j....j....ubaj....} |
9440 | 94 28 6a 40 03 00 00 5d 94 6a 42 03 00 00 5d 94 6a 44 03 00 00 5d 94 6a 46 03 00 00 5d 94 6a 48 | .(j@...].jB...].jD...].jF...].jH |
9460 | 03 00 00 5d 94 75 6a db 02 00 00 6a 59 03 00 00 6a cd 02 00 00 6a bb 0c 00 00 75 62 61 6a ce 02 | ...].uj....jY...j....j....ubaj.. |
9480 | 00 00 7d 94 28 6a 40 03 00 00 5d 94 6a 42 03 00 00 5d 94 6a 44 03 00 00 5d 94 6a 46 03 00 00 5d | ..}.(j@...].jB...].jD...].jF...] |
94a0 | 94 6a 48 03 00 00 5d 94 75 6a db 02 00 00 6a 53 03 00 00 6a cd 02 00 00 6a b8 0c 00 00 75 62 6a | .jH...].uj....jS...j....j....ubj |
94c0 | 54 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5a 03 00 00 29 81 94 | T...)..}.(j....h'j....].jZ...).. |
94e0 | 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5f 03 00 00 29 81 94 7d 94 28 6a bf 02 00 | }.(j....h'j....].j_...)..}.(j... |
9500 | 00 68 27 6a c0 02 00 00 5d 94 28 6a 66 0a 00 00 29 81 94 7d 94 28 6a bf 02 00 00 8c 04 41 53 4e | .h'j....].(jf...)..}.(j......ASN |
9520 | 31 94 6a c0 02 00 00 5d 94 6a c8 02 00 00 8c 04 41 53 4e 31 94 85 94 81 94 7d 94 28 6a bf 02 00 | 1.j....].j......ASN1.....}.(j... |
9540 | 00 68 27 6a cd 02 00 00 6a f6 0c 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a 40 03 00 00 5d 94 6a | .h'j....j....ubaj....}.(j@...].j |
9560 | 42 03 00 00 5d 94 6a 44 03 00 00 5d 94 6a 46 03 00 00 5d 94 6a 48 03 00 00 5d 94 75 6a db 02 00 | B...].jD...].jF...].jH...].uj... |
9580 | 00 6a 65 0a 00 00 6a cd 02 00 00 6a f3 0c 00 00 75 62 6a c8 02 00 00 8c 07 20 4d 6f 64 75 6c 65 | .je...j....j....ubj.......Module |
95a0 | 94 85 94 81 94 7d 94 28 6a bf 02 00 00 8c 07 20 4d 6f 64 75 6c 65 94 6a cd 02 00 00 6a f3 0c 00 | .....}.(j.......Module.j....j... |
95c0 | 00 75 62 65 6a ce 02 00 00 7d 94 28 6a 40 03 00 00 5d 94 6a 42 03 00 00 5d 94 6a 44 03 00 00 5d | .ubej....}.(j@...].jB...].jD...] |
95e0 | 94 6a 46 03 00 00 5d 94 6a 48 03 00 00 5d 94 8c 08 69 6e 74 65 72 6e 61 6c 94 88 8c 06 72 65 66 | .jF...].jH...]...internal....ref |
9600 | 75 72 69 94 6a 53 02 00 00 8c 0a 61 6e 63 68 6f 72 6e 61 6d 65 94 8c 15 23 6d 6f 64 75 6c 65 2d | uri.jS.....anchorname...#module- |
9620 | 4d 32 43 72 79 70 74 6f 2e 41 53 4e 31 94 75 6a db 02 00 00 6a 5e 03 00 00 6a cd 02 00 00 6a f0 | M2Crypto.ASN1.uj....j^...j....j. |
9640 | 0c 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a 40 03 00 00 5d 94 6a 42 03 00 00 5d 94 6a 44 03 00 | ...ubaj....}.(j@...].jB...].jD.. |
9660 | 00 5d 94 6a 46 03 00 00 5d 94 6a 48 03 00 00 5d 94 75 6a db 02 00 00 6a 59 03 00 00 6a cd 02 00 | .].jF...].jH...].uj....jY...j... |
9680 | 00 6a ed 0c 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a 40 03 00 00 5d 94 6a 42 03 00 00 5d 94 6a | .j....ubaj....}.(j@...].jB...].j |
96a0 | 44 03 00 00 5d 94 6a 46 03 00 00 5d 94 6a 48 03 00 00 5d 94 75 6a db 02 00 00 6a 53 03 00 00 6a | D...].jF...].jH...].uj....jS...j |
96c0 | cd 02 00 00 6a b8 0c 00 00 75 62 6a 54 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 | ....j....ubjT...)..}.(j....h'j.. |
96e0 | 00 00 5d 94 6a 5a 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5f 03 | ..].jZ...)..}.(j....h'j....].j_. |
9700 | 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 28 6a 66 0a 00 00 29 81 94 7d | ..)..}.(j....h'j....].(jf...)..} |
9720 | 94 28 6a bf 02 00 00 8c 0a 41 75 74 68 43 6f 6f 6b 69 65 94 6a c0 02 00 00 5d 94 6a c8 02 00 00 | .(j......AuthCookie.j....].j.... |
9740 | 8c 0a 41 75 74 68 43 6f 6f 6b 69 65 94 85 94 81 94 7d 94 28 6a bf 02 00 00 68 27 6a cd 02 00 00 | ..AuthCookie.....}.(j....h'j.... |
9760 | 6a 28 0d 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a 40 03 00 00 5d 94 6a 42 03 00 00 5d 94 6a 44 | j(...ubaj....}.(j@...].jB...].jD |
9780 | 03 00 00 5d 94 6a 46 03 00 00 5d 94 6a 48 03 00 00 5d 94 75 6a db 02 00 00 6a 65 0a 00 00 6a cd | ...].jF...].jH...].uj....je...j. |
97a0 | 02 00 00 6a 25 0d 00 00 75 62 6a c8 02 00 00 8c 07 20 4d 6f 64 75 6c 65 94 85 94 81 94 7d 94 28 | ...j%...ubj.......Module.....}.( |
97c0 | 6a bf 02 00 00 8c 07 20 4d 6f 64 75 6c 65 94 6a cd 02 00 00 6a 25 0d 00 00 75 62 65 6a ce 02 00 | j.......Module.j....j%...ubej... |
97e0 | 00 7d 94 28 6a 40 03 00 00 5d 94 6a 42 03 00 00 5d 94 6a 44 03 00 00 5d 94 6a 46 03 00 00 5d 94 | .}.(j@...].jB...].jD...].jF...]. |
9800 | 6a 48 03 00 00 5d 94 8c 08 69 6e 74 65 72 6e 61 6c 94 88 8c 06 72 65 66 75 72 69 94 6a 53 02 00 | jH...]...internal....refuri.jS.. |
9820 | 00 8c 0a 61 6e 63 68 6f 72 6e 61 6d 65 94 8c 1b 23 6d 6f 64 75 6c 65 2d 4d 32 43 72 79 70 74 6f | ...anchorname...#module-M2Crypto |
9840 | 2e 41 75 74 68 43 6f 6f 6b 69 65 94 75 6a db 02 00 00 6a 5e 03 00 00 6a cd 02 00 00 6a 22 0d 00 | .AuthCookie.uj....j^...j....j".. |
9860 | 00 75 62 61 6a ce 02 00 00 7d 94 28 6a 40 03 00 00 5d 94 6a 42 03 00 00 5d 94 6a 44 03 00 00 5d | .ubaj....}.(j@...].jB...].jD...] |
9880 | 94 6a 46 03 00 00 5d 94 6a 48 03 00 00 5d 94 75 6a db 02 00 00 6a 59 03 00 00 6a cd 02 00 00 6a | .jF...].jH...].uj....jY...j....j |
98a0 | 1f 0d 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a 40 03 00 00 5d 94 6a 42 03 00 00 5d 94 6a 44 03 | ....ubaj....}.(j@...].jB...].jD. |
98c0 | 00 00 5d 94 6a 46 03 00 00 5d 94 6a 48 03 00 00 5d 94 75 6a db 02 00 00 6a 53 03 00 00 6a cd 02 | ..].jF...].jH...].uj....jS...j.. |
98e0 | 00 00 6a b8 0c 00 00 75 62 6a 54 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 | ..j....ubjT...)..}.(j....h'j.... |
9900 | 5d 94 6a 5a 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5f 03 00 00 | ].jZ...)..}.(j....h'j....].j_... |
9920 | 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 28 6a 66 0a 00 00 29 81 94 7d 94 28 | )..}.(j....h'j....].(jf...)..}.( |
9940 | 6a bf 02 00 00 8c 03 42 49 4f 94 6a c0 02 00 00 5d 94 6a c8 02 00 00 8c 03 42 49 4f 94 85 94 81 | j......BIO.j....].j......BIO.... |
9960 | 94 7d 94 28 6a bf 02 00 00 68 27 6a cd 02 00 00 6a 5a 0d 00 00 75 62 61 6a ce 02 00 00 7d 94 28 | .}.(j....h'j....jZ...ubaj....}.( |
9980 | 6a 40 03 00 00 5d 94 6a 42 03 00 00 5d 94 6a 44 03 00 00 5d 94 6a 46 03 00 00 5d 94 6a 48 03 00 | j@...].jB...].jD...].jF...].jH.. |
99a0 | 00 5d 94 75 6a db 02 00 00 6a 65 0a 00 00 6a cd 02 00 00 6a 57 0d 00 00 75 62 6a c8 02 00 00 8c | .].uj....je...j....jW...ubj..... |
99c0 | 07 20 4d 6f 64 75 6c 65 94 85 94 81 94 7d 94 28 6a bf 02 00 00 8c 07 20 4d 6f 64 75 6c 65 94 6a | ..Module.....}.(j.......Module.j |
99e0 | cd 02 00 00 6a 57 0d 00 00 75 62 65 6a ce 02 00 00 7d 94 28 6a 40 03 00 00 5d 94 6a 42 03 00 00 | ....jW...ubej....}.(j@...].jB... |
9a00 | 5d 94 6a 44 03 00 00 5d 94 6a 46 03 00 00 5d 94 6a 48 03 00 00 5d 94 8c 08 69 6e 74 65 72 6e 61 | ].jD...].jF...].jH...]...interna |
9a20 | 6c 94 88 8c 06 72 65 66 75 72 69 94 6a 53 02 00 00 8c 0a 61 6e 63 68 6f 72 6e 61 6d 65 94 8c 14 | l....refuri.jS.....anchorname... |
9a40 | 23 6d 6f 64 75 6c 65 2d 4d 32 43 72 79 70 74 6f 2e 42 49 4f 94 75 6a db 02 00 00 6a 5e 03 00 00 | #module-M2Crypto.BIO.uj....j^... |
9a60 | 6a cd 02 00 00 6a 54 0d 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a 40 03 00 00 5d 94 6a 42 03 00 | j....jT...ubaj....}.(j@...].jB.. |
9a80 | 00 5d 94 6a 44 03 00 00 5d 94 6a 46 03 00 00 5d 94 6a 48 03 00 00 5d 94 75 6a db 02 00 00 6a 59 | .].jD...].jF...].jH...].uj....jY |
9aa0 | 03 00 00 6a cd 02 00 00 6a 51 0d 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a 40 03 00 00 5d 94 6a | ...j....jQ...ubaj....}.(j@...].j |
9ac0 | 42 03 00 00 5d 94 6a 44 03 00 00 5d 94 6a 46 03 00 00 5d 94 6a 48 03 00 00 5d 94 75 6a db 02 00 | B...].jD...].jF...].jH...].uj... |
9ae0 | 00 6a 53 03 00 00 6a cd 02 00 00 6a b8 0c 00 00 75 62 6a 54 03 00 00 29 81 94 7d 94 28 6a bf 02 | .jS...j....j....ubjT...)..}.(j.. |
9b00 | 00 00 68 27 6a c0 02 00 00 5d 94 6a 5a 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 | ..h'j....].jZ...)..}.(j....h'j.. |
9b20 | 00 00 5d 94 6a 5f 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 28 6a 66 | ..].j_...)..}.(j....h'j....].(jf |
9b40 | 0a 00 00 29 81 94 7d 94 28 6a bf 02 00 00 8c 02 42 4e 94 6a c0 02 00 00 5d 94 6a c8 02 00 00 8c | ...)..}.(j......BN.j....].j..... |
9b60 | 02 42 4e 94 85 94 81 94 7d 94 28 6a bf 02 00 00 68 27 6a cd 02 00 00 6a 8c 0d 00 00 75 62 61 6a | .BN.....}.(j....h'j....j....ubaj |
9b80 | ce 02 00 00 7d 94 28 6a 40 03 00 00 5d 94 6a 42 03 00 00 5d 94 6a 44 03 00 00 5d 94 6a 46 03 00 | ....}.(j@...].jB...].jD...].jF.. |
9ba0 | 00 5d 94 6a 48 03 00 00 5d 94 75 6a db 02 00 00 6a 65 0a 00 00 6a cd 02 00 00 6a 89 0d 00 00 75 | .].jH...].uj....je...j....j....u |
9bc0 | 62 6a c8 02 00 00 8c 07 20 4d 6f 64 75 6c 65 94 85 94 81 94 7d 94 28 6a bf 02 00 00 8c 07 20 4d | bj.......Module.....}.(j.......M |
9be0 | 6f 64 75 6c 65 94 6a cd 02 00 00 6a 89 0d 00 00 75 62 65 6a ce 02 00 00 7d 94 28 6a 40 03 00 00 | odule.j....j....ubej....}.(j@... |
9c00 | 5d 94 6a 42 03 00 00 5d 94 6a 44 03 00 00 5d 94 6a 46 03 00 00 5d 94 6a 48 03 00 00 5d 94 8c 08 | ].jB...].jD...].jF...].jH...]... |
9c20 | 69 6e 74 65 72 6e 61 6c 94 88 8c 06 72 65 66 75 72 69 94 6a 53 02 00 00 8c 0a 61 6e 63 68 6f 72 | internal....refuri.jS.....anchor |
9c40 | 6e 61 6d 65 94 8c 13 23 6d 6f 64 75 6c 65 2d 4d 32 43 72 79 70 74 6f 2e 42 4e 94 75 6a db 02 00 | name...#module-M2Crypto.BN.uj... |
9c60 | 00 6a 5e 03 00 00 6a cd 02 00 00 6a 86 0d 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a 40 03 00 00 | .j^...j....j....ubaj....}.(j@... |
9c80 | 5d 94 6a 42 03 00 00 5d 94 6a 44 03 00 00 5d 94 6a 46 03 00 00 5d 94 6a 48 03 00 00 5d 94 75 6a | ].jB...].jD...].jF...].jH...].uj |
9ca0 | db 02 00 00 6a 59 03 00 00 6a cd 02 00 00 6a 83 0d 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a 40 | ....jY...j....j....ubaj....}.(j@ |
9cc0 | 03 00 00 5d 94 6a 42 03 00 00 5d 94 6a 44 03 00 00 5d 94 6a 46 03 00 00 5d 94 6a 48 03 00 00 5d | ...].jB...].jD...].jF...].jH...] |
9ce0 | 94 75 6a db 02 00 00 6a 53 03 00 00 6a cd 02 00 00 6a b8 0c 00 00 75 62 6a 54 03 00 00 29 81 94 | .uj....jS...j....j....ubjT...).. |
9d00 | 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5a 03 00 00 29 81 94 7d 94 28 6a bf 02 00 | }.(j....h'j....].jZ...)..}.(j... |
9d20 | 00 68 27 6a c0 02 00 00 5d 94 6a 5f 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 | .h'j....].j_...)..}.(j....h'j... |
9d40 | 00 5d 94 28 6a 66 0a 00 00 29 81 94 7d 94 28 6a bf 02 00 00 8c 02 44 48 94 6a c0 02 00 00 5d 94 | .].(jf...)..}.(j......DH.j....]. |
9d60 | 6a c8 02 00 00 8c 02 44 48 94 85 94 81 94 7d 94 28 6a bf 02 00 00 68 27 6a cd 02 00 00 6a be 0d | j......DH.....}.(j....h'j....j.. |
9d80 | 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a 40 03 00 00 5d 94 6a 42 03 00 00 5d 94 6a 44 03 00 00 | ..ubaj....}.(j@...].jB...].jD... |
9da0 | 5d 94 6a 46 03 00 00 5d 94 6a 48 03 00 00 5d 94 75 6a db 02 00 00 6a 65 0a 00 00 6a cd 02 00 00 | ].jF...].jH...].uj....je...j.... |
9dc0 | 6a bb 0d 00 00 75 62 6a c8 02 00 00 8c 07 20 4d 6f 64 75 6c 65 94 85 94 81 94 7d 94 28 6a bf 02 | j....ubj.......Module.....}.(j.. |
9de0 | 00 00 8c 07 20 4d 6f 64 75 6c 65 94 6a cd 02 00 00 6a bb 0d 00 00 75 62 65 6a ce 02 00 00 7d 94 | .....Module.j....j....ubej....}. |
9e00 | 28 6a 40 03 00 00 5d 94 6a 42 03 00 00 5d 94 6a 44 03 00 00 5d 94 6a 46 03 00 00 5d 94 6a 48 03 | (j@...].jB...].jD...].jF...].jH. |
9e20 | 00 00 5d 94 8c 08 69 6e 74 65 72 6e 61 6c 94 88 8c 06 72 65 66 75 72 69 94 6a 53 02 00 00 8c 0a | ..]...internal....refuri.jS..... |
9e40 | 61 6e 63 68 6f 72 6e 61 6d 65 94 8c 13 23 6d 6f 64 75 6c 65 2d 4d 32 43 72 79 70 74 6f 2e 44 48 | anchorname...#module-M2Crypto.DH |
9e60 | 94 75 6a db 02 00 00 6a 5e 03 00 00 6a cd 02 00 00 6a b8 0d 00 00 75 62 61 6a ce 02 00 00 7d 94 | .uj....j^...j....j....ubaj....}. |
9e80 | 28 6a 40 03 00 00 5d 94 6a 42 03 00 00 5d 94 6a 44 03 00 00 5d 94 6a 46 03 00 00 5d 94 6a 48 03 | (j@...].jB...].jD...].jF...].jH. |
9ea0 | 00 00 5d 94 75 6a db 02 00 00 6a 59 03 00 00 6a cd 02 00 00 6a b5 0d 00 00 75 62 61 6a ce 02 00 | ..].uj....jY...j....j....ubaj... |
9ec0 | 00 7d 94 28 6a 40 03 00 00 5d 94 6a 42 03 00 00 5d 94 6a 44 03 00 00 5d 94 6a 46 03 00 00 5d 94 | .}.(j@...].jB...].jD...].jF...]. |
9ee0 | 6a 48 03 00 00 5d 94 75 6a db 02 00 00 6a 53 03 00 00 6a cd 02 00 00 6a b8 0c 00 00 75 62 6a 54 | jH...].uj....jS...j....j....ubjT |
9f00 | 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5a 03 00 00 29 81 94 7d | ...)..}.(j....h'j....].jZ...)..} |
9f20 | 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5f 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 | .(j....h'j....].j_...)..}.(j.... |
9f40 | 68 27 6a c0 02 00 00 5d 94 28 6a 66 0a 00 00 29 81 94 7d 94 28 6a bf 02 00 00 8c 03 44 53 41 94 | h'j....].(jf...)..}.(j......DSA. |
9f60 | 6a c0 02 00 00 5d 94 6a c8 02 00 00 8c 03 44 53 41 94 85 94 81 94 7d 94 28 6a bf 02 00 00 68 27 | j....].j......DSA.....}.(j....h' |
9f80 | 6a cd 02 00 00 6a f0 0d 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a 40 03 00 00 5d 94 6a 42 03 00 | j....j....ubaj....}.(j@...].jB.. |
9fa0 | 00 5d 94 6a 44 03 00 00 5d 94 6a 46 03 00 00 5d 94 6a 48 03 00 00 5d 94 75 6a db 02 00 00 6a 65 | .].jD...].jF...].jH...].uj....je |
9fc0 | 0a 00 00 6a cd 02 00 00 6a ed 0d 00 00 75 62 6a c8 02 00 00 8c 07 20 4d 6f 64 75 6c 65 94 85 94 | ...j....j....ubj.......Module... |
9fe0 | 81 94 7d 94 28 6a bf 02 00 00 8c 07 20 4d 6f 64 75 6c 65 94 6a cd 02 00 00 6a ed 0d 00 00 75 62 | ..}.(j.......Module.j....j....ub |
a000 | 65 6a ce 02 00 00 7d 94 28 6a 40 03 00 00 5d 94 6a 42 03 00 00 5d 94 6a 44 03 00 00 5d 94 6a 46 | ej....}.(j@...].jB...].jD...].jF |
a020 | 03 00 00 5d 94 6a 48 03 00 00 5d 94 8c 08 69 6e 74 65 72 6e 61 6c 94 88 8c 06 72 65 66 75 72 69 | ...].jH...]...internal....refuri |
a040 | 94 6a 53 02 00 00 8c 0a 61 6e 63 68 6f 72 6e 61 6d 65 94 8c 14 23 6d 6f 64 75 6c 65 2d 4d 32 43 | .jS.....anchorname...#module-M2C |
a060 | 72 79 70 74 6f 2e 44 53 41 94 75 6a db 02 00 00 6a 5e 03 00 00 6a cd 02 00 00 6a ea 0d 00 00 75 | rypto.DSA.uj....j^...j....j....u |
a080 | 62 61 6a ce 02 00 00 7d 94 28 6a 40 03 00 00 5d 94 6a 42 03 00 00 5d 94 6a 44 03 00 00 5d 94 6a | baj....}.(j@...].jB...].jD...].j |
a0a0 | 46 03 00 00 5d 94 6a 48 03 00 00 5d 94 75 6a db 02 00 00 6a 59 03 00 00 6a cd 02 00 00 6a e7 0d | F...].jH...].uj....jY...j....j.. |
a0c0 | 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a 40 03 00 00 5d 94 6a 42 03 00 00 5d 94 6a 44 03 00 00 | ..ubaj....}.(j@...].jB...].jD... |
a0e0 | 5d 94 6a 46 03 00 00 5d 94 6a 48 03 00 00 5d 94 75 6a db 02 00 00 6a 53 03 00 00 6a cd 02 00 00 | ].jF...].jH...].uj....jS...j.... |
a100 | 6a b8 0c 00 00 75 62 6a 54 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 | j....ubjT...)..}.(j....h'j....]. |
a120 | 6a 5a 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5f 03 00 00 29 81 | jZ...)..}.(j....h'j....].j_...). |
a140 | 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 28 6a 66 0a 00 00 29 81 94 7d 94 28 6a bf | .}.(j....h'j....].(jf...)..}.(j. |
a160 | 02 00 00 8c 02 45 43 94 6a c0 02 00 00 5d 94 6a c8 02 00 00 8c 02 45 43 94 85 94 81 94 7d 94 28 | .....EC.j....].j......EC.....}.( |
a180 | 6a bf 02 00 00 68 27 6a cd 02 00 00 6a 22 0e 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a 40 03 00 | j....h'j....j"...ubaj....}.(j@.. |
a1a0 | 00 5d 94 6a 42 03 00 00 5d 94 6a 44 03 00 00 5d 94 6a 46 03 00 00 5d 94 6a 48 03 00 00 5d 94 75 | .].jB...].jD...].jF...].jH...].u |
a1c0 | 6a db 02 00 00 6a 65 0a 00 00 6a cd 02 00 00 6a 1f 0e 00 00 75 62 6a c8 02 00 00 8c 07 20 4d 6f | j....je...j....j....ubj.......Mo |
a1e0 | 64 75 6c 65 94 85 94 81 94 7d 94 28 6a bf 02 00 00 8c 07 20 4d 6f 64 75 6c 65 94 6a cd 02 00 00 | dule.....}.(j.......Module.j.... |
a200 | 6a 1f 0e 00 00 75 62 65 6a ce 02 00 00 7d 94 28 6a 40 03 00 00 5d 94 6a 42 03 00 00 5d 94 6a 44 | j....ubej....}.(j@...].jB...].jD |
a220 | 03 00 00 5d 94 6a 46 03 00 00 5d 94 6a 48 03 00 00 5d 94 8c 08 69 6e 74 65 72 6e 61 6c 94 88 8c | ...].jF...].jH...]...internal... |
a240 | 06 72 65 66 75 72 69 94 6a 53 02 00 00 8c 0a 61 6e 63 68 6f 72 6e 61 6d 65 94 8c 13 23 6d 6f 64 | .refuri.jS.....anchorname...#mod |
a260 | 75 6c 65 2d 4d 32 43 72 79 70 74 6f 2e 45 43 94 75 6a db 02 00 00 6a 5e 03 00 00 6a cd 02 00 00 | ule-M2Crypto.EC.uj....j^...j.... |
a280 | 6a 1c 0e 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a 40 03 00 00 5d 94 6a 42 03 00 00 5d 94 6a 44 | j....ubaj....}.(j@...].jB...].jD |
a2a0 | 03 00 00 5d 94 6a 46 03 00 00 5d 94 6a 48 03 00 00 5d 94 75 6a db 02 00 00 6a 59 03 00 00 6a cd | ...].jF...].jH...].uj....jY...j. |
a2c0 | 02 00 00 6a 19 0e 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a 40 03 00 00 5d 94 6a 42 03 00 00 5d | ...j....ubaj....}.(j@...].jB...] |
a2e0 | 94 6a 44 03 00 00 5d 94 6a 46 03 00 00 5d 94 6a 48 03 00 00 5d 94 75 6a db 02 00 00 6a 53 03 00 | .jD...].jF...].jH...].uj....jS.. |
a300 | 00 6a cd 02 00 00 6a b8 0c 00 00 75 62 6a 54 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a | .j....j....ubjT...)..}.(j....h'j |
a320 | c0 02 00 00 5d 94 6a 5a 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a | ....].jZ...)..}.(j....h'j....].j |
a340 | 5f 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 28 6a 66 0a 00 00 29 81 | _...)..}.(j....h'j....].(jf...). |
a360 | 94 7d 94 28 6a bf 02 00 00 8c 03 45 56 50 94 6a c0 02 00 00 5d 94 6a c8 02 00 00 8c 03 45 56 50 | .}.(j......EVP.j....].j......EVP |
a380 | 94 85 94 81 94 7d 94 28 6a bf 02 00 00 68 27 6a cd 02 00 00 6a 54 0e 00 00 75 62 61 6a ce 02 00 | .....}.(j....h'j....jT...ubaj... |
a3a0 | 00 7d 94 28 6a 40 03 00 00 5d 94 6a 42 03 00 00 5d 94 6a 44 03 00 00 5d 94 6a 46 03 00 00 5d 94 | .}.(j@...].jB...].jD...].jF...]. |
a3c0 | 6a 48 03 00 00 5d 94 75 6a db 02 00 00 6a 65 0a 00 00 6a cd 02 00 00 6a 51 0e 00 00 75 62 6a c8 | jH...].uj....je...j....jQ...ubj. |
a3e0 | 02 00 00 8c 07 20 4d 6f 64 75 6c 65 94 85 94 81 94 7d 94 28 6a bf 02 00 00 8c 07 20 4d 6f 64 75 | ......Module.....}.(j.......Modu |
a400 | 6c 65 94 6a cd 02 00 00 6a 51 0e 00 00 75 62 65 6a ce 02 00 00 7d 94 28 6a 40 03 00 00 5d 94 6a | le.j....jQ...ubej....}.(j@...].j |
a420 | 42 03 00 00 5d 94 6a 44 03 00 00 5d 94 6a 46 03 00 00 5d 94 6a 48 03 00 00 5d 94 8c 08 69 6e 74 | B...].jD...].jF...].jH...]...int |
a440 | 65 72 6e 61 6c 94 88 8c 06 72 65 66 75 72 69 94 6a 53 02 00 00 8c 0a 61 6e 63 68 6f 72 6e 61 6d | ernal....refuri.jS.....anchornam |
a460 | 65 94 8c 14 23 6d 6f 64 75 6c 65 2d 4d 32 43 72 79 70 74 6f 2e 45 56 50 94 75 6a db 02 00 00 6a | e...#module-M2Crypto.EVP.uj....j |
a480 | 5e 03 00 00 6a cd 02 00 00 6a 4e 0e 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a 40 03 00 00 5d 94 | ^...j....jN...ubaj....}.(j@...]. |
a4a0 | 6a 42 03 00 00 5d 94 6a 44 03 00 00 5d 94 6a 46 03 00 00 5d 94 6a 48 03 00 00 5d 94 75 6a db 02 | jB...].jD...].jF...].jH...].uj.. |
a4c0 | 00 00 6a 59 03 00 00 6a cd 02 00 00 6a 4b 0e 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a 40 03 00 | ..jY...j....jK...ubaj....}.(j@.. |
a4e0 | 00 5d 94 6a 42 03 00 00 5d 94 6a 44 03 00 00 5d 94 6a 46 03 00 00 5d 94 6a 48 03 00 00 5d 94 75 | .].jB...].jD...].jF...].jH...].u |
a500 | 6a db 02 00 00 6a 53 03 00 00 6a cd 02 00 00 6a b8 0c 00 00 75 62 6a 54 03 00 00 29 81 94 7d 94 | j....jS...j....j....ubjT...)..}. |
a520 | 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5a 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 | (j....h'j....].jZ...)..}.(j....h |
a540 | 27 6a c0 02 00 00 5d 94 6a 5f 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d | 'j....].j_...)..}.(j....h'j....] |
a560 | 94 28 6a 66 0a 00 00 29 81 94 7d 94 28 6a bf 02 00 00 8c 06 45 6e 67 69 6e 65 94 6a c0 02 00 00 | .(jf...)..}.(j......Engine.j.... |
a580 | 5d 94 6a c8 02 00 00 8c 06 45 6e 67 69 6e 65 94 85 94 81 94 7d 94 28 6a bf 02 00 00 68 27 6a cd | ].j......Engine.....}.(j....h'j. |
a5a0 | 02 00 00 6a 86 0e 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a 40 03 00 00 5d 94 6a 42 03 00 00 5d | ...j....ubaj....}.(j@...].jB...] |
a5c0 | 94 6a 44 03 00 00 5d 94 6a 46 03 00 00 5d 94 6a 48 03 00 00 5d 94 75 6a db 02 00 00 6a 65 0a 00 | .jD...].jF...].jH...].uj....je.. |
a5e0 | 00 6a cd 02 00 00 6a 83 0e 00 00 75 62 6a c8 02 00 00 8c 07 20 4d 6f 64 75 6c 65 94 85 94 81 94 | .j....j....ubj.......Module..... |
a600 | 7d 94 28 6a bf 02 00 00 8c 07 20 4d 6f 64 75 6c 65 94 6a cd 02 00 00 6a 83 0e 00 00 75 62 65 6a | }.(j.......Module.j....j....ubej |
a620 | ce 02 00 00 7d 94 28 6a 40 03 00 00 5d 94 6a 42 03 00 00 5d 94 6a 44 03 00 00 5d 94 6a 46 03 00 | ....}.(j@...].jB...].jD...].jF.. |
a640 | 00 5d 94 6a 48 03 00 00 5d 94 8c 08 69 6e 74 65 72 6e 61 6c 94 88 8c 06 72 65 66 75 72 69 94 6a | .].jH...]...internal....refuri.j |
a660 | 53 02 00 00 8c 0a 61 6e 63 68 6f 72 6e 61 6d 65 94 8c 17 23 6d 6f 64 75 6c 65 2d 4d 32 43 72 79 | S.....anchorname...#module-M2Cry |
a680 | 70 74 6f 2e 45 6e 67 69 6e 65 94 75 6a db 02 00 00 6a 5e 03 00 00 6a cd 02 00 00 6a 80 0e 00 00 | pto.Engine.uj....j^...j....j.... |
a6a0 | 75 62 61 6a ce 02 00 00 7d 94 28 6a 40 03 00 00 5d 94 6a 42 03 00 00 5d 94 6a 44 03 00 00 5d 94 | ubaj....}.(j@...].jB...].jD...]. |
a6c0 | 6a 46 03 00 00 5d 94 6a 48 03 00 00 5d 94 75 6a db 02 00 00 6a 59 03 00 00 6a cd 02 00 00 6a 7d | jF...].jH...].uj....jY...j....j} |
a6e0 | 0e 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a 40 03 00 00 5d 94 6a 42 03 00 00 5d 94 6a 44 03 00 | ...ubaj....}.(j@...].jB...].jD.. |
a700 | 00 5d 94 6a 46 03 00 00 5d 94 6a 48 03 00 00 5d 94 75 6a db 02 00 00 6a 53 03 00 00 6a cd 02 00 | .].jF...].jH...].uj....jS...j... |
a720 | 00 6a b8 0c 00 00 75 62 6a 54 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d | .j....ubjT...)..}.(j....h'j....] |
a740 | 94 6a 5a 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5f 03 00 00 29 | .jZ...)..}.(j....h'j....].j_...) |
a760 | 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 28 6a 66 0a 00 00 29 81 94 7d 94 28 6a | ..}.(j....h'j....].(jf...)..}.(j |
a780 | bf 02 00 00 8c 03 45 72 72 94 6a c0 02 00 00 5d 94 6a c8 02 00 00 8c 03 45 72 72 94 85 94 81 94 | ......Err.j....].j......Err..... |
a7a0 | 7d 94 28 6a bf 02 00 00 68 27 6a cd 02 00 00 6a b8 0e 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a | }.(j....h'j....j....ubaj....}.(j |
a7c0 | 40 03 00 00 5d 94 6a 42 03 00 00 5d 94 6a 44 03 00 00 5d 94 6a 46 03 00 00 5d 94 6a 48 03 00 00 | @...].jB...].jD...].jF...].jH... |
a7e0 | 5d 94 75 6a db 02 00 00 6a 65 0a 00 00 6a cd 02 00 00 6a b5 0e 00 00 75 62 6a c8 02 00 00 8c 07 | ].uj....je...j....j....ubj...... |
a800 | 20 4d 6f 64 75 6c 65 94 85 94 81 94 7d 94 28 6a bf 02 00 00 8c 07 20 4d 6f 64 75 6c 65 94 6a cd | .Module.....}.(j.......Module.j. |
a820 | 02 00 00 6a b5 0e 00 00 75 62 65 6a ce 02 00 00 7d 94 28 6a 40 03 00 00 5d 94 6a 42 03 00 00 5d | ...j....ubej....}.(j@...].jB...] |
a840 | 94 6a 44 03 00 00 5d 94 6a 46 03 00 00 5d 94 6a 48 03 00 00 5d 94 8c 08 69 6e 74 65 72 6e 61 6c | .jD...].jF...].jH...]...internal |
a860 | 94 88 8c 06 72 65 66 75 72 69 94 6a 53 02 00 00 8c 0a 61 6e 63 68 6f 72 6e 61 6d 65 94 8c 14 23 | ....refuri.jS.....anchorname...# |
a880 | 6d 6f 64 75 6c 65 2d 4d 32 43 72 79 70 74 6f 2e 45 72 72 94 75 6a db 02 00 00 6a 5e 03 00 00 6a | module-M2Crypto.Err.uj....j^...j |
a8a0 | cd 02 00 00 6a b2 0e 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a 40 03 00 00 5d 94 6a 42 03 00 00 | ....j....ubaj....}.(j@...].jB... |
a8c0 | 5d 94 6a 44 03 00 00 5d 94 6a 46 03 00 00 5d 94 6a 48 03 00 00 5d 94 75 6a db 02 00 00 6a 59 03 | ].jD...].jF...].jH...].uj....jY. |
a8e0 | 00 00 6a cd 02 00 00 6a af 0e 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a 40 03 00 00 5d 94 6a 42 | ..j....j....ubaj....}.(j@...].jB |
a900 | 03 00 00 5d 94 6a 44 03 00 00 5d 94 6a 46 03 00 00 5d 94 6a 48 03 00 00 5d 94 75 6a db 02 00 00 | ...].jD...].jF...].jH...].uj.... |
a920 | 6a 53 03 00 00 6a cd 02 00 00 6a b8 0c 00 00 75 62 6a 54 03 00 00 29 81 94 7d 94 28 6a bf 02 00 | jS...j....j....ubjT...)..}.(j... |
a940 | 00 68 27 6a c0 02 00 00 5d 94 6a 5a 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 | .h'j....].jZ...)..}.(j....h'j... |
a960 | 00 5d 94 6a 5f 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 28 6a 66 0a | .].j_...)..}.(j....h'j....].(jf. |
a980 | 00 00 29 81 94 7d 94 28 6a bf 02 00 00 8c 03 52 43 34 94 6a c0 02 00 00 5d 94 6a c8 02 00 00 8c | ..)..}.(j......RC4.j....].j..... |
a9a0 | 03 52 43 34 94 85 94 81 94 7d 94 28 6a bf 02 00 00 68 27 6a cd 02 00 00 6a ea 0e 00 00 75 62 61 | .RC4.....}.(j....h'j....j....uba |
a9c0 | 6a ce 02 00 00 7d 94 28 6a 40 03 00 00 5d 94 6a 42 03 00 00 5d 94 6a 44 03 00 00 5d 94 6a 46 03 | j....}.(j@...].jB...].jD...].jF. |
a9e0 | 00 00 5d 94 6a 48 03 00 00 5d 94 75 6a db 02 00 00 6a 65 0a 00 00 6a cd 02 00 00 6a e7 0e 00 00 | ..].jH...].uj....je...j....j.... |
aa00 | 75 62 6a c8 02 00 00 8c 07 20 4d 6f 64 75 6c 65 94 85 94 81 94 7d 94 28 6a bf 02 00 00 8c 07 20 | ubj.......Module.....}.(j....... |
aa20 | 4d 6f 64 75 6c 65 94 6a cd 02 00 00 6a e7 0e 00 00 75 62 65 6a ce 02 00 00 7d 94 28 6a 40 03 00 | Module.j....j....ubej....}.(j@.. |
aa40 | 00 5d 94 6a 42 03 00 00 5d 94 6a 44 03 00 00 5d 94 6a 46 03 00 00 5d 94 6a 48 03 00 00 5d 94 8c | .].jB...].jD...].jF...].jH...].. |
aa60 | 08 69 6e 74 65 72 6e 61 6c 94 88 8c 06 72 65 66 75 72 69 94 6a 53 02 00 00 8c 0a 61 6e 63 68 6f | .internal....refuri.jS.....ancho |
aa80 | 72 6e 61 6d 65 94 8c 14 23 6d 6f 64 75 6c 65 2d 4d 32 43 72 79 70 74 6f 2e 52 43 34 94 75 6a db | rname...#module-M2Crypto.RC4.uj. |
aaa0 | 02 00 00 6a 5e 03 00 00 6a cd 02 00 00 6a e4 0e 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a 40 03 | ...j^...j....j....ubaj....}.(j@. |
aac0 | 00 00 5d 94 6a 42 03 00 00 5d 94 6a 44 03 00 00 5d 94 6a 46 03 00 00 5d 94 6a 48 03 00 00 5d 94 | ..].jB...].jD...].jF...].jH...]. |
aae0 | 75 6a db 02 00 00 6a 59 03 00 00 6a cd 02 00 00 6a e1 0e 00 00 75 62 61 6a ce 02 00 00 7d 94 28 | uj....jY...j....j....ubaj....}.( |
ab00 | 6a 40 03 00 00 5d 94 6a 42 03 00 00 5d 94 6a 44 03 00 00 5d 94 6a 46 03 00 00 5d 94 6a 48 03 00 | j@...].jB...].jD...].jF...].jH.. |
ab20 | 00 5d 94 75 6a db 02 00 00 6a 53 03 00 00 6a cd 02 00 00 6a b8 0c 00 00 75 62 6a 54 03 00 00 29 | .].uj....jS...j....j....ubjT...) |
ab40 | 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5a 03 00 00 29 81 94 7d 94 28 6a bf | ..}.(j....h'j....].jZ...)..}.(j. |
ab60 | 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5f 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 | ...h'j....].j_...)..}.(j....h'j. |
ab80 | 02 00 00 5d 94 28 6a 66 0a 00 00 29 81 94 7d 94 28 6a bf 02 00 00 8c 03 52 53 41 94 6a c0 02 00 | ...].(jf...)..}.(j......RSA.j... |
aba0 | 00 5d 94 6a c8 02 00 00 8c 03 52 53 41 94 85 94 81 94 7d 94 28 6a bf 02 00 00 68 27 6a cd 02 00 | .].j......RSA.....}.(j....h'j... |
abc0 | 00 6a 1c 0f 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a 40 03 00 00 5d 94 6a 42 03 00 00 5d 94 6a | .j....ubaj....}.(j@...].jB...].j |
abe0 | 44 03 00 00 5d 94 6a 46 03 00 00 5d 94 6a 48 03 00 00 5d 94 75 6a db 02 00 00 6a 65 0a 00 00 6a | D...].jF...].jH...].uj....je...j |
ac00 | cd 02 00 00 6a 19 0f 00 00 75 62 6a c8 02 00 00 8c 07 20 4d 6f 64 75 6c 65 94 85 94 81 94 7d 94 | ....j....ubj.......Module.....}. |
ac20 | 28 6a bf 02 00 00 8c 07 20 4d 6f 64 75 6c 65 94 6a cd 02 00 00 6a 19 0f 00 00 75 62 65 6a ce 02 | (j.......Module.j....j....ubej.. |
ac40 | 00 00 7d 94 28 6a 40 03 00 00 5d 94 6a 42 03 00 00 5d 94 6a 44 03 00 00 5d 94 6a 46 03 00 00 5d | ..}.(j@...].jB...].jD...].jF...] |
ac60 | 94 6a 48 03 00 00 5d 94 8c 08 69 6e 74 65 72 6e 61 6c 94 88 8c 06 72 65 66 75 72 69 94 6a 53 02 | .jH...]...internal....refuri.jS. |
ac80 | 00 00 8c 0a 61 6e 63 68 6f 72 6e 61 6d 65 94 8c 14 23 6d 6f 64 75 6c 65 2d 4d 32 43 72 79 70 74 | ....anchorname...#module-M2Crypt |
aca0 | 6f 2e 52 53 41 94 75 6a db 02 00 00 6a 5e 03 00 00 6a cd 02 00 00 6a 16 0f 00 00 75 62 61 6a ce | o.RSA.uj....j^...j....j....ubaj. |
acc0 | 02 00 00 7d 94 28 6a 40 03 00 00 5d 94 6a 42 03 00 00 5d 94 6a 44 03 00 00 5d 94 6a 46 03 00 00 | ...}.(j@...].jB...].jD...].jF... |
ace0 | 5d 94 6a 48 03 00 00 5d 94 75 6a db 02 00 00 6a 59 03 00 00 6a cd 02 00 00 6a 13 0f 00 00 75 62 | ].jH...].uj....jY...j....j....ub |
ad00 | 61 6a ce 02 00 00 7d 94 28 6a 40 03 00 00 5d 94 6a 42 03 00 00 5d 94 6a 44 03 00 00 5d 94 6a 46 | aj....}.(j@...].jB...].jD...].jF |
ad20 | 03 00 00 5d 94 6a 48 03 00 00 5d 94 75 6a db 02 00 00 6a 53 03 00 00 6a cd 02 00 00 6a b8 0c 00 | ...].jH...].uj....jS...j....j... |
ad40 | 00 75 62 6a 54 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5a 03 00 | .ubjT...)..}.(j....h'j....].jZ.. |
ad60 | 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5f 03 00 00 29 81 94 7d 94 28 | .)..}.(j....h'j....].j_...)..}.( |
ad80 | 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 28 6a 66 0a 00 00 29 81 94 7d 94 28 6a bf 02 00 00 8c | j....h'j....].(jf...)..}.(j..... |
ada0 | 04 52 61 6e 64 94 6a c0 02 00 00 5d 94 6a c8 02 00 00 8c 04 52 61 6e 64 94 85 94 81 94 7d 94 28 | .Rand.j....].j......Rand.....}.( |
adc0 | 6a bf 02 00 00 68 27 6a cd 02 00 00 6a 4e 0f 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a 40 03 00 | j....h'j....jN...ubaj....}.(j@.. |
ade0 | 00 5d 94 6a 42 03 00 00 5d 94 6a 44 03 00 00 5d 94 6a 46 03 00 00 5d 94 6a 48 03 00 00 5d 94 75 | .].jB...].jD...].jF...].jH...].u |
ae00 | 6a db 02 00 00 6a 65 0a 00 00 6a cd 02 00 00 6a 4b 0f 00 00 75 62 6a c8 02 00 00 8c 07 20 4d 6f | j....je...j....jK...ubj.......Mo |
ae20 | 64 75 6c 65 94 85 94 81 94 7d 94 28 6a bf 02 00 00 8c 07 20 4d 6f 64 75 6c 65 94 6a cd 02 00 00 | dule.....}.(j.......Module.j.... |
ae40 | 6a 4b 0f 00 00 75 62 65 6a ce 02 00 00 7d 94 28 6a 40 03 00 00 5d 94 6a 42 03 00 00 5d 94 6a 44 | jK...ubej....}.(j@...].jB...].jD |
ae60 | 03 00 00 5d 94 6a 46 03 00 00 5d 94 6a 48 03 00 00 5d 94 8c 08 69 6e 74 65 72 6e 61 6c 94 88 8c | ...].jF...].jH...]...internal... |
ae80 | 06 72 65 66 75 72 69 94 6a 53 02 00 00 8c 0a 61 6e 63 68 6f 72 6e 61 6d 65 94 8c 15 23 6d 6f 64 | .refuri.jS.....anchorname...#mod |
aea0 | 75 6c 65 2d 4d 32 43 72 79 70 74 6f 2e 52 61 6e 64 94 75 6a db 02 00 00 6a 5e 03 00 00 6a cd 02 | ule-M2Crypto.Rand.uj....j^...j.. |
aec0 | 00 00 6a 48 0f 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a 40 03 00 00 5d 94 6a 42 03 00 00 5d 94 | ..jH...ubaj....}.(j@...].jB...]. |
aee0 | 6a 44 03 00 00 5d 94 6a 46 03 00 00 5d 94 6a 48 03 00 00 5d 94 75 6a db 02 00 00 6a 59 03 00 00 | jD...].jF...].jH...].uj....jY... |
af00 | 6a cd 02 00 00 6a 45 0f 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a 40 03 00 00 5d 94 6a 42 03 00 | j....jE...ubaj....}.(j@...].jB.. |
af20 | 00 5d 94 6a 44 03 00 00 5d 94 6a 46 03 00 00 5d 94 6a 48 03 00 00 5d 94 75 6a db 02 00 00 6a 53 | .].jD...].jF...].jH...].uj....jS |
af40 | 03 00 00 6a cd 02 00 00 6a b8 0c 00 00 75 62 6a 54 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 | ...j....j....ubjT...)..}.(j....h |
af60 | 27 6a c0 02 00 00 5d 94 6a 5a 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d | 'j....].jZ...)..}.(j....h'j....] |
af80 | 94 6a 5f 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 28 6a 66 0a 00 00 | .j_...)..}.(j....h'j....].(jf... |
afa0 | 29 81 94 7d 94 28 6a bf 02 00 00 8c 05 53 4d 49 4d 45 94 6a c0 02 00 00 5d 94 6a c8 02 00 00 8c | )..}.(j......SMIME.j....].j..... |
afc0 | 05 53 4d 49 4d 45 94 85 94 81 94 7d 94 28 6a bf 02 00 00 68 27 6a cd 02 00 00 6a 80 0f 00 00 75 | .SMIME.....}.(j....h'j....j....u |
afe0 | 62 61 6a ce 02 00 00 7d 94 28 6a 40 03 00 00 5d 94 6a 42 03 00 00 5d 94 6a 44 03 00 00 5d 94 6a | baj....}.(j@...].jB...].jD...].j |
b000 | 46 03 00 00 5d 94 6a 48 03 00 00 5d 94 75 6a db 02 00 00 6a 65 0a 00 00 6a cd 02 00 00 6a 7d 0f | F...].jH...].uj....je...j....j}. |
b020 | 00 00 75 62 6a c8 02 00 00 8c 07 20 4d 6f 64 75 6c 65 94 85 94 81 94 7d 94 28 6a bf 02 00 00 8c | ..ubj.......Module.....}.(j..... |
b040 | 07 20 4d 6f 64 75 6c 65 94 6a cd 02 00 00 6a 7d 0f 00 00 75 62 65 6a ce 02 00 00 7d 94 28 6a 40 | ..Module.j....j}...ubej....}.(j@ |
b060 | 03 00 00 5d 94 6a 42 03 00 00 5d 94 6a 44 03 00 00 5d 94 6a 46 03 00 00 5d 94 6a 48 03 00 00 5d | ...].jB...].jD...].jF...].jH...] |
b080 | 94 8c 08 69 6e 74 65 72 6e 61 6c 94 88 8c 06 72 65 66 75 72 69 94 6a 53 02 00 00 8c 0a 61 6e 63 | ...internal....refuri.jS.....anc |
b0a0 | 68 6f 72 6e 61 6d 65 94 8c 16 23 6d 6f 64 75 6c 65 2d 4d 32 43 72 79 70 74 6f 2e 53 4d 49 4d 45 | horname...#module-M2Crypto.SMIME |
b0c0 | 94 75 6a db 02 00 00 6a 5e 03 00 00 6a cd 02 00 00 6a 7a 0f 00 00 75 62 61 6a ce 02 00 00 7d 94 | .uj....j^...j....jz...ubaj....}. |
b0e0 | 28 6a 40 03 00 00 5d 94 6a 42 03 00 00 5d 94 6a 44 03 00 00 5d 94 6a 46 03 00 00 5d 94 6a 48 03 | (j@...].jB...].jD...].jF...].jH. |
b100 | 00 00 5d 94 75 6a db 02 00 00 6a 59 03 00 00 6a cd 02 00 00 6a 77 0f 00 00 75 62 61 6a ce 02 00 | ..].uj....jY...j....jw...ubaj... |
b120 | 00 7d 94 28 6a 40 03 00 00 5d 94 6a 42 03 00 00 5d 94 6a 44 03 00 00 5d 94 6a 46 03 00 00 5d 94 | .}.(j@...].jB...].jD...].jF...]. |
b140 | 6a 48 03 00 00 5d 94 75 6a db 02 00 00 6a 53 03 00 00 6a cd 02 00 00 6a b8 0c 00 00 75 62 6a 54 | jH...].uj....jS...j....j....ubjT |
b160 | 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5a 03 00 00 29 81 94 7d | ...)..}.(j....h'j....].jZ...)..} |
b180 | 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5f 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 | .(j....h'j....].j_...)..}.(j.... |
b1a0 | 68 27 6a c0 02 00 00 5d 94 28 6a 66 0a 00 00 29 81 94 7d 94 28 6a bf 02 00 00 8c 04 58 35 30 39 | h'j....].(jf...)..}.(j......X509 |
b1c0 | 94 6a c0 02 00 00 5d 94 6a c8 02 00 00 8c 04 58 35 30 39 94 85 94 81 94 7d 94 28 6a bf 02 00 00 | .j....].j......X509.....}.(j.... |
b1e0 | 68 27 6a cd 02 00 00 6a b2 0f 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a 40 03 00 00 5d 94 6a 42 | h'j....j....ubaj....}.(j@...].jB |
b200 | 03 00 00 5d 94 6a 44 03 00 00 5d 94 6a 46 03 00 00 5d 94 6a 48 03 00 00 5d 94 75 6a db 02 00 00 | ...].jD...].jF...].jH...].uj.... |
b220 | 6a 65 0a 00 00 6a cd 02 00 00 6a af 0f 00 00 75 62 6a c8 02 00 00 8c 07 20 4d 6f 64 75 6c 65 94 | je...j....j....ubj.......Module. |
b240 | 85 94 81 94 7d 94 28 6a bf 02 00 00 8c 07 20 4d 6f 64 75 6c 65 94 6a cd 02 00 00 6a af 0f 00 00 | ....}.(j.......Module.j....j.... |
b260 | 75 62 65 6a ce 02 00 00 7d 94 28 6a 40 03 00 00 5d 94 6a 42 03 00 00 5d 94 6a 44 03 00 00 5d 94 | ubej....}.(j@...].jB...].jD...]. |
b280 | 6a 46 03 00 00 5d 94 6a 48 03 00 00 5d 94 8c 08 69 6e 74 65 72 6e 61 6c 94 88 8c 06 72 65 66 75 | jF...].jH...]...internal....refu |
b2a0 | 72 69 94 6a 53 02 00 00 8c 0a 61 6e 63 68 6f 72 6e 61 6d 65 94 8c 15 23 6d 6f 64 75 6c 65 2d 4d | ri.jS.....anchorname...#module-M |
b2c0 | 32 43 72 79 70 74 6f 2e 58 35 30 39 94 75 6a db 02 00 00 6a 5e 03 00 00 6a cd 02 00 00 6a ac 0f | 2Crypto.X509.uj....j^...j....j.. |
b2e0 | 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a 40 03 00 00 5d 94 6a 42 03 00 00 5d 94 6a 44 03 00 00 | ..ubaj....}.(j@...].jB...].jD... |
b300 | 5d 94 6a 46 03 00 00 5d 94 6a 48 03 00 00 5d 94 75 6a db 02 00 00 6a 59 03 00 00 6a cd 02 00 00 | ].jF...].jH...].uj....jY...j.... |
b320 | 6a a9 0f 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a 40 03 00 00 5d 94 6a 42 03 00 00 5d 94 6a 44 | j....ubaj....}.(j@...].jB...].jD |
b340 | 03 00 00 5d 94 6a 46 03 00 00 5d 94 6a 48 03 00 00 5d 94 75 6a db 02 00 00 6a 53 03 00 00 6a cd | ...].jF...].jH...].uj....jS...j. |
b360 | 02 00 00 6a b8 0c 00 00 75 62 6a 54 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 | ...j....ubjT...)..}.(j....h'j... |
b380 | 00 5d 94 6a 5a 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5f 03 00 | .].jZ...)..}.(j....h'j....].j_.. |
b3a0 | 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 28 6a 66 0a 00 00 29 81 94 7d 94 | .)..}.(j....h'j....].(jf...)..}. |
b3c0 | 28 6a bf 02 00 00 8c 08 63 61 6c 6c 62 61 63 6b 94 6a c0 02 00 00 5d 94 6a c8 02 00 00 8c 08 63 | (j......callback.j....].j......c |
b3e0 | 61 6c 6c 62 61 63 6b 94 85 94 81 94 7d 94 28 6a bf 02 00 00 68 27 6a cd 02 00 00 6a e4 0f 00 00 | allback.....}.(j....h'j....j.... |
b400 | 75 62 61 6a ce 02 00 00 7d 94 28 6a 40 03 00 00 5d 94 6a 42 03 00 00 5d 94 6a 44 03 00 00 5d 94 | ubaj....}.(j@...].jB...].jD...]. |
b420 | 6a 46 03 00 00 5d 94 6a 48 03 00 00 5d 94 75 6a db 02 00 00 6a 65 0a 00 00 6a cd 02 00 00 6a e1 | jF...].jH...].uj....je...j....j. |
b440 | 0f 00 00 75 62 6a c8 02 00 00 8c 07 20 4d 6f 64 75 6c 65 94 85 94 81 94 7d 94 28 6a bf 02 00 00 | ...ubj.......Module.....}.(j.... |
b460 | 8c 07 20 4d 6f 64 75 6c 65 94 6a cd 02 00 00 6a e1 0f 00 00 75 62 65 6a ce 02 00 00 7d 94 28 6a | ...Module.j....j....ubej....}.(j |
b480 | 40 03 00 00 5d 94 6a 42 03 00 00 5d 94 6a 44 03 00 00 5d 94 6a 46 03 00 00 5d 94 6a 48 03 00 00 | @...].jB...].jD...].jF...].jH... |
b4a0 | 5d 94 8c 08 69 6e 74 65 72 6e 61 6c 94 88 8c 06 72 65 66 75 72 69 94 6a 53 02 00 00 8c 0a 61 6e | ]...internal....refuri.jS.....an |
b4c0 | 63 68 6f 72 6e 61 6d 65 94 8c 19 23 6d 6f 64 75 6c 65 2d 4d 32 43 72 79 70 74 6f 2e 63 61 6c 6c | chorname...#module-M2Crypto.call |
b4e0 | 62 61 63 6b 94 75 6a db 02 00 00 6a 5e 03 00 00 6a cd 02 00 00 6a de 0f 00 00 75 62 61 6a ce 02 | back.uj....j^...j....j....ubaj.. |
b500 | 00 00 7d 94 28 6a 40 03 00 00 5d 94 6a 42 03 00 00 5d 94 6a 44 03 00 00 5d 94 6a 46 03 00 00 5d | ..}.(j@...].jB...].jD...].jF...] |
b520 | 94 6a 48 03 00 00 5d 94 75 6a db 02 00 00 6a 59 03 00 00 6a cd 02 00 00 6a db 0f 00 00 75 62 61 | .jH...].uj....jY...j....j....uba |
b540 | 6a ce 02 00 00 7d 94 28 6a 40 03 00 00 5d 94 6a 42 03 00 00 5d 94 6a 44 03 00 00 5d 94 6a 46 03 | j....}.(j@...].jB...].jD...].jF. |
b560 | 00 00 5d 94 6a 48 03 00 00 5d 94 75 6a db 02 00 00 6a 53 03 00 00 6a cd 02 00 00 6a b8 0c 00 00 | ..].jH...].uj....jS...j....j.... |
b580 | 75 62 6a 54 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5a 03 00 00 | ubjT...)..}.(j....h'j....].jZ... |
b5a0 | 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5f 03 00 00 29 81 94 7d 94 28 6a | )..}.(j....h'j....].j_...)..}.(j |
b5c0 | bf 02 00 00 68 27 6a c0 02 00 00 5d 94 28 6a 66 0a 00 00 29 81 94 7d 94 28 6a bf 02 00 00 8c 07 | ....h'j....].(jf...)..}.(j...... |
b5e0 | 66 74 70 73 6c 69 62 94 6a c0 02 00 00 5d 94 6a c8 02 00 00 8c 07 66 74 70 73 6c 69 62 94 85 94 | ftpslib.j....].j......ftpslib... |
b600 | 81 94 7d 94 28 6a bf 02 00 00 68 27 6a cd 02 00 00 6a 16 10 00 00 75 62 61 6a ce 02 00 00 7d 94 | ..}.(j....h'j....j....ubaj....}. |
b620 | 28 6a 40 03 00 00 5d 94 6a 42 03 00 00 5d 94 6a 44 03 00 00 5d 94 6a 46 03 00 00 5d 94 6a 48 03 | (j@...].jB...].jD...].jF...].jH. |
b640 | 00 00 5d 94 75 6a db 02 00 00 6a 65 0a 00 00 6a cd 02 00 00 6a 13 10 00 00 75 62 6a c8 02 00 00 | ..].uj....je...j....j....ubj.... |
b660 | 8c 07 20 4d 6f 64 75 6c 65 94 85 94 81 94 7d 94 28 6a bf 02 00 00 8c 07 20 4d 6f 64 75 6c 65 94 | ...Module.....}.(j.......Module. |
b680 | 6a cd 02 00 00 6a 13 10 00 00 75 62 65 6a ce 02 00 00 7d 94 28 6a 40 03 00 00 5d 94 6a 42 03 00 | j....j....ubej....}.(j@...].jB.. |
b6a0 | 00 5d 94 6a 44 03 00 00 5d 94 6a 46 03 00 00 5d 94 6a 48 03 00 00 5d 94 8c 08 69 6e 74 65 72 6e | .].jD...].jF...].jH...]...intern |
b6c0 | 61 6c 94 88 8c 06 72 65 66 75 72 69 94 6a 53 02 00 00 8c 0a 61 6e 63 68 6f 72 6e 61 6d 65 94 8c | al....refuri.jS.....anchorname.. |
b6e0 | 18 23 6d 6f 64 75 6c 65 2d 4d 32 43 72 79 70 74 6f 2e 66 74 70 73 6c 69 62 94 75 6a db 02 00 00 | .#module-M2Crypto.ftpslib.uj.... |
b700 | 6a 5e 03 00 00 6a cd 02 00 00 6a 10 10 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a 40 03 00 00 5d | j^...j....j....ubaj....}.(j@...] |
b720 | 94 6a 42 03 00 00 5d 94 6a 44 03 00 00 5d 94 6a 46 03 00 00 5d 94 6a 48 03 00 00 5d 94 75 6a db | .jB...].jD...].jF...].jH...].uj. |
b740 | 02 00 00 6a 59 03 00 00 6a cd 02 00 00 6a 0d 10 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a 40 03 | ...jY...j....j....ubaj....}.(j@. |
b760 | 00 00 5d 94 6a 42 03 00 00 5d 94 6a 44 03 00 00 5d 94 6a 46 03 00 00 5d 94 6a 48 03 00 00 5d 94 | ..].jB...].jD...].jF...].jH...]. |
b780 | 75 6a db 02 00 00 6a 53 03 00 00 6a cd 02 00 00 6a b8 0c 00 00 75 62 6a 54 03 00 00 29 81 94 7d | uj....jS...j....j....ubjT...)..} |
b7a0 | 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5a 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 | .(j....h'j....].jZ...)..}.(j.... |
b7c0 | 68 27 6a c0 02 00 00 5d 94 6a 5f 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 | h'j....].j_...)..}.(j....h'j.... |
b7e0 | 5d 94 28 6a 66 0a 00 00 29 81 94 7d 94 28 6a bf 02 00 00 8c 08 68 74 74 70 73 6c 69 62 94 6a c0 | ].(jf...)..}.(j......httpslib.j. |
b800 | 02 00 00 5d 94 6a c8 02 00 00 8c 08 68 74 74 70 73 6c 69 62 94 85 94 81 94 7d 94 28 6a bf 02 00 | ...].j......httpslib.....}.(j... |
b820 | 00 68 27 6a cd 02 00 00 6a 48 10 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a 40 03 00 00 5d 94 6a | .h'j....jH...ubaj....}.(j@...].j |
b840 | 42 03 00 00 5d 94 6a 44 03 00 00 5d 94 6a 46 03 00 00 5d 94 6a 48 03 00 00 5d 94 75 6a db 02 00 | B...].jD...].jF...].jH...].uj... |
b860 | 00 6a 65 0a 00 00 6a cd 02 00 00 6a 45 10 00 00 75 62 6a c8 02 00 00 8c 07 20 4d 6f 64 75 6c 65 | .je...j....jE...ubj.......Module |
b880 | 94 85 94 81 94 7d 94 28 6a bf 02 00 00 8c 07 20 4d 6f 64 75 6c 65 94 6a cd 02 00 00 6a 45 10 00 | .....}.(j.......Module.j....jE.. |
b8a0 | 00 75 62 65 6a ce 02 00 00 7d 94 28 6a 40 03 00 00 5d 94 6a 42 03 00 00 5d 94 6a 44 03 00 00 5d | .ubej....}.(j@...].jB...].jD...] |
b8c0 | 94 6a 46 03 00 00 5d 94 6a 48 03 00 00 5d 94 8c 08 69 6e 74 65 72 6e 61 6c 94 88 8c 06 72 65 66 | .jF...].jH...]...internal....ref |
b8e0 | 75 72 69 94 6a 53 02 00 00 8c 0a 61 6e 63 68 6f 72 6e 61 6d 65 94 8c 19 23 6d 6f 64 75 6c 65 2d | uri.jS.....anchorname...#module- |
b900 | 4d 32 43 72 79 70 74 6f 2e 68 74 74 70 73 6c 69 62 94 75 6a db 02 00 00 6a 5e 03 00 00 6a cd 02 | M2Crypto.httpslib.uj....j^...j.. |
b920 | 00 00 6a 42 10 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a 40 03 00 00 5d 94 6a 42 03 00 00 5d 94 | ..jB...ubaj....}.(j@...].jB...]. |
b940 | 6a 44 03 00 00 5d 94 6a 46 03 00 00 5d 94 6a 48 03 00 00 5d 94 75 6a db 02 00 00 6a 59 03 00 00 | jD...].jF...].jH...].uj....jY... |
b960 | 6a cd 02 00 00 6a 3f 10 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a 40 03 00 00 5d 94 6a 42 03 00 | j....j?...ubaj....}.(j@...].jB.. |
b980 | 00 5d 94 6a 44 03 00 00 5d 94 6a 46 03 00 00 5d 94 6a 48 03 00 00 5d 94 75 6a db 02 00 00 6a 53 | .].jD...].jF...].jH...].uj....jS |
b9a0 | 03 00 00 6a cd 02 00 00 6a b8 0c 00 00 75 62 6a 54 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 | ...j....j....ubjT...)..}.(j....h |
b9c0 | 27 6a c0 02 00 00 5d 94 6a 5a 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d | 'j....].jZ...)..}.(j....h'j....] |
b9e0 | 94 6a 5f 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 28 6a 66 0a 00 00 | .j_...)..}.(j....h'j....].(jf... |
ba00 | 29 81 94 7d 94 28 6a bf 02 00 00 8c 02 6d 32 94 6a c0 02 00 00 5d 94 6a c8 02 00 00 8c 02 6d 32 | )..}.(j......m2.j....].j......m2 |
ba20 | 94 85 94 81 94 7d 94 28 6a bf 02 00 00 68 27 6a cd 02 00 00 6a 7a 10 00 00 75 62 61 6a ce 02 00 | .....}.(j....h'j....jz...ubaj... |
ba40 | 00 7d 94 28 6a 40 03 00 00 5d 94 6a 42 03 00 00 5d 94 6a 44 03 00 00 5d 94 6a 46 03 00 00 5d 94 | .}.(j@...].jB...].jD...].jF...]. |
ba60 | 6a 48 03 00 00 5d 94 75 6a db 02 00 00 6a 65 0a 00 00 6a cd 02 00 00 6a 77 10 00 00 75 62 6a c8 | jH...].uj....je...j....jw...ubj. |
ba80 | 02 00 00 8c 07 20 4d 6f 64 75 6c 65 94 85 94 81 94 7d 94 28 6a bf 02 00 00 8c 07 20 4d 6f 64 75 | ......Module.....}.(j.......Modu |
baa0 | 6c 65 94 6a cd 02 00 00 6a 77 10 00 00 75 62 65 6a ce 02 00 00 7d 94 28 6a 40 03 00 00 5d 94 6a | le.j....jw...ubej....}.(j@...].j |
bac0 | 42 03 00 00 5d 94 6a 44 03 00 00 5d 94 6a 46 03 00 00 5d 94 6a 48 03 00 00 5d 94 8c 08 69 6e 74 | B...].jD...].jF...].jH...]...int |
bae0 | 65 72 6e 61 6c 94 88 8c 06 72 65 66 75 72 69 94 6a 53 02 00 00 8c 0a 61 6e 63 68 6f 72 6e 61 6d | ernal....refuri.jS.....anchornam |
bb00 | 65 94 8c 13 23 6d 6f 64 75 6c 65 2d 4d 32 43 72 79 70 74 6f 2e 6d 32 94 75 6a db 02 00 00 6a 5e | e...#module-M2Crypto.m2.uj....j^ |
bb20 | 03 00 00 6a cd 02 00 00 6a 74 10 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a 40 03 00 00 5d 94 6a | ...j....jt...ubaj....}.(j@...].j |
bb40 | 42 03 00 00 5d 94 6a 44 03 00 00 5d 94 6a 46 03 00 00 5d 94 6a 48 03 00 00 5d 94 75 6a db 02 00 | B...].jD...].jF...].jH...].uj... |
bb60 | 00 6a 59 03 00 00 6a cd 02 00 00 6a 71 10 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a 40 03 00 00 | .jY...j....jq...ubaj....}.(j@... |
bb80 | 5d 94 6a 42 03 00 00 5d 94 6a 44 03 00 00 5d 94 6a 46 03 00 00 5d 94 6a 48 03 00 00 5d 94 75 6a | ].jB...].jD...].jF...].jH...].uj |
bba0 | db 02 00 00 6a 53 03 00 00 6a cd 02 00 00 6a b8 0c 00 00 75 62 6a 54 03 00 00 29 81 94 7d 94 28 | ....jS...j....j....ubjT...)..}.( |
bbc0 | 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5a 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 | j....h'j....].jZ...)..}.(j....h' |
bbe0 | 6a c0 02 00 00 5d 94 6a 5f 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 | j....].j_...)..}.(j....h'j....]. |
bc00 | 28 6a 66 0a 00 00 29 81 94 7d 94 28 6a bf 02 00 00 8c 08 6d 32 63 72 79 70 74 6f 94 6a c0 02 00 | (jf...)..}.(j......m2crypto.j... |
bc20 | 00 5d 94 6a c8 02 00 00 8c 08 6d 32 63 72 79 70 74 6f 94 85 94 81 94 7d 94 28 6a bf 02 00 00 68 | .].j......m2crypto.....}.(j....h |
bc40 | 27 6a cd 02 00 00 6a ac 10 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a 40 03 00 00 5d 94 6a 42 03 | 'j....j....ubaj....}.(j@...].jB. |
bc60 | 00 00 5d 94 6a 44 03 00 00 5d 94 6a 46 03 00 00 5d 94 6a 48 03 00 00 5d 94 75 6a db 02 00 00 6a | ..].jD...].jF...].jH...].uj....j |
bc80 | 65 0a 00 00 6a cd 02 00 00 6a a9 10 00 00 75 62 6a c8 02 00 00 8c 07 20 4d 6f 64 75 6c 65 94 85 | e...j....j....ubj.......Module.. |
bca0 | 94 81 94 7d 94 28 6a bf 02 00 00 8c 07 20 4d 6f 64 75 6c 65 94 6a cd 02 00 00 6a a9 10 00 00 75 | ...}.(j.......Module.j....j....u |
bcc0 | 62 65 6a ce 02 00 00 7d 94 28 6a 40 03 00 00 5d 94 6a 42 03 00 00 5d 94 6a 44 03 00 00 5d 94 6a | bej....}.(j@...].jB...].jD...].j |
bce0 | 46 03 00 00 5d 94 6a 48 03 00 00 5d 94 8c 08 69 6e 74 65 72 6e 61 6c 94 88 8c 06 72 65 66 75 72 | F...].jH...]...internal....refur |
bd00 | 69 94 6a 53 02 00 00 8c 0a 61 6e 63 68 6f 72 6e 61 6d 65 94 8c 19 23 6d 6f 64 75 6c 65 2d 4d 32 | i.jS.....anchorname...#module-M2 |
bd20 | 43 72 79 70 74 6f 2e 6d 32 63 72 79 70 74 6f 94 75 6a db 02 00 00 6a 5e 03 00 00 6a cd 02 00 00 | Crypto.m2crypto.uj....j^...j.... |
bd40 | 6a a6 10 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a 40 03 00 00 5d 94 6a 42 03 00 00 5d 94 6a 44 | j....ubaj....}.(j@...].jB...].jD |
bd60 | 03 00 00 5d 94 6a 46 03 00 00 5d 94 6a 48 03 00 00 5d 94 75 6a db 02 00 00 6a 59 03 00 00 6a cd | ...].jF...].jH...].uj....jY...j. |
bd80 | 02 00 00 6a a3 10 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a 40 03 00 00 5d 94 6a 42 03 00 00 5d | ...j....ubaj....}.(j@...].jB...] |
bda0 | 94 6a 44 03 00 00 5d 94 6a 46 03 00 00 5d 94 6a 48 03 00 00 5d 94 75 6a db 02 00 00 6a 53 03 00 | .jD...].jF...].jH...].uj....jS.. |
bdc0 | 00 6a cd 02 00 00 6a b8 0c 00 00 75 62 6a 54 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a | .j....j....ubjT...)..}.(j....h'j |
bde0 | c0 02 00 00 5d 94 6a 5a 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a | ....].jZ...)..}.(j....h'j....].j |
be00 | 5f 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 28 6a 66 0a 00 00 29 81 | _...)..}.(j....h'j....].(jf...). |
be20 | 94 7d 94 28 6a bf 02 00 00 8c 08 6d 32 75 72 6c 6c 69 62 94 6a c0 02 00 00 5d 94 6a c8 02 00 00 | .}.(j......m2urllib.j....].j.... |
be40 | 8c 08 6d 32 75 72 6c 6c 69 62 94 85 94 81 94 7d 94 28 6a bf 02 00 00 68 27 6a cd 02 00 00 6a de | ..m2urllib.....}.(j....h'j....j. |
be60 | 10 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a 40 03 00 00 5d 94 6a 42 03 00 00 5d 94 6a 44 03 00 | ...ubaj....}.(j@...].jB...].jD.. |
be80 | 00 5d 94 6a 46 03 00 00 5d 94 6a 48 03 00 00 5d 94 75 6a db 02 00 00 6a 65 0a 00 00 6a cd 02 00 | .].jF...].jH...].uj....je...j... |
bea0 | 00 6a db 10 00 00 75 62 6a c8 02 00 00 8c 07 20 4d 6f 64 75 6c 65 94 85 94 81 94 7d 94 28 6a bf | .j....ubj.......Module.....}.(j. |
bec0 | 02 00 00 8c 07 20 4d 6f 64 75 6c 65 94 6a cd 02 00 00 6a db 10 00 00 75 62 65 6a ce 02 00 00 7d | ......Module.j....j....ubej....} |
bee0 | 94 28 6a 40 03 00 00 5d 94 6a 42 03 00 00 5d 94 6a 44 03 00 00 5d 94 6a 46 03 00 00 5d 94 6a 48 | .(j@...].jB...].jD...].jF...].jH |
bf00 | 03 00 00 5d 94 8c 08 69 6e 74 65 72 6e 61 6c 94 88 8c 06 72 65 66 75 72 69 94 6a 53 02 00 00 8c | ...]...internal....refuri.jS.... |
bf20 | 0a 61 6e 63 68 6f 72 6e 61 6d 65 94 8c 19 23 6d 6f 64 75 6c 65 2d 4d 32 43 72 79 70 74 6f 2e 6d | .anchorname...#module-M2Crypto.m |
bf40 | 32 75 72 6c 6c 69 62 94 75 6a db 02 00 00 6a 5e 03 00 00 6a cd 02 00 00 6a d8 10 00 00 75 62 61 | 2urllib.uj....j^...j....j....uba |
bf60 | 6a ce 02 00 00 7d 94 28 6a 40 03 00 00 5d 94 6a 42 03 00 00 5d 94 6a 44 03 00 00 5d 94 6a 46 03 | j....}.(j@...].jB...].jD...].jF. |
bf80 | 00 00 5d 94 6a 48 03 00 00 5d 94 75 6a db 02 00 00 6a 59 03 00 00 6a cd 02 00 00 6a d5 10 00 00 | ..].jH...].uj....jY...j....j.... |
bfa0 | 75 62 61 6a ce 02 00 00 7d 94 28 6a 40 03 00 00 5d 94 6a 42 03 00 00 5d 94 6a 44 03 00 00 5d 94 | ubaj....}.(j@...].jB...].jD...]. |
bfc0 | 6a 46 03 00 00 5d 94 6a 48 03 00 00 5d 94 75 6a db 02 00 00 6a 53 03 00 00 6a cd 02 00 00 6a b8 | jF...].jH...].uj....jS...j....j. |
bfe0 | 0c 00 00 75 62 6a 54 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5a | ...ubjT...)..}.(j....h'j....].jZ |
c000 | 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5f 03 00 00 29 81 94 7d | ...)..}.(j....h'j....].j_...)..} |
c020 | 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 28 6a 66 0a 00 00 29 81 94 7d 94 28 6a bf 02 00 | .(j....h'j....].(jf...)..}.(j... |
c040 | 00 8c 09 6d 32 75 72 6c 6c 69 62 32 94 6a c0 02 00 00 5d 94 6a c8 02 00 00 8c 09 6d 32 75 72 6c | ...m2urllib2.j....].j......m2url |
c060 | 6c 69 62 32 94 85 94 81 94 7d 94 28 6a bf 02 00 00 68 27 6a cd 02 00 00 6a 10 11 00 00 75 62 61 | lib2.....}.(j....h'j....j....uba |
c080 | 6a ce 02 00 00 7d 94 28 6a 40 03 00 00 5d 94 6a 42 03 00 00 5d 94 6a 44 03 00 00 5d 94 6a 46 03 | j....}.(j@...].jB...].jD...].jF. |
c0a0 | 00 00 5d 94 6a 48 03 00 00 5d 94 75 6a db 02 00 00 6a 65 0a 00 00 6a cd 02 00 00 6a 0d 11 00 00 | ..].jH...].uj....je...j....j.... |
c0c0 | 75 62 6a c8 02 00 00 8c 07 20 4d 6f 64 75 6c 65 94 85 94 81 94 7d 94 28 6a bf 02 00 00 8c 07 20 | ubj.......Module.....}.(j....... |
c0e0 | 4d 6f 64 75 6c 65 94 6a cd 02 00 00 6a 0d 11 00 00 75 62 65 6a ce 02 00 00 7d 94 28 6a 40 03 00 | Module.j....j....ubej....}.(j@.. |
c100 | 00 5d 94 6a 42 03 00 00 5d 94 6a 44 03 00 00 5d 94 6a 46 03 00 00 5d 94 6a 48 03 00 00 5d 94 8c | .].jB...].jD...].jF...].jH...].. |
c120 | 08 69 6e 74 65 72 6e 61 6c 94 88 8c 06 72 65 66 75 72 69 94 6a 53 02 00 00 8c 0a 61 6e 63 68 6f | .internal....refuri.jS.....ancho |
c140 | 72 6e 61 6d 65 94 8c 1a 23 6d 6f 64 75 6c 65 2d 4d 32 43 72 79 70 74 6f 2e 6d 32 75 72 6c 6c 69 | rname...#module-M2Crypto.m2urlli |
c160 | 62 32 94 75 6a db 02 00 00 6a 5e 03 00 00 6a cd 02 00 00 6a 0a 11 00 00 75 62 61 6a ce 02 00 00 | b2.uj....j^...j....j....ubaj.... |
c180 | 7d 94 28 6a 40 03 00 00 5d 94 6a 42 03 00 00 5d 94 6a 44 03 00 00 5d 94 6a 46 03 00 00 5d 94 6a | }.(j@...].jB...].jD...].jF...].j |
c1a0 | 48 03 00 00 5d 94 75 6a db 02 00 00 6a 59 03 00 00 6a cd 02 00 00 6a 07 11 00 00 75 62 61 6a ce | H...].uj....jY...j....j....ubaj. |
c1c0 | 02 00 00 7d 94 28 6a 40 03 00 00 5d 94 6a 42 03 00 00 5d 94 6a 44 03 00 00 5d 94 6a 46 03 00 00 | ...}.(j@...].jB...].jD...].jF... |
c1e0 | 5d 94 6a 48 03 00 00 5d 94 75 6a db 02 00 00 6a 53 03 00 00 6a cd 02 00 00 6a b8 0c 00 00 75 62 | ].jH...].uj....jS...j....j....ub |
c200 | 6a 54 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5a 03 00 00 29 81 | jT...)..}.(j....h'j....].jZ...). |
c220 | 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5f 03 00 00 29 81 94 7d 94 28 6a bf 02 | .}.(j....h'j....].j_...)..}.(j.. |
c240 | 00 00 68 27 6a c0 02 00 00 5d 94 28 6a 66 0a 00 00 29 81 94 7d 94 28 6a bf 02 00 00 8c 0b 6d 32 | ..h'j....].(jf...)..}.(j......m2 |
c260 | 78 6d 6c 72 70 63 6c 69 62 94 6a c0 02 00 00 5d 94 6a c8 02 00 00 8c 0b 6d 32 78 6d 6c 72 70 63 | xmlrpclib.j....].j......m2xmlrpc |
c280 | 6c 69 62 94 85 94 81 94 7d 94 28 6a bf 02 00 00 68 27 6a cd 02 00 00 6a 42 11 00 00 75 62 61 6a | lib.....}.(j....h'j....jB...ubaj |
c2a0 | ce 02 00 00 7d 94 28 6a 40 03 00 00 5d 94 6a 42 03 00 00 5d 94 6a 44 03 00 00 5d 94 6a 46 03 00 | ....}.(j@...].jB...].jD...].jF.. |
c2c0 | 00 5d 94 6a 48 03 00 00 5d 94 75 6a db 02 00 00 6a 65 0a 00 00 6a cd 02 00 00 6a 3f 11 00 00 75 | .].jH...].uj....je...j....j?...u |
c2e0 | 62 6a c8 02 00 00 8c 07 20 4d 6f 64 75 6c 65 94 85 94 81 94 7d 94 28 6a bf 02 00 00 8c 07 20 4d | bj.......Module.....}.(j.......M |
c300 | 6f 64 75 6c 65 94 6a cd 02 00 00 6a 3f 11 00 00 75 62 65 6a ce 02 00 00 7d 94 28 6a 40 03 00 00 | odule.j....j?...ubej....}.(j@... |
c320 | 5d 94 6a 42 03 00 00 5d 94 6a 44 03 00 00 5d 94 6a 46 03 00 00 5d 94 6a 48 03 00 00 5d 94 8c 08 | ].jB...].jD...].jF...].jH...]... |
c340 | 69 6e 74 65 72 6e 61 6c 94 88 8c 06 72 65 66 75 72 69 94 6a 53 02 00 00 8c 0a 61 6e 63 68 6f 72 | internal....refuri.jS.....anchor |
c360 | 6e 61 6d 65 94 8c 1c 23 6d 6f 64 75 6c 65 2d 4d 32 43 72 79 70 74 6f 2e 6d 32 78 6d 6c 72 70 63 | name...#module-M2Crypto.m2xmlrpc |
c380 | 6c 69 62 94 75 6a db 02 00 00 6a 5e 03 00 00 6a cd 02 00 00 6a 3c 11 00 00 75 62 61 6a ce 02 00 | lib.uj....j^...j....j<...ubaj... |
c3a0 | 00 7d 94 28 6a 40 03 00 00 5d 94 6a 42 03 00 00 5d 94 6a 44 03 00 00 5d 94 6a 46 03 00 00 5d 94 | .}.(j@...].jB...].jD...].jF...]. |
c3c0 | 6a 48 03 00 00 5d 94 75 6a db 02 00 00 6a 59 03 00 00 6a cd 02 00 00 6a 39 11 00 00 75 62 61 6a | jH...].uj....jY...j....j9...ubaj |
c3e0 | ce 02 00 00 7d 94 28 6a 40 03 00 00 5d 94 6a 42 03 00 00 5d 94 6a 44 03 00 00 5d 94 6a 46 03 00 | ....}.(j@...].jB...].jD...].jF.. |
c400 | 00 5d 94 6a 48 03 00 00 5d 94 75 6a db 02 00 00 6a 53 03 00 00 6a cd 02 00 00 6a b8 0c 00 00 75 | .].jH...].uj....jS...j....j....u |
c420 | 62 6a 54 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5a 03 00 00 29 | bjT...)..}.(j....h'j....].jZ...) |
c440 | 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5f 03 00 00 29 81 94 7d 94 28 6a bf | ..}.(j....h'j....].j_...)..}.(j. |
c460 | 02 00 00 68 27 6a c0 02 00 00 5d 94 28 6a 66 0a 00 00 29 81 94 7d 94 28 6a bf 02 00 00 8c 09 74 | ...h'j....].(jf...)..}.(j......t |
c480 | 68 72 65 61 64 69 6e 67 94 6a c0 02 00 00 5d 94 6a c8 02 00 00 8c 09 74 68 72 65 61 64 69 6e 67 | hreading.j....].j......threading |
c4a0 | 94 85 94 81 94 7d 94 28 6a bf 02 00 00 68 27 6a cd 02 00 00 6a 74 11 00 00 75 62 61 6a ce 02 00 | .....}.(j....h'j....jt...ubaj... |
c4c0 | 00 7d 94 28 6a 40 03 00 00 5d 94 6a 42 03 00 00 5d 94 6a 44 03 00 00 5d 94 6a 46 03 00 00 5d 94 | .}.(j@...].jB...].jD...].jF...]. |
c4e0 | 6a 48 03 00 00 5d 94 75 6a db 02 00 00 6a 65 0a 00 00 6a cd 02 00 00 6a 71 11 00 00 75 62 6a c8 | jH...].uj....je...j....jq...ubj. |
c500 | 02 00 00 8c 07 20 4d 6f 64 75 6c 65 94 85 94 81 94 7d 94 28 6a bf 02 00 00 8c 07 20 4d 6f 64 75 | ......Module.....}.(j.......Modu |
c520 | 6c 65 94 6a cd 02 00 00 6a 71 11 00 00 75 62 65 6a ce 02 00 00 7d 94 28 6a 40 03 00 00 5d 94 6a | le.j....jq...ubej....}.(j@...].j |
c540 | 42 03 00 00 5d 94 6a 44 03 00 00 5d 94 6a 46 03 00 00 5d 94 6a 48 03 00 00 5d 94 8c 08 69 6e 74 | B...].jD...].jF...].jH...]...int |
c560 | 65 72 6e 61 6c 94 88 8c 06 72 65 66 75 72 69 94 6a 53 02 00 00 8c 0a 61 6e 63 68 6f 72 6e 61 6d | ernal....refuri.jS.....anchornam |
c580 | 65 94 8c 1a 23 6d 6f 64 75 6c 65 2d 4d 32 43 72 79 70 74 6f 2e 74 68 72 65 61 64 69 6e 67 94 75 | e...#module-M2Crypto.threading.u |
c5a0 | 6a db 02 00 00 6a 5e 03 00 00 6a cd 02 00 00 6a 6e 11 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a | j....j^...j....jn...ubaj....}.(j |
c5c0 | 40 03 00 00 5d 94 6a 42 03 00 00 5d 94 6a 44 03 00 00 5d 94 6a 46 03 00 00 5d 94 6a 48 03 00 00 | @...].jB...].jD...].jF...].jH... |
c5e0 | 5d 94 75 6a db 02 00 00 6a 59 03 00 00 6a cd 02 00 00 6a 6b 11 00 00 75 62 61 6a ce 02 00 00 7d | ].uj....jY...j....jk...ubaj....} |
c600 | 94 28 6a 40 03 00 00 5d 94 6a 42 03 00 00 5d 94 6a 44 03 00 00 5d 94 6a 46 03 00 00 5d 94 6a 48 | .(j@...].jB...].jD...].jF...].jH |
c620 | 03 00 00 5d 94 75 6a db 02 00 00 6a 53 03 00 00 6a cd 02 00 00 6a b8 0c 00 00 75 62 6a 54 03 00 | ...].uj....jS...j....j....ubjT.. |
c640 | 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5a 03 00 00 29 81 94 7d 94 28 | .)..}.(j....h'j....].jZ...)..}.( |
c660 | 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5f 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 | j....h'j....].j_...)..}.(j....h' |
c680 | 6a c0 02 00 00 5d 94 28 6a 66 0a 00 00 29 81 94 7d 94 28 6a bf 02 00 00 8c 04 75 74 69 6c 94 6a | j....].(jf...)..}.(j......util.j |
c6a0 | c0 02 00 00 5d 94 6a c8 02 00 00 8c 04 75 74 69 6c 94 85 94 81 94 7d 94 28 6a bf 02 00 00 68 27 | ....].j......util.....}.(j....h' |
c6c0 | 6a cd 02 00 00 6a a6 11 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a 40 03 00 00 5d 94 6a 42 03 00 | j....j....ubaj....}.(j@...].jB.. |
c6e0 | 00 5d 94 6a 44 03 00 00 5d 94 6a 46 03 00 00 5d 94 6a 48 03 00 00 5d 94 75 6a db 02 00 00 6a 65 | .].jD...].jF...].jH...].uj....je |
c700 | 0a 00 00 6a cd 02 00 00 6a a3 11 00 00 75 62 6a c8 02 00 00 8c 07 20 4d 6f 64 75 6c 65 94 85 94 | ...j....j....ubj.......Module... |
c720 | 81 94 7d 94 28 6a bf 02 00 00 8c 07 20 4d 6f 64 75 6c 65 94 6a cd 02 00 00 6a a3 11 00 00 75 62 | ..}.(j.......Module.j....j....ub |
c740 | 65 6a ce 02 00 00 7d 94 28 6a 40 03 00 00 5d 94 6a 42 03 00 00 5d 94 6a 44 03 00 00 5d 94 6a 46 | ej....}.(j@...].jB...].jD...].jF |
c760 | 03 00 00 5d 94 6a 48 03 00 00 5d 94 8c 08 69 6e 74 65 72 6e 61 6c 94 88 8c 06 72 65 66 75 72 69 | ...].jH...]...internal....refuri |
c780 | 94 6a 53 02 00 00 8c 0a 61 6e 63 68 6f 72 6e 61 6d 65 94 8c 15 23 6d 6f 64 75 6c 65 2d 4d 32 43 | .jS.....anchorname...#module-M2C |
c7a0 | 72 79 70 74 6f 2e 75 74 69 6c 94 75 6a db 02 00 00 6a 5e 03 00 00 6a cd 02 00 00 6a a0 11 00 00 | rypto.util.uj....j^...j....j.... |
c7c0 | 75 62 61 6a ce 02 00 00 7d 94 28 6a 40 03 00 00 5d 94 6a 42 03 00 00 5d 94 6a 44 03 00 00 5d 94 | ubaj....}.(j@...].jB...].jD...]. |
c7e0 | 6a 46 03 00 00 5d 94 6a 48 03 00 00 5d 94 75 6a db 02 00 00 6a 59 03 00 00 6a cd 02 00 00 6a 9d | jF...].jH...].uj....jY...j....j. |
c800 | 11 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a 40 03 00 00 5d 94 6a 42 03 00 00 5d 94 6a 44 03 00 | ...ubaj....}.(j@...].jB...].jD.. |
c820 | 00 5d 94 6a 46 03 00 00 5d 94 6a 48 03 00 00 5d 94 75 6a db 02 00 00 6a 53 03 00 00 6a cd 02 00 | .].jF...].jH...].uj....jS...j... |
c840 | 00 6a b8 0c 00 00 75 62 6a 54 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d | .j....ubjT...)..}.(j....h'j....] |
c860 | 94 28 6a 5a 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a 5f 03 00 00 | .(jZ...)..}.(j....h'j....].j_... |
c880 | 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a c8 02 00 00 8c 0b 53 75 62 70 61 | )..}.(j....h'j....].j......Subpa |
c8a0 | 63 6b 61 67 65 73 94 85 94 81 94 7d 94 28 6a bf 02 00 00 8c 0b 53 75 62 70 61 63 6b 61 67 65 73 | ckages.....}.(j......Subpackages |
c8c0 | 94 6a cd 02 00 00 6a d5 11 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a 40 03 00 00 5d 94 6a 42 03 | .j....j....ubaj....}.(j@...].jB. |
c8e0 | 00 00 5d 94 6a 44 03 00 00 5d 94 6a 46 03 00 00 5d 94 6a 48 03 00 00 5d 94 8c 08 69 6e 74 65 72 | ..].jD...].jF...].jH...]...inter |
c900 | 6e 61 6c 94 88 8c 06 72 65 66 75 72 69 94 6a 53 02 00 00 8c 0a 61 6e 63 68 6f 72 6e 61 6d 65 94 | nal....refuri.jS.....anchorname. |
c920 | 8c 0c 23 73 75 62 70 61 63 6b 61 67 65 73 94 75 6a db 02 00 00 6a 5e 03 00 00 6a cd 02 00 00 6a | ..#subpackages.uj....j^...j....j |
c940 | d2 11 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a 40 03 00 00 5d 94 6a 42 03 00 00 5d 94 6a 44 03 | ....ubaj....}.(j@...].jB...].jD. |
c960 | 00 00 5d 94 6a 46 03 00 00 5d 94 6a 48 03 00 00 5d 94 75 6a db 02 00 00 6a 59 03 00 00 6a cd 02 | ..].jF...].jH...].uj....jY...j.. |
c980 | 00 00 6a cf 11 00 00 75 62 6a 4f 03 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 | ..j....ubjO...)..}.(j....h'j.... |
c9a0 | 5d 94 6a c4 09 00 00 29 81 94 7d 94 28 6a bf 02 00 00 68 27 6a c0 02 00 00 5d 94 6a ce 02 00 00 | ].j....)..}.(j....h'j....].j.... |
c9c0 | 7d 94 28 6a 40 03 00 00 5d 94 6a 42 03 00 00 5d 94 6a 44 03 00 00 5d 94 6a 46 03 00 00 5d 94 6a | }.(j@...].jB...].jD...].jF...].j |
c9e0 | 48 03 00 00 5d 94 8c 06 70 61 72 65 6e 74 94 6a 53 02 00 00 8c 07 65 6e 74 72 69 65 73 94 5d 94 | H...]...parent.jS.....entries.]. |
ca00 | 4e 8c 0c 4d 32 43 72 79 70 74 6f 2e 53 53 4c 94 86 94 61 8c 0c 69 6e 63 6c 75 64 65 66 69 6c 65 | N..M2Crypto.SSL...a..includefile |
ca20 | 73 94 5d 94 6a fc 11 00 00 61 8c 08 6d 61 78 64 65 70 74 68 94 4a ff ff ff ff 8c 07 63 61 70 74 | s.].j....a..maxdepth.J......capt |
ca40 | 69 6f 6e 94 4e 8c 04 67 6c 6f 62 94 89 8c 06 68 69 64 64 65 6e 94 89 8c 0d 69 6e 63 6c 75 64 65 | ion.N..glob....hidden....include |
ca60 | 68 69 64 64 65 6e 94 89 8c 08 6e 75 6d 62 65 72 65 64 94 4b 00 8c 0a 74 69 74 6c 65 73 6f 6e 6c | hidden....numbered.K...titlesonl |
ca80 | 79 94 89 75 6a db 02 00 00 6a c3 09 00 00 6a dd 02 00 00 8c 3b 2f 68 6f 6d 65 2f 6d 61 74 65 6a | y..uj....j....j.....;/home/matej |
caa0 | 2f 61 72 63 68 69 76 2f 6b 6e 69 68 6f 76 6e 61 2f 72 65 70 6f 73 2f 6d 32 63 72 79 70 74 6f 2f | /archiv/knihovna/repos/m2crypto/ |
cac0 | 64 6f 63 2f 4d 32 43 72 79 70 74 6f 2e 72 73 74 94 6a de 02 00 00 4b d7 6a cd 02 00 00 6a ed 11 | doc/M2Crypto.rst.j....K.j....j.. |
cae0 | 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a 40 03 00 00 5d 94 6a 42 03 00 00 5d 94 6a 44 03 00 00 | ..ubaj....}.(j@...].jB...].jD... |
cb00 | 5d 94 6a 46 03 00 00 5d 94 6a 48 03 00 00 5d 94 75 6a db 02 00 00 6a 4e 03 00 00 6a cd 02 00 00 | ].jF...].jH...].uj....jN...j.... |
cb20 | 6a cf 11 00 00 75 62 65 6a ce 02 00 00 7d 94 28 6a 40 03 00 00 5d 94 6a 42 03 00 00 5d 94 6a 44 | j....ubej....}.(j@...].jB...].jD |
cb40 | 03 00 00 5d 94 6a 46 03 00 00 5d 94 6a 48 03 00 00 5d 94 75 6a db 02 00 00 6a 53 03 00 00 6a cd | ...].jF...].jH...].uj....jS...j. |
cb60 | 02 00 00 6a b8 0c 00 00 75 62 65 6a ce 02 00 00 7d 94 28 6a 40 03 00 00 5d 94 6a 42 03 00 00 5d | ...j....ubej....}.(j@...].jB...] |
cb80 | 94 6a 44 03 00 00 5d 94 6a 46 03 00 00 5d 94 6a 48 03 00 00 5d 94 75 6a db 02 00 00 6a 4e 03 00 | .jD...].jF...].jH...].uj....jN.. |
cba0 | 00 6a cd 02 00 00 6a 9c 0c 00 00 75 62 65 6a ce 02 00 00 7d 94 28 6a 40 03 00 00 5d 94 6a 42 03 | .j....j....ubej....}.(j@...].jB. |
cbc0 | 00 00 5d 94 6a 44 03 00 00 5d 94 6a 46 03 00 00 5d 94 6a 48 03 00 00 5d 94 75 6a db 02 00 00 6a | ..].jD...].jF...].jH...].uj....j |
cbe0 | 53 03 00 00 6a cd 02 00 00 6a 99 0c 00 00 75 62 61 6a ce 02 00 00 7d 94 28 6a 40 03 00 00 5d 94 | S...j....j....ubaj....}.(j@...]. |
cc00 | 6a 42 03 00 00 5d 94 6a 44 03 00 00 5d 94 6a 46 03 00 00 5d 94 6a 48 03 00 00 5d 94 75 6a db 02 | jB...].jD...].jF...].jH...].uj.. |
cc20 | 00 00 6a 4e 03 00 00 75 62 75 8c 0f 74 6f 63 5f 6e 75 6d 5f 65 6e 74 72 69 65 73 94 7d 94 28 6a | ..jN...ubu..toc_num_entries.}.(j |
cc40 | 57 02 00 00 4b 0c 6a 58 02 00 00 4b 04 6a 59 02 00 00 4b 11 6a 5a 02 00 00 4b 06 6a 5b 02 00 00 | W...K.jX...K.jY...K.jZ...K.j[... |
cc60 | 4b 03 6a 5c 02 00 00 4b 0c 6a 53 02 00 00 4b 1c 75 8c 0e 74 6f 63 5f 73 65 63 6e 75 6d 62 65 72 | K.j\...K.jS...K.u..toc_secnumber |
cc80 | 73 94 7d 94 8c 0e 74 6f 63 5f 66 69 67 6e 75 6d 62 65 72 73 94 7d 94 8c 10 74 6f 63 74 72 65 65 | s.}...toc_fignumbers.}...toctree |
cca0 | 5f 69 6e 63 6c 75 64 65 73 94 7d 94 28 6a 5b 02 00 00 5d 94 6a d1 09 00 00 61 6a 53 02 00 00 5d | _includes.}.(j[...].j....ajS...] |
ccc0 | 94 6a fc 11 00 00 61 75 8c 10 66 69 6c 65 73 5f 74 6f 5f 72 65 62 75 69 6c 64 94 7d 94 28 6a d1 | .j....au..files_to_rebuild.}.(j. |
cce0 | 09 00 00 8f 94 28 6a 5b 02 00 00 90 6a fc 11 00 00 8f 94 28 6a 53 02 00 00 90 75 8c 0d 67 6c 6f | .....(j[....j......(jS....u..glo |
cd00 | 62 5f 74 6f 63 74 72 65 65 73 94 8f 94 8c 11 6e 75 6d 62 65 72 65 64 5f 74 6f 63 74 72 65 65 73 | b_toctrees.....numbered_toctrees |
cd20 | 94 8f 94 8c 0a 64 6f 6d 61 69 6e 64 61 74 61 94 7d 94 28 8c 01 63 94 7d 94 28 8c 07 6f 62 6a 65 | .....domaindata.}.(..c.}.(..obje |
cd40 | 63 74 73 94 7d 94 6a 28 02 00 00 4b 00 75 8c 09 63 68 61 6e 67 65 73 65 74 94 7d 94 28 8c 07 63 | cts.}.j(...K.u..changeset.}.(..c |
cd60 | 68 61 6e 67 65 73 94 7d 94 6a 28 02 00 00 4b 00 75 8c 03 63 70 70 94 7d 94 28 8c 0b 72 6f 6f 74 | hanges.}.j(...K.u..cpp.}.(..root |
cd80 | 5f 73 79 6d 62 6f 6c 94 6a 2c 02 00 00 8c 06 53 79 6d 62 6f 6c 94 93 94 29 81 94 7d 94 28 6a cd | _symbol.j,.....Symbol...)..}.(j. |
cda0 | 02 00 00 4e 8c 09 69 64 65 6e 74 4f 72 4f 70 94 4e 8c 0e 74 65 6d 70 6c 61 74 65 50 61 72 61 6d | ...N..identOrOp.N..templateParam |
cdc0 | 73 94 4e 8c 0c 74 65 6d 70 6c 61 74 65 41 72 67 73 94 4e 8c 0b 64 65 63 6c 61 72 61 74 69 6f 6e | s.N..templateArgs.N..declaration |
cde0 | 94 4e 8c 07 64 6f 63 6e 61 6d 65 94 4e 8c 0f 69 73 52 65 64 65 63 6c 61 72 61 74 69 6f 6e 94 89 | .N..docname.N..isRedeclaration.. |
ce00 | 8c 09 5f 63 68 69 6c 64 72 65 6e 94 5d 94 8c 0d 5f 61 6e 6f 6e 43 68 69 6c 64 72 65 6e 94 5d 94 | .._children.]..._anonChildren.]. |
ce20 | 75 62 6a d5 02 00 00 7d 94 6a 28 02 00 00 4b 00 75 8c 02 6a 73 94 7d 94 28 6a 3c 12 00 00 7d 94 | ubj....}.j(...K.u..js.}.(j<...}. |
ce40 | 8c 07 6d 6f 64 75 6c 65 73 94 7d 94 6a 28 02 00 00 4b 00 75 8c 04 6d 61 74 68 94 7d 94 28 6a 3c | ..modules.}.j(...K.u..math.}.(j< |
ce60 | 12 00 00 7d 94 8c 0d 68 61 73 5f 65 71 75 61 74 69 6f 6e 73 94 7d 94 28 6a 57 02 00 00 89 6a 58 | ...}...has_equations.}.(jW....jX |
ce80 | 02 00 00 89 6a 59 02 00 00 89 6a 5a 02 00 00 89 6a 5b 02 00 00 89 6a 5c 02 00 00 89 6a 53 02 00 | ....jY....jZ....j[....j\....jS.. |
cea0 | 00 89 75 6a 28 02 00 00 4b 00 75 8c 02 70 79 94 7d 94 28 6a 3c 12 00 00 7d 94 28 8c 0c 4d 32 43 | ..uj(...K.u..py.}.(j<...}.(..M2C |
cec0 | 72 79 70 74 6f 2e 53 53 4c 94 6a 5c 02 00 00 8c 06 6d 6f 64 75 6c 65 94 86 94 8c 15 4d 32 43 72 | rypto.SSL.j\.....module.....M2Cr |
cee0 | 79 70 74 6f 2e 53 53 4c 2e 53 53 4c 45 72 72 6f 72 94 6a 5c 02 00 00 8c 09 65 78 63 65 70 74 69 | ypto.SSL.SSLError.j\.....excepti |
cf00 | 6f 6e 94 86 94 8c 1c 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 53 53 4c 54 69 6d 65 6f 75 74 45 72 | on.....M2Crypto.SSL.SSLTimeoutEr |
cf20 | 72 6f 72 94 6a 5c 02 00 00 8c 09 65 78 63 65 70 74 69 6f 6e 94 86 94 8c 14 4d 32 43 72 79 70 74 | ror.j\.....exception.....M2Crypt |
cf40 | 6f 2e 53 53 4c 2e 43 68 65 63 6b 65 72 94 6a 5c 02 00 00 6a 62 12 00 00 86 94 8c 29 4d 32 43 72 | o.SSL.Checker.j\...jb......)M2Cr |
cf60 | 79 70 74 6f 2e 53 53 4c 2e 43 68 65 63 6b 65 72 2e 53 53 4c 56 65 72 69 66 69 63 61 74 69 6f 6e | ypto.SSL.Checker.SSLVerification |
cf80 | 45 72 72 6f 72 94 6a 5c 02 00 00 8c 09 65 78 63 65 70 74 69 6f 6e 94 86 94 8c 22 4d 32 43 72 79 | Error.j\.....exception...."M2Cry |
cfa0 | 70 74 6f 2e 53 53 4c 2e 43 68 65 63 6b 65 72 2e 4e 6f 43 65 72 74 69 66 69 63 61 74 65 94 6a 5c | pto.SSL.Checker.NoCertificate.j\ |
cfc0 | 02 00 00 8c 09 65 78 63 65 70 74 69 6f 6e 94 86 94 8c 25 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e | .....exception....%M2Crypto.SSL. |
cfe0 | 43 68 65 63 6b 65 72 2e 57 72 6f 6e 67 43 65 72 74 69 66 69 63 61 74 65 94 6a 5c 02 00 00 8c 09 | Checker.WrongCertificate.j\..... |
d000 | 65 78 63 65 70 74 69 6f 6e 94 86 94 8c 1e 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 68 65 63 6b | exception.....M2Crypto.SSL.Check |
d020 | 65 72 2e 57 72 6f 6e 67 48 6f 73 74 94 6a 5c 02 00 00 8c 09 65 78 63 65 70 74 69 6f 6e 94 86 94 | er.WrongHost.j\.....exception... |
d040 | 8c 1c 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 68 65 63 6b 65 72 2e 43 68 65 63 6b 65 72 94 6a | ..M2Crypto.SSL.Checker.Checker.j |
d060 | 5c 02 00 00 8c 05 63 6c 61 73 73 94 86 94 8c 2b 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 68 65 | \.....class....+M2Crypto.SSL.Che |
d080 | 63 6b 65 72 2e 43 68 65 63 6b 65 72 2e 6e 75 6d 65 72 69 63 49 70 4d 61 74 63 68 94 6a 5c 02 00 | cker.Checker.numericIpMatch.j\.. |
d0a0 | 00 8c 09 61 74 74 72 69 62 75 74 65 94 86 94 8c 13 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 69 | ...attribute.....M2Crypto.SSL.Ci |
d0c0 | 70 68 65 72 94 6a 5c 02 00 00 6a 62 12 00 00 86 94 8c 1a 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e | pher.j\...jb.......M2Crypto.SSL. |
d0e0 | 43 69 70 68 65 72 2e 43 69 70 68 65 72 94 6a 5c 02 00 00 8c 05 63 6c 61 73 73 94 86 94 8c 1f 4d | Cipher.Cipher.j\.....class.....M |
d100 | 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 69 70 68 65 72 2e 43 69 70 68 65 72 2e 6e 61 6d 65 94 6a | 2Crypto.SSL.Cipher.Cipher.name.j |
d120 | 5c 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 22 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 69 | \.....method...."M2Crypto.SSL.Ci |
d140 | 70 68 65 72 2e 43 69 70 68 65 72 2e 76 65 72 73 69 6f 6e 94 6a 5c 02 00 00 8c 06 6d 65 74 68 6f | pher.Cipher.version.j\.....metho |
d160 | 64 94 86 94 8c 20 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 69 70 68 65 72 2e 43 69 70 68 65 72 | d.....M2Crypto.SSL.Cipher.Cipher |
d180 | 5f 53 74 61 63 6b 94 6a 5c 02 00 00 8c 05 63 6c 61 73 73 94 86 94 8c 17 4d 32 43 72 79 70 74 6f | _Stack.j\.....class.....M2Crypto |
d1a0 | 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 94 6a 5c 02 00 00 6a 62 12 00 00 86 94 8c 22 4d 32 | .SSL.Connection.j\...jb......"M2 |
d1c0 | 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e | Crypto.SSL.Connection.Connection |
d1e0 | 94 6a 5c 02 00 00 8c 05 63 6c 61 73 73 94 86 94 8c 29 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 | .j\.....class....)M2Crypto.SSL.C |
d200 | 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 61 63 63 65 70 74 94 6a 5c 02 00 | onnection.Connection.accept.j\.. |
d220 | 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 2d 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 | ...method....-M2Crypto.SSL.Conne |
d240 | 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 61 63 63 65 70 74 5f 73 73 6c 94 6a 5c 02 00 | ction.Connection.accept_ssl.j\.. |
d260 | 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 27 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 | ...method....'M2Crypto.SSL.Conne |
d280 | 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 62 69 6e 64 94 6a 5c 02 00 00 8c 06 6d 65 74 | ction.Connection.bind.j\.....met |
d2a0 | 68 6f 64 94 86 94 8c 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e | hod....(M2Crypto.SSL.Connection. |
d2c0 | 43 6f 6e 6e 65 63 74 69 6f 6e 2e 63 6c 65 61 72 94 6a 5c 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 | Connection.clear.j\.....method.. |
d2e0 | 94 8c 3c 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 | ..<M2Crypto.SSL.Connection.Conne |
d300 | 63 74 69 6f 6e 2e 63 6c 69 65 6e 74 50 6f 73 74 43 6f 6e 6e 65 63 74 69 6f 6e 43 68 65 63 6b 94 | ction.clientPostConnectionCheck. |
d320 | 6a 5c 02 00 00 8c 09 61 74 74 72 69 62 75 74 65 94 86 94 8c 28 4d 32 43 72 79 70 74 6f 2e 53 53 | j\.....attribute....(M2Crypto.SS |
d340 | 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 63 6c 6f 73 65 94 6a 5c | L.Connection.Connection.close.j\ |
d360 | 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 2a 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e | .....method....*M2Crypto.SSL.Con |
d380 | 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 63 6f 6e 6e 65 63 74 94 6a 5c 02 00 00 | nection.Connection.connect.j\... |
d3a0 | 8c 06 6d 65 74 68 6f 64 94 86 94 8c 2e 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 | ..method.....M2Crypto.SSL.Connec |
d3c0 | 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 63 6f 6e 6e 65 63 74 5f 73 73 6c 94 6a 5c 02 00 | tion.Connection.connect_ssl.j\.. |
d3e0 | 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 29 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 | ...method....)M2Crypto.SSL.Conne |
d400 | 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 66 69 6c 65 6e 6f 94 6a 5c 02 00 00 8c 06 6d | ction.Connection.fileno.j\.....m |
d420 | 65 74 68 6f 64 94 86 94 8c 2d 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f | ethod....-M2Crypto.SSL.Connectio |
d440 | 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 67 65 74 5f 63 69 70 68 65 72 94 6a 5c 02 00 00 8c 06 6d | n.Connection.get_cipher.j\.....m |
d460 | 65 74 68 6f 64 94 86 94 8c 32 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f | ethod....2M2Crypto.SSL.Connectio |
d480 | 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 67 65 74 5f 63 69 70 68 65 72 5f 6c 69 73 74 94 6a 5c 02 | n.Connection.get_cipher_list.j\. |
d4a0 | 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 2e 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e | ....method.....M2Crypto.SSL.Conn |
d4c0 | 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 67 65 74 5f 63 69 70 68 65 72 73 94 6a 5c | ection.Connection.get_ciphers.j\ |
d4e0 | 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 2e 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e | .....method.....M2Crypto.SSL.Con |
d500 | 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 67 65 74 5f 63 6f 6e 74 65 78 74 94 6a | nection.Connection.get_context.j |
d520 | 5c 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 3e 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f | \.....method....>M2Crypto.SSL.Co |
d540 | 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 67 65 74 5f 64 65 66 61 75 6c 74 5f | nnection.Connection.get_default_ |
d560 | 73 65 73 73 69 6f 6e 5f 74 69 6d 65 6f 75 74 94 6a 5c 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 | session_timeout.j\.....method... |
d580 | 8c 30 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 | .0M2Crypto.SSL.Connection.Connec |
d5a0 | 74 69 6f 6e 2e 67 65 74 5f 70 65 65 72 5f 63 65 72 74 94 6a 5c 02 00 00 8c 06 6d 65 74 68 6f 64 | tion.get_peer_cert.j\.....method |
d5c0 | 94 86 94 8c 36 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e | ....6M2Crypto.SSL.Connection.Con |
d5e0 | 6e 65 63 74 69 6f 6e 2e 67 65 74 5f 70 65 65 72 5f 63 65 72 74 5f 63 68 61 69 6e 94 6a 5c 02 00 | nection.get_peer_cert_chain.j\.. |
d600 | 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 2e 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 | ...method.....M2Crypto.SSL.Conne |
d620 | 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 67 65 74 5f 73 65 73 73 69 6f 6e 94 6a 5c 02 | ction.Connection.get_session.j\. |
d640 | 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 2f 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e | ....method..../M2Crypto.SSL.Conn |
d660 | 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 67 65 74 5f 73 68 75 74 64 6f 77 6e 94 6a | ection.Connection.get_shutdown.j |
d680 | 5c 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 3a 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f | \.....method....:M2Crypto.SSL.Co |
d6a0 | 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 67 65 74 5f 73 6f 63 6b 65 74 5f 72 | nnection.Connection.get_socket_r |
d6c0 | 65 61 64 5f 74 69 6d 65 6f 75 74 94 6a 5c 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 3b 4d 32 | ead_timeout.j\.....method....;M2 |
d6e0 | 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e | Crypto.SSL.Connection.Connection |
d700 | 2e 67 65 74 5f 73 6f 63 6b 65 74 5f 77 72 69 74 65 5f 74 69 6d 65 6f 75 74 94 6a 5c 02 00 00 8c | .get_socket_write_timeout.j\.... |
d720 | 06 6d 65 74 68 6f 64 94 86 94 8c 2c 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 | .method....,M2Crypto.SSL.Connect |
d740 | 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 67 65 74 5f 73 74 61 74 65 94 6a 5c 02 00 00 8c 06 | ion.Connection.get_state.j\..... |
d760 | 6d 65 74 68 6f 64 94 86 94 8c 33 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 | method....3M2Crypto.SSL.Connecti |
d780 | 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 67 65 74 5f 76 65 72 69 66 79 5f 64 65 70 74 68 94 6a | on.Connection.get_verify_depth.j |
d7a0 | 5c 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 32 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f | \.....method....2M2Crypto.SSL.Co |
d7c0 | 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 67 65 74 5f 76 65 72 69 66 79 5f 6d | nnection.Connection.get_verify_m |
d7e0 | 6f 64 65 94 6a 5c 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 34 4d 32 43 72 79 70 74 6f 2e 53 | ode.j\.....method....4M2Crypto.S |
d800 | 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 67 65 74 5f 76 65 72 | SL.Connection.Connection.get_ver |
d820 | 69 66 79 5f 72 65 73 75 6c 74 94 6a 5c 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 2e 4d 32 43 | ify_result.j\.....method.....M2C |
d840 | 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e | rypto.SSL.Connection.Connection. |
d860 | 67 65 74 5f 76 65 72 73 69 6f 6e 94 6a 5c 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 2e 4d 32 | get_version.j\.....method.....M2 |
d880 | 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e | Crypto.SSL.Connection.Connection |
d8a0 | 2e 67 65 74 70 65 65 72 6e 61 6d 65 94 6a 5c 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 2e 4d | .getpeername.j\.....method.....M |
d8c0 | 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f | 2Crypto.SSL.Connection.Connectio |
d8e0 | 6e 2e 67 65 74 73 6f 63 6b 6e 61 6d 65 94 6a 5c 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 2d | n.getsockname.j\.....method....- |
d900 | 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 | M2Crypto.SSL.Connection.Connecti |
d920 | 6f 6e 2e 67 65 74 73 6f 63 6b 6f 70 74 94 6a 5c 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 29 | on.getsockopt.j\.....method....) |
d940 | 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 | M2Crypto.SSL.Connection.Connecti |
d960 | 6f 6e 2e 6c 69 73 74 65 6e 94 6a 5c 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 2e 4d 32 43 72 | on.listen.j\.....method.....M2Cr |
d980 | 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 6d | ypto.SSL.Connection.Connection.m |
d9a0 | 32 5f 62 69 6f 5f 66 72 65 65 94 6a 5c 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 31 4d 32 43 | 2_bio_free.j\.....method....1M2C |
d9c0 | 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e | rypto.SSL.Connection.Connection. |
d9e0 | 6d 32 5f 62 69 6f 5f 6e 6f 63 6c 6f 73 65 94 6a 5c 02 00 00 8c 09 61 74 74 72 69 62 75 74 65 94 | m2_bio_noclose.j\.....attribute. |
da00 | 86 94 8c 2e 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e | ....M2Crypto.SSL.Connection.Conn |
da20 | 65 63 74 69 6f 6e 2e 6d 32 5f 73 73 6c 5f 66 72 65 65 94 6a 5c 02 00 00 8c 06 6d 65 74 68 6f 64 | ection.m2_ssl_free.j\.....method |
da40 | 94 86 94 8c 2b 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e | ....+M2Crypto.SSL.Connection.Con |
da60 | 6e 65 63 74 69 6f 6e 2e 6d 61 6b 65 66 69 6c 65 94 6a 5c 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 | nection.makefile.j\.....method.. |
da80 | 94 8c 2a 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 | ..*M2Crypto.SSL.Connection.Conne |
daa0 | 63 74 69 6f 6e 2e 70 65 6e 64 69 6e 67 94 6a 5c 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 27 | ction.pending.j\.....method....' |
dac0 | 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 | M2Crypto.SSL.Connection.Connecti |
dae0 | 6f 6e 2e 72 65 61 64 94 6a 5c 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 27 4d 32 43 72 79 70 | on.read.j\.....method....'M2Cryp |
db00 | 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 72 65 63 | to.SSL.Connection.Connection.rec |
db20 | 76 94 6a 5c 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 2c 4d 32 43 72 79 70 74 6f 2e 53 53 4c | v.j\.....method....,M2Crypto.SSL |
db40 | 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 72 65 63 76 5f 69 6e 74 6f | .Connection.Connection.recv_into |
db60 | 94 6a 5c 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 2e 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e | .j\.....method.....M2Crypto.SSL. |
db80 | 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 72 65 6e 65 67 6f 74 69 61 74 | Connection.Connection.renegotiat |
dba0 | 65 94 6a 5c 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 27 4d 32 43 72 79 70 74 6f 2e 53 53 4c | e.j\.....method....'M2Crypto.SSL |
dbc0 | 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 73 65 6e 64 94 6a 5c 02 00 | .Connection.Connection.send.j\.. |
dbe0 | 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 2a 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 | ...method....*M2Crypto.SSL.Conne |
dc00 | 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 73 65 6e 64 61 6c 6c 94 6a 5c 02 00 00 8c 06 | ction.Connection.sendall.j\..... |
dc20 | 6d 65 74 68 6f 64 94 86 94 8c 3c 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 | method....<M2Crypto.SSL.Connecti |
dc40 | 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 73 65 72 76 65 72 50 6f 73 74 43 6f 6e 6e 65 63 74 69 | on.Connection.serverPostConnecti |
dc60 | 6f 6e 43 68 65 63 6b 94 6a 5c 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 2c 4d 32 43 72 79 70 | onCheck.j\.....method....,M2Cryp |
dc80 | 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 73 65 74 | to.SSL.Connection.Connection.set |
dca0 | 31 5f 68 6f 73 74 94 6a 5c 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 33 4d 32 43 72 79 70 74 | 1_host.j\.....method....3M2Crypt |
dcc0 | 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 73 65 74 5f | o.SSL.Connection.Connection.set_ |
dce0 | 61 63 63 65 70 74 5f 73 74 61 74 65 94 6a 5c 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 2a 4d | accept_state.j\.....method....*M |
dd00 | 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f | 2Crypto.SSL.Connection.Connectio |
dd20 | 6e 2e 73 65 74 5f 62 69 6f 94 6a 5c 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 32 4d 32 43 72 | n.set_bio.j\.....method....2M2Cr |
dd40 | 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 73 | ypto.SSL.Connection.Connection.s |
dd60 | 65 74 5f 63 69 70 68 65 72 5f 6c 69 73 74 94 6a 5c 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c | et_cipher_list.j\.....method.... |
dd80 | 42 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 | BM2Crypto.SSL.Connection.Connect |
dda0 | 69 6f 6e 2e 73 65 74 5f 63 6c 69 65 6e 74 5f 43 41 5f 6c 69 73 74 5f 66 72 6f 6d 5f 63 6f 6e 74 | ion.set_client_CA_list_from_cont |
ddc0 | 65 78 74 94 6a 5c 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 3f 4d 32 43 72 79 70 74 6f 2e 53 | ext.j\.....method....?M2Crypto.S |
dde0 | 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 73 65 74 5f 63 6c 69 | SL.Connection.Connection.set_cli |
de00 | 65 6e 74 5f 43 41 5f 6c 69 73 74 5f 66 72 6f 6d 5f 66 69 6c 65 94 6a 5c 02 00 00 8c 06 6d 65 74 | ent_CA_list_from_file.j\.....met |
de20 | 68 6f 64 94 86 94 8c 34 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e | hod....4M2Crypto.SSL.Connection. |
de40 | 43 6f 6e 6e 65 63 74 69 6f 6e 2e 73 65 74 5f 63 6f 6e 6e 65 63 74 5f 73 74 61 74 65 94 6a 5c 02 | Connection.set_connect_state.j\. |
de60 | 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 45 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e | ....method....EM2Crypto.SSL.Conn |
de80 | 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 73 65 74 5f 70 6f 73 74 5f 63 6f 6e 6e 65 | ection.Connection.set_post_conne |
dea0 | 63 74 69 6f 6e 5f 63 68 65 63 6b 5f 63 61 6c 6c 62 61 63 6b 94 6a 5c 02 00 00 8c 06 6d 65 74 68 | ction_check_callback.j\.....meth |
dec0 | 6f 64 94 86 94 8c 2e 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 | od.....M2Crypto.SSL.Connection.C |
dee0 | 6f 6e 6e 65 63 74 69 6f 6e 2e 73 65 74 5f 73 65 73 73 69 6f 6e 94 6a 5c 02 00 00 8c 06 6d 65 74 | onnection.set_session.j\.....met |
df00 | 68 6f 64 94 86 94 8c 35 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e | hod....5M2Crypto.SSL.Connection. |
df20 | 43 6f 6e 6e 65 63 74 69 6f 6e 2e 73 65 74 5f 73 65 73 73 69 6f 6e 5f 69 64 5f 63 74 78 94 6a 5c | Connection.set_session_id_ctx.j\ |
df40 | 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 2f 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e | .....method..../M2Crypto.SSL.Con |
df60 | 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 73 65 74 5f 73 68 75 74 64 6f 77 6e 94 | nection.Connection.set_shutdown. |
df80 | 6a 5c 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 3a 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 | j\.....method....:M2Crypto.SSL.C |
dfa0 | 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 73 65 74 5f 73 6f 63 6b 65 74 5f | onnection.Connection.set_socket_ |
dfc0 | 72 65 61 64 5f 74 69 6d 65 6f 75 74 94 6a 5c 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 3b 4d | read_timeout.j\.....method....;M |
dfe0 | 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f | 2Crypto.SSL.Connection.Connectio |
e000 | 6e 2e 73 65 74 5f 73 6f 63 6b 65 74 5f 77 72 69 74 65 5f 74 69 6d 65 6f 75 74 94 6a 5c 02 00 00 | n.set_socket_write_timeout.j\... |
e020 | 8c 06 6d 65 74 68 6f 64 94 86 94 8c 35 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 | ..method....5M2Crypto.SSL.Connec |
e040 | 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 73 65 74 5f 73 73 6c 5f 63 6c 6f 73 65 5f 66 6c | tion.Connection.set_ssl_close_fl |
e060 | 61 67 94 6a 5c 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 37 4d 32 43 72 79 70 74 6f 2e 53 53 | ag.j\.....method....7M2Crypto.SS |
e080 | 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 73 65 74 5f 74 6c 73 65 | L.Connection.Connection.set_tlse |
e0a0 | 78 74 5f 68 6f 73 74 5f 6e 61 6d 65 94 6a 5c 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 2e 4d | xt_host_name.j\.....method.....M |
e0c0 | 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f | 2Crypto.SSL.Connection.Connectio |
e0e0 | 6e 2e 73 65 74 62 6c 6f 63 6b 69 6e 67 94 6a 5c 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 2d | n.setblocking.j\.....method....- |
e100 | 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 | M2Crypto.SSL.Connection.Connecti |
e120 | 6f 6e 2e 73 65 74 73 6f 63 6b 6f 70 74 94 6a 5c 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 2d | on.setsockopt.j\.....method....- |
e140 | 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 | M2Crypto.SSL.Connection.Connecti |
e160 | 6f 6e 2e 73 65 74 74 69 6d 65 6f 75 74 94 6a 5c 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 2d | on.settimeout.j\.....method....- |
e180 | 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 | M2Crypto.SSL.Connection.Connecti |
e1a0 | 6f 6e 2e 73 65 74 75 70 5f 61 64 64 72 94 6a 5c 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 2c | on.setup_addr.j\.....method...., |
e1c0 | 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 | M2Crypto.SSL.Connection.Connecti |
e1e0 | 6f 6e 2e 73 65 74 75 70 5f 73 73 6c 94 6a 5c 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 2b 4d | on.setup_ssl.j\.....method....+M |
e200 | 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f | 2Crypto.SSL.Connection.Connectio |
e220 | 6e 2e 73 68 75 74 64 6f 77 6e 94 6a 5c 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 30 4d 32 43 | n.shutdown.j\.....method....0M2C |
e240 | 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e | rypto.SSL.Connection.Connection. |
e260 | 73 73 6c 5f 67 65 74 5f 65 72 72 6f 72 94 6a 5c 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 2c | ssl_get_error.j\.....method...., |
e280 | 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 | M2Crypto.SSL.Connection.Connecti |
e2a0 | 6f 6e 2e 76 65 72 69 66 79 5f 6f 6b 94 6a 5c 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 28 4d | on.verify_ok.j\.....method....(M |
e2c0 | 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f | 2Crypto.SSL.Connection.Connectio |
e2e0 | 6e 2e 77 72 69 74 65 94 6a 5c 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 14 4d 32 43 72 79 70 | n.write.j\.....method.....M2Cryp |
e300 | 74 6f 2e 53 53 4c 2e 43 6f 6e 74 65 78 74 94 6a 5c 02 00 00 6a 62 12 00 00 86 94 8c 1b 4d 32 43 | to.SSL.Context.j\...jb.......M2C |
e320 | 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 74 65 78 74 2e 63 74 78 6d 61 70 94 6a 5c 02 00 00 8c 08 | rypto.SSL.Context.ctxmap.j\..... |
e340 | 66 75 6e 63 74 69 6f 6e 94 86 94 8c 1c 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 74 65 78 | function.....M2Crypto.SSL.Contex |
e360 | 74 2e 43 6f 6e 74 65 78 74 94 6a 5c 02 00 00 8c 05 63 6c 61 73 73 94 86 94 8c 28 4d 32 43 72 79 | t.Context.j\.....class....(M2Cry |
e380 | 70 74 6f 2e 53 53 4c 2e 43 6f 6e 74 65 78 74 2e 43 6f 6e 74 65 78 74 2e 61 64 64 5f 73 65 73 73 | pto.SSL.Context.Context.add_sess |
e3a0 | 69 6f 6e 94 6a 5c 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 22 4d 32 43 72 79 70 74 6f 2e 53 | ion.j\.....method...."M2Crypto.S |
e3c0 | 53 4c 2e 43 6f 6e 74 65 78 74 2e 43 6f 6e 74 65 78 74 2e 63 6c 6f 73 65 94 6a 5c 02 00 00 8c 06 | SL.Context.Context.close.j\..... |
e3e0 | 6d 65 74 68 6f 64 94 86 94 8c 31 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 74 65 78 74 2e | method....1M2Crypto.SSL.Context. |
e400 | 43 6f 6e 74 65 78 74 2e 67 65 74 5f 61 6c 6c 6f 77 5f 75 6e 6b 6e 6f 77 6e 5f 63 61 94 6a 5c 02 | Context.get_allow_unknown_ca.j\. |
e420 | 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 2b 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 74 | ....method....+M2Crypto.SSL.Cont |
e440 | 65 78 74 2e 43 6f 6e 74 65 78 74 2e 67 65 74 5f 63 65 72 74 5f 73 74 6f 72 65 94 6a 5c 02 00 00 | ext.Context.get_cert_store.j\... |
e460 | 8c 06 6d 65 74 68 6f 64 94 86 94 8c 33 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 74 65 78 | ..method....3M2Crypto.SSL.Contex |
e480 | 74 2e 43 6f 6e 74 65 78 74 2e 67 65 74 5f 73 65 73 73 69 6f 6e 5f 63 61 63 68 65 5f 6d 6f 64 65 | t.Context.get_session_cache_mode |
e4a0 | 94 6a 5c 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 30 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e | .j\.....method....0M2Crypto.SSL. |
e4c0 | 43 6f 6e 74 65 78 74 2e 43 6f 6e 74 65 78 74 2e 67 65 74 5f 73 65 73 73 69 6f 6e 5f 74 69 6d 65 | Context.Context.get_session_time |
e4e0 | 6f 75 74 94 6a 5c 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 2d 4d 32 43 72 79 70 74 6f 2e 53 | out.j\.....method....-M2Crypto.S |
e500 | 53 4c 2e 43 6f 6e 74 65 78 74 2e 43 6f 6e 74 65 78 74 2e 67 65 74 5f 76 65 72 69 66 79 5f 64 65 | SL.Context.Context.get_verify_de |
e520 | 70 74 68 94 6a 5c 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 2c 4d 32 43 72 79 70 74 6f 2e 53 | pth.j\.....method....,M2Crypto.S |
e540 | 53 4c 2e 43 6f 6e 74 65 78 74 2e 43 6f 6e 74 65 78 74 2e 67 65 74 5f 76 65 72 69 66 79 5f 6d 6f | SL.Context.Context.get_verify_mo |
e560 | 64 65 94 6a 5c 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 26 4d 32 43 72 79 70 74 6f 2e 53 53 | de.j\.....method....&M2Crypto.SS |
e580 | 4c 2e 43 6f 6e 74 65 78 74 2e 43 6f 6e 74 65 78 74 2e 6c 6f 61 64 5f 63 65 72 74 94 6a 5c 02 00 | L.Context.Context.load_cert.j\.. |
e5a0 | 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 2c 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 74 65 | ...method....,M2Crypto.SSL.Conte |
e5c0 | 78 74 2e 43 6f 6e 74 65 78 74 2e 6c 6f 61 64 5f 63 65 72 74 5f 63 68 61 69 6e 94 6a 5c 02 00 00 | xt.Context.load_cert_chain.j\... |
e5e0 | 8c 06 6d 65 74 68 6f 64 94 86 94 8c 2b 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 74 65 78 | ..method....+M2Crypto.SSL.Contex |
e600 | 74 2e 43 6f 6e 74 65 78 74 2e 6c 6f 61 64 5f 63 6c 69 65 6e 74 5f 43 41 94 6a 5c 02 00 00 8c 06 | t.Context.load_client_CA.j\..... |
e620 | 6d 65 74 68 6f 64 94 86 94 8c 2b 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 74 65 78 74 2e | method....+M2Crypto.SSL.Context. |
e640 | 43 6f 6e 74 65 78 74 2e 6c 6f 61 64 5f 63 6c 69 65 6e 74 5f 63 61 94 6a 5c 02 00 00 8c 06 6d 65 | Context.load_client_ca.j\.....me |
e660 | 74 68 6f 64 94 86 94 8c 2d 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 74 65 78 74 2e 43 6f | thod....-M2Crypto.SSL.Context.Co |
e680 | 6e 74 65 78 74 2e 6c 6f 61 64 5f 76 65 72 69 66 79 5f 69 6e 66 6f 94 6a 5c 02 00 00 8c 06 6d 65 | ntext.load_verify_info.j\.....me |
e6a0 | 74 68 6f 64 94 86 94 8c 32 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 74 65 78 74 2e 43 6f | thod....2M2Crypto.SSL.Context.Co |
e6c0 | 6e 74 65 78 74 2e 6c 6f 61 64 5f 76 65 72 69 66 79 5f 6c 6f 63 61 74 69 6f 6e 73 94 6a 5c 02 00 | ntext.load_verify_locations.j\.. |
e6e0 | 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 2c 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 74 65 | ...method....,M2Crypto.SSL.Conte |
e700 | 78 74 2e 43 6f 6e 74 65 78 74 2e 6d 32 5f 73 73 6c 5f 63 74 78 5f 66 72 65 65 94 6a 5c 02 00 00 | xt.Context.m2_ssl_ctx_free.j\... |
e720 | 8c 06 6d 65 74 68 6f 64 94 86 94 8c 2b 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 74 65 78 | ..method....+M2Crypto.SSL.Contex |
e740 | 74 2e 43 6f 6e 74 65 78 74 2e 72 65 6d 6f 76 65 5f 73 65 73 73 69 6f 6e 94 6a 5c 02 00 00 8c 06 | t.Context.remove_session.j\..... |
e760 | 6d 65 74 68 6f 64 94 86 94 8c 31 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 74 65 78 74 2e | method....1M2Crypto.SSL.Context. |
e780 | 43 6f 6e 74 65 78 74 2e 73 65 74 5f 61 6c 6c 6f 77 5f 75 6e 6b 6e 6f 77 6e 5f 63 61 94 6a 5c 02 | Context.set_allow_unknown_ca.j\. |
e7a0 | 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 2c 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 74 | ....method....,M2Crypto.SSL.Cont |
e7c0 | 65 78 74 2e 43 6f 6e 74 65 78 74 2e 73 65 74 5f 63 69 70 68 65 72 5f 6c 69 73 74 94 6a 5c 02 00 | ext.Context.set_cipher_list.j\.. |
e7e0 | 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 39 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 74 65 | ...method....9M2Crypto.SSL.Conte |
e800 | 78 74 2e 43 6f 6e 74 65 78 74 2e 73 65 74 5f 63 6c 69 65 6e 74 5f 43 41 5f 6c 69 73 74 5f 66 72 | xt.Context.set_client_CA_list_fr |
e820 | 6f 6d 5f 66 69 6c 65 94 6a 5c 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 35 4d 32 43 72 79 70 | om_file.j\.....method....5M2Cryp |
e840 | 74 6f 2e 53 53 4c 2e 43 6f 6e 74 65 78 74 2e 43 6f 6e 74 65 78 74 2e 73 65 74 5f 64 65 66 61 75 | to.SSL.Context.Context.set_defau |
e860 | 6c 74 5f 76 65 72 69 66 79 5f 70 61 74 68 73 94 6a 5c 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 | lt_verify_paths.j\.....method... |
e880 | 8c 2e 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 74 65 78 74 2e 43 6f 6e 74 65 78 74 2e 73 | ..M2Crypto.SSL.Context.Context.s |
e8a0 | 65 74 5f 69 6e 66 6f 5f 63 61 6c 6c 62 61 63 6b 94 6a 5c 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 | et_info_callback.j\.....method.. |
e8c0 | 94 8c 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 74 65 78 74 2e 43 6f 6e 74 65 78 74 2e | ..(M2Crypto.SSL.Context.Context. |
e8e0 | 73 65 74 5f 6f 70 74 69 6f 6e 73 94 6a 5c 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 33 4d 32 | set_options.j\.....method....3M2 |
e900 | 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 74 65 78 74 2e 43 6f 6e 74 65 78 74 2e 73 65 74 5f 73 | Crypto.SSL.Context.Context.set_s |
e920 | 65 73 73 69 6f 6e 5f 63 61 63 68 65 5f 6d 6f 64 65 94 6a 5c 02 00 00 8c 06 6d 65 74 68 6f 64 94 | ession_cache_mode.j\.....method. |
e940 | 86 94 8c 2f 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 74 65 78 74 2e 43 6f 6e 74 65 78 74 | .../M2Crypto.SSL.Context.Context |
e960 | 2e 73 65 74 5f 73 65 73 73 69 6f 6e 5f 69 64 5f 63 74 78 94 6a 5c 02 00 00 8c 06 6d 65 74 68 6f | .set_session_id_ctx.j\.....metho |
e980 | 64 94 86 94 8c 30 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 74 65 78 74 2e 43 6f 6e 74 65 | d....0M2Crypto.SSL.Context.Conte |
e9a0 | 78 74 2e 73 65 74 5f 73 65 73 73 69 6f 6e 5f 74 69 6d 65 6f 75 74 94 6a 5c 02 00 00 8c 06 6d 65 | xt.set_session_timeout.j\.....me |
e9c0 | 74 68 6f 64 94 86 94 8c 27 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 74 65 78 74 2e 43 6f | thod....'M2Crypto.SSL.Context.Co |
e9e0 | 6e 74 65 78 74 2e 73 65 74 5f 74 6d 70 5f 64 68 94 6a 5c 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 | ntext.set_tmp_dh.j\.....method.. |
ea00 | 94 8c 30 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 74 65 78 74 2e 43 6f 6e 74 65 78 74 2e | ..0M2Crypto.SSL.Context.Context. |
ea20 | 73 65 74 5f 74 6d 70 5f 64 68 5f 63 61 6c 6c 62 61 63 6b 94 6a 5c 02 00 00 8c 06 6d 65 74 68 6f | set_tmp_dh_callback.j\.....metho |
ea40 | 64 94 86 94 8c 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 74 65 78 74 2e 43 6f 6e 74 65 | d....(M2Crypto.SSL.Context.Conte |
ea60 | 78 74 2e 73 65 74 5f 74 6d 70 5f 72 73 61 94 6a 5c 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c | xt.set_tmp_rsa.j\.....method.... |
ea80 | 31 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 74 65 78 74 2e 43 6f 6e 74 65 78 74 2e 73 65 | 1M2Crypto.SSL.Context.Context.se |
eaa0 | 74 5f 74 6d 70 5f 72 73 61 5f 63 61 6c 6c 62 61 63 6b 94 6a 5c 02 00 00 8c 06 6d 65 74 68 6f 64 | t_tmp_rsa_callback.j\.....method |
eac0 | 94 86 94 8c 27 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 74 65 78 74 2e 43 6f 6e 74 65 78 | ....'M2Crypto.SSL.Context.Contex |
eae0 | 74 2e 73 65 74 5f 76 65 72 69 66 79 94 6a 5c 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 18 4d | t.set_verify.j\.....method.....M |
eb00 | 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 74 65 78 74 2e 6d 61 70 94 6a 5c 02 00 00 8c 08 66 | 2Crypto.SSL.Context.map.j\.....f |
eb20 | 75 6e 63 74 69 6f 6e 94 86 94 8c 16 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 53 53 4c 53 65 72 76 | unction.....M2Crypto.SSL.SSLServ |
eb40 | 65 72 94 6a 5c 02 00 00 6a 62 12 00 00 86 94 8c 20 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 53 53 | er.j\...jb.......M2Crypto.SSL.SS |
eb60 | 4c 53 65 72 76 65 72 2e 53 53 4c 53 65 72 76 65 72 94 6a 5c 02 00 00 8c 05 63 6c 61 73 73 94 86 | LServer.SSLServer.j\.....class.. |
eb80 | 94 8c 2d 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 53 53 4c 53 65 72 76 65 72 2e 53 53 4c 53 65 72 | ..-M2Crypto.SSL.SSLServer.SSLSer |
eba0 | 76 65 72 2e 68 61 6e 64 6c 65 5f 65 72 72 6f 72 94 6a 5c 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 | ver.handle_error.j\.....method.. |
ebc0 | 94 8c 2f 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 53 53 4c 53 65 72 76 65 72 2e 53 53 4c 53 65 72 | ../M2Crypto.SSL.SSLServer.SSLSer |
ebe0 | 76 65 72 2e 68 61 6e 64 6c 65 5f 72 65 71 75 65 73 74 94 6a 5c 02 00 00 8c 06 6d 65 74 68 6f 64 | ver.handle_request.j\.....method |
ec00 | 94 86 94 8c 27 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 53 53 4c 53 65 72 76 65 72 2e 46 6f 72 6b | ....'M2Crypto.SSL.SSLServer.Fork |
ec20 | 69 6e 67 53 53 4c 53 65 72 76 65 72 94 6a 5c 02 00 00 8c 05 63 6c 61 73 73 94 86 94 8c 29 4d 32 | ingSSLServer.j\.....class....)M2 |
ec40 | 43 72 79 70 74 6f 2e 53 53 4c 2e 53 53 4c 53 65 72 76 65 72 2e 54 68 72 65 61 64 69 6e 67 53 53 | Crypto.SSL.SSLServer.ThreadingSS |
ec60 | 4c 53 65 72 76 65 72 94 6a 5c 02 00 00 8c 05 63 6c 61 73 73 94 86 94 8c 14 4d 32 43 72 79 70 74 | LServer.j\.....class.....M2Crypt |
ec80 | 6f 2e 53 53 4c 2e 53 65 73 73 69 6f 6e 94 6a 5c 02 00 00 6a 62 12 00 00 86 94 8c 1c 4d 32 43 72 | o.SSL.Session.j\...jb.......M2Cr |
eca0 | 79 70 74 6f 2e 53 53 4c 2e 53 65 73 73 69 6f 6e 2e 53 65 73 73 69 6f 6e 94 6a 5c 02 00 00 8c 05 | ypto.SSL.Session.Session.j\..... |
ecc0 | 63 6c 61 73 73 94 86 94 8c 23 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 53 65 73 73 69 6f 6e 2e 53 | class....#M2Crypto.SSL.Session.S |
ece0 | 65 73 73 69 6f 6e 2e 61 73 5f 64 65 72 94 6a 5c 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 24 | ession.as_der.j\.....method....$ |
ed00 | 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 53 65 73 73 69 6f 6e 2e 53 65 73 73 69 6f 6e 2e 61 73 5f | M2Crypto.SSL.Session.Session.as_ |
ed20 | 74 65 78 74 94 6a 5c 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 25 4d 32 43 72 79 70 74 6f 2e | text.j\.....method....%M2Crypto. |
ed40 | 53 53 4c 2e 53 65 73 73 69 6f 6e 2e 53 65 73 73 69 6f 6e 2e 67 65 74 5f 74 69 6d 65 94 6a 5c 02 | SSL.Session.Session.get_time.j\. |
ed60 | 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 53 65 73 73 | ....method....(M2Crypto.SSL.Sess |
ed80 | 69 6f 6e 2e 53 65 73 73 69 6f 6e 2e 67 65 74 5f 74 69 6d 65 6f 75 74 94 6a 5c 02 00 00 8c 06 6d | ion.Session.get_timeout.j\.....m |
eda0 | 65 74 68 6f 64 94 86 94 8c 30 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 53 65 73 73 69 6f 6e 2e 53 | ethod....0M2Crypto.SSL.Session.S |
edc0 | 65 73 73 69 6f 6e 2e 6d 32 5f 73 73 6c 5f 73 65 73 73 69 6f 6e 5f 66 72 65 65 94 6a 5c 02 00 00 | ession.m2_ssl_session_free.j\... |
ede0 | 8c 06 6d 65 74 68 6f 64 94 86 94 8c 25 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 53 65 73 73 69 6f | ..method....%M2Crypto.SSL.Sessio |
ee00 | 6e 2e 53 65 73 73 69 6f 6e 2e 73 65 74 5f 74 69 6d 65 94 6a 5c 02 00 00 8c 06 6d 65 74 68 6f 64 | n.Session.set_time.j\.....method |
ee20 | 94 86 94 8c 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 53 65 73 73 69 6f 6e 2e 53 65 73 73 69 6f | ....(M2Crypto.SSL.Session.Sessio |
ee40 | 6e 2e 73 65 74 5f 74 69 6d 65 6f 75 74 94 6a 5c 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 26 | n.set_timeout.j\.....method....& |
ee60 | 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 53 65 73 73 69 6f 6e 2e 53 65 73 73 69 6f 6e 2e 77 72 69 | M2Crypto.SSL.Session.Session.wri |
ee80 | 74 65 5f 62 69 6f 94 6a 5c 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 21 4d 32 43 72 79 70 74 | te_bio.j\.....method....!M2Crypt |
eea0 | 6f 2e 53 53 4c 2e 53 65 73 73 69 6f 6e 2e 6c 6f 61 64 5f 73 65 73 73 69 6f 6e 94 6a 5c 02 00 00 | o.SSL.Session.load_session.j\... |
eec0 | 8c 08 66 75 6e 63 74 69 6f 6e 94 86 94 8c 23 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 54 77 69 73 | ..function....#M2Crypto.SSL.Twis |
eee0 | 74 65 64 50 72 6f 74 6f 63 6f 6c 57 72 61 70 70 65 72 94 6a 5c 02 00 00 6a 62 12 00 00 86 94 8c | tedProtocolWrapper.j\...jb...... |
ef00 | 2e 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 54 77 69 73 74 65 64 50 72 6f 74 6f 63 6f 6c 57 72 61 | .M2Crypto.SSL.TwistedProtocolWra |
ef20 | 70 70 65 72 2e 63 6f 6e 6e 65 63 74 53 53 4c 94 6a 5c 02 00 00 8c 08 66 75 6e 63 74 69 6f 6e 94 | pper.connectSSL.j\.....function. |
ef40 | 86 94 8c 2e 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 54 77 69 73 74 65 64 50 72 6f 74 6f 63 6f 6c | ....M2Crypto.SSL.TwistedProtocol |
ef60 | 57 72 61 70 70 65 72 2e 63 6f 6e 6e 65 63 74 54 43 50 94 6a 5c 02 00 00 8c 08 66 75 6e 63 74 69 | Wrapper.connectTCP.j\.....functi |
ef80 | 6f 6e 94 86 94 8c 2d 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 54 77 69 73 74 65 64 50 72 6f 74 6f | on....-M2Crypto.SSL.TwistedProto |
efa0 | 63 6f 6c 57 72 61 70 70 65 72 2e 6c 69 73 74 65 6e 53 53 4c 94 6a 5c 02 00 00 8c 08 66 75 6e 63 | colWrapper.listenSSL.j\.....func |
efc0 | 74 69 6f 6e 94 86 94 8c 2d 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 54 77 69 73 74 65 64 50 72 6f | tion....-M2Crypto.SSL.TwistedPro |
efe0 | 74 6f 63 6f 6c 57 72 61 70 70 65 72 2e 6c 69 73 74 65 6e 54 43 50 94 6a 5c 02 00 00 8c 08 66 75 | tocolWrapper.listenTCP.j\.....fu |
f000 | 6e 63 74 69 6f 6e 94 86 94 8c 36 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 54 77 69 73 74 65 64 50 | nction....6M2Crypto.SSL.TwistedP |
f020 | 72 6f 74 6f 63 6f 6c 57 72 61 70 70 65 72 2e 54 4c 53 50 72 6f 74 6f 63 6f 6c 57 72 61 70 70 65 | rotocolWrapper.TLSProtocolWrappe |
f040 | 72 94 6a 5c 02 00 00 8c 05 63 6c 61 73 73 94 86 94 8c 3c 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e | r.j\.....class....<M2Crypto.SSL. |
f060 | 54 77 69 73 74 65 64 50 72 6f 74 6f 63 6f 6c 57 72 61 70 70 65 72 2e 54 4c 53 50 72 6f 74 6f 63 | TwistedProtocolWrapper.TLSProtoc |
f080 | 6f 6c 57 72 61 70 70 65 72 2e 63 6c 65 61 72 94 6a 5c 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 | olWrapper.clear.j\.....method... |
f0a0 | 8c 45 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 54 77 69 73 74 65 64 50 72 6f 74 6f 63 6f 6c 57 72 | .EM2Crypto.SSL.TwistedProtocolWr |
f0c0 | 61 70 70 65 72 2e 54 4c 53 50 72 6f 74 6f 63 6f 6c 57 72 61 70 70 65 72 2e 63 6f 6e 6e 65 63 74 | apper.TLSProtocolWrapper.connect |
f0e0 | 69 6f 6e 4c 6f 73 74 94 6a 5c 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 45 4d 32 43 72 79 70 | ionLost.j\.....method....EM2Cryp |
f100 | 74 6f 2e 53 53 4c 2e 54 77 69 73 74 65 64 50 72 6f 74 6f 63 6f 6c 57 72 61 70 70 65 72 2e 54 4c | to.SSL.TwistedProtocolWrapper.TL |
f120 | 53 50 72 6f 74 6f 63 6f 6c 57 72 61 70 70 65 72 2e 63 6f 6e 6e 65 63 74 69 6f 6e 4d 61 64 65 94 | SProtocolWrapper.connectionMade. |
f140 | 6a 5c 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 43 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 54 | j\.....method....CM2Crypto.SSL.T |
f160 | 77 69 73 74 65 64 50 72 6f 74 6f 63 6f 6c 57 72 61 70 70 65 72 2e 54 4c 53 50 72 6f 74 6f 63 6f | wistedProtocolWrapper.TLSProtoco |
f180 | 6c 57 72 61 70 70 65 72 2e 64 61 74 61 52 65 63 65 69 76 65 64 94 6a 5c 02 00 00 8c 06 6d 65 74 | lWrapper.dataReceived.j\.....met |
f1a0 | 68 6f 64 94 86 94 8c 45 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 54 77 69 73 74 65 64 50 72 6f 74 | hod....EM2Crypto.SSL.TwistedProt |
f1c0 | 6f 63 6f 6c 57 72 61 70 70 65 72 2e 54 4c 53 50 72 6f 74 6f 63 6f 6c 57 72 61 70 70 65 72 2e 6c | ocolWrapper.TLSProtocolWrapper.l |
f1e0 | 6f 73 65 43 6f 6e 6e 65 63 74 69 6f 6e 94 6a 5c 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 3f | oseConnection.j\.....method....? |
f200 | 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 54 77 69 73 74 65 64 50 72 6f 74 6f 63 6f 6c 57 72 61 70 | M2Crypto.SSL.TwistedProtocolWrap |
f220 | 70 65 72 2e 54 4c 53 50 72 6f 74 6f 63 6f 6c 57 72 61 70 70 65 72 2e 73 74 61 72 74 54 4c 53 94 | per.TLSProtocolWrapper.startTLS. |
f240 | 6a 5c 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 3c 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 54 | j\.....method....<M2Crypto.SSL.T |
f260 | 77 69 73 74 65 64 50 72 6f 74 6f 63 6f 6c 57 72 61 70 70 65 72 2e 54 4c 53 50 72 6f 74 6f 63 6f | wistedProtocolWrapper.TLSProtoco |
f280 | 6c 57 72 61 70 70 65 72 2e 77 72 69 74 65 94 6a 5c 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c | lWrapper.write.j\.....method.... |
f2a0 | 44 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 54 77 69 73 74 65 64 50 72 6f 74 6f 63 6f 6c 57 72 61 | DM2Crypto.SSL.TwistedProtocolWra |
f2c0 | 70 70 65 72 2e 54 4c 53 50 72 6f 74 6f 63 6f 6c 57 72 61 70 70 65 72 2e 77 72 69 74 65 53 65 71 | pper.TLSProtocolWrapper.writeSeq |
f2e0 | 75 65 6e 63 65 94 6a 5c 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 0f 4d 32 43 72 79 70 74 6f | uence.j\.....method.....M2Crypto |
f300 | 2e 53 53 4c 2e 63 62 94 6a 5c 02 00 00 6a 62 12 00 00 86 94 8c 28 4d 32 43 72 79 70 74 6f 2e 53 | .SSL.cb.j\...jb......(M2Crypto.S |
f320 | 53 4c 2e 63 62 2e 73 73 6c 5f 76 65 72 69 66 79 5f 63 61 6c 6c 62 61 63 6b 5f 73 74 75 62 94 6a | SL.cb.ssl_verify_callback_stub.j |
f340 | 5c 02 00 00 8c 08 66 75 6e 63 74 69 6f 6e 94 86 94 8c 23 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e | \.....function....#M2Crypto.SSL. |
f360 | 63 62 2e 73 73 6c 5f 76 65 72 69 66 79 5f 63 61 6c 6c 62 61 63 6b 94 6a 5c 02 00 00 8c 08 66 75 | cb.ssl_verify_callback.j\.....fu |
f380 | 6e 63 74 69 6f 6e 94 86 94 8c 34 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 63 62 2e 73 73 6c 5f 76 | nction....4M2Crypto.SSL.cb.ssl_v |
f3a0 | 65 72 69 66 79 5f 63 61 6c 6c 62 61 63 6b 5f 61 6c 6c 6f 77 5f 75 6e 6b 6e 6f 77 6e 5f 63 61 94 | erify_callback_allow_unknown_ca. |
f3c0 | 6a 5c 02 00 00 8c 08 66 75 6e 63 74 69 6f 6e 94 86 94 8c 21 4d 32 43 72 79 70 74 6f 2e 53 53 4c | j\.....function....!M2Crypto.SSL |
f3e0 | 2e 63 62 2e 73 73 6c 5f 69 6e 66 6f 5f 63 61 6c 6c 62 61 63 6b 94 6a 5c 02 00 00 8c 08 66 75 6e | .cb.ssl_info_callback.j\.....fun |
f400 | 63 74 69 6f 6e 94 86 94 8c 1b 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 73 73 6c 5f 64 69 73 70 61 | ction.....M2Crypto.SSL.ssl_dispa |
f420 | 74 63 68 65 72 94 6a 5c 02 00 00 6a 62 12 00 00 86 94 8c 2a 4d 32 43 72 79 70 74 6f 2e 53 53 4c | tcher.j\...jb......*M2Crypto.SSL |
f440 | 2e 73 73 6c 5f 64 69 73 70 61 74 63 68 65 72 2e 73 73 6c 5f 64 69 73 70 61 74 63 68 65 72 94 6a | .ssl_dispatcher.ssl_dispatcher.j |
f460 | 5c 02 00 00 8c 05 63 6c 61 73 73 94 86 94 8c 32 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 73 73 6c | \.....class....2M2Crypto.SSL.ssl |
f480 | 5f 64 69 73 70 61 74 63 68 65 72 2e 73 73 6c 5f 64 69 73 70 61 74 63 68 65 72 2e 63 6f 6e 6e 65 | _dispatcher.ssl_dispatcher.conne |
f4a0 | 63 74 94 6a 5c 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 38 4d 32 43 72 79 70 74 6f 2e 53 53 | ct.j\.....method....8M2Crypto.SS |
f4c0 | 4c 2e 73 73 6c 5f 64 69 73 70 61 74 63 68 65 72 2e 73 73 6c 5f 64 69 73 70 61 74 63 68 65 72 2e | L.ssl_dispatcher.ssl_dispatcher. |
f4e0 | 63 72 65 61 74 65 5f 73 6f 63 6b 65 74 94 6a 5c 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 2f | create_socket.j\.....method..../ |
f500 | 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 73 73 6c 5f 64 69 73 70 61 74 63 68 65 72 2e 73 73 6c 5f | M2Crypto.SSL.ssl_dispatcher.ssl_ |
f520 | 64 69 73 70 61 74 63 68 65 72 2e 72 65 63 76 94 6a 5c 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 | dispatcher.recv.j\.....method... |
f540 | 8c 2f 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 73 73 6c 5f 64 69 73 70 61 74 63 68 65 72 2e 73 73 | ./M2Crypto.SSL.ssl_dispatcher.ss |
f560 | 6c 5f 64 69 73 70 61 74 63 68 65 72 2e 73 65 6e 64 94 6a 5c 02 00 00 8c 06 6d 65 74 68 6f 64 94 | l_dispatcher.send.j\.....method. |
f580 | 86 94 8c 14 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 74 69 6d 65 6f 75 74 94 6a 5c 02 00 00 6a 62 | ....M2Crypto.SSL.timeout.j\...jb |
f5a0 | 12 00 00 86 94 8c 1c 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 74 69 6d 65 6f 75 74 2e 74 69 6d 65 | .......M2Crypto.SSL.timeout.time |
f5c0 | 6f 75 74 94 6a 5c 02 00 00 8c 05 63 6c 61 73 73 94 86 94 8c 21 4d 32 43 72 79 70 74 6f 2e 53 53 | out.j\.....class....!M2Crypto.SS |
f5e0 | 4c 2e 74 69 6d 65 6f 75 74 2e 74 69 6d 65 6f 75 74 2e 70 61 63 6b 94 6a 5c 02 00 00 8c 06 6d 65 | L.timeout.timeout.pack.j\.....me |
f600 | 74 68 6f 64 94 86 94 8c 26 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 74 69 6d 65 6f 75 74 2e 73 74 | thod....&M2Crypto.SSL.timeout.st |
f620 | 72 75 63 74 5f 74 6f 5f 74 69 6d 65 6f 75 74 94 6a 5c 02 00 00 8c 08 66 75 6e 63 74 69 6f 6e 94 | ruct_to_timeout.j\.....function. |
f640 | 86 94 8c 20 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 74 69 6d 65 6f 75 74 2e 73 74 72 75 63 74 5f | ....M2Crypto.SSL.timeout.struct_ |
f660 | 73 69 7a 65 94 6a 5c 02 00 00 8c 08 66 75 6e 63 74 69 6f 6e 94 86 94 8c 11 4d 32 43 72 79 70 74 | size.j\.....function.....M2Crypt |
f680 | 6f 2e 5f 5f 69 6e 69 74 5f 5f 94 6a 53 02 00 00 8c 06 6d 6f 64 75 6c 65 94 86 94 8c 0d 4d 32 43 | o.__init__.jS.....module.....M2C |
f6a0 | 72 79 70 74 6f 2e 41 53 4e 31 94 6a 53 02 00 00 6a 41 14 00 00 86 94 8c 1a 4d 32 43 72 79 70 74 | rypto.ASN1.jS...jA.......M2Crypt |
f6c0 | 6f 2e 41 53 4e 31 2e 41 53 4e 31 5f 49 6e 74 65 67 65 72 94 6a 53 02 00 00 8c 05 63 6c 61 73 73 | o.ASN1.ASN1_Integer.jS.....class |
f6e0 | 94 86 94 8c 2f 4d 32 43 72 79 70 74 6f 2e 41 53 4e 31 2e 41 53 4e 31 5f 49 6e 74 65 67 65 72 2e | ..../M2Crypto.ASN1.ASN1_Integer. |
f700 | 6d 32 5f 61 73 6e 31 5f 69 6e 74 65 67 65 72 5f 66 72 65 65 94 6a 53 02 00 00 8c 06 6d 65 74 68 | m2_asn1_integer_free.jS.....meth |
f720 | 6f 64 94 86 94 8c 19 4d 32 43 72 79 70 74 6f 2e 41 53 4e 31 2e 41 53 4e 31 5f 4f 62 6a 65 63 74 | od.....M2Crypto.ASN1.ASN1_Object |
f740 | 94 6a 53 02 00 00 8c 05 63 6c 61 73 73 94 86 94 8c 2d 4d 32 43 72 79 70 74 6f 2e 41 53 4e 31 2e | .jS.....class....-M2Crypto.ASN1. |
f760 | 41 53 4e 31 5f 4f 62 6a 65 63 74 2e 6d 32 5f 61 73 6e 31 5f 6f 62 6a 65 63 74 5f 66 72 65 65 94 | ASN1_Object.m2_asn1_object_free. |
f780 | 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 19 4d 32 43 72 79 70 74 6f 2e 41 53 4e 31 2e | jS.....method.....M2Crypto.ASN1. |
f7a0 | 41 53 4e 31 5f 53 74 72 69 6e 67 94 6a 53 02 00 00 8c 05 63 6c 61 73 73 94 86 94 8c 21 4d 32 43 | ASN1_String.jS.....class....!M2C |
f7c0 | 72 79 70 74 6f 2e 41 53 4e 31 2e 41 53 4e 31 5f 53 74 72 69 6e 67 2e 61 73 5f 74 65 78 74 94 6a | rypto.ASN1.ASN1_String.as_text.j |
f7e0 | 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 2d 4d 32 43 72 79 70 74 6f 2e 41 53 4e 31 2e 41 | S.....method....-M2Crypto.ASN1.A |
f800 | 53 4e 31 5f 53 74 72 69 6e 67 2e 6d 32 5f 61 73 6e 31 5f 73 74 72 69 6e 67 5f 66 72 65 65 94 6a | SN1_String.m2_asn1_string_free.j |
f820 | 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 17 4d 32 43 72 79 70 74 6f 2e 41 53 4e 31 2e 41 | S.....method.....M2Crypto.ASN1.A |
f840 | 53 4e 31 5f 54 49 4d 45 94 6a 53 02 00 00 8c 05 63 6c 61 73 73 94 86 94 8c 24 4d 32 43 72 79 70 | SN1_TIME.jS.....class....$M2Cryp |
f860 | 74 6f 2e 41 53 4e 31 2e 41 53 4e 31 5f 54 49 4d 45 2e 67 65 74 5f 64 61 74 65 74 69 6d 65 94 6a | to.ASN1.ASN1_TIME.get_datetime.j |
f880 | 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 29 4d 32 43 72 79 70 74 6f 2e 41 53 4e 31 2e 41 | S.....method....)M2Crypto.ASN1.A |
f8a0 | 53 4e 31 5f 54 49 4d 45 2e 6d 32 5f 61 73 6e 31 5f 74 69 6d 65 5f 66 72 65 65 94 6a 53 02 00 00 | SN1_TIME.m2_asn1_time_free.jS... |
f8c0 | 8c 06 6d 65 74 68 6f 64 94 86 94 8c 24 4d 32 43 72 79 70 74 6f 2e 41 53 4e 31 2e 41 53 4e 31 5f | ..method....$M2Crypto.ASN1.ASN1_ |
f8e0 | 54 49 4d 45 2e 73 65 74 5f 64 61 74 65 74 69 6d 65 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 | TIME.set_datetime.jS.....method. |
f900 | 86 94 8c 22 4d 32 43 72 79 70 74 6f 2e 41 53 4e 31 2e 41 53 4e 31 5f 54 49 4d 45 2e 73 65 74 5f | ..."M2Crypto.ASN1.ASN1_TIME.set_ |
f920 | 73 74 72 69 6e 67 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 20 4d 32 43 72 79 70 74 | string.jS.....method.....M2Crypt |
f940 | 6f 2e 41 53 4e 31 2e 41 53 4e 31 5f 54 49 4d 45 2e 73 65 74 5f 74 69 6d 65 94 6a 53 02 00 00 8c | o.ASN1.ASN1_TIME.set_time.jS.... |
f960 | 06 6d 65 74 68 6f 64 94 86 94 8c 1a 4d 32 43 72 79 70 74 6f 2e 41 53 4e 31 2e 41 53 4e 31 5f 55 | .method.....M2Crypto.ASN1.ASN1_U |
f980 | 54 43 54 49 4d 45 94 6a 53 02 00 00 8c 09 61 74 74 72 69 62 75 74 65 94 86 94 8c 1b 4d 32 43 72 | TCTIME.jS.....attribute.....M2Cr |
f9a0 | 79 70 74 6f 2e 41 53 4e 31 2e 4c 6f 63 61 6c 54 69 6d 65 7a 6f 6e 65 94 6a 53 02 00 00 8c 05 63 | ypto.ASN1.LocalTimezone.jS.....c |
f9c0 | 6c 61 73 73 94 86 94 8c 1f 4d 32 43 72 79 70 74 6f 2e 41 53 4e 31 2e 4c 6f 63 61 6c 54 69 6d 65 | lass.....M2Crypto.ASN1.LocalTime |
f9e0 | 7a 6f 6e 65 2e 64 73 74 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 22 4d 32 43 72 79 | zone.dst.jS.....method...."M2Cry |
fa00 | 70 74 6f 2e 41 53 4e 31 2e 4c 6f 63 61 6c 54 69 6d 65 7a 6f 6e 65 2e 74 7a 6e 61 6d 65 94 6a 53 | pto.ASN1.LocalTimezone.tzname.jS |
fa20 | 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 25 4d 32 43 72 79 70 74 6f 2e 41 53 4e 31 2e 4c 6f | .....method....%M2Crypto.ASN1.Lo |
fa40 | 63 61 6c 54 69 6d 65 7a 6f 6e 65 2e 75 74 63 6f 66 66 73 65 74 94 6a 53 02 00 00 8c 06 6d 65 74 | calTimezone.utcoffset.jS.....met |
fa60 | 68 6f 64 94 86 94 8c 13 4d 32 43 72 79 70 74 6f 2e 41 75 74 68 43 6f 6f 6b 69 65 94 6a 53 02 00 | hod.....M2Crypto.AuthCookie.jS.. |
fa80 | 00 6a 41 14 00 00 86 94 8c 1e 4d 32 43 72 79 70 74 6f 2e 41 75 74 68 43 6f 6f 6b 69 65 2e 41 75 | .jA.......M2Crypto.AuthCookie.Au |
faa0 | 74 68 43 6f 6f 6b 69 65 94 6a 53 02 00 00 8c 05 63 6c 61 73 73 94 86 94 8c 23 4d 32 43 72 79 70 | thCookie.jS.....class....#M2Cryp |
fac0 | 74 6f 2e 41 75 74 68 43 6f 6f 6b 69 65 2e 41 75 74 68 43 6f 6f 6b 69 65 2e 64 61 74 61 94 6a 53 | to.AuthCookie.AuthCookie.data.jS |
fae0 | 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 25 4d 32 43 72 79 70 74 6f 2e 41 75 74 68 43 6f 6f | .....method....%M2Crypto.AuthCoo |
fb00 | 6b 69 65 2e 41 75 74 68 43 6f 6f 6b 69 65 2e 65 78 70 69 72 79 94 6a 53 02 00 00 8c 06 6d 65 74 | kie.AuthCookie.expiry.jS.....met |
fb20 | 68 6f 64 94 86 94 8c 2a 4d 32 43 72 79 70 74 6f 2e 41 75 74 68 43 6f 6f 6b 69 65 2e 41 75 74 68 | hod....*M2Crypto.AuthCookie.Auth |
fb40 | 43 6f 6f 6b 69 65 2e 68 65 61 64 65 72 56 61 6c 75 65 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 | Cookie.headerValue.jS.....method |
fb60 | 94 86 94 8c 28 4d 32 43 72 79 70 74 6f 2e 41 75 74 68 43 6f 6f 6b 69 65 2e 41 75 74 68 43 6f 6f | ....(M2Crypto.AuthCookie.AuthCoo |
fb80 | 6b 69 65 2e 69 73 45 78 70 69 72 65 64 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 22 | kie.isExpired.jS.....method...." |
fba0 | 4d 32 43 72 79 70 74 6f 2e 41 75 74 68 43 6f 6f 6b 69 65 2e 41 75 74 68 43 6f 6f 6b 69 65 2e 6d | M2Crypto.AuthCookie.AuthCookie.m |
fbc0 | 61 63 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 23 4d 32 43 72 79 70 74 6f 2e 41 75 | ac.jS.....method....#M2Crypto.Au |
fbe0 | 74 68 43 6f 6f 6b 69 65 2e 41 75 74 68 43 6f 6f 6b 69 65 2e 6e 61 6d 65 94 6a 53 02 00 00 8c 06 | thCookie.AuthCookie.name.jS..... |
fc00 | 6d 65 74 68 6f 64 94 86 94 8c 25 4d 32 43 72 79 70 74 6f 2e 41 75 74 68 43 6f 6f 6b 69 65 2e 41 | method....%M2Crypto.AuthCookie.A |
fc20 | 75 74 68 43 6f 6f 6b 69 65 2e 6f 75 74 70 75 74 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 | uthCookie.output.jS.....method.. |
fc40 | 94 8c 24 4d 32 43 72 79 70 74 6f 2e 41 75 74 68 43 6f 6f 6b 69 65 2e 41 75 74 68 43 6f 6f 6b 69 | ..$M2Crypto.AuthCookie.AuthCooki |
fc60 | 65 2e 76 61 6c 75 65 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 21 4d 32 43 72 79 70 | e.value.jS.....method....!M2Cryp |
fc80 | 74 6f 2e 41 75 74 68 43 6f 6f 6b 69 65 2e 41 75 74 68 43 6f 6f 6b 69 65 4a 61 72 94 6a 53 02 00 | to.AuthCookie.AuthCookieJar.jS.. |
fca0 | 00 8c 05 63 6c 61 73 73 94 86 94 8c 2e 4d 32 43 72 79 70 74 6f 2e 41 75 74 68 43 6f 6f 6b 69 65 | ...class.....M2Crypto.AuthCookie |
fcc0 | 2e 41 75 74 68 43 6f 6f 6b 69 65 4a 61 72 2e 69 73 47 6f 6f 64 43 6f 6f 6b 69 65 94 6a 53 02 00 | .AuthCookieJar.isGoodCookie.jS.. |
fce0 | 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 34 4d 32 43 72 79 70 74 6f 2e 41 75 74 68 43 6f 6f 6b 69 | ...method....4M2Crypto.AuthCooki |
fd00 | 65 2e 41 75 74 68 43 6f 6f 6b 69 65 4a 61 72 2e 69 73 47 6f 6f 64 43 6f 6f 6b 69 65 53 74 72 69 | e.AuthCookieJar.isGoodCookieStri |
fd20 | 6e 67 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 2c 4d 32 43 72 79 70 74 6f 2e 41 75 | ng.jS.....method....,M2Crypto.Au |
fd40 | 74 68 43 6f 6f 6b 69 65 2e 41 75 74 68 43 6f 6f 6b 69 65 4a 61 72 2e 6d 61 6b 65 43 6f 6f 6b 69 | thCookie.AuthCookieJar.makeCooki |
fd60 | 65 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 17 4d 32 43 72 79 70 74 6f 2e 41 75 74 | e.jS.....method.....M2Crypto.Aut |
fd80 | 68 43 6f 6f 6b 69 65 2e 6d 69 78 94 6a 53 02 00 00 8c 08 66 75 6e 63 74 69 6f 6e 94 86 94 8c 19 | hCookie.mix.jS.....function..... |
fda0 | 4d 32 43 72 79 70 74 6f 2e 41 75 74 68 43 6f 6f 6b 69 65 2e 75 6e 6d 69 78 94 6a 53 02 00 00 8c | M2Crypto.AuthCookie.unmix.jS.... |
fdc0 | 08 66 75 6e 63 74 69 6f 6e 94 86 94 8c 1a 4d 32 43 72 79 70 74 6f 2e 41 75 74 68 43 6f 6f 6b 69 | .function.....M2Crypto.AuthCooki |
fde0 | 65 2e 75 6e 6d 69 78 33 94 6a 53 02 00 00 8c 08 66 75 6e 63 74 69 6f 6e 94 86 94 8c 0c 4d 32 43 | e.unmix3.jS.....function.....M2C |
fe00 | 72 79 70 74 6f 2e 42 49 4f 94 6a 53 02 00 00 6a 41 14 00 00 86 94 8c 10 4d 32 43 72 79 70 74 6f | rypto.BIO.jS...jA.......M2Crypto |
fe20 | 2e 42 49 4f 2e 42 49 4f 94 6a 53 02 00 00 8c 05 63 6c 61 73 73 94 86 94 8c 18 4d 32 43 72 79 70 | .BIO.BIO.jS.....class.....M2Cryp |
fe40 | 74 6f 2e 42 49 4f 2e 42 49 4f 2e 62 69 6f 5f 70 74 72 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 | to.BIO.BIO.bio_ptr.jS.....method |
fe60 | 94 86 94 8c 16 4d 32 43 72 79 70 74 6f 2e 42 49 4f 2e 42 49 4f 2e 63 6c 6f 73 65 94 6a 53 02 00 | .....M2Crypto.BIO.BIO.close.jS.. |
fe80 | 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 17 4d 32 43 72 79 70 74 6f 2e 42 49 4f 2e 42 49 4f 2e 66 | ...method.....M2Crypto.BIO.BIO.f |
fea0 | 69 6c 65 6e 6f 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 16 4d 32 43 72 79 70 74 6f | ileno.jS.....method.....M2Crypto |
fec0 | 2e 42 49 4f 2e 42 49 4f 2e 66 6c 75 73 68 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c | .BIO.BIO.flush.jS.....method.... |
fee0 | 1c 4d 32 43 72 79 70 74 6f 2e 42 49 4f 2e 42 49 4f 2e 6d 32 5f 62 69 6f 5f 66 72 65 65 94 6a 53 | .M2Crypto.BIO.BIO.m2_bio_free.jS |
ff00 | 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 15 4d 32 43 72 79 70 74 6f 2e 42 49 4f 2e 42 49 4f | .....method.....M2Crypto.BIO.BIO |
ff20 | 2e 72 65 61 64 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 19 4d 32 43 72 79 70 74 6f | .read.jS.....method.....M2Crypto |
ff40 | 2e 42 49 4f 2e 42 49 4f 2e 72 65 61 64 61 62 6c 65 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 | .BIO.BIO.readable.jS.....method. |
ff60 | 86 94 8c 19 4d 32 43 72 79 70 74 6f 2e 42 49 4f 2e 42 49 4f 2e 72 65 61 64 6c 69 6e 65 94 6a 53 | ....M2Crypto.BIO.BIO.readline.jS |
ff80 | 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 1a 4d 32 43 72 79 70 74 6f 2e 42 49 4f 2e 42 49 4f | .....method.....M2Crypto.BIO.BIO |
ffa0 | 2e 72 65 61 64 6c 69 6e 65 73 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 16 4d 32 43 | .readlines.jS.....method.....M2C |
ffc0 | 72 79 70 74 6f 2e 42 49 4f 2e 42 49 4f 2e 72 65 73 65 74 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f | rypto.BIO.BIO.reset.jS.....metho |
ffe0 | 64 94 86 94 8c 15 4d 32 43 72 79 70 74 6f 2e 42 49 4f 2e 42 49 4f 2e 73 65 65 6b 94 6a 53 02 00 | d.....M2Crypto.BIO.BIO.seek.jS.. |
10000 | 00 8c 06 6d 65 74 68 6f 64 94 86 94 95 04 13 01 00 00 00 00 00 8c 1c 4d 32 43 72 79 70 74 6f 2e | ...method..............M2Crypto. |
10020 | 42 49 4f 2e 42 49 4f 2e 73 68 6f 75 6c 64 5f 72 65 61 64 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f | BIO.BIO.should_read.jS.....metho |
10040 | 64 94 86 94 8c 1d 4d 32 43 72 79 70 74 6f 2e 42 49 4f 2e 42 49 4f 2e 73 68 6f 75 6c 64 5f 72 65 | d.....M2Crypto.BIO.BIO.should_re |
10060 | 74 72 79 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 1d 4d 32 43 72 79 70 74 6f 2e 42 | try.jS.....method.....M2Crypto.B |
10080 | 49 4f 2e 42 49 4f 2e 73 68 6f 75 6c 64 5f 77 72 69 74 65 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f | IO.BIO.should_write.jS.....metho |
100a0 | 64 94 86 94 8c 15 4d 32 43 72 79 70 74 6f 2e 42 49 4f 2e 42 49 4f 2e 74 65 6c 6c 94 6a 53 02 00 | d.....M2Crypto.BIO.BIO.tell.jS.. |
100c0 | 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 16 4d 32 43 72 79 70 74 6f 2e 42 49 4f 2e 42 49 4f 2e 77 | ...method.....M2Crypto.BIO.BIO.w |
100e0 | 72 69 74 65 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 1c 4d 32 43 72 79 70 74 6f 2e | rite.jS.....method.....M2Crypto. |
10100 | 42 49 4f 2e 42 49 4f 2e 77 72 69 74 65 5f 63 6c 6f 73 65 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f | BIO.BIO.write_close.jS.....metho |
10120 | 64 94 86 94 8c 1a 4d 32 43 72 79 70 74 6f 2e 42 49 4f 2e 42 49 4f 2e 77 72 69 74 65 61 62 6c 65 | d.....M2Crypto.BIO.BIO.writeable |
10140 | 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 15 4d 32 43 72 79 70 74 6f 2e 42 49 4f 2e | .jS.....method.....M2Crypto.BIO. |
10160 | 42 49 4f 45 72 72 6f 72 94 6a 53 02 00 00 8c 09 65 78 63 65 70 74 69 6f 6e 94 86 94 8c 19 4d 32 | BIOError.jS.....exception.....M2 |
10180 | 43 72 79 70 74 6f 2e 42 49 4f 2e 43 69 70 68 65 72 53 74 72 65 61 6d 94 6a 53 02 00 00 8c 05 63 | Crypto.BIO.CipherStream.jS.....c |
101a0 | 6c 61 73 73 94 86 94 8c 22 4d 32 43 72 79 70 74 6f 2e 42 49 4f 2e 43 69 70 68 65 72 53 74 72 65 | lass...."M2Crypto.BIO.CipherStre |
101c0 | 61 6d 2e 53 41 4c 54 5f 4c 45 4e 94 6a 53 02 00 00 8c 09 61 74 74 72 69 62 75 74 65 94 86 94 8c | am.SALT_LEN.jS.....attribute.... |
101e0 | 1f 4d 32 43 72 79 70 74 6f 2e 42 49 4f 2e 43 69 70 68 65 72 53 74 72 65 61 6d 2e 63 6c 6f 73 65 | .M2Crypto.BIO.CipherStream.close |
10200 | 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 25 4d 32 43 72 79 70 74 6f 2e 42 49 4f 2e | .jS.....method....%M2Crypto.BIO. |
10220 | 43 69 70 68 65 72 53 74 72 65 61 6d 2e 6d 32 5f 62 69 6f 5f 66 72 65 65 94 6a 53 02 00 00 8c 06 | CipherStream.m2_bio_free.jS..... |
10240 | 6d 65 74 68 6f 64 94 86 94 8c 24 4d 32 43 72 79 70 74 6f 2e 42 49 4f 2e 43 69 70 68 65 72 53 74 | method....$M2Crypto.BIO.CipherSt |
10260 | 72 65 61 6d 2e 6d 32 5f 62 69 6f 5f 70 6f 70 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 | ream.m2_bio_pop.jS.....method... |
10280 | 8c 24 4d 32 43 72 79 70 74 6f 2e 42 49 4f 2e 43 69 70 68 65 72 53 74 72 65 61 6d 2e 73 65 74 5f | .$M2Crypto.BIO.CipherStream.set_ |
102a0 | 63 69 70 68 65 72 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 25 4d 32 43 72 79 70 74 | cipher.jS.....method....%M2Crypt |
102c0 | 6f 2e 42 49 4f 2e 43 69 70 68 65 72 53 74 72 65 61 6d 2e 77 72 69 74 65 5f 63 6c 6f 73 65 94 6a | o.BIO.CipherStream.write_close.j |
102e0 | 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 11 4d 32 43 72 79 70 74 6f 2e 42 49 4f 2e 46 69 | S.....method.....M2Crypto.BIO.Fi |
10300 | 6c 65 94 6a 53 02 00 00 8c 05 63 6c 61 73 73 94 86 94 8c 17 4d 32 43 72 79 70 74 6f 2e 42 49 4f | le.jS.....class.....M2Crypto.BIO |
10320 | 2e 46 69 6c 65 2e 63 6c 6f 73 65 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 17 4d 32 | .File.close.jS.....method.....M2 |
10340 | 43 72 79 70 74 6f 2e 42 49 4f 2e 46 69 6c 65 2e 66 6c 75 73 68 94 6a 53 02 00 00 8c 06 6d 65 74 | Crypto.BIO.File.flush.jS.....met |
10360 | 68 6f 64 94 86 94 8c 17 4d 32 43 72 79 70 74 6f 2e 42 49 4f 2e 46 69 6c 65 2e 72 65 73 65 74 94 | hod.....M2Crypto.BIO.File.reset. |
10380 | 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 15 4d 32 43 72 79 70 74 6f 2e 42 49 4f 2e 49 | jS.....method.....M2Crypto.BIO.I |
103a0 | 4f 42 75 66 66 65 72 94 6a 53 02 00 00 8c 05 63 6c 61 73 73 94 86 94 8c 1b 4d 32 43 72 79 70 74 | OBuffer.jS.....class.....M2Crypt |
103c0 | 6f 2e 42 49 4f 2e 49 4f 42 75 66 66 65 72 2e 63 6c 6f 73 65 94 6a 53 02 00 00 8c 06 6d 65 74 68 | o.BIO.IOBuffer.close.jS.....meth |
103e0 | 6f 64 94 86 94 8c 21 4d 32 43 72 79 70 74 6f 2e 42 49 4f 2e 49 4f 42 75 66 66 65 72 2e 6d 32 5f | od....!M2Crypto.BIO.IOBuffer.m2_ |
10400 | 62 69 6f 5f 66 72 65 65 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 20 4d 32 43 72 79 | bio_free.jS.....method.....M2Cry |
10420 | 70 74 6f 2e 42 49 4f 2e 49 4f 42 75 66 66 65 72 2e 6d 32 5f 62 69 6f 5f 70 6f 70 94 6a 53 02 00 | pto.BIO.IOBuffer.m2_bio_pop.jS.. |
10440 | 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 19 4d 32 43 72 79 70 74 6f 2e 42 49 4f 2e 4d 65 6d 6f 72 | ...method.....M2Crypto.BIO.Memor |
10460 | 79 42 75 66 66 65 72 94 6a 53 02 00 00 8c 05 63 6c 61 73 73 94 86 94 8c 1f 4d 32 43 72 79 70 74 | yBuffer.jS.....class.....M2Crypt |
10480 | 6f 2e 42 49 4f 2e 4d 65 6d 6f 72 79 42 75 66 66 65 72 2e 63 6c 6f 73 65 94 6a 53 02 00 00 8c 06 | o.BIO.MemoryBuffer.close.jS..... |
104a0 | 6d 65 74 68 6f 64 94 86 94 8c 22 4d 32 43 72 79 70 74 6f 2e 42 49 4f 2e 4d 65 6d 6f 72 79 42 75 | method...."M2Crypto.BIO.MemoryBu |
104c0 | 66 66 65 72 2e 67 65 74 76 61 6c 75 65 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 1e | ffer.getvalue.jS.....method..... |
104e0 | 4d 32 43 72 79 70 74 6f 2e 42 49 4f 2e 4d 65 6d 6f 72 79 42 75 66 66 65 72 2e 72 65 61 64 94 6a | M2Crypto.BIO.MemoryBuffer.read.j |
10500 | 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 22 4d 32 43 72 79 70 74 6f 2e 42 49 4f 2e 4d 65 | S.....method...."M2Crypto.BIO.Me |
10520 | 6d 6f 72 79 42 75 66 66 65 72 2e 72 65 61 64 5f 61 6c 6c 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f | moryBuffer.read_all.jS.....metho |
10540 | 64 94 86 94 8c 25 4d 32 43 72 79 70 74 6f 2e 42 49 4f 2e 4d 65 6d 6f 72 79 42 75 66 66 65 72 2e | d....%M2Crypto.BIO.MemoryBuffer. |
10560 | 77 72 69 74 65 5f 63 6c 6f 73 65 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 13 4d 32 | write_close.jS.....method.....M2 |
10580 | 43 72 79 70 74 6f 2e 42 49 4f 2e 53 53 4c 42 69 6f 94 6a 53 02 00 00 8c 05 63 6c 61 73 73 94 86 | Crypto.BIO.SSLBio.jS.....class.. |
105a0 | 94 8c 20 4d 32 43 72 79 70 74 6f 2e 42 49 4f 2e 53 53 4c 42 69 6f 2e 64 6f 5f 68 61 6e 64 73 68 | ...M2Crypto.BIO.SSLBio.do_handsh |
105c0 | 61 6b 65 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 1b 4d 32 43 72 79 70 74 6f 2e 42 | ake.jS.....method.....M2Crypto.B |
105e0 | 49 4f 2e 53 53 4c 42 69 6f 2e 73 65 74 5f 73 73 6c 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 | IO.SSLBio.set_ssl.jS.....method. |
10600 | 86 94 8c 15 4d 32 43 72 79 70 74 6f 2e 42 49 4f 2e 6f 70 65 6e 66 69 6c 65 94 6a 53 02 00 00 8c | ....M2Crypto.BIO.openfile.jS.... |
10620 | 08 66 75 6e 63 74 69 6f 6e 94 86 94 8c 0b 4d 32 43 72 79 70 74 6f 2e 42 4e 94 6a 53 02 00 00 6a | .function.....M2Crypto.BN.jS...j |
10640 | 41 14 00 00 86 94 8c 10 4d 32 43 72 79 70 74 6f 2e 42 4e 2e 72 61 6e 64 94 6a 53 02 00 00 8c 08 | A.......M2Crypto.BN.rand.jS..... |
10660 | 66 75 6e 63 74 69 6f 6e 94 86 94 8c 16 4d 32 43 72 79 70 74 6f 2e 42 4e 2e 72 61 6e 64 5f 72 61 | function.....M2Crypto.BN.rand_ra |
10680 | 6e 67 65 94 6a 53 02 00 00 8c 08 66 75 6e 63 74 69 6f 6e 94 86 94 8c 15 4d 32 43 72 79 70 74 6f | nge.jS.....function.....M2Crypto |
106a0 | 2e 42 4e 2e 72 61 6e 64 66 6e 61 6d 65 94 6a 53 02 00 00 8c 08 66 75 6e 63 74 69 6f 6e 94 86 94 | .BN.randfname.jS.....function... |
106c0 | 8c 0b 4d 32 43 72 79 70 74 6f 2e 44 48 94 6a 53 02 00 00 6a 41 14 00 00 86 94 8c 0e 4d 32 43 72 | ..M2Crypto.DH.jS...jA.......M2Cr |
106e0 | 79 70 74 6f 2e 44 48 2e 44 48 94 6a 53 02 00 00 8c 05 63 6c 61 73 73 94 86 94 8c 1b 4d 32 43 72 | ypto.DH.DH.jS.....class.....M2Cr |
10700 | 79 70 74 6f 2e 44 48 2e 44 48 2e 63 68 65 63 6b 5f 70 61 72 61 6d 73 94 6a 53 02 00 00 8c 06 6d | ypto.DH.DH.check_params.jS.....m |
10720 | 65 74 68 6f 64 94 86 94 8c 1a 4d 32 43 72 79 70 74 6f 2e 44 48 2e 44 48 2e 63 6f 6d 70 75 74 65 | ethod.....M2Crypto.DH.DH.compute |
10740 | 5f 6b 65 79 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 16 4d 32 43 72 79 70 74 6f 2e | _key.jS.....method.....M2Crypto. |
10760 | 44 48 2e 44 48 2e 67 65 6e 5f 6b 65 79 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 19 | DH.DH.gen_key.jS.....method..... |
10780 | 4d 32 43 72 79 70 74 6f 2e 44 48 2e 44 48 2e 6d 32 5f 64 68 5f 66 72 65 65 94 6a 53 02 00 00 8c | M2Crypto.DH.DH.m2_dh_free.jS.... |
107a0 | 06 6d 65 74 68 6f 64 94 86 94 8c 1b 4d 32 43 72 79 70 74 6f 2e 44 48 2e 44 48 2e 70 72 69 6e 74 | .method.....M2Crypto.DH.DH.print |
107c0 | 5f 70 61 72 61 6d 73 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 13 4d 32 43 72 79 70 | _params.jS.....method.....M2Cryp |
107e0 | 74 6f 2e 44 48 2e 44 48 45 72 72 6f 72 94 6a 53 02 00 00 8c 09 65 78 63 65 70 74 69 6f 6e 94 86 | to.DH.DHError.jS.....exception.. |
10800 | 94 8c 16 4d 32 43 72 79 70 74 6f 2e 44 48 2e 67 65 6e 5f 70 61 72 61 6d 73 94 6a 53 02 00 00 8c | ...M2Crypto.DH.gen_params.jS.... |
10820 | 08 66 75 6e 63 74 69 6f 6e 94 86 94 8c 17 4d 32 43 72 79 70 74 6f 2e 44 48 2e 6c 6f 61 64 5f 70 | .function.....M2Crypto.DH.load_p |
10840 | 61 72 61 6d 73 94 6a 53 02 00 00 8c 08 66 75 6e 63 74 69 6f 6e 94 86 94 8c 1b 4d 32 43 72 79 70 | arams.jS.....function.....M2Cryp |
10860 | 74 6f 2e 44 48 2e 6c 6f 61 64 5f 70 61 72 61 6d 73 5f 62 69 6f 94 6a 53 02 00 00 8c 08 66 75 6e | to.DH.load_params_bio.jS.....fun |
10880 | 63 74 69 6f 6e 94 86 94 8c 16 4d 32 43 72 79 70 74 6f 2e 44 48 2e 73 65 74 5f 70 61 72 61 6d 73 | ction.....M2Crypto.DH.set_params |
108a0 | 94 6a 53 02 00 00 8c 08 66 75 6e 63 74 69 6f 6e 94 86 94 8c 0c 4d 32 43 72 79 70 74 6f 2e 44 53 | .jS.....function.....M2Crypto.DS |
108c0 | 41 94 6a 53 02 00 00 6a 41 14 00 00 86 94 8c 10 4d 32 43 72 79 70 74 6f 2e 44 53 41 2e 44 53 41 | A.jS...jA.......M2Crypto.DSA.DSA |
108e0 | 94 6a 53 02 00 00 8c 05 63 6c 61 73 73 94 86 94 8c 1a 4d 32 43 72 79 70 74 6f 2e 44 53 41 2e 44 | .jS.....class.....M2Crypto.DSA.D |
10900 | 53 41 2e 63 68 65 63 6b 5f 6b 65 79 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 18 4d | SA.check_key.jS.....method.....M |
10920 | 32 43 72 79 70 74 6f 2e 44 53 41 2e 44 53 41 2e 67 65 6e 5f 6b 65 79 94 6a 53 02 00 00 8c 06 6d | 2Crypto.DSA.DSA.gen_key.jS.....m |
10940 | 65 74 68 6f 64 94 86 94 8c 1c 4d 32 43 72 79 70 74 6f 2e 44 53 41 2e 44 53 41 2e 6d 32 5f 64 73 | ethod.....M2Crypto.DSA.DSA.m2_ds |
10960 | 61 5f 66 72 65 65 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 19 4d 32 43 72 79 70 74 | a_free.jS.....method.....M2Crypt |
10980 | 6f 2e 44 53 41 2e 44 53 41 2e 73 61 76 65 5f 6b 65 79 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 | o.DSA.DSA.save_key.jS.....method |
109a0 | 94 86 94 8c 1d 4d 32 43 72 79 70 74 6f 2e 44 53 41 2e 44 53 41 2e 73 61 76 65 5f 6b 65 79 5f 62 | .....M2Crypto.DSA.DSA.save_key_b |
109c0 | 69 6f 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 1c 4d 32 43 72 79 70 74 6f 2e 44 53 | io.jS.....method.....M2Crypto.DS |
109e0 | 41 2e 44 53 41 2e 73 61 76 65 5f 70 61 72 61 6d 73 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 | A.DSA.save_params.jS.....method. |
10a00 | 86 94 8c 20 4d 32 43 72 79 70 74 6f 2e 44 53 41 2e 44 53 41 2e 73 61 76 65 5f 70 61 72 61 6d 73 | ....M2Crypto.DSA.DSA.save_params |
10a20 | 5f 62 69 6f 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 1d 4d 32 43 72 79 70 74 6f 2e | _bio.jS.....method.....M2Crypto. |
10a40 | 44 53 41 2e 44 53 41 2e 73 61 76 65 5f 70 75 62 5f 6b 65 79 94 6a 53 02 00 00 8c 06 6d 65 74 68 | DSA.DSA.save_pub_key.jS.....meth |
10a60 | 6f 64 94 86 94 8c 21 4d 32 43 72 79 70 74 6f 2e 44 53 41 2e 44 53 41 2e 73 61 76 65 5f 70 75 62 | od....!M2Crypto.DSA.DSA.save_pub |
10a80 | 5f 6b 65 79 5f 62 69 6f 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 1b 4d 32 43 72 79 | _key_bio.jS.....method.....M2Cry |
10aa0 | 70 74 6f 2e 44 53 41 2e 44 53 41 2e 73 65 74 5f 70 61 72 61 6d 73 94 6a 53 02 00 00 8c 06 6d 65 | pto.DSA.DSA.set_params.jS.....me |
10ac0 | 74 68 6f 64 94 86 94 8c 15 4d 32 43 72 79 70 74 6f 2e 44 53 41 2e 44 53 41 2e 73 69 67 6e 94 6a | thod.....M2Crypto.DSA.DSA.sign.j |
10ae0 | 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 1a 4d 32 43 72 79 70 74 6f 2e 44 53 41 2e 44 53 | S.....method.....M2Crypto.DSA.DS |
10b00 | 41 2e 73 69 67 6e 5f 61 73 6e 31 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 17 4d 32 | A.sign_asn1.jS.....method.....M2 |
10b20 | 43 72 79 70 74 6f 2e 44 53 41 2e 44 53 41 2e 76 65 72 69 66 79 94 6a 53 02 00 00 8c 06 6d 65 74 | Crypto.DSA.DSA.verify.jS.....met |
10b40 | 68 6f 64 94 86 94 8c 1c 4d 32 43 72 79 70 74 6f 2e 44 53 41 2e 44 53 41 2e 76 65 72 69 66 79 5f | hod.....M2Crypto.DSA.DSA.verify_ |
10b60 | 61 73 6e 31 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 15 4d 32 43 72 79 70 74 6f 2e | asn1.jS.....method.....M2Crypto. |
10b80 | 44 53 41 2e 44 53 41 45 72 72 6f 72 94 6a 53 02 00 00 8c 09 65 78 63 65 70 74 69 6f 6e 94 86 94 | DSA.DSAError.jS.....exception... |
10ba0 | 8c 14 4d 32 43 72 79 70 74 6f 2e 44 53 41 2e 44 53 41 5f 70 75 62 94 6a 53 02 00 00 8c 05 63 6c | ..M2Crypto.DSA.DSA_pub.jS.....cl |
10bc0 | 61 73 73 94 86 94 8c 1e 4d 32 43 72 79 70 74 6f 2e 44 53 41 2e 44 53 41 5f 70 75 62 2e 63 68 65 | ass.....M2Crypto.DSA.DSA_pub.che |
10be0 | 63 6b 5f 6b 65 79 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 1d 4d 32 43 72 79 70 74 | ck_key.jS.....method.....M2Crypt |
10c00 | 6f 2e 44 53 41 2e 44 53 41 5f 70 75 62 2e 73 61 76 65 5f 6b 65 79 94 6a 53 02 00 00 8c 06 6d 65 | o.DSA.DSA_pub.save_key.jS.....me |
10c20 | 74 68 6f 64 94 86 94 8c 21 4d 32 43 72 79 70 74 6f 2e 44 53 41 2e 44 53 41 5f 70 75 62 2e 73 61 | thod....!M2Crypto.DSA.DSA_pub.sa |
10c40 | 76 65 5f 6b 65 79 5f 62 69 6f 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 19 4d 32 43 | ve_key_bio.jS.....method.....M2C |
10c60 | 72 79 70 74 6f 2e 44 53 41 2e 44 53 41 5f 70 75 62 2e 73 69 67 6e 94 6a 53 02 00 00 8c 06 6d 65 | rypto.DSA.DSA_pub.sign.jS.....me |
10c80 | 74 68 6f 64 94 86 94 8c 1e 4d 32 43 72 79 70 74 6f 2e 44 53 41 2e 44 53 41 5f 70 75 62 2e 73 69 | thod.....M2Crypto.DSA.DSA_pub.si |
10ca0 | 67 6e 5f 61 73 6e 31 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 17 4d 32 43 72 79 70 | gn_asn1.jS.....method.....M2Cryp |
10cc0 | 74 6f 2e 44 53 41 2e 67 65 6e 5f 70 61 72 61 6d 73 94 6a 53 02 00 00 8c 08 66 75 6e 63 74 69 6f | to.DSA.gen_params.jS.....functio |
10ce0 | 6e 94 86 94 8c 15 4d 32 43 72 79 70 74 6f 2e 44 53 41 2e 6c 6f 61 64 5f 6b 65 79 94 6a 53 02 00 | n.....M2Crypto.DSA.load_key.jS.. |
10d00 | 00 8c 08 66 75 6e 63 74 69 6f 6e 94 86 94 8c 19 4d 32 43 72 79 70 74 6f 2e 44 53 41 2e 6c 6f 61 | ...function.....M2Crypto.DSA.loa |
10d20 | 64 5f 6b 65 79 5f 62 69 6f 94 6a 53 02 00 00 8c 08 66 75 6e 63 74 69 6f 6e 94 86 94 8c 18 4d 32 | d_key_bio.jS.....function.....M2 |
10d40 | 43 72 79 70 74 6f 2e 44 53 41 2e 6c 6f 61 64 5f 70 61 72 61 6d 73 94 6a 53 02 00 00 8c 08 66 75 | Crypto.DSA.load_params.jS.....fu |
10d60 | 6e 63 74 69 6f 6e 94 86 94 8c 1c 4d 32 43 72 79 70 74 6f 2e 44 53 41 2e 6c 6f 61 64 5f 70 61 72 | nction.....M2Crypto.DSA.load_par |
10d80 | 61 6d 73 5f 62 69 6f 94 6a 53 02 00 00 8c 08 66 75 6e 63 74 69 6f 6e 94 86 94 8c 19 4d 32 43 72 | ams_bio.jS.....function.....M2Cr |
10da0 | 79 70 74 6f 2e 44 53 41 2e 6c 6f 61 64 5f 70 75 62 5f 6b 65 79 94 6a 53 02 00 00 8c 08 66 75 6e | ypto.DSA.load_pub_key.jS.....fun |
10dc0 | 63 74 69 6f 6e 94 86 94 8c 1d 4d 32 43 72 79 70 74 6f 2e 44 53 41 2e 6c 6f 61 64 5f 70 75 62 5f | ction.....M2Crypto.DSA.load_pub_ |
10de0 | 6b 65 79 5f 62 69 6f 94 6a 53 02 00 00 8c 08 66 75 6e 63 74 69 6f 6e 94 86 94 8c 20 4d 32 43 72 | key_bio.jS.....function.....M2Cr |
10e00 | 79 70 74 6f 2e 44 53 41 2e 70 75 62 5f 6b 65 79 5f 66 72 6f 6d 5f 70 61 72 61 6d 73 94 6a 53 02 | ypto.DSA.pub_key_from_params.jS. |
10e20 | 00 00 8c 08 66 75 6e 63 74 69 6f 6e 94 86 94 8c 17 4d 32 43 72 79 70 74 6f 2e 44 53 41 2e 73 65 | ....function.....M2Crypto.DSA.se |
10e40 | 74 5f 70 61 72 61 6d 73 94 6a 53 02 00 00 8c 08 66 75 6e 63 74 69 6f 6e 94 86 94 8c 0b 4d 32 43 | t_params.jS.....function.....M2C |
10e60 | 72 79 70 74 6f 2e 45 43 94 6a 53 02 00 00 6a 41 14 00 00 86 94 8c 0e 4d 32 43 72 79 70 74 6f 2e | rypto.EC.jS...jA.......M2Crypto. |
10e80 | 45 43 2e 45 43 94 6a 53 02 00 00 8c 05 63 6c 61 73 73 94 86 94 8c 15 4d 32 43 72 79 70 74 6f 2e | EC.EC.jS.....class.....M2Crypto. |
10ea0 | 45 43 2e 45 43 2e 61 73 5f 70 65 6d 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 18 4d | EC.EC.as_pem.jS.....method.....M |
10ec0 | 32 43 72 79 70 74 6f 2e 45 43 2e 45 43 2e 63 68 65 63 6b 5f 6b 65 79 94 6a 53 02 00 00 8c 06 6d | 2Crypto.EC.EC.check_key.jS.....m |
10ee0 | 65 74 68 6f 64 94 86 94 8c 1d 4d 32 43 72 79 70 74 6f 2e 45 43 2e 45 43 2e 63 6f 6d 70 75 74 65 | ethod.....M2Crypto.EC.EC.compute |
10f00 | 5f 64 68 5f 6b 65 79 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 16 4d 32 43 72 79 70 | _dh_key.jS.....method.....M2Cryp |
10f20 | 74 6f 2e 45 43 2e 45 43 2e 67 65 6e 5f 6b 65 79 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 | to.EC.EC.gen_key.jS.....method.. |
10f40 | 94 8c 1d 4d 32 43 72 79 70 74 6f 2e 45 43 2e 45 43 2e 6d 32 5f 65 63 5f 6b 65 79 5f 66 72 65 65 | ...M2Crypto.EC.EC.m2_ec_key_free |
10f60 | 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 12 4d 32 43 72 79 70 74 6f 2e 45 43 2e 45 | .jS.....method.....M2Crypto.EC.E |
10f80 | 43 2e 70 75 62 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 17 4d 32 43 72 79 70 74 6f | C.pub.jS.....method.....M2Crypto |
10fa0 | 2e 45 43 2e 45 43 2e 73 61 76 65 5f 6b 65 79 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 | .EC.EC.save_key.jS.....method... |
10fc0 | 8c 1b 4d 32 43 72 79 70 74 6f 2e 45 43 2e 45 43 2e 73 61 76 65 5f 6b 65 79 5f 62 69 6f 94 6a 53 | ..M2Crypto.EC.EC.save_key_bio.jS |
10fe0 | 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 1b 4d 32 43 72 79 70 74 6f 2e 45 43 2e 45 43 2e 73 | .....method.....M2Crypto.EC.EC.s |
11000 | 61 76 65 5f 70 75 62 5f 6b 65 79 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 1f 4d 32 | ave_pub_key.jS.....method.....M2 |
11020 | 43 72 79 70 74 6f 2e 45 43 2e 45 43 2e 73 61 76 65 5f 70 75 62 5f 6b 65 79 5f 62 69 6f 94 6a 53 | Crypto.EC.EC.save_pub_key_bio.jS |
11040 | 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 17 4d 32 43 72 79 70 74 6f 2e 45 43 2e 45 43 2e 73 | .....method.....M2Crypto.EC.EC.s |
11060 | 69 67 6e 5f 64 73 61 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 1c 4d 32 43 72 79 70 | ign_dsa.jS.....method.....M2Cryp |
11080 | 74 6f 2e 45 43 2e 45 43 2e 73 69 67 6e 5f 64 73 61 5f 61 73 6e 31 94 6a 53 02 00 00 8c 06 6d 65 | to.EC.EC.sign_dsa_asn1.jS.....me |
110a0 | 74 68 6f 64 94 86 94 8c 19 4d 32 43 72 79 70 74 6f 2e 45 43 2e 45 43 2e 76 65 72 69 66 79 5f 64 | thod.....M2Crypto.EC.EC.verify_d |
110c0 | 73 61 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 1e 4d 32 43 72 79 70 74 6f 2e 45 43 | sa.jS.....method.....M2Crypto.EC |
110e0 | 2e 45 43 2e 76 65 72 69 66 79 5f 64 73 61 5f 61 73 6e 31 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f | .EC.verify_dsa_asn1.jS.....metho |
11100 | 64 94 86 94 8c 13 4d 32 43 72 79 70 74 6f 2e 45 43 2e 45 43 45 72 72 6f 72 94 6a 53 02 00 00 8c | d.....M2Crypto.EC.ECError.jS.... |
11120 | 09 65 78 63 65 70 74 69 6f 6e 94 86 94 8c 12 4d 32 43 72 79 70 74 6f 2e 45 43 2e 45 43 5f 70 75 | .exception.....M2Crypto.EC.EC_pu |
11140 | 62 94 6a 53 02 00 00 8c 05 63 6c 61 73 73 94 86 94 8c 1a 4d 32 43 72 79 70 74 6f 2e 45 43 2e 45 | b.jS.....class.....M2Crypto.EC.E |
11160 | 43 5f 70 75 62 2e 67 65 74 5f 64 65 72 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 1a | C_pub.get_der.jS.....method..... |
11180 | 4d 32 43 72 79 70 74 6f 2e 45 43 2e 45 43 5f 70 75 62 2e 67 65 74 5f 6b 65 79 94 6a 53 02 00 00 | M2Crypto.EC.EC_pub.get_key.jS... |
111a0 | 8c 06 6d 65 74 68 6f 64 94 86 94 8c 1b 4d 32 43 72 79 70 74 6f 2e 45 43 2e 45 43 5f 70 75 62 2e | ..method.....M2Crypto.EC.EC_pub. |
111c0 | 73 61 76 65 5f 6b 65 79 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 1f 4d 32 43 72 79 | save_key.jS.....method.....M2Cry |
111e0 | 70 74 6f 2e 45 43 2e 45 43 5f 70 75 62 2e 73 61 76 65 5f 6b 65 79 5f 62 69 6f 94 6a 53 02 00 00 | pto.EC.EC_pub.save_key_bio.jS... |
11200 | 8c 06 6d 65 74 68 6f 64 94 86 94 8c 14 4d 32 43 72 79 70 74 6f 2e 45 43 2e 65 63 5f 65 72 72 6f | ..method.....M2Crypto.EC.ec_erro |
11220 | 72 94 6a 53 02 00 00 8c 08 66 75 6e 63 74 69 6f 6e 94 86 94 8c 16 4d 32 43 72 79 70 74 6f 2e 45 | r.jS.....function.....M2Crypto.E |
11240 | 43 2e 67 65 6e 5f 70 61 72 61 6d 73 94 6a 53 02 00 00 8c 08 66 75 6e 63 74 69 6f 6e 94 86 94 8c | C.gen_params.jS.....function.... |
11260 | 1e 4d 32 43 72 79 70 74 6f 2e 45 43 2e 67 65 74 5f 62 75 69 6c 74 69 6e 5f 63 75 72 76 65 73 94 | .M2Crypto.EC.get_builtin_curves. |
11280 | 6a 53 02 00 00 8c 08 66 75 6e 63 74 69 6f 6e 94 86 94 8c 14 4d 32 43 72 79 70 74 6f 2e 45 43 2e | jS.....function.....M2Crypto.EC. |
112a0 | 6c 6f 61 64 5f 6b 65 79 94 6a 53 02 00 00 8c 08 66 75 6e 63 74 69 6f 6e 94 86 94 8c 18 4d 32 43 | load_key.jS.....function.....M2C |
112c0 | 72 79 70 74 6f 2e 45 43 2e 6c 6f 61 64 5f 6b 65 79 5f 62 69 6f 94 6a 53 02 00 00 8c 08 66 75 6e | rypto.EC.load_key_bio.jS.....fun |
112e0 | 63 74 69 6f 6e 94 86 94 8c 1b 4d 32 43 72 79 70 74 6f 2e 45 43 2e 6c 6f 61 64 5f 6b 65 79 5f 73 | ction.....M2Crypto.EC.load_key_s |
11300 | 74 72 69 6e 67 94 6a 53 02 00 00 8c 08 66 75 6e 63 74 69 6f 6e 94 86 94 8c 22 4d 32 43 72 79 70 | tring.jS.....function...."M2Cryp |
11320 | 74 6f 2e 45 43 2e 6c 6f 61 64 5f 6b 65 79 5f 73 74 72 69 6e 67 5f 70 75 62 6b 65 79 94 6a 53 02 | to.EC.load_key_string_pubkey.jS. |
11340 | 00 00 8c 08 66 75 6e 63 74 69 6f 6e 94 86 94 8c 18 4d 32 43 72 79 70 74 6f 2e 45 43 2e 6c 6f 61 | ....function.....M2Crypto.EC.loa |
11360 | 64 5f 70 75 62 5f 6b 65 79 94 6a 53 02 00 00 8c 08 66 75 6e 63 74 69 6f 6e 94 86 94 8c 1c 4d 32 | d_pub_key.jS.....function.....M2 |
11380 | 43 72 79 70 74 6f 2e 45 43 2e 6c 6f 61 64 5f 70 75 62 5f 6b 65 79 5f 62 69 6f 94 6a 53 02 00 00 | Crypto.EC.load_pub_key_bio.jS... |
113a0 | 8c 08 66 75 6e 63 74 69 6f 6e 94 86 94 8c 1c 4d 32 43 72 79 70 74 6f 2e 45 43 2e 70 75 62 5f 6b | ..function.....M2Crypto.EC.pub_k |
113c0 | 65 79 5f 66 72 6f 6d 5f 64 65 72 94 6a 53 02 00 00 8c 08 66 75 6e 63 74 69 6f 6e 94 86 94 8c 1f | ey_from_der.jS.....function..... |
113e0 | 4d 32 43 72 79 70 74 6f 2e 45 43 2e 70 75 62 5f 6b 65 79 5f 66 72 6f 6d 5f 70 61 72 61 6d 73 94 | M2Crypto.EC.pub_key_from_params. |
11400 | 6a 53 02 00 00 8c 08 66 75 6e 63 74 69 6f 6e 94 86 94 8c 0c 4d 32 43 72 79 70 74 6f 2e 45 56 50 | jS.....function.....M2Crypto.EVP |
11420 | 94 6a 53 02 00 00 6a 41 14 00 00 86 94 8c 13 4d 32 43 72 79 70 74 6f 2e 45 56 50 2e 43 69 70 68 | .jS...jA.......M2Crypto.EVP.Ciph |
11440 | 65 72 94 6a 53 02 00 00 8c 05 63 6c 61 73 73 94 86 94 8c 19 4d 32 43 72 79 70 74 6f 2e 45 56 50 | er.jS.....class.....M2Crypto.EVP |
11460 | 2e 43 69 70 68 65 72 2e 66 69 6e 61 6c 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 26 | .Cipher.final.jS.....method....& |
11480 | 4d 32 43 72 79 70 74 6f 2e 45 56 50 2e 43 69 70 68 65 72 2e 6d 32 5f 63 69 70 68 65 72 5f 63 74 | M2Crypto.EVP.Cipher.m2_cipher_ct |
114a0 | 78 5f 66 72 65 65 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 1f 4d 32 43 72 79 70 74 | x_free.jS.....method.....M2Crypt |
114c0 | 6f 2e 45 56 50 2e 43 69 70 68 65 72 2e 73 65 74 5f 70 61 64 64 69 6e 67 94 6a 53 02 00 00 8c 06 | o.EVP.Cipher.set_padding.jS..... |
114e0 | 6d 65 74 68 6f 64 94 86 94 8c 1a 4d 32 43 72 79 70 74 6f 2e 45 56 50 2e 43 69 70 68 65 72 2e 75 | method.....M2Crypto.EVP.Cipher.u |
11500 | 70 64 61 74 65 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 15 4d 32 43 72 79 70 74 6f | pdate.jS.....method.....M2Crypto |
11520 | 2e 45 56 50 2e 45 56 50 45 72 72 6f 72 94 6a 53 02 00 00 8c 09 65 78 63 65 70 74 69 6f 6e 94 86 | .EVP.EVPError.jS.....exception.. |
11540 | 94 8c 11 4d 32 43 72 79 70 74 6f 2e 45 56 50 2e 48 4d 41 43 94 6a 53 02 00 00 8c 05 63 6c 61 73 | ...M2Crypto.EVP.HMAC.jS.....clas |
11560 | 73 94 86 94 8c 18 4d 32 43 72 79 70 74 6f 2e 45 56 50 2e 48 4d 41 43 2e 64 69 67 65 73 74 94 6a | s.....M2Crypto.EVP.HMAC.digest.j |
11580 | 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 17 4d 32 43 72 79 70 74 6f 2e 45 56 50 2e 48 4d | S.....method.....M2Crypto.EVP.HM |
115a0 | 41 43 2e 66 69 6e 61 6c 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 22 4d 32 43 72 79 | AC.final.jS.....method...."M2Cry |
115c0 | 70 74 6f 2e 45 56 50 2e 48 4d 41 43 2e 6d 32 5f 68 6d 61 63 5f 63 74 78 5f 66 72 65 65 94 6a 53 | pto.EVP.HMAC.m2_hmac_ctx_free.jS |
115e0 | 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 17 4d 32 43 72 79 70 74 6f 2e 45 56 50 2e 48 4d 41 | .....method.....M2Crypto.EVP.HMA |
11600 | 43 2e 72 65 73 65 74 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 18 4d 32 43 72 79 70 | C.reset.jS.....method.....M2Cryp |
11620 | 74 6f 2e 45 56 50 2e 48 4d 41 43 2e 75 70 64 61 74 65 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 | to.EVP.HMAC.update.jS.....method |
11640 | 94 86 94 8c 1a 4d 32 43 72 79 70 74 6f 2e 45 56 50 2e 4d 65 73 73 61 67 65 44 69 67 65 73 74 94 | .....M2Crypto.EVP.MessageDigest. |
11660 | 6a 53 02 00 00 8c 05 63 6c 61 73 73 94 86 94 8c 21 4d 32 43 72 79 70 74 6f 2e 45 56 50 2e 4d 65 | jS.....class....!M2Crypto.EVP.Me |
11680 | 73 73 61 67 65 44 69 67 65 73 74 2e 64 69 67 65 73 74 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 | ssageDigest.digest.jS.....method |
116a0 | 94 86 94 8c 20 4d 32 43 72 79 70 74 6f 2e 45 56 50 2e 4d 65 73 73 61 67 65 44 69 67 65 73 74 2e | .....M2Crypto.EVP.MessageDigest. |
116c0 | 66 69 6e 61 6c 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 29 4d 32 43 72 79 70 74 6f | final.jS.....method....)M2Crypto |
116e0 | 2e 45 56 50 2e 4d 65 73 73 61 67 65 44 69 67 65 73 74 2e 6d 32 5f 6d 64 5f 63 74 78 5f 66 72 65 | .EVP.MessageDigest.m2_md_ctx_fre |
11700 | 65 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 21 4d 32 43 72 79 70 74 6f 2e 45 56 50 | e.jS.....method....!M2Crypto.EVP |
11720 | 2e 4d 65 73 73 61 67 65 44 69 67 65 73 74 2e 75 70 64 61 74 65 94 6a 53 02 00 00 8c 06 6d 65 74 | .MessageDigest.update.jS.....met |
11740 | 68 6f 64 94 86 94 8c 11 4d 32 43 72 79 70 74 6f 2e 45 56 50 2e 50 4b 65 79 94 6a 53 02 00 00 8c | hod.....M2Crypto.EVP.PKey.jS.... |
11760 | 05 63 6c 61 73 73 94 86 94 8c 18 4d 32 43 72 79 70 74 6f 2e 45 56 50 2e 50 4b 65 79 2e 61 73 5f | .class.....M2Crypto.EVP.PKey.as_ |
11780 | 64 65 72 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 18 4d 32 43 72 79 70 74 6f 2e 45 | der.jS.....method.....M2Crypto.E |
117a0 | 56 50 2e 50 4b 65 79 2e 61 73 5f 70 65 6d 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c | VP.PKey.as_pem.jS.....method.... |
117c0 | 1c 4d 32 43 72 79 70 74 6f 2e 45 56 50 2e 50 4b 65 79 2e 61 73 73 69 67 6e 5f 72 73 61 94 6a 53 | .M2Crypto.EVP.PKey.assign_rsa.jS |
117e0 | 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 17 4d 32 43 72 79 70 74 6f 2e 45 56 50 2e 50 4b 65 | .....method.....M2Crypto.EVP.PKe |
11800 | 79 2e 66 69 6e 61 6c 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 1d 4d 32 43 72 79 70 | y.final.jS.....method.....M2Cryp |
11820 | 74 6f 2e 45 56 50 2e 50 4b 65 79 2e 67 65 74 5f 6d 6f 64 75 6c 75 73 94 6a 53 02 00 00 8c 06 6d | to.EVP.PKey.get_modulus.jS.....m |
11840 | 65 74 68 6f 64 94 86 94 8c 19 4d 32 43 72 79 70 74 6f 2e 45 56 50 2e 50 4b 65 79 2e 67 65 74 5f | ethod.....M2Crypto.EVP.PKey.get_ |
11860 | 72 73 61 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 20 4d 32 43 72 79 70 74 6f 2e 45 | rsa.jS.....method.....M2Crypto.E |
11880 | 56 50 2e 50 4b 65 79 2e 6d 32 5f 6d 64 5f 63 74 78 5f 66 72 65 65 94 6a 53 02 00 00 8c 06 6d 65 | VP.PKey.m2_md_ctx_free.jS.....me |
118a0 | 74 68 6f 64 94 86 94 8c 1e 4d 32 43 72 79 70 74 6f 2e 45 56 50 2e 50 4b 65 79 2e 6d 32 5f 70 6b | thod.....M2Crypto.EVP.PKey.m2_pk |
118c0 | 65 79 5f 66 72 65 65 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 1f 4d 32 43 72 79 70 | ey_free.jS.....method.....M2Cryp |
118e0 | 74 6f 2e 45 56 50 2e 50 4b 65 79 2e 72 65 73 65 74 5f 63 6f 6e 74 65 78 74 94 6a 53 02 00 00 8c | to.EVP.PKey.reset_context.jS.... |
11900 | 06 6d 65 74 68 6f 64 94 86 94 8c 1a 4d 32 43 72 79 70 74 6f 2e 45 56 50 2e 50 4b 65 79 2e 73 61 | .method.....M2Crypto.EVP.PKey.sa |
11920 | 76 65 5f 6b 65 79 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 1e 4d 32 43 72 79 70 74 | ve_key.jS.....method.....M2Crypt |
11940 | 6f 2e 45 56 50 2e 50 4b 65 79 2e 73 61 76 65 5f 6b 65 79 5f 62 69 6f 94 6a 53 02 00 00 8c 06 6d | o.EVP.PKey.save_key_bio.jS.....m |
11960 | 65 74 68 6f 64 94 86 94 8c 1c 4d 32 43 72 79 70 74 6f 2e 45 56 50 2e 50 4b 65 79 2e 73 69 67 6e | ethod.....M2Crypto.EVP.PKey.sign |
11980 | 5f 66 69 6e 61 6c 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 1b 4d 32 43 72 79 70 74 | _final.jS.....method.....M2Crypt |
119a0 | 6f 2e 45 56 50 2e 50 4b 65 79 2e 73 69 67 6e 5f 69 6e 69 74 94 6a 53 02 00 00 8c 06 6d 65 74 68 | o.EVP.PKey.sign_init.jS.....meth |
119c0 | 6f 64 94 86 94 8c 1d 4d 32 43 72 79 70 74 6f 2e 45 56 50 2e 50 4b 65 79 2e 73 69 67 6e 5f 75 70 | od.....M2Crypto.EVP.PKey.sign_up |
119e0 | 64 61 74 65 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 16 4d 32 43 72 79 70 74 6f 2e | date.jS.....method.....M2Crypto. |
11a00 | 45 56 50 2e 50 4b 65 79 2e 73 69 7a 65 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 18 | EVP.PKey.size.jS.....method..... |
11a20 | 4d 32 43 72 79 70 74 6f 2e 45 56 50 2e 50 4b 65 79 2e 75 70 64 61 74 65 94 6a 53 02 00 00 8c 06 | M2Crypto.EVP.PKey.update.jS..... |
11a40 | 6d 65 74 68 6f 64 94 86 94 8c 1e 4d 32 43 72 79 70 74 6f 2e 45 56 50 2e 50 4b 65 79 2e 76 65 72 | method.....M2Crypto.EVP.PKey.ver |
11a60 | 69 66 79 5f 66 69 6e 61 6c 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 1d 4d 32 43 72 | ify_final.jS.....method.....M2Cr |
11a80 | 79 70 74 6f 2e 45 56 50 2e 50 4b 65 79 2e 76 65 72 69 66 79 5f 69 6e 69 74 94 6a 53 02 00 00 8c | ypto.EVP.PKey.verify_init.jS.... |
11aa0 | 06 6d 65 74 68 6f 64 94 86 94 8c 1f 4d 32 43 72 79 70 74 6f 2e 45 56 50 2e 50 4b 65 79 2e 76 65 | .method.....M2Crypto.EVP.PKey.ve |
11ac0 | 72 69 66 79 5f 75 70 64 61 74 65 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 11 4d 32 | rify_update.jS.....method.....M2 |
11ae0 | 43 72 79 70 74 6f 2e 45 56 50 2e 68 6d 61 63 94 6a 53 02 00 00 8c 08 66 75 6e 63 74 69 6f 6e 94 | Crypto.EVP.hmac.jS.....function. |
11b00 | 86 94 8c 15 4d 32 43 72 79 70 74 6f 2e 45 56 50 2e 6c 6f 61 64 5f 6b 65 79 94 6a 53 02 00 00 8c | ....M2Crypto.EVP.load_key.jS.... |
11b20 | 08 66 75 6e 63 74 69 6f 6e 94 86 94 8c 19 4d 32 43 72 79 70 74 6f 2e 45 56 50 2e 6c 6f 61 64 5f | .function.....M2Crypto.EVP.load_ |
11b40 | 6b 65 79 5f 62 69 6f 94 6a 53 02 00 00 8c 08 66 75 6e 63 74 69 6f 6e 94 86 94 8c 20 4d 32 43 72 | key_bio.jS.....function.....M2Cr |
11b60 | 79 70 74 6f 2e 45 56 50 2e 6c 6f 61 64 5f 6b 65 79 5f 62 69 6f 5f 70 75 62 6b 65 79 94 6a 53 02 | ypto.EVP.load_key_bio_pubkey.jS. |
11b80 | 00 00 8c 08 66 75 6e 63 74 69 6f 6e 94 86 94 8c 1c 4d 32 43 72 79 70 74 6f 2e 45 56 50 2e 6c 6f | ....function.....M2Crypto.EVP.lo |
11ba0 | 61 64 5f 6b 65 79 5f 73 74 72 69 6e 67 94 6a 53 02 00 00 8c 08 66 75 6e 63 74 69 6f 6e 94 86 94 | ad_key_string.jS.....function... |
11bc0 | 8c 23 4d 32 43 72 79 70 74 6f 2e 45 56 50 2e 6c 6f 61 64 5f 6b 65 79 5f 73 74 72 69 6e 67 5f 70 | .#M2Crypto.EVP.load_key_string_p |
11be0 | 75 62 6b 65 79 94 6a 53 02 00 00 8c 08 66 75 6e 63 74 69 6f 6e 94 86 94 8c 13 4d 32 43 72 79 70 | ubkey.jS.....function.....M2Cryp |
11c00 | 74 6f 2e 45 56 50 2e 70 62 6b 64 66 32 94 6a 53 02 00 00 8c 08 66 75 6e 63 74 69 6f 6e 94 86 94 | to.EVP.pbkdf2.jS.....function... |
11c20 | 8c 0f 4d 32 43 72 79 70 74 6f 2e 45 6e 67 69 6e 65 94 6a 53 02 00 00 6a 41 14 00 00 86 94 8c 16 | ..M2Crypto.Engine.jS...jA....... |
11c40 | 4d 32 43 72 79 70 74 6f 2e 45 6e 67 69 6e 65 2e 45 6e 67 69 6e 65 94 6a 53 02 00 00 8c 05 63 6c | M2Crypto.Engine.Engine.jS.....cl |
11c60 | 61 73 73 94 86 94 8c 26 4d 32 43 72 79 70 74 6f 2e 45 6e 67 69 6e 65 2e 45 6e 67 69 6e 65 2e 63 | ass....&M2Crypto.Engine.Engine.c |
11c80 | 74 72 6c 5f 63 6d 64 5f 73 74 72 69 6e 67 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c | trl_cmd_string.jS.....method.... |
11ca0 | 1d 4d 32 43 72 79 70 74 6f 2e 45 6e 67 69 6e 65 2e 45 6e 67 69 6e 65 2e 66 69 6e 69 73 68 94 6a | .M2Crypto.Engine.Engine.finish.j |
11cc0 | 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 1d 4d 32 43 72 79 70 74 6f 2e 45 6e 67 69 6e 65 | S.....method.....M2Crypto.Engine |
11ce0 | 2e 45 6e 67 69 6e 65 2e 67 65 74 5f 69 64 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c | .Engine.get_id.jS.....method.... |
11d00 | 1f 4d 32 43 72 79 70 74 6f 2e 45 6e 67 69 6e 65 2e 45 6e 67 69 6e 65 2e 67 65 74 5f 6e 61 6d 65 | .M2Crypto.Engine.Engine.get_name |
11d20 | 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 1b 4d 32 43 72 79 70 74 6f 2e 45 6e 67 69 | .jS.....method.....M2Crypto.Engi |
11d40 | 6e 65 2e 45 6e 67 69 6e 65 2e 69 6e 69 74 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c | ne.Engine.init.jS.....method.... |
11d60 | 27 4d 32 43 72 79 70 74 6f 2e 45 6e 67 69 6e 65 2e 45 6e 67 69 6e 65 2e 6c 6f 61 64 5f 63 65 72 | 'M2Crypto.Engine.Engine.load_cer |
11d80 | 74 69 66 69 63 61 74 65 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 27 4d 32 43 72 79 | tificate.jS.....method....'M2Cry |
11da0 | 70 74 6f 2e 45 6e 67 69 6e 65 2e 45 6e 67 69 6e 65 2e 6c 6f 61 64 5f 70 72 69 76 61 74 65 5f 6b | pto.Engine.Engine.load_private_k |
11dc0 | 65 79 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 26 4d 32 43 72 79 70 74 6f 2e 45 6e | ey.jS.....method....&M2Crypto.En |
11de0 | 67 69 6e 65 2e 45 6e 67 69 6e 65 2e 6c 6f 61 64 5f 70 75 62 6c 69 63 5f 6b 65 79 94 6a 53 02 00 | gine.Engine.load_public_key.jS.. |
11e00 | 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 25 4d 32 43 72 79 70 74 6f 2e 45 6e 67 69 6e 65 2e 45 6e | ...method....%M2Crypto.Engine.En |
11e20 | 67 69 6e 65 2e 6d 32 5f 65 6e 67 69 6e 65 5f 66 72 65 65 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f | gine.m2_engine_free.jS.....metho |
11e40 | 64 94 86 94 8c 22 4d 32 43 72 79 70 74 6f 2e 45 6e 67 69 6e 65 2e 45 6e 67 69 6e 65 2e 73 65 74 | d...."M2Crypto.Engine.Engine.set |
11e60 | 5f 64 65 66 61 75 6c 74 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 1b 4d 32 43 72 79 | _default.jS.....method.....M2Cry |
11e80 | 70 74 6f 2e 45 6e 67 69 6e 65 2e 45 6e 67 69 6e 65 45 72 72 6f 72 94 6a 53 02 00 00 8c 09 65 78 | pto.Engine.EngineError.jS.....ex |
11ea0 | 63 65 70 74 69 6f 6e 94 86 94 8c 17 4d 32 43 72 79 70 74 6f 2e 45 6e 67 69 6e 65 2e 63 6c 65 61 | ception.....M2Crypto.Engine.clea |
11ec0 | 6e 75 70 94 6a 53 02 00 00 8c 08 66 75 6e 63 74 69 6f 6e 94 86 94 8c 1c 4d 32 43 72 79 70 74 6f | nup.jS.....function.....M2Crypto |
11ee0 | 2e 45 6e 67 69 6e 65 2e 6c 6f 61 64 5f 64 79 6e 61 6d 69 63 94 6a 53 02 00 00 8c 08 66 75 6e 63 | .Engine.load_dynamic.jS.....func |
11f00 | 74 69 6f 6e 94 86 94 8c 23 4d 32 43 72 79 70 74 6f 2e 45 6e 67 69 6e 65 2e 6c 6f 61 64 5f 64 79 | tion....#M2Crypto.Engine.load_dy |
11f20 | 6e 61 6d 69 63 5f 65 6e 67 69 6e 65 94 6a 53 02 00 00 8c 08 66 75 6e 63 74 69 6f 6e 94 86 94 8c | namic_engine.jS.....function.... |
11f40 | 1c 4d 32 43 72 79 70 74 6f 2e 45 6e 67 69 6e 65 2e 6c 6f 61 64 5f 6f 70 65 6e 73 73 6c 94 6a 53 | .M2Crypto.Engine.load_openssl.jS |
11f60 | 02 00 00 8c 08 66 75 6e 63 74 69 6f 6e 94 86 94 8c 0c 4d 32 43 72 79 70 74 6f 2e 45 72 72 94 6a | .....function.....M2Crypto.Err.j |
11f80 | 53 02 00 00 6a 41 14 00 00 86 94 8c 1a 4d 32 43 72 79 70 74 6f 2e 45 72 72 2e 4d 32 43 72 79 70 | S...jA.......M2Crypto.Err.M2Cryp |
11fa0 | 74 6f 45 72 72 6f 72 94 6a 53 02 00 00 8c 09 65 78 63 65 70 74 69 6f 6e 94 86 94 8c 15 4d 32 43 | toError.jS.....exception.....M2C |
11fc0 | 72 79 70 74 6f 2e 45 72 72 2e 53 53 4c 45 72 72 6f 72 94 6a 53 02 00 00 8c 09 65 78 63 65 70 74 | rypto.Err.SSLError.jS.....except |
11fe0 | 69 6f 6e 94 86 94 8c 16 4d 32 43 72 79 70 74 6f 2e 45 72 72 2e 67 65 74 5f 65 72 72 6f 72 94 6a | ion.....M2Crypto.Err.get_error.j |
12000 | 53 02 00 00 8c 08 66 75 6e 63 74 69 6f 6e 94 86 94 8c 1b 4d 32 43 72 79 70 74 6f 2e 45 72 72 2e | S.....function.....M2Crypto.Err. |
12020 | 67 65 74 5f 65 72 72 6f 72 5f 63 6f 64 65 94 6a 53 02 00 00 8c 08 66 75 6e 63 74 69 6f 6e 94 86 | get_error_code.jS.....function.. |
12040 | 94 8c 1b 4d 32 43 72 79 70 74 6f 2e 45 72 72 2e 67 65 74 5f 65 72 72 6f 72 5f 66 75 6e 63 94 6a | ...M2Crypto.Err.get_error_func.j |
12060 | 53 02 00 00 8c 08 66 75 6e 63 74 69 6f 6e 94 86 94 8c 1a 4d 32 43 72 79 70 74 6f 2e 45 72 72 2e | S.....function.....M2Crypto.Err. |
12080 | 67 65 74 5f 65 72 72 6f 72 5f 6c 69 62 94 6a 53 02 00 00 8c 08 66 75 6e 63 74 69 6f 6e 94 86 94 | get_error_lib.jS.....function... |
120a0 | 8c 1e 4d 32 43 72 79 70 74 6f 2e 45 72 72 2e 67 65 74 5f 65 72 72 6f 72 5f 6d 65 73 73 61 67 65 | ..M2Crypto.Err.get_error_message |
120c0 | 94 6a 53 02 00 00 8c 08 66 75 6e 63 74 69 6f 6e 94 86 94 8c 1d 4d 32 43 72 79 70 74 6f 2e 45 72 | .jS.....function.....M2Crypto.Er |
120e0 | 72 2e 67 65 74 5f 65 72 72 6f 72 5f 72 65 61 73 6f 6e 94 6a 53 02 00 00 8c 08 66 75 6e 63 74 69 | r.get_error_reason.jS.....functi |
12100 | 6f 6e 94 86 94 8c 22 4d 32 43 72 79 70 74 6f 2e 45 72 72 2e 67 65 74 5f 78 35 30 39 5f 76 65 72 | on...."M2Crypto.Err.get_x509_ver |
12120 | 69 66 79 5f 65 72 72 6f 72 94 6a 53 02 00 00 8c 08 66 75 6e 63 74 69 6f 6e 94 86 94 8c 1c 4d 32 | ify_error.jS.....function.....M2 |
12140 | 43 72 79 70 74 6f 2e 45 72 72 2e 70 65 65 6b 5f 65 72 72 6f 72 5f 63 6f 64 65 94 6a 53 02 00 00 | Crypto.Err.peek_error_code.jS... |
12160 | 8c 08 66 75 6e 63 74 69 6f 6e 94 86 94 8c 0c 4d 32 43 72 79 70 74 6f 2e 52 43 34 94 6a 53 02 00 | ..function.....M2Crypto.RC4.jS.. |
12180 | 00 6a 41 14 00 00 86 94 8c 10 4d 32 43 72 79 70 74 6f 2e 52 43 34 2e 52 43 34 94 6a 53 02 00 00 | .jA.......M2Crypto.RC4.RC4.jS... |
121a0 | 8c 05 63 6c 61 73 73 94 86 94 8c 16 4d 32 43 72 79 70 74 6f 2e 52 43 34 2e 52 43 34 2e 66 69 6e | ..class.....M2Crypto.RC4.RC4.fin |
121c0 | 61 6c 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 19 4d 32 43 72 79 70 74 6f 2e 52 43 | al.jS.....method.....M2Crypto.RC |
121e0 | 34 2e 52 43 34 2e 72 63 34 5f 66 72 65 65 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c | 4.RC4.rc4_free.jS.....method.... |
12200 | 18 4d 32 43 72 79 70 74 6f 2e 52 43 34 2e 52 43 34 2e 73 65 74 5f 6b 65 79 94 6a 53 02 00 00 8c | .M2Crypto.RC4.RC4.set_key.jS.... |
12220 | 06 6d 65 74 68 6f 64 94 86 94 8c 17 4d 32 43 72 79 70 74 6f 2e 52 43 34 2e 52 43 34 2e 75 70 64 | .method.....M2Crypto.RC4.RC4.upd |
12240 | 61 74 65 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 0c 4d 32 43 72 79 70 74 6f 2e 52 | ate.jS.....method.....M2Crypto.R |
12260 | 53 41 94 6a 53 02 00 00 6a 41 14 00 00 86 94 8c 10 4d 32 43 72 79 70 74 6f 2e 52 53 41 2e 52 53 | SA.jS...jA.......M2Crypto.RSA.RS |
12280 | 41 94 6a 53 02 00 00 8c 05 63 6c 61 73 73 94 86 94 8c 17 4d 32 43 72 79 70 74 6f 2e 52 53 41 2e | A.jS.....class.....M2Crypto.RSA. |
122a0 | 52 53 41 2e 61 73 5f 70 65 6d 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 1a 4d 32 43 | RSA.as_pem.jS.....method.....M2C |
122c0 | 72 79 70 74 6f 2e 52 53 41 2e 52 53 41 2e 63 68 65 63 6b 5f 6b 65 79 94 6a 53 02 00 00 8c 06 6d | rypto.RSA.RSA.check_key.jS.....m |
122e0 | 65 74 68 6f 64 94 86 94 8c 1c 4d 32 43 72 79 70 74 6f 2e 52 53 41 2e 52 53 41 2e 6d 32 5f 72 73 | ethod.....M2Crypto.RSA.RSA.m2_rs |
12300 | 61 5f 66 72 65 65 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 20 4d 32 43 72 79 70 74 | a_free.jS.....method.....M2Crypt |
12320 | 6f 2e 52 53 41 2e 52 53 41 2e 70 72 69 76 61 74 65 5f 64 65 63 72 79 70 74 94 6a 53 02 00 00 8c | o.RSA.RSA.private_decrypt.jS.... |
12340 | 06 6d 65 74 68 6f 64 94 86 94 8c 20 4d 32 43 72 79 70 74 6f 2e 52 53 41 2e 52 53 41 2e 70 72 69 | .method.....M2Crypto.RSA.RSA.pri |
12360 | 76 61 74 65 5f 65 6e 63 72 79 70 74 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 14 4d | vate_encrypt.jS.....method.....M |
12380 | 32 43 72 79 70 74 6f 2e 52 53 41 2e 52 53 41 2e 70 75 62 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f | 2Crypto.RSA.RSA.pub.jS.....metho |
123a0 | 64 94 86 94 8c 1f 4d 32 43 72 79 70 74 6f 2e 52 53 41 2e 52 53 41 2e 70 75 62 6c 69 63 5f 64 65 | d.....M2Crypto.RSA.RSA.public_de |
123c0 | 63 72 79 70 74 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 1f 4d 32 43 72 79 70 74 6f | crypt.jS.....method.....M2Crypto |
123e0 | 2e 52 53 41 2e 52 53 41 2e 70 75 62 6c 69 63 5f 65 6e 63 72 79 70 74 94 6a 53 02 00 00 8c 06 6d | .RSA.RSA.public_encrypt.jS.....m |
12400 | 65 74 68 6f 64 94 86 94 8c 19 4d 32 43 72 79 70 74 6f 2e 52 53 41 2e 52 53 41 2e 73 61 76 65 5f | ethod.....M2Crypto.RSA.RSA.save_ |
12420 | 6b 65 79 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 1d 4d 32 43 72 79 70 74 6f 2e 52 | key.jS.....method.....M2Crypto.R |
12440 | 53 41 2e 52 53 41 2e 73 61 76 65 5f 6b 65 79 5f 62 69 6f 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f | SA.RSA.save_key_bio.jS.....metho |
12460 | 64 94 86 94 8c 1d 4d 32 43 72 79 70 74 6f 2e 52 53 41 2e 52 53 41 2e 73 61 76 65 5f 6b 65 79 5f | d.....M2Crypto.RSA.RSA.save_key_ |
12480 | 64 65 72 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 21 4d 32 43 72 79 70 74 6f 2e 52 | der.jS.....method....!M2Crypto.R |
124a0 | 53 41 2e 52 53 41 2e 73 61 76 65 5f 6b 65 79 5f 64 65 72 5f 62 69 6f 94 6a 53 02 00 00 8c 06 6d | SA.RSA.save_key_der_bio.jS.....m |
124c0 | 65 74 68 6f 64 94 86 94 8c 19 4d 32 43 72 79 70 74 6f 2e 52 53 41 2e 52 53 41 2e 73 61 76 65 5f | ethod.....M2Crypto.RSA.RSA.save_ |
124e0 | 70 65 6d 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 1d 4d 32 43 72 79 70 74 6f 2e 52 | pem.jS.....method.....M2Crypto.R |
12500 | 53 41 2e 52 53 41 2e 73 61 76 65 5f 70 75 62 5f 6b 65 79 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f | SA.RSA.save_pub_key.jS.....metho |
12520 | 64 94 86 94 8c 21 4d 32 43 72 79 70 74 6f 2e 52 53 41 2e 52 53 41 2e 73 61 76 65 5f 70 75 62 5f | d....!M2Crypto.RSA.RSA.save_pub_ |
12540 | 6b 65 79 5f 62 69 6f 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 15 4d 32 43 72 79 70 | key_bio.jS.....method.....M2Cryp |
12560 | 74 6f 2e 52 53 41 2e 52 53 41 2e 73 69 67 6e 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 | to.RSA.RSA.sign.jS.....method... |
12580 | 8c 20 4d 32 43 72 79 70 74 6f 2e 52 53 41 2e 52 53 41 2e 73 69 67 6e 5f 72 73 61 73 73 61 5f 70 | ..M2Crypto.RSA.RSA.sign_rsassa_p |
125a0 | 73 73 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 17 4d 32 43 72 79 70 74 6f 2e 52 53 | ss.jS.....method.....M2Crypto.RS |
125c0 | 41 2e 52 53 41 2e 76 65 72 69 66 79 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 22 4d | A.RSA.verify.jS.....method...."M |
125e0 | 32 43 72 79 70 74 6f 2e 52 53 41 2e 52 53 41 2e 76 65 72 69 66 79 5f 72 73 61 73 73 61 5f 70 73 | 2Crypto.RSA.RSA.verify_rsassa_ps |
12600 | 73 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 15 4d 32 43 72 79 70 74 6f 2e 52 53 41 | s.jS.....method.....M2Crypto.RSA |
12620 | 2e 52 53 41 45 72 72 6f 72 94 6a 53 02 00 00 8c 09 65 78 63 65 70 74 69 6f 6e 94 86 94 8c 14 4d | .RSAError.jS.....exception.....M |
12640 | 32 43 72 79 70 74 6f 2e 52 53 41 2e 52 53 41 5f 70 75 62 94 6a 53 02 00 00 8c 05 63 6c 61 73 73 | 2Crypto.RSA.RSA_pub.jS.....class |
12660 | 94 86 94 8c 1e 4d 32 43 72 79 70 74 6f 2e 52 53 41 2e 52 53 41 5f 70 75 62 2e 63 68 65 63 6b 5f | .....M2Crypto.RSA.RSA_pub.check_ |
12680 | 6b 65 79 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 24 4d 32 43 72 79 70 74 6f 2e 52 | key.jS.....method....$M2Crypto.R |
126a0 | 53 41 2e 52 53 41 5f 70 75 62 2e 70 72 69 76 61 74 65 5f 64 65 63 72 79 70 74 94 6a 53 02 00 00 | SA.RSA_pub.private_decrypt.jS... |
126c0 | 8c 06 6d 65 74 68 6f 64 94 86 94 8c 24 4d 32 43 72 79 70 74 6f 2e 52 53 41 2e 52 53 41 5f 70 75 | ..method....$M2Crypto.RSA.RSA_pu |
126e0 | 62 2e 70 72 69 76 61 74 65 5f 65 6e 63 72 79 70 74 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 | b.private_encrypt.jS.....method. |
12700 | 86 94 8c 1d 4d 32 43 72 79 70 74 6f 2e 52 53 41 2e 52 53 41 5f 70 75 62 2e 73 61 76 65 5f 6b 65 | ....M2Crypto.RSA.RSA_pub.save_ke |
12720 | 79 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 21 4d 32 43 72 79 70 74 6f 2e 52 53 41 | y.jS.....method....!M2Crypto.RSA |
12740 | 2e 52 53 41 5f 70 75 62 2e 73 61 76 65 5f 6b 65 79 5f 62 69 6f 94 6a 53 02 00 00 8c 06 6d 65 74 | .RSA_pub.save_key_bio.jS.....met |
12760 | 68 6f 64 94 86 94 8c 14 4d 32 43 72 79 70 74 6f 2e 52 53 41 2e 67 65 6e 5f 6b 65 79 94 6a 53 02 | hod.....M2Crypto.RSA.gen_key.jS. |
12780 | 00 00 8c 08 66 75 6e 63 74 69 6f 6e 94 86 94 8c 1c 4d 32 43 72 79 70 74 6f 2e 52 53 41 2e 6b 65 | ....function.....M2Crypto.RSA.ke |
127a0 | 79 67 65 6e 5f 63 61 6c 6c 62 61 63 6b 94 6a 53 02 00 00 8c 08 66 75 6e 63 74 69 6f 6e 94 86 94 | ygen_callback.jS.....function... |
127c0 | 8c 15 4d 32 43 72 79 70 74 6f 2e 52 53 41 2e 6c 6f 61 64 5f 6b 65 79 94 6a 53 02 00 00 8c 08 66 | ..M2Crypto.RSA.load_key.jS.....f |
127e0 | 75 6e 63 74 69 6f 6e 94 86 94 8c 19 4d 32 43 72 79 70 74 6f 2e 52 53 41 2e 6c 6f 61 64 5f 6b 65 | unction.....M2Crypto.RSA.load_ke |
12800 | 79 5f 62 69 6f 94 6a 53 02 00 00 8c 08 66 75 6e 63 74 69 6f 6e 94 86 94 8c 1c 4d 32 43 72 79 70 | y_bio.jS.....function.....M2Cryp |
12820 | 74 6f 2e 52 53 41 2e 6c 6f 61 64 5f 6b 65 79 5f 73 74 72 69 6e 67 94 6a 53 02 00 00 8c 08 66 75 | to.RSA.load_key_string.jS.....fu |
12840 | 6e 63 74 69 6f 6e 94 86 94 8c 19 4d 32 43 72 79 70 74 6f 2e 52 53 41 2e 6c 6f 61 64 5f 70 75 62 | nction.....M2Crypto.RSA.load_pub |
12860 | 5f 6b 65 79 94 6a 53 02 00 00 8c 08 66 75 6e 63 74 69 6f 6e 94 86 94 8c 1d 4d 32 43 72 79 70 74 | _key.jS.....function.....M2Crypt |
12880 | 6f 2e 52 53 41 2e 6c 6f 61 64 5f 70 75 62 5f 6b 65 79 5f 62 69 6f 94 6a 53 02 00 00 8c 08 66 75 | o.RSA.load_pub_key_bio.jS.....fu |
128a0 | 6e 63 74 69 6f 6e 94 86 94 8c 18 4d 32 43 72 79 70 74 6f 2e 52 53 41 2e 6e 65 77 5f 70 75 62 5f | nction.....M2Crypto.RSA.new_pub_ |
128c0 | 6b 65 79 94 6a 53 02 00 00 8c 08 66 75 6e 63 74 69 6f 6e 94 86 94 8c 16 4d 32 43 72 79 70 74 6f | key.jS.....function.....M2Crypto |
128e0 | 2e 52 53 41 2e 72 73 61 5f 65 72 72 6f 72 94 6a 53 02 00 00 8c 08 66 75 6e 63 74 69 6f 6e 94 86 | .RSA.rsa_error.jS.....function.. |
12900 | 94 8c 0d 4d 32 43 72 79 70 74 6f 2e 52 61 6e 64 94 6a 53 02 00 00 6a 41 14 00 00 86 94 8c 17 4d | ...M2Crypto.Rand.jS...jA.......M |
12920 | 32 43 72 79 70 74 6f 2e 52 61 6e 64 2e 72 61 6e 64 5f 73 65 65 64 94 6a 53 02 00 00 8c 08 66 75 | 2Crypto.Rand.rand_seed.jS.....fu |
12940 | 6e 63 74 69 6f 6e 94 86 94 8c 16 4d 32 43 72 79 70 74 6f 2e 52 61 6e 64 2e 72 61 6e 64 5f 61 64 | nction.....M2Crypto.Rand.rand_ad |
12960 | 64 94 6a 53 02 00 00 8c 08 66 75 6e 63 74 69 6f 6e 94 86 94 8c 17 4d 32 43 72 79 70 74 6f 2e 52 | d.jS.....function.....M2Crypto.R |
12980 | 61 6e 64 2e 6c 6f 61 64 5f 66 69 6c 65 94 6a 53 02 00 00 8c 08 66 75 6e 63 74 69 6f 6e 94 86 94 | and.load_file.jS.....function... |
129a0 | 8c 17 4d 32 43 72 79 70 74 6f 2e 52 61 6e 64 2e 73 61 76 65 5f 66 69 6c 65 94 6a 53 02 00 00 8c | ..M2Crypto.Rand.save_file.jS.... |
129c0 | 08 66 75 6e 63 74 69 6f 6e 94 86 94 8c 18 4d 32 43 72 79 70 74 6f 2e 52 61 6e 64 2e 72 61 6e 64 | .function.....M2Crypto.Rand.rand |
129e0 | 5f 62 79 74 65 73 94 6a 53 02 00 00 8c 08 66 75 6e 63 74 69 6f 6e 94 86 94 8c 1f 4d 32 43 72 79 | _bytes.jS.....function.....M2Cry |
12a00 | 70 74 6f 2e 52 61 6e 64 2e 72 61 6e 64 5f 70 73 65 75 64 6f 5f 62 79 74 65 73 94 6a 53 02 00 00 | pto.Rand.rand_pseudo_bytes.jS... |
12a20 | 8c 08 66 75 6e 63 74 69 6f 6e 94 86 94 8c 1c 4d 32 43 72 79 70 74 6f 2e 52 61 6e 64 2e 72 61 6e | ..function.....M2Crypto.Rand.ran |
12a40 | 64 5f 66 69 6c 65 5f 6e 61 6d 65 94 6a 53 02 00 00 8c 08 66 75 6e 63 74 69 6f 6e 94 86 94 8c 19 | d_file_name.jS.....function..... |
12a60 | 4d 32 43 72 79 70 74 6f 2e 52 61 6e 64 2e 72 61 6e 64 5f 73 74 61 74 75 73 94 6a 53 02 00 00 8c | M2Crypto.Rand.rand_status.jS.... |
12a80 | 08 66 75 6e 63 74 69 6f 6e 94 86 94 8c 0e 4d 32 43 72 79 70 74 6f 2e 53 4d 49 4d 45 94 6a 53 02 | .function.....M2Crypto.SMIME.jS. |
12aa0 | 00 00 6a 41 14 00 00 86 94 8c 15 4d 32 43 72 79 70 74 6f 2e 53 4d 49 4d 45 2e 43 69 70 68 65 72 | ..jA.......M2Crypto.SMIME.Cipher |
12ac0 | 94 6a 53 02 00 00 8c 05 63 6c 61 73 73 94 86 94 8c 14 4d 32 43 72 79 70 74 6f 2e 53 4d 49 4d 45 | .jS.....class.....M2Crypto.SMIME |
12ae0 | 2e 50 4b 43 53 37 94 6a 53 02 00 00 8c 05 63 6c 61 73 73 94 86 94 8c 21 4d 32 43 72 79 70 74 6f | .PKCS7.jS.....class....!M2Crypto |
12b00 | 2e 53 4d 49 4d 45 2e 50 4b 43 53 37 2e 67 65 74 30 5f 73 69 67 6e 65 72 73 94 6a 53 02 00 00 8c | .SMIME.PKCS7.get0_signers.jS.... |
12b20 | 06 6d 65 74 68 6f 64 94 86 94 8c 22 4d 32 43 72 79 70 74 6f 2e 53 4d 49 4d 45 2e 50 4b 43 53 37 | .method...."M2Crypto.SMIME.PKCS7 |
12b40 | 2e 6d 32 5f 70 6b 63 73 37 5f 66 72 65 65 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c | .m2_pkcs7_free.jS.....method.... |
12b60 | 19 4d 32 43 72 79 70 74 6f 2e 53 4d 49 4d 45 2e 50 4b 43 53 37 2e 74 79 70 65 94 6a 53 02 00 00 | .M2Crypto.SMIME.PKCS7.type.jS... |
12b80 | 8c 06 6d 65 74 68 6f 64 94 86 94 8c 1a 4d 32 43 72 79 70 74 6f 2e 53 4d 49 4d 45 2e 50 4b 43 53 | ..method.....M2Crypto.SMIME.PKCS |
12ba0 | 37 2e 77 72 69 74 65 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 1e 4d 32 43 72 79 70 | 7.write.jS.....method.....M2Cryp |
12bc0 | 74 6f 2e 53 4d 49 4d 45 2e 50 4b 43 53 37 2e 77 72 69 74 65 5f 64 65 72 94 6a 53 02 00 00 8c 06 | to.SMIME.PKCS7.write_der.jS..... |
12be0 | 6d 65 74 68 6f 64 94 86 94 8c 1a 4d 32 43 72 79 70 74 6f 2e 53 4d 49 4d 45 2e 50 4b 43 53 37 5f | method.....M2Crypto.SMIME.PKCS7_ |
12c00 | 45 72 72 6f 72 94 6a 53 02 00 00 8c 09 65 78 63 65 70 74 69 6f 6e 94 86 94 8c 14 4d 32 43 72 79 | Error.jS.....exception.....M2Cry |
12c20 | 70 74 6f 2e 53 4d 49 4d 45 2e 53 4d 49 4d 45 94 6a 53 02 00 00 8c 05 63 6c 61 73 73 94 86 94 8c | pto.SMIME.SMIME.jS.....class.... |
12c40 | 1c 4d 32 43 72 79 70 74 6f 2e 53 4d 49 4d 45 2e 53 4d 49 4d 45 2e 64 65 63 72 79 70 74 94 6a 53 | .M2Crypto.SMIME.SMIME.decrypt.jS |
12c60 | 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 1c 4d 32 43 72 79 70 74 6f 2e 53 4d 49 4d 45 2e 53 | .....method.....M2Crypto.SMIME.S |
12c80 | 4d 49 4d 45 2e 65 6e 63 72 79 70 74 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 1d 4d | MIME.encrypt.jS.....method.....M |
12ca0 | 32 43 72 79 70 74 6f 2e 53 4d 49 4d 45 2e 53 4d 49 4d 45 2e 6c 6f 61 64 5f 6b 65 79 94 6a 53 02 | 2Crypto.SMIME.SMIME.load_key.jS. |
12cc0 | 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 21 4d 32 43 72 79 70 74 6f 2e 53 4d 49 4d 45 2e 53 4d | ....method....!M2Crypto.SMIME.SM |
12ce0 | 49 4d 45 2e 6c 6f 61 64 5f 6b 65 79 5f 62 69 6f 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 | IME.load_key_bio.jS.....method.. |
12d00 | 94 8c 1f 4d 32 43 72 79 70 74 6f 2e 53 4d 49 4d 45 2e 53 4d 49 4d 45 2e 73 65 74 5f 63 69 70 68 | ...M2Crypto.SMIME.SMIME.set_ciph |
12d20 | 65 72 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 23 4d 32 43 72 79 70 74 6f 2e 53 4d | er.jS.....method....#M2Crypto.SM |
12d40 | 49 4d 45 2e 53 4d 49 4d 45 2e 73 65 74 5f 78 35 30 39 5f 73 74 61 63 6b 94 6a 53 02 00 00 8c 06 | IME.SMIME.set_x509_stack.jS..... |
12d60 | 6d 65 74 68 6f 64 94 86 94 8c 23 4d 32 43 72 79 70 74 6f 2e 53 4d 49 4d 45 2e 53 4d 49 4d 45 2e | method....#M2Crypto.SMIME.SMIME. |
12d80 | 73 65 74 5f 78 35 30 39 5f 73 74 6f 72 65 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c | set_x509_store.jS.....method.... |
12da0 | 19 4d 32 43 72 79 70 74 6f 2e 53 4d 49 4d 45 2e 53 4d 49 4d 45 2e 73 69 67 6e 94 6a 53 02 00 00 | .M2Crypto.SMIME.SMIME.sign.jS... |
12dc0 | 8c 06 6d 65 74 68 6f 64 94 86 94 8c 21 4d 32 43 72 79 70 74 6f 2e 53 4d 49 4d 45 2e 53 4d 49 4d | ..method....!M2Crypto.SMIME.SMIM |
12de0 | 45 2e 75 6e 73 65 74 5f 63 69 70 68 65 72 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c | E.unset_cipher.jS.....method.... |
12e00 | 1e 4d 32 43 72 79 70 74 6f 2e 53 4d 49 4d 45 2e 53 4d 49 4d 45 2e 75 6e 73 65 74 5f 6b 65 79 94 | .M2Crypto.SMIME.SMIME.unset_key. |
12e20 | 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 25 4d 32 43 72 79 70 74 6f 2e 53 4d 49 4d 45 | jS.....method....%M2Crypto.SMIME |
12e40 | 2e 53 4d 49 4d 45 2e 75 6e 73 65 74 5f 78 35 30 39 5f 73 74 61 63 6b 94 6a 53 02 00 00 8c 06 6d | .SMIME.unset_x509_stack.jS.....m |
12e60 | 65 74 68 6f 64 94 86 94 8c 25 4d 32 43 72 79 70 74 6f 2e 53 4d 49 4d 45 2e 53 4d 49 4d 45 2e 75 | ethod....%M2Crypto.SMIME.SMIME.u |
12e80 | 6e 73 65 74 5f 78 35 30 39 5f 73 74 6f 72 65 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 | nset_x509_store.jS.....method... |
12ea0 | 8c 1b 4d 32 43 72 79 70 74 6f 2e 53 4d 49 4d 45 2e 53 4d 49 4d 45 2e 76 65 72 69 66 79 94 6a 53 | ..M2Crypto.SMIME.SMIME.verify.jS |
12ec0 | 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 1a 4d 32 43 72 79 70 74 6f 2e 53 4d 49 4d 45 2e 53 | .....method.....M2Crypto.SMIME.S |
12ee0 | 4d 49 4d 45 2e 77 72 69 74 65 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 1a 4d 32 43 | MIME.write.jS.....method.....M2C |
12f00 | 72 79 70 74 6f 2e 53 4d 49 4d 45 2e 53 4d 49 4d 45 5f 45 72 72 6f 72 94 6a 53 02 00 00 8c 09 65 | rypto.SMIME.SMIME_Error.jS.....e |
12f20 | 78 63 65 70 74 69 6f 6e 94 86 94 8c 19 4d 32 43 72 79 70 74 6f 2e 53 4d 49 4d 45 2e 6c 6f 61 64 | xception.....M2Crypto.SMIME.load |
12f40 | 5f 70 6b 63 73 37 94 6a 53 02 00 00 8c 08 66 75 6e 63 74 69 6f 6e 94 86 94 8c 1d 4d 32 43 72 79 | _pkcs7.jS.....function.....M2Cry |
12f60 | 70 74 6f 2e 53 4d 49 4d 45 2e 6c 6f 61 64 5f 70 6b 63 73 37 5f 62 69 6f 94 6a 53 02 00 00 8c 08 | pto.SMIME.load_pkcs7_bio.jS..... |
12f80 | 66 75 6e 63 74 69 6f 6e 94 86 94 8c 21 4d 32 43 72 79 70 74 6f 2e 53 4d 49 4d 45 2e 6c 6f 61 64 | function....!M2Crypto.SMIME.load |
12fa0 | 5f 70 6b 63 73 37 5f 62 69 6f 5f 64 65 72 94 6a 53 02 00 00 8c 08 66 75 6e 63 74 69 6f 6e 94 86 | _pkcs7_bio_der.jS.....function.. |
12fc0 | 94 8c 1d 4d 32 43 72 79 70 74 6f 2e 53 4d 49 4d 45 2e 6c 6f 61 64 5f 70 6b 63 73 37 5f 64 65 72 | ...M2Crypto.SMIME.load_pkcs7_der |
12fe0 | 94 6a 53 02 00 00 8c 08 66 75 6e 63 74 69 6f 6e 94 86 94 8c 1f 4d 32 43 72 79 70 74 6f 2e 53 4d | .jS.....function.....M2Crypto.SM |
13000 | 49 4d 45 2e 73 6d 69 6d 65 5f 6c 6f 61 64 5f 70 6b 63 73 37 94 6a 53 02 00 00 8c 08 66 75 6e 63 | IME.smime_load_pkcs7.jS.....func |
13020 | 74 69 6f 6e 94 86 94 8c 23 4d 32 43 72 79 70 74 6f 2e 53 4d 49 4d 45 2e 73 6d 69 6d 65 5f 6c 6f | tion....#M2Crypto.SMIME.smime_lo |
13040 | 61 64 5f 70 6b 63 73 37 5f 62 69 6f 94 6a 53 02 00 00 8c 08 66 75 6e 63 74 69 6f 6e 94 86 94 8c | ad_pkcs7_bio.jS.....function.... |
13060 | 18 4d 32 43 72 79 70 74 6f 2e 53 4d 49 4d 45 2e 74 65 78 74 5f 63 72 6c 66 94 6a 53 02 00 00 8c | .M2Crypto.SMIME.text_crlf.jS.... |
13080 | 08 66 75 6e 63 74 69 6f 6e 94 86 94 8c 1c 4d 32 43 72 79 70 74 6f 2e 53 4d 49 4d 45 2e 74 65 78 | .function.....M2Crypto.SMIME.tex |
130a0 | 74 5f 63 72 6c 66 5f 62 69 6f 94 6a 53 02 00 00 8c 08 66 75 6e 63 74 69 6f 6e 94 86 94 8c 0d 4d | t_crlf_bio.jS.....function.....M |
130c0 | 32 43 72 79 70 74 6f 2e 58 35 30 39 94 6a 53 02 00 00 6a 41 14 00 00 86 94 8c 11 4d 32 43 72 79 | 2Crypto.X509.jS...jA.......M2Cry |
130e0 | 70 74 6f 2e 58 35 30 39 2e 43 52 4c 94 6a 53 02 00 00 8c 05 63 6c 61 73 73 94 86 94 8c 19 4d 32 | pto.X509.CRL.jS.....class.....M2 |
13100 | 43 72 79 70 74 6f 2e 58 35 30 39 2e 43 52 4c 2e 61 73 5f 74 65 78 74 94 6a 53 02 00 00 8c 06 6d | Crypto.X509.CRL.as_text.jS.....m |
13120 | 65 74 68 6f 64 94 86 94 8c 22 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 43 52 4c 2e 6d 32 5f 78 | ethod...."M2Crypto.X509.CRL.m2_x |
13140 | 35 30 39 5f 63 72 6c 5f 66 72 65 65 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 15 4d | 509_crl_free.jS.....method.....M |
13160 | 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 52 65 71 75 65 73 74 94 6a 53 02 00 00 8c 05 63 6c 61 73 | 2Crypto.X509.Request.jS.....clas |
13180 | 73 94 86 94 8c 24 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 52 65 71 75 65 73 74 2e 61 64 64 5f | s....$M2Crypto.X509.Request.add_ |
131a0 | 65 78 74 65 6e 73 69 6f 6e 73 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 1c 4d 32 43 | extensions.jS.....method.....M2C |
131c0 | 72 79 70 74 6f 2e 58 35 30 39 2e 52 65 71 75 65 73 74 2e 61 73 5f 64 65 72 94 6a 53 02 00 00 8c | rypto.X509.Request.as_der.jS.... |
131e0 | 06 6d 65 74 68 6f 64 94 86 94 8c 1c 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 52 65 71 75 65 73 | .method.....M2Crypto.X509.Reques |
13200 | 74 2e 61 73 5f 70 65 6d 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 1d 4d 32 43 72 79 | t.as_pem.jS.....method.....M2Cry |
13220 | 70 74 6f 2e 58 35 30 39 2e 52 65 71 75 65 73 74 2e 61 73 5f 74 65 78 74 94 6a 53 02 00 00 8c 06 | pto.X509.Request.as_text.jS..... |
13240 | 6d 65 74 68 6f 64 94 86 94 8c 20 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 52 65 71 75 65 73 74 | method.....M2Crypto.X509.Request |
13260 | 2e 67 65 74 5f 70 75 62 6b 65 79 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 21 4d 32 | .get_pubkey.jS.....method....!M2 |
13280 | 43 72 79 70 74 6f 2e 58 35 30 39 2e 52 65 71 75 65 73 74 2e 67 65 74 5f 73 75 62 6a 65 63 74 94 | Crypto.X509.Request.get_subject. |
132a0 | 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 21 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e | jS.....method....!M2Crypto.X509. |
132c0 | 52 65 71 75 65 73 74 2e 67 65 74 5f 76 65 72 73 69 6f 6e 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f | Request.get_version.jS.....metho |
132e0 | 64 94 86 94 8c 26 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 52 65 71 75 65 73 74 2e 6d 32 5f 78 | d....&M2Crypto.X509.Request.m2_x |
13300 | 35 30 39 5f 72 65 71 5f 66 72 65 65 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 1a 4d | 509_req_free.jS.....method.....M |
13320 | 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 52 65 71 75 65 73 74 2e 73 61 76 65 94 6a 53 02 00 00 8c | 2Crypto.X509.Request.save.jS.... |
13340 | 06 6d 65 74 68 6f 64 94 86 94 8c 1e 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 52 65 71 75 65 73 | .method.....M2Crypto.X509.Reques |
13360 | 74 2e 73 61 76 65 5f 70 65 6d 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 20 4d 32 43 | t.save_pem.jS.....method.....M2C |
13380 | 72 79 70 74 6f 2e 58 35 30 39 2e 52 65 71 75 65 73 74 2e 73 65 74 5f 70 75 62 6b 65 79 94 6a 53 | rypto.X509.Request.set_pubkey.jS |
133a0 | 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 21 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 52 65 | .....method....!M2Crypto.X509.Re |
133c0 | 71 75 65 73 74 2e 73 65 74 5f 73 75 62 6a 65 63 74 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 | quest.set_subject.jS.....method. |
133e0 | 86 94 8c 26 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 52 65 71 75 65 73 74 2e 73 65 74 5f 73 75 | ...&M2Crypto.X509.Request.set_su |
13400 | 62 6a 65 63 74 5f 6e 61 6d 65 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 21 4d 32 43 | bject_name.jS.....method....!M2C |
13420 | 72 79 70 74 6f 2e 58 35 30 39 2e 52 65 71 75 65 73 74 2e 73 65 74 5f 76 65 72 73 69 6f 6e 94 6a | rypto.X509.Request.set_version.j |
13440 | 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 1a 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 52 | S.....method.....M2Crypto.X509.R |
13460 | 65 71 75 65 73 74 2e 73 69 67 6e 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 1c 4d 32 | equest.sign.jS.....method.....M2 |
13480 | 43 72 79 70 74 6f 2e 58 35 30 39 2e 52 65 71 75 65 73 74 2e 76 65 72 69 66 79 94 6a 53 02 00 00 | Crypto.X509.Request.verify.jS... |
134a0 | 8c 06 6d 65 74 68 6f 64 94 86 94 8c 12 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 94 | ..method.....M2Crypto.X509.X509. |
134c0 | 6a 53 02 00 00 8c 05 63 6c 61 73 73 94 86 94 8c 1a 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 | jS.....class.....M2Crypto.X509.X |
134e0 | 35 30 39 2e 61 64 64 5f 65 78 74 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 19 4d 32 | 509.add_ext.jS.....method.....M2 |
13500 | 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 2e 61 73 5f 64 65 72 94 6a 53 02 00 00 8c 06 6d | Crypto.X509.X509.as_der.jS.....m |
13520 | 65 74 68 6f 64 94 86 94 8c 19 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 2e 61 73 5f | ethod.....M2Crypto.X509.X509.as_ |
13540 | 70 65 6d 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 1a 4d 32 43 72 79 70 74 6f 2e 58 | pem.jS.....method.....M2Crypto.X |
13560 | 35 30 39 2e 58 35 30 39 2e 61 73 5f 74 65 78 74 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 | 509.X509.as_text.jS.....method.. |
13580 | 94 8c 1b 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 2e 63 68 65 63 6b 5f 63 61 94 6a | ...M2Crypto.X509.X509.check_ca.j |
135a0 | 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 20 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 | S.....method.....M2Crypto.X509.X |
135c0 | 35 30 39 2e 63 68 65 63 6b 5f 70 75 72 70 6f 73 65 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 | 509.check_purpose.jS.....method. |
135e0 | 86 94 8c 1a 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 2e 67 65 74 5f 65 78 74 94 6a | ....M2Crypto.X509.X509.get_ext.j |
13600 | 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 1d 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 | S.....method.....M2Crypto.X509.X |
13620 | 35 30 39 2e 67 65 74 5f 65 78 74 5f 61 74 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c | 509.get_ext_at.jS.....method.... |
13640 | 20 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 2e 67 65 74 5f 65 78 74 5f 63 6f 75 6e | .M2Crypto.X509.X509.get_ext_coun |
13660 | 74 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 22 4d 32 43 72 79 70 74 6f 2e 58 35 30 | t.jS.....method...."M2Crypto.X50 |
13680 | 39 2e 58 35 30 39 2e 67 65 74 5f 66 69 6e 67 65 72 70 72 69 6e 74 94 6a 53 02 00 00 8c 06 6d 65 | 9.X509.get_fingerprint.jS.....me |
136a0 | 74 68 6f 64 94 86 94 8c 1d 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 2e 67 65 74 5f | thod.....M2Crypto.X509.X509.get_ |
136c0 | 69 73 73 75 65 72 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 20 4d 32 43 72 79 70 74 | issuer.jS.....method.....M2Crypt |
136e0 | 6f 2e 58 35 30 39 2e 58 35 30 39 2e 67 65 74 5f 6e 6f 74 5f 61 66 74 65 72 94 6a 53 02 00 00 8c | o.X509.X509.get_not_after.jS.... |
13700 | 06 6d 65 74 68 6f 64 94 86 94 8c 21 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 2e 67 | .method....!M2Crypto.X509.X509.g |
13720 | 65 74 5f 6e 6f 74 5f 62 65 66 6f 72 65 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 1d | et_not_before.jS.....method..... |
13740 | 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 2e 67 65 74 5f 70 75 62 6b 65 79 94 6a 53 | M2Crypto.X509.X509.get_pubkey.jS |
13760 | 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 24 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 | .....method....$M2Crypto.X509.X5 |
13780 | 30 39 2e 67 65 74 5f 73 65 72 69 61 6c 5f 6e 75 6d 62 65 72 94 6a 53 02 00 00 8c 06 6d 65 74 68 | 09.get_serial_number.jS.....meth |
137a0 | 6f 64 94 86 94 8c 1e 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 2e 67 65 74 5f 73 75 | od.....M2Crypto.X509.X509.get_su |
137c0 | 62 6a 65 63 74 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 1e 4d 32 43 72 79 70 74 6f | bject.jS.....method.....M2Crypto |
137e0 | 2e 58 35 30 39 2e 58 35 30 39 2e 67 65 74 5f 76 65 72 73 69 6f 6e 94 6a 53 02 00 00 8c 06 6d 65 | .X509.X509.get_version.jS.....me |
13800 | 74 68 6f 64 94 86 94 8c 1f 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 2e 6d 32 5f 78 | thod.....M2Crypto.X509.X509.m2_x |
13820 | 35 30 39 5f 66 72 65 65 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 17 4d 32 43 72 79 | 509_free.jS.....method.....M2Cry |
13840 | 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 2e 73 61 76 65 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 | pto.X509.X509.save.jS.....method |
13860 | 94 86 94 8c 1b 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 2e 73 61 76 65 5f 70 65 6d | .....M2Crypto.X509.X509.save_pem |
13880 | 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 1d 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 | .jS.....method.....M2Crypto.X509 |
138a0 | 2e 58 35 30 39 2e 73 65 74 5f 69 73 73 75 65 72 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 | .X509.set_issuer.jS.....method.. |
138c0 | 94 8c 22 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 2e 73 65 74 5f 69 73 73 75 65 72 | .."M2Crypto.X509.X509.set_issuer |
138e0 | 5f 6e 61 6d 65 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 20 4d 32 43 72 79 70 74 6f | _name.jS.....method.....M2Crypto |
13900 | 2e 58 35 30 39 2e 58 35 30 39 2e 73 65 74 5f 6e 6f 74 5f 61 66 74 65 72 94 6a 53 02 00 00 8c 06 | .X509.X509.set_not_after.jS..... |
13920 | 6d 65 74 68 6f 64 94 86 94 8c 21 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 2e 73 65 | method....!M2Crypto.X509.X509.se |
13940 | 74 5f 6e 6f 74 5f 62 65 66 6f 72 65 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 1d 4d | t_not_before.jS.....method.....M |
13960 | 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 2e 73 65 74 5f 70 75 62 6b 65 79 94 6a 53 02 | 2Crypto.X509.X509.set_pubkey.jS. |
13980 | 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 24 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 | ....method....$M2Crypto.X509.X50 |
139a0 | 39 2e 73 65 74 5f 73 65 72 69 61 6c 5f 6e 75 6d 62 65 72 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f | 9.set_serial_number.jS.....metho |
139c0 | 64 94 86 94 8c 1e 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 2e 73 65 74 5f 73 75 62 | d.....M2Crypto.X509.X509.set_sub |
139e0 | 6a 65 63 74 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 23 4d 32 43 72 79 70 74 6f 2e | ject.jS.....method....#M2Crypto. |
13a00 | 58 35 30 39 2e 58 35 30 39 2e 73 65 74 5f 73 75 62 6a 65 63 74 5f 6e 61 6d 65 94 6a 53 02 00 00 | X509.X509.set_subject_name.jS... |
13a20 | 8c 06 6d 65 74 68 6f 64 94 86 94 8c 1e 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 2e | ..method.....M2Crypto.X509.X509. |
13a40 | 73 65 74 5f 76 65 72 73 69 6f 6e 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 17 4d 32 | set_version.jS.....method.....M2 |
13a60 | 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 2e 73 69 67 6e 94 6a 53 02 00 00 8c 06 6d 65 74 | Crypto.X509.X509.sign.jS.....met |
13a80 | 68 6f 64 94 86 94 8c 19 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 2e 76 65 72 69 66 | hod.....M2Crypto.X509.X509.verif |
13aa0 | 79 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 17 4d 32 43 72 79 70 74 6f 2e 58 35 30 | y.jS.....method.....M2Crypto.X50 |
13ac0 | 39 2e 58 35 30 39 45 72 72 6f 72 94 6a 53 02 00 00 8c 09 65 78 63 65 70 74 69 6f 6e 94 86 94 8c | 9.X509Error.jS.....exception.... |
13ae0 | 1c 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 5f 45 78 74 65 6e 73 69 6f 6e 94 6a 53 | .M2Crypto.X509.X509_Extension.jS |
13b00 | 02 00 00 8c 05 63 6c 61 73 73 94 86 94 8c 29 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 | .....class....)M2Crypto.X509.X50 |
13b20 | 39 5f 45 78 74 65 6e 73 69 6f 6e 2e 67 65 74 5f 63 72 69 74 69 63 61 6c 94 6a 53 02 00 00 8c 06 | 9_Extension.get_critical.jS..... |
13b40 | 6d 65 74 68 6f 64 94 86 94 8c 25 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 5f 45 78 | method....%M2Crypto.X509.X509_Ex |
13b60 | 74 65 6e 73 69 6f 6e 2e 67 65 74 5f 6e 61 6d 65 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 | tension.get_name.jS.....method.. |
13b80 | 94 8c 26 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 5f 45 78 74 65 6e 73 69 6f 6e 2e | ..&M2Crypto.X509.X509_Extension. |
13ba0 | 67 65 74 5f 76 61 6c 75 65 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 33 4d 32 43 72 | get_value.jS.....method....3M2Cr |
13bc0 | 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 5f 45 78 74 65 6e 73 69 6f 6e 2e 6d 32 5f 78 35 30 39 | ypto.X509.X509_Extension.m2_x509 |
13be0 | 5f 65 78 74 65 6e 73 69 6f 6e 5f 66 72 65 65 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 | _extension_free.jS.....method... |
13c00 | 8c 29 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 5f 45 78 74 65 6e 73 69 6f 6e 2e 73 | .)M2Crypto.X509.X509_Extension.s |
13c20 | 65 74 5f 63 72 69 74 69 63 61 6c 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 22 4d 32 | et_critical.jS.....method...."M2 |
13c40 | 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 5f 45 78 74 65 6e 73 69 6f 6e 5f 53 74 61 63 6b | Crypto.X509.X509_Extension_Stack |
13c60 | 94 6a 53 02 00 00 8c 05 63 6c 61 73 73 94 86 94 8c 3c 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e | .jS.....class....<M2Crypto.X509. |
13c80 | 58 35 30 39 5f 45 78 74 65 6e 73 69 6f 6e 5f 53 74 61 63 6b 2e 6d 32 5f 73 6b 5f 78 35 30 39 5f | X509_Extension_Stack.m2_sk_x509_ |
13ca0 | 65 78 74 65 6e 73 69 6f 6e 5f 66 72 65 65 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c | extension_free.jS.....method.... |
13cc0 | 26 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 5f 45 78 74 65 6e 73 69 6f 6e 5f 53 74 | &M2Crypto.X509.X509_Extension_St |
13ce0 | 61 63 6b 2e 70 6f 70 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 27 4d 32 43 72 79 70 | ack.pop.jS.....method....'M2Cryp |
13d00 | 74 6f 2e 58 35 30 39 2e 58 35 30 39 5f 45 78 74 65 6e 73 69 6f 6e 5f 53 74 61 63 6b 2e 70 75 73 | to.X509.X509_Extension_Stack.pus |
13d20 | 68 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 17 4d 32 43 72 79 70 74 6f 2e 58 35 30 | h.jS.....method.....M2Crypto.X50 |
13d40 | 39 2e 58 35 30 39 5f 4e 61 6d 65 94 6a 53 02 00 00 8c 05 63 6c 61 73 73 94 86 94 8c 28 4d 32 43 | 9.X509_Name.jS.....class....(M2C |
13d60 | 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 5f 4e 61 6d 65 2e 61 64 64 5f 65 6e 74 72 79 5f 62 | rypto.X509.X509_Name.add_entry_b |
13d80 | 79 5f 74 78 74 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 1e 4d 32 43 72 79 70 74 6f | y_txt.jS.....method.....M2Crypto |
13da0 | 2e 58 35 30 39 2e 58 35 30 39 5f 4e 61 6d 65 2e 61 73 5f 64 65 72 94 6a 53 02 00 00 8c 06 6d 65 | .X509.X509_Name.as_der.jS.....me |
13dc0 | 74 68 6f 64 94 86 94 8c 1f 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 5f 4e 61 6d 65 | thod.....M2Crypto.X509.X509_Name |
13de0 | 2e 61 73 5f 68 61 73 68 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 1f 4d 32 43 72 79 | .as_hash.jS.....method.....M2Cry |
13e00 | 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 5f 4e 61 6d 65 2e 61 73 5f 74 65 78 74 94 6a 53 02 00 00 | pto.X509.X509_Name.as_text.jS... |
13e20 | 8c 06 6d 65 74 68 6f 64 94 86 94 8c 23 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 5f | ..method....#M2Crypto.X509.X509_ |
13e40 | 4e 61 6d 65 2e 65 6e 74 72 79 5f 63 6f 75 6e 74 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 | Name.entry_count.jS.....method.. |
13e60 | 94 8c 2a 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 5f 4e 61 6d 65 2e 67 65 74 5f 65 | ..*M2Crypto.X509.X509_Name.get_e |
13e80 | 6e 74 72 69 65 73 5f 62 79 5f 6e 69 64 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 29 | ntries_by_nid.jS.....method....) |
13ea0 | 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 5f 4e 61 6d 65 2e 6d 32 5f 78 35 30 39 5f | M2Crypto.X509.X509_Name.m2_x509_ |
13ec0 | 6e 61 6d 65 5f 66 72 65 65 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 1b 4d 32 43 72 | name_free.jS.....method.....M2Cr |
13ee0 | 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 5f 4e 61 6d 65 2e 6e 69 64 94 6a 53 02 00 00 8c 09 61 | ypto.X509.X509_Name.nid.jS.....a |
13f00 | 74 74 72 69 62 75 74 65 94 86 94 8c 1d 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 5f | ttribute.....M2Crypto.X509.X509_ |
13f20 | 4e 61 6d 65 5f 45 6e 74 72 79 94 6a 53 02 00 00 8c 05 63 6c 61 73 73 94 86 94 8c 2b 4d 32 43 72 | Name_Entry.jS.....class....+M2Cr |
13f40 | 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 5f 4e 61 6d 65 5f 45 6e 74 72 79 2e 63 72 65 61 74 65 | ypto.X509.X509_Name_Entry.create |
13f60 | 5f 62 79 5f 74 78 74 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 26 4d 32 43 72 79 70 | _by_txt.jS.....method....&M2Cryp |
13f80 | 74 6f 2e 58 35 30 39 2e 58 35 30 39 5f 4e 61 6d 65 5f 45 6e 74 72 79 2e 67 65 74 5f 64 61 74 61 | to.X509.X509_Name_Entry.get_data |
13fa0 | 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 28 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 | .jS.....method....(M2Crypto.X509 |
13fc0 | 2e 58 35 30 39 5f 4e 61 6d 65 5f 45 6e 74 72 79 2e 67 65 74 5f 6f 62 6a 65 63 74 94 6a 53 02 00 | .X509_Name_Entry.get_object.jS.. |
13fe0 | 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 35 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 | ...method....5M2Crypto.X509.X509 |
14000 | 5f 4e 61 6d 65 5f 45 6e 74 72 79 2e 6d 32 5f 78 35 30 39 5f 6e 61 6d 65 5f 65 6e 74 72 79 5f 66 | _Name_Entry.m2_x509_name_entry_f |
14020 | 72 65 65 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 26 4d 32 43 72 79 70 74 6f 2e 58 | ree.jS.....method....&M2Crypto.X |
14040 | 35 30 39 2e 58 35 30 39 5f 4e 61 6d 65 5f 45 6e 74 72 79 2e 73 65 74 5f 64 61 74 61 94 6a 53 02 | 509.X509_Name_Entry.set_data.jS. |
14060 | 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 28 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 | ....method....(M2Crypto.X509.X50 |
14080 | 39 5f 4e 61 6d 65 5f 45 6e 74 72 79 2e 73 65 74 5f 6f 62 6a 65 63 74 94 6a 53 02 00 00 8c 06 6d | 9_Name_Entry.set_object.jS.....m |
140a0 | 65 74 68 6f 64 94 86 94 8c 18 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 5f 53 74 61 | ethod.....M2Crypto.X509.X509_Sta |
140c0 | 63 6b 94 6a 53 02 00 00 8c 05 63 6c 61 73 73 94 86 94 8c 1f 4d 32 43 72 79 70 74 6f 2e 58 35 30 | ck.jS.....class.....M2Crypto.X50 |
140e0 | 39 2e 58 35 30 39 5f 53 74 61 63 6b 2e 61 73 5f 64 65 72 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f | 9.X509_Stack.as_der.jS.....metho |
14100 | 64 94 86 94 8c 28 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 5f 53 74 61 63 6b 2e 6d | d....(M2Crypto.X509.X509_Stack.m |
14120 | 32 5f 73 6b 5f 78 35 30 39 5f 66 72 65 65 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c | 2_sk_x509_free.jS.....method.... |
14140 | 1c 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 5f 53 74 61 63 6b 2e 70 6f 70 94 6a 53 | .M2Crypto.X509.X509_Stack.pop.jS |
14160 | 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 1d 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 | .....method.....M2Crypto.X509.X5 |
14180 | 30 39 5f 53 74 61 63 6b 2e 70 75 73 68 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 18 | 09_Stack.push.jS.....method..... |
141a0 | 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 5f 53 74 6f 72 65 94 6a 53 02 00 00 8c 05 | M2Crypto.X509.X509_Store.jS..... |
141c0 | 63 6c 61 73 73 94 86 94 8c 21 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 5f 53 74 6f | class....!M2Crypto.X509.X509_Sto |
141e0 | 72 65 2e 61 64 64 5f 63 65 72 74 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 21 4d 32 | re.add_cert.jS.....method....!M2 |
14200 | 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 5f 53 74 6f 72 65 2e 61 64 64 5f 78 35 30 39 94 | Crypto.X509.X509_Store.add_x509. |
14220 | 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 22 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e | jS.....method...."M2Crypto.X509. |
14240 | 58 35 30 39 5f 53 74 6f 72 65 2e 6c 6f 61 64 5f 69 6e 66 6f 94 6a 53 02 00 00 8c 06 6d 65 74 68 | X509_Store.load_info.jS.....meth |
14260 | 6f 64 94 86 94 8c 27 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 5f 53 74 6f 72 65 2e | od....'M2Crypto.X509.X509_Store. |
14280 | 6c 6f 61 64 5f 6c 6f 63 61 74 69 6f 6e 73 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c | load_locations.jS.....method.... |
142a0 | 2b 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 5f 53 74 6f 72 65 2e 6d 32 5f 78 35 30 | +M2Crypto.X509.X509_Store.m2_x50 |
142c0 | 39 5f 73 74 6f 72 65 5f 66 72 65 65 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 26 4d | 9_store_free.jS.....method....&M |
142e0 | 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 5f 53 74 6f 72 65 2e 73 65 74 5f 76 65 72 69 | 2Crypto.X509.X509_Store.set_veri |
14300 | 66 79 5f 63 62 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 20 4d 32 43 72 79 70 74 6f | fy_cb.jS.....method.....M2Crypto |
14320 | 2e 58 35 30 39 2e 58 35 30 39 5f 53 74 6f 72 65 5f 43 6f 6e 74 65 78 74 94 6a 53 02 00 00 8c 05 | .X509.X509_Store_Context.jS..... |
14340 | 63 6c 61 73 73 94 86 94 8c 2b 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 5f 53 74 6f | class....+M2Crypto.X509.X509_Sto |
14360 | 72 65 5f 43 6f 6e 74 65 78 74 2e 67 65 74 31 5f 63 68 61 69 6e 94 6a 53 02 00 00 8c 06 6d 65 74 | re_Context.get1_chain.jS.....met |
14380 | 68 6f 64 94 86 94 8c 31 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 5f 53 74 6f 72 65 | hod....1M2Crypto.X509.X509_Store |
143a0 | 5f 43 6f 6e 74 65 78 74 2e 67 65 74 5f 63 75 72 72 65 6e 74 5f 63 65 72 74 94 6a 53 02 00 00 8c | _Context.get_current_cert.jS.... |
143c0 | 06 6d 65 74 68 6f 64 94 86 94 8c 2a 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 5f 53 | .method....*M2Crypto.X509.X509_S |
143e0 | 74 6f 72 65 5f 43 6f 6e 74 65 78 74 2e 67 65 74 5f 65 72 72 6f 72 94 6a 53 02 00 00 8c 06 6d 65 | tore_Context.get_error.jS.....me |
14400 | 74 68 6f 64 94 86 94 8c 30 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 5f 53 74 6f 72 | thod....0M2Crypto.X509.X509_Stor |
14420 | 65 5f 43 6f 6e 74 65 78 74 2e 67 65 74 5f 65 72 72 6f 72 5f 64 65 70 74 68 94 6a 53 02 00 00 8c | e_Context.get_error_depth.jS.... |
14440 | 06 6d 65 74 68 6f 64 94 86 94 8c 37 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 5f 53 | .method....7M2Crypto.X509.X509_S |
14460 | 74 6f 72 65 5f 43 6f 6e 74 65 78 74 2e 6d 32 5f 78 35 30 39 5f 73 74 6f 72 65 5f 63 74 78 5f 66 | tore_Context.m2_x509_store_ctx_f |
14480 | 72 65 65 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 17 4d 32 43 72 79 70 74 6f 2e 58 | ree.jS.....method.....M2Crypto.X |
144a0 | 35 30 39 2e 6c 6f 61 64 5f 63 65 72 74 94 6a 53 02 00 00 8c 08 66 75 6e 63 74 69 6f 6e 94 86 94 | 509.load_cert.jS.....function... |
144c0 | 8c 1b 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 6c 6f 61 64 5f 63 65 72 74 5f 62 69 6f 94 6a 53 | ..M2Crypto.X509.load_cert_bio.jS |
144e0 | 02 00 00 8c 08 66 75 6e 63 74 69 6f 6e 94 86 94 8c 22 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e | .....function...."M2Crypto.X509. |
14500 | 6c 6f 61 64 5f 63 65 72 74 5f 64 65 72 5f 73 74 72 69 6e 67 94 6a 53 02 00 00 8c 08 66 75 6e 63 | load_cert_der_string.jS.....func |
14520 | 74 69 6f 6e 94 86 94 8c 1e 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 6c 6f 61 64 5f 63 65 72 74 | tion.....M2Crypto.X509.load_cert |
14540 | 5f 73 74 72 69 6e 67 94 6a 53 02 00 00 8c 08 66 75 6e 63 74 69 6f 6e 94 86 94 8c 16 4d 32 43 72 | _string.jS.....function.....M2Cr |
14560 | 79 70 74 6f 2e 58 35 30 39 2e 6c 6f 61 64 5f 63 72 6c 94 6a 53 02 00 00 8c 08 66 75 6e 63 74 69 | ypto.X509.load_crl.jS.....functi |
14580 | 6f 6e 94 86 94 8c 1a 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 6c 6f 61 64 5f 72 65 71 75 65 73 | on.....M2Crypto.X509.load_reques |
145a0 | 74 94 6a 53 02 00 00 8c 08 66 75 6e 63 74 69 6f 6e 94 86 94 8c 1e 4d 32 43 72 79 70 74 6f 2e 58 | t.jS.....function.....M2Crypto.X |
145c0 | 35 30 39 2e 6c 6f 61 64 5f 72 65 71 75 65 73 74 5f 62 69 6f 94 6a 53 02 00 00 8c 08 66 75 6e 63 | 509.load_request_bio.jS.....func |
145e0 | 74 69 6f 6e 94 86 94 8c 25 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 6c 6f 61 64 5f 72 65 71 75 | tion....%M2Crypto.X509.load_requ |
14600 | 65 73 74 5f 64 65 72 5f 73 74 72 69 6e 67 94 6a 53 02 00 00 8c 08 66 75 6e 63 74 69 6f 6e 94 86 | est_der_string.jS.....function.. |
14620 | 94 8c 21 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 6c 6f 61 64 5f 72 65 71 75 65 73 74 5f 73 74 | ..!M2Crypto.X509.load_request_st |
14640 | 72 69 6e 67 94 6a 53 02 00 00 8c 08 66 75 6e 63 74 69 6f 6e 94 86 94 8c 1b 4d 32 43 72 79 70 74 | ring.jS.....function.....M2Crypt |
14660 | 6f 2e 58 35 30 39 2e 6e 65 77 5f 65 78 74 65 6e 73 69 6f 6e 94 6a 53 02 00 00 8c 08 66 75 6e 63 | o.X509.new_extension.jS.....func |
14680 | 74 69 6f 6e 94 86 94 8c 20 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 6e 65 77 5f 73 74 61 63 6b | tion.....M2Crypto.X509.new_stack |
146a0 | 5f 66 72 6f 6d 5f 64 65 72 94 6a 53 02 00 00 8c 08 66 75 6e 63 74 69 6f 6e 94 86 94 8c 23 4d 32 | _from_der.jS.....function....#M2 |
146c0 | 43 72 79 70 74 6f 2e 58 35 30 39 2e 78 35 30 39 5f 73 74 6f 72 65 5f 64 65 66 61 75 6c 74 5f 63 | Crypto.X509.x509_store_default_c |
146e0 | 62 94 6a 53 02 00 00 8c 08 66 75 6e 63 74 69 6f 6e 94 86 94 8c 11 4d 32 43 72 79 70 74 6f 2e 63 | b.jS.....function.....M2Crypto.c |
14700 | 61 6c 6c 62 61 63 6b 94 6a 53 02 00 00 6a 41 14 00 00 86 94 8c 10 4d 32 43 72 79 70 74 6f 2e 66 | allback.jS...jA.......M2Crypto.f |
14720 | 74 70 73 6c 69 62 94 6a 53 02 00 00 6a 41 14 00 00 86 94 8c 18 4d 32 43 72 79 70 74 6f 2e 66 74 | tpslib.jS...jA.......M2Crypto.ft |
14740 | 70 73 6c 69 62 2e 46 54 50 5f 54 4c 53 94 6a 53 02 00 00 8c 05 63 6c 61 73 73 94 86 94 8c 21 4d | pslib.FTP_TLS.jS.....class....!M |
14760 | 32 43 72 79 70 74 6f 2e 66 74 70 73 6c 69 62 2e 46 54 50 5f 54 4c 53 2e 61 75 74 68 5f 73 73 6c | 2Crypto.ftpslib.FTP_TLS.auth_ssl |
14780 | 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 21 4d 32 43 72 79 70 74 6f 2e 66 74 70 73 | .jS.....method....!M2Crypto.ftps |
147a0 | 6c 69 62 2e 46 54 50 5f 54 4c 53 2e 61 75 74 68 5f 74 6c 73 94 6a 53 02 00 00 8c 06 6d 65 74 68 | lib.FTP_TLS.auth_tls.jS.....meth |
147c0 | 6f 64 94 86 94 8c 25 4d 32 43 72 79 70 74 6f 2e 66 74 70 73 6c 69 62 2e 46 54 50 5f 54 4c 53 2e | od....%M2Crypto.ftpslib.FTP_TLS. |
147e0 | 6e 74 72 61 6e 73 66 65 72 63 6d 64 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 1f 4d | ntransfercmd.jS.....method.....M |
14800 | 32 43 72 79 70 74 6f 2e 66 74 70 73 6c 69 62 2e 46 54 50 5f 54 4c 53 2e 70 72 6f 74 5f 63 94 6a | 2Crypto.ftpslib.FTP_TLS.prot_c.j |
14820 | 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 1f 4d 32 43 72 79 70 74 6f 2e 66 74 70 73 6c 69 | S.....method.....M2Crypto.ftpsli |
14840 | 62 2e 46 54 50 5f 54 4c 53 2e 70 72 6f 74 5f 70 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 | b.FTP_TLS.prot_p.jS.....method.. |
14860 | 94 8c 11 4d 32 43 72 79 70 74 6f 2e 68 74 74 70 73 6c 69 62 94 6a 53 02 00 00 6a 41 14 00 00 86 | ...M2Crypto.httpslib.jS...jA.... |
14880 | 94 8c 21 4d 32 43 72 79 70 74 6f 2e 68 74 74 70 73 6c 69 62 2e 48 54 54 50 53 43 6f 6e 6e 65 63 | ..!M2Crypto.httpslib.HTTPSConnec |
148a0 | 74 69 6f 6e 94 6a 53 02 00 00 8c 05 63 6c 61 73 73 94 86 94 8c 27 4d 32 43 72 79 70 74 6f 2e 68 | tion.jS.....class....'M2Crypto.h |
148c0 | 74 74 70 73 6c 69 62 2e 48 54 54 50 53 43 6f 6e 6e 65 63 74 69 6f 6e 2e 63 6c 6f 73 65 94 6a 53 | ttpslib.HTTPSConnection.close.jS |
148e0 | 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 29 4d 32 43 72 79 70 74 6f 2e 68 74 74 70 73 6c 69 | .....method....)M2Crypto.httpsli |
14900 | 62 2e 48 54 54 50 53 43 6f 6e 6e 65 63 74 69 6f 6e 2e 63 6f 6e 6e 65 63 74 94 6a 53 02 00 00 8c | b.HTTPSConnection.connect.jS.... |
14920 | 06 6d 65 74 68 6f 64 94 86 94 8c 2e 4d 32 43 72 79 70 74 6f 2e 68 74 74 70 73 6c 69 62 2e 48 54 | .method.....M2Crypto.httpslib.HT |
14940 | 54 50 53 43 6f 6e 6e 65 63 74 69 6f 6e 2e 64 65 66 61 75 6c 74 5f 70 6f 72 74 94 6a 53 02 00 00 | TPSConnection.default_port.jS... |
14960 | 8c 09 61 74 74 72 69 62 75 74 65 94 86 94 8c 2d 4d 32 43 72 79 70 74 6f 2e 68 74 74 70 73 6c 69 | ..attribute....-M2Crypto.httpsli |
14980 | 62 2e 48 54 54 50 53 43 6f 6e 6e 65 63 74 69 6f 6e 2e 67 65 74 5f 73 65 73 73 69 6f 6e 94 6a 53 | b.HTTPSConnection.get_session.jS |
149a0 | 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 2d 4d 32 43 72 79 70 74 6f 2e 68 74 74 70 73 6c 69 | .....method....-M2Crypto.httpsli |
149c0 | 62 2e 48 54 54 50 53 43 6f 6e 6e 65 63 74 69 6f 6e 2e 73 65 74 5f 73 65 73 73 69 6f 6e 94 6a 53 | b.HTTPSConnection.set_session.jS |
149e0 | 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 26 4d 32 43 72 79 70 74 6f 2e 68 74 74 70 73 6c 69 | .....method....&M2Crypto.httpsli |
14a00 | 62 2e 50 72 6f 78 79 48 54 54 50 53 43 6f 6e 6e 65 63 74 69 6f 6e 94 6a 53 02 00 00 8c 05 63 6c | b.ProxyHTTPSConnection.jS.....cl |
14a20 | 61 73 73 94 86 94 8c 2e 4d 32 43 72 79 70 74 6f 2e 68 74 74 70 73 6c 69 62 2e 50 72 6f 78 79 48 | ass.....M2Crypto.httpslib.ProxyH |
14a40 | 54 54 50 53 43 6f 6e 6e 65 63 74 69 6f 6e 2e 63 6f 6e 6e 65 63 74 94 6a 53 02 00 00 8c 06 6d 65 | TTPSConnection.connect.jS.....me |
14a60 | 74 68 6f 64 94 86 94 8c 31 4d 32 43 72 79 70 74 6f 2e 68 74 74 70 73 6c 69 62 2e 50 72 6f 78 79 | thod....1M2Crypto.httpslib.Proxy |
14a80 | 48 54 54 50 53 43 6f 6e 6e 65 63 74 69 6f 6e 2e 65 6e 64 68 65 61 64 65 72 73 94 6a 53 02 00 00 | HTTPSConnection.endheaders.jS... |
14aa0 | 8c 06 6d 65 74 68 6f 64 94 86 94 8c 30 4d 32 43 72 79 70 74 6f 2e 68 74 74 70 73 6c 69 62 2e 50 | ..method....0M2Crypto.httpslib.P |
14ac0 | 72 6f 78 79 48 54 54 50 53 43 6f 6e 6e 65 63 74 69 6f 6e 2e 70 75 74 68 65 61 64 65 72 94 6a 53 | roxyHTTPSConnection.putheader.jS |
14ae0 | 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 31 4d 32 43 72 79 70 74 6f 2e 68 74 74 70 73 6c 69 | .....method....1M2Crypto.httpsli |
14b00 | 62 2e 50 72 6f 78 79 48 54 54 50 53 43 6f 6e 6e 65 63 74 69 6f 6e 2e 70 75 74 72 65 71 75 65 73 | b.ProxyHTTPSConnection.putreques |
14b20 | 74 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 0b 4d 32 43 72 79 70 74 6f 2e 6d 32 94 | t.jS.....method.....M2Crypto.m2. |
14b40 | 6a 53 02 00 00 6a 41 14 00 00 86 94 8c 11 4d 32 43 72 79 70 74 6f 2e 6d 32 63 72 79 70 74 6f 94 | jS...jA.......M2Crypto.m2crypto. |
14b60 | 6a 53 02 00 00 6a 41 14 00 00 86 94 8c 11 4d 32 43 72 79 70 74 6f 2e 6d 32 75 72 6c 6c 69 62 94 | jS...jA.......M2Crypto.m2urllib. |
14b80 | 6a 53 02 00 00 6a 41 14 00 00 86 94 8c 1c 4d 32 43 72 79 70 74 6f 2e 6d 32 75 72 6c 6c 69 62 2e | jS...jA.......M2Crypto.m2urllib. |
14ba0 | 6f 70 65 6e 5f 68 74 74 70 73 94 6a 53 02 00 00 8c 08 66 75 6e 63 74 69 6f 6e 94 86 94 8c 12 4d | open_https.jS.....function.....M |
14bc0 | 32 43 72 79 70 74 6f 2e 6d 32 75 72 6c 6c 69 62 32 94 6a 53 02 00 00 6a 41 14 00 00 86 94 8c 1f | 2Crypto.m2urllib2.jS...jA....... |
14be0 | 4d 32 43 72 79 70 74 6f 2e 6d 32 75 72 6c 6c 69 62 32 2e 48 54 54 50 53 48 61 6e 64 6c 65 72 94 | M2Crypto.m2urllib2.HTTPSHandler. |
14c00 | 6a 53 02 00 00 8c 05 63 6c 61 73 73 94 86 94 8c 2a 4d 32 43 72 79 70 74 6f 2e 6d 32 75 72 6c 6c | jS.....class....*M2Crypto.m2urll |
14c20 | 69 62 32 2e 48 54 54 50 53 48 61 6e 64 6c 65 72 2e 68 74 74 70 73 5f 6f 70 65 6e 94 6a 53 02 00 | ib2.HTTPSHandler.https_open.jS.. |
14c40 | 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 2d 4d 32 43 72 79 70 74 6f 2e 6d 32 75 72 6c 6c 69 62 32 | ...method....-M2Crypto.m2urllib2 |
14c60 | 2e 48 54 54 50 53 48 61 6e 64 6c 65 72 2e 68 74 74 70 73 5f 72 65 71 75 65 73 74 94 6a 53 02 00 | .HTTPSHandler.https_request.jS.. |
14c80 | 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 1f 4d 32 43 72 79 70 74 6f 2e 6d 32 75 72 6c 6c 69 62 32 | ...method.....M2Crypto.m2urllib2 |
14ca0 | 2e 62 75 69 6c 64 5f 6f 70 65 6e 65 72 94 6a 53 02 00 00 8c 08 66 75 6e 63 74 69 6f 6e 94 86 94 | .build_opener.jS.....function... |
14cc0 | 8c 14 4d 32 43 72 79 70 74 6f 2e 6d 32 78 6d 6c 72 70 63 6c 69 62 94 6a 53 02 00 00 6a 41 14 00 | ..M2Crypto.m2xmlrpclib.jS...jA.. |
14ce0 | 00 86 94 8c 22 4d 32 43 72 79 70 74 6f 2e 6d 32 78 6d 6c 72 70 63 6c 69 62 2e 53 53 4c 5f 54 72 | ...."M2Crypto.m2xmlrpclib.SSL_Tr |
14d00 | 61 6e 73 70 6f 72 74 94 6a 53 02 00 00 8c 05 63 6c 61 73 73 94 86 94 8c 2a 4d 32 43 72 79 70 74 | ansport.jS.....class....*M2Crypt |
14d20 | 6f 2e 6d 32 78 6d 6c 72 70 63 6c 69 62 2e 53 53 4c 5f 54 72 61 6e 73 70 6f 72 74 2e 72 65 71 75 | o.m2xmlrpclib.SSL_Transport.requ |
14d40 | 65 73 74 94 6a 53 02 00 00 8c 06 6d 65 74 68 6f 64 94 86 94 8c 2d 4d 32 43 72 79 70 74 6f 2e 6d | est.jS.....method....-M2Crypto.m |
14d60 | 32 78 6d 6c 72 70 63 6c 69 62 2e 53 53 4c 5f 54 72 61 6e 73 70 6f 72 74 2e 75 73 65 72 5f 61 67 | 2xmlrpclib.SSL_Transport.user_ag |
14d80 | 65 6e 74 94 6a 53 02 00 00 8c 09 61 74 74 72 69 62 75 74 65 94 86 94 8c 12 4d 32 43 72 79 70 74 | ent.jS.....attribute.....M2Crypt |
14da0 | 6f 2e 74 68 72 65 61 64 69 6e 67 94 6a 53 02 00 00 6a 41 14 00 00 86 94 8c 1a 4d 32 43 72 79 70 | o.threading.jS...jA.......M2Cryp |
14dc0 | 74 6f 2e 74 68 72 65 61 64 69 6e 67 2e 63 6c 65 61 6e 75 70 94 6a 53 02 00 00 8c 08 66 75 6e 63 | to.threading.cleanup.jS.....func |
14de0 | 74 69 6f 6e 94 86 94 8c 17 4d 32 43 72 79 70 74 6f 2e 74 68 72 65 61 64 69 6e 67 2e 69 6e 69 74 | tion.....M2Crypto.threading.init |
14e00 | 94 6a 53 02 00 00 8c 08 66 75 6e 63 74 69 6f 6e 94 86 94 8c 0d 4d 32 43 72 79 70 74 6f 2e 75 74 | .jS.....function.....M2Crypto.ut |
14e20 | 69 6c 94 6a 53 02 00 00 6a 41 14 00 00 86 94 8c 17 4d 32 43 72 79 70 74 6f 2e 75 74 69 6c 2e 55 | il.jS...jA.......M2Crypto.util.U |
14e40 | 74 69 6c 45 72 72 6f 72 94 6a 53 02 00 00 8c 09 65 78 63 65 70 74 69 6f 6e 94 86 94 8c 18 4d 32 | tilError.jS.....exception.....M2 |
14e60 | 43 72 79 70 74 6f 2e 75 74 69 6c 2e 62 69 6e 5f 74 6f 5f 68 65 78 94 6a 53 02 00 00 8c 08 66 75 | Crypto.util.bin_to_hex.jS.....fu |
14e80 | 6e 63 74 69 6f 6e 94 86 94 8c 1f 4d 32 43 72 79 70 74 6f 2e 75 74 69 6c 2e 67 65 6e 70 61 72 61 | nction.....M2Crypto.util.genpara |
14ea0 | 6d 5f 63 61 6c 6c 62 61 63 6b 94 6a 53 02 00 00 8c 08 66 75 6e 63 74 69 6f 6e 94 86 94 8c 24 4d | m_callback.jS.....function....$M |
14ec0 | 32 43 72 79 70 74 6f 2e 75 74 69 6c 2e 6e 6f 5f 70 61 73 73 70 68 72 61 73 65 5f 63 61 6c 6c 62 | 2Crypto.util.no_passphrase_callb |
14ee0 | 61 63 6b 94 6a 53 02 00 00 8c 08 66 75 6e 63 74 69 6f 6e 94 86 94 8c 19 4d 32 43 72 79 70 74 6f | ack.jS.....function.....M2Crypto |
14f00 | 2e 75 74 69 6c 2e 6f 63 74 78 5f 74 6f 5f 6e 75 6d 94 6a 53 02 00 00 8c 08 66 75 6e 63 74 69 6f | .util.octx_to_num.jS.....functio |
14f20 | 6e 94 86 94 8c 21 4d 32 43 72 79 70 74 6f 2e 75 74 69 6c 2e 70 61 73 73 70 68 72 61 73 65 5f 63 | n....!M2Crypto.util.passphrase_c |
14f40 | 61 6c 6c 62 61 63 6b 94 6a 53 02 00 00 8c 08 66 75 6e 63 74 69 6f 6e 94 86 94 8c 17 4d 32 43 72 | allback.jS.....function.....M2Cr |
14f60 | 79 70 74 6f 2e 75 74 69 6c 2e 70 6b 63 73 35 5f 70 61 64 94 6a 53 02 00 00 8c 08 66 75 6e 63 74 | ypto.util.pkcs5_pad.jS.....funct |
14f80 | 69 6f 6e 94 86 94 8c 17 4d 32 43 72 79 70 74 6f 2e 75 74 69 6c 2e 70 6b 63 73 37 5f 70 61 64 94 | ion.....M2Crypto.util.pkcs7_pad. |
14fa0 | 6a 53 02 00 00 8c 08 66 75 6e 63 74 69 6f 6e 94 86 94 8c 25 4d 32 43 72 79 70 74 6f 2e 75 74 69 | jS.....function....%M2Crypto.uti |
14fc0 | 6c 2e 71 75 69 65 74 5f 67 65 6e 70 61 72 61 6d 5f 63 61 6c 6c 62 61 63 6b 94 6a 53 02 00 00 8c | l.quiet_genparam_callback.jS.... |
14fe0 | 08 66 75 6e 63 74 69 6f 6e 94 86 94 75 6a 57 12 00 00 7d 94 28 6a 61 12 00 00 28 6a 5c 02 00 00 | .function...ujW...}.(ja...(j\... |
15000 | 68 27 68 27 89 74 94 6a 6a 12 00 00 28 6a 5c 02 00 00 68 27 68 27 89 74 94 6a 7e 12 00 00 28 6a | h'h'.t.jj...(j\...h'h'.t.j~...(j |
15020 | 5c 02 00 00 68 27 68 27 89 74 94 6a 8c 12 00 00 28 6a 5c 02 00 00 68 27 68 27 89 74 94 6a 54 13 | \...h'h'.t.j....(j\...h'h'.t.jT. |
15040 | 00 00 28 6a 5c 02 00 00 68 27 68 27 89 74 94 6a b9 13 00 00 28 6a 5c 02 00 00 68 27 68 27 89 74 | ..(j\...h'h'.t.j....(j\...h'h'.t |
15060 | 94 6a ca 13 00 00 28 6a 5c 02 00 00 68 27 68 27 89 74 94 6a ea 13 00 00 28 6a 5c 02 00 00 68 27 | .j....(j\...h'h'.t.j....(j\...h' |
15080 | 68 27 89 74 94 6a 13 14 00 00 28 6a 5c 02 00 00 68 27 68 27 89 74 94 6a 21 14 00 00 28 6a 5c 02 | h'.t.j....(j\...h'h'.t.j!...(j\. |
150a0 | 00 00 68 27 68 27 89 74 94 6a 32 14 00 00 28 6a 5c 02 00 00 68 27 68 27 89 74 94 6a 40 14 00 00 | ..h'h'.t.j2...(j\...h'h'.t.j@... |
150c0 | 28 6a 53 02 00 00 68 27 68 27 89 74 94 6a 43 14 00 00 28 6a 53 02 00 00 68 27 68 27 89 74 94 6a | (jS...h'h'.t.jC...(jS...h'h'.t.j |
150e0 | 7b 14 00 00 28 6a 53 02 00 00 68 27 68 27 89 74 94 6a ad 14 00 00 28 6a 53 02 00 00 68 27 68 27 | {...(jS...h'h'.t.j....(jS...h'h' |
15100 | 89 74 94 6a 36 15 00 00 28 6a 53 02 00 00 68 27 68 27 89 74 94 6a 41 15 00 00 28 6a 53 02 00 00 | .t.j6...(jS...h'h'.t.jA...(jS... |
15120 | 68 27 68 27 89 74 94 6a 64 15 00 00 28 6a 53 02 00 00 68 27 68 27 89 74 94 6a c3 15 00 00 28 6a | h'h'.t.jd...(jS...h'h'.t.j....(j |
15140 | 53 02 00 00 68 27 68 27 89 74 94 6a 25 16 00 00 28 6a 53 02 00 00 68 27 68 27 89 74 94 6a ab 16 | S...h'h'.t.j%...(jS...h'h'.t.j.. |
15160 | 00 00 28 6a 53 02 00 00 68 27 68 27 89 74 94 6a dd 16 00 00 28 6a 53 02 00 00 68 27 68 27 89 74 | ..(jS...h'h'.t.j....(jS...h'h'.t |
15180 | 94 6a fd 16 00 00 28 6a 53 02 00 00 68 27 68 27 89 74 94 6a 0e 17 00 00 28 6a 53 02 00 00 68 27 | .j....(jS...h'h'.t.j....(jS...h' |
151a0 | 68 27 89 74 94 6a 7c 17 00 00 28 6a 53 02 00 00 68 27 68 27 89 74 94 6a 96 17 00 00 28 6a 53 02 | h'.t.j|...(jS...h'h'.t.j....(jS. |
151c0 | 00 00 68 27 68 27 89 74 94 6a f8 17 00 00 28 6a 53 02 00 00 68 27 68 27 89 74 94 6a 41 19 00 00 | ..h'h'.t.j....(jS...h'h'.t.jA... |
151e0 | 28 6a 53 02 00 00 68 27 68 27 89 74 94 6a 43 19 00 00 28 6a 53 02 00 00 68 27 68 27 89 74 94 6a | (jS...h'h'.t.jC...(jS...h'h'.t.j |
15200 | 57 19 00 00 28 6a 53 02 00 00 68 27 68 27 89 74 94 6a 7a 19 00 00 28 6a 53 02 00 00 68 27 68 27 | W...(jS...h'h'.t.jz...(jS...h'h' |
15220 | 89 74 94 6a 7c 19 00 00 28 6a 53 02 00 00 68 27 68 27 89 74 94 6a 7e 19 00 00 28 6a 53 02 00 00 | .t.j|...(jS...h'h'.t.j~...(jS... |
15240 | 68 27 68 27 89 74 94 6a 83 19 00 00 28 6a 53 02 00 00 68 27 68 27 89 74 94 6a 91 19 00 00 28 6a | h'h'.t.j....(jS...h'h'.t.j....(j |
15260 | 53 02 00 00 68 27 68 27 89 74 94 6a 9c 19 00 00 28 6a 53 02 00 00 68 27 68 27 89 74 94 6a a4 19 | S...h'h'.t.j....(jS...h'h'.t.j.. |
15280 | 00 00 28 6a 53 02 00 00 68 27 68 27 89 74 94 75 6a 28 02 00 00 4b 00 75 8c 03 72 73 74 94 7d 94 | ..(jS...h'h'.t.uj(...K.u..rst.}. |
152a0 | 28 6a 3c 12 00 00 7d 94 6a 28 02 00 00 4b 00 75 8c 03 73 74 64 94 7d 94 28 8c 0b 70 72 6f 67 6f | (j<...}.j(...K.u..std.}.(..progo |
152c0 | 70 74 69 6f 6e 73 94 7d 94 6a 3c 12 00 00 7d 94 8c 09 63 69 74 61 74 69 6f 6e 73 94 7d 94 8c 0d | ptions.}.j<...}...citations.}... |
152e0 | 63 69 74 61 74 69 6f 6e 5f 72 65 66 73 94 7d 94 8c 06 6c 61 62 65 6c 73 94 7d 94 28 8c 08 67 65 | citation_refs.}...labels.}.(..ge |
15300 | 6e 69 6e 64 65 78 94 6a f5 19 00 00 68 27 8c 0d 73 70 68 69 6e 78 2e 6c 6f 63 61 6c 65 94 8c 11 | nindex.j....h'..sphinx.locale... |
15320 | 5f 54 72 61 6e 73 6c 61 74 69 6f 6e 50 72 6f 78 79 94 93 94 28 6a f6 19 00 00 8c 0f 5f 6c 61 7a | _TranslationProxy...(j......_laz |
15340 | 79 5f 74 72 61 6e 73 6c 61 74 65 94 93 94 8c 06 73 70 68 69 6e 78 94 8c 07 67 65 6e 65 72 61 6c | y_translate.....sphinx...general |
15360 | 94 8c 05 49 6e 64 65 78 94 74 94 81 94 6a fa 19 00 00 6a fb 19 00 00 6a fc 19 00 00 6a fd 19 00 | ...Index.t...j....j....j....j... |
15380 | 00 87 94 86 94 62 87 94 8c 08 6d 6f 64 69 6e 64 65 78 94 8c 0b 70 79 2d 6d 6f 64 69 6e 64 65 78 | .....b....modindex...py-modindex |
153a0 | 94 68 27 6a f8 19 00 00 28 6a fa 19 00 00 6a fb 19 00 00 6a fc 19 00 00 8c 0c 4d 6f 64 75 6c 65 | .h'j....(j....j....j......Module |
153c0 | 20 49 6e 64 65 78 94 74 94 81 94 6a fa 19 00 00 6a fb 19 00 00 6a fc 19 00 00 6a 05 1a 00 00 87 | .Index.t...j....j....j....j..... |
153e0 | 94 86 94 62 87 94 8c 06 73 65 61 72 63 68 94 6a 0b 1a 00 00 68 27 6a f8 19 00 00 28 6a fa 19 00 | ...b....search.j....h'j....(j... |
15400 | 00 6a fb 19 00 00 6a fc 19 00 00 8c 0b 53 65 61 72 63 68 20 50 61 67 65 94 74 94 81 94 6a fa 19 | .j....j......Search.Page.t...j.. |
15420 | 00 00 6a fb 19 00 00 6a fc 19 00 00 6a 0c 1a 00 00 87 94 86 94 62 87 94 8c 10 7a 73 65 72 76 65 | ..j....j....j........b....zserve |
15440 | 72 73 73 6c 2d 68 6f 77 74 6f 94 6a 57 02 00 00 8c 10 7a 73 65 72 76 65 72 73 73 6c 2d 68 6f 77 | rssl-howto.jW.....zserverssl-how |
15460 | 74 6f 94 8c 18 31 2e c2 a0 c2 a0 c2 a0 5a 53 65 72 76 65 72 53 53 4c 2d 48 4f 57 54 4f 94 87 94 | to...1.......ZServerSSL-HOWTO... |
15480 | 8c 08 68 6f 77 74 6f 2d 63 61 94 6a 58 02 00 00 8c 08 68 6f 77 74 6f 2d 63 61 94 8c 28 48 4f 57 | ..howto-ca.jX.....howto-ca..(HOW |
154a0 | 54 4f 3a 20 43 72 65 61 74 69 6e 67 20 79 6f 75 72 20 6f 77 6e 20 43 41 20 77 69 74 68 20 4f 70 | TO:.Creating.your.own.CA.with.Op |
154c0 | 65 6e 53 53 4c 94 87 94 8c 0b 68 6f 77 74 6f 2d 73 6d 69 6d 65 94 6a 59 02 00 00 8c 0b 68 6f 77 | enSSL.....howto-smime.jY.....how |
154e0 | 74 6f 2d 73 6d 69 6d 65 94 8c 31 48 4f 57 54 4f 3a 20 50 72 6f 67 72 61 6d 6d 69 6e 67 20 53 2f | to-smime..1HOWTO:.Programming.S/ |
15500 | 4d 49 4d 45 20 69 6e 20 50 79 74 68 6f 6e 20 77 69 74 68 20 4d 32 43 72 79 70 74 6f 94 87 94 8c | MIME.in.Python.with.M2Crypto.... |
15520 | 09 68 6f 77 74 6f 2d 73 73 6c 94 6a 5a 02 00 00 8c 09 68 6f 77 74 6f 2d 73 73 6c 94 8c 2e 48 4f | .howto-ssl.jZ.....howto-ssl...HO |
15540 | 57 54 4f 3a 20 50 72 6f 67 72 61 6d 6d 69 6e 67 20 53 53 4c 20 69 6e 20 50 79 74 68 6f 6e 20 77 | WTO:.Programming.SSL.in.Python.w |
15560 | 69 74 68 20 4d 32 43 72 79 70 74 6f 94 87 94 75 8c 0a 61 6e 6f 6e 6c 61 62 65 6c 73 94 7d 94 28 | ith.M2Crypto...u..anonlabels.}.( |
15580 | 6a f5 19 00 00 6a f5 19 00 00 68 27 86 94 6a 03 1a 00 00 8c 0b 70 79 2d 6d 6f 64 69 6e 64 65 78 | j....j....h'..j......py-modindex |
155a0 | 94 68 27 86 94 6a 0b 1a 00 00 6a 0b 1a 00 00 68 27 86 94 6a 12 1a 00 00 6a 57 02 00 00 6a 13 1a | .h'..j....j....h'..j....jW...j.. |
155c0 | 00 00 86 94 6a 16 1a 00 00 6a 58 02 00 00 6a 17 1a 00 00 86 94 6a 1a 1a 00 00 6a 59 02 00 00 6a | ....j....jX...j......j....jY...j |
155e0 | 1b 1a 00 00 86 94 6a 1e 1a 00 00 6a 5a 02 00 00 6a 1f 1a 00 00 86 94 75 6a 28 02 00 00 4b 00 75 | ......j....jZ...j......uj(...K.u |
15600 | 75 8c 0c 69 6e 64 65 78 65 6e 74 72 69 65 73 94 7d 94 28 6a 57 02 00 00 5d 94 6a 58 02 00 00 5d | u..indexentries.}.(jW...].jX...] |
15620 | 94 6a 59 02 00 00 5d 94 6a 5a 02 00 00 5d 94 6a 5b 02 00 00 5d 94 6a 5c 02 00 00 5d 94 28 28 8c | .jY...].jZ...].j[...].j\...].((. |
15640 | 06 73 69 6e 67 6c 65 94 8c 15 4d 32 43 72 79 70 74 6f 2e 53 53 4c 20 28 6d 6f 64 75 6c 65 29 94 | .single...M2Crypto.SSL.(module). |
15660 | 8c 13 6d 6f 64 75 6c 65 2d 4d 32 43 72 79 70 74 6f 2e 53 53 4c 94 68 27 4e 74 94 28 6a 34 1a 00 | ..module-M2Crypto.SSL.h'Nt.(j4.. |
15680 | 00 8c 08 53 53 4c 45 72 72 6f 72 94 6a 64 12 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 0f 53 53 | ...SSLError.jd...h'Nt.(j4.....SS |
156a0 | 4c 54 69 6d 65 6f 75 74 45 72 72 6f 72 94 6a 67 12 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 1d | LTimeoutError.jg...h'Nt.(j4..... |
156c0 | 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 68 65 63 6b 65 72 20 28 6d 6f 64 75 6c 65 29 94 8c 1b | M2Crypto.SSL.Checker.(module)... |
156e0 | 6d 6f 64 75 6c 65 2d 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 68 65 63 6b 65 72 94 68 27 4e 74 | module-M2Crypto.SSL.Checker.h'Nt |
15700 | 94 28 6a 34 1a 00 00 8c 14 53 53 4c 56 65 72 69 66 69 63 61 74 69 6f 6e 45 72 72 6f 72 94 6a 6c | .(j4.....SSLVerificationError.jl |
15720 | 12 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 0d 4e 6f 43 65 72 74 69 66 69 63 61 74 65 94 6a 6f | ...h'Nt.(j4.....NoCertificate.jo |
15740 | 12 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 10 57 72 6f 6e 67 43 65 72 74 69 66 69 63 61 74 65 | ...h'Nt.(j4.....WrongCertificate |
15760 | 94 6a 72 12 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 09 57 72 6f 6e 67 48 6f 73 74 94 6a 75 12 | .jr...h'Nt.(j4.....WrongHost.ju. |
15780 | 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 27 43 68 65 63 6b 65 72 20 28 63 6c 61 73 73 20 69 6e | ..h'Nt.(j4....'Checker.(class.in |
157a0 | 20 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 68 65 63 6b 65 72 29 94 6a 78 12 00 00 68 27 4e 74 | .M2Crypto.SSL.Checker).jx...h'Nt |
157c0 | 94 28 6a 34 1a 00 00 8c 37 6e 75 6d 65 72 69 63 49 70 4d 61 74 63 68 20 28 4d 32 43 72 79 70 74 | .(j4....7numericIpMatch.(M2Crypt |
157e0 | 6f 2e 53 53 4c 2e 43 68 65 63 6b 65 72 2e 43 68 65 63 6b 65 72 20 61 74 74 72 69 62 75 74 65 29 | o.SSL.Checker.Checker.attribute) |
15800 | 94 6a 7b 12 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 1c 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e | .j{...h'Nt.(j4.....M2Crypto.SSL. |
15820 | 43 69 70 68 65 72 20 28 6d 6f 64 75 6c 65 29 94 8c 1a 6d 6f 64 75 6c 65 2d 4d 32 43 72 79 70 74 | Cipher.(module)...module-M2Crypt |
15840 | 6f 2e 53 53 4c 2e 43 69 70 68 65 72 94 68 27 4e 74 94 28 6a 34 1a 00 00 8c 25 43 69 70 68 65 72 | o.SSL.Cipher.h'Nt.(j4....%Cipher |
15860 | 20 28 63 6c 61 73 73 20 69 6e 20 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 69 70 68 65 72 29 94 | .(class.in.M2Crypto.SSL.Cipher). |
15880 | 6a 80 12 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 2a 6e 61 6d 65 28 29 20 28 4d 32 43 72 79 70 | j....h'Nt.(j4....*name().(M2Cryp |
158a0 | 74 6f 2e 53 53 4c 2e 43 69 70 68 65 72 2e 43 69 70 68 65 72 20 6d 65 74 68 6f 64 29 94 6a 83 12 | to.SSL.Cipher.Cipher.method).j.. |
158c0 | 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 2d 76 65 72 73 69 6f 6e 28 29 20 28 4d 32 43 72 79 70 | ..h'Nt.(j4....-version().(M2Cryp |
158e0 | 74 6f 2e 53 53 4c 2e 43 69 70 68 65 72 2e 43 69 70 68 65 72 20 6d 65 74 68 6f 64 29 94 6a 86 12 | to.SSL.Cipher.Cipher.method).j.. |
15900 | 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 2b 43 69 70 68 65 72 5f 53 74 61 63 6b 20 28 63 6c 61 | ..h'Nt.(j4....+Cipher_Stack.(cla |
15920 | 73 73 20 69 6e 20 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 69 70 68 65 72 29 94 6a 89 12 00 00 | ss.in.M2Crypto.SSL.Cipher).j.... |
15940 | 68 27 4e 74 94 28 6a 34 1a 00 00 8c 20 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 | h'Nt.(j4.....M2Crypto.SSL.Connec |
15960 | 74 69 6f 6e 20 28 6d 6f 64 75 6c 65 29 94 8c 1e 6d 6f 64 75 6c 65 2d 4d 32 43 72 79 70 74 6f 2e | tion.(module)...module-M2Crypto. |
15980 | 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 94 68 27 4e 74 94 28 6a 34 1a 00 00 8c 2d 43 6f 6e 6e | SSL.Connection.h'Nt.(j4....-Conn |
159a0 | 65 63 74 69 6f 6e 20 28 63 6c 61 73 73 20 69 6e 20 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f | ection.(class.in.M2Crypto.SSL.Co |
159c0 | 6e 6e 65 63 74 69 6f 6e 29 94 6a 8e 12 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 34 61 63 63 65 | nnection).j....h'Nt.(j4....4acce |
159e0 | 70 74 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f | pt().(M2Crypto.SSL.Connection.Co |
15a00 | 6e 6e 65 63 74 69 6f 6e 20 6d 65 74 68 6f 64 29 94 6a 91 12 00 00 68 27 4e 74 94 28 6a 34 1a 00 | nnection.method).j....h'Nt.(j4.. |
15a20 | 00 8c 38 61 63 63 65 70 74 5f 73 73 6c 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f | ..8accept_ssl().(M2Crypto.SSL.Co |
15a40 | 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 20 6d 65 74 68 6f 64 29 94 6a 94 12 00 | nnection.Connection.method).j... |
15a60 | 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 32 62 69 6e 64 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 | .h'Nt.(j4....2bind().(M2Crypto.S |
15a80 | 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 20 6d 65 74 68 6f 64 29 | SL.Connection.Connection.method) |
15aa0 | 94 6a 97 12 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 33 63 6c 65 61 72 28 29 20 28 4d 32 43 72 | .j....h'Nt.(j4....3clear().(M2Cr |
15ac0 | 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 20 6d | ypto.SSL.Connection.Connection.m |
15ae0 | 65 74 68 6f 64 29 94 6a 9a 12 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 48 63 6c 69 65 6e 74 50 | ethod).j....h'Nt.(j4....HclientP |
15b00 | 6f 73 74 43 6f 6e 6e 65 63 74 69 6f 6e 43 68 65 63 6b 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c | ostConnectionCheck.(M2Crypto.SSL |
15b20 | 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 20 61 74 74 72 69 62 75 74 65 | .Connection.Connection.attribute |
15b40 | 29 94 6a 9d 12 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 33 63 6c 6f 73 65 28 29 20 28 4d 32 43 | ).j....h'Nt.(j4....3close().(M2C |
15b60 | 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 20 | rypto.SSL.Connection.Connection. |
15b80 | 6d 65 74 68 6f 64 29 94 6a a0 12 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 35 63 6f 6e 6e 65 63 | method).j....h'Nt.(j4....5connec |
15ba0 | 74 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e | t().(M2Crypto.SSL.Connection.Con |
15bc0 | 6e 65 63 74 69 6f 6e 20 6d 65 74 68 6f 64 29 94 6a a3 12 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 | nection.method).j....h'Nt.(j4... |
15be0 | 8c 39 63 6f 6e 6e 65 63 74 5f 73 73 6c 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f | .9connect_ssl().(M2Crypto.SSL.Co |
15c00 | 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 20 6d 65 74 68 6f 64 29 94 6a a6 12 00 | nnection.Connection.method).j... |
15c20 | 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 34 66 69 6c 65 6e 6f 28 29 20 28 4d 32 43 72 79 70 74 6f | .h'Nt.(j4....4fileno().(M2Crypto |
15c40 | 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 20 6d 65 74 68 6f | .SSL.Connection.Connection.metho |
15c60 | 64 29 94 6a a9 12 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 38 67 65 74 5f 63 69 70 68 65 72 28 | d).j....h'Nt.(j4....8get_cipher( |
15c80 | 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 | ).(M2Crypto.SSL.Connection.Conne |
15ca0 | 63 74 69 6f 6e 20 6d 65 74 68 6f 64 29 94 6a ac 12 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 3d | ction.method).j....h'Nt.(j4....= |
15cc0 | 67 65 74 5f 63 69 70 68 65 72 5f 6c 69 73 74 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e | get_cipher_list().(M2Crypto.SSL. |
15ce0 | 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 20 6d 65 74 68 6f 64 29 94 6a af | Connection.Connection.method).j. |
15d00 | 12 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 39 67 65 74 5f 63 69 70 68 65 72 73 28 29 20 28 4d | ...h'Nt.(j4....9get_ciphers().(M |
15d20 | 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f | 2Crypto.SSL.Connection.Connectio |
15d40 | 6e 20 6d 65 74 68 6f 64 29 94 6a b2 12 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 39 67 65 74 5f | n.method).j....h'Nt.(j4....9get_ |
15d60 | 63 6f 6e 74 65 78 74 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 | context().(M2Crypto.SSL.Connecti |
15d80 | 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 20 6d 65 74 68 6f 64 29 94 6a b5 12 00 00 68 27 4e 74 94 | on.Connection.method).j....h'Nt. |
15da0 | 28 6a 34 1a 00 00 8c 49 67 65 74 5f 64 65 66 61 75 6c 74 5f 73 65 73 73 69 6f 6e 5f 74 69 6d 65 | (j4....Iget_default_session_time |
15dc0 | 6f 75 74 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 | out().(M2Crypto.SSL.Connection.C |
15de0 | 6f 6e 6e 65 63 74 69 6f 6e 20 6d 65 74 68 6f 64 29 94 6a b8 12 00 00 68 27 4e 74 94 28 6a 34 1a | onnection.method).j....h'Nt.(j4. |
15e00 | 00 00 8c 3b 67 65 74 5f 70 65 65 72 5f 63 65 72 74 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 | ...;get_peer_cert().(M2Crypto.SS |
15e20 | 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 20 6d 65 74 68 6f 64 29 94 | L.Connection.Connection.method). |
15e40 | 6a bb 12 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 41 67 65 74 5f 70 65 65 72 5f 63 65 72 74 5f | j....h'Nt.(j4....Aget_peer_cert_ |
15e60 | 63 68 61 69 6e 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e | chain().(M2Crypto.SSL.Connection |
15e80 | 2e 43 6f 6e 6e 65 63 74 69 6f 6e 20 6d 65 74 68 6f 64 29 94 6a be 12 00 00 68 27 4e 74 94 28 6a | .Connection.method).j....h'Nt.(j |
15ea0 | 34 1a 00 00 8c 39 67 65 74 5f 73 65 73 73 69 6f 6e 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 | 4....9get_session().(M2Crypto.SS |
15ec0 | 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 20 6d 65 74 68 6f 64 29 94 | L.Connection.Connection.method). |
15ee0 | 6a c1 12 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 3a 67 65 74 5f 73 68 75 74 64 6f 77 6e 28 29 | j....h'Nt.(j4....:get_shutdown() |
15f00 | 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 | .(M2Crypto.SSL.Connection.Connec |
15f20 | 74 69 6f 6e 20 6d 65 74 68 6f 64 29 94 6a c4 12 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 45 67 | tion.method).j....h'Nt.(j4....Eg |
15f40 | 65 74 5f 73 6f 63 6b 65 74 5f 72 65 61 64 5f 74 69 6d 65 6f 75 74 28 29 20 28 4d 32 43 72 79 70 | et_socket_read_timeout().(M2Cryp |
15f60 | 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 20 6d 65 74 | to.SSL.Connection.Connection.met |
15f80 | 68 6f 64 29 94 6a c7 12 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 46 67 65 74 5f 73 6f 63 6b 65 | hod).j....h'Nt.(j4....Fget_socke |
15fa0 | 74 5f 77 72 69 74 65 5f 74 69 6d 65 6f 75 74 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e | t_write_timeout().(M2Crypto.SSL. |
15fc0 | 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 20 6d 65 74 68 6f 64 29 94 6a ca | Connection.Connection.method).j. |
15fe0 | 12 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 37 67 65 74 5f 73 74 61 74 65 28 29 20 28 4d 32 43 | ...h'Nt.(j4....7get_state().(M2C |
16000 | 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 20 | rypto.SSL.Connection.Connection. |
16020 | 6d 65 74 68 6f 64 29 94 6a cd 12 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 3e 67 65 74 5f 76 65 | method).j....h'Nt.(j4....>get_ve |
16040 | 72 69 66 79 5f 64 65 70 74 68 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 | rify_depth().(M2Crypto.SSL.Conne |
16060 | 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 20 6d 65 74 68 6f 64 29 94 6a d0 12 00 00 68 27 | ction.Connection.method).j....h' |
16080 | 4e 74 94 28 6a 34 1a 00 00 8c 3d 67 65 74 5f 76 65 72 69 66 79 5f 6d 6f 64 65 28 29 20 28 4d 32 | Nt.(j4....=get_verify_mode().(M2 |
160a0 | 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e | Crypto.SSL.Connection.Connection |
160c0 | 20 6d 65 74 68 6f 64 29 94 6a d3 12 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 3f 67 65 74 5f 76 | .method).j....h'Nt.(j4....?get_v |
160e0 | 65 72 69 66 79 5f 72 65 73 75 6c 74 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e | erify_result().(M2Crypto.SSL.Con |
16100 | 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 20 6d 65 74 68 6f 64 29 94 6a d6 12 00 00 | nection.Connection.method).j.... |
16120 | 68 27 4e 74 94 28 6a 34 1a 00 00 8c 39 67 65 74 5f 76 65 72 73 69 6f 6e 28 29 20 28 4d 32 43 72 | h'Nt.(j4....9get_version().(M2Cr |
16140 | 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 20 6d | ypto.SSL.Connection.Connection.m |
16160 | 65 74 68 6f 64 29 94 6a d9 12 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 39 67 65 74 70 65 65 72 | ethod).j....h'Nt.(j4....9getpeer |
16180 | 6e 61 6d 65 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e | name().(M2Crypto.SSL.Connection. |
161a0 | 43 6f 6e 6e 65 63 74 69 6f 6e 20 6d 65 74 68 6f 64 29 94 6a dc 12 00 00 68 27 4e 74 94 28 6a 34 | Connection.method).j....h'Nt.(j4 |
161c0 | 1a 00 00 8c 39 67 65 74 73 6f 63 6b 6e 61 6d 65 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c | ....9getsockname().(M2Crypto.SSL |
161e0 | 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 20 6d 65 74 68 6f 64 29 94 6a | .Connection.Connection.method).j |
16200 | df 12 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 38 67 65 74 73 6f 63 6b 6f 70 74 28 29 20 28 4d | ....h'Nt.(j4....8getsockopt().(M |
16220 | 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f | 2Crypto.SSL.Connection.Connectio |
16240 | 6e 20 6d 65 74 68 6f 64 29 94 6a e2 12 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 34 6c 69 73 74 | n.method).j....h'Nt.(j4....4list |
16260 | 65 6e 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f | en().(M2Crypto.SSL.Connection.Co |
16280 | 6e 6e 65 63 74 69 6f 6e 20 6d 65 74 68 6f 64 29 94 6a e5 12 00 00 68 27 4e 74 94 28 6a 34 1a 00 | nnection.method).j....h'Nt.(j4.. |
162a0 | 00 8c 39 6d 32 5f 62 69 6f 5f 66 72 65 65 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 | ..9m2_bio_free().(M2Crypto.SSL.C |
162c0 | 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 20 6d 65 74 68 6f 64 29 94 6a e8 12 | onnection.Connection.method).j.. |
162e0 | 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 3d 6d 32 5f 62 69 6f 5f 6e 6f 63 6c 6f 73 65 20 28 4d | ..h'Nt.(j4....=m2_bio_noclose.(M |
16300 | 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f | 2Crypto.SSL.Connection.Connectio |
16320 | 6e 20 61 74 74 72 69 62 75 74 65 29 94 6a eb 12 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 39 6d | n.attribute).j....h'Nt.(j4....9m |
16340 | 32 5f 73 73 6c 5f 66 72 65 65 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 | 2_ssl_free().(M2Crypto.SSL.Conne |
16360 | 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 20 6d 65 74 68 6f 64 29 94 6a ee 12 00 00 68 27 | ction.Connection.method).j....h' |
16380 | 4e 74 94 28 6a 34 1a 00 00 8c 36 6d 61 6b 65 66 69 6c 65 28 29 20 28 4d 32 43 72 79 70 74 6f 2e | Nt.(j4....6makefile().(M2Crypto. |
163a0 | 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 20 6d 65 74 68 6f 64 | SSL.Connection.Connection.method |
163c0 | 29 94 6a f1 12 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 35 70 65 6e 64 69 6e 67 28 29 20 28 4d | ).j....h'Nt.(j4....5pending().(M |
163e0 | 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f | 2Crypto.SSL.Connection.Connectio |
16400 | 6e 20 6d 65 74 68 6f 64 29 94 6a f4 12 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 32 72 65 61 64 | n.method).j....h'Nt.(j4....2read |
16420 | 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e | ().(M2Crypto.SSL.Connection.Conn |
16440 | 65 63 74 69 6f 6e 20 6d 65 74 68 6f 64 29 94 6a f7 12 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c | ection.method).j....h'Nt.(j4.... |
16460 | 32 72 65 63 76 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e | 2recv().(M2Crypto.SSL.Connection |
16480 | 2e 43 6f 6e 6e 65 63 74 69 6f 6e 20 6d 65 74 68 6f 64 29 94 6a fa 12 00 00 68 27 4e 74 94 28 6a | .Connection.method).j....h'Nt.(j |
164a0 | 34 1a 00 00 8c 37 72 65 63 76 5f 69 6e 74 6f 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e | 4....7recv_into().(M2Crypto.SSL. |
164c0 | 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 20 6d 65 74 68 6f 64 29 94 6a fd | Connection.Connection.method).j. |
164e0 | 12 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 39 72 65 6e 65 67 6f 74 69 61 74 65 28 29 20 28 4d | ...h'Nt.(j4....9renegotiate().(M |
16500 | 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f | 2Crypto.SSL.Connection.Connectio |
16520 | 6e 20 6d 65 74 68 6f 64 29 94 6a 00 13 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 32 73 65 6e 64 | n.method).j....h'Nt.(j4....2send |
16540 | 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e | ().(M2Crypto.SSL.Connection.Conn |
16560 | 65 63 74 69 6f 6e 20 6d 65 74 68 6f 64 29 94 6a 03 13 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c | ection.method).j....h'Nt.(j4.... |
16580 | 35 73 65 6e 64 61 6c 6c 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 | 5sendall().(M2Crypto.SSL.Connect |
165a0 | 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 20 6d 65 74 68 6f 64 29 94 6a 06 13 00 00 68 27 4e 74 | ion.Connection.method).j....h'Nt |
165c0 | 94 28 6a 34 1a 00 00 8c 47 73 65 72 76 65 72 50 6f 73 74 43 6f 6e 6e 65 63 74 69 6f 6e 43 68 65 | .(j4....GserverPostConnectionChe |
165e0 | 63 6b 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f | ck().(M2Crypto.SSL.Connection.Co |
16600 | 6e 6e 65 63 74 69 6f 6e 20 6d 65 74 68 6f 64 29 94 6a 09 13 00 00 68 27 4e 74 94 28 6a 34 1a 00 | nnection.method).j....h'Nt.(j4.. |
16620 | 00 8c 37 73 65 74 31 5f 68 6f 73 74 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e | ..7set1_host().(M2Crypto.SSL.Con |
16640 | 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 20 6d 65 74 68 6f 64 29 94 6a 0c 13 00 00 | nection.Connection.method).j.... |
16660 | 68 27 4e 74 94 28 6a 34 1a 00 00 8c 3e 73 65 74 5f 61 63 63 65 70 74 5f 73 74 61 74 65 28 29 20 | h'Nt.(j4....>set_accept_state(). |
16680 | 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 | (M2Crypto.SSL.Connection.Connect |
166a0 | 69 6f 6e 20 6d 65 74 68 6f 64 29 94 6a 0f 13 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 35 73 65 | ion.method).j....h'Nt.(j4....5se |
166c0 | 74 5f 62 69 6f 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e | t_bio().(M2Crypto.SSL.Connection |
166e0 | 2e 43 6f 6e 6e 65 63 74 69 6f 6e 20 6d 65 74 68 6f 64 29 94 6a 12 13 00 00 68 27 4e 74 94 28 6a | .Connection.method).j....h'Nt.(j |
16700 | 34 1a 00 00 8c 3d 73 65 74 5f 63 69 70 68 65 72 5f 6c 69 73 74 28 29 20 28 4d 32 43 72 79 70 74 | 4....=set_cipher_list().(M2Crypt |
16720 | 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 20 6d 65 74 68 | o.SSL.Connection.Connection.meth |
16740 | 6f 64 29 94 6a 15 13 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 4d 73 65 74 5f 63 6c 69 65 6e 74 | od).j....h'Nt.(j4....Mset_client |
16760 | 5f 43 41 5f 6c 69 73 74 5f 66 72 6f 6d 5f 63 6f 6e 74 65 78 74 28 29 20 28 4d 32 43 72 79 70 74 | _CA_list_from_context().(M2Crypt |
16780 | 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 20 6d 65 74 68 | o.SSL.Connection.Connection.meth |
167a0 | 6f 64 29 94 6a 18 13 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 4a 73 65 74 5f 63 6c 69 65 6e 74 | od).j....h'Nt.(j4....Jset_client |
167c0 | 5f 43 41 5f 6c 69 73 74 5f 66 72 6f 6d 5f 66 69 6c 65 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 | _CA_list_from_file().(M2Crypto.S |
167e0 | 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 20 6d 65 74 68 6f 64 29 | SL.Connection.Connection.method) |
16800 | 94 6a 1b 13 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 3f 73 65 74 5f 63 6f 6e 6e 65 63 74 5f 73 | .j....h'Nt.(j4....?set_connect_s |
16820 | 74 61 74 65 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e | tate().(M2Crypto.SSL.Connection. |
16840 | 43 6f 6e 6e 65 63 74 69 6f 6e 20 6d 65 74 68 6f 64 29 94 6a 1e 13 00 00 68 27 4e 74 94 28 6a 34 | Connection.method).j....h'Nt.(j4 |
16860 | 1a 00 00 8c 50 73 65 74 5f 70 6f 73 74 5f 63 6f 6e 6e 65 63 74 69 6f 6e 5f 63 68 65 63 6b 5f 63 | ....Pset_post_connection_check_c |
16880 | 61 6c 6c 62 61 63 6b 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 | allback().(M2Crypto.SSL.Connecti |
168a0 | 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 20 6d 65 74 68 6f 64 29 94 6a 21 13 00 00 68 27 4e 74 94 | on.Connection.method).j!...h'Nt. |
168c0 | 28 6a 34 1a 00 00 8c 39 73 65 74 5f 73 65 73 73 69 6f 6e 28 29 20 28 4d 32 43 72 79 70 74 6f 2e | (j4....9set_session().(M2Crypto. |
168e0 | 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 20 6d 65 74 68 6f 64 | SSL.Connection.Connection.method |
16900 | 29 94 6a 24 13 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 40 73 65 74 5f 73 65 73 73 69 6f 6e 5f | ).j$...h'Nt.(j4....@set_session_ |
16920 | 69 64 5f 63 74 78 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f | id_ctx().(M2Crypto.SSL.Connectio |
16940 | 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 20 6d 65 74 68 6f 64 29 94 6a 27 13 00 00 68 27 4e 74 94 28 | n.Connection.method).j'...h'Nt.( |
16960 | 6a 34 1a 00 00 8c 3a 73 65 74 5f 73 68 75 74 64 6f 77 6e 28 29 20 28 4d 32 43 72 79 70 74 6f 2e | j4....:set_shutdown().(M2Crypto. |
16980 | 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 20 6d 65 74 68 6f 64 | SSL.Connection.Connection.method |
169a0 | 29 94 6a 2a 13 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 45 73 65 74 5f 73 6f 63 6b 65 74 5f 72 | ).j*...h'Nt.(j4....Eset_socket_r |
169c0 | 65 61 64 5f 74 69 6d 65 6f 75 74 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e | ead_timeout().(M2Crypto.SSL.Conn |
169e0 | 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 20 6d 65 74 68 6f 64 29 94 6a 2d 13 00 00 68 | ection.Connection.method).j-...h |
16a00 | 27 4e 74 94 28 6a 34 1a 00 00 8c 46 73 65 74 5f 73 6f 63 6b 65 74 5f 77 72 69 74 65 5f 74 69 6d | 'Nt.(j4....Fset_socket_write_tim |
16a20 | 65 6f 75 74 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e | eout().(M2Crypto.SSL.Connection. |
16a40 | 43 6f 6e 6e 65 63 74 69 6f 6e 20 6d 65 74 68 6f 64 29 94 6a 30 13 00 00 68 27 4e 74 94 28 6a 34 | Connection.method).j0...h'Nt.(j4 |
16a60 | 1a 00 00 8c 40 73 65 74 5f 73 73 6c 5f 63 6c 6f 73 65 5f 66 6c 61 67 28 29 20 28 4d 32 43 72 79 | ....@set_ssl_close_flag().(M2Cry |
16a80 | 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 20 6d 65 | pto.SSL.Connection.Connection.me |
16aa0 | 74 68 6f 64 29 94 6a 33 13 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 42 73 65 74 5f 74 6c 73 65 | thod).j3...h'Nt.(j4....Bset_tlse |
16ac0 | 78 74 5f 68 6f 73 74 5f 6e 61 6d 65 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e | xt_host_name().(M2Crypto.SSL.Con |
16ae0 | 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 20 6d 65 74 68 6f 64 29 94 6a 36 13 00 00 | nection.Connection.method).j6... |
16b00 | 68 27 4e 74 94 28 6a 34 1a 00 00 8c 39 73 65 74 62 6c 6f 63 6b 69 6e 67 28 29 20 28 4d 32 43 72 | h'Nt.(j4....9setblocking().(M2Cr |
16b20 | 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 20 6d | ypto.SSL.Connection.Connection.m |
16b40 | 65 74 68 6f 64 29 94 6a 39 13 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 38 73 65 74 73 6f 63 6b | ethod).j9...h'Nt.(j4....8setsock |
16b60 | 6f 70 74 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 | opt().(M2Crypto.SSL.Connection.C |
16b80 | 6f 6e 6e 65 63 74 69 6f 6e 20 6d 65 74 68 6f 64 29 94 6a 3c 13 00 00 68 27 4e 74 94 28 6a 34 1a | onnection.method).j<...h'Nt.(j4. |
16ba0 | 00 00 8c 38 73 65 74 74 69 6d 65 6f 75 74 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 | ...8settimeout().(M2Crypto.SSL.C |
16bc0 | 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 20 6d 65 74 68 6f 64 29 94 6a 3f 13 | onnection.Connection.method).j?. |
16be0 | 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 38 73 65 74 75 70 5f 61 64 64 72 28 29 20 28 4d 32 43 | ..h'Nt.(j4....8setup_addr().(M2C |
16c00 | 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 20 | rypto.SSL.Connection.Connection. |
16c20 | 6d 65 74 68 6f 64 29 94 6a 42 13 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 37 73 65 74 75 70 5f | method).jB...h'Nt.(j4....7setup_ |
16c40 | 73 73 6c 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 | ssl().(M2Crypto.SSL.Connection.C |
16c60 | 6f 6e 6e 65 63 74 69 6f 6e 20 6d 65 74 68 6f 64 29 94 6a 45 13 00 00 68 27 4e 74 94 28 6a 34 1a | onnection.method).jE...h'Nt.(j4. |
16c80 | 00 00 8c 36 73 68 75 74 64 6f 77 6e 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e | ...6shutdown().(M2Crypto.SSL.Con |
16ca0 | 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 20 6d 65 74 68 6f 64 29 94 6a 48 13 00 00 | nection.Connection.method).jH... |
16cc0 | 68 27 4e 74 94 28 6a 34 1a 00 00 8c 3b 73 73 6c 5f 67 65 74 5f 65 72 72 6f 72 28 29 20 28 4d 32 | h'Nt.(j4....;ssl_get_error().(M2 |
16ce0 | 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e | Crypto.SSL.Connection.Connection |
16d00 | 20 6d 65 74 68 6f 64 29 94 6a 4b 13 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 37 76 65 72 69 66 | .method).jK...h'Nt.(j4....7verif |
16d20 | 79 5f 6f 6b 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e | y_ok().(M2Crypto.SSL.Connection. |
16d40 | 43 6f 6e 6e 65 63 74 69 6f 6e 20 6d 65 74 68 6f 64 29 94 6a 4e 13 00 00 68 27 4e 74 94 28 6a 34 | Connection.method).jN...h'Nt.(j4 |
16d60 | 1a 00 00 8c 33 77 72 69 74 65 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 | ....3write().(M2Crypto.SSL.Conne |
16d80 | 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 20 6d 65 74 68 6f 64 29 94 6a 51 13 00 00 68 27 | ction.Connection.method).jQ...h' |
16da0 | 4e 74 94 28 6a 34 1a 00 00 8c 1d 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 74 65 78 74 20 | Nt.(j4.....M2Crypto.SSL.Context. |
16dc0 | 28 6d 6f 64 75 6c 65 29 94 8c 1b 6d 6f 64 75 6c 65 2d 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 | (module)...module-M2Crypto.SSL.C |
16de0 | 6f 6e 74 65 78 74 94 68 27 4e 74 94 28 6a 34 1a 00 00 8c 29 63 74 78 6d 61 70 28 29 20 28 69 6e | ontext.h'Nt.(j4....)ctxmap().(in |
16e00 | 20 6d 6f 64 75 6c 65 20 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 74 65 78 74 29 94 6a 56 | .module.M2Crypto.SSL.Context).jV |
16e20 | 13 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 27 43 6f 6e 74 65 78 74 20 28 63 6c 61 73 73 20 69 | ...h'Nt.(j4....'Context.(class.i |
16e40 | 6e 20 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 74 65 78 74 29 94 6a 59 13 00 00 68 27 4e | n.M2Crypto.SSL.Context).jY...h'N |
16e60 | 74 94 28 6a 34 1a 00 00 8c 33 61 64 64 5f 73 65 73 73 69 6f 6e 28 29 20 28 4d 32 43 72 79 70 74 | t.(j4....3add_session().(M2Crypt |
16e80 | 6f 2e 53 53 4c 2e 43 6f 6e 74 65 78 74 2e 43 6f 6e 74 65 78 74 20 6d 65 74 68 6f 64 29 94 6a 5c | o.SSL.Context.Context.method).j\ |
16ea0 | 13 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 2d 63 6c 6f 73 65 28 29 20 28 4d 32 43 72 79 70 74 | ...h'Nt.(j4....-close().(M2Crypt |
16ec0 | 6f 2e 53 53 4c 2e 43 6f 6e 74 65 78 74 2e 43 6f 6e 74 65 78 74 20 6d 65 74 68 6f 64 29 94 6a 5f | o.SSL.Context.Context.method).j_ |
16ee0 | 13 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 3c 67 65 74 5f 61 6c 6c 6f 77 5f 75 6e 6b 6e 6f 77 | ...h'Nt.(j4....<get_allow_unknow |
16f00 | 6e 5f 63 61 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 74 65 78 74 2e 43 6f 6e | n_ca().(M2Crypto.SSL.Context.Con |
16f20 | 74 65 78 74 20 6d 65 74 68 6f 64 29 94 6a 62 13 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 36 67 | text.method).jb...h'Nt.(j4....6g |
16f40 | 65 74 5f 63 65 72 74 5f 73 74 6f 72 65 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f | et_cert_store().(M2Crypto.SSL.Co |
16f60 | 6e 74 65 78 74 2e 43 6f 6e 74 65 78 74 20 6d 65 74 68 6f 64 29 94 6a 65 13 00 00 68 27 4e 74 94 | ntext.Context.method).je...h'Nt. |
16f80 | 28 6a 34 1a 00 00 8c 3e 67 65 74 5f 73 65 73 73 69 6f 6e 5f 63 61 63 68 65 5f 6d 6f 64 65 28 29 | (j4....>get_session_cache_mode() |
16fa0 | 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 74 65 78 74 2e 43 6f 6e 74 65 78 74 20 6d | .(M2Crypto.SSL.Context.Context.m |
16fc0 | 65 74 68 6f 64 29 94 6a 68 13 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 3b 67 65 74 5f 73 65 73 | ethod).jh...h'Nt.(j4....;get_ses |
16fe0 | 73 69 6f 6e 5f 74 69 6d 65 6f 75 74 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e | sion_timeout().(M2Crypto.SSL.Con |
17000 | 74 65 78 74 2e 43 6f 6e 74 65 78 74 20 6d 65 74 68 6f 64 29 94 6a 6b 13 00 00 68 27 4e 74 94 28 | text.Context.method).jk...h'Nt.( |
17020 | 6a 34 1a 00 00 8c 38 67 65 74 5f 76 65 72 69 66 79 5f 64 65 70 74 68 28 29 20 28 4d 32 43 72 79 | j4....8get_verify_depth().(M2Cry |
17040 | 70 74 6f 2e 53 53 4c 2e 43 6f 6e 74 65 78 74 2e 43 6f 6e 74 65 78 74 20 6d 65 74 68 6f 64 29 94 | pto.SSL.Context.Context.method). |
17060 | 6a 6e 13 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 37 67 65 74 5f 76 65 72 69 66 79 5f 6d 6f 64 | jn...h'Nt.(j4....7get_verify_mod |
17080 | 65 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 74 65 78 74 2e 43 6f 6e 74 65 78 | e().(M2Crypto.SSL.Context.Contex |
170a0 | 74 20 6d 65 74 68 6f 64 29 94 6a 71 13 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 31 6c 6f 61 64 | t.method).jq...h'Nt.(j4....1load |
170c0 | 5f 63 65 72 74 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 74 65 78 74 2e 43 6f | _cert().(M2Crypto.SSL.Context.Co |
170e0 | 6e 74 65 78 74 20 6d 65 74 68 6f 64 29 94 6a 74 13 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 37 | ntext.method).jt...h'Nt.(j4....7 |
17100 | 6c 6f 61 64 5f 63 65 72 74 5f 63 68 61 69 6e 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e | load_cert_chain().(M2Crypto.SSL. |
17120 | 43 6f 6e 74 65 78 74 2e 43 6f 6e 74 65 78 74 20 6d 65 74 68 6f 64 29 94 6a 77 13 00 00 68 27 4e | Context.Context.method).jw...h'N |
17140 | 74 94 28 6a 34 1a 00 00 8c 36 6c 6f 61 64 5f 63 6c 69 65 6e 74 5f 43 41 28 29 20 28 4d 32 43 72 | t.(j4....6load_client_CA().(M2Cr |
17160 | 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 74 65 78 74 2e 43 6f 6e 74 65 78 74 20 6d 65 74 68 6f 64 29 | ypto.SSL.Context.Context.method) |
17180 | 94 6a 7a 13 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 36 6c 6f 61 64 5f 63 6c 69 65 6e 74 5f 63 | .jz...h'Nt.(j4....6load_client_c |
171a0 | 61 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 74 65 78 74 2e 43 6f 6e 74 65 78 | a().(M2Crypto.SSL.Context.Contex |
171c0 | 74 20 6d 65 74 68 6f 64 29 94 6a 7d 13 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 38 6c 6f 61 64 | t.method).j}...h'Nt.(j4....8load |
171e0 | 5f 76 65 72 69 66 79 5f 69 6e 66 6f 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e | _verify_info().(M2Crypto.SSL.Con |
17200 | 74 65 78 74 2e 43 6f 6e 74 65 78 74 20 6d 65 74 68 6f 64 29 94 6a 80 13 00 00 68 27 4e 74 94 28 | text.Context.method).j....h'Nt.( |
17220 | 6a 34 1a 00 00 8c 3d 6c 6f 61 64 5f 76 65 72 69 66 79 5f 6c 6f 63 61 74 69 6f 6e 73 28 29 20 28 | j4....=load_verify_locations().( |
17240 | 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 74 65 78 74 2e 43 6f 6e 74 65 78 74 20 6d 65 74 | M2Crypto.SSL.Context.Context.met |
17260 | 68 6f 64 29 94 6a 83 13 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 37 6d 32 5f 73 73 6c 5f 63 74 | hod).j....h'Nt.(j4....7m2_ssl_ct |
17280 | 78 5f 66 72 65 65 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 74 65 78 74 2e 43 | x_free().(M2Crypto.SSL.Context.C |
172a0 | 6f 6e 74 65 78 74 20 6d 65 74 68 6f 64 29 94 6a 86 13 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c | ontext.method).j....h'Nt.(j4.... |
172c0 | 36 72 65 6d 6f 76 65 5f 73 65 73 73 69 6f 6e 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e | 6remove_session().(M2Crypto.SSL. |
172e0 | 43 6f 6e 74 65 78 74 2e 43 6f 6e 74 65 78 74 20 6d 65 74 68 6f 64 29 94 6a 89 13 00 00 68 27 4e | Context.Context.method).j....h'N |
17300 | 74 94 28 6a 34 1a 00 00 8c 3c 73 65 74 5f 61 6c 6c 6f 77 5f 75 6e 6b 6e 6f 77 6e 5f 63 61 28 29 | t.(j4....<set_allow_unknown_ca() |
17320 | 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 74 65 78 74 2e 43 6f 6e 74 65 78 74 20 6d | .(M2Crypto.SSL.Context.Context.m |
17340 | 65 74 68 6f 64 29 94 6a 8c 13 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 37 73 65 74 5f 63 69 70 | ethod).j....h'Nt.(j4....7set_cip |
17360 | 68 65 72 5f 6c 69 73 74 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 74 65 78 74 | her_list().(M2Crypto.SSL.Context |
17380 | 2e 43 6f 6e 74 65 78 74 20 6d 65 74 68 6f 64 29 94 6a 8f 13 00 00 68 27 4e 74 94 28 6a 34 1a 00 | .Context.method).j....h'Nt.(j4.. |
173a0 | 00 8c 44 73 65 74 5f 63 6c 69 65 6e 74 5f 43 41 5f 6c 69 73 74 5f 66 72 6f 6d 5f 66 69 6c 65 28 | ..Dset_client_CA_list_from_file( |
173c0 | 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 74 65 78 74 2e 43 6f 6e 74 65 78 74 20 | ).(M2Crypto.SSL.Context.Context. |
173e0 | 6d 65 74 68 6f 64 29 94 6a 92 13 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 40 73 65 74 5f 64 65 | method).j....h'Nt.(j4....@set_de |
17400 | 66 61 75 6c 74 5f 76 65 72 69 66 79 5f 70 61 74 68 73 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 | fault_verify_paths().(M2Crypto.S |
17420 | 53 4c 2e 43 6f 6e 74 65 78 74 2e 43 6f 6e 74 65 78 74 20 6d 65 74 68 6f 64 29 94 6a 95 13 00 00 | SL.Context.Context.method).j.... |
17440 | 68 27 4e 74 94 28 6a 34 1a 00 00 8c 39 73 65 74 5f 69 6e 66 6f 5f 63 61 6c 6c 62 61 63 6b 28 29 | h'Nt.(j4....9set_info_callback() |
17460 | 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 74 65 78 74 2e 43 6f 6e 74 65 78 74 20 6d | .(M2Crypto.SSL.Context.Context.m |
17480 | 65 74 68 6f 64 29 94 6a 98 13 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 33 73 65 74 5f 6f 70 74 | ethod).j....h'Nt.(j4....3set_opt |
174a0 | 69 6f 6e 73 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 74 65 78 74 2e 43 6f 6e | ions().(M2Crypto.SSL.Context.Con |
174c0 | 74 65 78 74 20 6d 65 74 68 6f 64 29 94 6a 9b 13 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 3e 73 | text.method).j....h'Nt.(j4....>s |
174e0 | 65 74 5f 73 65 73 73 69 6f 6e 5f 63 61 63 68 65 5f 6d 6f 64 65 28 29 20 28 4d 32 43 72 79 70 74 | et_session_cache_mode().(M2Crypt |
17500 | 6f 2e 53 53 4c 2e 43 6f 6e 74 65 78 74 2e 43 6f 6e 74 65 78 74 20 6d 65 74 68 6f 64 29 94 6a 9e | o.SSL.Context.Context.method).j. |
17520 | 13 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 3a 73 65 74 5f 73 65 73 73 69 6f 6e 5f 69 64 5f 63 | ...h'Nt.(j4....:set_session_id_c |
17540 | 74 78 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 74 65 78 74 2e 43 6f 6e 74 65 | tx().(M2Crypto.SSL.Context.Conte |
17560 | 78 74 20 6d 65 74 68 6f 64 29 94 6a a1 13 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 3b 73 65 74 | xt.method).j....h'Nt.(j4....;set |
17580 | 5f 73 65 73 73 69 6f 6e 5f 74 69 6d 65 6f 75 74 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c | _session_timeout().(M2Crypto.SSL |
175a0 | 2e 43 6f 6e 74 65 78 74 2e 43 6f 6e 74 65 78 74 20 6d 65 74 68 6f 64 29 94 6a a4 13 00 00 68 27 | .Context.Context.method).j....h' |
175c0 | 4e 74 94 28 6a 34 1a 00 00 8c 32 73 65 74 5f 74 6d 70 5f 64 68 28 29 20 28 4d 32 43 72 79 70 74 | Nt.(j4....2set_tmp_dh().(M2Crypt |
175e0 | 6f 2e 53 53 4c 2e 43 6f 6e 74 65 78 74 2e 43 6f 6e 74 65 78 74 20 6d 65 74 68 6f 64 29 94 6a a7 | o.SSL.Context.Context.method).j. |
17600 | 13 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 3b 73 65 74 5f 74 6d 70 5f 64 68 5f 63 61 6c 6c 62 | ...h'Nt.(j4....;set_tmp_dh_callb |
17620 | 61 63 6b 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 74 65 78 74 2e 43 6f 6e 74 | ack().(M2Crypto.SSL.Context.Cont |
17640 | 65 78 74 20 6d 65 74 68 6f 64 29 94 6a aa 13 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 33 73 65 | ext.method).j....h'Nt.(j4....3se |
17660 | 74 5f 74 6d 70 5f 72 73 61 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 74 65 78 | t_tmp_rsa().(M2Crypto.SSL.Contex |
17680 | 74 2e 43 6f 6e 74 65 78 74 20 6d 65 74 68 6f 64 29 94 6a ad 13 00 00 68 27 4e 74 94 28 6a 34 1a | t.Context.method).j....h'Nt.(j4. |
176a0 | 00 00 8c 3c 73 65 74 5f 74 6d 70 5f 72 73 61 5f 63 61 6c 6c 62 61 63 6b 28 29 20 28 4d 32 43 72 | ...<set_tmp_rsa_callback().(M2Cr |
176c0 | 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 74 65 78 74 2e 43 6f 6e 74 65 78 74 20 6d 65 74 68 6f 64 29 | ypto.SSL.Context.Context.method) |
176e0 | 94 6a b0 13 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 32 73 65 74 5f 76 65 72 69 66 79 28 29 20 | .j....h'Nt.(j4....2set_verify(). |
17700 | 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 74 65 78 74 2e 43 6f 6e 74 65 78 74 20 6d 65 | (M2Crypto.SSL.Context.Context.me |
17720 | 74 68 6f 64 29 94 6a b3 13 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 26 6d 61 70 28 29 20 28 69 | thod).j....h'Nt.(j4....&map().(i |
17740 | 6e 20 6d 6f 64 75 6c 65 20 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 74 65 78 74 29 94 6a | n.module.M2Crypto.SSL.Context).j |
17760 | b6 13 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 1f 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 53 53 | ....h'Nt.(j4.....M2Crypto.SSL.SS |
17780 | 4c 53 65 72 76 65 72 20 28 6d 6f 64 75 6c 65 29 94 8c 1d 6d 6f 64 75 6c 65 2d 4d 32 43 72 79 70 | LServer.(module)...module-M2Cryp |
177a0 | 74 6f 2e 53 53 4c 2e 53 53 4c 53 65 72 76 65 72 94 68 27 4e 74 94 28 6a 34 1a 00 00 8c 2b 53 53 | to.SSL.SSLServer.h'Nt.(j4....+SS |
177c0 | 4c 53 65 72 76 65 72 20 28 63 6c 61 73 73 20 69 6e 20 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 53 | LServer.(class.in.M2Crypto.SSL.S |
177e0 | 53 4c 53 65 72 76 65 72 29 94 6a bb 13 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 38 68 61 6e 64 | SLServer).j....h'Nt.(j4....8hand |
17800 | 6c 65 5f 65 72 72 6f 72 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 53 53 4c 53 65 72 76 | le_error().(M2Crypto.SSL.SSLServ |
17820 | 65 72 2e 53 53 4c 53 65 72 76 65 72 20 6d 65 74 68 6f 64 29 94 6a be 13 00 00 68 27 4e 74 94 28 | er.SSLServer.method).j....h'Nt.( |
17840 | 6a 34 1a 00 00 8c 3a 68 61 6e 64 6c 65 5f 72 65 71 75 65 73 74 28 29 20 28 4d 32 43 72 79 70 74 | j4....:handle_request().(M2Crypt |
17860 | 6f 2e 53 53 4c 2e 53 53 4c 53 65 72 76 65 72 2e 53 53 4c 53 65 72 76 65 72 20 6d 65 74 68 6f 64 | o.SSL.SSLServer.SSLServer.method |
17880 | 29 94 6a c1 13 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 32 46 6f 72 6b 69 6e 67 53 53 4c 53 65 | ).j....h'Nt.(j4....2ForkingSSLSe |
178a0 | 72 76 65 72 20 28 63 6c 61 73 73 20 69 6e 20 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 53 53 4c 53 | rver.(class.in.M2Crypto.SSL.SSLS |
178c0 | 65 72 76 65 72 29 94 6a c4 13 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 34 54 68 72 65 61 64 69 | erver).j....h'Nt.(j4....4Threadi |
178e0 | 6e 67 53 53 4c 53 65 72 76 65 72 20 28 63 6c 61 73 73 20 69 6e 20 4d 32 43 72 79 70 74 6f 2e 53 | ngSSLServer.(class.in.M2Crypto.S |
17900 | 53 4c 2e 53 53 4c 53 65 72 76 65 72 29 94 6a c7 13 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 1d | SL.SSLServer).j....h'Nt.(j4..... |
17920 | 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 53 65 73 73 69 6f 6e 20 28 6d 6f 64 75 6c 65 29 94 8c 1b | M2Crypto.SSL.Session.(module)... |
17940 | 6d 6f 64 75 6c 65 2d 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 53 65 73 73 69 6f 6e 94 68 27 4e 74 | module-M2Crypto.SSL.Session.h'Nt |
17960 | 94 28 6a 34 1a 00 00 8c 27 53 65 73 73 69 6f 6e 20 28 63 6c 61 73 73 20 69 6e 20 4d 32 43 72 79 | .(j4....'Session.(class.in.M2Cry |
17980 | 70 74 6f 2e 53 53 4c 2e 53 65 73 73 69 6f 6e 29 94 6a cc 13 00 00 68 27 4e 74 94 28 6a 34 1a 00 | pto.SSL.Session).j....h'Nt.(j4.. |
179a0 | 00 8c 2e 61 73 5f 64 65 72 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 53 65 73 73 69 6f | ...as_der().(M2Crypto.SSL.Sessio |
179c0 | 6e 2e 53 65 73 73 69 6f 6e 20 6d 65 74 68 6f 64 29 94 6a cf 13 00 00 68 27 4e 74 94 28 6a 34 1a | n.Session.method).j....h'Nt.(j4. |
179e0 | 00 00 8c 2f 61 73 5f 74 65 78 74 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 53 65 73 73 | .../as_text().(M2Crypto.SSL.Sess |
17a00 | 69 6f 6e 2e 53 65 73 73 69 6f 6e 20 6d 65 74 68 6f 64 29 94 6a d2 13 00 00 68 27 4e 74 94 28 6a | ion.Session.method).j....h'Nt.(j |
17a20 | 34 1a 00 00 8c 30 67 65 74 5f 74 69 6d 65 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 53 | 4....0get_time().(M2Crypto.SSL.S |
17a40 | 65 73 73 69 6f 6e 2e 53 65 73 73 69 6f 6e 20 6d 65 74 68 6f 64 29 94 6a d5 13 00 00 68 27 4e 74 | ession.Session.method).j....h'Nt |
17a60 | 94 28 6a 34 1a 00 00 8c 33 67 65 74 5f 74 69 6d 65 6f 75 74 28 29 20 28 4d 32 43 72 79 70 74 6f | .(j4....3get_timeout().(M2Crypto |
17a80 | 2e 53 53 4c 2e 53 65 73 73 69 6f 6e 2e 53 65 73 73 69 6f 6e 20 6d 65 74 68 6f 64 29 94 6a d8 13 | .SSL.Session.Session.method).j.. |
17aa0 | 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 3b 6d 32 5f 73 73 6c 5f 73 65 73 73 69 6f 6e 5f 66 72 | ..h'Nt.(j4....;m2_ssl_session_fr |
17ac0 | 65 65 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 53 65 73 73 69 6f 6e 2e 53 65 73 73 69 | ee().(M2Crypto.SSL.Session.Sessi |
17ae0 | 6f 6e 20 6d 65 74 68 6f 64 29 94 6a db 13 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 30 73 65 74 | on.method).j....h'Nt.(j4....0set |
17b00 | 5f 74 69 6d 65 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 53 65 73 73 69 6f 6e 2e 53 65 | _time().(M2Crypto.SSL.Session.Se |
17b20 | 73 73 69 6f 6e 20 6d 65 74 68 6f 64 29 94 6a de 13 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 33 | ssion.method).j....h'Nt.(j4....3 |
17b40 | 73 65 74 5f 74 69 6d 65 6f 75 74 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 53 65 73 73 | set_timeout().(M2Crypto.SSL.Sess |
17b60 | 69 6f 6e 2e 53 65 73 73 69 6f 6e 20 6d 65 74 68 6f 64 29 94 6a e1 13 00 00 68 27 4e 74 94 28 6a | ion.Session.method).j....h'Nt.(j |
17b80 | 34 1a 00 00 8c 31 77 72 69 74 65 5f 62 69 6f 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e | 4....1write_bio().(M2Crypto.SSL. |
17ba0 | 53 65 73 73 69 6f 6e 2e 53 65 73 73 69 6f 6e 20 6d 65 74 68 6f 64 29 94 6a e4 13 00 00 68 27 4e | Session.Session.method).j....h'N |
17bc0 | 74 94 28 6a 34 1a 00 00 8c 2f 6c 6f 61 64 5f 73 65 73 73 69 6f 6e 28 29 20 28 69 6e 20 6d 6f 64 | t.(j4..../load_session().(in.mod |
17be0 | 75 6c 65 20 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 53 65 73 73 69 6f 6e 29 94 6a e7 13 00 00 68 | ule.M2Crypto.SSL.Session).j....h |
17c00 | 27 4e 74 94 28 6a 34 1a 00 00 8c 2c 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 54 77 69 73 74 65 64 | 'Nt.(j4....,M2Crypto.SSL.Twisted |
17c20 | 50 72 6f 74 6f 63 6f 6c 57 72 61 70 70 65 72 20 28 6d 6f 64 75 6c 65 29 94 8c 2a 6d 6f 64 75 6c | ProtocolWrapper.(module)..*modul |
17c40 | 65 2d 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 54 77 69 73 74 65 64 50 72 6f 74 6f 63 6f 6c 57 72 | e-M2Crypto.SSL.TwistedProtocolWr |
17c60 | 61 70 70 65 72 94 68 27 4e 74 94 28 6a 34 1a 00 00 8c 3c 63 6f 6e 6e 65 63 74 53 53 4c 28 29 20 | apper.h'Nt.(j4....<connectSSL(). |
17c80 | 28 69 6e 20 6d 6f 64 75 6c 65 20 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 54 77 69 73 74 65 64 50 | (in.module.M2Crypto.SSL.TwistedP |
17ca0 | 72 6f 74 6f 63 6f 6c 57 72 61 70 70 65 72 29 94 6a ec 13 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 | rotocolWrapper).j....h'Nt.(j4... |
17cc0 | 8c 3c 63 6f 6e 6e 65 63 74 54 43 50 28 29 20 28 69 6e 20 6d 6f 64 75 6c 65 20 4d 32 43 72 79 70 | .<connectTCP().(in.module.M2Cryp |
17ce0 | 74 6f 2e 53 53 4c 2e 54 77 69 73 74 65 64 50 72 6f 74 6f 63 6f 6c 57 72 61 70 70 65 72 29 94 6a | to.SSL.TwistedProtocolWrapper).j |
17d00 | ef 13 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 3b 6c 69 73 74 65 6e 53 53 4c 28 29 20 28 69 6e | ....h'Nt.(j4....;listenSSL().(in |
17d20 | 20 6d 6f 64 75 6c 65 20 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 54 77 69 73 74 65 64 50 72 6f 74 | .module.M2Crypto.SSL.TwistedProt |
17d40 | 6f 63 6f 6c 57 72 61 70 70 65 72 29 94 6a f2 13 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 3b 6c | ocolWrapper).j....h'Nt.(j4....;l |
17d60 | 69 73 74 65 6e 54 43 50 28 29 20 28 69 6e 20 6d 6f 64 75 6c 65 20 4d 32 43 72 79 70 74 6f 2e 53 | istenTCP().(in.module.M2Crypto.S |
17d80 | 53 4c 2e 54 77 69 73 74 65 64 50 72 6f 74 6f 63 6f 6c 57 72 61 70 70 65 72 29 94 6a f5 13 00 00 | SL.TwistedProtocolWrapper).j.... |
17da0 | 68 27 4e 74 94 28 6a 34 1a 00 00 8c 41 54 4c 53 50 72 6f 74 6f 63 6f 6c 57 72 61 70 70 65 72 20 | h'Nt.(j4....ATLSProtocolWrapper. |
17dc0 | 28 63 6c 61 73 73 20 69 6e 20 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 54 77 69 73 74 65 64 50 72 | (class.in.M2Crypto.SSL.TwistedPr |
17de0 | 6f 74 6f 63 6f 6c 57 72 61 70 70 65 72 29 94 6a f8 13 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c | otocolWrapper).j....h'Nt.(j4.... |
17e00 | 47 63 6c 65 61 72 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 54 77 69 73 74 65 64 50 72 | Gclear().(M2Crypto.SSL.TwistedPr |
17e20 | 6f 74 6f 63 6f 6c 57 72 61 70 70 65 72 2e 54 4c 53 50 72 6f 74 6f 63 6f 6c 57 72 61 70 70 65 72 | otocolWrapper.TLSProtocolWrapper |
17e40 | 20 6d 65 74 68 6f 64 29 94 6a fb 13 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 50 63 6f 6e 6e 65 | .method).j....h'Nt.(j4....Pconne |
17e60 | 63 74 69 6f 6e 4c 6f 73 74 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 54 77 69 73 74 65 | ctionLost().(M2Crypto.SSL.Twiste |
17e80 | 64 50 72 6f 74 6f 63 6f 6c 57 72 61 70 70 65 72 2e 54 4c 53 50 72 6f 74 6f 63 6f 6c 57 72 61 70 | dProtocolWrapper.TLSProtocolWrap |
17ea0 | 70 65 72 20 6d 65 74 68 6f 64 29 94 6a fe 13 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 50 63 6f | per.method).j....h'Nt.(j4....Pco |
17ec0 | 6e 6e 65 63 74 69 6f 6e 4d 61 64 65 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 54 77 69 | nnectionMade().(M2Crypto.SSL.Twi |
17ee0 | 73 74 65 64 50 72 6f 74 6f 63 6f 6c 57 72 61 70 70 65 72 2e 54 4c 53 50 72 6f 74 6f 63 6f 6c 57 | stedProtocolWrapper.TLSProtocolW |
17f00 | 72 61 70 70 65 72 20 6d 65 74 68 6f 64 29 94 6a 01 14 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c | rapper.method).j....h'Nt.(j4.... |
17f20 | 4e 64 61 74 61 52 65 63 65 69 76 65 64 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 54 77 | NdataReceived().(M2Crypto.SSL.Tw |
17f40 | 69 73 74 65 64 50 72 6f 74 6f 63 6f 6c 57 72 61 70 70 65 72 2e 54 4c 53 50 72 6f 74 6f 63 6f 6c | istedProtocolWrapper.TLSProtocol |
17f60 | 57 72 61 70 70 65 72 20 6d 65 74 68 6f 64 29 94 6a 04 14 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 | Wrapper.method).j....h'Nt.(j4... |
17f80 | 8c 50 6c 6f 73 65 43 6f 6e 6e 65 63 74 69 6f 6e 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c | .PloseConnection().(M2Crypto.SSL |
17fa0 | 2e 54 77 69 73 74 65 64 50 72 6f 74 6f 63 6f 6c 57 72 61 70 70 65 72 2e 54 4c 53 50 72 6f 74 6f | .TwistedProtocolWrapper.TLSProto |
17fc0 | 63 6f 6c 57 72 61 70 70 65 72 20 6d 65 74 68 6f 64 29 94 6a 07 14 00 00 68 27 4e 74 94 28 6a 34 | colWrapper.method).j....h'Nt.(j4 |
17fe0 | 1a 00 00 8c 4a 73 74 61 72 74 54 4c 53 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 54 77 | ....JstartTLS().(M2Crypto.SSL.Tw |
18000 | 69 73 74 65 64 50 72 6f 74 6f 63 6f 6c 57 72 61 70 70 65 72 2e 54 4c 53 50 72 6f 74 6f 63 6f 6c | istedProtocolWrapper.TLSProtocol |
18020 | 57 72 61 70 70 65 72 20 6d 65 74 68 6f 64 29 94 6a 0a 14 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 | Wrapper.method).j....h'Nt.(j4... |
18040 | 8c 47 77 72 69 74 65 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 54 77 69 73 74 65 64 50 | .Gwrite().(M2Crypto.SSL.TwistedP |
18060 | 72 6f 74 6f 63 6f 6c 57 72 61 70 70 65 72 2e 54 4c 53 50 72 6f 74 6f 63 6f 6c 57 72 61 70 70 65 | rotocolWrapper.TLSProtocolWrappe |
18080 | 72 20 6d 65 74 68 6f 64 29 94 6a 0d 14 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 4f 77 72 69 74 | r.method).j....h'Nt.(j4....Owrit |
180a0 | 65 53 65 71 75 65 6e 63 65 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 54 77 69 73 74 65 | eSequence().(M2Crypto.SSL.Twiste |
180c0 | 64 50 72 6f 74 6f 63 6f 6c 57 72 61 70 70 65 72 2e 54 4c 53 50 72 6f 74 6f 63 6f 6c 57 72 61 70 | dProtocolWrapper.TLSProtocolWrap |
180e0 | 70 65 72 20 6d 65 74 68 6f 64 29 94 6a 10 14 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 18 4d 32 | per.method).j....h'Nt.(j4.....M2 |
18100 | 43 72 79 70 74 6f 2e 53 53 4c 2e 63 62 20 28 6d 6f 64 75 6c 65 29 94 8c 16 6d 6f 64 75 6c 65 2d | Crypto.SSL.cb.(module)...module- |
18120 | 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 63 62 94 68 27 4e 74 94 28 6a 34 1a 00 00 8c 36 73 73 6c | M2Crypto.SSL.cb.h'Nt.(j4....6ssl |
18140 | 5f 76 65 72 69 66 79 5f 63 61 6c 6c 62 61 63 6b 5f 73 74 75 62 28 29 20 28 69 6e 20 6d 6f 64 75 | _verify_callback_stub().(in.modu |
18160 | 6c 65 20 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 63 62 29 94 6a 15 14 00 00 68 27 4e 74 94 28 6a | le.M2Crypto.SSL.cb).j....h'Nt.(j |
18180 | 34 1a 00 00 8c 31 73 73 6c 5f 76 65 72 69 66 79 5f 63 61 6c 6c 62 61 63 6b 28 29 20 28 69 6e 20 | 4....1ssl_verify_callback().(in. |
181a0 | 6d 6f 64 75 6c 65 20 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 63 62 29 94 6a 18 14 00 00 68 27 4e | module.M2Crypto.SSL.cb).j....h'N |
181c0 | 74 94 28 6a 34 1a 00 00 8c 42 73 73 6c 5f 76 65 72 69 66 79 5f 63 61 6c 6c 62 61 63 6b 5f 61 6c | t.(j4....Bssl_verify_callback_al |
181e0 | 6c 6f 77 5f 75 6e 6b 6e 6f 77 6e 5f 63 61 28 29 20 28 69 6e 20 6d 6f 64 75 6c 65 20 4d 32 43 72 | low_unknown_ca().(in.module.M2Cr |
18200 | 79 70 74 6f 2e 53 53 4c 2e 63 62 29 94 6a 1b 14 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 2f 73 | ypto.SSL.cb).j....h'Nt.(j4..../s |
18220 | 73 6c 5f 69 6e 66 6f 5f 63 61 6c 6c 62 61 63 6b 28 29 20 28 69 6e 20 6d 6f 64 75 6c 65 20 4d 32 | sl_info_callback().(in.module.M2 |
18240 | 43 72 79 70 74 6f 2e 53 53 4c 2e 63 62 29 94 6a 1e 14 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c | Crypto.SSL.cb).j....h'Nt.(j4.... |
18260 | 24 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 73 73 6c 5f 64 69 73 70 61 74 63 68 65 72 20 28 6d 6f | $M2Crypto.SSL.ssl_dispatcher.(mo |
18280 | 64 75 6c 65 29 94 8c 22 6d 6f 64 75 6c 65 2d 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 73 73 6c 5f | dule).."module-M2Crypto.SSL.ssl_ |
182a0 | 64 69 73 70 61 74 63 68 65 72 94 68 27 4e 74 94 28 6a 34 1a 00 00 8c 35 73 73 6c 5f 64 69 73 70 | dispatcher.h'Nt.(j4....5ssl_disp |
182c0 | 61 74 63 68 65 72 20 28 63 6c 61 73 73 20 69 6e 20 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 73 73 | atcher.(class.in.M2Crypto.SSL.ss |
182e0 | 6c 5f 64 69 73 70 61 74 63 68 65 72 29 94 6a 23 14 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 3d | l_dispatcher).j#...h'Nt.(j4....= |
18300 | 63 6f 6e 6e 65 63 74 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 73 73 6c 5f 64 69 73 70 | connect().(M2Crypto.SSL.ssl_disp |
18320 | 61 74 63 68 65 72 2e 73 73 6c 5f 64 69 73 70 61 74 63 68 65 72 20 6d 65 74 68 6f 64 29 94 6a 26 | atcher.ssl_dispatcher.method).j& |
18340 | 14 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 43 63 72 65 61 74 65 5f 73 6f 63 6b 65 74 28 29 20 | ...h'Nt.(j4....Ccreate_socket(). |
18360 | 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 73 73 6c 5f 64 69 73 70 61 74 63 68 65 72 2e 73 73 6c | (M2Crypto.SSL.ssl_dispatcher.ssl |
18380 | 5f 64 69 73 70 61 74 63 68 65 72 20 6d 65 74 68 6f 64 29 94 6a 29 14 00 00 68 27 4e 74 94 28 6a | _dispatcher.method).j)...h'Nt.(j |
183a0 | 34 1a 00 00 8c 3a 72 65 63 76 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 73 73 6c 5f 64 | 4....:recv().(M2Crypto.SSL.ssl_d |
183c0 | 69 73 70 61 74 63 68 65 72 2e 73 73 6c 5f 64 69 73 70 61 74 63 68 65 72 20 6d 65 74 68 6f 64 29 | ispatcher.ssl_dispatcher.method) |
183e0 | 94 6a 2c 14 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 3a 73 65 6e 64 28 29 20 28 4d 32 43 72 79 | .j,...h'Nt.(j4....:send().(M2Cry |
18400 | 70 74 6f 2e 53 53 4c 2e 73 73 6c 5f 64 69 73 70 61 74 63 68 65 72 2e 73 73 6c 5f 64 69 73 70 61 | pto.SSL.ssl_dispatcher.ssl_dispa |
18420 | 74 63 68 65 72 20 6d 65 74 68 6f 64 29 94 6a 2f 14 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 8c 1d | tcher.method).j/...h'Nt.(j4..... |
18440 | 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 74 69 6d 65 6f 75 74 20 28 6d 6f 64 75 6c 65 29 94 8c 1b | M2Crypto.SSL.timeout.(module)... |
18460 | 6d 6f 64 75 6c 65 2d 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 74 69 6d 65 6f 75 74 94 68 27 4e 74 | module-M2Crypto.SSL.timeout.h'Nt |
18480 | 94 28 6a 34 1a 00 00 8c 27 74 69 6d 65 6f 75 74 20 28 63 6c 61 73 73 20 69 6e 20 4d 32 43 72 79 | .(j4....'timeout.(class.in.M2Cry |
184a0 | 70 74 6f 2e 53 53 4c 2e 74 69 6d 65 6f 75 74 29 94 6a 34 14 00 00 68 27 4e 74 94 28 6a 34 1a 00 | pto.SSL.timeout).j4...h'Nt.(j4.. |
184c0 | 00 8c 2c 70 61 63 6b 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 74 69 6d 65 6f 75 74 2e | ..,pack().(M2Crypto.SSL.timeout. |
184e0 | 74 69 6d 65 6f 75 74 20 6d 65 74 68 6f 64 29 94 6a 37 14 00 00 68 27 4e 74 94 28 6a 34 1a 00 00 | timeout.method).j7...h'Nt.(j4... |
18500 | 8c 34 73 74 72 75 63 74 5f 74 6f 5f 74 69 6d 65 6f 75 74 28 29 20 28 69 6e 20 6d 6f 64 75 6c 65 | .4struct_to_timeout().(in.module |
18520 | 20 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 74 69 6d 65 6f 75 74 29 94 6a 3a 14 00 00 68 27 4e 74 | .M2Crypto.SSL.timeout).j:...h'Nt |
18540 | 94 28 6a 34 1a 00 00 8c 2e 73 74 72 75 63 74 5f 73 69 7a 65 28 29 20 28 69 6e 20 6d 6f 64 75 6c | .(j4.....struct_size().(in.modul |
18560 | 65 20 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 74 69 6d 65 6f 75 74 29 94 6a 3d 14 00 00 68 27 4e | e.M2Crypto.SSL.timeout).j=...h'N |
18580 | 74 94 65 6a 53 02 00 00 5d 94 28 28 8c 06 73 69 6e 67 6c 65 94 8c 1a 4d 32 43 72 79 70 74 6f 2e | t.ejS...].((..single...M2Crypto. |
185a0 | 5f 5f 69 6e 69 74 5f 5f 20 28 6d 6f 64 75 6c 65 29 94 8c 18 6d 6f 64 75 6c 65 2d 4d 32 43 72 79 | __init__.(module)...module-M2Cry |
185c0 | 70 74 6f 2e 5f 5f 69 6e 69 74 5f 5f 94 68 27 4e 74 94 28 6a 87 1b 00 00 8c 16 4d 32 43 72 79 70 | pto.__init__.h'Nt.(j......M2Cryp |
185e0 | 74 6f 2e 41 53 4e 31 20 28 6d 6f 64 75 6c 65 29 94 8c 14 6d 6f 64 75 6c 65 2d 4d 32 43 72 79 70 | to.ASN1.(module)...module-M2Cryp |
18600 | 74 6f 2e 41 53 4e 31 94 68 27 4e 74 94 28 6a 87 1b 00 00 8c 25 41 53 4e 31 5f 49 6e 74 65 67 65 | to.ASN1.h'Nt.(j.....%ASN1_Intege |
18620 | 72 20 28 63 6c 61 73 73 20 69 6e 20 4d 32 43 72 79 70 74 6f 2e 41 53 4e 31 29 94 6a 45 14 00 00 | r.(class.in.M2Crypto.ASN1).jE... |
18640 | 68 27 4e 74 94 28 6a 87 1b 00 00 8c 3a 6d 32 5f 61 73 6e 31 5f 69 6e 74 65 67 65 72 5f 66 72 65 | h'Nt.(j.....:m2_asn1_integer_fre |
18660 | 65 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 41 53 4e 31 2e 41 53 4e 31 5f 49 6e 74 65 67 65 72 20 | e().(M2Crypto.ASN1.ASN1_Integer. |
18680 | 6d 65 74 68 6f 64 29 94 6a 48 14 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 24 41 53 4e 31 5f 4f | method).jH...h'Nt.(j.....$ASN1_O |
186a0 | 62 6a 65 63 74 20 28 63 6c 61 73 73 20 69 6e 20 4d 32 43 72 79 70 74 6f 2e 41 53 4e 31 29 94 6a | bject.(class.in.M2Crypto.ASN1).j |
186c0 | 4b 14 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 38 6d 32 5f 61 73 6e 31 5f 6f 62 6a 65 63 74 5f | K...h'Nt.(j.....8m2_asn1_object_ |
186e0 | 66 72 65 65 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 41 53 4e 31 2e 41 53 4e 31 5f 4f 62 6a 65 63 | free().(M2Crypto.ASN1.ASN1_Objec |
18700 | 74 20 6d 65 74 68 6f 64 29 94 6a 4e 14 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 24 41 53 4e 31 | t.method).jN...h'Nt.(j.....$ASN1 |
18720 | 5f 53 74 72 69 6e 67 20 28 63 6c 61 73 73 20 69 6e 20 4d 32 43 72 79 70 74 6f 2e 41 53 4e 31 29 | _String.(class.in.M2Crypto.ASN1) |
18740 | 94 6a 51 14 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 2c 61 73 5f 74 65 78 74 28 29 20 28 4d 32 | .jQ...h'Nt.(j.....,as_text().(M2 |
18760 | 43 72 79 70 74 6f 2e 41 53 4e 31 2e 41 53 4e 31 5f 53 74 72 69 6e 67 20 6d 65 74 68 6f 64 29 94 | Crypto.ASN1.ASN1_String.method). |
18780 | 6a 54 14 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 38 6d 32 5f 61 73 6e 31 5f 73 74 72 69 6e 67 | jT...h'Nt.(j.....8m2_asn1_string |
187a0 | 5f 66 72 65 65 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 41 53 4e 31 2e 41 53 4e 31 5f 53 74 72 69 | _free().(M2Crypto.ASN1.ASN1_Stri |
187c0 | 6e 67 20 6d 65 74 68 6f 64 29 94 6a 57 14 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 22 41 53 4e | ng.method).jW...h'Nt.(j....."ASN |
187e0 | 31 5f 54 49 4d 45 20 28 63 6c 61 73 73 20 69 6e 20 4d 32 43 72 79 70 74 6f 2e 41 53 4e 31 29 94 | 1_TIME.(class.in.M2Crypto.ASN1). |
18800 | 6a 5a 14 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 2f 67 65 74 5f 64 61 74 65 74 69 6d 65 28 29 | jZ...h'Nt.(j...../get_datetime() |
18820 | 20 28 4d 32 43 72 79 70 74 6f 2e 41 53 4e 31 2e 41 53 4e 31 5f 54 49 4d 45 20 6d 65 74 68 6f 64 | .(M2Crypto.ASN1.ASN1_TIME.method |
18840 | 29 94 6a 5d 14 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 34 6d 32 5f 61 73 6e 31 5f 74 69 6d 65 | ).j]...h'Nt.(j.....4m2_asn1_time |
18860 | 5f 66 72 65 65 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 41 53 4e 31 2e 41 53 4e 31 5f 54 49 4d 45 | _free().(M2Crypto.ASN1.ASN1_TIME |
18880 | 20 6d 65 74 68 6f 64 29 94 6a 60 14 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 2f 73 65 74 5f 64 | .method).j`...h'Nt.(j...../set_d |
188a0 | 61 74 65 74 69 6d 65 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 41 53 4e 31 2e 41 53 4e 31 5f 54 49 | atetime().(M2Crypto.ASN1.ASN1_TI |
188c0 | 4d 45 20 6d 65 74 68 6f 64 29 94 6a 63 14 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 2d 73 65 74 | ME.method).jc...h'Nt.(j.....-set |
188e0 | 5f 73 74 72 69 6e 67 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 41 53 4e 31 2e 41 53 4e 31 5f 54 49 | _string().(M2Crypto.ASN1.ASN1_TI |
18900 | 4d 45 20 6d 65 74 68 6f 64 29 94 6a 66 14 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 2b 73 65 74 | ME.method).jf...h'Nt.(j.....+set |
18920 | 5f 74 69 6d 65 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 41 53 4e 31 2e 41 53 4e 31 5f 54 49 4d 45 | _time().(M2Crypto.ASN1.ASN1_TIME |
18940 | 20 6d 65 74 68 6f 64 29 94 6a 69 14 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 26 41 53 4e 31 5f | .method).ji...h'Nt.(j.....&ASN1_ |
18960 | 55 54 43 54 49 4d 45 20 28 69 6e 20 6d 6f 64 75 6c 65 20 4d 32 43 72 79 70 74 6f 2e 41 53 4e 31 | UTCTIME.(in.module.M2Crypto.ASN1 |
18980 | 29 94 6a 6c 14 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 26 4c 6f 63 61 6c 54 69 6d 65 7a 6f 6e | ).jl...h'Nt.(j.....&LocalTimezon |
189a0 | 65 20 28 63 6c 61 73 73 20 69 6e 20 4d 32 43 72 79 70 74 6f 2e 41 53 4e 31 29 94 6a 6f 14 00 00 | e.(class.in.M2Crypto.ASN1).jo... |
189c0 | 68 27 4e 74 94 28 6a 87 1b 00 00 8c 2a 64 73 74 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 41 53 4e | h'Nt.(j.....*dst().(M2Crypto.ASN |
189e0 | 31 2e 4c 6f 63 61 6c 54 69 6d 65 7a 6f 6e 65 20 6d 65 74 68 6f 64 29 94 6a 72 14 00 00 68 27 4e | 1.LocalTimezone.method).jr...h'N |
18a00 | 74 94 28 6a 87 1b 00 00 8c 2d 74 7a 6e 61 6d 65 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 41 53 4e | t.(j.....-tzname().(M2Crypto.ASN |
18a20 | 31 2e 4c 6f 63 61 6c 54 69 6d 65 7a 6f 6e 65 20 6d 65 74 68 6f 64 29 94 6a 75 14 00 00 68 27 4e | 1.LocalTimezone.method).ju...h'N |
18a40 | 74 94 28 6a 87 1b 00 00 8c 30 75 74 63 6f 66 66 73 65 74 28 29 20 28 4d 32 43 72 79 70 74 6f 2e | t.(j.....0utcoffset().(M2Crypto. |
18a60 | 41 53 4e 31 2e 4c 6f 63 61 6c 54 69 6d 65 7a 6f 6e 65 20 6d 65 74 68 6f 64 29 94 6a 78 14 00 00 | ASN1.LocalTimezone.method).jx... |
18a80 | 68 27 4e 74 94 28 6a 87 1b 00 00 8c 1c 4d 32 43 72 79 70 74 6f 2e 41 75 74 68 43 6f 6f 6b 69 65 | h'Nt.(j......M2Crypto.AuthCookie |
18aa0 | 20 28 6d 6f 64 75 6c 65 29 94 8c 1a 6d 6f 64 75 6c 65 2d 4d 32 43 72 79 70 74 6f 2e 41 75 74 68 | .(module)...module-M2Crypto.Auth |
18ac0 | 43 6f 6f 6b 69 65 94 68 27 4e 74 94 28 6a 87 1b 00 00 8c 29 41 75 74 68 43 6f 6f 6b 69 65 20 28 | Cookie.h'Nt.(j.....)AuthCookie.( |
18ae0 | 63 6c 61 73 73 20 69 6e 20 4d 32 43 72 79 70 74 6f 2e 41 75 74 68 43 6f 6f 6b 69 65 29 94 6a 7d | class.in.M2Crypto.AuthCookie).j} |
18b00 | 14 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 2e 64 61 74 61 28 29 20 28 4d 32 43 72 79 70 74 6f | ...h'Nt.(j......data().(M2Crypto |
18b20 | 2e 41 75 74 68 43 6f 6f 6b 69 65 2e 41 75 74 68 43 6f 6f 6b 69 65 20 6d 65 74 68 6f 64 29 94 6a | .AuthCookie.AuthCookie.method).j |
18b40 | 80 14 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 30 65 78 70 69 72 79 28 29 20 28 4d 32 43 72 79 | ....h'Nt.(j.....0expiry().(M2Cry |
18b60 | 70 74 6f 2e 41 75 74 68 43 6f 6f 6b 69 65 2e 41 75 74 68 43 6f 6f 6b 69 65 20 6d 65 74 68 6f 64 | pto.AuthCookie.AuthCookie.method |
18b80 | 29 94 6a 83 14 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 35 68 65 61 64 65 72 56 61 6c 75 65 28 | ).j....h'Nt.(j.....5headerValue( |
18ba0 | 29 20 28 4d 32 43 72 79 70 74 6f 2e 41 75 74 68 43 6f 6f 6b 69 65 2e 41 75 74 68 43 6f 6f 6b 69 | ).(M2Crypto.AuthCookie.AuthCooki |
18bc0 | 65 20 6d 65 74 68 6f 64 29 94 6a 86 14 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 33 69 73 45 78 | e.method).j....h'Nt.(j.....3isEx |
18be0 | 70 69 72 65 64 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 41 75 74 68 43 6f 6f 6b 69 65 2e 41 75 74 | pired().(M2Crypto.AuthCookie.Aut |
18c00 | 68 43 6f 6f 6b 69 65 20 6d 65 74 68 6f 64 29 94 6a 89 14 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 | hCookie.method).j....h'Nt.(j.... |
18c20 | 8c 2d 6d 61 63 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 41 75 74 68 43 6f 6f 6b 69 65 2e 41 75 74 | .-mac().(M2Crypto.AuthCookie.Aut |
18c40 | 68 43 6f 6f 6b 69 65 20 6d 65 74 68 6f 64 29 94 6a 8c 14 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 | hCookie.method).j....h'Nt.(j.... |
18c60 | 8c 2e 6e 61 6d 65 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 41 75 74 68 43 6f 6f 6b 69 65 2e 41 75 | ..name().(M2Crypto.AuthCookie.Au |
18c80 | 74 68 43 6f 6f 6b 69 65 20 6d 65 74 68 6f 64 29 94 6a 8f 14 00 00 68 27 4e 74 94 28 6a 87 1b 00 | thCookie.method).j....h'Nt.(j... |
18ca0 | 00 8c 30 6f 75 74 70 75 74 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 41 75 74 68 43 6f 6f 6b 69 65 | ..0output().(M2Crypto.AuthCookie |
18cc0 | 2e 41 75 74 68 43 6f 6f 6b 69 65 20 6d 65 74 68 6f 64 29 94 6a 92 14 00 00 68 27 4e 74 94 28 6a | .AuthCookie.method).j....h'Nt.(j |
18ce0 | 87 1b 00 00 8c 2f 76 61 6c 75 65 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 41 75 74 68 43 6f 6f 6b | ...../value().(M2Crypto.AuthCook |
18d00 | 69 65 2e 41 75 74 68 43 6f 6f 6b 69 65 20 6d 65 74 68 6f 64 29 94 6a 95 14 00 00 68 27 4e 74 94 | ie.AuthCookie.method).j....h'Nt. |
18d20 | 28 6a 87 1b 00 00 8c 2c 41 75 74 68 43 6f 6f 6b 69 65 4a 61 72 20 28 63 6c 61 73 73 20 69 6e 20 | (j.....,AuthCookieJar.(class.in. |
18d40 | 4d 32 43 72 79 70 74 6f 2e 41 75 74 68 43 6f 6f 6b 69 65 29 94 6a 98 14 00 00 68 27 4e 74 94 28 | M2Crypto.AuthCookie).j....h'Nt.( |
18d60 | 6a 87 1b 00 00 8c 39 69 73 47 6f 6f 64 43 6f 6f 6b 69 65 28 29 20 28 4d 32 43 72 79 70 74 6f 2e | j.....9isGoodCookie().(M2Crypto. |
18d80 | 41 75 74 68 43 6f 6f 6b 69 65 2e 41 75 74 68 43 6f 6f 6b 69 65 4a 61 72 20 6d 65 74 68 6f 64 29 | AuthCookie.AuthCookieJar.method) |
18da0 | 94 6a 9b 14 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 3f 69 73 47 6f 6f 64 43 6f 6f 6b 69 65 53 | .j....h'Nt.(j.....?isGoodCookieS |
18dc0 | 74 72 69 6e 67 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 41 75 74 68 43 6f 6f 6b 69 65 2e 41 75 74 | tring().(M2Crypto.AuthCookie.Aut |
18de0 | 68 43 6f 6f 6b 69 65 4a 61 72 20 6d 65 74 68 6f 64 29 94 6a 9e 14 00 00 68 27 4e 74 94 28 6a 87 | hCookieJar.method).j....h'Nt.(j. |
18e00 | 1b 00 00 8c 37 6d 61 6b 65 43 6f 6f 6b 69 65 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 41 75 74 68 | ....7makeCookie().(M2Crypto.Auth |
18e20 | 43 6f 6f 6b 69 65 2e 41 75 74 68 43 6f 6f 6b 69 65 4a 61 72 20 6d 65 74 68 6f 64 29 94 6a a1 14 | Cookie.AuthCookieJar.method).j.. |
18e40 | 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 25 6d 69 78 28 29 20 28 69 6e 20 6d 6f 64 75 6c 65 20 | ..h'Nt.(j.....%mix().(in.module. |
18e60 | 4d 32 43 72 79 70 74 6f 2e 41 75 74 68 43 6f 6f 6b 69 65 29 94 6a a4 14 00 00 68 27 4e 74 94 28 | M2Crypto.AuthCookie).j....h'Nt.( |
18e80 | 6a 87 1b 00 00 8c 27 75 6e 6d 69 78 28 29 20 28 69 6e 20 6d 6f 64 75 6c 65 20 4d 32 43 72 79 70 | j.....'unmix().(in.module.M2Cryp |
18ea0 | 74 6f 2e 41 75 74 68 43 6f 6f 6b 69 65 29 94 6a a7 14 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c | to.AuthCookie).j....h'Nt.(j..... |
18ec0 | 28 75 6e 6d 69 78 33 28 29 20 28 69 6e 20 6d 6f 64 75 6c 65 20 4d 32 43 72 79 70 74 6f 2e 41 75 | (unmix3().(in.module.M2Crypto.Au |
18ee0 | 74 68 43 6f 6f 6b 69 65 29 94 6a aa 14 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 15 4d 32 43 72 | thCookie).j....h'Nt.(j......M2Cr |
18f00 | 79 70 74 6f 2e 42 49 4f 20 28 6d 6f 64 75 6c 65 29 94 8c 13 6d 6f 64 75 6c 65 2d 4d 32 43 72 79 | ypto.BIO.(module)...module-M2Cry |
18f20 | 70 74 6f 2e 42 49 4f 94 68 27 4e 74 94 28 6a 87 1b 00 00 8c 1b 42 49 4f 20 28 63 6c 61 73 73 20 | pto.BIO.h'Nt.(j......BIO.(class. |
18f40 | 69 6e 20 4d 32 43 72 79 70 74 6f 2e 42 49 4f 29 94 6a af 14 00 00 68 27 4e 74 94 28 6a 87 1b 00 | in.M2Crypto.BIO).j....h'Nt.(j... |
18f60 | 00 8c 23 62 69 6f 5f 70 74 72 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 42 49 4f 2e 42 49 4f 20 6d | ..#bio_ptr().(M2Crypto.BIO.BIO.m |
18f80 | 65 74 68 6f 64 29 94 6a b2 14 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 21 63 6c 6f 73 65 28 29 | ethod).j....h'Nt.(j.....!close() |
18fa0 | 20 28 4d 32 43 72 79 70 74 6f 2e 42 49 4f 2e 42 49 4f 20 6d 65 74 68 6f 64 29 94 6a b5 14 00 00 | .(M2Crypto.BIO.BIO.method).j.... |
18fc0 | 68 27 4e 74 94 28 6a 87 1b 00 00 8c 22 66 69 6c 65 6e 6f 28 29 20 28 4d 32 43 72 79 70 74 6f 2e | h'Nt.(j....."fileno().(M2Crypto. |
18fe0 | 42 49 4f 2e 42 49 4f 20 6d 65 74 68 6f 64 29 94 6a b8 14 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 | BIO.BIO.method).j....h'Nt.(j.... |
19000 | 8c 21 66 6c 75 73 68 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 42 49 4f 2e 42 49 4f 20 6d 65 74 68 | .!flush().(M2Crypto.BIO.BIO.meth |
19020 | 6f 64 29 94 6a bb 14 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 27 6d 32 5f 62 69 6f 5f 66 72 65 | od).j....h'Nt.(j.....'m2_bio_fre |
19040 | 65 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 42 49 4f 2e 42 49 4f 20 6d 65 74 68 6f 64 29 94 6a be | e().(M2Crypto.BIO.BIO.method).j. |
19060 | 14 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 20 72 65 61 64 28 29 20 28 4d 32 43 72 79 70 74 6f | ...h'Nt.(j......read().(M2Crypto |
19080 | 2e 42 49 4f 2e 42 49 4f 20 6d 65 74 68 6f 64 29 94 6a c1 14 00 00 68 27 4e 74 94 28 6a 87 1b 00 | .BIO.BIO.method).j....h'Nt.(j... |
190a0 | 00 8c 24 72 65 61 64 61 62 6c 65 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 42 49 4f 2e 42 49 4f 20 | ..$readable().(M2Crypto.BIO.BIO. |
190c0 | 6d 65 74 68 6f 64 29 94 6a c4 14 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 24 72 65 61 64 6c 69 | method).j....h'Nt.(j.....$readli |
190e0 | 6e 65 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 42 49 4f 2e 42 49 4f 20 6d 65 74 68 6f 64 29 94 6a | ne().(M2Crypto.BIO.BIO.method).j |
19100 | c7 14 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 25 72 65 61 64 6c 69 6e 65 73 28 29 20 28 4d 32 | ....h'Nt.(j.....%readlines().(M2 |
19120 | 43 72 79 70 74 6f 2e 42 49 4f 2e 42 49 4f 20 6d 65 74 68 6f 64 29 94 6a ca 14 00 00 68 27 4e 74 | Crypto.BIO.BIO.method).j....h'Nt |
19140 | 94 28 6a 87 1b 00 00 8c 21 72 65 73 65 74 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 42 49 4f 2e 42 | .(j.....!reset().(M2Crypto.BIO.B |
19160 | 49 4f 20 6d 65 74 68 6f 64 29 94 6a cd 14 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 20 73 65 65 | IO.method).j....h'Nt.(j......see |
19180 | 6b 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 42 49 4f 2e 42 49 4f 20 6d 65 74 68 6f 64 29 94 6a d0 | k().(M2Crypto.BIO.BIO.method).j. |
191a0 | 14 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 27 73 68 6f 75 6c 64 5f 72 65 61 64 28 29 20 28 4d | ...h'Nt.(j.....'should_read().(M |
191c0 | 32 43 72 79 70 74 6f 2e 42 49 4f 2e 42 49 4f 20 6d 65 74 68 6f 64 29 94 6a d3 14 00 00 68 27 4e | 2Crypto.BIO.BIO.method).j....h'N |
191e0 | 74 94 28 6a 87 1b 00 00 8c 28 73 68 6f 75 6c 64 5f 72 65 74 72 79 28 29 20 28 4d 32 43 72 79 70 | t.(j.....(should_retry().(M2Cryp |
19200 | 74 6f 2e 42 49 4f 2e 42 49 4f 20 6d 65 74 68 6f 64 29 94 6a d6 14 00 00 68 27 4e 74 94 28 6a 87 | to.BIO.BIO.method).j....h'Nt.(j. |
19220 | 1b 00 00 8c 28 73 68 6f 75 6c 64 5f 77 72 69 74 65 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 42 49 | ....(should_write().(M2Crypto.BI |
19240 | 4f 2e 42 49 4f 20 6d 65 74 68 6f 64 29 94 6a d9 14 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 20 | O.BIO.method).j....h'Nt.(j...... |
19260 | 74 65 6c 6c 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 42 49 4f 2e 42 49 4f 20 6d 65 74 68 6f 64 29 | tell().(M2Crypto.BIO.BIO.method) |
19280 | 94 6a dc 14 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 21 77 72 69 74 65 28 29 20 28 4d 32 43 72 | .j....h'Nt.(j.....!write().(M2Cr |
192a0 | 79 70 74 6f 2e 42 49 4f 2e 42 49 4f 20 6d 65 74 68 6f 64 29 94 6a df 14 00 00 68 27 4e 74 94 28 | ypto.BIO.BIO.method).j....h'Nt.( |
192c0 | 6a 87 1b 00 00 8c 27 77 72 69 74 65 5f 63 6c 6f 73 65 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 42 | j.....'write_close().(M2Crypto.B |
192e0 | 49 4f 2e 42 49 4f 20 6d 65 74 68 6f 64 29 94 6a e2 14 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c | IO.BIO.method).j....h'Nt.(j..... |
19300 | 25 77 72 69 74 65 61 62 6c 65 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 42 49 4f 2e 42 49 4f 20 6d | %writeable().(M2Crypto.BIO.BIO.m |
19320 | 65 74 68 6f 64 29 94 6a e5 14 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 08 42 49 4f 45 72 72 6f | ethod).j....h'Nt.(j......BIOErro |
19340 | 72 94 6a e8 14 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 24 43 69 70 68 65 72 53 74 72 65 61 6d | r.j....h'Nt.(j.....$CipherStream |
19360 | 20 28 63 6c 61 73 73 20 69 6e 20 4d 32 43 72 79 70 74 6f 2e 42 49 4f 29 94 6a eb 14 00 00 68 27 | .(class.in.M2Crypto.BIO).j....h' |
19380 | 4e 74 94 28 6a 87 1b 00 00 8c 2e 53 41 4c 54 5f 4c 45 4e 20 28 4d 32 43 72 79 70 74 6f 2e 42 49 | Nt.(j......SALT_LEN.(M2Crypto.BI |
193a0 | 4f 2e 43 69 70 68 65 72 53 74 72 65 61 6d 20 61 74 74 72 69 62 75 74 65 29 94 6a ee 14 00 00 68 | O.CipherStream.attribute).j....h |
193c0 | 27 4e 74 94 28 6a 87 1b 00 00 8c 2a 63 6c 6f 73 65 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 42 49 | 'Nt.(j.....*close().(M2Crypto.BI |
193e0 | 4f 2e 43 69 70 68 65 72 53 74 72 65 61 6d 20 6d 65 74 68 6f 64 29 94 6a f1 14 00 00 68 27 4e 74 | O.CipherStream.method).j....h'Nt |
19400 | 94 28 6a 87 1b 00 00 8c 30 6d 32 5f 62 69 6f 5f 66 72 65 65 28 29 20 28 4d 32 43 72 79 70 74 6f | .(j.....0m2_bio_free().(M2Crypto |
19420 | 2e 42 49 4f 2e 43 69 70 68 65 72 53 74 72 65 61 6d 20 6d 65 74 68 6f 64 29 94 6a f4 14 00 00 68 | .BIO.CipherStream.method).j....h |
19440 | 27 4e 74 94 28 6a 87 1b 00 00 8c 2f 6d 32 5f 62 69 6f 5f 70 6f 70 28 29 20 28 4d 32 43 72 79 70 | 'Nt.(j...../m2_bio_pop().(M2Cryp |
19460 | 74 6f 2e 42 49 4f 2e 43 69 70 68 65 72 53 74 72 65 61 6d 20 6d 65 74 68 6f 64 29 94 6a f7 14 00 | to.BIO.CipherStream.method).j... |
19480 | 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 2f 73 65 74 5f 63 69 70 68 65 72 28 29 20 28 4d 32 43 72 | .h'Nt.(j...../set_cipher().(M2Cr |
194a0 | 79 70 74 6f 2e 42 49 4f 2e 43 69 70 68 65 72 53 74 72 65 61 6d 20 6d 65 74 68 6f 64 29 94 6a fa | ypto.BIO.CipherStream.method).j. |
194c0 | 14 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 30 77 72 69 74 65 5f 63 6c 6f 73 65 28 29 20 28 4d | ...h'Nt.(j.....0write_close().(M |
194e0 | 32 43 72 79 70 74 6f 2e 42 49 4f 2e 43 69 70 68 65 72 53 74 72 65 61 6d 20 6d 65 74 68 6f 64 29 | 2Crypto.BIO.CipherStream.method) |
19500 | 94 6a fd 14 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 1c 46 69 6c 65 20 28 63 6c 61 73 73 20 69 | .j....h'Nt.(j......File.(class.i |
19520 | 6e 20 4d 32 43 72 79 70 74 6f 2e 42 49 4f 29 94 6a 00 15 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 | n.M2Crypto.BIO).j....h'Nt.(j.... |
19540 | 8c 22 63 6c 6f 73 65 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 42 49 4f 2e 46 69 6c 65 20 6d 65 74 | ."close().(M2Crypto.BIO.File.met |
19560 | 68 6f 64 29 94 6a 03 15 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 22 66 6c 75 73 68 28 29 20 28 | hod).j....h'Nt.(j....."flush().( |
19580 | 4d 32 43 72 79 70 74 6f 2e 42 49 4f 2e 46 69 6c 65 20 6d 65 74 68 6f 64 29 94 6a 06 15 00 00 68 | M2Crypto.BIO.File.method).j....h |
195a0 | 27 4e 74 94 28 6a 87 1b 00 00 8c 22 72 65 73 65 74 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 42 49 | 'Nt.(j....."reset().(M2Crypto.BI |
195c0 | 4f 2e 46 69 6c 65 20 6d 65 74 68 6f 64 29 94 6a 09 15 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c | O.File.method).j....h'Nt.(j..... |
195e0 | 20 49 4f 42 75 66 66 65 72 20 28 63 6c 61 73 73 20 69 6e 20 4d 32 43 72 79 70 74 6f 2e 42 49 4f | .IOBuffer.(class.in.M2Crypto.BIO |
19600 | 29 94 6a 0c 15 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 26 63 6c 6f 73 65 28 29 20 28 4d 32 43 | ).j....h'Nt.(j.....&close().(M2C |
19620 | 72 79 70 74 6f 2e 42 49 4f 2e 49 4f 42 75 66 66 65 72 20 6d 65 74 68 6f 64 29 94 6a 0f 15 00 00 | rypto.BIO.IOBuffer.method).j.... |
19640 | 68 27 4e 74 94 28 6a 87 1b 00 00 8c 2c 6d 32 5f 62 69 6f 5f 66 72 65 65 28 29 20 28 4d 32 43 72 | h'Nt.(j.....,m2_bio_free().(M2Cr |
19660 | 79 70 74 6f 2e 42 49 4f 2e 49 4f 42 75 66 66 65 72 20 6d 65 74 68 6f 64 29 94 6a 12 15 00 00 68 | ypto.BIO.IOBuffer.method).j....h |
19680 | 27 4e 74 94 28 6a 87 1b 00 00 8c 2b 6d 32 5f 62 69 6f 5f 70 6f 70 28 29 20 28 4d 32 43 72 79 70 | 'Nt.(j.....+m2_bio_pop().(M2Cryp |
196a0 | 74 6f 2e 42 49 4f 2e 49 4f 42 75 66 66 65 72 20 6d 65 74 68 6f 64 29 94 6a 15 15 00 00 68 27 4e | to.BIO.IOBuffer.method).j....h'N |
196c0 | 74 94 28 6a 87 1b 00 00 8c 24 4d 65 6d 6f 72 79 42 75 66 66 65 72 20 28 63 6c 61 73 73 20 69 6e | t.(j.....$MemoryBuffer.(class.in |
196e0 | 20 4d 32 43 72 79 70 74 6f 2e 42 49 4f 29 94 6a 18 15 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c | .M2Crypto.BIO).j....h'Nt.(j..... |
19700 | 2a 63 6c 6f 73 65 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 42 49 4f 2e 4d 65 6d 6f 72 79 42 75 66 | *close().(M2Crypto.BIO.MemoryBuf |
19720 | 66 65 72 20 6d 65 74 68 6f 64 29 94 6a 1b 15 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 2d 67 65 | fer.method).j....h'Nt.(j.....-ge |
19740 | 74 76 61 6c 75 65 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 42 49 4f 2e 4d 65 6d 6f 72 79 42 75 66 | tvalue().(M2Crypto.BIO.MemoryBuf |
19760 | 66 65 72 20 6d 65 74 68 6f 64 29 94 6a 1e 15 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 29 72 65 | fer.method).j....h'Nt.(j.....)re |
19780 | 61 64 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 42 49 4f 2e 4d 65 6d 6f 72 79 42 75 66 66 65 72 20 | ad().(M2Crypto.BIO.MemoryBuffer. |
197a0 | 6d 65 74 68 6f 64 29 94 6a 21 15 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 2d 72 65 61 64 5f 61 | method).j!...h'Nt.(j.....-read_a |
197c0 | 6c 6c 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 42 49 4f 2e 4d 65 6d 6f 72 79 42 75 66 66 65 72 20 | ll().(M2Crypto.BIO.MemoryBuffer. |
197e0 | 6d 65 74 68 6f 64 29 94 6a 24 15 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 30 77 72 69 74 65 5f | method).j$...h'Nt.(j.....0write_ |
19800 | 63 6c 6f 73 65 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 42 49 4f 2e 4d 65 6d 6f 72 79 42 75 66 66 | close().(M2Crypto.BIO.MemoryBuff |
19820 | 65 72 20 6d 65 74 68 6f 64 29 94 6a 27 15 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 1e 53 53 4c | er.method).j'...h'Nt.(j......SSL |
19840 | 42 69 6f 20 28 63 6c 61 73 73 20 69 6e 20 4d 32 43 72 79 70 74 6f 2e 42 49 4f 29 94 6a 2a 15 00 | Bio.(class.in.M2Crypto.BIO).j*.. |
19860 | 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 2b 64 6f 5f 68 61 6e 64 73 68 61 6b 65 28 29 20 28 4d 32 | .h'Nt.(j.....+do_handshake().(M2 |
19880 | 43 72 79 70 74 6f 2e 42 49 4f 2e 53 53 4c 42 69 6f 20 6d 65 74 68 6f 64 29 94 6a 2d 15 00 00 68 | Crypto.BIO.SSLBio.method).j-...h |
198a0 | 27 4e 74 94 28 6a 87 1b 00 00 8c 26 73 65 74 5f 73 73 6c 28 29 20 28 4d 32 43 72 79 70 74 6f 2e | 'Nt.(j.....&set_ssl().(M2Crypto. |
198c0 | 42 49 4f 2e 53 53 4c 42 69 6f 20 6d 65 74 68 6f 64 29 94 6a 30 15 00 00 68 27 4e 74 94 28 6a 87 | BIO.SSLBio.method).j0...h'Nt.(j. |
198e0 | 1b 00 00 8c 23 6f 70 65 6e 66 69 6c 65 28 29 20 28 69 6e 20 6d 6f 64 75 6c 65 20 4d 32 43 72 79 | ....#openfile().(in.module.M2Cry |
19900 | 70 74 6f 2e 42 49 4f 29 94 6a 33 15 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 14 4d 32 43 72 79 | pto.BIO).j3...h'Nt.(j......M2Cry |
19920 | 70 74 6f 2e 42 4e 20 28 6d 6f 64 75 6c 65 29 94 8c 12 6d 6f 64 75 6c 65 2d 4d 32 43 72 79 70 74 | pto.BN.(module)...module-M2Crypt |
19940 | 6f 2e 42 4e 94 68 27 4e 74 94 28 6a 87 1b 00 00 8c 1e 72 61 6e 64 28 29 20 28 69 6e 20 6d 6f 64 | o.BN.h'Nt.(j......rand().(in.mod |
19960 | 75 6c 65 20 4d 32 43 72 79 70 74 6f 2e 42 4e 29 94 6a 38 15 00 00 68 27 4e 74 94 28 6a 87 1b 00 | ule.M2Crypto.BN).j8...h'Nt.(j... |
19980 | 00 8c 24 72 61 6e 64 5f 72 61 6e 67 65 28 29 20 28 69 6e 20 6d 6f 64 75 6c 65 20 4d 32 43 72 79 | ..$rand_range().(in.module.M2Cry |
199a0 | 70 74 6f 2e 42 4e 29 94 6a 3b 15 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 23 72 61 6e 64 66 6e | pto.BN).j;...h'Nt.(j.....#randfn |
199c0 | 61 6d 65 28 29 20 28 69 6e 20 6d 6f 64 75 6c 65 20 4d 32 43 72 79 70 74 6f 2e 42 4e 29 94 6a 3e | ame().(in.module.M2Crypto.BN).j> |
199e0 | 15 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 14 4d 32 43 72 79 70 74 6f 2e 44 48 20 28 6d 6f 64 | ...h'Nt.(j......M2Crypto.DH.(mod |
19a00 | 75 6c 65 29 94 8c 12 6d 6f 64 75 6c 65 2d 4d 32 43 72 79 70 74 6f 2e 44 48 94 68 27 4e 74 94 28 | ule)...module-M2Crypto.DH.h'Nt.( |
19a20 | 6a 87 1b 00 00 8c 19 44 48 20 28 63 6c 61 73 73 20 69 6e 20 4d 32 43 72 79 70 74 6f 2e 44 48 29 | j......DH.(class.in.M2Crypto.DH) |
19a40 | 94 6a 43 15 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 26 63 68 65 63 6b 5f 70 61 72 61 6d 73 28 | .jC...h'Nt.(j.....&check_params( |
19a60 | 29 20 28 4d 32 43 72 79 70 74 6f 2e 44 48 2e 44 48 20 6d 65 74 68 6f 64 29 94 6a 46 15 00 00 68 | ).(M2Crypto.DH.DH.method).jF...h |
19a80 | 27 4e 74 94 28 6a 87 1b 00 00 8c 25 63 6f 6d 70 75 74 65 5f 6b 65 79 28 29 20 28 4d 32 43 72 79 | 'Nt.(j.....%compute_key().(M2Cry |
19aa0 | 70 74 6f 2e 44 48 2e 44 48 20 6d 65 74 68 6f 64 29 94 6a 49 15 00 00 68 27 4e 74 94 28 6a 87 1b | pto.DH.DH.method).jI...h'Nt.(j.. |
19ac0 | 00 00 8c 21 67 65 6e 5f 6b 65 79 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 44 48 2e 44 48 20 6d 65 | ...!gen_key().(M2Crypto.DH.DH.me |
19ae0 | 74 68 6f 64 29 94 6a 4c 15 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 24 6d 32 5f 64 68 5f 66 72 | thod).jL...h'Nt.(j.....$m2_dh_fr |
19b00 | 65 65 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 44 48 2e 44 48 20 6d 65 74 68 6f 64 29 94 6a 4f 15 | ee().(M2Crypto.DH.DH.method).jO. |
19b20 | 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 26 70 72 69 6e 74 5f 70 61 72 61 6d 73 28 29 20 28 4d | ..h'Nt.(j.....&print_params().(M |
19b40 | 32 43 72 79 70 74 6f 2e 44 48 2e 44 48 20 6d 65 74 68 6f 64 29 94 6a 52 15 00 00 68 27 4e 74 94 | 2Crypto.DH.DH.method).jR...h'Nt. |
19b60 | 28 6a 87 1b 00 00 8c 07 44 48 45 72 72 6f 72 94 6a 55 15 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 | (j......DHError.jU...h'Nt.(j.... |
19b80 | 8c 24 67 65 6e 5f 70 61 72 61 6d 73 28 29 20 28 69 6e 20 6d 6f 64 75 6c 65 20 4d 32 43 72 79 70 | .$gen_params().(in.module.M2Cryp |
19ba0 | 74 6f 2e 44 48 29 94 6a 58 15 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 25 6c 6f 61 64 5f 70 61 | to.DH).jX...h'Nt.(j.....%load_pa |
19bc0 | 72 61 6d 73 28 29 20 28 69 6e 20 6d 6f 64 75 6c 65 20 4d 32 43 72 79 70 74 6f 2e 44 48 29 94 6a | rams().(in.module.M2Crypto.DH).j |
19be0 | 5b 15 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 29 6c 6f 61 64 5f 70 61 72 61 6d 73 5f 62 69 6f | [...h'Nt.(j.....)load_params_bio |
19c00 | 28 29 20 28 69 6e 20 6d 6f 64 75 6c 65 20 4d 32 43 72 79 70 74 6f 2e 44 48 29 94 6a 5e 15 00 00 | ().(in.module.M2Crypto.DH).j^... |
19c20 | 68 27 4e 74 94 28 6a 87 1b 00 00 8c 24 73 65 74 5f 70 61 72 61 6d 73 28 29 20 28 69 6e 20 6d 6f | h'Nt.(j.....$set_params().(in.mo |
19c40 | 64 75 6c 65 20 4d 32 43 72 79 70 74 6f 2e 44 48 29 94 6a 61 15 00 00 68 27 4e 74 94 28 6a 87 1b | dule.M2Crypto.DH).ja...h'Nt.(j.. |
19c60 | 00 00 8c 15 4d 32 43 72 79 70 74 6f 2e 44 53 41 20 28 6d 6f 64 75 6c 65 29 94 8c 13 6d 6f 64 75 | ....M2Crypto.DSA.(module)...modu |
19c80 | 6c 65 2d 4d 32 43 72 79 70 74 6f 2e 44 53 41 94 68 27 4e 74 94 28 6a 87 1b 00 00 8c 1b 44 53 41 | le-M2Crypto.DSA.h'Nt.(j......DSA |
19ca0 | 20 28 63 6c 61 73 73 20 69 6e 20 4d 32 43 72 79 70 74 6f 2e 44 53 41 29 94 6a 66 15 00 00 68 27 | .(class.in.M2Crypto.DSA).jf...h' |
19cc0 | 4e 74 94 28 6a 87 1b 00 00 8c 25 63 68 65 63 6b 5f 6b 65 79 28 29 20 28 4d 32 43 72 79 70 74 6f | Nt.(j.....%check_key().(M2Crypto |
19ce0 | 2e 44 53 41 2e 44 53 41 20 6d 65 74 68 6f 64 29 94 6a 69 15 00 00 68 27 4e 74 94 28 6a 87 1b 00 | .DSA.DSA.method).ji...h'Nt.(j... |
19d00 | 00 8c 23 67 65 6e 5f 6b 65 79 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 44 53 41 2e 44 53 41 20 6d | ..#gen_key().(M2Crypto.DSA.DSA.m |
19d20 | 65 74 68 6f 64 29 94 6a 6c 15 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 27 6d 32 5f 64 73 61 5f | ethod).jl...h'Nt.(j.....'m2_dsa_ |
19d40 | 66 72 65 65 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 44 53 41 2e 44 53 41 20 6d 65 74 68 6f 64 29 | free().(M2Crypto.DSA.DSA.method) |
19d60 | 94 6a 6f 15 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 24 73 61 76 65 5f 6b 65 79 28 29 20 28 4d | .jo...h'Nt.(j.....$save_key().(M |
19d80 | 32 43 72 79 70 74 6f 2e 44 53 41 2e 44 53 41 20 6d 65 74 68 6f 64 29 94 6a 72 15 00 00 68 27 4e | 2Crypto.DSA.DSA.method).jr...h'N |
19da0 | 74 94 28 6a 87 1b 00 00 8c 28 73 61 76 65 5f 6b 65 79 5f 62 69 6f 28 29 20 28 4d 32 43 72 79 70 | t.(j.....(save_key_bio().(M2Cryp |
19dc0 | 74 6f 2e 44 53 41 2e 44 53 41 20 6d 65 74 68 6f 64 29 94 6a 75 15 00 00 68 27 4e 74 94 28 6a 87 | to.DSA.DSA.method).ju...h'Nt.(j. |
19de0 | 1b 00 00 8c 27 73 61 76 65 5f 70 61 72 61 6d 73 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 44 53 41 | ....'save_params().(M2Crypto.DSA |
19e00 | 2e 44 53 41 20 6d 65 74 68 6f 64 29 94 6a 78 15 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 2b 73 | .DSA.method).jx...h'Nt.(j.....+s |
19e20 | 61 76 65 5f 70 61 72 61 6d 73 5f 62 69 6f 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 44 53 41 2e 44 | ave_params_bio().(M2Crypto.DSA.D |
19e40 | 53 41 20 6d 65 74 68 6f 64 29 94 6a 7b 15 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 28 73 61 76 | SA.method).j{...h'Nt.(j.....(sav |
19e60 | 65 5f 70 75 62 5f 6b 65 79 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 44 53 41 2e 44 53 41 20 6d 65 | e_pub_key().(M2Crypto.DSA.DSA.me |
19e80 | 74 68 6f 64 29 94 6a 7e 15 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 2c 73 61 76 65 5f 70 75 62 | thod).j~...h'Nt.(j.....,save_pub |
19ea0 | 5f 6b 65 79 5f 62 69 6f 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 44 53 41 2e 44 53 41 20 6d 65 74 | _key_bio().(M2Crypto.DSA.DSA.met |
19ec0 | 68 6f 64 29 94 6a 81 15 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 26 73 65 74 5f 70 61 72 61 6d | hod).j....h'Nt.(j.....&set_param |
19ee0 | 73 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 44 53 41 2e 44 53 41 20 6d 65 74 68 6f 64 29 94 6a 84 | s().(M2Crypto.DSA.DSA.method).j. |
19f00 | 15 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 20 73 69 67 6e 28 29 20 28 4d 32 43 72 79 70 74 6f | ...h'Nt.(j......sign().(M2Crypto |
19f20 | 2e 44 53 41 2e 44 53 41 20 6d 65 74 68 6f 64 29 94 6a 87 15 00 00 68 27 4e 74 94 28 6a 87 1b 00 | .DSA.DSA.method).j....h'Nt.(j... |
19f40 | 00 8c 25 73 69 67 6e 5f 61 73 6e 31 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 44 53 41 2e 44 53 41 | ..%sign_asn1().(M2Crypto.DSA.DSA |
19f60 | 20 6d 65 74 68 6f 64 29 94 6a 8a 15 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 22 76 65 72 69 66 | .method).j....h'Nt.(j....."verif |
19f80 | 79 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 44 53 41 2e 44 53 41 20 6d 65 74 68 6f 64 29 94 6a 8d | y().(M2Crypto.DSA.DSA.method).j. |
19fa0 | 15 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 27 76 65 72 69 66 79 5f 61 73 6e 31 28 29 20 28 4d | ...h'Nt.(j.....'verify_asn1().(M |
19fc0 | 32 43 72 79 70 74 6f 2e 44 53 41 2e 44 53 41 20 6d 65 74 68 6f 64 29 94 6a 90 15 00 00 68 27 4e | 2Crypto.DSA.DSA.method).j....h'N |
19fe0 | 74 94 28 6a 87 1b 00 00 8c 08 44 53 41 45 72 72 6f 72 94 6a 93 15 00 00 68 27 4e 74 94 28 6a 87 | t.(j......DSAError.j....h'Nt.(j. |
1a000 | 1b 00 00 8c 1f 44 53 41 5f 70 75 62 20 28 63 6c 61 73 73 20 69 6e 20 4d 32 43 72 79 70 74 6f 2e | .....DSA_pub.(class.in.M2Crypto. |
1a020 | 44 53 41 29 94 6a 96 15 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 29 63 68 65 63 6b 5f 6b 65 79 | DSA).j....h'Nt.(j.....)check_key |
1a040 | 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 44 53 41 2e 44 53 41 5f 70 75 62 20 6d 65 74 68 6f 64 29 | ().(M2Crypto.DSA.DSA_pub.method) |
1a060 | 94 6a 99 15 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 28 73 61 76 65 5f 6b 65 79 28 29 20 28 4d | .j....h'Nt.(j.....(save_key().(M |
1a080 | 32 43 72 79 70 74 6f 2e 44 53 41 2e 44 53 41 5f 70 75 62 20 6d 65 74 68 6f 64 29 94 6a 9c 15 00 | 2Crypto.DSA.DSA_pub.method).j... |
1a0a0 | 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 2c 73 61 76 65 5f 6b 65 79 5f 62 69 6f 28 29 20 28 4d 32 | .h'Nt.(j.....,save_key_bio().(M2 |
1a0c0 | 43 72 79 70 74 6f 2e 44 53 41 2e 44 53 41 5f 70 75 62 20 6d 65 74 68 6f 64 29 94 6a 9f 15 00 00 | Crypto.DSA.DSA_pub.method).j.... |
1a0e0 | 68 27 4e 74 94 28 6a 87 1b 00 00 8c 24 73 69 67 6e 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 44 53 | h'Nt.(j.....$sign().(M2Crypto.DS |
1a100 | 41 2e 44 53 41 5f 70 75 62 20 6d 65 74 68 6f 64 29 94 6a a2 15 00 00 68 27 4e 74 94 28 6a 87 1b | A.DSA_pub.method).j....h'Nt.(j.. |
1a120 | 00 00 8c 29 73 69 67 6e 5f 61 73 6e 31 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 44 53 41 2e 44 53 | ...)sign_asn1().(M2Crypto.DSA.DS |
1a140 | 41 5f 70 75 62 20 6d 65 74 68 6f 64 29 94 6a a5 15 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 25 | A_pub.method).j....h'Nt.(j.....% |
1a160 | 67 65 6e 5f 70 61 72 61 6d 73 28 29 20 28 69 6e 20 6d 6f 64 75 6c 65 20 4d 32 43 72 79 70 74 6f | gen_params().(in.module.M2Crypto |
1a180 | 2e 44 53 41 29 94 6a a8 15 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 23 6c 6f 61 64 5f 6b 65 79 | .DSA).j....h'Nt.(j.....#load_key |
1a1a0 | 28 29 20 28 69 6e 20 6d 6f 64 75 6c 65 20 4d 32 43 72 79 70 74 6f 2e 44 53 41 29 94 6a ab 15 00 | ().(in.module.M2Crypto.DSA).j... |
1a1c0 | 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 27 6c 6f 61 64 5f 6b 65 79 5f 62 69 6f 28 29 20 28 69 6e | .h'Nt.(j.....'load_key_bio().(in |
1a1e0 | 20 6d 6f 64 75 6c 65 20 4d 32 43 72 79 70 74 6f 2e 44 53 41 29 94 6a ae 15 00 00 68 27 4e 74 94 | .module.M2Crypto.DSA).j....h'Nt. |
1a200 | 28 6a 87 1b 00 00 8c 26 6c 6f 61 64 5f 70 61 72 61 6d 73 28 29 20 28 69 6e 20 6d 6f 64 75 6c 65 | (j.....&load_params().(in.module |
1a220 | 20 4d 32 43 72 79 70 74 6f 2e 44 53 41 29 94 6a b1 15 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c | .M2Crypto.DSA).j....h'Nt.(j..... |
1a240 | 2a 6c 6f 61 64 5f 70 61 72 61 6d 73 5f 62 69 6f 28 29 20 28 69 6e 20 6d 6f 64 75 6c 65 20 4d 32 | *load_params_bio().(in.module.M2 |
1a260 | 43 72 79 70 74 6f 2e 44 53 41 29 94 6a b4 15 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 27 6c 6f | Crypto.DSA).j....h'Nt.(j.....'lo |
1a280 | 61 64 5f 70 75 62 5f 6b 65 79 28 29 20 28 69 6e 20 6d 6f 64 75 6c 65 20 4d 32 43 72 79 70 74 6f | ad_pub_key().(in.module.M2Crypto |
1a2a0 | 2e 44 53 41 29 94 6a b7 15 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 2b 6c 6f 61 64 5f 70 75 62 | .DSA).j....h'Nt.(j.....+load_pub |
1a2c0 | 5f 6b 65 79 5f 62 69 6f 28 29 20 28 69 6e 20 6d 6f 64 75 6c 65 20 4d 32 43 72 79 70 74 6f 2e 44 | _key_bio().(in.module.M2Crypto.D |
1a2e0 | 53 41 29 94 6a ba 15 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 2e 70 75 62 5f 6b 65 79 5f 66 72 | SA).j....h'Nt.(j......pub_key_fr |
1a300 | 6f 6d 5f 70 61 72 61 6d 73 28 29 20 28 69 6e 20 6d 6f 64 75 6c 65 20 4d 32 43 72 79 70 74 6f 2e | om_params().(in.module.M2Crypto. |
1a320 | 44 53 41 29 94 6a bd 15 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 25 73 65 74 5f 70 61 72 61 6d | DSA).j....h'Nt.(j.....%set_param |
1a340 | 73 28 29 20 28 69 6e 20 6d 6f 64 75 6c 65 20 4d 32 43 72 79 70 74 6f 2e 44 53 41 29 94 6a c0 15 | s().(in.module.M2Crypto.DSA).j.. |
1a360 | 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 14 4d 32 43 72 79 70 74 6f 2e 45 43 20 28 6d 6f 64 75 | ..h'Nt.(j......M2Crypto.EC.(modu |
1a380 | 6c 65 29 94 8c 12 6d 6f 64 75 6c 65 2d 4d 32 43 72 79 70 74 6f 2e 45 43 94 68 27 4e 74 94 28 6a | le)...module-M2Crypto.EC.h'Nt.(j |
1a3a0 | 87 1b 00 00 8c 19 45 43 20 28 63 6c 61 73 73 20 69 6e 20 4d 32 43 72 79 70 74 6f 2e 45 43 29 94 | ......EC.(class.in.M2Crypto.EC). |
1a3c0 | 6a c5 15 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 20 61 73 5f 70 65 6d 28 29 20 28 4d 32 43 72 | j....h'Nt.(j......as_pem().(M2Cr |
1a3e0 | 79 70 74 6f 2e 45 43 2e 45 43 20 6d 65 74 68 6f 64 29 94 6a c8 15 00 00 68 27 4e 74 94 28 6a 87 | ypto.EC.EC.method).j....h'Nt.(j. |
1a400 | 1b 00 00 8c 23 63 68 65 63 6b 5f 6b 65 79 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 45 43 2e 45 43 | ....#check_key().(M2Crypto.EC.EC |
1a420 | 20 6d 65 74 68 6f 64 29 94 6a cb 15 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 28 63 6f 6d 70 75 | .method).j....h'Nt.(j.....(compu |
1a440 | 74 65 5f 64 68 5f 6b 65 79 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 45 43 2e 45 43 20 6d 65 74 68 | te_dh_key().(M2Crypto.EC.EC.meth |
1a460 | 6f 64 29 94 6a ce 15 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 21 67 65 6e 5f 6b 65 79 28 29 20 | od).j....h'Nt.(j.....!gen_key(). |
1a480 | 28 4d 32 43 72 79 70 74 6f 2e 45 43 2e 45 43 20 6d 65 74 68 6f 64 29 94 6a d1 15 00 00 68 27 4e | (M2Crypto.EC.EC.method).j....h'N |
1a4a0 | 74 94 28 6a 87 1b 00 00 8c 28 6d 32 5f 65 63 5f 6b 65 79 5f 66 72 65 65 28 29 20 28 4d 32 43 72 | t.(j.....(m2_ec_key_free().(M2Cr |
1a4c0 | 79 70 74 6f 2e 45 43 2e 45 43 20 6d 65 74 68 6f 64 29 94 6a d4 15 00 00 68 27 4e 74 94 28 6a 87 | ypto.EC.EC.method).j....h'Nt.(j. |
1a4e0 | 1b 00 00 8c 1d 70 75 62 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 45 43 2e 45 43 20 6d 65 74 68 6f | .....pub().(M2Crypto.EC.EC.metho |
1a500 | 64 29 94 6a d7 15 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 22 73 61 76 65 5f 6b 65 79 28 29 20 | d).j....h'Nt.(j....."save_key(). |
1a520 | 28 4d 32 43 72 79 70 74 6f 2e 45 43 2e 45 43 20 6d 65 74 68 6f 64 29 94 6a da 15 00 00 68 27 4e | (M2Crypto.EC.EC.method).j....h'N |
1a540 | 74 94 28 6a 87 1b 00 00 8c 26 73 61 76 65 5f 6b 65 79 5f 62 69 6f 28 29 20 28 4d 32 43 72 79 70 | t.(j.....&save_key_bio().(M2Cryp |
1a560 | 74 6f 2e 45 43 2e 45 43 20 6d 65 74 68 6f 64 29 94 6a dd 15 00 00 68 27 4e 74 94 28 6a 87 1b 00 | to.EC.EC.method).j....h'Nt.(j... |
1a580 | 00 8c 26 73 61 76 65 5f 70 75 62 5f 6b 65 79 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 45 43 2e 45 | ..&save_pub_key().(M2Crypto.EC.E |
1a5a0 | 43 20 6d 65 74 68 6f 64 29 94 6a e0 15 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 2a 73 61 76 65 | C.method).j....h'Nt.(j.....*save |
1a5c0 | 5f 70 75 62 5f 6b 65 79 5f 62 69 6f 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 45 43 2e 45 43 20 6d | _pub_key_bio().(M2Crypto.EC.EC.m |
1a5e0 | 65 74 68 6f 64 29 94 6a e3 15 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 22 73 69 67 6e 5f 64 73 | ethod).j....h'Nt.(j....."sign_ds |
1a600 | 61 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 45 43 2e 45 43 20 6d 65 74 68 6f 64 29 94 6a e6 15 00 | a().(M2Crypto.EC.EC.method).j... |
1a620 | 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 27 73 69 67 6e 5f 64 73 61 5f 61 73 6e 31 28 29 20 28 4d | .h'Nt.(j.....'sign_dsa_asn1().(M |
1a640 | 32 43 72 79 70 74 6f 2e 45 43 2e 45 43 20 6d 65 74 68 6f 64 29 94 6a e9 15 00 00 68 27 4e 74 94 | 2Crypto.EC.EC.method).j....h'Nt. |
1a660 | 28 6a 87 1b 00 00 8c 24 76 65 72 69 66 79 5f 64 73 61 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 45 | (j.....$verify_dsa().(M2Crypto.E |
1a680 | 43 2e 45 43 20 6d 65 74 68 6f 64 29 94 6a ec 15 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 29 76 | C.EC.method).j....h'Nt.(j.....)v |
1a6a0 | 65 72 69 66 79 5f 64 73 61 5f 61 73 6e 31 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 45 43 2e 45 43 | erify_dsa_asn1().(M2Crypto.EC.EC |
1a6c0 | 20 6d 65 74 68 6f 64 29 94 6a ef 15 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 07 45 43 45 72 72 | .method).j....h'Nt.(j......ECErr |
1a6e0 | 6f 72 94 6a f2 15 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 1d 45 43 5f 70 75 62 20 28 63 6c 61 | or.j....h'Nt.(j......EC_pub.(cla |
1a700 | 73 73 20 69 6e 20 4d 32 43 72 79 70 74 6f 2e 45 43 29 94 6a f5 15 00 00 68 27 4e 74 94 28 6a 87 | ss.in.M2Crypto.EC).j....h'Nt.(j. |
1a720 | 1b 00 00 8c 25 67 65 74 5f 64 65 72 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 45 43 2e 45 43 5f 70 | ....%get_der().(M2Crypto.EC.EC_p |
1a740 | 75 62 20 6d 65 74 68 6f 64 29 94 6a f8 15 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 25 67 65 74 | ub.method).j....h'Nt.(j.....%get |
1a760 | 5f 6b 65 79 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 45 43 2e 45 43 5f 70 75 62 20 6d 65 74 68 6f | _key().(M2Crypto.EC.EC_pub.metho |
1a780 | 64 29 94 6a fb 15 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 26 73 61 76 65 5f 6b 65 79 28 29 20 | d).j....h'Nt.(j.....&save_key(). |
1a7a0 | 28 4d 32 43 72 79 70 74 6f 2e 45 43 2e 45 43 5f 70 75 62 20 6d 65 74 68 6f 64 29 94 6a fe 15 00 | (M2Crypto.EC.EC_pub.method).j... |
1a7c0 | 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 2a 73 61 76 65 5f 6b 65 79 5f 62 69 6f 28 29 20 28 4d 32 | .h'Nt.(j.....*save_key_bio().(M2 |
1a7e0 | 43 72 79 70 74 6f 2e 45 43 2e 45 43 5f 70 75 62 20 6d 65 74 68 6f 64 29 94 6a 01 16 00 00 68 27 | Crypto.EC.EC_pub.method).j....h' |
1a800 | 4e 74 94 28 6a 87 1b 00 00 8c 22 65 63 5f 65 72 72 6f 72 28 29 20 28 69 6e 20 6d 6f 64 75 6c 65 | Nt.(j....."ec_error().(in.module |
1a820 | 20 4d 32 43 72 79 70 74 6f 2e 45 43 29 94 6a 04 16 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 24 | .M2Crypto.EC).j....h'Nt.(j.....$ |
1a840 | 67 65 6e 5f 70 61 72 61 6d 73 28 29 20 28 69 6e 20 6d 6f 64 75 6c 65 20 4d 32 43 72 79 70 74 6f | gen_params().(in.module.M2Crypto |
1a860 | 2e 45 43 29 94 6a 07 16 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 2c 67 65 74 5f 62 75 69 6c 74 | .EC).j....h'Nt.(j.....,get_built |
1a880 | 69 6e 5f 63 75 72 76 65 73 28 29 20 28 69 6e 20 6d 6f 64 75 6c 65 20 4d 32 43 72 79 70 74 6f 2e | in_curves().(in.module.M2Crypto. |
1a8a0 | 45 43 29 94 6a 0a 16 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 22 6c 6f 61 64 5f 6b 65 79 28 29 | EC).j....h'Nt.(j....."load_key() |
1a8c0 | 20 28 69 6e 20 6d 6f 64 75 6c 65 20 4d 32 43 72 79 70 74 6f 2e 45 43 29 94 6a 0d 16 00 00 68 27 | .(in.module.M2Crypto.EC).j....h' |
1a8e0 | 4e 74 94 28 6a 87 1b 00 00 8c 26 6c 6f 61 64 5f 6b 65 79 5f 62 69 6f 28 29 20 28 69 6e 20 6d 6f | Nt.(j.....&load_key_bio().(in.mo |
1a900 | 64 75 6c 65 20 4d 32 43 72 79 70 74 6f 2e 45 43 29 94 6a 10 16 00 00 68 27 4e 74 94 28 6a 87 1b | dule.M2Crypto.EC).j....h'Nt.(j.. |
1a920 | 00 00 8c 29 6c 6f 61 64 5f 6b 65 79 5f 73 74 72 69 6e 67 28 29 20 28 69 6e 20 6d 6f 64 75 6c 65 | ...)load_key_string().(in.module |
1a940 | 20 4d 32 43 72 79 70 74 6f 2e 45 43 29 94 6a 13 16 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 30 | .M2Crypto.EC).j....h'Nt.(j.....0 |
1a960 | 6c 6f 61 64 5f 6b 65 79 5f 73 74 72 69 6e 67 5f 70 75 62 6b 65 79 28 29 20 28 69 6e 20 6d 6f 64 | load_key_string_pubkey().(in.mod |
1a980 | 75 6c 65 20 4d 32 43 72 79 70 74 6f 2e 45 43 29 94 6a 16 16 00 00 68 27 4e 74 94 28 6a 87 1b 00 | ule.M2Crypto.EC).j....h'Nt.(j... |
1a9a0 | 00 8c 26 6c 6f 61 64 5f 70 75 62 5f 6b 65 79 28 29 20 28 69 6e 20 6d 6f 64 75 6c 65 20 4d 32 43 | ..&load_pub_key().(in.module.M2C |
1a9c0 | 72 79 70 74 6f 2e 45 43 29 94 6a 19 16 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 2a 6c 6f 61 64 | rypto.EC).j....h'Nt.(j.....*load |
1a9e0 | 5f 70 75 62 5f 6b 65 79 5f 62 69 6f 28 29 20 28 69 6e 20 6d 6f 64 75 6c 65 20 4d 32 43 72 79 70 | _pub_key_bio().(in.module.M2Cryp |
1aa00 | 74 6f 2e 45 43 29 94 6a 1c 16 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 2a 70 75 62 5f 6b 65 79 | to.EC).j....h'Nt.(j.....*pub_key |
1aa20 | 5f 66 72 6f 6d 5f 64 65 72 28 29 20 28 69 6e 20 6d 6f 64 75 6c 65 20 4d 32 43 72 79 70 74 6f 2e | _from_der().(in.module.M2Crypto. |
1aa40 | 45 43 29 94 6a 1f 16 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 2d 70 75 62 5f 6b 65 79 5f 66 72 | EC).j....h'Nt.(j.....-pub_key_fr |
1aa60 | 6f 6d 5f 70 61 72 61 6d 73 28 29 20 28 69 6e 20 6d 6f 64 75 6c 65 20 4d 32 43 72 79 70 74 6f 2e | om_params().(in.module.M2Crypto. |
1aa80 | 45 43 29 94 6a 22 16 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 15 4d 32 43 72 79 70 74 6f 2e 45 | EC).j"...h'Nt.(j......M2Crypto.E |
1aaa0 | 56 50 20 28 6d 6f 64 75 6c 65 29 94 8c 13 6d 6f 64 75 6c 65 2d 4d 32 43 72 79 70 74 6f 2e 45 56 | VP.(module)...module-M2Crypto.EV |
1aac0 | 50 94 68 27 4e 74 94 28 6a 87 1b 00 00 8c 1e 43 69 70 68 65 72 20 28 63 6c 61 73 73 20 69 6e 20 | P.h'Nt.(j......Cipher.(class.in. |
1aae0 | 4d 32 43 72 79 70 74 6f 2e 45 56 50 29 94 6a 27 16 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 24 | M2Crypto.EVP).j'...h'Nt.(j.....$ |
1ab00 | 66 69 6e 61 6c 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 45 56 50 2e 43 69 70 68 65 72 20 6d 65 74 | final().(M2Crypto.EVP.Cipher.met |
1ab20 | 68 6f 64 29 94 6a 2a 16 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 31 6d 32 5f 63 69 70 68 65 72 | hod).j*...h'Nt.(j.....1m2_cipher |
1ab40 | 5f 63 74 78 5f 66 72 65 65 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 45 56 50 2e 43 69 70 68 65 72 | _ctx_free().(M2Crypto.EVP.Cipher |
1ab60 | 20 6d 65 74 68 6f 64 29 94 6a 2d 16 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 2a 73 65 74 5f 70 | .method).j-...h'Nt.(j.....*set_p |
1ab80 | 61 64 64 69 6e 67 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 45 56 50 2e 43 69 70 68 65 72 20 6d 65 | adding().(M2Crypto.EVP.Cipher.me |
1aba0 | 74 68 6f 64 29 94 6a 30 16 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 25 75 70 64 61 74 65 28 29 | thod).j0...h'Nt.(j.....%update() |
1abc0 | 20 28 4d 32 43 72 79 70 74 6f 2e 45 56 50 2e 43 69 70 68 65 72 20 6d 65 74 68 6f 64 29 94 6a 33 | .(M2Crypto.EVP.Cipher.method).j3 |
1abe0 | 16 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 08 45 56 50 45 72 72 6f 72 94 6a 36 16 00 00 68 27 | ...h'Nt.(j......EVPError.j6...h' |
1ac00 | 4e 74 94 28 6a 87 1b 00 00 8c 1c 48 4d 41 43 20 28 63 6c 61 73 73 20 69 6e 20 4d 32 43 72 79 70 | Nt.(j......HMAC.(class.in.M2Cryp |
1ac20 | 74 6f 2e 45 56 50 29 94 6a 39 16 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 23 64 69 67 65 73 74 | to.EVP).j9...h'Nt.(j.....#digest |
1ac40 | 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 45 56 50 2e 48 4d 41 43 20 6d 65 74 68 6f 64 29 94 6a 3c | ().(M2Crypto.EVP.HMAC.method).j< |
1ac60 | 16 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 22 66 69 6e 61 6c 28 29 20 28 4d 32 43 72 79 70 74 | ...h'Nt.(j....."final().(M2Crypt |
1ac80 | 6f 2e 45 56 50 2e 48 4d 41 43 20 6d 65 74 68 6f 64 29 94 6a 3f 16 00 00 68 27 4e 74 94 28 6a 87 | o.EVP.HMAC.method).j?...h'Nt.(j. |
1aca0 | 1b 00 00 8c 2d 6d 32 5f 68 6d 61 63 5f 63 74 78 5f 66 72 65 65 28 29 20 28 4d 32 43 72 79 70 74 | ....-m2_hmac_ctx_free().(M2Crypt |
1acc0 | 6f 2e 45 56 50 2e 48 4d 41 43 20 6d 65 74 68 6f 64 29 94 6a 42 16 00 00 68 27 4e 74 94 28 6a 87 | o.EVP.HMAC.method).jB...h'Nt.(j. |
1ace0 | 1b 00 00 8c 22 72 65 73 65 74 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 45 56 50 2e 48 4d 41 43 20 | ...."reset().(M2Crypto.EVP.HMAC. |
1ad00 | 6d 65 74 68 6f 64 29 94 6a 45 16 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 23 75 70 64 61 74 65 | method).jE...h'Nt.(j.....#update |
1ad20 | 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 45 56 50 2e 48 4d 41 43 20 6d 65 74 68 6f 64 29 94 6a 48 | ().(M2Crypto.EVP.HMAC.method).jH |
1ad40 | 16 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 25 4d 65 73 73 61 67 65 44 69 67 65 73 74 20 28 63 | ...h'Nt.(j.....%MessageDigest.(c |
1ad60 | 6c 61 73 73 20 69 6e 20 4d 32 43 72 79 70 74 6f 2e 45 56 50 29 94 6a 4b 16 00 00 68 27 4e 74 94 | lass.in.M2Crypto.EVP).jK...h'Nt. |
1ad80 | 28 6a 87 1b 00 00 8c 2c 64 69 67 65 73 74 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 45 56 50 2e 4d | (j.....,digest().(M2Crypto.EVP.M |
1ada0 | 65 73 73 61 67 65 44 69 67 65 73 74 20 6d 65 74 68 6f 64 29 94 6a 4e 16 00 00 68 27 4e 74 94 28 | essageDigest.method).jN...h'Nt.( |
1adc0 | 6a 87 1b 00 00 8c 2b 66 69 6e 61 6c 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 45 56 50 2e 4d 65 73 | j.....+final().(M2Crypto.EVP.Mes |
1ade0 | 73 61 67 65 44 69 67 65 73 74 20 6d 65 74 68 6f 64 29 94 6a 51 16 00 00 68 27 4e 74 94 28 6a 87 | sageDigest.method).jQ...h'Nt.(j. |
1ae00 | 1b 00 00 8c 34 6d 32 5f 6d 64 5f 63 74 78 5f 66 72 65 65 28 29 20 28 4d 32 43 72 79 70 74 6f 2e | ....4m2_md_ctx_free().(M2Crypto. |
1ae20 | 45 56 50 2e 4d 65 73 73 61 67 65 44 69 67 65 73 74 20 6d 65 74 68 6f 64 29 94 6a 54 16 00 00 68 | EVP.MessageDigest.method).jT...h |
1ae40 | 27 4e 74 94 28 6a 87 1b 00 00 8c 2c 75 70 64 61 74 65 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 45 | 'Nt.(j.....,update().(M2Crypto.E |
1ae60 | 56 50 2e 4d 65 73 73 61 67 65 44 69 67 65 73 74 20 6d 65 74 68 6f 64 29 94 6a 57 16 00 00 68 27 | VP.MessageDigest.method).jW...h' |
1ae80 | 4e 74 94 28 6a 87 1b 00 00 8c 1c 50 4b 65 79 20 28 63 6c 61 73 73 20 69 6e 20 4d 32 43 72 79 70 | Nt.(j......PKey.(class.in.M2Cryp |
1aea0 | 74 6f 2e 45 56 50 29 94 6a 5a 16 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 23 61 73 5f 64 65 72 | to.EVP).jZ...h'Nt.(j.....#as_der |
1aec0 | 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 45 56 50 2e 50 4b 65 79 20 6d 65 74 68 6f 64 29 94 6a 5d | ().(M2Crypto.EVP.PKey.method).j] |
1aee0 | 16 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 23 61 73 5f 70 65 6d 28 29 20 28 4d 32 43 72 79 70 | ...h'Nt.(j.....#as_pem().(M2Cryp |
1af00 | 74 6f 2e 45 56 50 2e 50 4b 65 79 20 6d 65 74 68 6f 64 29 94 6a 60 16 00 00 68 27 4e 74 94 28 6a | to.EVP.PKey.method).j`...h'Nt.(j |
1af20 | 87 1b 00 00 8c 27 61 73 73 69 67 6e 5f 72 73 61 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 45 56 50 | .....'assign_rsa().(M2Crypto.EVP |
1af40 | 2e 50 4b 65 79 20 6d 65 74 68 6f 64 29 94 6a 63 16 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 22 | .PKey.method).jc...h'Nt.(j....." |
1af60 | 66 69 6e 61 6c 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 45 56 50 2e 50 4b 65 79 20 6d 65 74 68 6f | final().(M2Crypto.EVP.PKey.metho |
1af80 | 64 29 94 6a 66 16 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 28 67 65 74 5f 6d 6f 64 75 6c 75 73 | d).jf...h'Nt.(j.....(get_modulus |
1afa0 | 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 45 56 50 2e 50 4b 65 79 20 6d 65 74 68 6f 64 29 94 6a 69 | ().(M2Crypto.EVP.PKey.method).ji |
1afc0 | 16 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 24 67 65 74 5f 72 73 61 28 29 20 28 4d 32 43 72 79 | ...h'Nt.(j.....$get_rsa().(M2Cry |
1afe0 | 70 74 6f 2e 45 56 50 2e 50 4b 65 79 20 6d 65 74 68 6f 64 29 94 6a 6c 16 00 00 68 27 4e 74 94 28 | pto.EVP.PKey.method).jl...h'Nt.( |
1b000 | 6a 87 1b 00 00 8c 2b 6d 32 5f 6d 64 5f 63 74 78 5f 66 72 65 65 28 29 20 28 4d 32 43 72 79 70 74 | j.....+m2_md_ctx_free().(M2Crypt |
1b020 | 6f 2e 45 56 50 2e 50 4b 65 79 20 6d 65 74 68 6f 64 29 94 6a 6f 16 00 00 68 27 4e 74 94 28 6a 87 | o.EVP.PKey.method).jo...h'Nt.(j. |
1b040 | 1b 00 00 8c 29 6d 32 5f 70 6b 65 79 5f 66 72 65 65 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 45 56 | ....)m2_pkey_free().(M2Crypto.EV |
1b060 | 50 2e 50 4b 65 79 20 6d 65 74 68 6f 64 29 94 6a 72 16 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c | P.PKey.method).jr...h'Nt.(j..... |
1b080 | 2a 72 65 73 65 74 5f 63 6f 6e 74 65 78 74 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 45 56 50 2e 50 | *reset_context().(M2Crypto.EVP.P |
1b0a0 | 4b 65 79 20 6d 65 74 68 6f 64 29 94 6a 75 16 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 25 73 61 | Key.method).ju...h'Nt.(j.....%sa |
1b0c0 | 76 65 5f 6b 65 79 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 45 56 50 2e 50 4b 65 79 20 6d 65 74 68 | ve_key().(M2Crypto.EVP.PKey.meth |
1b0e0 | 6f 64 29 94 6a 78 16 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 29 73 61 76 65 5f 6b 65 79 5f 62 | od).jx...h'Nt.(j.....)save_key_b |
1b100 | 69 6f 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 45 56 50 2e 50 4b 65 79 20 6d 65 74 68 6f 64 29 94 | io().(M2Crypto.EVP.PKey.method). |
1b120 | 6a 7b 16 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 27 73 69 67 6e 5f 66 69 6e 61 6c 28 29 20 28 | j{...h'Nt.(j.....'sign_final().( |
1b140 | 4d 32 43 72 79 70 74 6f 2e 45 56 50 2e 50 4b 65 79 20 6d 65 74 68 6f 64 29 94 6a 7e 16 00 00 68 | M2Crypto.EVP.PKey.method).j~...h |
1b160 | 27 4e 74 94 28 6a 87 1b 00 00 8c 26 73 69 67 6e 5f 69 6e 69 74 28 29 20 28 4d 32 43 72 79 70 74 | 'Nt.(j.....&sign_init().(M2Crypt |
1b180 | 6f 2e 45 56 50 2e 50 4b 65 79 20 6d 65 74 68 6f 64 29 94 6a 81 16 00 00 68 27 4e 74 94 28 6a 87 | o.EVP.PKey.method).j....h'Nt.(j. |
1b1a0 | 1b 00 00 8c 28 73 69 67 6e 5f 75 70 64 61 74 65 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 45 56 50 | ....(sign_update().(M2Crypto.EVP |
1b1c0 | 2e 50 4b 65 79 20 6d 65 74 68 6f 64 29 94 6a 84 16 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 21 | .PKey.method).j....h'Nt.(j.....! |
1b1e0 | 73 69 7a 65 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 45 56 50 2e 50 4b 65 79 20 6d 65 74 68 6f 64 | size().(M2Crypto.EVP.PKey.method |
1b200 | 29 94 6a 87 16 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 23 75 70 64 61 74 65 28 29 20 28 4d 32 | ).j....h'Nt.(j.....#update().(M2 |
1b220 | 43 72 79 70 74 6f 2e 45 56 50 2e 50 4b 65 79 20 6d 65 74 68 6f 64 29 94 6a 8a 16 00 00 68 27 4e | Crypto.EVP.PKey.method).j....h'N |
1b240 | 74 94 28 6a 87 1b 00 00 8c 29 76 65 72 69 66 79 5f 66 69 6e 61 6c 28 29 20 28 4d 32 43 72 79 70 | t.(j.....)verify_final().(M2Cryp |
1b260 | 74 6f 2e 45 56 50 2e 50 4b 65 79 20 6d 65 74 68 6f 64 29 94 6a 8d 16 00 00 68 27 4e 74 94 28 6a | to.EVP.PKey.method).j....h'Nt.(j |
1b280 | 87 1b 00 00 8c 28 76 65 72 69 66 79 5f 69 6e 69 74 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 45 56 | .....(verify_init().(M2Crypto.EV |
1b2a0 | 50 2e 50 4b 65 79 20 6d 65 74 68 6f 64 29 94 6a 90 16 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c | P.PKey.method).j....h'Nt.(j..... |
1b2c0 | 2a 76 65 72 69 66 79 5f 75 70 64 61 74 65 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 45 56 50 2e 50 | *verify_update().(M2Crypto.EVP.P |
1b2e0 | 4b 65 79 20 6d 65 74 68 6f 64 29 94 6a 93 16 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 1f 68 6d | Key.method).j....h'Nt.(j......hm |
1b300 | 61 63 28 29 20 28 69 6e 20 6d 6f 64 75 6c 65 20 4d 32 43 72 79 70 74 6f 2e 45 56 50 29 94 6a 96 | ac().(in.module.M2Crypto.EVP).j. |
1b320 | 16 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 23 6c 6f 61 64 5f 6b 65 79 28 29 20 28 69 6e 20 6d | ...h'Nt.(j.....#load_key().(in.m |
1b340 | 6f 64 75 6c 65 20 4d 32 43 72 79 70 74 6f 2e 45 56 50 29 94 6a 99 16 00 00 68 27 4e 74 94 28 6a | odule.M2Crypto.EVP).j....h'Nt.(j |
1b360 | 87 1b 00 00 8c 27 6c 6f 61 64 5f 6b 65 79 5f 62 69 6f 28 29 20 28 69 6e 20 6d 6f 64 75 6c 65 20 | .....'load_key_bio().(in.module. |
1b380 | 4d 32 43 72 79 70 74 6f 2e 45 56 50 29 94 6a 9c 16 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 2e | M2Crypto.EVP).j....h'Nt.(j...... |
1b3a0 | 6c 6f 61 64 5f 6b 65 79 5f 62 69 6f 5f 70 75 62 6b 65 79 28 29 20 28 69 6e 20 6d 6f 64 75 6c 65 | load_key_bio_pubkey().(in.module |
1b3c0 | 20 4d 32 43 72 79 70 74 6f 2e 45 56 50 29 94 6a 9f 16 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c | .M2Crypto.EVP).j....h'Nt.(j..... |
1b3e0 | 2a 6c 6f 61 64 5f 6b 65 79 5f 73 74 72 69 6e 67 28 29 20 28 69 6e 20 6d 6f 64 75 6c 65 20 4d 32 | *load_key_string().(in.module.M2 |
1b400 | 43 72 79 70 74 6f 2e 45 56 50 29 94 6a a2 16 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 31 6c 6f | Crypto.EVP).j....h'Nt.(j.....1lo |
1b420 | 61 64 5f 6b 65 79 5f 73 74 72 69 6e 67 5f 70 75 62 6b 65 79 28 29 20 28 69 6e 20 6d 6f 64 75 6c | ad_key_string_pubkey().(in.modul |
1b440 | 65 20 4d 32 43 72 79 70 74 6f 2e 45 56 50 29 94 6a a5 16 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 | e.M2Crypto.EVP).j....h'Nt.(j.... |
1b460 | 8c 21 70 62 6b 64 66 32 28 29 20 28 69 6e 20 6d 6f 64 75 6c 65 20 4d 32 43 72 79 70 74 6f 2e 45 | .!pbkdf2().(in.module.M2Crypto.E |
1b480 | 56 50 29 94 6a a8 16 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 18 4d 32 43 72 79 70 74 6f 2e 45 | VP).j....h'Nt.(j......M2Crypto.E |
1b4a0 | 6e 67 69 6e 65 20 28 6d 6f 64 75 6c 65 29 94 8c 16 6d 6f 64 75 6c 65 2d 4d 32 43 72 79 70 74 6f | ngine.(module)...module-M2Crypto |
1b4c0 | 2e 45 6e 67 69 6e 65 94 68 27 4e 74 94 28 6a 87 1b 00 00 8c 21 45 6e 67 69 6e 65 20 28 63 6c 61 | .Engine.h'Nt.(j.....!Engine.(cla |
1b4e0 | 73 73 20 69 6e 20 4d 32 43 72 79 70 74 6f 2e 45 6e 67 69 6e 65 29 94 6a ad 16 00 00 68 27 4e 74 | ss.in.M2Crypto.Engine).j....h'Nt |
1b500 | 94 28 6a 87 1b 00 00 8c 31 63 74 72 6c 5f 63 6d 64 5f 73 74 72 69 6e 67 28 29 20 28 4d 32 43 72 | .(j.....1ctrl_cmd_string().(M2Cr |
1b520 | 79 70 74 6f 2e 45 6e 67 69 6e 65 2e 45 6e 67 69 6e 65 20 6d 65 74 68 6f 64 29 94 6a b0 16 00 00 | ypto.Engine.Engine.method).j.... |
1b540 | 68 27 4e 74 94 28 6a 87 1b 00 00 8c 28 66 69 6e 69 73 68 28 29 20 28 4d 32 43 72 79 70 74 6f 2e | h'Nt.(j.....(finish().(M2Crypto. |
1b560 | 45 6e 67 69 6e 65 2e 45 6e 67 69 6e 65 20 6d 65 74 68 6f 64 29 94 6a b3 16 00 00 68 27 4e 74 94 | Engine.Engine.method).j....h'Nt. |
1b580 | 28 6a 87 1b 00 00 8c 28 67 65 74 5f 69 64 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 45 6e 67 69 6e | (j.....(get_id().(M2Crypto.Engin |
1b5a0 | 65 2e 45 6e 67 69 6e 65 20 6d 65 74 68 6f 64 29 94 6a b6 16 00 00 68 27 4e 74 94 28 6a 87 1b 00 | e.Engine.method).j....h'Nt.(j... |
1b5c0 | 00 8c 2a 67 65 74 5f 6e 61 6d 65 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 45 6e 67 69 6e 65 2e 45 | ..*get_name().(M2Crypto.Engine.E |
1b5e0 | 6e 67 69 6e 65 20 6d 65 74 68 6f 64 29 94 6a b9 16 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 26 | ngine.method).j....h'Nt.(j.....& |
1b600 | 69 6e 69 74 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 45 6e 67 69 6e 65 2e 45 6e 67 69 6e 65 20 6d | init().(M2Crypto.Engine.Engine.m |
1b620 | 65 74 68 6f 64 29 94 6a bc 16 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 32 6c 6f 61 64 5f 63 65 | ethod).j....h'Nt.(j.....2load_ce |
1b640 | 72 74 69 66 69 63 61 74 65 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 45 6e 67 69 6e 65 2e 45 6e 67 | rtificate().(M2Crypto.Engine.Eng |
1b660 | 69 6e 65 20 6d 65 74 68 6f 64 29 94 6a bf 16 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 32 6c 6f | ine.method).j....h'Nt.(j.....2lo |
1b680 | 61 64 5f 70 72 69 76 61 74 65 5f 6b 65 79 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 45 6e 67 69 6e | ad_private_key().(M2Crypto.Engin |
1b6a0 | 65 2e 45 6e 67 69 6e 65 20 6d 65 74 68 6f 64 29 94 6a c2 16 00 00 68 27 4e 74 94 28 6a 87 1b 00 | e.Engine.method).j....h'Nt.(j... |
1b6c0 | 00 8c 31 6c 6f 61 64 5f 70 75 62 6c 69 63 5f 6b 65 79 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 45 | ..1load_public_key().(M2Crypto.E |
1b6e0 | 6e 67 69 6e 65 2e 45 6e 67 69 6e 65 20 6d 65 74 68 6f 64 29 94 6a c5 16 00 00 68 27 4e 74 94 28 | ngine.Engine.method).j....h'Nt.( |
1b700 | 6a 87 1b 00 00 8c 30 6d 32 5f 65 6e 67 69 6e 65 5f 66 72 65 65 28 29 20 28 4d 32 43 72 79 70 74 | j.....0m2_engine_free().(M2Crypt |
1b720 | 6f 2e 45 6e 67 69 6e 65 2e 45 6e 67 69 6e 65 20 6d 65 74 68 6f 64 29 94 6a c8 16 00 00 68 27 4e | o.Engine.Engine.method).j....h'N |
1b740 | 74 94 28 6a 87 1b 00 00 8c 2d 73 65 74 5f 64 65 66 61 75 6c 74 28 29 20 28 4d 32 43 72 79 70 74 | t.(j.....-set_default().(M2Crypt |
1b760 | 6f 2e 45 6e 67 69 6e 65 2e 45 6e 67 69 6e 65 20 6d 65 74 68 6f 64 29 94 6a cb 16 00 00 68 27 4e | o.Engine.Engine.method).j....h'N |
1b780 | 74 94 28 6a 87 1b 00 00 8c 0b 45 6e 67 69 6e 65 45 72 72 6f 72 94 6a ce 16 00 00 68 27 4e 74 94 | t.(j......EngineError.j....h'Nt. |
1b7a0 | 28 6a 87 1b 00 00 8c 25 63 6c 65 61 6e 75 70 28 29 20 28 69 6e 20 6d 6f 64 75 6c 65 20 4d 32 43 | (j.....%cleanup().(in.module.M2C |
1b7c0 | 72 79 70 74 6f 2e 45 6e 67 69 6e 65 29 94 6a d1 16 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 2a | rypto.Engine).j....h'Nt.(j.....* |
1b7e0 | 6c 6f 61 64 5f 64 79 6e 61 6d 69 63 28 29 20 28 69 6e 20 6d 6f 64 75 6c 65 20 4d 32 43 72 79 70 | load_dynamic().(in.module.M2Cryp |
1b800 | 74 6f 2e 45 6e 67 69 6e 65 29 94 6a d4 16 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 31 6c 6f 61 | to.Engine).j....h'Nt.(j.....1loa |
1b820 | 64 5f 64 79 6e 61 6d 69 63 5f 65 6e 67 69 6e 65 28 29 20 28 69 6e 20 6d 6f 64 75 6c 65 20 4d 32 | d_dynamic_engine().(in.module.M2 |
1b840 | 43 72 79 70 74 6f 2e 45 6e 67 69 6e 65 29 94 6a d7 16 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c | Crypto.Engine).j....h'Nt.(j..... |
1b860 | 2a 6c 6f 61 64 5f 6f 70 65 6e 73 73 6c 28 29 20 28 69 6e 20 6d 6f 64 75 6c 65 20 4d 32 43 72 79 | *load_openssl().(in.module.M2Cry |
1b880 | 70 74 6f 2e 45 6e 67 69 6e 65 29 94 6a da 16 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 15 4d 32 | pto.Engine).j....h'Nt.(j......M2 |
1b8a0 | 43 72 79 70 74 6f 2e 45 72 72 20 28 6d 6f 64 75 6c 65 29 94 8c 13 6d 6f 64 75 6c 65 2d 4d 32 43 | Crypto.Err.(module)...module-M2C |
1b8c0 | 72 79 70 74 6f 2e 45 72 72 94 68 27 4e 74 94 28 6a 87 1b 00 00 8c 0d 4d 32 43 72 79 70 74 6f 45 | rypto.Err.h'Nt.(j......M2CryptoE |
1b8e0 | 72 72 6f 72 94 6a df 16 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 08 53 53 4c 45 72 72 6f 72 94 | rror.j....h'Nt.(j......SSLError. |
1b900 | 6a e2 16 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 24 67 65 74 5f 65 72 72 6f 72 28 29 20 28 69 | j....h'Nt.(j.....$get_error().(i |
1b920 | 6e 20 6d 6f 64 75 6c 65 20 4d 32 43 72 79 70 74 6f 2e 45 72 72 29 94 6a e5 16 00 00 68 27 4e 74 | n.module.M2Crypto.Err).j....h'Nt |
1b940 | 94 28 6a 87 1b 00 00 8c 29 67 65 74 5f 65 72 72 6f 72 5f 63 6f 64 65 28 29 20 28 69 6e 20 6d 6f | .(j.....)get_error_code().(in.mo |
1b960 | 64 75 6c 65 20 4d 32 43 72 79 70 74 6f 2e 45 72 72 29 94 6a e8 16 00 00 68 27 4e 74 94 28 6a 87 | dule.M2Crypto.Err).j....h'Nt.(j. |
1b980 | 1b 00 00 8c 29 67 65 74 5f 65 72 72 6f 72 5f 66 75 6e 63 28 29 20 28 69 6e 20 6d 6f 64 75 6c 65 | ....)get_error_func().(in.module |
1b9a0 | 20 4d 32 43 72 79 70 74 6f 2e 45 72 72 29 94 6a eb 16 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c | .M2Crypto.Err).j....h'Nt.(j..... |
1b9c0 | 28 67 65 74 5f 65 72 72 6f 72 5f 6c 69 62 28 29 20 28 69 6e 20 6d 6f 64 75 6c 65 20 4d 32 43 72 | (get_error_lib().(in.module.M2Cr |
1b9e0 | 79 70 74 6f 2e 45 72 72 29 94 6a ee 16 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 2c 67 65 74 5f | ypto.Err).j....h'Nt.(j.....,get_ |
1ba00 | 65 72 72 6f 72 5f 6d 65 73 73 61 67 65 28 29 20 28 69 6e 20 6d 6f 64 75 6c 65 20 4d 32 43 72 79 | error_message().(in.module.M2Cry |
1ba20 | 70 74 6f 2e 45 72 72 29 94 6a f1 16 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 2b 67 65 74 5f 65 | pto.Err).j....h'Nt.(j.....+get_e |
1ba40 | 72 72 6f 72 5f 72 65 61 73 6f 6e 28 29 20 28 69 6e 20 6d 6f 64 75 6c 65 20 4d 32 43 72 79 70 74 | rror_reason().(in.module.M2Crypt |
1ba60 | 6f 2e 45 72 72 29 94 6a f4 16 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 30 67 65 74 5f 78 35 30 | o.Err).j....h'Nt.(j.....0get_x50 |
1ba80 | 39 5f 76 65 72 69 66 79 5f 65 72 72 6f 72 28 29 20 28 69 6e 20 6d 6f 64 75 6c 65 20 4d 32 43 72 | 9_verify_error().(in.module.M2Cr |
1baa0 | 79 70 74 6f 2e 45 72 72 29 94 6a f7 16 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 2a 70 65 65 6b | ypto.Err).j....h'Nt.(j.....*peek |
1bac0 | 5f 65 72 72 6f 72 5f 63 6f 64 65 28 29 20 28 69 6e 20 6d 6f 64 75 6c 65 20 4d 32 43 72 79 70 74 | _error_code().(in.module.M2Crypt |
1bae0 | 6f 2e 45 72 72 29 94 6a fa 16 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 15 4d 32 43 72 79 70 74 | o.Err).j....h'Nt.(j......M2Crypt |
1bb00 | 6f 2e 52 43 34 20 28 6d 6f 64 75 6c 65 29 94 8c 13 6d 6f 64 75 6c 65 2d 4d 32 43 72 79 70 74 6f | o.RC4.(module)...module-M2Crypto |
1bb20 | 2e 52 43 34 94 68 27 4e 74 94 28 6a 87 1b 00 00 8c 1b 52 43 34 20 28 63 6c 61 73 73 20 69 6e 20 | .RC4.h'Nt.(j......RC4.(class.in. |
1bb40 | 4d 32 43 72 79 70 74 6f 2e 52 43 34 29 94 6a ff 16 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 21 | M2Crypto.RC4).j....h'Nt.(j.....! |
1bb60 | 66 69 6e 61 6c 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 52 43 34 2e 52 43 34 20 6d 65 74 68 6f 64 | final().(M2Crypto.RC4.RC4.method |
1bb80 | 29 94 6a 02 17 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 24 72 63 34 5f 66 72 65 65 28 29 20 28 | ).j....h'Nt.(j.....$rc4_free().( |
1bba0 | 4d 32 43 72 79 70 74 6f 2e 52 43 34 2e 52 43 34 20 6d 65 74 68 6f 64 29 94 6a 05 17 00 00 68 27 | M2Crypto.RC4.RC4.method).j....h' |
1bbc0 | 4e 74 94 28 6a 87 1b 00 00 8c 23 73 65 74 5f 6b 65 79 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 52 | Nt.(j.....#set_key().(M2Crypto.R |
1bbe0 | 43 34 2e 52 43 34 20 6d 65 74 68 6f 64 29 94 6a 08 17 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c | C4.RC4.method).j....h'Nt.(j..... |
1bc00 | 22 75 70 64 61 74 65 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 52 43 34 2e 52 43 34 20 6d 65 74 68 | "update().(M2Crypto.RC4.RC4.meth |
1bc20 | 6f 64 29 94 6a 0b 17 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 15 4d 32 43 72 79 70 74 6f 2e 52 | od).j....h'Nt.(j......M2Crypto.R |
1bc40 | 53 41 20 28 6d 6f 64 75 6c 65 29 94 8c 13 6d 6f 64 75 6c 65 2d 4d 32 43 72 79 70 74 6f 2e 52 53 | SA.(module)...module-M2Crypto.RS |
1bc60 | 41 94 68 27 4e 74 94 28 6a 87 1b 00 00 8c 1b 52 53 41 20 28 63 6c 61 73 73 20 69 6e 20 4d 32 43 | A.h'Nt.(j......RSA.(class.in.M2C |
1bc80 | 72 79 70 74 6f 2e 52 53 41 29 94 6a 10 17 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 22 61 73 5f | rypto.RSA).j....h'Nt.(j....."as_ |
1bca0 | 70 65 6d 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 52 53 41 2e 52 53 41 20 6d 65 74 68 6f 64 29 94 | pem().(M2Crypto.RSA.RSA.method). |
1bcc0 | 6a 13 17 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 25 63 68 65 63 6b 5f 6b 65 79 28 29 20 28 4d | j....h'Nt.(j.....%check_key().(M |
1bce0 | 32 43 72 79 70 74 6f 2e 52 53 41 2e 52 53 41 20 6d 65 74 68 6f 64 29 94 6a 16 17 00 00 68 27 4e | 2Crypto.RSA.RSA.method).j....h'N |
1bd00 | 74 94 28 6a 87 1b 00 00 8c 27 6d 32 5f 72 73 61 5f 66 72 65 65 28 29 20 28 4d 32 43 72 79 70 74 | t.(j.....'m2_rsa_free().(M2Crypt |
1bd20 | 6f 2e 52 53 41 2e 52 53 41 20 6d 65 74 68 6f 64 29 94 6a 19 17 00 00 68 27 4e 74 94 28 6a 87 1b | o.RSA.RSA.method).j....h'Nt.(j.. |
1bd40 | 00 00 8c 2b 70 72 69 76 61 74 65 5f 64 65 63 72 79 70 74 28 29 20 28 4d 32 43 72 79 70 74 6f 2e | ...+private_decrypt().(M2Crypto. |
1bd60 | 52 53 41 2e 52 53 41 20 6d 65 74 68 6f 64 29 94 6a 1c 17 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 | RSA.RSA.method).j....h'Nt.(j.... |
1bd80 | 8c 2b 70 72 69 76 61 74 65 5f 65 6e 63 72 79 70 74 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 52 53 | .+private_encrypt().(M2Crypto.RS |
1bda0 | 41 2e 52 53 41 20 6d 65 74 68 6f 64 29 94 6a 1f 17 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 1f | A.RSA.method).j....h'Nt.(j...... |
1bdc0 | 70 75 62 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 52 53 41 2e 52 53 41 20 6d 65 74 68 6f 64 29 94 | pub().(M2Crypto.RSA.RSA.method). |
1bde0 | 6a 22 17 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 2a 70 75 62 6c 69 63 5f 64 65 63 72 79 70 74 | j"...h'Nt.(j.....*public_decrypt |
1be00 | 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 52 53 41 2e 52 53 41 20 6d 65 74 68 6f 64 29 94 6a 25 17 | ().(M2Crypto.RSA.RSA.method).j%. |
1be20 | 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 2a 70 75 62 6c 69 63 5f 65 6e 63 72 79 70 74 28 29 20 | ..h'Nt.(j.....*public_encrypt(). |
1be40 | 28 4d 32 43 72 79 70 74 6f 2e 52 53 41 2e 52 53 41 20 6d 65 74 68 6f 64 29 94 6a 28 17 00 00 68 | (M2Crypto.RSA.RSA.method).j(...h |
1be60 | 27 4e 74 94 28 6a 87 1b 00 00 8c 24 73 61 76 65 5f 6b 65 79 28 29 20 28 4d 32 43 72 79 70 74 6f | 'Nt.(j.....$save_key().(M2Crypto |
1be80 | 2e 52 53 41 2e 52 53 41 20 6d 65 74 68 6f 64 29 94 6a 2b 17 00 00 68 27 4e 74 94 28 6a 87 1b 00 | .RSA.RSA.method).j+...h'Nt.(j... |
1bea0 | 00 8c 28 73 61 76 65 5f 6b 65 79 5f 62 69 6f 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 52 53 41 2e | ..(save_key_bio().(M2Crypto.RSA. |
1bec0 | 52 53 41 20 6d 65 74 68 6f 64 29 94 6a 2e 17 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 28 73 61 | RSA.method).j....h'Nt.(j.....(sa |
1bee0 | 76 65 5f 6b 65 79 5f 64 65 72 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 52 53 41 2e 52 53 41 20 6d | ve_key_der().(M2Crypto.RSA.RSA.m |
1bf00 | 65 74 68 6f 64 29 94 6a 31 17 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 2c 73 61 76 65 5f 6b 65 | ethod).j1...h'Nt.(j.....,save_ke |
1bf20 | 79 5f 64 65 72 5f 62 69 6f 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 52 53 41 2e 52 53 41 20 6d 65 | y_der_bio().(M2Crypto.RSA.RSA.me |
1bf40 | 74 68 6f 64 29 94 6a 34 17 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 24 73 61 76 65 5f 70 65 6d | thod).j4...h'Nt.(j.....$save_pem |
1bf60 | 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 52 53 41 2e 52 53 41 20 6d 65 74 68 6f 64 29 94 6a 37 17 | ().(M2Crypto.RSA.RSA.method).j7. |
1bf80 | 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 28 73 61 76 65 5f 70 75 62 5f 6b 65 79 28 29 20 28 4d | ..h'Nt.(j.....(save_pub_key().(M |
1bfa0 | 32 43 72 79 70 74 6f 2e 52 53 41 2e 52 53 41 20 6d 65 74 68 6f 64 29 94 6a 3a 17 00 00 68 27 4e | 2Crypto.RSA.RSA.method).j:...h'N |
1bfc0 | 74 94 28 6a 87 1b 00 00 8c 2c 73 61 76 65 5f 70 75 62 5f 6b 65 79 5f 62 69 6f 28 29 20 28 4d 32 | t.(j.....,save_pub_key_bio().(M2 |
1bfe0 | 43 72 79 70 74 6f 2e 52 53 41 2e 52 53 41 20 6d 65 74 68 6f 64 29 94 6a 3d 17 00 00 68 27 4e 74 | Crypto.RSA.RSA.method).j=...h'Nt |
1c000 | 94 28 6a 87 1b 00 00 8c 20 73 69 67 6e 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 52 53 41 2e 52 53 | .(j......sign().(M2Crypto.RSA.RS |
1c020 | 41 20 6d 65 74 68 6f 64 29 94 6a 40 17 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 2b 73 69 67 6e | A.method).j@...h'Nt.(j.....+sign |
1c040 | 5f 72 73 61 73 73 61 5f 70 73 73 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 52 53 41 2e 52 53 41 20 | _rsassa_pss().(M2Crypto.RSA.RSA. |
1c060 | 6d 65 74 68 6f 64 29 94 6a 43 17 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 22 76 65 72 69 66 79 | method).jC...h'Nt.(j....."verify |
1c080 | 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 52 53 41 2e 52 53 41 20 6d 65 74 68 6f 64 29 94 6a 46 17 | ().(M2Crypto.RSA.RSA.method).jF. |
1c0a0 | 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 2d 76 65 72 69 66 79 5f 72 73 61 73 73 61 5f 70 73 73 | ..h'Nt.(j.....-verify_rsassa_pss |
1c0c0 | 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 52 53 41 2e 52 53 41 20 6d 65 74 68 6f 64 29 94 6a 49 17 | ().(M2Crypto.RSA.RSA.method).jI. |
1c0e0 | 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 08 52 53 41 45 72 72 6f 72 94 6a 4c 17 00 00 68 27 4e | ..h'Nt.(j......RSAError.jL...h'N |
1c100 | 74 94 28 6a 87 1b 00 00 8c 1f 52 53 41 5f 70 75 62 20 28 63 6c 61 73 73 20 69 6e 20 4d 32 43 72 | t.(j......RSA_pub.(class.in.M2Cr |
1c120 | 79 70 74 6f 2e 52 53 41 29 94 6a 4f 17 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 29 63 68 65 63 | ypto.RSA).jO...h'Nt.(j.....)chec |
1c140 | 6b 5f 6b 65 79 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 52 53 41 2e 52 53 41 5f 70 75 62 20 6d 65 | k_key().(M2Crypto.RSA.RSA_pub.me |
1c160 | 74 68 6f 64 29 94 6a 52 17 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 2f 70 72 69 76 61 74 65 5f | thod).jR...h'Nt.(j...../private_ |
1c180 | 64 65 63 72 79 70 74 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 52 53 41 2e 52 53 41 5f 70 75 62 20 | decrypt().(M2Crypto.RSA.RSA_pub. |
1c1a0 | 6d 65 74 68 6f 64 29 94 6a 55 17 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 2f 70 72 69 76 61 74 | method).jU...h'Nt.(j...../privat |
1c1c0 | 65 5f 65 6e 63 72 79 70 74 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 52 53 41 2e 52 53 41 5f 70 75 | e_encrypt().(M2Crypto.RSA.RSA_pu |
1c1e0 | 62 20 6d 65 74 68 6f 64 29 94 6a 58 17 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 28 73 61 76 65 | b.method).jX...h'Nt.(j.....(save |
1c200 | 5f 6b 65 79 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 52 53 41 2e 52 53 41 5f 70 75 62 20 6d 65 74 | _key().(M2Crypto.RSA.RSA_pub.met |
1c220 | 68 6f 64 29 94 6a 5b 17 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 2c 73 61 76 65 5f 6b 65 79 5f | hod).j[...h'Nt.(j.....,save_key_ |
1c240 | 62 69 6f 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 52 53 41 2e 52 53 41 5f 70 75 62 20 6d 65 74 68 | bio().(M2Crypto.RSA.RSA_pub.meth |
1c260 | 6f 64 29 94 6a 5e 17 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 22 67 65 6e 5f 6b 65 79 28 29 20 | od).j^...h'Nt.(j....."gen_key(). |
1c280 | 28 69 6e 20 6d 6f 64 75 6c 65 20 4d 32 43 72 79 70 74 6f 2e 52 53 41 29 94 6a 61 17 00 00 68 27 | (in.module.M2Crypto.RSA).ja...h' |
1c2a0 | 4e 74 94 28 6a 87 1b 00 00 8c 2a 6b 65 79 67 65 6e 5f 63 61 6c 6c 62 61 63 6b 28 29 20 28 69 6e | Nt.(j.....*keygen_callback().(in |
1c2c0 | 20 6d 6f 64 75 6c 65 20 4d 32 43 72 79 70 74 6f 2e 52 53 41 29 94 6a 64 17 00 00 68 27 4e 74 94 | .module.M2Crypto.RSA).jd...h'Nt. |
1c2e0 | 28 6a 87 1b 00 00 8c 23 6c 6f 61 64 5f 6b 65 79 28 29 20 28 69 6e 20 6d 6f 64 75 6c 65 20 4d 32 | (j.....#load_key().(in.module.M2 |
1c300 | 43 72 79 70 74 6f 2e 52 53 41 29 94 6a 67 17 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 27 6c 6f | Crypto.RSA).jg...h'Nt.(j.....'lo |
1c320 | 61 64 5f 6b 65 79 5f 62 69 6f 28 29 20 28 69 6e 20 6d 6f 64 75 6c 65 20 4d 32 43 72 79 70 74 6f | ad_key_bio().(in.module.M2Crypto |
1c340 | 2e 52 53 41 29 94 6a 6a 17 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 2a 6c 6f 61 64 5f 6b 65 79 | .RSA).jj...h'Nt.(j.....*load_key |
1c360 | 5f 73 74 72 69 6e 67 28 29 20 28 69 6e 20 6d 6f 64 75 6c 65 20 4d 32 43 72 79 70 74 6f 2e 52 53 | _string().(in.module.M2Crypto.RS |
1c380 | 41 29 94 6a 6d 17 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 27 6c 6f 61 64 5f 70 75 62 5f 6b 65 | A).jm...h'Nt.(j.....'load_pub_ke |
1c3a0 | 79 28 29 20 28 69 6e 20 6d 6f 64 75 6c 65 20 4d 32 43 72 79 70 74 6f 2e 52 53 41 29 94 6a 70 17 | y().(in.module.M2Crypto.RSA).jp. |
1c3c0 | 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 2b 6c 6f 61 64 5f 70 75 62 5f 6b 65 79 5f 62 69 6f 28 | ..h'Nt.(j.....+load_pub_key_bio( |
1c3e0 | 29 20 28 69 6e 20 6d 6f 64 75 6c 65 20 4d 32 43 72 79 70 74 6f 2e 52 53 41 29 94 6a 73 17 00 00 | ).(in.module.M2Crypto.RSA).js... |
1c400 | 68 27 4e 74 94 28 6a 87 1b 00 00 8c 26 6e 65 77 5f 70 75 62 5f 6b 65 79 28 29 20 28 69 6e 20 6d | h'Nt.(j.....&new_pub_key().(in.m |
1c420 | 6f 64 75 6c 65 20 4d 32 43 72 79 70 74 6f 2e 52 53 41 29 94 6a 76 17 00 00 68 27 4e 74 94 28 6a | odule.M2Crypto.RSA).jv...h'Nt.(j |
1c440 | 87 1b 00 00 8c 24 72 73 61 5f 65 72 72 6f 72 28 29 20 28 69 6e 20 6d 6f 64 75 6c 65 20 4d 32 43 | .....$rsa_error().(in.module.M2C |
1c460 | 72 79 70 74 6f 2e 52 53 41 29 94 6a 79 17 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 16 4d 32 43 | rypto.RSA).jy...h'Nt.(j......M2C |
1c480 | 72 79 70 74 6f 2e 52 61 6e 64 20 28 6d 6f 64 75 6c 65 29 94 8c 14 6d 6f 64 75 6c 65 2d 4d 32 43 | rypto.Rand.(module)...module-M2C |
1c4a0 | 72 79 70 74 6f 2e 52 61 6e 64 94 68 27 4e 74 94 28 6a 87 1b 00 00 8c 25 72 61 6e 64 5f 73 65 65 | rypto.Rand.h'Nt.(j.....%rand_see |
1c4c0 | 64 28 29 20 28 69 6e 20 6d 6f 64 75 6c 65 20 4d 32 43 72 79 70 74 6f 2e 52 61 6e 64 29 94 6a 7e | d().(in.module.M2Crypto.Rand).j~ |
1c4e0 | 17 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 24 72 61 6e 64 5f 61 64 64 28 29 20 28 69 6e 20 6d | ...h'Nt.(j.....$rand_add().(in.m |
1c500 | 6f 64 75 6c 65 20 4d 32 43 72 79 70 74 6f 2e 52 61 6e 64 29 94 6a 81 17 00 00 68 27 4e 74 94 28 | odule.M2Crypto.Rand).j....h'Nt.( |
1c520 | 6a 87 1b 00 00 8c 25 6c 6f 61 64 5f 66 69 6c 65 28 29 20 28 69 6e 20 6d 6f 64 75 6c 65 20 4d 32 | j.....%load_file().(in.module.M2 |
1c540 | 43 72 79 70 74 6f 2e 52 61 6e 64 29 94 6a 84 17 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 25 73 | Crypto.Rand).j....h'Nt.(j.....%s |
1c560 | 61 76 65 5f 66 69 6c 65 28 29 20 28 69 6e 20 6d 6f 64 75 6c 65 20 4d 32 43 72 79 70 74 6f 2e 52 | ave_file().(in.module.M2Crypto.R |
1c580 | 61 6e 64 29 94 6a 87 17 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 26 72 61 6e 64 5f 62 79 74 65 | and).j....h'Nt.(j.....&rand_byte |
1c5a0 | 73 28 29 20 28 69 6e 20 6d 6f 64 75 6c 65 20 4d 32 43 72 79 70 74 6f 2e 52 61 6e 64 29 94 6a 8a | s().(in.module.M2Crypto.Rand).j. |
1c5c0 | 17 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 2d 72 61 6e 64 5f 70 73 65 75 64 6f 5f 62 79 74 65 | ...h'Nt.(j.....-rand_pseudo_byte |
1c5e0 | 73 28 29 20 28 69 6e 20 6d 6f 64 75 6c 65 20 4d 32 43 72 79 70 74 6f 2e 52 61 6e 64 29 94 6a 8d | s().(in.module.M2Crypto.Rand).j. |
1c600 | 17 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 2a 72 61 6e 64 5f 66 69 6c 65 5f 6e 61 6d 65 28 29 | ...h'Nt.(j.....*rand_file_name() |
1c620 | 20 28 69 6e 20 6d 6f 64 75 6c 65 20 4d 32 43 72 79 70 74 6f 2e 52 61 6e 64 29 94 6a 90 17 00 00 | .(in.module.M2Crypto.Rand).j.... |
1c640 | 68 27 4e 74 94 28 6a 87 1b 00 00 8c 27 72 61 6e 64 5f 73 74 61 74 75 73 28 29 20 28 69 6e 20 6d | h'Nt.(j.....'rand_status().(in.m |
1c660 | 6f 64 75 6c 65 20 4d 32 43 72 79 70 74 6f 2e 52 61 6e 64 29 94 6a 93 17 00 00 68 27 4e 74 94 28 | odule.M2Crypto.Rand).j....h'Nt.( |
1c680 | 6a 87 1b 00 00 8c 17 4d 32 43 72 79 70 74 6f 2e 53 4d 49 4d 45 20 28 6d 6f 64 75 6c 65 29 94 8c | j......M2Crypto.SMIME.(module).. |
1c6a0 | 15 6d 6f 64 75 6c 65 2d 4d 32 43 72 79 70 74 6f 2e 53 4d 49 4d 45 94 68 27 4e 74 94 28 6a 87 1b | .module-M2Crypto.SMIME.h'Nt.(j.. |
1c6c0 | 00 00 8c 20 43 69 70 68 65 72 20 28 63 6c 61 73 73 20 69 6e 20 4d 32 43 72 79 70 74 6f 2e 53 4d | ....Cipher.(class.in.M2Crypto.SM |
1c6e0 | 49 4d 45 29 94 6a 98 17 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 1f 50 4b 43 53 37 20 28 63 6c | IME).j....h'Nt.(j......PKCS7.(cl |
1c700 | 61 73 73 20 69 6e 20 4d 32 43 72 79 70 74 6f 2e 53 4d 49 4d 45 29 94 6a 9b 17 00 00 68 27 4e 74 | ass.in.M2Crypto.SMIME).j....h'Nt |
1c720 | 94 28 6a 87 1b 00 00 8c 2c 67 65 74 30 5f 73 69 67 6e 65 72 73 28 29 20 28 4d 32 43 72 79 70 74 | .(j.....,get0_signers().(M2Crypt |
1c740 | 6f 2e 53 4d 49 4d 45 2e 50 4b 43 53 37 20 6d 65 74 68 6f 64 29 94 6a 9e 17 00 00 68 27 4e 74 94 | o.SMIME.PKCS7.method).j....h'Nt. |
1c760 | 28 6a 87 1b 00 00 8c 2d 6d 32 5f 70 6b 63 73 37 5f 66 72 65 65 28 29 20 28 4d 32 43 72 79 70 74 | (j.....-m2_pkcs7_free().(M2Crypt |
1c780 | 6f 2e 53 4d 49 4d 45 2e 50 4b 43 53 37 20 6d 65 74 68 6f 64 29 94 6a a1 17 00 00 68 27 4e 74 94 | o.SMIME.PKCS7.method).j....h'Nt. |
1c7a0 | 28 6a 87 1b 00 00 8c 24 74 79 70 65 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 4d 49 4d 45 2e 50 | (j.....$type().(M2Crypto.SMIME.P |
1c7c0 | 4b 43 53 37 20 6d 65 74 68 6f 64 29 94 6a a4 17 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 25 77 | KCS7.method).j....h'Nt.(j.....%w |
1c7e0 | 72 69 74 65 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 4d 49 4d 45 2e 50 4b 43 53 37 20 6d 65 74 | rite().(M2Crypto.SMIME.PKCS7.met |
1c800 | 68 6f 64 29 94 6a a7 17 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 29 77 72 69 74 65 5f 64 65 72 | hod).j....h'Nt.(j.....)write_der |
1c820 | 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 4d 49 4d 45 2e 50 4b 43 53 37 20 6d 65 74 68 6f 64 29 | ().(M2Crypto.SMIME.PKCS7.method) |
1c840 | 94 6a aa 17 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 0b 50 4b 43 53 37 5f 45 72 72 6f 72 94 6a | .j....h'Nt.(j......PKCS7_Error.j |
1c860 | ad 17 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 1f 53 4d 49 4d 45 20 28 63 6c 61 73 73 20 69 6e | ....h'Nt.(j......SMIME.(class.in |
1c880 | 20 4d 32 43 72 79 70 74 6f 2e 53 4d 49 4d 45 29 94 6a b0 17 00 00 68 27 4e 74 94 28 6a 87 1b 00 | .M2Crypto.SMIME).j....h'Nt.(j... |
1c8a0 | 00 8c 27 64 65 63 72 79 70 74 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 4d 49 4d 45 2e 53 4d 49 | ..'decrypt().(M2Crypto.SMIME.SMI |
1c8c0 | 4d 45 20 6d 65 74 68 6f 64 29 94 6a b3 17 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 27 65 6e 63 | ME.method).j....h'Nt.(j.....'enc |
1c8e0 | 72 79 70 74 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 4d 49 4d 45 2e 53 4d 49 4d 45 20 6d 65 74 | rypt().(M2Crypto.SMIME.SMIME.met |
1c900 | 68 6f 64 29 94 6a b6 17 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 28 6c 6f 61 64 5f 6b 65 79 28 | hod).j....h'Nt.(j.....(load_key( |
1c920 | 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 4d 49 4d 45 2e 53 4d 49 4d 45 20 6d 65 74 68 6f 64 29 94 | ).(M2Crypto.SMIME.SMIME.method). |
1c940 | 6a b9 17 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 2c 6c 6f 61 64 5f 6b 65 79 5f 62 69 6f 28 29 | j....h'Nt.(j.....,load_key_bio() |
1c960 | 20 28 4d 32 43 72 79 70 74 6f 2e 53 4d 49 4d 45 2e 53 4d 49 4d 45 20 6d 65 74 68 6f 64 29 94 6a | .(M2Crypto.SMIME.SMIME.method).j |
1c980 | bc 17 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 2a 73 65 74 5f 63 69 70 68 65 72 28 29 20 28 4d | ....h'Nt.(j.....*set_cipher().(M |
1c9a0 | 32 43 72 79 70 74 6f 2e 53 4d 49 4d 45 2e 53 4d 49 4d 45 20 6d 65 74 68 6f 64 29 94 6a bf 17 00 | 2Crypto.SMIME.SMIME.method).j... |
1c9c0 | 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 2e 73 65 74 5f 78 35 30 39 5f 73 74 61 63 6b 28 29 20 28 | .h'Nt.(j......set_x509_stack().( |
1c9e0 | 4d 32 43 72 79 70 74 6f 2e 53 4d 49 4d 45 2e 53 4d 49 4d 45 20 6d 65 74 68 6f 64 29 94 6a c2 17 | M2Crypto.SMIME.SMIME.method).j.. |
1ca00 | 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 2e 73 65 74 5f 78 35 30 39 5f 73 74 6f 72 65 28 29 20 | ..h'Nt.(j......set_x509_store(). |
1ca20 | 28 4d 32 43 72 79 70 74 6f 2e 53 4d 49 4d 45 2e 53 4d 49 4d 45 20 6d 65 74 68 6f 64 29 94 6a c5 | (M2Crypto.SMIME.SMIME.method).j. |
1ca40 | 17 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 24 73 69 67 6e 28 29 20 28 4d 32 43 72 79 70 74 6f | ...h'Nt.(j.....$sign().(M2Crypto |
1ca60 | 2e 53 4d 49 4d 45 2e 53 4d 49 4d 45 20 6d 65 74 68 6f 64 29 94 6a c8 17 00 00 68 27 4e 74 94 28 | .SMIME.SMIME.method).j....h'Nt.( |
1ca80 | 6a 87 1b 00 00 8c 2c 75 6e 73 65 74 5f 63 69 70 68 65 72 28 29 20 28 4d 32 43 72 79 70 74 6f 2e | j.....,unset_cipher().(M2Crypto. |
1caa0 | 53 4d 49 4d 45 2e 53 4d 49 4d 45 20 6d 65 74 68 6f 64 29 94 6a cb 17 00 00 68 27 4e 74 94 28 6a | SMIME.SMIME.method).j....h'Nt.(j |
1cac0 | 87 1b 00 00 8c 29 75 6e 73 65 74 5f 6b 65 79 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 4d 49 4d | .....)unset_key().(M2Crypto.SMIM |
1cae0 | 45 2e 53 4d 49 4d 45 20 6d 65 74 68 6f 64 29 94 6a ce 17 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 | E.SMIME.method).j....h'Nt.(j.... |
1cb00 | 8c 30 75 6e 73 65 74 5f 78 35 30 39 5f 73 74 61 63 6b 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 | .0unset_x509_stack().(M2Crypto.S |
1cb20 | 4d 49 4d 45 2e 53 4d 49 4d 45 20 6d 65 74 68 6f 64 29 94 6a d1 17 00 00 68 27 4e 74 94 28 6a 87 | MIME.SMIME.method).j....h'Nt.(j. |
1cb40 | 1b 00 00 8c 30 75 6e 73 65 74 5f 78 35 30 39 5f 73 74 6f 72 65 28 29 20 28 4d 32 43 72 79 70 74 | ....0unset_x509_store().(M2Crypt |
1cb60 | 6f 2e 53 4d 49 4d 45 2e 53 4d 49 4d 45 20 6d 65 74 68 6f 64 29 94 6a d4 17 00 00 68 27 4e 74 94 | o.SMIME.SMIME.method).j....h'Nt. |
1cb80 | 28 6a 87 1b 00 00 8c 26 76 65 72 69 66 79 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 4d 49 4d 45 | (j.....&verify().(M2Crypto.SMIME |
1cba0 | 2e 53 4d 49 4d 45 20 6d 65 74 68 6f 64 29 94 6a d7 17 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c | .SMIME.method).j....h'Nt.(j..... |
1cbc0 | 25 77 72 69 74 65 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 53 4d 49 4d 45 2e 53 4d 49 4d 45 20 6d | %write().(M2Crypto.SMIME.SMIME.m |
1cbe0 | 65 74 68 6f 64 29 94 6a da 17 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 0b 53 4d 49 4d 45 5f 45 | ethod).j....h'Nt.(j......SMIME_E |
1cc00 | 72 72 6f 72 94 6a dd 17 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 27 6c 6f 61 64 5f 70 6b 63 73 | rror.j....h'Nt.(j.....'load_pkcs |
1cc20 | 37 28 29 20 28 69 6e 20 6d 6f 64 75 6c 65 20 4d 32 43 72 79 70 74 6f 2e 53 4d 49 4d 45 29 94 6a | 7().(in.module.M2Crypto.SMIME).j |
1cc40 | e0 17 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 2b 6c 6f 61 64 5f 70 6b 63 73 37 5f 62 69 6f 28 | ....h'Nt.(j.....+load_pkcs7_bio( |
1cc60 | 29 20 28 69 6e 20 6d 6f 64 75 6c 65 20 4d 32 43 72 79 70 74 6f 2e 53 4d 49 4d 45 29 94 6a e3 17 | ).(in.module.M2Crypto.SMIME).j.. |
1cc80 | 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 2f 6c 6f 61 64 5f 70 6b 63 73 37 5f 62 69 6f 5f 64 65 | ..h'Nt.(j...../load_pkcs7_bio_de |
1cca0 | 72 28 29 20 28 69 6e 20 6d 6f 64 75 6c 65 20 4d 32 43 72 79 70 74 6f 2e 53 4d 49 4d 45 29 94 6a | r().(in.module.M2Crypto.SMIME).j |
1ccc0 | e6 17 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 2b 6c 6f 61 64 5f 70 6b 63 73 37 5f 64 65 72 28 | ....h'Nt.(j.....+load_pkcs7_der( |
1cce0 | 29 20 28 69 6e 20 6d 6f 64 75 6c 65 20 4d 32 43 72 79 70 74 6f 2e 53 4d 49 4d 45 29 94 6a e9 17 | ).(in.module.M2Crypto.SMIME).j.. |
1cd00 | 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 2d 73 6d 69 6d 65 5f 6c 6f 61 64 5f 70 6b 63 73 37 28 | ..h'Nt.(j.....-smime_load_pkcs7( |
1cd20 | 29 20 28 69 6e 20 6d 6f 64 75 6c 65 20 4d 32 43 72 79 70 74 6f 2e 53 4d 49 4d 45 29 94 6a ec 17 | ).(in.module.M2Crypto.SMIME).j.. |
1cd40 | 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 31 73 6d 69 6d 65 5f 6c 6f 61 64 5f 70 6b 63 73 37 5f | ..h'Nt.(j.....1smime_load_pkcs7_ |
1cd60 | 62 69 6f 28 29 20 28 69 6e 20 6d 6f 64 75 6c 65 20 4d 32 43 72 79 70 74 6f 2e 53 4d 49 4d 45 29 | bio().(in.module.M2Crypto.SMIME) |
1cd80 | 94 6a ef 17 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 26 74 65 78 74 5f 63 72 6c 66 28 29 20 28 | .j....h'Nt.(j.....&text_crlf().( |
1cda0 | 69 6e 20 6d 6f 64 75 6c 65 20 4d 32 43 72 79 70 74 6f 2e 53 4d 49 4d 45 29 94 6a f2 17 00 00 68 | in.module.M2Crypto.SMIME).j....h |
1cdc0 | 27 4e 74 94 28 6a 87 1b 00 00 8c 2a 74 65 78 74 5f 63 72 6c 66 5f 62 69 6f 28 29 20 28 69 6e 20 | 'Nt.(j.....*text_crlf_bio().(in. |
1cde0 | 6d 6f 64 75 6c 65 20 4d 32 43 72 79 70 74 6f 2e 53 4d 49 4d 45 29 94 6a f5 17 00 00 68 27 4e 74 | module.M2Crypto.SMIME).j....h'Nt |
1ce00 | 94 28 6a 87 1b 00 00 8c 16 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 20 28 6d 6f 64 75 6c 65 29 94 | .(j......M2Crypto.X509.(module). |
1ce20 | 8c 14 6d 6f 64 75 6c 65 2d 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 94 68 27 4e 74 94 28 6a 87 1b | ..module-M2Crypto.X509.h'Nt.(j.. |
1ce40 | 00 00 8c 1c 43 52 4c 20 28 63 6c 61 73 73 20 69 6e 20 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 29 | ....CRL.(class.in.M2Crypto.X509) |
1ce60 | 94 6a fa 17 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 24 61 73 5f 74 65 78 74 28 29 20 28 4d 32 | .j....h'Nt.(j.....$as_text().(M2 |
1ce80 | 43 72 79 70 74 6f 2e 58 35 30 39 2e 43 52 4c 20 6d 65 74 68 6f 64 29 94 6a fd 17 00 00 68 27 4e | Crypto.X509.CRL.method).j....h'N |
1cea0 | 74 94 28 6a 87 1b 00 00 8c 2d 6d 32 5f 78 35 30 39 5f 63 72 6c 5f 66 72 65 65 28 29 20 28 4d 32 | t.(j.....-m2_x509_crl_free().(M2 |
1cec0 | 43 72 79 70 74 6f 2e 58 35 30 39 2e 43 52 4c 20 6d 65 74 68 6f 64 29 94 6a 00 18 00 00 68 27 4e | Crypto.X509.CRL.method).j....h'N |
1cee0 | 74 94 28 6a 87 1b 00 00 8c 20 52 65 71 75 65 73 74 20 28 63 6c 61 73 73 20 69 6e 20 4d 32 43 72 | t.(j......Request.(class.in.M2Cr |
1cf00 | 79 70 74 6f 2e 58 35 30 39 29 94 6a 03 18 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 2f 61 64 64 | ypto.X509).j....h'Nt.(j...../add |
1cf20 | 5f 65 78 74 65 6e 73 69 6f 6e 73 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 52 65 71 | _extensions().(M2Crypto.X509.Req |
1cf40 | 75 65 73 74 20 6d 65 74 68 6f 64 29 94 6a 06 18 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 27 61 | uest.method).j....h'Nt.(j.....'a |
1cf60 | 73 5f 64 65 72 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 52 65 71 75 65 73 74 20 6d | s_der().(M2Crypto.X509.Request.m |
1cf80 | 65 74 68 6f 64 29 94 6a 09 18 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 27 61 73 5f 70 65 6d 28 | ethod).j....h'Nt.(j.....'as_pem( |
1cfa0 | 29 20 28 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 52 65 71 75 65 73 74 20 6d 65 74 68 6f 64 29 | ).(M2Crypto.X509.Request.method) |
1cfc0 | 94 6a 0c 18 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 28 61 73 5f 74 65 78 74 28 29 20 28 4d 32 | .j....h'Nt.(j.....(as_text().(M2 |
1cfe0 | 43 72 79 70 74 6f 2e 58 35 30 39 2e 52 65 71 75 65 73 74 20 6d 65 74 68 6f 64 29 94 6a 0f 18 00 | Crypto.X509.Request.method).j... |
1d000 | 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 2b 67 65 74 5f 70 75 62 6b 65 79 28 29 20 28 4d 32 43 72 | .h'Nt.(j.....+get_pubkey().(M2Cr |
1d020 | 79 70 74 6f 2e 58 35 30 39 2e 52 65 71 75 65 73 74 20 6d 65 74 68 6f 64 29 94 6a 12 18 00 00 68 | ypto.X509.Request.method).j....h |
1d040 | 27 4e 74 94 28 6a 87 1b 00 00 8c 2c 67 65 74 5f 73 75 62 6a 65 63 74 28 29 20 28 4d 32 43 72 79 | 'Nt.(j.....,get_subject().(M2Cry |
1d060 | 70 74 6f 2e 58 35 30 39 2e 52 65 71 75 65 73 74 20 6d 65 74 68 6f 64 29 94 6a 15 18 00 00 68 27 | pto.X509.Request.method).j....h' |
1d080 | 4e 74 94 28 6a 87 1b 00 00 8c 2c 67 65 74 5f 76 65 72 73 69 6f 6e 28 29 20 28 4d 32 43 72 79 70 | Nt.(j.....,get_version().(M2Cryp |
1d0a0 | 74 6f 2e 58 35 30 39 2e 52 65 71 75 65 73 74 20 6d 65 74 68 6f 64 29 94 6a 18 18 00 00 68 27 4e | to.X509.Request.method).j....h'N |
1d0c0 | 74 94 28 6a 87 1b 00 00 8c 31 6d 32 5f 78 35 30 39 5f 72 65 71 5f 66 72 65 65 28 29 20 28 4d 32 | t.(j.....1m2_x509_req_free().(M2 |
1d0e0 | 43 72 79 70 74 6f 2e 58 35 30 39 2e 52 65 71 75 65 73 74 20 6d 65 74 68 6f 64 29 94 6a 1b 18 00 | Crypto.X509.Request.method).j... |
1d100 | 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 25 73 61 76 65 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 58 | .h'Nt.(j.....%save().(M2Crypto.X |
1d120 | 35 30 39 2e 52 65 71 75 65 73 74 20 6d 65 74 68 6f 64 29 94 6a 1e 18 00 00 68 27 4e 74 94 28 6a | 509.Request.method).j....h'Nt.(j |
1d140 | 87 1b 00 00 8c 29 73 61 76 65 5f 70 65 6d 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e | .....)save_pem().(M2Crypto.X509. |
1d160 | 52 65 71 75 65 73 74 20 6d 65 74 68 6f 64 29 94 6a 21 18 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 | Request.method).j!...h'Nt.(j.... |
1d180 | 8c 2b 73 65 74 5f 70 75 62 6b 65 79 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 52 65 | .+set_pubkey().(M2Crypto.X509.Re |
1d1a0 | 71 75 65 73 74 20 6d 65 74 68 6f 64 29 94 6a 24 18 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 2c | quest.method).j$...h'Nt.(j....., |
1d1c0 | 73 65 74 5f 73 75 62 6a 65 63 74 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 52 65 71 | set_subject().(M2Crypto.X509.Req |
1d1e0 | 75 65 73 74 20 6d 65 74 68 6f 64 29 94 6a 27 18 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 31 73 | uest.method).j'...h'Nt.(j.....1s |
1d200 | 65 74 5f 73 75 62 6a 65 63 74 5f 6e 61 6d 65 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 | et_subject_name().(M2Crypto.X509 |
1d220 | 2e 52 65 71 75 65 73 74 20 6d 65 74 68 6f 64 29 94 6a 2a 18 00 00 68 27 4e 74 94 28 6a 87 1b 00 | .Request.method).j*...h'Nt.(j... |
1d240 | 00 8c 2c 73 65 74 5f 76 65 72 73 69 6f 6e 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e | ..,set_version().(M2Crypto.X509. |
1d260 | 52 65 71 75 65 73 74 20 6d 65 74 68 6f 64 29 94 6a 2d 18 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 | Request.method).j-...h'Nt.(j.... |
1d280 | 8c 25 73 69 67 6e 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 52 65 71 75 65 73 74 20 | .%sign().(M2Crypto.X509.Request. |
1d2a0 | 6d 65 74 68 6f 64 29 94 6a 30 18 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 27 76 65 72 69 66 79 | method).j0...h'Nt.(j.....'verify |
1d2c0 | 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 52 65 71 75 65 73 74 20 6d 65 74 68 6f 64 | ().(M2Crypto.X509.Request.method |
1d2e0 | 29 94 6a 33 18 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 1d 58 35 30 39 20 28 63 6c 61 73 73 20 | ).j3...h'Nt.(j......X509.(class. |
1d300 | 69 6e 20 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 29 94 6a 36 18 00 00 68 27 4e 74 94 28 6a 87 1b | in.M2Crypto.X509).j6...h'Nt.(j.. |
1d320 | 00 00 8c 25 61 64 64 5f 65 78 74 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 | ...%add_ext().(M2Crypto.X509.X50 |
1d340 | 39 20 6d 65 74 68 6f 64 29 94 6a 39 18 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 24 61 73 5f 64 | 9.method).j9...h'Nt.(j.....$as_d |
1d360 | 65 72 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 20 6d 65 74 68 6f 64 29 | er().(M2Crypto.X509.X509.method) |
1d380 | 94 6a 3c 18 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 24 61 73 5f 70 65 6d 28 29 20 28 4d 32 43 | .j<...h'Nt.(j.....$as_pem().(M2C |
1d3a0 | 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 20 6d 65 74 68 6f 64 29 94 6a 3f 18 00 00 68 27 4e | rypto.X509.X509.method).j?...h'N |
1d3c0 | 74 94 28 6a 87 1b 00 00 8c 25 61 73 5f 74 65 78 74 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 58 35 | t.(j.....%as_text().(M2Crypto.X5 |
1d3e0 | 30 39 2e 58 35 30 39 20 6d 65 74 68 6f 64 29 94 6a 42 18 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 | 09.X509.method).jB...h'Nt.(j.... |
1d400 | 8c 26 63 68 65 63 6b 5f 63 61 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 | .&check_ca().(M2Crypto.X509.X509 |
1d420 | 20 6d 65 74 68 6f 64 29 94 6a 45 18 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 2b 63 68 65 63 6b | .method).jE...h'Nt.(j.....+check |
1d440 | 5f 70 75 72 70 6f 73 65 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 20 6d | _purpose().(M2Crypto.X509.X509.m |
1d460 | 65 74 68 6f 64 29 94 6a 48 18 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 25 67 65 74 5f 65 78 74 | ethod).jH...h'Nt.(j.....%get_ext |
1d480 | 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 20 6d 65 74 68 6f 64 29 94 6a | ().(M2Crypto.X509.X509.method).j |
1d4a0 | 4b 18 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 28 67 65 74 5f 65 78 74 5f 61 74 28 29 20 28 4d | K...h'Nt.(j.....(get_ext_at().(M |
1d4c0 | 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 20 6d 65 74 68 6f 64 29 94 6a 4e 18 00 00 68 | 2Crypto.X509.X509.method).jN...h |
1d4e0 | 27 4e 74 94 28 6a 87 1b 00 00 8c 2b 67 65 74 5f 65 78 74 5f 63 6f 75 6e 74 28 29 20 28 4d 32 43 | 'Nt.(j.....+get_ext_count().(M2C |
1d500 | 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 20 6d 65 74 68 6f 64 29 94 6a 51 18 00 00 68 27 4e | rypto.X509.X509.method).jQ...h'N |
1d520 | 74 94 28 6a 87 1b 00 00 8c 2d 67 65 74 5f 66 69 6e 67 65 72 70 72 69 6e 74 28 29 20 28 4d 32 43 | t.(j.....-get_fingerprint().(M2C |
1d540 | 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 20 6d 65 74 68 6f 64 29 94 6a 54 18 00 00 68 27 4e | rypto.X509.X509.method).jT...h'N |
1d560 | 74 94 28 6a 87 1b 00 00 8c 28 67 65 74 5f 69 73 73 75 65 72 28 29 20 28 4d 32 43 72 79 70 74 6f | t.(j.....(get_issuer().(M2Crypto |
1d580 | 2e 58 35 30 39 2e 58 35 30 39 20 6d 65 74 68 6f 64 29 94 6a 57 18 00 00 68 27 4e 74 94 28 6a 87 | .X509.X509.method).jW...h'Nt.(j. |
1d5a0 | 1b 00 00 8c 2b 67 65 74 5f 6e 6f 74 5f 61 66 74 65 72 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 58 | ....+get_not_after().(M2Crypto.X |
1d5c0 | 35 30 39 2e 58 35 30 39 20 6d 65 74 68 6f 64 29 94 6a 5a 18 00 00 68 27 4e 74 94 28 6a 87 1b 00 | 509.X509.method).jZ...h'Nt.(j... |
1d5e0 | 00 8c 2c 67 65 74 5f 6e 6f 74 5f 62 65 66 6f 72 65 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 58 35 | ..,get_not_before().(M2Crypto.X5 |
1d600 | 30 39 2e 58 35 30 39 20 6d 65 74 68 6f 64 29 94 6a 5d 18 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 | 09.X509.method).j]...h'Nt.(j.... |
1d620 | 8c 28 67 65 74 5f 70 75 62 6b 65 79 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 | .(get_pubkey().(M2Crypto.X509.X5 |
1d640 | 30 39 20 6d 65 74 68 6f 64 29 94 6a 60 18 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 2f 67 65 74 | 09.method).j`...h'Nt.(j...../get |
1d660 | 5f 73 65 72 69 61 6c 5f 6e 75 6d 62 65 72 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e | _serial_number().(M2Crypto.X509. |
1d680 | 58 35 30 39 20 6d 65 74 68 6f 64 29 94 6a 63 18 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 29 67 | X509.method).jc...h'Nt.(j.....)g |
1d6a0 | 65 74 5f 73 75 62 6a 65 63 74 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 | et_subject().(M2Crypto.X509.X509 |
1d6c0 | 20 6d 65 74 68 6f 64 29 94 6a 66 18 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 29 67 65 74 5f 76 | .method).jf...h'Nt.(j.....)get_v |
1d6e0 | 65 72 73 69 6f 6e 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 20 6d 65 74 | ersion().(M2Crypto.X509.X509.met |
1d700 | 68 6f 64 29 94 6a 69 18 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 2a 6d 32 5f 78 35 30 39 5f 66 | hod).ji...h'Nt.(j.....*m2_x509_f |
1d720 | 72 65 65 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 20 6d 65 74 68 6f 64 | ree().(M2Crypto.X509.X509.method |
1d740 | 29 94 6a 6c 18 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 22 73 61 76 65 28 29 20 28 4d 32 43 72 | ).jl...h'Nt.(j....."save().(M2Cr |
1d760 | 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 20 6d 65 74 68 6f 64 29 94 6a 6f 18 00 00 68 27 4e 74 | ypto.X509.X509.method).jo...h'Nt |
1d780 | 94 28 6a 87 1b 00 00 8c 26 73 61 76 65 5f 70 65 6d 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 58 35 | .(j.....&save_pem().(M2Crypto.X5 |
1d7a0 | 30 39 2e 58 35 30 39 20 6d 65 74 68 6f 64 29 94 6a 72 18 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 | 09.X509.method).jr...h'Nt.(j.... |
1d7c0 | 8c 28 73 65 74 5f 69 73 73 75 65 72 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 | .(set_issuer().(M2Crypto.X509.X5 |
1d7e0 | 30 39 20 6d 65 74 68 6f 64 29 94 6a 75 18 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 2d 73 65 74 | 09.method).ju...h'Nt.(j.....-set |
1d800 | 5f 69 73 73 75 65 72 5f 6e 61 6d 65 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 | _issuer_name().(M2Crypto.X509.X5 |
1d820 | 30 39 20 6d 65 74 68 6f 64 29 94 6a 78 18 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 2b 73 65 74 | 09.method).jx...h'Nt.(j.....+set |
1d840 | 5f 6e 6f 74 5f 61 66 74 65 72 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 | _not_after().(M2Crypto.X509.X509 |
1d860 | 20 6d 65 74 68 6f 64 29 94 6a 7b 18 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 2c 73 65 74 5f 6e | .method).j{...h'Nt.(j.....,set_n |
1d880 | 6f 74 5f 62 65 66 6f 72 65 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 20 | ot_before().(M2Crypto.X509.X509. |
1d8a0 | 6d 65 74 68 6f 64 29 94 6a 7e 18 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 28 73 65 74 5f 70 75 | method).j~...h'Nt.(j.....(set_pu |
1d8c0 | 62 6b 65 79 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 20 6d 65 74 68 6f | bkey().(M2Crypto.X509.X509.metho |
1d8e0 | 64 29 94 6a 81 18 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 2f 73 65 74 5f 73 65 72 69 61 6c 5f | d).j....h'Nt.(j...../set_serial_ |
1d900 | 6e 75 6d 62 65 72 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 20 6d 65 74 | number().(M2Crypto.X509.X509.met |
1d920 | 68 6f 64 29 94 6a 84 18 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 29 73 65 74 5f 73 75 62 6a 65 | hod).j....h'Nt.(j.....)set_subje |
1d940 | 63 74 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 20 6d 65 74 68 6f 64 29 | ct().(M2Crypto.X509.X509.method) |
1d960 | 94 6a 87 18 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 2e 73 65 74 5f 73 75 62 6a 65 63 74 5f 6e | .j....h'Nt.(j......set_subject_n |
1d980 | 61 6d 65 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 20 6d 65 74 68 6f 64 | ame().(M2Crypto.X509.X509.method |
1d9a0 | 29 94 6a 8a 18 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 29 73 65 74 5f 76 65 72 73 69 6f 6e 28 | ).j....h'Nt.(j.....)set_version( |
1d9c0 | 29 20 28 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 20 6d 65 74 68 6f 64 29 94 6a 8d | ).(M2Crypto.X509.X509.method).j. |
1d9e0 | 18 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 22 73 69 67 6e 28 29 20 28 4d 32 43 72 79 70 74 6f | ...h'Nt.(j....."sign().(M2Crypto |
1da00 | 2e 58 35 30 39 2e 58 35 30 39 20 6d 65 74 68 6f 64 29 94 6a 90 18 00 00 68 27 4e 74 94 28 6a 87 | .X509.X509.method).j....h'Nt.(j. |
1da20 | 1b 00 00 8c 24 76 65 72 69 66 79 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 | ....$verify().(M2Crypto.X509.X50 |
1da40 | 39 20 6d 65 74 68 6f 64 29 94 6a 93 18 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 09 58 35 30 39 | 9.method).j....h'Nt.(j......X509 |
1da60 | 45 72 72 6f 72 94 6a 96 18 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 27 58 35 30 39 5f 45 78 74 | Error.j....h'Nt.(j.....'X509_Ext |
1da80 | 65 6e 73 69 6f 6e 20 28 63 6c 61 73 73 20 69 6e 20 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 29 94 | ension.(class.in.M2Crypto.X509). |
1daa0 | 6a 99 18 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 34 67 65 74 5f 63 72 69 74 69 63 61 6c 28 29 | j....h'Nt.(j.....4get_critical() |
1dac0 | 20 28 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 5f 45 78 74 65 6e 73 69 6f 6e 20 6d | .(M2Crypto.X509.X509_Extension.m |
1dae0 | 65 74 68 6f 64 29 94 6a 9c 18 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 30 67 65 74 5f 6e 61 6d | ethod).j....h'Nt.(j.....0get_nam |
1db00 | 65 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 5f 45 78 74 65 6e 73 69 6f | e().(M2Crypto.X509.X509_Extensio |
1db20 | 6e 20 6d 65 74 68 6f 64 29 94 6a 9f 18 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 31 67 65 74 5f | n.method).j....h'Nt.(j.....1get_ |
1db40 | 76 61 6c 75 65 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 5f 45 78 74 65 | value().(M2Crypto.X509.X509_Exte |
1db60 | 6e 73 69 6f 6e 20 6d 65 74 68 6f 64 29 94 6a a2 18 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 3e | nsion.method).j....h'Nt.(j.....> |
1db80 | 6d 32 5f 78 35 30 39 5f 65 78 74 65 6e 73 69 6f 6e 5f 66 72 65 65 28 29 20 28 4d 32 43 72 79 70 | m2_x509_extension_free().(M2Cryp |
1dba0 | 74 6f 2e 58 35 30 39 2e 58 35 30 39 5f 45 78 74 65 6e 73 69 6f 6e 20 6d 65 74 68 6f 64 29 94 6a | to.X509.X509_Extension.method).j |
1dbc0 | a5 18 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 34 73 65 74 5f 63 72 69 74 69 63 61 6c 28 29 20 | ....h'Nt.(j.....4set_critical(). |
1dbe0 | 28 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 5f 45 78 74 65 6e 73 69 6f 6e 20 6d 65 | (M2Crypto.X509.X509_Extension.me |
1dc00 | 74 68 6f 64 29 94 6a a8 18 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 2d 58 35 30 39 5f 45 78 74 | thod).j....h'Nt.(j.....-X509_Ext |
1dc20 | 65 6e 73 69 6f 6e 5f 53 74 61 63 6b 20 28 63 6c 61 73 73 20 69 6e 20 4d 32 43 72 79 70 74 6f 2e | ension_Stack.(class.in.M2Crypto. |
1dc40 | 58 35 30 39 29 94 6a ab 18 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 47 6d 32 5f 73 6b 5f 78 35 | X509).j....h'Nt.(j.....Gm2_sk_x5 |
1dc60 | 30 39 5f 65 78 74 65 6e 73 69 6f 6e 5f 66 72 65 65 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 58 35 | 09_extension_free().(M2Crypto.X5 |
1dc80 | 30 39 2e 58 35 30 39 5f 45 78 74 65 6e 73 69 6f 6e 5f 53 74 61 63 6b 20 6d 65 74 68 6f 64 29 94 | 09.X509_Extension_Stack.method). |
1dca0 | 6a ae 18 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 31 70 6f 70 28 29 20 28 4d 32 43 72 79 70 74 | j....h'Nt.(j.....1pop().(M2Crypt |
1dcc0 | 6f 2e 58 35 30 39 2e 58 35 30 39 5f 45 78 74 65 6e 73 69 6f 6e 5f 53 74 61 63 6b 20 6d 65 74 68 | o.X509.X509_Extension_Stack.meth |
1dce0 | 6f 64 29 94 6a b1 18 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 32 70 75 73 68 28 29 20 28 4d 32 | od).j....h'Nt.(j.....2push().(M2 |
1dd00 | 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 5f 45 78 74 65 6e 73 69 6f 6e 5f 53 74 61 63 6b | Crypto.X509.X509_Extension_Stack |
1dd20 | 20 6d 65 74 68 6f 64 29 94 6a b4 18 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 22 58 35 30 39 5f | .method).j....h'Nt.(j....."X509_ |
1dd40 | 4e 61 6d 65 20 28 63 6c 61 73 73 20 69 6e 20 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 29 94 6a b7 | Name.(class.in.M2Crypto.X509).j. |
1dd60 | 18 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 33 61 64 64 5f 65 6e 74 72 79 5f 62 79 5f 74 78 74 | ...h'Nt.(j.....3add_entry_by_txt |
1dd80 | 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 5f 4e 61 6d 65 20 6d 65 74 68 | ().(M2Crypto.X509.X509_Name.meth |
1dda0 | 6f 64 29 94 6a ba 18 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 29 61 73 5f 64 65 72 28 29 20 28 | od).j....h'Nt.(j.....)as_der().( |
1ddc0 | 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 5f 4e 61 6d 65 20 6d 65 74 68 6f 64 29 94 | M2Crypto.X509.X509_Name.method). |
1dde0 | 6a bd 18 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 2a 61 73 5f 68 61 73 68 28 29 20 28 4d 32 43 | j....h'Nt.(j.....*as_hash().(M2C |
1de00 | 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 5f 4e 61 6d 65 20 6d 65 74 68 6f 64 29 94 6a c0 18 | rypto.X509.X509_Name.method).j.. |
1de20 | 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 2a 61 73 5f 74 65 78 74 28 29 20 28 4d 32 43 72 79 70 | ..h'Nt.(j.....*as_text().(M2Cryp |
1de40 | 74 6f 2e 58 35 30 39 2e 58 35 30 39 5f 4e 61 6d 65 20 6d 65 74 68 6f 64 29 94 6a c3 18 00 00 68 | to.X509.X509_Name.method).j....h |
1de60 | 27 4e 74 94 28 6a 87 1b 00 00 8c 2e 65 6e 74 72 79 5f 63 6f 75 6e 74 28 29 20 28 4d 32 43 72 79 | 'Nt.(j......entry_count().(M2Cry |
1de80 | 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 5f 4e 61 6d 65 20 6d 65 74 68 6f 64 29 94 6a c6 18 00 00 | pto.X509.X509_Name.method).j.... |
1dea0 | 68 27 4e 74 94 28 6a 87 1b 00 00 8c 35 67 65 74 5f 65 6e 74 72 69 65 73 5f 62 79 5f 6e 69 64 28 | h'Nt.(j.....5get_entries_by_nid( |
1dec0 | 29 20 28 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 5f 4e 61 6d 65 20 6d 65 74 68 6f | ).(M2Crypto.X509.X509_Name.metho |
1dee0 | 64 29 94 6a c9 18 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 34 6d 32 5f 78 35 30 39 5f 6e 61 6d | d).j....h'Nt.(j.....4m2_x509_nam |
1df00 | 65 5f 66 72 65 65 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 5f 4e 61 6d | e_free().(M2Crypto.X509.X509_Nam |
1df20 | 65 20 6d 65 74 68 6f 64 29 94 6a cc 18 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 27 6e 69 64 20 | e.method).j....h'Nt.(j.....'nid. |
1df40 | 28 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 5f 4e 61 6d 65 20 61 74 74 72 69 62 75 | (M2Crypto.X509.X509_Name.attribu |
1df60 | 74 65 29 94 6a cf 18 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 28 58 35 30 39 5f 4e 61 6d 65 5f | te).j....h'Nt.(j.....(X509_Name_ |
1df80 | 45 6e 74 72 79 20 28 63 6c 61 73 73 20 69 6e 20 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 29 94 6a | Entry.(class.in.M2Crypto.X509).j |
1dfa0 | d2 18 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 36 63 72 65 61 74 65 5f 62 79 5f 74 78 74 28 29 | ....h'Nt.(j.....6create_by_txt() |
1dfc0 | 20 28 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 5f 4e 61 6d 65 5f 45 6e 74 72 79 20 | .(M2Crypto.X509.X509_Name_Entry. |
1dfe0 | 6d 65 74 68 6f 64 29 94 6a d5 18 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 31 67 65 74 5f 64 61 | method).j....h'Nt.(j.....1get_da |
1e000 | 74 61 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 5f 4e 61 6d 65 5f 45 6e | ta().(M2Crypto.X509.X509_Name_En |
1e020 | 74 72 79 20 6d 65 74 68 6f 64 29 94 6a d8 18 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 33 67 65 | try.method).j....h'Nt.(j.....3ge |
1e040 | 74 5f 6f 62 6a 65 63 74 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 5f 4e | t_object().(M2Crypto.X509.X509_N |
1e060 | 61 6d 65 5f 45 6e 74 72 79 20 6d 65 74 68 6f 64 29 94 6a db 18 00 00 68 27 4e 74 94 28 6a 87 1b | ame_Entry.method).j....h'Nt.(j.. |
1e080 | 00 00 8c 40 6d 32 5f 78 35 30 39 5f 6e 61 6d 65 5f 65 6e 74 72 79 5f 66 72 65 65 28 29 20 28 4d | ...@m2_x509_name_entry_free().(M |
1e0a0 | 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 5f 4e 61 6d 65 5f 45 6e 74 72 79 20 6d 65 74 | 2Crypto.X509.X509_Name_Entry.met |
1e0c0 | 68 6f 64 29 94 6a de 18 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 31 73 65 74 5f 64 61 74 61 28 | hod).j....h'Nt.(j.....1set_data( |
1e0e0 | 29 20 28 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 5f 4e 61 6d 65 5f 45 6e 74 72 79 | ).(M2Crypto.X509.X509_Name_Entry |
1e100 | 20 6d 65 74 68 6f 64 29 94 6a e1 18 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 33 73 65 74 5f 6f | .method).j....h'Nt.(j.....3set_o |
1e120 | 62 6a 65 63 74 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 5f 4e 61 6d 65 | bject().(M2Crypto.X509.X509_Name |
1e140 | 5f 45 6e 74 72 79 20 6d 65 74 68 6f 64 29 94 6a e4 18 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c | _Entry.method).j....h'Nt.(j..... |
1e160 | 23 58 35 30 39 5f 53 74 61 63 6b 20 28 63 6c 61 73 73 20 69 6e 20 4d 32 43 72 79 70 74 6f 2e 58 | #X509_Stack.(class.in.M2Crypto.X |
1e180 | 35 30 39 29 94 6a e7 18 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 2a 61 73 5f 64 65 72 28 29 20 | 509).j....h'Nt.(j.....*as_der(). |
1e1a0 | 28 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 5f 53 74 61 63 6b 20 6d 65 74 68 6f 64 | (M2Crypto.X509.X509_Stack.method |
1e1c0 | 29 94 6a ea 18 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 33 6d 32 5f 73 6b 5f 78 35 30 39 5f 66 | ).j....h'Nt.(j.....3m2_sk_x509_f |
1e1e0 | 72 65 65 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 5f 53 74 61 63 6b 20 | ree().(M2Crypto.X509.X509_Stack. |
1e200 | 6d 65 74 68 6f 64 29 94 6a ed 18 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 27 70 6f 70 28 29 20 | method).j....h'Nt.(j.....'pop(). |
1e220 | 28 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 5f 53 74 61 63 6b 20 6d 65 74 68 6f 64 | (M2Crypto.X509.X509_Stack.method |
1e240 | 29 94 6a f0 18 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 28 70 75 73 68 28 29 20 28 4d 32 43 72 | ).j....h'Nt.(j.....(push().(M2Cr |
1e260 | 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 5f 53 74 61 63 6b 20 6d 65 74 68 6f 64 29 94 6a f3 18 | ypto.X509.X509_Stack.method).j.. |
1e280 | 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 23 58 35 30 39 5f 53 74 6f 72 65 20 28 63 6c 61 73 73 | ..h'Nt.(j.....#X509_Store.(class |
1e2a0 | 20 69 6e 20 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 29 94 6a f6 18 00 00 68 27 4e 74 94 28 6a 87 | .in.M2Crypto.X509).j....h'Nt.(j. |
1e2c0 | 1b 00 00 8c 2c 61 64 64 5f 63 65 72 74 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 | ....,add_cert().(M2Crypto.X509.X |
1e2e0 | 35 30 39 5f 53 74 6f 72 65 20 6d 65 74 68 6f 64 29 94 6a f9 18 00 00 68 27 4e 74 94 28 6a 87 1b | 509_Store.method).j....h'Nt.(j.. |
1e300 | 00 00 8c 2c 61 64 64 5f 78 35 30 39 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 | ...,add_x509().(M2Crypto.X509.X5 |
1e320 | 30 39 5f 53 74 6f 72 65 20 6d 65 74 68 6f 64 29 94 6a fc 18 00 00 68 27 4e 74 94 28 6a 87 1b 00 | 09_Store.method).j....h'Nt.(j... |
1e340 | 00 8c 2d 6c 6f 61 64 5f 69 6e 66 6f 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 | ..-load_info().(M2Crypto.X509.X5 |
1e360 | 30 39 5f 53 74 6f 72 65 20 6d 65 74 68 6f 64 29 94 6a ff 18 00 00 68 27 4e 74 94 28 6a 87 1b 00 | 09_Store.method).j....h'Nt.(j... |
1e380 | 00 8c 32 6c 6f 61 64 5f 6c 6f 63 61 74 69 6f 6e 73 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 58 35 | ..2load_locations().(M2Crypto.X5 |
1e3a0 | 30 39 2e 58 35 30 39 5f 53 74 6f 72 65 20 6d 65 74 68 6f 64 29 94 6a 02 19 00 00 68 27 4e 74 94 | 09.X509_Store.method).j....h'Nt. |
1e3c0 | 28 6a 87 1b 00 00 8c 36 6d 32 5f 78 35 30 39 5f 73 74 6f 72 65 5f 66 72 65 65 28 29 20 28 4d 32 | (j.....6m2_x509_store_free().(M2 |
1e3e0 | 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 5f 53 74 6f 72 65 20 6d 65 74 68 6f 64 29 94 6a | Crypto.X509.X509_Store.method).j |
1e400 | 05 19 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 31 73 65 74 5f 76 65 72 69 66 79 5f 63 62 28 29 | ....h'Nt.(j.....1set_verify_cb() |
1e420 | 20 28 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 5f 53 74 6f 72 65 20 6d 65 74 68 6f | .(M2Crypto.X509.X509_Store.metho |
1e440 | 64 29 94 6a 08 19 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 2b 58 35 30 39 5f 53 74 6f 72 65 5f | d).j....h'Nt.(j.....+X509_Store_ |
1e460 | 43 6f 6e 74 65 78 74 20 28 63 6c 61 73 73 20 69 6e 20 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 29 | Context.(class.in.M2Crypto.X509) |
1e480 | 94 6a 0b 19 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 36 67 65 74 31 5f 63 68 61 69 6e 28 29 20 | .j....h'Nt.(j.....6get1_chain(). |
1e4a0 | 28 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 5f 53 74 6f 72 65 5f 43 6f 6e 74 65 78 | (M2Crypto.X509.X509_Store_Contex |
1e4c0 | 74 20 6d 65 74 68 6f 64 29 94 6a 0e 19 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 3c 67 65 74 5f | t.method).j....h'Nt.(j.....<get_ |
1e4e0 | 63 75 72 72 65 6e 74 5f 63 65 72 74 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 | current_cert().(M2Crypto.X509.X5 |
1e500 | 30 39 5f 53 74 6f 72 65 5f 43 6f 6e 74 65 78 74 20 6d 65 74 68 6f 64 29 94 6a 11 19 00 00 68 27 | 09_Store_Context.method).j....h' |
1e520 | 4e 74 94 28 6a 87 1b 00 00 8c 35 67 65 74 5f 65 72 72 6f 72 28 29 20 28 4d 32 43 72 79 70 74 6f | Nt.(j.....5get_error().(M2Crypto |
1e540 | 2e 58 35 30 39 2e 58 35 30 39 5f 53 74 6f 72 65 5f 43 6f 6e 74 65 78 74 20 6d 65 74 68 6f 64 29 | .X509.X509_Store_Context.method) |
1e560 | 94 6a 14 19 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 3b 67 65 74 5f 65 72 72 6f 72 5f 64 65 70 | .j....h'Nt.(j.....;get_error_dep |
1e580 | 74 68 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 5f 53 74 6f 72 65 5f 43 | th().(M2Crypto.X509.X509_Store_C |
1e5a0 | 6f 6e 74 65 78 74 20 6d 65 74 68 6f 64 29 94 6a 17 19 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c | ontext.method).j....h'Nt.(j..... |
1e5c0 | 42 6d 32 5f 78 35 30 39 5f 73 74 6f 72 65 5f 63 74 78 5f 66 72 65 65 28 29 20 28 4d 32 43 72 79 | Bm2_x509_store_ctx_free().(M2Cry |
1e5e0 | 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 5f 53 74 6f 72 65 5f 43 6f 6e 74 65 78 74 20 6d 65 74 68 | pto.X509.X509_Store_Context.meth |
1e600 | 6f 64 29 94 6a 1a 19 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 25 6c 6f 61 64 5f 63 65 72 74 28 | od).j....h'Nt.(j.....%load_cert( |
1e620 | 29 20 28 69 6e 20 6d 6f 64 75 6c 65 20 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 29 94 6a 1d 19 00 | ).(in.module.M2Crypto.X509).j... |
1e640 | 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 29 6c 6f 61 64 5f 63 65 72 74 5f 62 69 6f 28 29 20 28 69 | .h'Nt.(j.....)load_cert_bio().(i |
1e660 | 6e 20 6d 6f 64 75 6c 65 20 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 29 94 6a 20 19 00 00 68 27 4e | n.module.M2Crypto.X509).j....h'N |
1e680 | 74 94 28 6a 87 1b 00 00 8c 30 6c 6f 61 64 5f 63 65 72 74 5f 64 65 72 5f 73 74 72 69 6e 67 28 29 | t.(j.....0load_cert_der_string() |
1e6a0 | 20 28 69 6e 20 6d 6f 64 75 6c 65 20 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 29 94 6a 23 19 00 00 | .(in.module.M2Crypto.X509).j#... |
1e6c0 | 68 27 4e 74 94 28 6a 87 1b 00 00 8c 2c 6c 6f 61 64 5f 63 65 72 74 5f 73 74 72 69 6e 67 28 29 20 | h'Nt.(j.....,load_cert_string(). |
1e6e0 | 28 69 6e 20 6d 6f 64 75 6c 65 20 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 29 94 6a 26 19 00 00 68 | (in.module.M2Crypto.X509).j&...h |
1e700 | 27 4e 74 94 28 6a 87 1b 00 00 8c 24 6c 6f 61 64 5f 63 72 6c 28 29 20 28 69 6e 20 6d 6f 64 75 6c | 'Nt.(j.....$load_crl().(in.modul |
1e720 | 65 20 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 29 94 6a 29 19 00 00 68 27 4e 74 94 28 6a 87 1b 00 | e.M2Crypto.X509).j)...h'Nt.(j... |
1e740 | 00 8c 28 6c 6f 61 64 5f 72 65 71 75 65 73 74 28 29 20 28 69 6e 20 6d 6f 64 75 6c 65 20 4d 32 43 | ..(load_request().(in.module.M2C |
1e760 | 72 79 70 74 6f 2e 58 35 30 39 29 94 6a 2c 19 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 2c 6c 6f | rypto.X509).j,...h'Nt.(j.....,lo |
1e780 | 61 64 5f 72 65 71 75 65 73 74 5f 62 69 6f 28 29 20 28 69 6e 20 6d 6f 64 75 6c 65 20 4d 32 43 72 | ad_request_bio().(in.module.M2Cr |
1e7a0 | 79 70 74 6f 2e 58 35 30 39 29 94 6a 2f 19 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 33 6c 6f 61 | ypto.X509).j/...h'Nt.(j.....3loa |
1e7c0 | 64 5f 72 65 71 75 65 73 74 5f 64 65 72 5f 73 74 72 69 6e 67 28 29 20 28 69 6e 20 6d 6f 64 75 6c | d_request_der_string().(in.modul |
1e7e0 | 65 20 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 29 94 6a 32 19 00 00 68 27 4e 74 94 28 6a 87 1b 00 | e.M2Crypto.X509).j2...h'Nt.(j... |
1e800 | 00 8c 2f 6c 6f 61 64 5f 72 65 71 75 65 73 74 5f 73 74 72 69 6e 67 28 29 20 28 69 6e 20 6d 6f 64 | ../load_request_string().(in.mod |
1e820 | 75 6c 65 20 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 29 94 6a 35 19 00 00 68 27 4e 74 94 28 6a 87 | ule.M2Crypto.X509).j5...h'Nt.(j. |
1e840 | 1b 00 00 8c 29 6e 65 77 5f 65 78 74 65 6e 73 69 6f 6e 28 29 20 28 69 6e 20 6d 6f 64 75 6c 65 20 | ....)new_extension().(in.module. |
1e860 | 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 29 94 6a 38 19 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c | M2Crypto.X509).j8...h'Nt.(j..... |
1e880 | 2e 6e 65 77 5f 73 74 61 63 6b 5f 66 72 6f 6d 5f 64 65 72 28 29 20 28 69 6e 20 6d 6f 64 75 6c 65 | .new_stack_from_der().(in.module |
1e8a0 | 20 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 29 94 6a 3b 19 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 | .M2Crypto.X509).j;...h'Nt.(j.... |
1e8c0 | 8c 31 78 35 30 39 5f 73 74 6f 72 65 5f 64 65 66 61 75 6c 74 5f 63 62 28 29 20 28 69 6e 20 6d 6f | .1x509_store_default_cb().(in.mo |
1e8e0 | 64 75 6c 65 20 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 29 94 6a 3e 19 00 00 68 27 4e 74 94 28 6a | dule.M2Crypto.X509).j>...h'Nt.(j |
1e900 | 87 1b 00 00 8c 1a 4d 32 43 72 79 70 74 6f 2e 63 61 6c 6c 62 61 63 6b 20 28 6d 6f 64 75 6c 65 29 | ......M2Crypto.callback.(module) |
1e920 | 94 8c 18 6d 6f 64 75 6c 65 2d 4d 32 43 72 79 70 74 6f 2e 63 61 6c 6c 62 61 63 6b 94 68 27 4e 74 | ...module-M2Crypto.callback.h'Nt |
1e940 | 94 28 6a 87 1b 00 00 8c 19 4d 32 43 72 79 70 74 6f 2e 66 74 70 73 6c 69 62 20 28 6d 6f 64 75 6c | .(j......M2Crypto.ftpslib.(modul |
1e960 | 65 29 94 8c 17 6d 6f 64 75 6c 65 2d 4d 32 43 72 79 70 74 6f 2e 66 74 70 73 6c 69 62 94 68 27 4e | e)...module-M2Crypto.ftpslib.h'N |
1e980 | 74 94 28 6a 87 1b 00 00 8c 23 46 54 50 5f 54 4c 53 20 28 63 6c 61 73 73 20 69 6e 20 4d 32 43 72 | t.(j.....#FTP_TLS.(class.in.M2Cr |
1e9a0 | 79 70 74 6f 2e 66 74 70 73 6c 69 62 29 94 6a 45 19 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 2c | ypto.ftpslib).jE...h'Nt.(j....., |
1e9c0 | 61 75 74 68 5f 73 73 6c 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 66 74 70 73 6c 69 62 2e 46 54 50 | auth_ssl().(M2Crypto.ftpslib.FTP |
1e9e0 | 5f 54 4c 53 20 6d 65 74 68 6f 64 29 94 6a 48 19 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 2c 61 | _TLS.method).jH...h'Nt.(j.....,a |
1ea00 | 75 74 68 5f 74 6c 73 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 66 74 70 73 6c 69 62 2e 46 54 50 5f | uth_tls().(M2Crypto.ftpslib.FTP_ |
1ea20 | 54 4c 53 20 6d 65 74 68 6f 64 29 94 6a 4b 19 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 30 6e 74 | TLS.method).jK...h'Nt.(j.....0nt |
1ea40 | 72 61 6e 73 66 65 72 63 6d 64 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 66 74 70 73 6c 69 62 2e 46 | ransfercmd().(M2Crypto.ftpslib.F |
1ea60 | 54 50 5f 54 4c 53 20 6d 65 74 68 6f 64 29 94 6a 4e 19 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c | TP_TLS.method).jN...h'Nt.(j..... |
1ea80 | 2a 70 72 6f 74 5f 63 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 66 74 70 73 6c 69 62 2e 46 54 50 5f | *prot_c().(M2Crypto.ftpslib.FTP_ |
1eaa0 | 54 4c 53 20 6d 65 74 68 6f 64 29 94 6a 51 19 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 2a 70 72 | TLS.method).jQ...h'Nt.(j.....*pr |
1eac0 | 6f 74 5f 70 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 66 74 70 73 6c 69 62 2e 46 54 50 5f 54 4c 53 | ot_p().(M2Crypto.ftpslib.FTP_TLS |
1eae0 | 20 6d 65 74 68 6f 64 29 94 6a 54 19 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 1a 4d 32 43 72 79 | .method).jT...h'Nt.(j......M2Cry |
1eb00 | 70 74 6f 2e 68 74 74 70 73 6c 69 62 20 28 6d 6f 64 75 6c 65 29 94 8c 18 6d 6f 64 75 6c 65 2d 4d | pto.httpslib.(module)...module-M |
1eb20 | 32 43 72 79 70 74 6f 2e 68 74 74 70 73 6c 69 62 94 68 27 4e 74 94 28 6a 87 1b 00 00 8c 2c 48 54 | 2Crypto.httpslib.h'Nt.(j.....,HT |
1eb40 | 54 50 53 43 6f 6e 6e 65 63 74 69 6f 6e 20 28 63 6c 61 73 73 20 69 6e 20 4d 32 43 72 79 70 74 6f | TPSConnection.(class.in.M2Crypto |
1eb60 | 2e 68 74 74 70 73 6c 69 62 29 94 6a 59 19 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 32 63 6c 6f | .httpslib).jY...h'Nt.(j.....2clo |
1eb80 | 73 65 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 68 74 74 70 73 6c 69 62 2e 48 54 54 50 53 43 6f 6e | se().(M2Crypto.httpslib.HTTPSCon |
1eba0 | 6e 65 63 74 69 6f 6e 20 6d 65 74 68 6f 64 29 94 6a 5c 19 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 | nection.method).j\...h'Nt.(j.... |
1ebc0 | 8c 34 63 6f 6e 6e 65 63 74 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 68 74 74 70 73 6c 69 62 2e 48 | .4connect().(M2Crypto.httpslib.H |
1ebe0 | 54 54 50 53 43 6f 6e 6e 65 63 74 69 6f 6e 20 6d 65 74 68 6f 64 29 94 6a 5f 19 00 00 68 27 4e 74 | TTPSConnection.method).j_...h'Nt |
1ec00 | 94 28 6a 87 1b 00 00 8c 3a 64 65 66 61 75 6c 74 5f 70 6f 72 74 20 28 4d 32 43 72 79 70 74 6f 2e | .(j.....:default_port.(M2Crypto. |
1ec20 | 68 74 74 70 73 6c 69 62 2e 48 54 54 50 53 43 6f 6e 6e 65 63 74 69 6f 6e 20 61 74 74 72 69 62 75 | httpslib.HTTPSConnection.attribu |
1ec40 | 74 65 29 94 6a 62 19 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 38 67 65 74 5f 73 65 73 73 69 6f | te).jb...h'Nt.(j.....8get_sessio |
1ec60 | 6e 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 68 74 74 70 73 6c 69 62 2e 48 54 54 50 53 43 6f 6e 6e | n().(M2Crypto.httpslib.HTTPSConn |
1ec80 | 65 63 74 69 6f 6e 20 6d 65 74 68 6f 64 29 94 6a 65 19 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c | ection.method).je...h'Nt.(j..... |
1eca0 | 38 73 65 74 5f 73 65 73 73 69 6f 6e 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 68 74 74 70 73 6c 69 | 8set_session().(M2Crypto.httpsli |
1ecc0 | 62 2e 48 54 54 50 53 43 6f 6e 6e 65 63 74 69 6f 6e 20 6d 65 74 68 6f 64 29 94 6a 68 19 00 00 68 | b.HTTPSConnection.method).jh...h |
1ece0 | 27 4e 74 94 28 6a 87 1b 00 00 8c 31 50 72 6f 78 79 48 54 54 50 53 43 6f 6e 6e 65 63 74 69 6f 6e | 'Nt.(j.....1ProxyHTTPSConnection |
1ed00 | 20 28 63 6c 61 73 73 20 69 6e 20 4d 32 43 72 79 70 74 6f 2e 68 74 74 70 73 6c 69 62 29 94 6a 6b | .(class.in.M2Crypto.httpslib).jk |
1ed20 | 19 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 39 63 6f 6e 6e 65 63 74 28 29 20 28 4d 32 43 72 79 | ...h'Nt.(j.....9connect().(M2Cry |
1ed40 | 70 74 6f 2e 68 74 74 70 73 6c 69 62 2e 50 72 6f 78 79 48 54 54 50 53 43 6f 6e 6e 65 63 74 69 6f | pto.httpslib.ProxyHTTPSConnectio |
1ed60 | 6e 20 6d 65 74 68 6f 64 29 94 6a 6e 19 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 3c 65 6e 64 68 | n.method).jn...h'Nt.(j.....<endh |
1ed80 | 65 61 64 65 72 73 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 68 74 74 70 73 6c 69 62 2e 50 72 6f 78 | eaders().(M2Crypto.httpslib.Prox |
1eda0 | 79 48 54 54 50 53 43 6f 6e 6e 65 63 74 69 6f 6e 20 6d 65 74 68 6f 64 29 94 6a 71 19 00 00 68 27 | yHTTPSConnection.method).jq...h' |
1edc0 | 4e 74 94 28 6a 87 1b 00 00 8c 3b 70 75 74 68 65 61 64 65 72 28 29 20 28 4d 32 43 72 79 70 74 6f | Nt.(j.....;putheader().(M2Crypto |
1ede0 | 2e 68 74 74 70 73 6c 69 62 2e 50 72 6f 78 79 48 54 54 50 53 43 6f 6e 6e 65 63 74 69 6f 6e 20 6d | .httpslib.ProxyHTTPSConnection.m |
1ee00 | 65 74 68 6f 64 29 94 6a 74 19 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 3c 70 75 74 72 65 71 75 | ethod).jt...h'Nt.(j.....<putrequ |
1ee20 | 65 73 74 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 68 74 74 70 73 6c 69 62 2e 50 72 6f 78 79 48 54 | est().(M2Crypto.httpslib.ProxyHT |
1ee40 | 54 50 53 43 6f 6e 6e 65 63 74 69 6f 6e 20 6d 65 74 68 6f 64 29 94 6a 77 19 00 00 68 27 4e 74 94 | TPSConnection.method).jw...h'Nt. |
1ee60 | 28 6a 87 1b 00 00 8c 14 4d 32 43 72 79 70 74 6f 2e 6d 32 20 28 6d 6f 64 75 6c 65 29 94 8c 12 6d | (j......M2Crypto.m2.(module)...m |
1ee80 | 6f 64 75 6c 65 2d 4d 32 43 72 79 70 74 6f 2e 6d 32 94 68 27 4e 74 94 28 6a 87 1b 00 00 8c 1a 4d | odule-M2Crypto.m2.h'Nt.(j......M |
1eea0 | 32 43 72 79 70 74 6f 2e 6d 32 63 72 79 70 74 6f 20 28 6d 6f 64 75 6c 65 29 94 8c 18 6d 6f 64 75 | 2Crypto.m2crypto.(module)...modu |
1eec0 | 6c 65 2d 4d 32 43 72 79 70 74 6f 2e 6d 32 63 72 79 70 74 6f 94 68 27 4e 74 94 28 6a 87 1b 00 00 | le-M2Crypto.m2crypto.h'Nt.(j.... |
1eee0 | 8c 1a 4d 32 43 72 79 70 74 6f 2e 6d 32 75 72 6c 6c 69 62 20 28 6d 6f 64 75 6c 65 29 94 8c 18 6d | ..M2Crypto.m2urllib.(module)...m |
1ef00 | 6f 64 75 6c 65 2d 4d 32 43 72 79 70 74 6f 2e 6d 32 75 72 6c 6c 69 62 94 68 27 4e 74 94 28 6a 87 | odule-M2Crypto.m2urllib.h'Nt.(j. |
1ef20 | 1b 00 00 8c 2a 6f 70 65 6e 5f 68 74 74 70 73 28 29 20 28 69 6e 20 6d 6f 64 75 6c 65 20 4d 32 43 | ....*open_https().(in.module.M2C |
1ef40 | 72 79 70 74 6f 2e 6d 32 75 72 6c 6c 69 62 29 94 6a 80 19 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 | rypto.m2urllib).j....h'Nt.(j.... |
1ef60 | 8c 1b 4d 32 43 72 79 70 74 6f 2e 6d 32 75 72 6c 6c 69 62 32 20 28 6d 6f 64 75 6c 65 29 94 8c 19 | ..M2Crypto.m2urllib2.(module)... |
1ef80 | 6d 6f 64 75 6c 65 2d 4d 32 43 72 79 70 74 6f 2e 6d 32 75 72 6c 6c 69 62 32 94 68 27 4e 74 94 28 | module-M2Crypto.m2urllib2.h'Nt.( |
1efa0 | 6a 87 1b 00 00 8c 2a 48 54 54 50 53 48 61 6e 64 6c 65 72 20 28 63 6c 61 73 73 20 69 6e 20 4d 32 | j.....*HTTPSHandler.(class.in.M2 |
1efc0 | 43 72 79 70 74 6f 2e 6d 32 75 72 6c 6c 69 62 32 29 94 6a 85 19 00 00 68 27 4e 74 94 28 6a 87 1b | Crypto.m2urllib2).j....h'Nt.(j.. |
1efe0 | 00 00 8c 35 68 74 74 70 73 5f 6f 70 65 6e 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 6d 32 75 72 6c | ...5https_open().(M2Crypto.m2url |
1f000 | 6c 69 62 32 2e 48 54 54 50 53 48 61 6e 64 6c 65 72 20 6d 65 74 68 6f 64 29 94 6a 88 19 00 00 68 | lib2.HTTPSHandler.method).j....h |
1f020 | 27 4e 74 94 28 6a 87 1b 00 00 8c 38 68 74 74 70 73 5f 72 65 71 75 65 73 74 28 29 20 28 4d 32 43 | 'Nt.(j.....8https_request().(M2C |
1f040 | 72 79 70 74 6f 2e 6d 32 75 72 6c 6c 69 62 32 2e 48 54 54 50 53 48 61 6e 64 6c 65 72 20 6d 65 74 | rypto.m2urllib2.HTTPSHandler.met |
1f060 | 68 6f 64 29 94 6a 8b 19 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 2d 62 75 69 6c 64 5f 6f 70 65 | hod).j....h'Nt.(j.....-build_ope |
1f080 | 6e 65 72 28 29 20 28 69 6e 20 6d 6f 64 75 6c 65 20 4d 32 43 72 79 70 74 6f 2e 6d 32 75 72 6c 6c | ner().(in.module.M2Crypto.m2urll |
1f0a0 | 69 62 32 29 94 6a 8e 19 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 1d 4d 32 43 72 79 70 74 6f 2e | ib2).j....h'Nt.(j......M2Crypto. |
1f0c0 | 6d 32 78 6d 6c 72 70 63 6c 69 62 20 28 6d 6f 64 75 6c 65 29 94 8c 1b 6d 6f 64 75 6c 65 2d 4d 32 | m2xmlrpclib.(module)...module-M2 |
1f0e0 | 43 72 79 70 74 6f 2e 6d 32 78 6d 6c 72 70 63 6c 69 62 94 68 27 4e 74 94 28 6a 87 1b 00 00 8c 2d | Crypto.m2xmlrpclib.h'Nt.(j.....- |
1f100 | 53 53 4c 5f 54 72 61 6e 73 70 6f 72 74 20 28 63 6c 61 73 73 20 69 6e 20 4d 32 43 72 79 70 74 6f | SSL_Transport.(class.in.M2Crypto |
1f120 | 2e 6d 32 78 6d 6c 72 70 63 6c 69 62 29 94 6a 93 19 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 35 | .m2xmlrpclib).j....h'Nt.(j.....5 |
1f140 | 72 65 71 75 65 73 74 28 29 20 28 4d 32 43 72 79 70 74 6f 2e 6d 32 78 6d 6c 72 70 63 6c 69 62 2e | request().(M2Crypto.m2xmlrpclib. |
1f160 | 53 53 4c 5f 54 72 61 6e 73 70 6f 72 74 20 6d 65 74 68 6f 64 29 94 6a 96 19 00 00 68 27 4e 74 94 | SSL_Transport.method).j....h'Nt. |
1f180 | 28 6a 87 1b 00 00 8c 39 75 73 65 72 5f 61 67 65 6e 74 20 28 4d 32 43 72 79 70 74 6f 2e 6d 32 78 | (j.....9user_agent.(M2Crypto.m2x |
1f1a0 | 6d 6c 72 70 63 6c 69 62 2e 53 53 4c 5f 54 72 61 6e 73 70 6f 72 74 20 61 74 74 72 69 62 75 74 65 | mlrpclib.SSL_Transport.attribute |
1f1c0 | 29 94 6a 99 19 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 1b 4d 32 43 72 79 70 74 6f 2e 74 68 72 | ).j....h'Nt.(j......M2Crypto.thr |
1f1e0 | 65 61 64 69 6e 67 20 28 6d 6f 64 75 6c 65 29 94 8c 19 6d 6f 64 75 6c 65 2d 4d 32 43 72 79 70 74 | eading.(module)...module-M2Crypt |
1f200 | 6f 2e 74 68 72 65 61 64 69 6e 67 94 68 27 4e 74 94 28 6a 87 1b 00 00 8c 28 63 6c 65 61 6e 75 70 | o.threading.h'Nt.(j.....(cleanup |
1f220 | 28 29 20 28 69 6e 20 6d 6f 64 75 6c 65 20 4d 32 43 72 79 70 74 6f 2e 74 68 72 65 61 64 69 6e 67 | ().(in.module.M2Crypto.threading |
1f240 | 29 94 6a 9e 19 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 25 69 6e 69 74 28 29 20 28 69 6e 20 6d | ).j....h'Nt.(j.....%init().(in.m |
1f260 | 6f 64 75 6c 65 20 4d 32 43 72 79 70 74 6f 2e 74 68 72 65 61 64 69 6e 67 29 94 6a a1 19 00 00 68 | odule.M2Crypto.threading).j....h |
1f280 | 27 4e 74 94 28 6a 87 1b 00 00 8c 16 4d 32 43 72 79 70 74 6f 2e 75 74 69 6c 20 28 6d 6f 64 75 6c | 'Nt.(j......M2Crypto.util.(modul |
1f2a0 | 65 29 94 8c 14 6d 6f 64 75 6c 65 2d 4d 32 43 72 79 70 74 6f 2e 75 74 69 6c 94 68 27 4e 74 94 28 | e)...module-M2Crypto.util.h'Nt.( |
1f2c0 | 6a 87 1b 00 00 8c 09 55 74 69 6c 45 72 72 6f 72 94 6a a6 19 00 00 68 27 4e 74 94 28 6a 87 1b 00 | j......UtilError.j....h'Nt.(j... |
1f2e0 | 00 8c 26 62 69 6e 5f 74 6f 5f 68 65 78 28 29 20 28 69 6e 20 6d 6f 64 75 6c 65 20 4d 32 43 72 79 | ..&bin_to_hex().(in.module.M2Cry |
1f300 | 70 74 6f 2e 75 74 69 6c 29 94 6a a9 19 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 2d 67 65 6e 70 | pto.util).j....h'Nt.(j.....-genp |
1f320 | 61 72 61 6d 5f 63 61 6c 6c 62 61 63 6b 28 29 20 28 69 6e 20 6d 6f 64 75 6c 65 20 4d 32 43 72 79 | aram_callback().(in.module.M2Cry |
1f340 | 70 74 6f 2e 75 74 69 6c 29 94 6a ac 19 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 32 6e 6f 5f 70 | pto.util).j....h'Nt.(j.....2no_p |
1f360 | 61 73 73 70 68 72 61 73 65 5f 63 61 6c 6c 62 61 63 6b 28 29 20 28 69 6e 20 6d 6f 64 75 6c 65 20 | assphrase_callback().(in.module. |
1f380 | 4d 32 43 72 79 70 74 6f 2e 75 74 69 6c 29 94 6a af 19 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c | M2Crypto.util).j....h'Nt.(j..... |
1f3a0 | 27 6f 63 74 78 5f 74 6f 5f 6e 75 6d 28 29 20 28 69 6e 20 6d 6f 64 75 6c 65 20 4d 32 43 72 79 70 | 'octx_to_num().(in.module.M2Cryp |
1f3c0 | 74 6f 2e 75 74 69 6c 29 94 6a b2 19 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 2f 70 61 73 73 70 | to.util).j....h'Nt.(j...../passp |
1f3e0 | 68 72 61 73 65 5f 63 61 6c 6c 62 61 63 6b 28 29 20 28 69 6e 20 6d 6f 64 75 6c 65 20 4d 32 43 72 | hrase_callback().(in.module.M2Cr |
1f400 | 79 70 74 6f 2e 75 74 69 6c 29 94 6a b5 19 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 25 70 6b 63 | ypto.util).j....h'Nt.(j.....%pkc |
1f420 | 73 35 5f 70 61 64 28 29 20 28 69 6e 20 6d 6f 64 75 6c 65 20 4d 32 43 72 79 70 74 6f 2e 75 74 69 | s5_pad().(in.module.M2Crypto.uti |
1f440 | 6c 29 94 6a b8 19 00 00 68 27 4e 74 94 28 6a 87 1b 00 00 8c 25 70 6b 63 73 37 5f 70 61 64 28 29 | l).j....h'Nt.(j.....%pkcs7_pad() |
1f460 | 20 28 69 6e 20 6d 6f 64 75 6c 65 20 4d 32 43 72 79 70 74 6f 2e 75 74 69 6c 29 94 6a bb 19 00 00 | .(in.module.M2Crypto.util).j.... |
1f480 | 68 27 4e 74 94 28 6a 87 1b 00 00 8c 33 71 75 69 65 74 5f 67 65 6e 70 61 72 61 6d 5f 63 61 6c 6c | h'Nt.(j.....3quiet_genparam_call |
1f4a0 | 62 61 63 6b 28 29 20 28 69 6e 20 6d 6f 64 75 6c 65 20 4d 32 43 72 79 70 74 6f 2e 75 74 69 6c 29 | back().(in.module.M2Crypto.util) |
1f4c0 | 94 6a be 19 00 00 68 27 4e 74 94 65 75 8c 06 69 6d 61 67 65 73 94 8c 0b 73 70 68 69 6e 78 2e 75 | .j....h'Nt.eu..images...sphinx.u |
1f4e0 | 74 69 6c 94 8c 10 46 69 6c 65 6e 61 6d 65 55 6e 69 71 44 69 63 74 94 93 94 29 81 94 8f 94 62 8c | til...FilenameUniqDict...)....b. |
1f500 | 07 64 6c 66 69 6c 65 73 94 6a 5f 1f 00 00 8c 0d 44 6f 77 6e 6c 6f 61 64 46 69 6c 65 73 94 93 94 | .dlfiles.j_.....DownloadFiles... |
1f520 | 29 81 94 8c 12 6f 72 69 67 69 6e 61 6c 5f 69 6d 61 67 65 5f 75 72 69 94 7d 94 8c 09 74 65 6d 70 | )....original_image_uri.}...temp |
1f540 | 5f 64 61 74 61 94 7d 94 8c 0b 72 65 66 5f 63 6f 6e 74 65 78 74 94 7d 94 8c 11 5f 76 69 65 77 63 | _data.}...ref_context.}..._viewc |
1f560 | 6f 64 65 5f 6d 6f 64 75 6c 65 73 94 7d 94 28 8c 0d 4d 32 43 72 79 70 74 6f 2e 41 53 4e 31 94 28 | ode_modules.}.(..M2Crypto.ASN1.( |
1f580 | 58 93 1d 00 00 66 72 6f 6d 20 5f 5f 66 75 74 75 72 65 5f 5f 20 69 6d 70 6f 72 74 20 61 62 73 6f | X....from.__future__.import.abso |
1f5a0 | 6c 75 74 65 5f 69 6d 70 6f 72 74 0a 0a 22 22 22 0a 4d 32 43 72 79 70 74 6f 20 77 72 61 70 70 65 | lute_import..""".M2Crypto.wrappe |
1f5c0 | 72 20 66 6f 72 20 4f 70 65 6e 53 53 4c 20 41 53 4e 31 20 41 50 49 2e 0a 0a 43 6f 70 79 72 69 67 | r.for.OpenSSL.ASN1.API...Copyrig |
1f5e0 | 68 74 20 28 63 29 20 31 39 39 39 2d 32 30 30 34 20 4e 67 20 50 68 65 6e 67 20 53 69 6f 6e 67 2e | ht.(c).1999-2004.Ng.Pheng.Siong. |
1f600 | 20 41 6c 6c 20 72 69 67 68 74 73 20 72 65 73 65 72 76 65 64 2e 0a 0a 50 6f 72 74 69 6f 6e 73 20 | .All.rights.reserved...Portions. |
1f620 | 63 72 65 61 74 65 64 20 62 79 20 4f 70 65 6e 20 53 6f 75 72 63 65 20 41 70 70 6c 69 63 61 74 69 | created.by.Open.Source.Applicati |
1f640 | 6f 6e 73 20 46 6f 75 6e 64 61 74 69 6f 6e 20 28 4f 53 41 46 29 20 61 72 65 0a 43 6f 70 79 72 69 | ons.Foundation.(OSAF).are.Copyri |
1f660 | 67 68 74 20 28 43 29 20 32 30 30 35 20 4f 53 41 46 2e 20 41 6c 6c 20 52 69 67 68 74 73 20 52 65 | ght.(C).2005.OSAF..All.Rights.Re |
1f680 | 73 65 72 76 65 64 2e 0a 22 22 22 0a 0a 69 6d 70 6f 72 74 20 64 61 74 65 74 69 6d 65 0a 69 6d 70 | served.."""..import.datetime.imp |
1f6a0 | 6f 72 74 20 74 69 6d 65 0a 0a 66 72 6f 6d 20 4d 32 43 72 79 70 74 6f 20 69 6d 70 6f 72 74 20 42 | ort.time..from.M2Crypto.import.B |
1f6c0 | 49 4f 2c 20 6d 32 2c 20 70 79 32 37 70 6c 75 73 2c 20 73 69 78 0a 69 66 20 70 79 32 37 70 6c 75 | IO,.m2,.py27plus,.six.if.py27plu |
1f6e0 | 73 3a 0a 20 20 20 20 66 72 6f 6d 20 74 79 70 69 6e 67 20 69 6d 70 6f 72 74 20 41 6e 79 2c 20 43 | s:.....from.typing.import.Any,.C |
1f700 | 61 6c 6c 61 62 6c 65 2c 20 4f 70 74 69 6f 6e 61 6c 2c 20 54 75 70 6c 65 20 20 23 20 6e 6f 71 61 | allable,.Optional,.Tuple..#.noqa |
1f720 | 0a 0a 4d 42 53 54 52 49 4e 47 5f 46 4c 41 47 20 3d 20 30 78 31 30 30 30 0a 4d 42 53 54 52 49 4e | ..MBSTRING_FLAG.=.0x1000.MBSTRIN |
1f740 | 47 5f 41 53 43 20 3d 20 4d 42 53 54 52 49 4e 47 5f 46 4c 41 47 20 7c 20 31 0a 4d 42 53 54 52 49 | G_ASC.=.MBSTRING_FLAG.|.1.MBSTRI |
1f760 | 4e 47 5f 42 4d 50 20 3d 20 4d 42 53 54 52 49 4e 47 5f 46 4c 41 47 20 7c 20 32 0a 0a 0a 63 6c 61 | NG_BMP.=.MBSTRING_FLAG.|.2...cla |
1f780 | 73 73 20 41 53 4e 31 5f 49 6e 74 65 67 65 72 28 6f 62 6a 65 63 74 29 3a 0a 0a 20 20 20 20 6d 32 | ss.ASN1_Integer(object):......m2 |
1f7a0 | 5f 61 73 6e 31 5f 69 6e 74 65 67 65 72 5f 66 72 65 65 20 3d 20 6d 32 2e 61 73 6e 31 5f 69 6e 74 | _asn1_integer_free.=.m2.asn1_int |
1f7c0 | 65 67 65 72 5f 66 72 65 65 0a 0a 20 20 20 20 64 65 66 20 5f 5f 69 6e 69 74 5f 5f 28 73 65 6c 66 | eger_free......def.__init__(self |
1f7e0 | 2c 20 61 73 6e 31 69 6e 74 2c 20 5f 70 79 66 72 65 65 3d 30 29 3a 0a 20 20 20 20 20 20 20 20 23 | ,.asn1int,._pyfree=0):.........# |
1f800 | 20 74 79 70 65 3a 20 28 41 53 4e 31 5f 49 6e 74 65 67 65 72 2c 20 69 6e 74 29 20 2d 3e 20 4e 6f | .type:.(ASN1_Integer,.int).->.No |
1f820 | 6e 65 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 73 6e 31 69 6e 74 20 3d 20 61 73 6e 31 69 6e | ne.........self.asn1int.=.asn1in |
1f840 | 74 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 70 79 66 72 65 65 20 3d 20 5f 70 79 66 72 65 65 | t.........self._pyfree.=._pyfree |
1f860 | 0a 0a 20 20 20 20 64 65 66 20 5f 5f 63 6d 70 5f 5f 28 73 65 6c 66 2c 20 6f 74 68 65 72 29 3a 0a | ......def.__cmp__(self,.other):. |
1f880 | 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 41 53 4e 31 5f 49 6e 74 65 67 65 72 29 20 2d | ........#.type:.(ASN1_Integer).- |
1f8a0 | 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 69 66 20 6e 6f 74 20 69 73 69 6e 73 74 61 6e 63 65 28 | >.int.........if.not.isinstance( |
1f8c0 | 6f 74 68 65 72 2c 20 41 53 4e 31 5f 49 6e 74 65 67 65 72 29 3a 0a 20 20 20 20 20 20 20 20 20 20 | other,.ASN1_Integer):........... |
1f8e0 | 20 20 72 61 69 73 65 20 54 79 70 65 45 72 72 6f 72 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | ..raise.TypeError(.............. |
1f900 | 20 20 20 22 43 6f 6d 70 61 72 69 73 6f 6e 73 20 73 75 70 70 6f 72 74 65 64 20 6f 6e 6c 79 20 62 | ..."Comparisons.supported.only.b |
1f920 | 65 74 77 65 65 6e 20 41 4e 53 31 5f 49 6e 74 65 67 65 72 20 6f 62 6a 65 63 74 73 22 29 0a 0a 20 | etween.ANS1_Integer.objects")... |
1f940 | 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 61 73 6e 31 5f 69 6e 74 65 67 65 72 5f 63 6d | .......return.m2.asn1_integer_cm |
1f960 | 70 28 73 65 6c 66 2e 61 73 6e 31 69 6e 74 2c 20 6f 74 68 65 72 2e 61 73 6e 31 69 6e 74 29 0a 0a | p(self.asn1int,.other.asn1int).. |
1f980 | 20 20 20 20 64 65 66 20 5f 5f 64 65 6c 5f 5f 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 | ....def.__del__(self):.........# |
1f9a0 | 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 69 66 20 73 65 6c | .type:.().->.None.........if.sel |
1f9c0 | 66 2e 5f 70 79 66 72 65 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 6d 32 5f 61 | f._pyfree:.............self.m2_a |
1f9e0 | 73 6e 31 5f 69 6e 74 65 67 65 72 5f 66 72 65 65 28 73 65 6c 66 2e 61 73 6e 31 69 6e 74 29 0a 0a | sn1_integer_free(self.asn1int).. |
1fa00 | 20 20 20 20 64 65 66 20 5f 5f 69 6e 74 5f 5f 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 | ....def.__int__(self):.........# |
1fa20 | 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 | .type:.().->.int.........return. |
1fa40 | 6d 32 2e 61 73 6e 31 5f 69 6e 74 65 67 65 72 5f 67 65 74 28 73 65 6c 66 2e 61 73 6e 31 69 6e 74 | m2.asn1_integer_get(self.asn1int |
1fa60 | 29 0a 0a 0a 63 6c 61 73 73 20 41 53 4e 31 5f 53 74 72 69 6e 67 28 6f 62 6a 65 63 74 29 3a 0a 0a | )...class.ASN1_String(object):.. |
1fa80 | 20 20 20 20 6d 32 5f 61 73 6e 31 5f 73 74 72 69 6e 67 5f 66 72 65 65 20 3d 20 6d 32 2e 61 73 6e | ....m2_asn1_string_free.=.m2.asn |
1faa0 | 31 5f 73 74 72 69 6e 67 5f 66 72 65 65 0a 0a 20 20 20 20 64 65 66 20 5f 5f 69 6e 69 74 5f 5f 28 | 1_string_free......def.__init__( |
1fac0 | 73 65 6c 66 2c 20 61 73 6e 31 73 74 72 2c 20 5f 70 79 66 72 65 65 3d 30 29 3a 0a 20 20 20 20 20 | self,.asn1str,._pyfree=0):...... |
1fae0 | 20 20 20 23 20 74 79 70 65 3a 20 28 41 53 4e 31 5f 53 74 72 69 6e 67 2c 20 69 6e 74 29 20 2d 3e | ...#.type:.(ASN1_String,.int).-> |
1fb00 | 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 73 6e 31 73 74 72 20 3d 20 61 73 6e | .None.........self.asn1str.=.asn |
1fb20 | 31 73 74 72 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 70 79 66 72 65 65 20 3d 20 5f 70 79 66 | 1str.........self._pyfree.=._pyf |
1fb40 | 72 65 65 0a 0a 20 20 20 20 64 65 66 20 5f 5f 62 79 74 65 73 5f 5f 28 73 65 6c 66 29 3a 0a 20 20 | ree......def.__bytes__(self):... |
1fb60 | 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 62 79 74 65 73 0a 20 20 20 20 20 20 | ......#.type:.().->.bytes....... |
1fb80 | 20 20 62 75 66 20 3d 20 42 49 4f 2e 4d 65 6d 6f 72 79 42 75 66 66 65 72 28 29 0a 20 20 20 20 20 | ..buf.=.BIO.MemoryBuffer()...... |
1fba0 | 20 20 20 6d 32 2e 61 73 6e 31 5f 73 74 72 69 6e 67 5f 70 72 69 6e 74 28 62 75 66 2e 62 69 6f 5f | ...m2.asn1_string_print(buf.bio_ |
1fbc0 | 70 74 72 28 29 2c 20 73 65 6c 66 2e 61 73 6e 31 73 74 72 29 0a 20 20 20 20 20 20 20 20 72 65 74 | ptr(),.self.asn1str).........ret |
1fbe0 | 75 72 6e 20 62 75 66 2e 72 65 61 64 5f 61 6c 6c 28 29 0a 0a 20 20 20 20 64 65 66 20 5f 5f 73 74 | urn.buf.read_all()......def.__st |
1fc00 | 72 5f 5f 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e | r__(self):.........#.type:.().-> |
1fc20 | 20 73 74 72 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 69 78 2e 65 6e 73 75 72 65 5f 74 | .str.........return.six.ensure_t |
1fc40 | 65 78 74 28 73 65 6c 66 2e 5f 5f 62 79 74 65 73 5f 5f 28 29 29 0a 0a 20 20 20 20 64 65 66 20 5f | ext(self.__bytes__())......def._ |
1fc60 | 5f 64 65 6c 5f 5f 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 | _del__(self):.........#.type:.() |
1fc80 | 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 69 66 20 67 65 74 61 74 74 72 28 73 65 6c 66 | .->.None.........if.getattr(self |
1fca0 | 2c 20 27 5f 70 79 66 72 65 65 27 2c 20 30 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c | ,.'_pyfree',.0):.............sel |
1fcc0 | 66 2e 6d 32 5f 61 73 6e 31 5f 73 74 72 69 6e 67 5f 66 72 65 65 28 73 65 6c 66 2e 61 73 6e 31 73 | f.m2_asn1_string_free(self.asn1s |
1fce0 | 74 72 29 0a 0a 20 20 20 20 64 65 66 20 5f 70 74 72 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 | tr)......def._ptr(self):........ |
1fd00 | 20 72 65 74 75 72 6e 20 73 65 6c 66 2e 61 73 6e 31 73 74 72 0a 0a 20 20 20 20 64 65 66 20 61 73 | .return.self.asn1str......def.as |
1fd20 | 5f 74 65 78 74 28 73 65 6c 66 2c 20 66 6c 61 67 73 3d 30 29 3a 0a 20 20 20 20 20 20 20 20 23 20 | _text(self,.flags=0):.........#. |
1fd40 | 74 79 70 65 3a 20 28 69 6e 74 29 20 2d 3e 20 73 74 72 0a 20 20 20 20 20 20 20 20 22 22 22 4f 75 | type:.(int).->.str........."""Ou |
1fd60 | 74 70 75 74 20 61 6e 20 41 53 4e 31 5f 53 54 52 49 4e 47 20 73 74 72 75 63 74 75 72 65 20 61 63 | tput.an.ASN1_STRING.structure.ac |
1fd80 | 63 6f 72 64 69 6e 67 20 74 6f 20 74 68 65 20 73 65 74 20 66 6c 61 67 73 2e 0a 0a 20 20 20 20 20 | cording.to.the.set.flags........ |
1fda0 | 20 20 20 3a 70 61 72 61 6d 20 66 6c 61 67 73 3a 20 64 65 74 65 72 6d 69 6e 65 20 74 68 65 20 66 | ...:param.flags:.determine.the.f |
1fdc0 | 6f 72 6d 61 74 20 6f 66 20 74 68 65 20 6f 75 74 70 75 74 20 62 79 20 75 73 69 6e 67 0a 20 20 20 | ormat.of.the.output.by.using.... |
1fde0 | 20 20 20 20 20 20 20 20 20 20 20 20 70 72 65 64 65 74 65 72 6d 69 6e 65 64 20 63 6f 6e 73 74 61 | ............predetermined.consta |
1fe00 | 6e 74 73 2c 20 73 65 65 20 41 53 4e 31 5f 53 54 52 49 4e 47 5f 70 72 69 6e 74 5f 65 78 28 33 29 | nts,.see.ASN1_STRING_print_ex(3) |
1fe20 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6e 70 61 67 65 20 66 6f 72 20 74 68 65 69 | ................manpage.for.thei |
1fe40 | 72 20 6d 65 61 6e 69 6e 67 2e 0a 20 20 20 20 20 20 20 20 3a 72 65 74 75 72 6e 3a 20 6f 75 74 70 | r.meaning..........:return:.outp |
1fe60 | 75 74 20 61 6e 20 41 53 4e 31 5f 53 54 52 49 4e 47 20 73 74 72 75 63 74 75 72 65 2e 0a 20 20 20 | ut.an.ASN1_STRING.structure..... |
1fe80 | 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 62 75 66 20 3d 20 42 49 4f 2e 4d 65 6d 6f 72 | .....""".........buf.=.BIO.Memor |
1fea0 | 79 42 75 66 66 65 72 28 29 0a 20 20 20 20 20 20 20 20 6d 32 2e 61 73 6e 31 5f 73 74 72 69 6e 67 | yBuffer().........m2.asn1_string |
1fec0 | 5f 70 72 69 6e 74 5f 65 78 28 62 75 66 2e 62 69 6f 5f 70 74 72 28 29 2c 20 73 65 6c 66 2e 61 73 | _print_ex(buf.bio_ptr(),.self.as |
1fee0 | 6e 31 73 74 72 2c 20 66 6c 61 67 73 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 69 78 | n1str,.flags).........return.six |
1ff00 | 2e 65 6e 73 75 72 65 5f 74 65 78 74 28 62 75 66 2e 72 65 61 64 5f 61 6c 6c 28 29 29 0a 0a 0a 63 | .ensure_text(buf.read_all())...c |
1ff20 | 6c 61 73 73 20 41 53 4e 31 5f 4f 62 6a 65 63 74 28 6f 62 6a 65 63 74 29 3a 0a 0a 20 20 20 20 6d | lass.ASN1_Object(object):......m |
1ff40 | 32 5f 61 73 6e 31 5f 6f 62 6a 65 63 74 5f 66 72 65 65 20 3d 20 6d 32 2e 61 73 6e 31 5f 6f 62 6a | 2_asn1_object_free.=.m2.asn1_obj |
1ff60 | 65 63 74 5f 66 72 65 65 0a 0a 20 20 20 20 64 65 66 20 5f 5f 69 6e 69 74 5f 5f 28 73 65 6c 66 2c | ect_free......def.__init__(self, |
1ff80 | 20 61 73 6e 31 6f 62 6a 2c 20 5f 70 79 66 72 65 65 3d 30 29 3a 0a 20 20 20 20 20 20 20 20 23 20 | .asn1obj,._pyfree=0):.........#. |
1ffa0 | 74 79 70 65 3a 20 28 41 53 4e 31 5f 4f 62 6a 65 63 74 2c 20 69 6e 74 29 20 2d 3e 20 4e 6f 6e 65 | type:.(ASN1_Object,.int).->.None |
1ffc0 | 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 73 6e 31 6f 62 6a 20 3d 20 61 73 6e 31 6f 62 6a 0a | .........self.asn1obj.=.asn1obj. |
1ffe0 | 20 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 70 79 66 72 65 65 20 3d 20 5f 70 79 66 72 65 65 0a 0a | ........self._pyfree.=._pyfree.. |
20000 | 20 20 20 20 64 65 66 20 5f 5f 64 65 6c 5f 5f 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 | ....def.__del__(self):.........# |
20020 | 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 69 66 20 73 65 6c | .type:.().->.None.........if.sel |
20040 | 66 2e 5f 70 79 66 72 65 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 6d 32 5f 61 | f._pyfree:.............self.m2_a |
20060 | 73 6e 31 5f 6f 62 6a 65 63 74 5f 66 72 65 65 28 73 65 6c 66 2e 61 73 6e 31 6f 62 6a 29 0a 0a 20 | sn1_object_free(self.asn1obj)... |
20080 | 20 20 20 64 65 66 20 5f 70 74 72 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 | ...def._ptr(self):.........retur |
200a0 | 6e 20 73 65 6c 66 2e 61 73 6e 31 6f 62 6a 0a 0a 0a 63 6c 61 73 73 20 5f 55 54 43 28 64 61 74 65 | n.self.asn1obj...class._UTC(date |
200c0 | 74 69 6d 65 2e 74 7a 69 6e 66 6f 29 3a 0a 20 20 20 20 64 65 66 20 74 7a 6e 61 6d 65 28 73 65 6c | time.tzinfo):.....def.tzname(sel |
200e0 | 66 2c 20 64 74 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 4f 70 74 69 6f 6e 61 | f,.dt):.........#.type:.(Optiona |
20100 | 6c 5b 64 61 74 65 74 69 6d 65 2e 64 61 74 65 74 69 6d 65 5d 29 20 2d 3e 20 73 74 72 0a 20 20 20 | l[datetime.datetime]).->.str.... |
20120 | 20 20 20 20 20 72 65 74 75 72 6e 20 22 55 54 43 22 0a 0a 20 20 20 20 64 65 66 20 64 73 74 28 73 | .....return."UTC"......def.dst(s |
20140 | 65 6c 66 2c 20 64 74 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 4f 70 74 69 6f | elf,.dt):.........#.type:.(Optio |
20160 | 6e 61 6c 5b 64 61 74 65 74 69 6d 65 2e 64 61 74 65 74 69 6d 65 5d 29 20 2d 3e 20 64 61 74 65 74 | nal[datetime.datetime]).->.datet |
20180 | 69 6d 65 2e 74 69 6d 65 64 65 6c 74 61 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 64 61 74 | ime.timedelta.........return.dat |
201a0 | 65 74 69 6d 65 2e 74 69 6d 65 64 65 6c 74 61 28 30 29 0a 0a 20 20 20 20 64 65 66 20 75 74 63 6f | etime.timedelta(0)......def.utco |
201c0 | 66 66 73 65 74 28 73 65 6c 66 2c 20 64 74 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a | ffset(self,.dt):.........#.type: |
201e0 | 20 28 4f 70 74 69 6f 6e 61 6c 5b 64 61 74 65 74 69 6d 65 2e 64 61 74 65 74 69 6d 65 5d 29 20 2d | .(Optional[datetime.datetime]).- |
20200 | 3e 20 64 61 74 65 74 69 6d 65 2e 74 69 6d 65 64 65 6c 74 61 0a 20 20 20 20 20 20 20 20 72 65 74 | >.datetime.timedelta.........ret |
20220 | 75 72 6e 20 64 61 74 65 74 69 6d 65 2e 74 69 6d 65 64 65 6c 74 61 28 30 29 0a 0a 20 20 20 20 64 | urn.datetime.timedelta(0)......d |
20240 | 65 66 20 5f 5f 72 65 70 72 5f 5f 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 | ef.__repr__(self):.........retur |
20260 | 6e 20 22 3c 54 69 6d 65 7a 6f 6e 65 3a 20 25 73 3e 22 20 25 20 73 65 6c 66 2e 74 7a 6e 61 6d 65 | n."<Timezone:.%s>".%.self.tzname |
20280 | 28 4e 6f 6e 65 29 0a 0a 0a 55 54 43 20 3d 20 5f 55 54 43 28 29 20 20 23 20 74 79 70 65 3a 20 5f | (None)...UTC.=._UTC()..#.type:._ |
202a0 | 55 54 43 0a 0a 0a 63 6c 61 73 73 20 4c 6f 63 61 6c 54 69 6d 65 7a 6f 6e 65 28 64 61 74 65 74 69 | UTC...class.LocalTimezone(dateti |
202c0 | 6d 65 2e 74 7a 69 6e 66 6f 29 3a 0a 20 20 20 20 22 22 22 4c 6f 63 61 6c 74 69 6d 65 7a 6f 6e 65 | me.tzinfo):....."""Localtimezone |
202e0 | 20 66 72 6f 6d 20 64 61 74 65 74 69 6d 65 20 6d 61 6e 75 61 6c 2e 22 22 22 0a 0a 20 20 20 20 64 | .from.datetime.manual."""......d |
20300 | 65 66 20 5f 5f 69 6e 69 74 5f 5f 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 | ef.__init__(self):.........#.typ |
20320 | 65 3a 20 28 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 73 74 64 6f | e:.().->.None.........self._stdo |
20340 | 66 66 73 65 74 20 3d 20 64 61 74 65 74 69 6d 65 2e 74 69 6d 65 64 65 6c 74 61 28 73 65 63 6f 6e | ffset.=.datetime.timedelta(secon |
20360 | 64 73 3d 2d 74 69 6d 65 2e 74 69 6d 65 7a 6f 6e 65 29 0a 20 20 20 20 20 20 20 20 69 66 20 74 69 | ds=-time.timezone).........if.ti |
20380 | 6d 65 2e 64 61 79 6c 69 67 68 74 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 64 | me.daylight:.............self._d |
203a0 | 73 74 6f 66 66 73 65 74 20 3d 20 64 61 74 65 74 69 6d 65 2e 74 69 6d 65 64 65 6c 74 61 28 73 65 | stoffset.=.datetime.timedelta(se |
203c0 | 63 6f 6e 64 73 3d 2d 74 69 6d 65 2e 61 6c 74 7a 6f 6e 65 29 0a 20 20 20 20 20 20 20 20 65 6c 73 | conds=-time.altzone).........els |
203e0 | 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 64 73 74 6f 66 66 73 65 74 20 3d | e:.............self._dstoffset.= |
20400 | 20 73 65 6c 66 2e 5f 73 74 64 6f 66 66 73 65 74 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 64 | .self._stdoffset.........self._d |
20420 | 73 74 64 69 66 66 20 3d 20 73 65 6c 66 2e 5f 64 73 74 6f 66 66 73 65 74 20 2d 20 73 65 6c 66 2e | stdiff.=.self._dstoffset.-.self. |
20440 | 5f 73 74 64 6f 66 66 73 65 74 0a 0a 20 20 20 20 64 65 66 20 75 74 63 6f 66 66 73 65 74 28 73 65 | _stdoffset......def.utcoffset(se |
20460 | 6c 66 2c 20 64 74 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 64 61 74 65 74 69 | lf,.dt):.........#.type:.(dateti |
20480 | 6d 65 2e 64 61 74 65 74 69 6d 65 29 20 2d 3e 20 64 61 74 65 74 69 6d 65 2e 74 69 6d 65 64 65 6c | me.datetime).->.datetime.timedel |
204a0 | 74 61 0a 20 20 20 20 20 20 20 20 69 66 20 73 65 6c 66 2e 5f 69 73 64 73 74 28 64 74 29 3a 0a 20 | ta.........if.self._isdst(dt):.. |
204c0 | 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 2e 5f 64 73 74 6f 66 66 73 65 | ...........return.self._dstoffse |
204e0 | 74 0a 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 | t.........else:.............retu |
20500 | 72 6e 20 73 65 6c 66 2e 5f 73 74 64 6f 66 66 73 65 74 0a 0a 20 20 20 20 64 65 66 20 64 73 74 28 | rn.self._stdoffset......def.dst( |
20520 | 73 65 6c 66 2c 20 64 74 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 64 61 74 65 | self,.dt):.........#.type:.(date |
20540 | 74 69 6d 65 2e 64 61 74 65 74 69 6d 65 29 20 2d 3e 20 64 61 74 65 74 69 6d 65 2e 74 69 6d 65 64 | time.datetime).->.datetime.timed |
20560 | 65 6c 74 61 0a 20 20 20 20 20 20 20 20 69 66 20 73 65 6c 66 2e 5f 69 73 64 73 74 28 64 74 29 3a | elta.........if.self._isdst(dt): |
20580 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 2e 5f 64 73 74 64 69 66 | .............return.self._dstdif |
205a0 | 66 0a 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 | f.........else:.............retu |
205c0 | 72 6e 20 64 61 74 65 74 69 6d 65 2e 74 69 6d 65 64 65 6c 74 61 28 30 29 0a 0a 20 20 20 20 64 65 | rn.datetime.timedelta(0)......de |
205e0 | 66 20 74 7a 6e 61 6d 65 28 73 65 6c 66 2c 20 64 74 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 | f.tzname(self,.dt):.........#.ty |
20600 | 70 65 3a 20 28 64 61 74 65 74 69 6d 65 2e 64 61 74 65 74 69 6d 65 29 20 2d 3e 20 73 74 72 0a 20 | pe:.(datetime.datetime).->.str.. |
20620 | 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 69 6d 65 2e 74 7a 6e 61 6d 65 5b 73 65 6c 66 2e 5f | .......return.time.tzname[self._ |
20640 | 69 73 64 73 74 28 64 74 29 2e 72 65 61 6c 5d 0a 0a 20 20 20 20 64 65 66 20 5f 69 73 64 73 74 28 | isdst(dt).real]......def._isdst( |
20660 | 73 65 6c 66 2c 20 64 74 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 64 61 74 65 | self,.dt):.........#.type:.(date |
20680 | 74 69 6d 65 2e 64 61 74 65 74 69 6d 65 29 20 2d 3e 20 62 6f 6f 6c 0a 20 20 20 20 20 20 20 20 74 | time.datetime).->.bool.........t |
206a0 | 74 20 3d 20 28 64 74 2e 79 65 61 72 2c 20 64 74 2e 6d 6f 6e 74 68 2c 20 64 74 2e 64 61 79 2c 0a | t.=.(dt.year,.dt.month,.dt.day,. |
206c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 74 2e 68 6f 75 72 2c 20 64 74 2e 6d 69 6e 75 74 65 | ..............dt.hour,.dt.minute |
206e0 | 2c 20 64 74 2e 73 65 63 6f 6e 64 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 74 2e 77 65 | ,.dt.second,...............dt.we |
20700 | 65 6b 64 61 79 28 29 2c 20 30 2c 20 2d 31 29 0a 20 20 20 20 20 20 20 20 73 74 61 6d 70 20 3d 20 | ekday(),.0,.-1).........stamp.=. |
20720 | 74 69 6d 65 2e 6d 6b 74 69 6d 65 28 74 74 29 0a 20 20 20 20 20 20 20 20 74 74 20 3d 20 74 69 6d | time.mktime(tt).........tt.=.tim |
20740 | 65 2e 6c 6f 63 61 6c 74 69 6d 65 28 73 74 61 6d 70 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 | e.localtime(stamp).........retur |
20760 | 6e 20 74 74 2e 74 6d 5f 69 73 64 73 74 20 3e 20 30 0a 0a 0a 63 6c 61 73 73 20 41 53 4e 31 5f 54 | n.tt.tm_isdst.>.0...class.ASN1_T |
20780 | 49 4d 45 28 6f 62 6a 65 63 74 29 3a 0a 20 20 20 20 5f 73 73 6c 5f 6d 6f 6e 74 68 73 20 3d 20 5b | IME(object):....._ssl_months.=.[ |
207a0 | 22 4a 61 6e 22 2c 20 22 46 65 62 22 2c 20 22 4d 61 72 22 2c 20 22 41 70 72 22 2c 20 22 4d 61 79 | "Jan",."Feb",."Mar",."Apr",."May |
207c0 | 22 2c 20 22 4a 75 6e 22 2c 20 22 4a 75 6c 22 2c 20 22 41 75 67 22 2c 0a 20 20 20 20 20 20 20 20 | ",."Jun",."Jul",."Aug",......... |
207e0 | 20 20 20 20 20 20 20 20 20 20 20 22 53 65 70 22 2c 20 22 4f 63 74 22 2c 20 22 4e 6f 76 22 2c 20 | ..........."Sep",."Oct",."Nov",. |
20800 | 22 44 65 63 22 5d 0a 20 20 20 20 6d 32 5f 61 73 6e 31 5f 74 69 6d 65 5f 66 72 65 65 20 3d 20 6d | "Dec"].....m2_asn1_time_free.=.m |
20820 | 32 2e 61 73 6e 31 5f 74 69 6d 65 5f 66 72 65 65 0a 0a 20 20 20 20 64 65 66 20 5f 5f 69 6e 69 74 | 2.asn1_time_free......def.__init |
20840 | 5f 5f 28 73 65 6c 66 2c 20 61 73 6e 31 5f 74 69 6d 65 3d 4e 6f 6e 65 2c 20 5f 70 79 66 72 65 65 | __(self,.asn1_time=None,._pyfree |
20860 | 3d 30 2c 20 61 73 6e 31 5f 75 74 63 74 69 6d 65 3d 4e 6f 6e 65 29 3a 0a 20 20 20 20 20 20 20 20 | =0,.asn1_utctime=None):......... |
20880 | 23 20 74 79 70 65 3a 20 28 4f 70 74 69 6f 6e 61 6c 5b 41 53 4e 31 5f 54 49 4d 45 5d 2c 20 4f 70 | #.type:.(Optional[ASN1_TIME],.Op |
208a0 | 74 69 6f 6e 61 6c 5b 69 6e 74 5d 2c 20 4f 70 74 69 6f 6e 61 6c 5b 41 53 4e 31 5f 54 49 4d 45 5d | tional[int],.Optional[ASN1_TIME] |
208c0 | 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 23 20 68 61 6e 64 6c 65 20 6f 6c 64 20 6b | ).->.None.........#.handle.old.k |
208e0 | 65 79 77 6f 72 64 20 70 61 72 61 6d 65 74 65 72 0a 20 20 20 20 20 20 20 20 69 66 20 61 73 6e 31 | eyword.parameter.........if.asn1 |
20900 | 5f 74 69 6d 65 20 69 73 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 61 73 6e 31 5f | _time.is.None:.............asn1_ |
20920 | 74 69 6d 65 20 3d 20 61 73 6e 31 5f 75 74 63 74 69 6d 65 0a 20 20 20 20 20 20 20 20 69 66 20 61 | time.=.asn1_utctime.........if.a |
20940 | 73 6e 31 5f 74 69 6d 65 20 69 73 20 6e 6f 74 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 | sn1_time.is.not.None:........... |
20960 | 20 20 61 73 73 65 72 74 20 6d 32 2e 61 73 6e 31 5f 74 69 6d 65 5f 74 79 70 65 5f 63 68 65 63 6b | ..assert.m2.asn1_time_type_check |
20980 | 28 61 73 6e 31 5f 74 69 6d 65 29 2c 20 5c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 | (asn1_time),.\................." |
209a0 | 27 61 73 6e 31 5f 74 69 6d 65 27 20 74 79 70 65 20 65 72 72 6f 72 27 22 0a 20 20 20 20 20 20 20 | 'asn1_time'.type.error'"........ |
209c0 | 20 20 20 20 20 73 65 6c 66 2e 61 73 6e 31 5f 74 69 6d 65 20 3d 20 61 73 6e 31 5f 74 69 6d 65 0a | .....self.asn1_time.=.asn1_time. |
209e0 | 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 70 79 66 72 65 65 20 3d 20 5f 70 79 66 72 | ............self._pyfree.=._pyfr |
20a00 | 65 65 0a 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c | ee.........else:.............sel |
20a20 | 66 2e 61 73 6e 31 5f 74 69 6d 65 20 3d 20 6d 32 2e 61 73 6e 31 5f 74 69 6d 65 5f 6e 65 77 28 29 | f.asn1_time.=.m2.asn1_time_new() |
20a40 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 70 79 66 72 65 65 20 3d 20 31 0a 0a 20 | .............self._pyfree.=.1... |
20a60 | 20 20 20 64 65 66 20 5f 5f 64 65 6c 5f 5f 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 | ...def.__del__(self):.........#. |
20a80 | 74 79 70 65 3a 20 28 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 69 66 20 67 65 74 61 | type:.().->.None.........if.geta |
20aa0 | 74 74 72 28 73 65 6c 66 2c 20 27 5f 70 79 66 72 65 65 27 2c 20 30 29 3a 0a 20 20 20 20 20 20 20 | ttr(self,.'_pyfree',.0):........ |
20ac0 | 20 20 20 20 20 73 65 6c 66 2e 6d 32 5f 61 73 6e 31 5f 74 69 6d 65 5f 66 72 65 65 28 73 65 6c 66 | .....self.m2_asn1_time_free(self |
20ae0 | 2e 61 73 6e 31 5f 74 69 6d 65 29 0a 0a 20 20 20 20 64 65 66 20 5f 5f 73 74 72 5f 5f 28 73 65 6c | .asn1_time)......def.__str__(sel |
20b00 | 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 73 74 72 0a 20 20 | f):.........#.type:.().->.str... |
20b20 | 20 20 20 20 20 20 61 73 73 65 72 74 20 6d 32 2e 61 73 6e 31 5f 74 69 6d 65 5f 74 79 70 65 5f 63 | ......assert.m2.asn1_time_type_c |
20b40 | 68 65 63 6b 28 73 65 6c 66 2e 61 73 6e 31 5f 74 69 6d 65 29 2c 20 5c 0a 20 20 20 20 20 20 20 20 | heck(self.asn1_time),.\......... |
20b60 | 20 20 20 20 22 27 61 73 6e 31 5f 74 69 6d 65 27 20 74 79 70 65 20 65 72 72 6f 72 27 22 0a 20 20 | ...."'asn1_time'.type.error'"... |
20b80 | 20 20 20 20 20 20 62 75 66 20 3d 20 42 49 4f 2e 4d 65 6d 6f 72 79 42 75 66 66 65 72 28 29 0a 20 | ......buf.=.BIO.MemoryBuffer().. |
20ba0 | 20 20 20 20 20 20 20 6d 32 2e 61 73 6e 31 5f 74 69 6d 65 5f 70 72 69 6e 74 28 62 75 66 2e 62 69 | .......m2.asn1_time_print(buf.bi |
20bc0 | 6f 5f 70 74 72 28 29 2c 20 73 65 6c 66 2e 61 73 6e 31 5f 74 69 6d 65 29 0a 20 20 20 20 20 20 20 | o_ptr(),.self.asn1_time)........ |
20be0 | 20 72 65 74 75 72 6e 20 73 69 78 2e 65 6e 73 75 72 65 5f 74 65 78 74 28 62 75 66 2e 72 65 61 64 | .return.six.ensure_text(buf.read |
20c00 | 5f 61 6c 6c 28 29 29 0a 0a 20 20 20 20 64 65 66 20 5f 70 74 72 28 73 65 6c 66 29 3a 0a 20 20 20 | _all())......def._ptr(self):.... |
20c20 | 20 20 20 20 20 61 73 73 65 72 74 20 6d 32 2e 61 73 6e 31 5f 74 69 6d 65 5f 74 79 70 65 5f 63 68 | .....assert.m2.asn1_time_type_ch |
20c40 | 65 63 6b 28 73 65 6c 66 2e 61 73 6e 31 5f 74 69 6d 65 29 2c 20 5c 0a 20 20 20 20 20 20 20 20 20 | eck(self.asn1_time),.\.......... |
20c60 | 20 20 20 22 27 61 73 6e 31 5f 74 69 6d 65 27 20 74 79 70 65 20 65 72 72 6f 72 27 22 0a 20 20 20 | ..."'asn1_time'.type.error'".... |
20c80 | 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 2e 61 73 6e 31 5f 74 69 6d 65 0a 0a 20 20 20 20 | .....return.self.asn1_time...... |
20ca0 | 64 65 66 20 73 65 74 5f 73 74 72 69 6e 67 28 73 65 6c 66 2c 20 73 74 72 69 6e 67 29 3a 0a 20 20 | def.set_string(self,.string):... |
20cc0 | 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 62 79 74 65 73 29 20 2d 3e 20 69 6e 74 0a 20 20 20 | ......#.type:.(bytes).->.int.... |
20ce0 | 20 20 20 20 20 22 22 22 53 65 74 20 74 69 6d 65 20 66 72 6f 6d 20 55 54 43 20 73 74 72 69 6e 67 | ....."""Set.time.from.UTC.string |
20d00 | 2e 22 22 22 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 20 6d 32 2e 61 73 6e 31 5f 74 69 6d 65 | .""".........assert.m2.asn1_time |
20d20 | 5f 74 79 70 65 5f 63 68 65 63 6b 28 73 65 6c 66 2e 61 73 6e 31 5f 74 69 6d 65 29 2c 20 5c 0a 20 | _type_check(self.asn1_time),.\.. |
20d40 | 20 20 20 20 20 20 20 20 20 20 20 22 27 61 73 6e 31 5f 74 69 6d 65 27 20 74 79 70 65 20 65 72 72 | ..........."'asn1_time'.type.err |
20d60 | 6f 72 27 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 61 73 6e 31 5f 74 69 6d 65 | or'".........return.m2.asn1_time |
20d80 | 5f 73 65 74 5f 73 74 72 69 6e 67 28 73 65 6c 66 2e 61 73 6e 31 5f 74 69 6d 65 2c 20 73 74 72 69 | _set_string(self.asn1_time,.stri |
20da0 | 6e 67 29 0a 0a 20 20 20 20 64 65 66 20 73 65 74 5f 74 69 6d 65 28 73 65 6c 66 2c 20 74 69 6d 65 | ng)......def.set_time(self,.time |
20dc0 | 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 69 6e 74 29 20 2d 3e 20 41 53 4e 31 | ):.........#.type:.(int).->.ASN1 |
20de0 | 5f 54 49 4d 45 0a 20 20 20 20 20 20 20 20 22 22 22 53 65 74 20 74 69 6d 65 20 66 72 6f 6d 20 73 | _TIME........."""Set.time.from.s |
20e00 | 65 63 6f 6e 64 73 20 73 69 6e 63 65 20 65 70 6f 63 68 20 28 69 6e 74 29 2e 22 22 22 0a 20 20 20 | econds.since.epoch.(int).""".... |
20e20 | 20 20 20 20 20 61 73 73 65 72 74 20 6d 32 2e 61 73 6e 31 5f 74 69 6d 65 5f 74 79 70 65 5f 63 68 | .....assert.m2.asn1_time_type_ch |
20e40 | 65 63 6b 28 73 65 6c 66 2e 61 73 6e 31 5f 74 69 6d 65 29 2c 20 5c 0a 20 20 20 20 20 20 20 20 20 | eck(self.asn1_time),.\.......... |
20e60 | 20 20 20 22 27 61 73 6e 31 5f 74 69 6d 65 27 20 74 79 70 65 20 65 72 72 6f 72 27 22 0a 20 20 20 | ..."'asn1_time'.type.error'".... |
20e80 | 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 61 73 6e 31 5f 74 69 6d 65 5f 73 65 74 28 73 65 6c | .....return.m2.asn1_time_set(sel |
20ea0 | 66 2e 61 73 6e 31 5f 74 69 6d 65 2c 20 74 69 6d 65 29 0a 0a 20 20 20 20 64 65 66 20 67 65 74 5f | f.asn1_time,.time)......def.get_ |
20ec0 | 64 61 74 65 74 69 6d 65 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 | datetime(self):.........#.type:. |
20ee0 | 28 29 20 2d 3e 20 41 53 4e 31 5f 54 49 4d 45 0a 20 20 20 20 20 20 20 20 64 61 74 65 20 3d 20 73 | ().->.ASN1_TIME.........date.=.s |
20f00 | 74 72 28 73 65 6c 66 29 0a 0a 20 20 20 20 20 20 20 20 74 69 6d 65 7a 6f 6e 65 20 3d 20 4e 6f 6e | tr(self)..........timezone.=.Non |
20f20 | 65 0a 20 20 20 20 20 20 20 20 69 66 20 27 20 27 20 6e 6f 74 20 69 6e 20 64 61 74 65 3a 0a 20 20 | e.........if.'.'.not.in.date:... |
20f40 | 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 56 61 6c 75 65 45 72 72 6f 72 28 22 49 6e 76 61 | ..........raise.ValueError("Inva |
20f60 | 6c 69 64 20 64 61 74 65 3a 20 25 73 22 20 25 20 64 61 74 65 29 0a 20 20 20 20 20 20 20 20 6d 6f | lid.date:.%s".%.date).........mo |
20f80 | 6e 74 68 2c 20 72 65 73 74 20 3d 20 64 61 74 65 2e 73 70 6c 69 74 28 27 20 27 2c 20 31 29 0a 20 | nth,.rest.=.date.split('.',.1).. |
20fa0 | 20 20 20 20 20 20 20 69 66 20 6d 6f 6e 74 68 20 6e 6f 74 20 69 6e 20 73 65 6c 66 2e 5f 73 73 6c | .......if.month.not.in.self._ssl |
20fc0 | 5f 6d 6f 6e 74 68 73 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 56 61 6c 75 65 | _months:.............raise.Value |
20fe0 | 45 72 72 6f 72 28 22 49 6e 76 61 6c 69 64 20 64 61 74 65 20 25 73 3a 20 49 6e 76 61 6c 69 64 20 | Error("Invalid.date.%s:.Invalid. |
21000 | 6d 6f 6e 74 68 3a 20 25 73 22 20 25 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | month:.%s".%.................... |
21020 | 20 20 20 20 20 20 20 20 20 20 28 64 61 74 65 2c 20 6d 6f 6e 74 68 29 29 0a 20 20 20 20 20 20 20 | ..........(date,.month))........ |
21040 | 20 69 66 20 72 65 73 74 2e 65 6e 64 73 77 69 74 68 28 27 20 47 4d 54 27 29 3a 0a 20 20 20 20 20 | .if.rest.endswith('.GMT'):...... |
21060 | 20 20 20 20 20 20 20 74 69 6d 65 7a 6f 6e 65 20 3d 20 55 54 43 0a 20 20 20 20 20 20 20 20 20 20 | .......timezone.=.UTC........... |
21080 | 20 20 72 65 73 74 20 3d 20 72 65 73 74 5b 3a 2d 34 5d 0a 20 20 20 20 20 20 20 20 69 66 20 27 2e | ..rest.=.rest[:-4].........if.'. |
210a0 | 27 20 69 6e 20 72 65 73 74 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 74 20 3d 20 64 61 74 65 | '.in.rest:.............dt.=.date |
210c0 | 74 69 6d 65 2e 64 61 74 65 74 69 6d 65 2e 73 74 72 70 74 69 6d 65 28 72 65 73 74 2c 20 22 25 64 | time.datetime.strptime(rest,."%d |
210e0 | 20 25 48 3a 25 4d 3a 25 53 2e 25 66 20 25 59 22 29 0a 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a | .%H:%M:%S.%f.%Y").........else:. |
21100 | 20 20 20 20 20 20 20 20 20 20 20 20 64 74 20 3d 20 64 61 74 65 74 69 6d 65 2e 64 61 74 65 74 69 | ............dt.=.datetime.dateti |
21120 | 6d 65 2e 73 74 72 70 74 69 6d 65 28 72 65 73 74 2c 20 22 25 64 20 25 48 3a 25 4d 3a 25 53 20 25 | me.strptime(rest,."%d.%H:%M:%S.% |
21140 | 59 22 29 0a 20 20 20 20 20 20 20 20 64 74 20 3d 20 64 74 2e 72 65 70 6c 61 63 65 28 6d 6f 6e 74 | Y").........dt.=.dt.replace(mont |
21160 | 68 3d 73 65 6c 66 2e 5f 73 73 6c 5f 6d 6f 6e 74 68 73 2e 69 6e 64 65 78 28 6d 6f 6e 74 68 29 20 | h=self._ssl_months.index(month). |
21180 | 2b 20 31 29 0a 20 20 20 20 20 20 20 20 69 66 20 74 69 6d 65 7a 6f 6e 65 3a 0a 20 20 20 20 20 20 | +.1).........if.timezone:....... |
211a0 | 20 20 20 20 20 20 64 74 20 3d 20 64 74 2e 72 65 70 6c 61 63 65 28 74 7a 69 6e 66 6f 3d 55 54 43 | ......dt.=.dt.replace(tzinfo=UTC |
211c0 | 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 64 74 0a 0a 20 20 20 20 64 65 66 20 73 65 74 | ).........return.dt......def.set |
211e0 | 5f 64 61 74 65 74 69 6d 65 28 73 65 6c 66 2c 20 64 61 74 65 29 3a 0a 20 20 20 20 20 20 20 20 23 | _datetime(self,.date):.........# |
21200 | 20 74 79 70 65 3a 20 28 64 61 74 65 74 69 6d 65 2e 64 61 74 65 74 69 6d 65 29 20 2d 3e 20 41 53 | .type:.(datetime.datetime).->.AS |
21220 | 4e 31 5f 54 49 4d 45 0a 20 20 20 20 20 20 20 20 6c 6f 63 61 6c 20 3d 20 4c 6f 63 61 6c 54 69 6d | N1_TIME.........local.=.LocalTim |
21240 | 65 7a 6f 6e 65 28 29 0a 20 20 20 20 20 20 20 20 69 66 20 64 61 74 65 2e 74 7a 69 6e 66 6f 20 69 | ezone().........if.date.tzinfo.i |
21260 | 73 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 61 74 65 20 3d 20 64 61 74 65 2e | s.None:.............date.=.date. |
21280 | 72 65 70 6c 61 63 65 28 74 7a 69 6e 66 6f 3d 6c 6f 63 61 6c 29 0a 20 20 20 20 20 20 20 20 64 61 | replace(tzinfo=local).........da |
212a0 | 74 65 20 3d 20 64 61 74 65 2e 61 73 74 69 6d 65 7a 6f 6e 65 28 6c 6f 63 61 6c 29 0a 20 20 20 20 | te.=.date.astimezone(local)..... |
212c0 | 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 2e 73 65 74 5f 74 69 6d 65 28 69 6e 74 28 74 69 6d | ....return.self.set_time(int(tim |
212e0 | 65 2e 6d 6b 74 69 6d 65 28 64 61 74 65 2e 74 69 6d 65 74 75 70 6c 65 28 29 29 29 29 0a 0a 0a 41 | e.mktime(date.timetuple())))...A |
21300 | 53 4e 31 5f 55 54 43 54 49 4d 45 20 3d 20 41 53 4e 31 5f 54 49 4d 45 0a 94 95 f2 1e 01 00 00 00 | SN1_UTCTIME.=.ASN1_TIME......... |
21320 | 00 00 7d 94 28 8c 15 41 53 4e 31 5f 49 6e 74 65 67 65 72 2e 5f 5f 69 6e 69 74 5f 5f 94 8c 03 64 | ..}.(..ASN1_Integer.__init__...d |
21340 | 65 66 94 4b 1c 4b 1f 87 94 8c 14 41 53 4e 31 5f 49 6e 74 65 67 65 72 2e 5f 5f 63 6d 70 5f 5f 94 | ef.K.K.....ASN1_Integer.__cmp__. |
21360 | 6a 74 1f 00 00 4b 21 4b 27 87 94 8c 14 41 53 4e 31 5f 49 6e 74 65 67 65 72 2e 5f 5f 64 65 6c 5f | jt...K!K'....ASN1_Integer.__del_ |
21380 | 5f 94 6a 74 1f 00 00 4b 29 4b 2c 87 94 8c 14 41 53 4e 31 5f 49 6e 74 65 67 65 72 2e 5f 5f 69 6e | _.jt...K)K,....ASN1_Integer.__in |
213a0 | 74 5f 5f 94 6a 74 1f 00 00 4b 2e 4b 30 87 94 8c 0c 41 53 4e 31 5f 49 6e 74 65 67 65 72 94 8c 05 | t__.jt...K.K0....ASN1_Integer... |
213c0 | 63 6c 61 73 73 94 4b 18 4b 30 87 94 8c 14 41 53 4e 31 5f 53 74 72 69 6e 67 2e 5f 5f 69 6e 69 74 | class.K.K0....ASN1_String.__init |
213e0 | 5f 5f 94 6a 74 1f 00 00 4b 37 4b 3a 87 94 8c 15 41 53 4e 31 5f 53 74 72 69 6e 67 2e 5f 5f 62 79 | __.jt...K7K:....ASN1_String.__by |
21400 | 74 65 73 5f 5f 94 6a 74 1f 00 00 4b 3c 4b 40 87 94 8c 13 41 53 4e 31 5f 53 74 72 69 6e 67 2e 5f | tes__.jt...K<K@....ASN1_String._ |
21420 | 5f 73 74 72 5f 5f 94 6a 74 1f 00 00 4b 42 4b 44 87 94 8c 13 41 53 4e 31 5f 53 74 72 69 6e 67 2e | _str__.jt...KBKD....ASN1_String. |
21440 | 5f 5f 64 65 6c 5f 5f 94 6a 74 1f 00 00 4b 46 4b 49 87 94 8c 10 41 53 4e 31 5f 53 74 72 69 6e 67 | __del__.jt...KFKI....ASN1_String |
21460 | 2e 5f 70 74 72 94 6a 74 1f 00 00 4b 4b 4b 4c 87 94 8c 13 41 53 4e 31 5f 53 74 72 69 6e 67 2e 61 | ._ptr.jt...KKKL....ASN1_String.a |
21480 | 73 5f 74 65 78 74 94 6a 74 1f 00 00 4b 4e 4b 59 87 94 8c 0b 41 53 4e 31 5f 53 74 72 69 6e 67 94 | s_text.jt...KNKY....ASN1_String. |
214a0 | 6a 7d 1f 00 00 4b 33 4b 59 87 94 8c 14 41 53 4e 31 5f 4f 62 6a 65 63 74 2e 5f 5f 69 6e 69 74 5f | j}...K3KY....ASN1_Object.__init_ |
214c0 | 5f 94 6a 74 1f 00 00 4b 60 4b 63 87 94 8c 13 41 53 4e 31 5f 4f 62 6a 65 63 74 2e 5f 5f 64 65 6c | _.jt...K`Kc....ASN1_Object.__del |
214e0 | 5f 5f 94 6a 74 1f 00 00 4b 65 4b 68 87 94 8c 10 41 53 4e 31 5f 4f 62 6a 65 63 74 2e 5f 70 74 72 | __.jt...KeKh....ASN1_Object._ptr |
21500 | 94 6a 74 1f 00 00 4b 6a 4b 6b 87 94 8c 0b 41 53 4e 31 5f 4f 62 6a 65 63 74 94 6a 7d 1f 00 00 4b | .jt...KjKk....ASN1_Object.j}...K |
21520 | 5c 4b 6b 87 94 8c 0b 5f 55 54 43 2e 74 7a 6e 61 6d 65 94 6a 74 1f 00 00 4b 6f 4b 71 87 94 8c 08 | \Kk...._UTC.tzname.jt...KoKq.... |
21540 | 5f 55 54 43 2e 64 73 74 94 6a 74 1f 00 00 4b 73 4b 75 87 94 8c 0e 5f 55 54 43 2e 75 74 63 6f 66 | _UTC.dst.jt...KsKu...._UTC.utcof |
21560 | 66 73 65 74 94 6a 74 1f 00 00 4b 77 4b 79 87 94 8c 0d 5f 55 54 43 2e 5f 5f 72 65 70 72 5f 5f 94 | fset.jt...KwKy...._UTC.__repr__. |
21580 | 6a 74 1f 00 00 4b 7b 4b 7c 87 94 8c 04 5f 55 54 43 94 6a 7d 1f 00 00 4b 6e 4b 7c 87 94 8c 16 4c | jt...K{K|...._UTC.j}...KnK|....L |
215a0 | 6f 63 61 6c 54 69 6d 65 7a 6f 6e 65 2e 5f 5f 69 6e 69 74 5f 5f 94 6a 74 1f 00 00 4b 85 4b 8c 87 | ocalTimezone.__init__.jt...K.K.. |
215c0 | 94 8c 17 4c 6f 63 61 6c 54 69 6d 65 7a 6f 6e 65 2e 75 74 63 6f 66 66 73 65 74 94 6a 74 1f 00 00 | ...LocalTimezone.utcoffset.jt... |
215e0 | 4b 8e 4b 93 87 94 8c 11 4c 6f 63 61 6c 54 69 6d 65 7a 6f 6e 65 2e 64 73 74 94 6a 74 1f 00 00 4b | K.K.....LocalTimezone.dst.jt...K |
21600 | 95 4b 9a 87 94 8c 14 4c 6f 63 61 6c 54 69 6d 65 7a 6f 6e 65 2e 74 7a 6e 61 6d 65 94 6a 74 1f 00 | .K.....LocalTimezone.tzname.jt.. |
21620 | 00 4b 9c 4b 9e 87 94 8c 14 4c 6f 63 61 6c 54 69 6d 65 7a 6f 6e 65 2e 5f 69 73 64 73 74 94 6a 74 | .K.K.....LocalTimezone._isdst.jt |
21640 | 1f 00 00 4b a0 4b a7 87 94 8c 0d 4c 6f 63 61 6c 54 69 6d 65 7a 6f 6e 65 94 6a 7d 1f 00 00 4b 82 | ...K.K.....LocalTimezone.j}...K. |
21660 | 4b a7 87 94 8c 12 41 53 4e 31 5f 54 49 4d 45 2e 5f 5f 69 6e 69 74 5f 5f 94 6a 74 1f 00 00 4b af | K.....ASN1_TIME.__init__.jt...K. |
21680 | 4b bb 87 94 8c 11 41 53 4e 31 5f 54 49 4d 45 2e 5f 5f 64 65 6c 5f 5f 94 6a 74 1f 00 00 4b bd 4b | K.....ASN1_TIME.__del__.jt...K.K |
216a0 | c0 87 94 8c 11 41 53 4e 31 5f 54 49 4d 45 2e 5f 5f 73 74 72 5f 5f 94 6a 74 1f 00 00 4b c2 4b c8 | .....ASN1_TIME.__str__.jt...K.K. |
216c0 | 87 94 8c 0e 41 53 4e 31 5f 54 49 4d 45 2e 5f 70 74 72 94 6a 74 1f 00 00 4b ca 4b cd 87 94 8c 14 | ....ASN1_TIME._ptr.jt...K.K..... |
216e0 | 41 53 4e 31 5f 54 49 4d 45 2e 73 65 74 5f 73 74 72 69 6e 67 94 6a 74 1f 00 00 4b cf 4b d4 87 94 | ASN1_TIME.set_string.jt...K.K... |
21700 | 8c 12 41 53 4e 31 5f 54 49 4d 45 2e 73 65 74 5f 74 69 6d 65 94 6a 74 1f 00 00 4b d6 4b db 87 94 | ..ASN1_TIME.set_time.jt...K.K... |
21720 | 8c 16 41 53 4e 31 5f 54 49 4d 45 2e 67 65 74 5f 64 61 74 65 74 69 6d 65 94 6a 74 1f 00 00 4b dd | ..ASN1_TIME.get_datetime.jt...K. |
21740 | 4b f2 87 94 8c 16 41 53 4e 31 5f 54 49 4d 45 2e 73 65 74 5f 64 61 74 65 74 69 6d 65 94 6a 74 1f | K.....ASN1_TIME.set_datetime.jt. |
21760 | 00 00 4b f4 4b fa 87 94 8c 09 41 53 4e 31 5f 54 49 4d 45 94 6a 7d 1f 00 00 4b aa 4b fa 87 94 75 | ..K.K.....ASN1_TIME.j}...K.K...u |
21780 | 7d 94 28 8c 0c 41 53 4e 31 5f 49 6e 74 65 67 65 72 94 6a 53 02 00 00 8c 0b 41 53 4e 31 5f 4f 62 | }.(..ASN1_Integer.jS.....ASN1_Ob |
217a0 | 6a 65 63 74 94 6a 53 02 00 00 8c 0b 41 53 4e 31 5f 53 74 72 69 6e 67 94 6a 53 02 00 00 8c 13 41 | ject.jS.....ASN1_String.jS.....A |
217c0 | 53 4e 31 5f 53 74 72 69 6e 67 2e 61 73 5f 74 65 78 74 94 6a 53 02 00 00 8c 09 41 53 4e 31 5f 54 | SN1_String.as_text.jS.....ASN1_T |
217e0 | 49 4d 45 94 6a 53 02 00 00 8c 16 41 53 4e 31 5f 54 49 4d 45 2e 67 65 74 5f 64 61 74 65 74 69 6d | IME.jS.....ASN1_TIME.get_datetim |
21800 | 65 94 6a 53 02 00 00 8c 16 41 53 4e 31 5f 54 49 4d 45 2e 73 65 74 5f 64 61 74 65 74 69 6d 65 94 | e.jS.....ASN1_TIME.set_datetime. |
21820 | 6a 53 02 00 00 8c 14 41 53 4e 31 5f 54 49 4d 45 2e 73 65 74 5f 73 74 72 69 6e 67 94 6a 53 02 00 | jS.....ASN1_TIME.set_string.jS.. |
21840 | 00 8c 12 41 53 4e 31 5f 54 49 4d 45 2e 73 65 74 5f 74 69 6d 65 94 6a 53 02 00 00 8c 0d 4c 6f 63 | ...ASN1_TIME.set_time.jS.....Loc |
21860 | 61 6c 54 69 6d 65 7a 6f 6e 65 94 6a 53 02 00 00 8c 11 4c 6f 63 61 6c 54 69 6d 65 7a 6f 6e 65 2e | alTimezone.jS.....LocalTimezone. |
21880 | 64 73 74 94 6a 53 02 00 00 8c 14 4c 6f 63 61 6c 54 69 6d 65 7a 6f 6e 65 2e 74 7a 6e 61 6d 65 94 | dst.jS.....LocalTimezone.tzname. |
218a0 | 6a 53 02 00 00 8c 17 4c 6f 63 61 6c 54 69 6d 65 7a 6f 6e 65 2e 75 74 63 6f 66 66 73 65 74 94 6a | jS.....LocalTimezone.utcoffset.j |
218c0 | 53 02 00 00 75 8c 0d 4d 32 43 72 79 70 74 6f 2e 41 53 4e 31 94 74 94 8c 12 4d 32 43 72 79 70 74 | S...u..M2Crypto.ASN1.t...M2Crypt |
218e0 | 6f 2e 5f 6d 32 63 72 79 70 74 6f 94 89 8c 13 4d 32 43 72 79 70 74 6f 2e 41 75 74 68 43 6f 6f 6b | o._m2crypto....M2Crypto.AuthCook |
21900 | 69 65 94 28 58 4e 14 00 00 66 72 6f 6d 20 5f 5f 66 75 74 75 72 65 5f 5f 20 69 6d 70 6f 72 74 20 | ie.(XN...from.__future__.import. |
21920 | 61 62 73 6f 6c 75 74 65 5f 69 6d 70 6f 72 74 0a 0a 22 22 22 53 65 63 75 72 65 20 41 75 74 68 65 | absolute_import.."""Secure.Authe |
21940 | 6e 74 69 63 61 74 6f 72 20 43 6f 6f 6b 69 65 73 0a 0a 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 | nticator.Cookies..Copyright.(c). |
21960 | 31 39 39 39 2d 32 30 30 32 20 4e 67 20 50 68 65 6e 67 20 53 69 6f 6e 67 2e 20 41 6c 6c 20 72 69 | 1999-2002.Ng.Pheng.Siong..All.ri |
21980 | 67 68 74 73 20 72 65 73 65 72 76 65 64 2e 22 22 22 0a 0a 69 6d 70 6f 72 74 20 6c 6f 67 67 69 6e | ghts.reserved."""..import.loggin |
219a0 | 67 0a 69 6d 70 6f 72 74 20 72 65 0a 69 6d 70 6f 72 74 20 74 69 6d 65 0a 0a 66 72 6f 6d 20 4d 32 | g.import.re.import.time..from.M2 |
219c0 | 43 72 79 70 74 6f 20 69 6d 70 6f 72 74 20 52 61 6e 64 2c 20 6d 32 2c 20 70 79 32 37 70 6c 75 73 | Crypto.import.Rand,.m2,.py27plus |
219e0 | 2c 20 73 69 78 2c 20 75 74 69 6c 0a 66 72 6f 6d 20 4d 32 43 72 79 70 74 6f 2e 73 69 78 2e 6d 6f | ,.six,.util.from.M2Crypto.six.mo |
21a00 | 76 65 73 2e 68 74 74 70 5f 63 6f 6f 6b 69 65 73 20 69 6d 70 6f 72 74 20 53 69 6d 70 6c 65 43 6f | ves.http_cookies.import.SimpleCo |
21a20 | 6f 6b 69 65 20 20 23 20 70 79 6c 69 6e 74 3a 20 64 69 73 61 62 6c 65 3d 6e 6f 2d 6e 61 6d 65 2d | okie..#.pylint:.disable=no-name- |
21a40 | 69 6e 2d 6d 6f 64 75 6c 65 2c 69 6d 70 6f 72 74 2d 65 72 72 6f 72 0a 0a 69 66 20 70 79 32 37 70 | in-module,import-error..if.py27p |
21a60 | 6c 75 73 3a 0a 20 20 20 20 66 72 6f 6d 20 74 79 70 69 6e 67 20 69 6d 70 6f 72 74 20 72 65 20 61 | lus:.....from.typing.import.re.a |
21a80 | 73 20 74 79 70 65 5f 72 65 2c 20 41 6e 79 53 74 72 2c 20 44 69 63 74 2c 20 4f 70 74 69 6f 6e 61 | s.type_re,.AnyStr,.Dict,.Optiona |
21aa0 | 6c 2c 20 55 6e 69 6f 6e 20 20 23 20 6e 6f 71 61 0a 0a 5f 4d 49 58 5f 46 4f 52 4d 41 54 20 3d 20 | l,.Union..#.noqa.._MIX_FORMAT.=. |
21ac0 | 27 65 78 70 3d 25 66 26 64 61 74 61 3d 25 73 26 64 69 67 65 73 74 3d 27 0a 5f 4d 49 58 5f 52 45 | 'exp=%f&data=%s&digest='._MIX_RE |
21ae0 | 20 3d 20 72 65 2e 63 6f 6d 70 69 6c 65 28 72 27 65 78 70 3d 28 5c 64 2b 5c 2e 5c 64 2b 29 26 64 | .=.re.compile(r'exp=(\d+\.\d+)&d |
21b00 | 61 74 61 3d 28 2e 2b 29 26 64 69 67 65 73 74 3d 28 5c 53 2a 29 27 29 0a 0a 6c 6f 67 20 3d 20 6c | ata=(.+)&digest=(\S*)')..log.=.l |
21b20 | 6f 67 67 69 6e 67 2e 67 65 74 4c 6f 67 67 65 72 28 5f 5f 6e 61 6d 65 5f 5f 29 0a 0a 0a 64 65 66 | ogging.getLogger(__name__)...def |
21b40 | 20 6d 69 78 28 65 78 70 69 72 79 2c 20 64 61 74 61 2c 20 66 6f 72 6d 61 74 3d 5f 4d 49 58 5f 46 | .mix(expiry,.data,.format=_MIX_F |
21b60 | 4f 52 4d 41 54 29 3a 0a 20 20 20 20 23 20 74 79 70 65 3a 20 28 66 6c 6f 61 74 2c 20 41 6e 79 53 | ORMAT):.....#.type:.(float,.AnyS |
21b80 | 74 72 2c 20 73 74 72 29 20 2d 3e 20 41 6e 79 53 74 72 0a 20 20 20 20 72 65 74 75 72 6e 20 66 6f | tr,.str).->.AnyStr.....return.fo |
21ba0 | 72 6d 61 74 20 25 20 28 65 78 70 69 72 79 2c 20 64 61 74 61 29 0a 0a 0a 64 65 66 20 75 6e 6d 69 | rmat.%.(expiry,.data)...def.unmi |
21bc0 | 78 28 64 6f 75 67 68 2c 20 72 65 67 65 78 3d 5f 4d 49 58 5f 52 45 29 3a 0a 20 20 20 20 23 20 74 | x(dough,.regex=_MIX_RE):.....#.t |
21be0 | 79 70 65 3a 20 28 41 6e 79 53 74 72 2c 20 74 79 70 65 5f 72 65 29 20 2d 3e 20 6f 62 6a 65 63 74 | ype:.(AnyStr,.type_re).->.object |
21c00 | 0a 20 20 20 20 6d 6f 20 3d 20 72 65 67 65 78 2e 6d 61 74 63 68 28 64 6f 75 67 68 29 0a 20 20 20 | .....mo.=.regex.match(dough).... |
21c20 | 20 69 66 20 6d 6f 3a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 6c 6f 61 74 28 6d 6f 2e | .if.mo:.........return.float(mo. |
21c40 | 67 72 6f 75 70 28 31 29 29 2c 20 6d 6f 2e 67 72 6f 75 70 28 32 29 0a 20 20 20 20 65 6c 73 65 3a | group(1)),.mo.group(2).....else: |
21c60 | 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 4e 6f 6e 65 0a 0a 0a 64 65 66 20 75 6e 6d 69 78 | .........return.None...def.unmix |
21c80 | 33 28 64 6f 75 67 68 2c 20 72 65 67 65 78 3d 5f 4d 49 58 5f 52 45 29 3a 0a 20 20 20 20 23 20 74 | 3(dough,.regex=_MIX_RE):.....#.t |
21ca0 | 79 70 65 3a 20 28 41 6e 79 53 74 72 2c 20 74 79 70 65 5f 72 65 29 20 2d 3e 20 4f 70 74 69 6f 6e | ype:.(AnyStr,.type_re).->.Option |
21cc0 | 61 6c 5b 74 75 70 6c 65 5b 66 6c 6f 61 74 2c 20 41 6e 79 53 74 72 2c 20 41 6e 79 53 74 72 5d 5d | al[tuple[float,.AnyStr,.AnyStr]] |
21ce0 | 0a 20 20 20 20 6d 6f 20 3d 20 72 65 67 65 78 2e 6d 61 74 63 68 28 64 6f 75 67 68 29 0a 20 20 20 | .....mo.=.regex.match(dough).... |
21d00 | 20 69 66 20 6d 6f 3a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 6c 6f 61 74 28 6d 6f 2e | .if.mo:.........return.float(mo. |
21d20 | 67 72 6f 75 70 28 31 29 29 2c 20 6d 6f 2e 67 72 6f 75 70 28 32 29 2c 20 6d 6f 2e 67 72 6f 75 70 | group(1)),.mo.group(2),.mo.group |
21d40 | 28 33 29 0a 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 4e 6f 6e | (3).....else:.........return.Non |
21d60 | 65 0a 0a 0a 5f 54 4f 4b 45 4e 20 3d 20 27 5f 4d 32 41 55 54 48 5f 27 20 20 23 20 74 79 70 65 3a | e..._TOKEN.=.'_M2AUTH_'..#.type: |
21d80 | 20 73 74 72 0a 0a 0a 63 6c 61 73 73 20 41 75 74 68 43 6f 6f 6b 69 65 4a 61 72 28 6f 62 6a 65 63 | .str...class.AuthCookieJar(objec |
21da0 | 74 29 3a 0a 0a 20 20 20 20 5f 6b 65 79 6c 65 6e 20 3d 20 32 30 20 20 23 20 74 79 70 65 3a 20 69 | t):......_keylen.=.20..#.type:.i |
21dc0 | 6e 74 0a 0a 20 20 20 20 64 65 66 20 5f 5f 69 6e 69 74 5f 5f 28 73 65 6c 66 29 3a 0a 20 20 20 20 | nt......def.__init__(self):..... |
21de0 | 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 73 | ....#.type:.().->.None.........s |
21e00 | 65 6c 66 2e 5f 6b 65 79 20 3d 20 52 61 6e 64 2e 72 61 6e 64 5f 62 79 74 65 73 28 73 65 6c 66 2e | elf._key.=.Rand.rand_bytes(self. |
21e20 | 5f 6b 65 79 6c 65 6e 29 0a 0a 20 20 20 20 64 65 66 20 5f 68 6d 61 63 28 73 65 6c 66 2c 20 6b 65 | _keylen)......def._hmac(self,.ke |
21e40 | 79 2c 20 64 61 74 61 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 62 79 74 65 73 | y,.data):.........#.type:.(bytes |
21e60 | 2c 20 73 74 72 29 20 2d 3e 20 73 74 72 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 75 74 69 | ,.str).->.str.........return.uti |
21e80 | 6c 2e 62 69 6e 5f 74 6f 5f 68 65 78 28 6d 32 2e 68 6d 61 63 28 6b 65 79 2c 20 73 69 78 2e 65 6e | l.bin_to_hex(m2.hmac(key,.six.en |
21ea0 | 73 75 72 65 5f 62 69 6e 61 72 79 28 64 61 74 61 29 2c 20 6d 32 2e 73 68 61 31 28 29 29 29 0a 0a | sure_binary(data),.m2.sha1())).. |
21ec0 | 20 20 20 20 64 65 66 20 6d 61 6b 65 43 6f 6f 6b 69 65 28 73 65 6c 66 2c 20 65 78 70 69 72 79 2c | ....def.makeCookie(self,.expiry, |
21ee0 | 20 64 61 74 61 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 66 6c 6f 61 74 2c 20 | .data):.........#.type:.(float,. |
21f00 | 73 74 72 29 20 2d 3e 20 41 75 74 68 43 6f 6f 6b 69 65 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 | str).->.AuthCookie.........""".. |
21f20 | 20 20 20 20 20 20 20 4d 61 6b 65 20 61 20 63 6f 6f 6b 69 65 0a 0a 20 20 20 20 20 20 20 20 3a 70 | .......Make.a.cookie..........:p |
21f40 | 61 72 61 6d 20 65 78 70 69 72 79 3a 20 65 78 70 69 72 61 74 69 6f 6e 20 74 69 6d 65 20 28 66 6c | aram.expiry:.expiration.time.(fl |
21f60 | 6f 61 74 20 69 6e 20 73 65 63 6f 6e 64 73 29 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 64 | oat.in.seconds).........:param.d |
21f80 | 61 74 61 3a 20 63 6f 6f 6b 69 65 20 63 6f 6e 74 65 6e 74 0a 20 20 20 20 20 20 20 20 3a 72 65 74 | ata:.cookie.content.........:ret |
21fa0 | 75 72 6e 3a 20 41 75 74 68 43 6f 6f 6b 69 65 20 6f 62 6a 65 63 74 0a 20 20 20 20 20 20 20 20 22 | urn:.AuthCookie.object........." |
21fc0 | 22 22 0a 20 20 20 20 20 20 20 20 69 66 20 6e 6f 74 20 69 73 69 6e 73 74 61 6e 63 65 28 65 78 70 | "".........if.not.isinstance(exp |
21fe0 | 69 72 79 2c 20 28 73 69 78 2e 69 6e 74 65 67 65 72 5f 74 79 70 65 73 2c 20 66 6c 6f 61 74 29 29 | iry,.(six.integer_types,.float)) |
22000 | 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 56 61 6c 75 65 45 72 72 6f 72 28 27 | :.............raise.ValueError(' |
22020 | 45 78 70 69 72 61 74 69 6f 6e 20 74 69 6d 65 20 6d 75 73 74 20 62 65 20 6e 75 6d 62 65 72 2c 20 | Expiration.time.must.be.number,. |
22040 | 6e 6f 74 20 22 25 73 27 20 25 20 65 78 70 69 72 79 29 0a 20 20 20 20 20 20 20 20 64 6f 75 67 68 | not."%s'.%.expiry).........dough |
22060 | 20 3d 20 6d 69 78 28 65 78 70 69 72 79 2c 20 64 61 74 61 29 0a 20 20 20 20 20 20 20 20 72 65 74 | .=.mix(expiry,.data).........ret |
22080 | 75 72 6e 20 41 75 74 68 43 6f 6f 6b 69 65 28 65 78 70 69 72 79 2c 20 64 61 74 61 2c 20 64 6f 75 | urn.AuthCookie(expiry,.data,.dou |
220a0 | 67 68 2c 20 73 65 6c 66 2e 5f 68 6d 61 63 28 73 65 6c 66 2e 5f 6b 65 79 2c 20 64 6f 75 67 68 29 | gh,.self._hmac(self._key,.dough) |
220c0 | 29 0a 0a 20 20 20 20 64 65 66 20 69 73 47 6f 6f 64 43 6f 6f 6b 69 65 28 73 65 6c 66 2c 20 63 6f | )......def.isGoodCookie(self,.co |
220e0 | 6f 6b 69 65 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 41 75 74 68 43 6f 6f 6b | okie):.........#.type:.(AuthCook |
22100 | 69 65 29 20 2d 3e 20 55 6e 69 6f 6e 5b 62 6f 6f 6c 2c 20 69 6e 74 5d 0a 20 20 20 20 20 20 20 20 | ie).->.Union[bool,.int]......... |
22120 | 61 73 73 65 72 74 20 69 73 69 6e 73 74 61 6e 63 65 28 63 6f 6f 6b 69 65 2c 20 41 75 74 68 43 6f | assert.isinstance(cookie,.AuthCo |
22140 | 6f 6b 69 65 29 0a 20 20 20 20 20 20 20 20 69 66 20 63 6f 6f 6b 69 65 2e 69 73 45 78 70 69 72 65 | okie).........if.cookie.isExpire |
22160 | 64 28 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 30 0a 20 20 20 20 20 20 | d():.............return.0....... |
22180 | 20 20 63 20 3d 20 73 65 6c 66 2e 6d 61 6b 65 43 6f 6f 6b 69 65 28 63 6f 6f 6b 69 65 2e 5f 65 78 | ..c.=.self.makeCookie(cookie._ex |
221a0 | 70 69 72 79 2c 20 63 6f 6f 6b 69 65 2e 5f 64 61 74 61 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 | piry,.cookie._data).........retu |
221c0 | 72 6e 20 28 63 2e 5f 65 78 70 69 72 79 20 3d 3d 20 63 6f 6f 6b 69 65 2e 5f 65 78 70 69 72 79 29 | rn.(c._expiry.==.cookie._expiry) |
221e0 | 20 5c 0a 20 20 20 20 20 20 20 20 20 20 20 20 61 6e 64 20 28 63 2e 5f 64 61 74 61 20 3d 3d 20 63 | .\.............and.(c._data.==.c |
22200 | 6f 6f 6b 69 65 2e 5f 64 61 74 61 29 20 5c 0a 20 20 20 20 20 20 20 20 20 20 20 20 61 6e 64 20 28 | ookie._data).\.............and.( |
22220 | 63 2e 5f 6d 61 63 20 3d 3d 20 63 6f 6f 6b 69 65 2e 5f 6d 61 63 29 20 5c 0a 20 20 20 20 20 20 20 | c._mac.==.cookie._mac).\........ |
22240 | 20 20 20 20 20 61 6e 64 20 28 63 2e 6f 75 74 70 75 74 28 29 20 3d 3d 20 63 6f 6f 6b 69 65 2e 6f | .....and.(c.output().==.cookie.o |
22260 | 75 74 70 75 74 28 29 29 0a 0a 20 20 20 20 64 65 66 20 69 73 47 6f 6f 64 43 6f 6f 6b 69 65 53 74 | utput())......def.isGoodCookieSt |
22280 | 72 69 6e 67 28 73 65 6c 66 2c 20 63 6f 6f 6b 69 65 5f 73 74 72 2c 20 5f 64 65 62 75 67 3d 46 61 | ring(self,.cookie_str,._debug=Fa |
222a0 | 6c 73 65 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 55 6e 69 6f 6e 5b 64 69 63 | lse):.........#.type:.(Union[dic |
222c0 | 74 2c 20 62 79 74 65 73 5d 2c 20 62 6f 6f 6c 29 20 2d 3e 20 55 6e 69 6f 6e 5b 62 6f 6f 6c 2c 20 | t,.bytes],.bool).->.Union[bool,. |
222e0 | 69 6e 74 5d 0a 20 20 20 20 20 20 20 20 63 20 3d 20 53 69 6d 70 6c 65 43 6f 6f 6b 69 65 28 29 0a | int].........c.=.SimpleCookie(). |
22300 | 20 20 20 20 20 20 20 20 63 2e 6c 6f 61 64 28 63 6f 6f 6b 69 65 5f 73 74 72 29 0a 20 20 20 20 20 | ........c.load(cookie_str)...... |
22320 | 20 20 20 69 66 20 5f 54 4f 4b 45 4e 20 6e 6f 74 20 69 6e 20 63 3a 0a 20 20 20 20 20 20 20 20 20 | ...if._TOKEN.not.in.c:.......... |
22340 | 20 20 20 6c 6f 67 2e 64 65 62 75 67 28 27 5f 54 4f 4b 45 4e 20 6e 6f 74 20 69 6e 20 63 20 28 6b | ...log.debug('_TOKEN.not.in.c.(k |
22360 | 65 79 73 20 3d 20 25 73 29 27 2c 20 64 69 72 28 63 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | eys.=.%s)',.dir(c))............. |
22380 | 72 65 74 75 72 6e 20 30 0a 20 20 20 20 20 20 20 20 75 6e 64 6f 75 67 68 20 3d 20 75 6e 6d 69 78 | return.0.........undough.=.unmix |
223a0 | 33 28 63 5b 5f 54 4f 4b 45 4e 5d 2e 76 61 6c 75 65 29 0a 20 20 20 20 20 20 20 20 69 66 20 75 6e | 3(c[_TOKEN].value).........if.un |
223c0 | 64 6f 75 67 68 20 69 73 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 6c 6f 67 2e 64 | dough.is.None:.............log.d |
223e0 | 65 62 75 67 28 27 75 6e 64 6f 75 67 68 20 69 73 20 4e 6f 6e 65 27 29 0a 20 20 20 20 20 20 20 20 | ebug('undough.is.None')......... |
22400 | 20 20 20 20 72 65 74 75 72 6e 20 30 0a 20 20 20 20 20 20 20 20 65 78 70 2c 20 64 61 74 61 2c 20 | ....return.0.........exp,.data,. |
22420 | 6d 61 63 20 3d 20 75 6e 64 6f 75 67 68 0a 20 20 20 20 20 20 20 20 63 32 20 3d 20 73 65 6c 66 2e | mac.=.undough.........c2.=.self. |
22440 | 6d 61 6b 65 43 6f 6f 6b 69 65 28 65 78 70 2c 20 64 61 74 61 29 0a 20 20 20 20 20 20 20 20 69 66 | makeCookie(exp,.data).........if |
22460 | 20 5f 64 65 62 75 67 20 61 6e 64 20 28 63 32 2e 5f 6d 61 63 20 3d 3d 20 6d 61 63 29 3a 0a 20 20 | ._debug.and.(c2._mac.==.mac):... |
22480 | 20 20 20 20 20 20 20 20 20 20 6c 6f 67 2e 65 72 72 6f 72 28 27 63 6f 6f 6b 69 65 5f 73 74 72 20 | ..........log.error('cookie_str. |
224a0 | 3d 20 25 73 27 2c 20 63 6f 6f 6b 69 65 5f 73 74 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 6c | =.%s',.cookie_str).............l |
224c0 | 6f 67 2e 65 72 72 6f 72 28 27 63 32 2e 69 73 45 78 70 69 72 65 64 20 3d 20 25 73 27 2c 20 63 32 | og.error('c2.isExpired.=.%s',.c2 |
224e0 | 2e 69 73 45 78 70 69 72 65 64 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 6c 6f 67 2e 65 72 | .isExpired()).............log.er |
22500 | 72 6f 72 28 27 6d 61 63 20 3d 20 25 73 27 2c 20 6d 61 63 29 0a 20 20 20 20 20 20 20 20 20 20 20 | ror('mac.=.%s',.mac)............ |
22520 | 20 6c 6f 67 2e 65 72 72 6f 72 28 27 63 32 2e 5f 6d 61 63 20 3d 20 25 73 27 2c 20 63 32 2e 5f 6d | .log.error('c2._mac.=.%s',.c2._m |
22540 | 61 63 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 6c 6f 67 2e 65 72 72 6f 72 28 27 63 32 2e 5f 6d | ac).............log.error('c2._m |
22560 | 61 63 20 3d 3d 20 6d 61 63 3a 20 25 73 27 2c 20 73 74 72 28 63 32 2e 5f 6d 61 63 20 3d 3d 20 6d | ac.==.mac:.%s',.str(c2._mac.==.m |
22580 | 61 63 29 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 28 6e 6f 74 20 63 32 2e 69 73 45 78 | ac)).........return.(not.c2.isEx |
225a0 | 70 69 72 65 64 28 29 29 20 61 6e 64 20 28 63 32 2e 5f 6d 61 63 20 3d 3d 20 6d 61 63 29 0a 0a 0a | pired()).and.(c2._mac.==.mac)... |
225c0 | 63 6c 61 73 73 20 41 75 74 68 43 6f 6f 6b 69 65 28 6f 62 6a 65 63 74 29 3a 0a 0a 20 20 20 20 64 | class.AuthCookie(object):......d |
225e0 | 65 66 20 5f 5f 69 6e 69 74 5f 5f 28 73 65 6c 66 2c 20 65 78 70 69 72 79 2c 20 64 61 74 61 2c 20 | ef.__init__(self,.expiry,.data,. |
22600 | 64 6f 75 67 68 2c 20 6d 61 63 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 66 6c | dough,.mac):.........#.type:.(fl |
22620 | 6f 61 74 2c 20 73 74 72 2c 20 73 74 72 2c 20 73 74 72 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 | oat,.str,.str,.str).->.None..... |
22640 | 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 43 72 65 61 74 65 20 6e 65 77 20 61 75 74 68 65 | ....""".........Create.new.authe |
22660 | 6e 74 69 63 61 74 69 6f 6e 20 63 6f 6f 6b 69 65 0a 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d | ntication.cookie..........:param |
22680 | 20 65 78 70 69 72 79 3a 20 65 78 70 69 72 61 74 69 6f 6e 20 74 69 6d 65 20 28 69 6e 20 73 65 63 | .expiry:.expiration.time.(in.sec |
226a0 | 6f 6e 64 73 29 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 64 61 74 61 3a 20 63 6f 6f 6b 69 | onds).........:param.data:.cooki |
226c0 | 65 20 70 61 79 6c 6f 61 64 20 28 61 73 20 61 20 73 74 72 69 6e 67 29 0a 20 20 20 20 20 20 20 20 | e.payload.(as.a.string)......... |
226e0 | 3a 70 61 72 61 6d 20 64 6f 75 67 68 3a 20 65 78 70 69 72 79 20 26 20 64 61 74 61 20 63 6f 6e 63 | :param.dough:.expiry.&.data.conc |
22700 | 61 74 65 6e 61 74 65 64 20 74 6f 20 55 52 4c 20 63 6f 6d 70 6c 69 61 6e 74 0a 20 20 20 20 20 20 | atenated.to.URL.compliant....... |
22720 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 3a | ................string.........: |
22740 | 70 61 72 61 6d 20 6d 61 63 3a 20 53 48 41 31 2d 62 61 73 65 64 20 48 4d 41 43 20 6f 66 20 64 6f | param.mac:.SHA1-based.HMAC.of.do |
22760 | 75 67 68 20 61 6e 64 20 72 61 6e 64 6f 6d 20 6b 65 79 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 | ugh.and.random.key.........""".. |
22780 | 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 65 78 70 69 72 79 20 3d 20 65 78 70 69 72 79 0a 20 20 20 | .......self._expiry.=.expiry.... |
227a0 | 20 20 20 20 20 73 65 6c 66 2e 5f 64 61 74 61 20 3d 20 64 61 74 61 0a 20 20 20 20 20 20 20 20 73 | .....self._data.=.data.........s |
227c0 | 65 6c 66 2e 5f 6d 61 63 20 3d 20 6d 61 63 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 63 6f 6f | elf._mac.=.mac.........self._coo |
227e0 | 6b 69 65 20 3d 20 53 69 6d 70 6c 65 43 6f 6f 6b 69 65 28 29 0a 20 20 20 20 20 20 20 20 73 65 6c | kie.=.SimpleCookie().........sel |
22800 | 66 2e 5f 63 6f 6f 6b 69 65 5b 5f 54 4f 4b 45 4e 5d 20 3d 20 27 25 73 25 73 27 20 25 20 28 64 6f | f._cookie[_TOKEN].=.'%s%s'.%.(do |
22820 | 75 67 68 2c 20 6d 61 63 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 6e 61 6d 65 20 3d 20 27 | ugh,.mac).........self._name.=.' |
22840 | 25 73 25 73 27 20 25 20 28 64 6f 75 67 68 2c 20 6d 61 63 29 20 20 23 20 57 65 62 4b 69 74 20 6f | %s%s'.%.(dough,.mac)..#.WebKit.o |
22860 | 6e 6c 79 2e 0a 0a 20 20 20 20 64 65 66 20 65 78 70 69 72 79 28 73 65 6c 66 29 3a 0a 20 20 20 20 | nly.......def.expiry(self):..... |
22880 | 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 66 6c 6f 61 74 0a 20 20 20 20 20 20 20 20 | ....#.type:.().->.float......... |
228a0 | 22 22 22 52 65 74 75 72 6e 20 74 68 65 20 63 6f 6f 6b 69 65 27 73 20 65 78 70 69 72 79 20 74 69 | """Return.the.cookie's.expiry.ti |
228c0 | 6d 65 2e 22 22 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 2e 5f 65 78 70 69 | me.""".........return.self._expi |
228e0 | 72 79 0a 0a 20 20 20 20 64 65 66 20 64 61 74 61 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 | ry......def.data(self):......... |
22900 | 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 73 74 72 0a 20 20 20 20 20 20 20 20 22 22 22 52 65 74 | #.type:.().->.str........."""Ret |
22920 | 75 72 6e 20 74 68 65 20 64 61 74 61 20 70 6f 72 74 69 6f 6e 20 6f 66 20 74 68 65 20 63 6f 6f 6b | urn.the.data.portion.of.the.cook |
22940 | 69 65 2e 22 22 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 2e 5f 64 61 74 61 | ie.""".........return.self._data |
22960 | 0a 0a 20 20 20 20 64 65 66 20 6d 61 63 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 | ......def.mac(self):.........#.t |
22980 | 79 70 65 3a 20 28 29 20 2d 3e 20 73 74 72 0a 20 20 20 20 20 20 20 20 22 22 22 52 65 74 75 72 6e | ype:.().->.str........."""Return |
229a0 | 20 74 68 65 20 63 6f 6f 6b 69 65 27 73 20 4d 41 43 2e 22 22 22 0a 20 20 20 20 20 20 20 20 72 65 | .the.cookie's.MAC.""".........re |
229c0 | 74 75 72 6e 20 73 65 6c 66 2e 5f 6d 61 63 0a 0a 20 20 20 20 64 65 66 20 6f 75 74 70 75 74 28 73 | turn.self._mac......def.output(s |
229e0 | 65 6c 66 2c 20 68 65 61 64 65 72 3d 22 53 65 74 2d 43 6f 6f 6b 69 65 3a 22 29 3a 0a 20 20 20 20 | elf,.header="Set-Cookie:"):..... |
22a00 | 20 20 20 20 23 20 74 79 70 65 3a 20 28 4f 70 74 69 6f 6e 61 6c 5b 73 74 72 5d 29 20 2d 3e 20 73 | ....#.type:.(Optional[str]).->.s |
22a20 | 74 72 0a 20 20 20 20 20 20 20 20 22 22 22 52 65 74 75 72 6e 20 74 68 65 20 63 6f 6f 6b 69 65 27 | tr........."""Return.the.cookie' |
22a40 | 73 20 6f 75 74 70 75 74 20 69 6e 20 22 53 65 74 2d 43 6f 6f 6b 69 65 22 20 66 6f 72 6d 61 74 2e | s.output.in."Set-Cookie".format. |
22a60 | 22 22 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 2e 5f 63 6f 6f 6b 69 65 2e | """.........return.self._cookie. |
22a80 | 6f 75 74 70 75 74 28 68 65 61 64 65 72 3d 68 65 61 64 65 72 29 0a 0a 20 20 20 20 64 65 66 20 76 | output(header=header)......def.v |
22aa0 | 61 6c 75 65 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d | alue(self):.........#.type:.().- |
22ac0 | 3e 20 73 74 72 0a 20 20 20 20 20 20 20 20 22 22 22 52 65 74 75 72 6e 20 74 68 65 20 63 6f 6f 6b | >.str........."""Return.the.cook |
22ae0 | 69 65 27 73 20 6f 75 74 70 75 74 20 6d 69 6e 75 73 20 74 68 65 20 22 53 65 74 2d 43 6f 6f 6b 69 | ie's.output.minus.the."Set-Cooki |
22b00 | 65 3a 20 22 20 70 6f 72 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 | e:.".portion.........."""....... |
22b20 | 20 20 72 65 74 75 72 6e 20 73 65 6c 66 2e 5f 63 6f 6f 6b 69 65 5b 5f 54 4f 4b 45 4e 5d 2e 76 61 | ..return.self._cookie[_TOKEN].va |
22b40 | 6c 75 65 0a 0a 20 20 20 20 64 65 66 20 69 73 45 78 70 69 72 65 64 28 73 65 6c 66 29 3a 0a 20 20 | lue......def.isExpired(self):... |
22b60 | 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 62 6f 6f 6c 0a 20 20 20 20 20 20 20 | ......#.type:.().->.bool........ |
22b80 | 20 22 22 22 52 65 74 75 72 6e 20 31 20 69 66 20 74 68 65 20 63 6f 6f 6b 69 65 20 68 61 73 20 65 | ."""Return.1.if.the.cookie.has.e |
22ba0 | 78 70 69 72 65 64 2c 20 30 20 6f 74 68 65 72 77 69 73 65 2e 22 22 22 0a 20 20 20 20 20 20 20 20 | xpired,.0.otherwise."""......... |
22bc0 | 72 65 74 75 72 6e 20 69 73 69 6e 73 74 61 6e 63 65 28 73 65 6c 66 2e 5f 65 78 70 69 72 79 2c 20 | return.isinstance(self._expiry,. |
22be0 | 28 66 6c 6f 61 74 2c 20 73 69 78 2e 69 6e 74 65 67 65 72 5f 74 79 70 65 73 29 29 20 61 6e 64 20 | (float,.six.integer_types)).and. |
22c00 | 5c 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 74 69 6d 65 2e 74 69 6d 65 28 29 20 3e 20 73 65 6c | \.............(time.time().>.sel |
22c20 | 66 2e 5f 65 78 70 69 72 79 29 0a 0a 20 20 20 20 23 20 46 6f 6c 6c 6f 77 69 6e 67 20 74 77 6f 20 | f._expiry)......#.Following.two. |
22c40 | 6d 65 74 68 6f 64 73 20 61 72 65 20 66 6f 72 20 57 65 62 4b 69 74 20 6f 6e 6c 79 2e 0a 20 20 20 | methods.are.for.WebKit.only..... |
22c60 | 20 23 20 49 20 6d 61 79 20 77 69 73 68 20 74 6f 20 70 75 73 68 20 74 68 65 6d 20 74 6f 20 57 4b | .#.I.may.wish.to.push.them.to.WK |
22c80 | 41 75 74 68 43 6f 6f 6b 69 65 2c 20 62 75 74 20 74 68 65 79 20 61 72 65 20 70 61 72 74 0a 20 20 | AuthCookie,.but.they.are.part... |
22ca0 | 20 20 23 20 6f 66 20 74 68 65 20 41 50 49 20 6e 6f 77 2e 20 4f 68 20 77 65 6c 6c 2e 0a 20 20 20 | ..#.of.the.API.now..Oh.well..... |
22cc0 | 20 64 65 66 20 6e 61 6d 65 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a | .def.name(self):.........#.type: |
22ce0 | 20 28 29 20 2d 3e 20 73 74 72 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 2e 5f | .().->.str.........return.self._ |
22d00 | 6e 61 6d 65 0a 0a 20 20 20 20 64 65 66 20 68 65 61 64 65 72 56 61 6c 75 65 28 73 65 6c 66 29 3a | name......def.headerValue(self): |
22d20 | 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 73 74 72 0a 20 20 20 20 20 | .........#.type:.().->.str...... |
22d40 | 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 2e 76 61 6c 75 65 28 29 0a 94 7d 94 28 8c 03 6d 69 78 | ...return.self.value()..}.(..mix |
22d60 | 94 6a 74 1f 00 00 4b 17 4b 19 87 94 8c 05 75 6e 6d 69 78 94 6a 74 1f 00 00 4b 1c 4b 22 87 94 8c | .jt...K.K.....unmix.jt...K.K"... |
22d80 | 06 75 6e 6d 69 78 33 94 6a 74 1f 00 00 4b 25 4b 2b 87 94 8c 16 41 75 74 68 43 6f 6f 6b 69 65 4a | .unmix3.jt...K%K+....AuthCookieJ |
22da0 | 61 72 2e 5f 5f 69 6e 69 74 5f 5f 94 6a 74 1f 00 00 4b 35 4b 37 87 94 8c 13 41 75 74 68 43 6f 6f | ar.__init__.jt...K5K7....AuthCoo |
22dc0 | 6b 69 65 4a 61 72 2e 5f 68 6d 61 63 94 6a 74 1f 00 00 4b 39 4b 3b 87 94 8c 18 41 75 74 68 43 6f | kieJar._hmac.jt...K9K;....AuthCo |
22de0 | 6f 6b 69 65 4a 61 72 2e 6d 61 6b 65 43 6f 6f 6b 69 65 94 6a 74 1f 00 00 4b 3d 4b 49 87 94 8c 1a | okieJar.makeCookie.jt...K=KI.... |
22e00 | 41 75 74 68 43 6f 6f 6b 69 65 4a 61 72 2e 69 73 47 6f 6f 64 43 6f 6f 6b 69 65 94 6a 74 1f 00 00 | AuthCookieJar.isGoodCookie.jt... |
22e20 | 4b 4b 4b 54 87 94 8c 20 41 75 74 68 43 6f 6f 6b 69 65 4a 61 72 2e 69 73 47 6f 6f 64 43 6f 6f 6b | KKKT....AuthCookieJar.isGoodCook |
22e40 | 69 65 53 74 72 69 6e 67 94 6a 74 1f 00 00 4b 56 4b 69 87 94 8c 0d 41 75 74 68 43 6f 6f 6b 69 65 | ieString.jt...KVKi....AuthCookie |
22e60 | 4a 61 72 94 6a 7d 1f 00 00 4b 31 4b 69 87 94 8c 13 41 75 74 68 43 6f 6f 6b 69 65 2e 5f 5f 69 6e | Jar.j}...K1Ki....AuthCookie.__in |
22e80 | 69 74 5f 5f 94 6a 74 1f 00 00 4b 6e 4b 7e 87 94 8c 11 41 75 74 68 43 6f 6f 6b 69 65 2e 65 78 70 | it__.jt...KnK~....AuthCookie.exp |
22ea0 | 69 72 79 94 6a 74 1f 00 00 4b 80 4b 83 87 94 8c 0f 41 75 74 68 43 6f 6f 6b 69 65 2e 64 61 74 61 | iry.jt...K.K.....AuthCookie.data |
22ec0 | 94 6a 74 1f 00 00 4b 85 4b 88 87 94 8c 0e 41 75 74 68 43 6f 6f 6b 69 65 2e 6d 61 63 94 6a 74 1f | .jt...K.K.....AuthCookie.mac.jt. |
22ee0 | 00 00 4b 8a 4b 8d 87 94 8c 11 41 75 74 68 43 6f 6f 6b 69 65 2e 6f 75 74 70 75 74 94 6a 74 1f 00 | ..K.K.....AuthCookie.output.jt.. |
22f00 | 00 4b 8f 4b 92 87 94 8c 10 41 75 74 68 43 6f 6f 6b 69 65 2e 76 61 6c 75 65 94 6a 74 1f 00 00 4b | .K.K.....AuthCookie.value.jt...K |
22f20 | 94 4b 98 87 94 8c 14 41 75 74 68 43 6f 6f 6b 69 65 2e 69 73 45 78 70 69 72 65 64 94 6a 74 1f 00 | .K.....AuthCookie.isExpired.jt.. |
22f40 | 00 4b 9a 4b 9e 87 94 8c 0f 41 75 74 68 43 6f 6f 6b 69 65 2e 6e 61 6d 65 94 6a 74 1f 00 00 4b a3 | .K.K.....AuthCookie.name.jt...K. |
22f60 | 4b a5 87 94 8c 16 41 75 74 68 43 6f 6f 6b 69 65 2e 68 65 61 64 65 72 56 61 6c 75 65 94 6a 74 1f | K.....AuthCookie.headerValue.jt. |
22f80 | 00 00 4b a7 4b a9 87 94 8c 0a 41 75 74 68 43 6f 6f 6b 69 65 94 6a 7d 1f 00 00 4b 6c 4b a9 87 94 | ..K.K.....AuthCookie.j}...KlK... |
22fa0 | 75 7d 94 28 8c 0a 41 75 74 68 43 6f 6f 6b 69 65 94 6a 53 02 00 00 8c 0f 41 75 74 68 43 6f 6f 6b | u}.(..AuthCookie.jS.....AuthCook |
22fc0 | 69 65 2e 64 61 74 61 94 6a 53 02 00 00 8c 11 41 75 74 68 43 6f 6f 6b 69 65 2e 65 78 70 69 72 79 | ie.data.jS.....AuthCookie.expiry |
22fe0 | 94 6a 53 02 00 00 8c 16 41 75 74 68 43 6f 6f 6b 69 65 2e 68 65 61 64 65 72 56 61 6c 75 65 94 6a | .jS.....AuthCookie.headerValue.j |
23000 | 53 02 00 00 8c 14 41 75 74 68 43 6f 6f 6b 69 65 2e 69 73 45 78 70 69 72 65 64 94 6a 53 02 00 00 | S.....AuthCookie.isExpired.jS... |
23020 | 8c 0e 41 75 74 68 43 6f 6f 6b 69 65 2e 6d 61 63 94 6a 53 02 00 00 8c 0f 41 75 74 68 43 6f 6f 6b | ..AuthCookie.mac.jS.....AuthCook |
23040 | 69 65 2e 6e 61 6d 65 94 6a 53 02 00 00 8c 11 41 75 74 68 43 6f 6f 6b 69 65 2e 6f 75 74 70 75 74 | ie.name.jS.....AuthCookie.output |
23060 | 94 6a 53 02 00 00 8c 10 41 75 74 68 43 6f 6f 6b 69 65 2e 76 61 6c 75 65 94 6a 53 02 00 00 8c 0d | .jS.....AuthCookie.value.jS..... |
23080 | 41 75 74 68 43 6f 6f 6b 69 65 4a 61 72 94 6a 53 02 00 00 8c 1a 41 75 74 68 43 6f 6f 6b 69 65 4a | AuthCookieJar.jS.....AuthCookieJ |
230a0 | 61 72 2e 69 73 47 6f 6f 64 43 6f 6f 6b 69 65 94 6a 53 02 00 00 8c 20 41 75 74 68 43 6f 6f 6b 69 | ar.isGoodCookie.jS.....AuthCooki |
230c0 | 65 4a 61 72 2e 69 73 47 6f 6f 64 43 6f 6f 6b 69 65 53 74 72 69 6e 67 94 6a 53 02 00 00 8c 18 41 | eJar.isGoodCookieString.jS.....A |
230e0 | 75 74 68 43 6f 6f 6b 69 65 4a 61 72 2e 6d 61 6b 65 43 6f 6f 6b 69 65 94 6a 53 02 00 00 8c 03 6d | uthCookieJar.makeCookie.jS.....m |
23100 | 69 78 94 6a 53 02 00 00 8c 05 75 6e 6d 69 78 94 6a 53 02 00 00 8c 06 75 6e 6d 69 78 33 94 6a 53 | ix.jS.....unmix.jS.....unmix3.jS |
23120 | 02 00 00 75 8c 13 4d 32 43 72 79 70 74 6f 2e 41 75 74 68 43 6f 6f 6b 69 65 94 74 94 8c 0c 4d 32 | ...u..M2Crypto.AuthCookie.t...M2 |
23140 | 43 72 79 70 74 6f 2e 42 49 4f 94 28 58 aa 2a 00 00 66 72 6f 6d 20 5f 5f 66 75 74 75 72 65 5f 5f | Crypto.BIO.(X.*..from.__future__ |
23160 | 20 69 6d 70 6f 72 74 20 61 62 73 6f 6c 75 74 65 5f 69 6d 70 6f 72 74 0a 0a 22 22 22 4d 32 43 72 | .import.absolute_import.."""M2Cr |
23180 | 79 70 74 6f 20 77 72 61 70 70 65 72 20 66 6f 72 20 4f 70 65 6e 53 53 4c 20 42 49 4f 20 41 50 49 | ypto.wrapper.for.OpenSSL.BIO.API |
231a0 | 2e 0a 0a 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 39 39 2d 32 30 30 34 20 4e 67 20 50 68 | ...Copyright.(c).1999-2004.Ng.Ph |
231c0 | 65 6e 67 20 53 69 6f 6e 67 2e 20 41 6c 6c 20 72 69 67 68 74 73 20 72 65 73 65 72 76 65 64 2e 22 | eng.Siong..All.rights.reserved." |
231e0 | 22 22 0a 0a 69 6d 70 6f 72 74 20 6c 6f 67 67 69 6e 67 0a 0a 66 72 6f 6d 20 4d 32 43 72 79 70 74 | ""..import.logging..from.M2Crypt |
23200 | 6f 20 69 6d 70 6f 72 74 20 6d 32 2c 20 70 79 32 37 70 6c 75 73 2c 20 73 69 78 0a 69 66 20 70 79 | o.import.m2,.py27plus,.six.if.py |
23220 | 32 37 70 6c 75 73 3a 0a 20 20 20 20 66 72 6f 6d 20 74 79 70 69 6e 67 20 69 6d 70 6f 72 74 20 41 | 27plus:.....from.typing.import.A |
23240 | 6e 79 53 74 72 2c 20 43 61 6c 6c 61 62 6c 65 2c 20 49 74 65 72 61 62 6c 65 2c 20 4f 70 74 69 6f | nyStr,.Callable,.Iterable,.Optio |
23260 | 6e 61 6c 2c 20 55 6e 69 6f 6e 20 20 23 20 6e 6f 71 61 0a 0a 6c 6f 67 20 3d 20 6c 6f 67 67 69 6e | nal,.Union..#.noqa..log.=.loggin |
23280 | 67 2e 67 65 74 4c 6f 67 67 65 72 28 27 42 49 4f 27 29 0a 0a 0a 63 6c 61 73 73 20 42 49 4f 45 72 | g.getLogger('BIO')...class.BIOEr |
232a0 | 72 6f 72 28 56 61 6c 75 65 45 72 72 6f 72 29 3a 0a 20 20 20 20 70 61 73 73 0a 0a 0a 6d 32 2e 62 | ror(ValueError):.....pass...m2.b |
232c0 | 69 6f 5f 69 6e 69 74 28 42 49 4f 45 72 72 6f 72 29 0a 0a 0a 63 6c 61 73 73 20 42 49 4f 28 6f 62 | io_init(BIOError)...class.BIO(ob |
232e0 | 6a 65 63 74 29 3a 0a 20 20 20 20 22 22 22 41 62 73 74 72 61 63 74 20 6f 62 6a 65 63 74 20 69 6e | ject):....."""Abstract.object.in |
23300 | 74 65 72 66 61 63 65 20 74 6f 20 74 68 65 20 42 49 4f 20 41 50 49 2e 22 22 22 0a 0a 20 20 20 20 | terface.to.the.BIO.API."""...... |
23320 | 6d 32 5f 62 69 6f 5f 66 72 65 65 20 3d 20 6d 32 2e 62 69 6f 5f 66 72 65 65 0a 0a 20 20 20 20 64 | m2_bio_free.=.m2.bio_free......d |
23340 | 65 66 20 5f 5f 69 6e 69 74 5f 5f 28 73 65 6c 66 2c 20 62 69 6f 3d 4e 6f 6e 65 2c 20 5f 70 79 66 | ef.__init__(self,.bio=None,._pyf |
23360 | 72 65 65 3d 30 2c 20 5f 63 6c 6f 73 65 5f 63 62 3d 4e 6f 6e 65 29 3a 0a 20 20 20 20 20 20 20 20 | ree=0,._close_cb=None):......... |
23380 | 23 20 74 79 70 65 3a 20 28 4f 70 74 69 6f 6e 61 6c 5b 42 49 4f 5d 2c 20 69 6e 74 2c 20 4f 70 74 | #.type:.(Optional[BIO],.int,.Opt |
233a0 | 69 6f 6e 61 6c 5b 43 61 6c 6c 61 62 6c 65 5d 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 | ional[Callable]).->.None........ |
233c0 | 20 73 65 6c 66 2e 62 69 6f 20 3d 20 62 69 6f 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 70 79 | .self.bio.=.bio.........self._py |
233e0 | 66 72 65 65 20 3d 20 5f 70 79 66 72 65 65 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 63 6c 6f | free.=._pyfree.........self._clo |
23400 | 73 65 5f 63 62 20 3d 20 5f 63 6c 6f 73 65 5f 63 62 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 63 | se_cb.=._close_cb.........self.c |
23420 | 6c 6f 73 65 64 20 3d 20 30 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 77 72 69 74 65 5f 63 6c 6f | losed.=.0.........self.write_clo |
23440 | 73 65 64 20 3d 20 30 0a 0a 20 20 20 20 64 65 66 20 5f 5f 64 65 6c 5f 5f 28 73 65 6c 66 29 3a 0a | sed.=.0......def.__del__(self):. |
23460 | 20 20 20 20 20 20 20 20 69 66 20 73 65 6c 66 2e 5f 70 79 66 72 65 65 3a 0a 20 20 20 20 20 20 20 | ........if.self._pyfree:........ |
23480 | 20 20 20 20 20 73 65 6c 66 2e 6d 32 5f 62 69 6f 5f 66 72 65 65 28 73 65 6c 66 2e 62 69 6f 29 0a | .....self.m2_bio_free(self.bio). |
234a0 | 0a 20 20 20 20 64 65 66 20 5f 70 74 72 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 72 65 74 | .....def._ptr(self):.........ret |
234c0 | 75 72 6e 20 73 65 6c 66 2e 62 69 6f 0a 0a 20 20 20 20 23 20 44 65 70 72 65 63 61 74 65 64 2e 0a | urn.self.bio......#.Deprecated.. |
234e0 | 20 20 20 20 62 69 6f 5f 70 74 72 20 3d 20 5f 70 74 72 0a 0a 20 20 20 20 64 65 66 20 66 69 6c 65 | ....bio_ptr.=._ptr......def.file |
23500 | 6e 6f 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 | no(self):.........#.type:.().->. |
23520 | 69 6e 74 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 62 69 6f 5f 67 65 74 5f 66 64 | int.........return.m2.bio_get_fd |
23540 | 28 73 65 6c 66 2e 62 69 6f 29 0a 0a 20 20 20 20 64 65 66 20 72 65 61 64 61 62 6c 65 28 73 65 6c | (self.bio)......def.readable(sel |
23560 | 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 62 6f 6f 6c 0a 20 | f):.........#.type:.().->.bool.. |
23580 | 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6e 6f 74 20 73 65 6c 66 2e 63 6c 6f 73 65 64 0a 0a 20 | .......return.not.self.closed... |
235a0 | 20 20 20 64 65 66 20 72 65 61 64 28 73 65 6c 66 2c 20 73 69 7a 65 3d 4e 6f 6e 65 29 3a 0a 20 20 | ...def.read(self,.size=None):... |
235c0 | 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 69 6e 74 29 20 2d 3e 20 55 6e 69 6f 6e 5b 62 79 74 | ......#.type:.(int).->.Union[byt |
235e0 | 65 73 2c 20 62 79 74 65 61 72 72 61 79 5d 0a 20 20 20 20 20 20 20 20 69 66 20 6e 6f 74 20 73 65 | es,.bytearray].........if.not.se |
23600 | 6c 66 2e 72 65 61 64 61 62 6c 65 28 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 | lf.readable():.............raise |
23620 | 20 49 4f 45 72 72 6f 72 28 27 63 61 6e 6e 6f 74 20 72 65 61 64 27 29 0a 20 20 20 20 20 20 20 20 | .IOError('cannot.read')......... |
23640 | 69 66 20 73 69 7a 65 20 69 73 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 62 75 66 | if.size.is.None:.............buf |
23660 | 20 3d 20 62 79 74 65 61 72 72 61 79 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 77 68 69 6c 65 | .=.bytearray().............while |
23680 | 20 31 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 61 74 61 20 3d 20 6d 32 2e 62 69 | .1:.................data.=.m2.bi |
236a0 | 6f 5f 72 65 61 64 28 73 65 6c 66 2e 62 69 6f 2c 20 34 30 39 36 29 0a 20 20 20 20 20 20 20 20 20 | o_read(self.bio,.4096).......... |
236c0 | 20 20 20 20 20 20 20 69 66 20 6e 6f 74 20 64 61 74 61 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 | .......if.not.data:............. |
236e0 | 20 20 20 20 20 20 20 20 62 72 65 61 6b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 75 | ........break.................bu |
23700 | 66 20 2b 3d 20 64 61 74 61 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 62 75 66 | f.+=.data.............return.buf |
23720 | 0a 20 20 20 20 20 20 20 20 65 6c 69 66 20 73 69 7a 65 20 3d 3d 20 30 3a 0a 20 20 20 20 20 20 20 | .........elif.size.==.0:........ |
23740 | 20 20 20 20 20 72 65 74 75 72 6e 20 62 27 27 0a 20 20 20 20 20 20 20 20 65 6c 69 66 20 73 69 7a | .....return.b''.........elif.siz |
23760 | 65 20 3c 20 30 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 56 61 6c 75 65 45 72 | e.<.0:.............raise.ValueEr |
23780 | 72 6f 72 28 27 72 65 61 64 20 63 6f 75 6e 74 20 69 73 20 6e 65 67 61 74 69 76 65 27 29 0a 20 20 | ror('read.count.is.negative')... |
237a0 | 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 62 | ......else:.............return.b |
237c0 | 79 74 65 73 28 6d 32 2e 62 69 6f 5f 72 65 61 64 28 73 65 6c 66 2e 62 69 6f 2c 20 73 69 7a 65 29 | ytes(m2.bio_read(self.bio,.size) |
237e0 | 29 0a 0a 20 20 20 20 64 65 66 20 72 65 61 64 6c 69 6e 65 28 73 65 6c 66 2c 20 73 69 7a 65 3d 34 | )......def.readline(self,.size=4 |
23800 | 30 39 36 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 69 6e 74 29 20 2d 3e 20 62 | 096):.........#.type:.(int).->.b |
23820 | 79 74 65 73 0a 20 20 20 20 20 20 20 20 69 66 20 6e 6f 74 20 73 65 6c 66 2e 72 65 61 64 61 62 6c | ytes.........if.not.self.readabl |
23840 | 65 28 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 49 4f 45 72 72 6f 72 28 27 | e():.............raise.IOError(' |
23860 | 63 61 6e 6e 6f 74 20 72 65 61 64 27 29 0a 20 20 20 20 20 20 20 20 62 75 66 20 3d 20 6d 32 2e 62 | cannot.read').........buf.=.m2.b |
23880 | 69 6f 5f 67 65 74 73 28 73 65 6c 66 2e 62 69 6f 2c 20 73 69 7a 65 29 0a 20 20 20 20 20 20 20 20 | io_gets(self.bio,.size)......... |
238a0 | 62 75 66 20 3d 20 27 27 20 69 66 20 62 75 66 20 69 73 20 4e 6f 6e 65 20 65 6c 73 65 20 62 75 66 | buf.=.''.if.buf.is.None.else.buf |
238c0 | 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 69 78 2e 65 6e 73 75 72 65 5f 62 69 6e 61 72 | .........return.six.ensure_binar |
238e0 | 79 28 62 75 66 29 0a 0a 20 20 20 20 64 65 66 20 72 65 61 64 6c 69 6e 65 73 28 73 65 6c 66 2c 20 | y(buf)......def.readlines(self,. |
23900 | 73 69 7a 65 68 69 6e 74 3d 27 69 67 6e 6f 72 65 64 27 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 | sizehint='ignored'):.........#.t |
23920 | 79 70 65 3a 20 28 55 6e 69 6f 6e 5b 41 6e 79 53 74 72 2c 20 69 6e 74 5d 29 20 2d 3e 20 49 74 65 | ype:.(Union[AnyStr,.int]).->.Ite |
23940 | 72 61 62 6c 65 5b 62 79 74 65 73 5d 0a 20 20 20 20 20 20 20 20 69 66 20 6e 6f 74 20 73 65 6c 66 | rable[bytes].........if.not.self |
23960 | 2e 72 65 61 64 61 62 6c 65 28 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 49 | .readable():.............raise.I |
23980 | 4f 45 72 72 6f 72 28 27 63 61 6e 6e 6f 74 20 72 65 61 64 27 29 0a 20 20 20 20 20 20 20 20 6c 69 | OError('cannot.read').........li |
239a0 | 6e 65 73 20 3d 20 5b 5d 0a 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 31 3a 0a 20 20 20 20 20 20 | nes.=.[].........while.1:....... |
239c0 | 20 20 20 20 20 20 62 75 66 20 3d 20 6d 32 2e 62 69 6f 5f 67 65 74 73 28 73 65 6c 66 2e 62 69 6f | ......buf.=.m2.bio_gets(self.bio |
239e0 | 2c 20 34 30 39 36 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 62 75 66 20 69 73 20 4e 6f | ,.4096).............if.buf.is.No |
23a00 | 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 0a 20 20 20 20 20 20 | ne:.................break....... |
23a20 | 20 20 20 20 20 20 6c 69 6e 65 73 2e 61 70 70 65 6e 64 28 73 69 78 2e 65 6e 73 75 72 65 5f 62 69 | ......lines.append(six.ensure_bi |
23a40 | 6e 61 72 79 28 62 75 66 29 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6c 69 6e 65 73 0a | nary(buf)).........return.lines. |
23a60 | 0a 20 20 20 20 64 65 66 20 77 72 69 74 65 61 62 6c 65 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 | .....def.writeable(self):....... |
23a80 | 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 62 6f 6f 6c 0a 20 20 20 20 20 20 20 20 72 65 74 | ..#.type:.().->.bool.........ret |
23aa0 | 75 72 6e 20 28 6e 6f 74 20 73 65 6c 66 2e 63 6c 6f 73 65 64 29 20 61 6e 64 20 28 6e 6f 74 20 73 | urn.(not.self.closed).and.(not.s |
23ac0 | 65 6c 66 2e 77 72 69 74 65 5f 63 6c 6f 73 65 64 29 0a 0a 20 20 20 20 64 65 66 20 77 72 69 74 65 | elf.write_closed)......def.write |
23ae0 | 28 73 65 6c 66 2c 20 64 61 74 61 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 41 | (self,.data):.........#.type:.(A |
23b00 | 6e 79 53 74 72 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 22 22 22 57 72 69 74 65 20 64 | nyStr).->.int........."""Write.d |
23b20 | 61 74 61 20 74 6f 20 42 49 4f 2e 0a 0a 20 20 20 20 20 20 20 20 3a 72 65 74 75 72 6e 3a 20 65 69 | ata.to.BIO...........:return:.ei |
23b40 | 74 68 65 72 20 64 61 74 61 20 77 72 69 74 74 65 6e 2c 20 6f 72 20 5b 30 2c 20 2d 31 5d 20 66 6f | ther.data.written,.or.[0,.-1].fo |
23b60 | 72 20 6e 6f 74 68 69 6e 67 20 77 72 69 74 74 65 6e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | r.nothing.written,.............. |
23b80 | 20 20 20 20 2d 32 20 6e 6f 74 20 69 6d 70 6c 65 6d 65 6e 74 65 64 0a 20 20 20 20 20 20 20 20 22 | ....-2.not.implemented........." |
23ba0 | 22 22 0a 20 20 20 20 20 20 20 20 69 66 20 6e 6f 74 20 73 65 6c 66 2e 77 72 69 74 65 61 62 6c 65 | "".........if.not.self.writeable |
23bc0 | 28 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 49 4f 45 72 72 6f 72 28 27 63 | ():.............raise.IOError('c |
23be0 | 61 6e 6e 6f 74 20 77 72 69 74 65 27 29 0a 20 20 20 20 20 20 20 20 69 66 20 69 73 69 6e 73 74 61 | annot.write').........if.isinsta |
23c00 | 6e 63 65 28 64 61 74 61 2c 20 73 69 78 2e 74 65 78 74 5f 74 79 70 65 29 3a 0a 20 20 20 20 20 20 | nce(data,.six.text_type):....... |
23c20 | 20 20 20 20 20 20 64 61 74 61 20 3d 20 64 61 74 61 2e 65 6e 63 6f 64 65 28 27 75 74 66 38 27 29 | ......data.=.data.encode('utf8') |
23c40 | 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 62 69 6f 5f 77 72 69 74 65 28 73 65 6c | .........return.m2.bio_write(sel |
23c60 | 66 2e 62 69 6f 2c 20 64 61 74 61 29 0a 0a 20 20 20 20 64 65 66 20 77 72 69 74 65 5f 63 6c 6f 73 | f.bio,.data)......def.write_clos |
23c80 | 65 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 4e | e(self):.........#.type:.().->.N |
23ca0 | 6f 6e 65 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 77 72 69 74 65 5f 63 6c 6f 73 65 64 20 3d 20 | one.........self.write_closed.=. |
23cc0 | 31 0a 0a 20 20 20 20 64 65 66 20 66 6c 75 73 68 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 | 1......def.flush(self):......... |
23ce0 | 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 22 22 22 46 6c | #.type:.().->.None........."""Fl |
23d00 | 75 73 68 20 74 68 65 20 62 75 66 66 65 72 73 2e 0a 0a 20 20 20 20 20 20 20 20 3a 72 65 74 75 72 | ush.the.buffers...........:retur |
23d20 | 6e 3a 20 31 20 66 6f 72 20 73 75 63 63 65 73 73 2c 20 61 6e 64 20 30 20 6f 72 20 2d 31 20 66 6f | n:.1.for.success,.and.0.or.-1.fo |
23d40 | 72 20 66 61 69 6c 75 72 65 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 6d 32 | r.failure.........""".........m2 |
23d60 | 2e 62 69 6f 5f 66 6c 75 73 68 28 73 65 6c 66 2e 62 69 6f 29 0a 0a 20 20 20 20 64 65 66 20 72 65 | .bio_flush(self.bio)......def.re |
23d80 | 73 65 74 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e | set(self):.........#.type:.().-> |
23da0 | 20 69 6e 74 0a 20 20 20 20 20 20 20 20 22 22 22 53 65 74 20 74 68 65 20 62 69 6f 20 74 6f 20 69 | .int........."""Set.the.bio.to.i |
23dc0 | 74 73 20 69 6e 69 74 69 61 6c 20 73 74 61 74 65 2e 0a 0a 20 20 20 20 20 20 20 20 3a 72 65 74 75 | ts.initial.state...........:retu |
23de0 | 72 6e 3a 20 31 20 66 6f 72 20 73 75 63 63 65 73 73 2c 20 61 6e 64 20 30 20 6f 72 20 2d 31 20 66 | rn:.1.for.success,.and.0.or.-1.f |
23e00 | 6f 72 20 66 61 69 6c 75 72 65 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 72 | or.failure.........""".........r |
23e20 | 65 74 75 72 6e 20 6d 32 2e 62 69 6f 5f 72 65 73 65 74 28 73 65 6c 66 2e 62 69 6f 29 0a 0a 20 20 | eturn.m2.bio_reset(self.bio).... |
23e40 | 20 20 64 65 66 20 63 6c 6f 73 65 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 | ..def.close(self):.........#.typ |
23e60 | 65 3a 20 28 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 63 6c 6f 73 65 | e:.().->.None.........self.close |
23e80 | 64 20 3d 20 31 0a 20 20 20 20 20 20 20 20 69 66 20 73 65 6c 66 2e 5f 63 6c 6f 73 65 5f 63 62 3a | d.=.1.........if.self._close_cb: |
23ea0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 63 6c 6f 73 65 5f 63 62 28 29 0a 0a 20 | .............self._close_cb()... |
23ec0 | 20 20 20 64 65 66 20 73 68 6f 75 6c 64 5f 72 65 74 72 79 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 | ...def.should_retry(self):...... |
23ee0 | 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 22 22 22 | ...#.type:.().->.int.........""" |
23f00 | 0a 20 20 20 20 20 20 20 20 43 61 6e 20 74 68 65 20 63 61 6c 6c 20 62 65 20 61 74 74 65 6d 70 74 | .........Can.the.call.be.attempt |
23f20 | 65 64 20 61 67 61 69 6e 2c 20 6f 72 20 77 61 73 20 74 68 65 72 65 20 61 6e 20 65 72 72 6f 72 0a | ed.again,.or.was.there.an.error. |
23f40 | 20 20 20 20 20 20 20 20 69 65 20 64 6f 5f 68 61 6e 64 73 68 61 6b 65 0a 0a 20 20 20 20 20 20 20 | ........ie.do_handshake......... |
23f60 | 20 22 22 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 62 69 6f 5f 73 68 6f 75 6c | .""".........return.m2.bio_shoul |
23f80 | 64 5f 72 65 74 72 79 28 73 65 6c 66 2e 62 69 6f 29 0a 0a 20 20 20 20 64 65 66 20 73 68 6f 75 6c | d_retry(self.bio)......def.shoul |
23fa0 | 64 5f 72 65 61 64 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 | d_read(self):.........#.type:.() |
23fc0 | 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 22 22 22 53 68 6f 75 6c 64 20 77 65 20 72 65 61 | .->.int........."""Should.we.rea |
23fe0 | 64 20 6d 6f 72 65 20 64 61 74 61 3f 22 22 22 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 | d.more.data?"""..........return. |
24000 | 6d 32 2e 62 69 6f 5f 73 68 6f 75 6c 64 5f 72 65 61 64 28 73 65 6c 66 2e 62 69 6f 29 0a 0a 20 20 | m2.bio_should_read(self.bio).... |
24020 | 20 20 64 65 66 20 73 68 6f 75 6c 64 5f 77 72 69 74 65 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 | ..def.should_write(self):....... |
24040 | 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 22 22 22 53 | ..#.type:.().->.int........."""S |
24060 | 68 6f 75 6c 64 20 77 65 20 77 72 69 74 65 20 6d 6f 72 65 20 64 61 74 61 3f 22 22 22 0a 20 20 20 | hould.we.write.more.data?""".... |
24080 | 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 62 69 6f 5f 73 68 6f 75 6c 64 5f 77 72 69 74 65 28 | .....return.m2.bio_should_write( |
240a0 | 73 65 6c 66 2e 62 69 6f 29 0a 0a 20 20 20 20 64 65 66 20 74 65 6c 6c 28 73 65 6c 66 29 3a 0a 20 | self.bio)......def.tell(self):.. |
240c0 | 20 20 20 20 20 20 20 22 22 22 52 65 74 75 72 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 6f 66 66 | ......."""Return.the.current.off |
240e0 | 73 65 74 2e 22 22 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 62 69 6f 5f 74 65 | set.""".........return.m2.bio_te |
24100 | 6c 6c 28 73 65 6c 66 2e 62 69 6f 29 0a 0a 20 20 20 20 64 65 66 20 73 65 65 6b 28 73 65 6c 66 2c | ll(self.bio)......def.seek(self, |
24120 | 20 6f 66 66 29 3a 0a 20 20 20 20 20 20 20 20 22 22 22 53 65 65 6b 20 74 6f 20 74 68 65 20 73 70 | .off):........."""Seek.to.the.sp |
24140 | 65 63 69 66 69 65 64 20 61 62 73 6f 6c 75 74 65 20 6f 66 66 73 65 74 2e 22 22 22 0a 20 20 20 20 | ecified.absolute.offset."""..... |
24160 | 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 62 69 6f 5f 73 65 65 6b 28 73 65 6c 66 2e 62 69 6f 2c | ....return.m2.bio_seek(self.bio, |
24180 | 20 6f 66 66 29 0a 0a 20 20 20 20 64 65 66 20 5f 5f 65 6e 74 65 72 5f 5f 28 73 65 6c 66 29 3a 0a | .off)......def.__enter__(self):. |
241a0 | 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 0a 0a 20 20 20 20 64 65 66 20 5f 5f 65 | ........return.self......def.__e |
241c0 | 78 69 74 5f 5f 28 73 65 6c 66 2c 20 2a 61 72 67 73 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 | xit__(self,.*args):.........#.ty |
241e0 | 70 65 3a 20 28 2a 41 6e 79 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 63 | pe:.(*Any).->.int.........self.c |
24200 | 6c 6f 73 65 28 29 0a 0a 0a 63 6c 61 73 73 20 4d 65 6d 6f 72 79 42 75 66 66 65 72 28 42 49 4f 29 | lose()...class.MemoryBuffer(BIO) |
24220 | 3a 0a 20 20 20 20 22 22 22 4f 62 6a 65 63 74 20 69 6e 74 65 72 66 61 63 65 20 74 6f 20 42 49 4f | :....."""Object.interface.to.BIO |
24240 | 5f 73 5f 6d 65 6d 2e 0a 0a 20 20 20 20 45 6d 70 69 72 69 63 61 6c 20 74 65 73 74 69 6e 67 20 73 | _s_mem.......Empirical.testing.s |
24260 | 75 67 67 65 73 74 73 20 74 68 61 74 20 74 68 69 73 20 63 6c 61 73 73 20 70 65 72 66 6f 72 6d 73 | uggests.that.this.class.performs |
24280 | 20 6c 65 73 73 20 77 65 6c 6c 20 74 68 61 6e 0a 20 20 20 20 63 53 74 72 69 6e 67 49 4f 2c 20 62 | .less.well.than.....cStringIO,.b |
242a0 | 65 63 61 75 73 65 20 63 53 74 72 69 6e 67 49 4f 20 69 73 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 | ecause.cStringIO.is.implemented. |
242c0 | 69 6e 20 43 2c 20 77 68 65 72 65 61 73 20 74 68 69 73 20 63 6c 61 73 73 0a 20 20 20 20 69 73 20 | in.C,.whereas.this.class.....is. |
242e0 | 69 6d 70 6c 65 6d 65 6e 74 65 64 20 69 6e 20 50 79 74 68 6f 6e 2e 20 54 68 75 73 2c 20 74 68 65 | implemented.in.Python..Thus,.the |
24300 | 20 72 65 63 6f 6d 6d 65 6e 64 65 64 20 70 72 61 63 74 69 63 65 20 69 73 20 74 6f 20 75 73 65 0a | .recommended.practice.is.to.use. |
24320 | 20 20 20 20 63 53 74 72 69 6e 67 49 4f 20 66 6f 72 20 72 65 67 75 6c 61 72 20 77 6f 72 6b 20 61 | ....cStringIO.for.regular.work.a |
24340 | 6e 64 20 63 6f 6e 76 65 72 74 20 73 61 69 64 20 63 53 74 72 69 6e 67 49 4f 20 6f 62 6a 65 63 74 | nd.convert.said.cStringIO.object |
24360 | 20 74 6f 0a 20 20 20 20 61 20 4d 65 6d 6f 72 79 42 75 66 66 65 72 20 6f 62 6a 65 63 74 20 6f 6e | .to.....a.MemoryBuffer.object.on |
24380 | 6c 79 20 77 68 65 6e 20 6e 65 63 65 73 73 61 72 79 2e 0a 20 20 20 20 22 22 22 0a 0a 20 20 20 20 | ly.when.necessary......"""...... |
243a0 | 64 65 66 20 5f 5f 69 6e 69 74 5f 5f 28 73 65 6c 66 2c 20 64 61 74 61 3d 4e 6f 6e 65 29 3a 0a 20 | def.__init__(self,.data=None):.. |
243c0 | 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 4f 70 74 69 6f 6e 61 6c 5b 62 79 74 65 73 5d 29 | .......#.type:.(Optional[bytes]) |
243e0 | 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 73 75 70 65 72 28 4d 65 6d 6f 72 79 42 75 66 | .->.None.........super(MemoryBuf |
24400 | 66 65 72 2c 20 73 65 6c 66 29 2e 5f 5f 69 6e 69 74 5f 5f 28 73 65 6c 66 29 0a 20 20 20 20 20 20 | fer,.self).__init__(self)....... |
24420 | 20 20 69 66 20 64 61 74 61 20 69 73 20 6e 6f 74 20 4e 6f 6e 65 20 61 6e 64 20 6e 6f 74 20 69 73 | ..if.data.is.not.None.and.not.is |
24440 | 69 6e 73 74 61 6e 63 65 28 64 61 74 61 2c 20 62 79 74 65 73 29 3a 0a 20 20 20 20 20 20 20 20 20 | instance(data,.bytes):.......... |
24460 | 20 20 20 72 61 69 73 65 20 54 79 70 65 45 72 72 6f 72 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ...raise.TypeError(............. |
24480 | 20 20 20 20 22 64 61 74 61 20 6d 75 73 74 20 62 65 20 62 79 74 65 73 20 6f 72 20 4e 6f 6e 65 2c | ...."data.must.be.bytes.or.None, |
244a0 | 20 6e 6f 74 20 25 73 22 20 25 20 28 74 79 70 65 28 64 61 74 61 29 2e 5f 5f 6e 61 6d 65 5f 5f 2c | .not.%s".%.(type(data).__name__, |
244c0 | 20 29 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 62 69 6f 20 3d 20 6d 32 2e 62 69 6f 5f 6e 65 | .)).........self.bio.=.m2.bio_ne |
244e0 | 77 28 6d 32 2e 62 69 6f 5f 73 5f 6d 65 6d 28 29 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 5f | w(m2.bio_s_mem()).........self._ |
24500 | 70 79 66 72 65 65 20 3d 20 31 0a 20 20 20 20 20 20 20 20 69 66 20 64 61 74 61 20 69 73 20 6e 6f | pyfree.=.1.........if.data.is.no |
24520 | 74 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 6d 32 2e 62 69 6f 5f 77 72 69 74 65 | t.None:.............m2.bio_write |
24540 | 28 73 65 6c 66 2e 62 69 6f 2c 20 64 61 74 61 29 0a 0a 20 20 20 20 64 65 66 20 5f 5f 6c 65 6e 5f | (self.bio,.data)......def.__len_ |
24560 | 5f 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 69 | _(self):.........#.type:.().->.i |
24580 | 6e 74 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 62 69 6f 5f 63 74 72 6c 5f 70 65 | nt.........return.m2.bio_ctrl_pe |
245a0 | 6e 64 69 6e 67 28 73 65 6c 66 2e 62 69 6f 29 0a 0a 20 20 20 20 64 65 66 20 72 65 61 64 28 73 65 | nding(self.bio)......def.read(se |
245c0 | 6c 66 2c 20 73 69 7a 65 3d 30 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 69 6e | lf,.size=0):.........#.type:.(in |
245e0 | 74 29 20 2d 3e 20 62 79 74 65 73 0a 20 20 20 20 20 20 20 20 69 66 20 6e 6f 74 20 73 65 6c 66 2e | t).->.bytes.........if.not.self. |
24600 | 72 65 61 64 61 62 6c 65 28 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 49 4f | readable():.............raise.IO |
24620 | 45 72 72 6f 72 28 27 63 61 6e 6e 6f 74 20 72 65 61 64 27 29 0a 20 20 20 20 20 20 20 20 69 66 20 | Error('cannot.read').........if. |
24640 | 73 69 7a 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 62 69 6f 5f | size:.............return.m2.bio_ |
24660 | 72 65 61 64 28 73 65 6c 66 2e 62 69 6f 2c 20 73 69 7a 65 29 0a 20 20 20 20 20 20 20 20 65 6c 73 | read(self.bio,.size).........els |
24680 | 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 62 69 6f 5f 72 65 61 | e:.............return.m2.bio_rea |
246a0 | 64 28 73 65 6c 66 2e 62 69 6f 2c 20 6d 32 2e 62 69 6f 5f 63 74 72 6c 5f 70 65 6e 64 69 6e 67 28 | d(self.bio,.m2.bio_ctrl_pending( |
246c0 | 73 65 6c 66 2e 62 69 6f 29 29 0a 0a 20 20 20 20 23 20 42 61 63 6b 77 61 72 64 73 2d 63 6f 6d 70 | self.bio))......#.Backwards-comp |
246e0 | 61 74 69 62 69 6c 69 74 79 2e 0a 20 20 20 20 67 65 74 76 61 6c 75 65 20 3d 20 72 65 61 64 5f 61 | atibility......getvalue.=.read_a |
24700 | 6c 6c 20 3d 20 72 65 61 64 0a 0a 20 20 20 20 64 65 66 20 77 72 69 74 65 5f 63 6c 6f 73 65 28 73 | ll.=.read......def.write_close(s |
24720 | 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 4e 6f 6e 65 | elf):.........#.type:.().->.None |
24740 | 0a 20 20 20 20 20 20 20 20 73 75 70 65 72 28 4d 65 6d 6f 72 79 42 75 66 66 65 72 2c 20 73 65 6c | .........super(MemoryBuffer,.sel |
24760 | 66 29 2e 77 72 69 74 65 5f 63 6c 6f 73 65 28 29 0a 20 20 20 20 20 20 20 20 6d 32 2e 62 69 6f 5f | f).write_close().........m2.bio_ |
24780 | 73 65 74 5f 6d 65 6d 5f 65 6f 66 5f 72 65 74 75 72 6e 28 73 65 6c 66 2e 62 69 6f 2c 20 30 29 0a | set_mem_eof_return(self.bio,.0). |
247a0 | 0a 20 20 20 20 63 6c 6f 73 65 20 3d 20 77 72 69 74 65 5f 63 6c 6f 73 65 0a 0a 0a 63 6c 61 73 73 | .....close.=.write_close...class |
247c0 | 20 46 69 6c 65 28 42 49 4f 29 3a 0a 20 20 20 20 22 22 22 4f 62 6a 65 63 74 20 69 6e 74 65 72 66 | .File(BIO):....."""Object.interf |
247e0 | 61 63 65 20 74 6f 20 42 49 4f 5f 73 5f 70 79 66 64 2e 0a 0a 20 20 20 20 54 68 69 73 20 63 6c 61 | ace.to.BIO_s_pyfd.......This.cla |
24800 | 73 73 20 69 6e 74 65 72 66 61 63 65 73 20 50 79 74 68 6f 6e 20 74 6f 20 4f 70 65 6e 53 53 4c 20 | ss.interfaces.Python.to.OpenSSL. |
24820 | 66 75 6e 63 74 69 6f 6e 73 20 74 68 61 74 20 65 78 70 65 63 74 20 42 49 4f 2e 20 46 6f 72 0a 20 | functions.that.expect.BIO..For.. |
24840 | 20 20 20 67 65 6e 65 72 61 6c 20 66 69 6c 65 20 6d 61 6e 69 70 75 6c 61 74 69 6f 6e 20 69 6e 20 | ...general.file.manipulation.in. |
24860 | 50 79 74 68 6f 6e 2c 20 75 73 65 20 50 79 74 68 6f 6e 27 73 20 62 75 69 6c 74 69 6e 20 66 69 6c | Python,.use.Python's.builtin.fil |
24880 | 65 20 6f 62 6a 65 63 74 2e 0a 20 20 20 20 22 22 22 0a 0a 20 20 20 20 64 65 66 20 5f 5f 69 6e 69 | e.object......"""......def.__ini |
248a0 | 74 5f 5f 28 73 65 6c 66 2c 20 70 79 66 69 6c 65 2c 20 63 6c 6f 73 65 5f 70 79 66 69 6c 65 3d 31 | t__(self,.pyfile,.close_pyfile=1 |
248c0 | 2c 20 6d 6f 64 65 3d 27 72 62 27 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 55 | ,.mode='rb'):.........#.type:.(U |
248e0 | 6e 69 6f 6e 5b 69 6f 2e 42 79 74 65 73 49 4f 2c 20 41 6e 79 53 74 72 5d 2c 20 69 6e 74 2c 20 41 | nion[io.BytesIO,.AnyStr],.int,.A |
24900 | 6e 79 53 74 72 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 73 75 70 65 72 28 46 69 6c | nyStr).->.None.........super(Fil |
24920 | 65 2c 20 73 65 6c 66 29 2e 5f 5f 69 6e 69 74 5f 5f 28 73 65 6c 66 2c 20 5f 70 79 66 72 65 65 3d | e,.self).__init__(self,._pyfree= |
24940 | 31 29 0a 0a 20 20 20 20 20 20 20 20 69 66 20 69 73 69 6e 73 74 61 6e 63 65 28 70 79 66 69 6c 65 | 1)..........if.isinstance(pyfile |
24960 | 2c 20 73 69 78 2e 73 74 72 69 6e 67 5f 74 79 70 65 73 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 | ,.six.string_types):............ |
24980 | 20 70 79 66 69 6c 65 20 3d 20 6f 70 65 6e 28 70 79 66 69 6c 65 2c 20 6d 6f 64 65 29 0a 0a 20 20 | .pyfile.=.open(pyfile,.mode).... |
249a0 | 20 20 20 20 20 20 23 20 54 68 69 73 20 69 73 20 66 6f 72 20 64 6f 77 6e 77 61 72 64 20 63 6f 6d | ......#.This.is.for.downward.com |
249c0 | 70 61 74 69 62 69 6c 69 74 79 2c 20 62 75 74 20 49 20 64 6f 6e 27 74 20 74 68 69 6e 6b 2c 20 74 | patibility,.but.I.don't.think,.t |
249e0 | 68 61 74 20 69 74 20 69 73 0a 20 20 20 20 20 20 20 20 23 20 67 6f 6f 64 20 70 72 61 63 74 69 63 | hat.it.is.........#.good.practic |
24a00 | 65 20 74 6f 20 68 61 76 65 20 74 77 6f 20 68 61 6e 64 6c 65 73 20 66 6f 72 20 74 68 65 20 73 61 | e.to.have.two.handles.for.the.sa |
24a20 | 6d 65 20 66 69 6c 65 2e 20 57 68 61 74 73 20 61 62 6f 75 74 0a 20 20 20 20 20 20 20 20 23 20 63 | me.file..Whats.about.........#.c |
24a40 | 6f 6e 63 75 72 72 65 6e 74 20 77 72 69 74 65 20 61 63 63 65 73 73 3f 20 4c 61 73 74 20 77 72 69 | oncurrent.write.access?.Last.wri |
24a60 | 74 65 2c 20 6c 61 73 74 20 77 69 6e 73 3f 20 45 73 70 65 63 69 61 6c 6c 79 20 73 69 6e 63 65 20 | te,.last.wins?.Especially.since. |
24a80 | 50 79 33 0a 20 20 20 20 20 20 20 20 23 20 68 61 73 20 69 74 73 20 6f 77 6e 20 62 75 66 66 65 72 | Py3.........#.has.its.own.buffer |
24aa0 | 20 6d 61 6e 61 67 65 6d 65 6e 74 2e 20 53 65 65 3a 0a 20 20 20 20 20 20 20 20 23 0a 20 20 20 20 | .management..See:.........#..... |
24ac0 | 20 20 20 20 23 20 20 68 74 74 70 73 3a 2f 2f 64 6f 63 73 2e 70 79 74 68 6f 6e 2e 6f 72 67 2f 33 | ....#..https://docs.python.org/3 |
24ae0 | 2e 33 2f 63 2d 61 70 69 2f 66 69 6c 65 2e 68 74 6d 6c 0a 20 20 20 20 20 20 20 20 23 0a 20 20 20 | .3/c-api/file.html.........#.... |
24b00 | 20 20 20 20 20 70 79 66 69 6c 65 2e 66 6c 75 73 68 28 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 | .....pyfile.flush().........self |
24b20 | 2e 66 6e 61 6d 65 20 3d 20 70 79 66 69 6c 65 2e 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 73 65 6c | .fname.=.pyfile.name.........sel |
24b40 | 66 2e 70 79 66 69 6c 65 20 3d 20 70 79 66 69 6c 65 0a 20 20 20 20 20 20 20 20 23 20 42 65 20 77 | f.pyfile.=.pyfile.........#.Be.w |
24b60 | 61 72 79 20 6f 66 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 6f 70 65 6e 73 73 | ary.of.https://github.com/openss |
24b80 | 6c 2f 6f 70 65 6e 73 73 6c 2f 70 75 6c 6c 2f 31 39 32 35 0a 20 20 20 20 20 20 20 20 23 20 42 49 | l/openssl/pull/1925.........#.BI |
24ba0 | 4f 5f 6e 65 77 5f 66 64 20 69 73 20 4e 45 56 45 52 20 74 6f 20 62 65 20 75 73 65 64 20 62 65 66 | O_new_fd.is.NEVER.to.be.used.bef |
24bc0 | 6f 72 65 20 4f 70 65 6e 53 53 4c 20 31 2e 31 2e 31 0a 20 20 20 20 20 20 20 20 69 66 20 68 61 73 | ore.OpenSSL.1.1.1.........if.has |
24be0 | 61 74 74 72 28 6d 32 2c 20 22 62 69 6f 5f 6e 65 77 5f 70 79 66 64 22 29 3a 0a 20 20 20 20 20 20 | attr(m2,."bio_new_pyfd"):....... |
24c00 | 20 20 20 20 20 20 73 65 6c 66 2e 62 69 6f 20 3d 20 6d 32 2e 62 69 6f 5f 6e 65 77 5f 70 79 66 64 | ......self.bio.=.m2.bio_new_pyfd |
24c20 | 28 70 79 66 69 6c 65 2e 66 69 6c 65 6e 6f 28 29 2c 20 6d 32 2e 62 69 6f 5f 6e 6f 63 6c 6f 73 65 | (pyfile.fileno(),.m2.bio_noclose |
24c40 | 29 0a 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 | ).........else:.............self |
24c60 | 2e 62 69 6f 20 3d 20 6d 32 2e 62 69 6f 5f 6e 65 77 5f 70 79 66 69 6c 65 28 70 79 66 69 6c 65 2c | .bio.=.m2.bio_new_pyfile(pyfile, |
24c80 | 20 6d 32 2e 62 69 6f 5f 6e 6f 63 6c 6f 73 65 29 0a 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 63 | .m2.bio_noclose)..........self.c |
24ca0 | 6c 6f 73 65 5f 70 79 66 69 6c 65 20 3d 20 63 6c 6f 73 65 5f 70 79 66 69 6c 65 0a 20 20 20 20 20 | lose_pyfile.=.close_pyfile...... |
24cc0 | 20 20 20 73 65 6c 66 2e 63 6c 6f 73 65 64 20 3d 20 46 61 6c 73 65 0a 0a 20 20 20 20 64 65 66 20 | ...self.closed.=.False......def. |
24ce0 | 66 6c 75 73 68 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 | flush(self):.........#.type:.(). |
24d00 | 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 73 75 70 65 72 28 46 69 6c 65 2c 20 73 65 6c 66 | ->.None.........super(File,.self |
24d20 | 29 2e 66 6c 75 73 68 28 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 70 79 66 69 6c 65 2e 66 6c | ).flush().........self.pyfile.fl |
24d40 | 75 73 68 28 29 0a 0a 20 20 20 20 64 65 66 20 63 6c 6f 73 65 28 73 65 6c 66 29 3a 0a 20 20 20 20 | ush()......def.close(self):..... |
24d60 | 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 73 | ....#.type:.().->.None.........s |
24d80 | 65 6c 66 2e 66 6c 75 73 68 28 29 0a 20 20 20 20 20 20 20 20 73 75 70 65 72 28 46 69 6c 65 2c 20 | elf.flush().........super(File,. |
24da0 | 73 65 6c 66 29 2e 63 6c 6f 73 65 28 29 0a 20 20 20 20 20 20 20 20 69 66 20 73 65 6c 66 2e 63 6c | self).close().........if.self.cl |
24dc0 | 6f 73 65 5f 70 79 66 69 6c 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 70 79 66 | ose_pyfile:.............self.pyf |
24de0 | 69 6c 65 2e 63 6c 6f 73 65 28 29 0a 0a 20 20 20 20 64 65 66 20 72 65 73 65 74 28 73 65 6c 66 29 | ile.close()......def.reset(self) |
24e00 | 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 | :.........#.type:.().->.int..... |
24e20 | 20 20 20 20 22 22 22 53 65 74 20 74 68 65 20 62 69 6f 20 74 6f 20 69 74 73 20 69 6e 69 74 69 61 | ...."""Set.the.bio.to.its.initia |
24e40 | 6c 20 73 74 61 74 65 2e 0a 0a 20 20 20 20 20 20 20 20 3a 72 65 74 75 72 6e 3a 20 30 20 66 6f 72 | l.state...........:return:.0.for |
24e60 | 20 73 75 63 63 65 73 73 2c 20 61 6e 64 20 2d 31 20 66 6f 72 20 66 61 69 6c 75 72 65 0a 20 20 20 | .success,.and.-1.for.failure.... |
24e80 | 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 75 70 65 72 28 46 69 | .....""".........return.super(Fi |
24ea0 | 6c 65 2c 20 73 65 6c 66 29 2e 72 65 73 65 74 28 29 0a 0a 20 20 20 20 64 65 66 20 5f 5f 64 65 6c | le,.self).reset()......def.__del |
24ec0 | 5f 5f 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 69 66 20 6e 6f 74 20 73 65 6c 66 2e 63 6c | __(self):.........if.not.self.cl |
24ee0 | 6f 73 65 64 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 6d 32 2e 62 69 6f 5f 66 72 65 65 28 73 65 | osed:.............m2.bio_free(se |
24f00 | 6c 66 2e 62 69 6f 29 0a 0a 0a 64 65 66 20 6f 70 65 6e 66 69 6c 65 28 66 69 6c 65 6e 61 6d 65 2c | lf.bio)...def.openfile(filename, |
24f20 | 20 6d 6f 64 65 3d 27 72 62 27 29 3a 0a 20 20 20 20 23 20 74 79 70 65 3a 20 28 41 6e 79 53 74 72 | .mode='rb'):.....#.type:.(AnyStr |
24f40 | 2c 20 41 6e 79 53 74 72 29 20 2d 3e 20 46 69 6c 65 0a 20 20 20 20 74 72 79 3a 0a 20 20 20 20 20 | ,.AnyStr).->.File.....try:...... |
24f60 | 20 20 20 66 20 3d 20 6f 70 65 6e 28 66 69 6c 65 6e 61 6d 65 2c 20 6d 6f 64 65 29 0a 20 20 20 20 | ...f.=.open(filename,.mode)..... |
24f80 | 65 78 63 65 70 74 20 49 4f 45 72 72 6f 72 20 61 73 20 65 78 3a 0a 20 20 20 20 20 20 20 20 72 61 | except.IOError.as.ex:.........ra |
24fa0 | 69 73 65 20 42 49 4f 45 72 72 6f 72 28 65 78 2e 61 72 67 73 29 0a 0a 20 20 20 20 72 65 74 75 72 | ise.BIOError(ex.args)......retur |
24fc0 | 6e 20 46 69 6c 65 28 66 29 0a 0a 0a 63 6c 61 73 73 20 49 4f 42 75 66 66 65 72 28 42 49 4f 29 3a | n.File(f)...class.IOBuffer(BIO): |
24fe0 | 0a 20 20 20 20 22 22 22 4f 62 6a 65 63 74 20 69 6e 74 65 72 66 61 63 65 20 74 6f 20 42 49 4f 5f | ....."""Object.interface.to.BIO_ |
25000 | 66 5f 62 75 66 66 65 72 2e 0a 0a 20 20 20 20 49 74 73 20 70 72 69 6e 63 69 70 61 6c 20 66 75 6e | f_buffer.......Its.principal.fun |
25020 | 63 74 69 6f 6e 20 69 73 20 74 6f 20 62 65 20 42 49 4f 5f 70 75 73 68 28 29 27 65 64 20 6f 6e 20 | ction.is.to.be.BIO_push()'ed.on. |
25040 | 74 6f 70 20 6f 66 20 61 20 42 49 4f 5f 66 5f 73 73 6c 2c 20 73 6f 0a 20 20 20 20 74 68 61 74 20 | top.of.a.BIO_f_ssl,.so.....that. |
25060 | 6d 61 6b 65 66 69 6c 65 28 29 20 6f 66 20 73 61 69 64 20 75 6e 64 65 72 6c 79 69 6e 67 20 53 53 | makefile().of.said.underlying.SS |
25080 | 4c 20 73 6f 63 6b 65 74 20 77 6f 72 6b 73 2e 0a 20 20 20 20 22 22 22 0a 0a 20 20 20 20 6d 32 5f | L.socket.works......"""......m2_ |
250a0 | 62 69 6f 5f 70 6f 70 20 3d 20 6d 32 2e 62 69 6f 5f 70 6f 70 0a 20 20 20 20 6d 32 5f 62 69 6f 5f | bio_pop.=.m2.bio_pop.....m2_bio_ |
250c0 | 66 72 65 65 20 3d 20 6d 32 2e 62 69 6f 5f 66 72 65 65 0a 0a 20 20 20 20 64 65 66 20 5f 5f 69 6e | free.=.m2.bio_free......def.__in |
250e0 | 69 74 5f 5f 28 73 65 6c 66 2c 20 75 6e 64 65 72 5f 62 69 6f 2c 20 6d 6f 64 65 3d 27 72 77 62 27 | it__(self,.under_bio,.mode='rwb' |
25100 | 2c 20 5f 70 79 66 72 65 65 3d 31 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 42 | ,._pyfree=1):.........#.type:.(B |
25120 | 49 4f 2c 20 73 74 72 2c 20 69 6e 74 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 73 75 | IO,.str,.int).->.None.........su |
25140 | 70 65 72 28 49 4f 42 75 66 66 65 72 2c 20 73 65 6c 66 29 2e 5f 5f 69 6e 69 74 5f 5f 28 73 65 6c | per(IOBuffer,.self).__init__(sel |
25160 | 66 2c 20 5f 70 79 66 72 65 65 3d 5f 70 79 66 72 65 65 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 | f,._pyfree=_pyfree).........self |
25180 | 2e 69 6f 20 3d 20 6d 32 2e 62 69 6f 5f 6e 65 77 28 6d 32 2e 62 69 6f 5f 66 5f 62 75 66 66 65 72 | .io.=.m2.bio_new(m2.bio_f_buffer |
251a0 | 28 29 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 62 69 6f 20 3d 20 6d 32 2e 62 69 6f 5f 70 75 | ()).........self.bio.=.m2.bio_pu |
251c0 | 73 68 28 73 65 6c 66 2e 69 6f 2c 20 75 6e 64 65 72 5f 62 69 6f 2e 5f 70 74 72 28 29 29 0a 20 20 | sh(self.io,.under_bio._ptr())... |
251e0 | 20 20 20 20 20 20 23 20 54 68 69 73 20 72 65 66 65 72 65 6e 63 65 20 6b 65 65 70 73 20 74 68 65 | ......#.This.reference.keeps.the |
25200 | 20 75 6e 64 65 72 6c 79 69 6e 67 20 42 49 4f 20 61 6c 69 76 65 20 77 68 69 6c 65 20 77 65 27 72 | .underlying.BIO.alive.while.we'r |
25220 | 65 20 6e 6f 74 20 63 6c 6f 73 65 64 2e 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 75 6e 64 65 | e.not.closed..........self._unde |
25240 | 72 5f 62 69 6f 20 3d 20 75 6e 64 65 72 5f 62 69 6f 0a 20 20 20 20 20 20 20 20 69 66 20 27 77 27 | r_bio.=.under_bio.........if.'w' |
25260 | 20 69 6e 20 6d 6f 64 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 77 72 69 74 65 | .in.mode:.............self.write |
25280 | 5f 63 6c 6f 73 65 64 20 3d 20 30 0a 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 | _closed.=.0.........else:....... |
252a0 | 20 20 20 20 20 20 73 65 6c 66 2e 77 72 69 74 65 5f 63 6c 6f 73 65 64 20 3d 20 31 0a 0a 20 20 20 | ......self.write_closed.=.1..... |
252c0 | 20 64 65 66 20 5f 5f 64 65 6c 5f 5f 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 | .def.__del__(self):.........#.ty |
252e0 | 70 65 3a 20 28 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 69 66 20 67 65 74 61 74 74 | pe:.().->.None.........if.getatt |
25300 | 72 28 73 65 6c 66 2c 20 27 5f 70 79 66 72 65 65 27 2c 20 30 29 3a 0a 20 20 20 20 20 20 20 20 20 | r(self,.'_pyfree',.0):.......... |
25320 | 20 20 20 73 65 6c 66 2e 6d 32 5f 62 69 6f 5f 70 6f 70 28 73 65 6c 66 2e 62 69 6f 29 0a 20 20 20 | ...self.m2_bio_pop(self.bio).... |
25340 | 20 20 20 20 20 73 65 6c 66 2e 6d 32 5f 62 69 6f 5f 66 72 65 65 28 73 65 6c 66 2e 69 6f 29 0a 0a | .....self.m2_bio_free(self.io).. |
25360 | 20 20 20 20 64 65 66 20 63 6c 6f 73 65 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 | ....def.close(self):.........#.t |
25380 | 79 70 65 3a 20 28 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 42 49 4f 2e 63 6c 6f 73 | ype:.().->.None.........BIO.clos |
253a0 | 65 28 73 65 6c 66 29 0a 0a 0a 63 6c 61 73 73 20 43 69 70 68 65 72 53 74 72 65 61 6d 28 42 49 4f | e(self)...class.CipherStream(BIO |
253c0 | 29 3a 0a 20 20 20 20 22 22 22 4f 62 6a 65 63 74 20 69 6e 74 65 72 66 61 63 65 20 74 6f 20 42 49 | ):....."""Object.interface.to.BI |
253e0 | 4f 5f 66 5f 63 69 70 68 65 72 2e 22 22 22 0a 0a 20 20 20 20 53 41 4c 54 5f 4c 45 4e 20 3d 20 6d | O_f_cipher."""......SALT_LEN.=.m |
25400 | 32 2e 50 4b 43 53 35 5f 53 41 4c 54 5f 4c 45 4e 0a 0a 20 20 20 20 6d 32 5f 62 69 6f 5f 70 6f 70 | 2.PKCS5_SALT_LEN......m2_bio_pop |
25420 | 20 3d 20 6d 32 2e 62 69 6f 5f 70 6f 70 0a 20 20 20 20 6d 32 5f 62 69 6f 5f 66 72 65 65 20 3d 20 | .=.m2.bio_pop.....m2_bio_free.=. |
25440 | 6d 32 2e 62 69 6f 5f 66 72 65 65 0a 0a 20 20 20 20 64 65 66 20 5f 5f 69 6e 69 74 5f 5f 28 73 65 | m2.bio_free......def.__init__(se |
25460 | 6c 66 2c 20 6f 62 69 6f 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 42 49 4f 29 | lf,.obio):.........#.type:.(BIO) |
25480 | 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 73 75 70 65 72 28 43 69 70 68 65 72 53 74 72 | .->.None.........super(CipherStr |
254a0 | 65 61 6d 2c 20 73 65 6c 66 29 2e 5f 5f 69 6e 69 74 5f 5f 28 73 65 6c 66 2c 20 5f 70 79 66 72 65 | eam,.self).__init__(self,._pyfre |
254c0 | 65 3d 31 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 6f 62 69 6f 20 3d 20 6f 62 69 6f 0a 20 20 | e=1).........self.obio.=.obio... |
254e0 | 20 20 20 20 20 20 73 65 6c 66 2e 62 69 6f 20 3d 20 6d 32 2e 62 69 6f 5f 6e 65 77 28 6d 32 2e 62 | ......self.bio.=.m2.bio_new(m2.b |
25500 | 69 6f 5f 66 5f 63 69 70 68 65 72 28 29 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 63 6c 6f 73 | io_f_cipher()).........self.clos |
25520 | 65 64 20 3d 20 30 0a 0a 20 20 20 20 64 65 66 20 5f 5f 64 65 6c 5f 5f 28 73 65 6c 66 29 3a 0a 20 | ed.=.0......def.__del__(self):.. |
25540 | 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 | .......#.type:.().->.None....... |
25560 | 20 20 69 66 20 6e 6f 74 20 67 65 74 61 74 74 72 28 73 65 6c 66 2c 20 27 63 6c 6f 73 65 64 27 2c | ..if.not.getattr(self,.'closed', |
25580 | 20 31 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 63 6c 6f 73 65 28 29 0a 0a 20 | .1):.............self.close()... |
255a0 | 20 20 20 64 65 66 20 63 6c 6f 73 65 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 | ...def.close(self):.........#.ty |
255c0 | 70 65 3a 20 28 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 6d 32 5f 62 | pe:.().->.None.........self.m2_b |
255e0 | 69 6f 5f 70 6f 70 28 73 65 6c 66 2e 62 69 6f 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 6d 32 | io_pop(self.bio).........self.m2 |
25600 | 5f 62 69 6f 5f 66 72 65 65 28 73 65 6c 66 2e 62 69 6f 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 | _bio_free(self.bio).........self |
25620 | 2e 63 6c 6f 73 65 64 20 3d 20 31 0a 0a 20 20 20 20 64 65 66 20 77 72 69 74 65 5f 63 6c 6f 73 65 | .closed.=.1......def.write_close |
25640 | 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 4e 6f | (self):.........#.type:.().->.No |
25660 | 6e 65 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 6f 62 69 6f 2e 77 72 69 74 65 5f 63 6c 6f 73 65 | ne.........self.obio.write_close |
25680 | 28 29 0a 0a 20 20 20 20 64 65 66 20 73 65 74 5f 63 69 70 68 65 72 28 73 65 6c 66 2c 20 61 6c 67 | ()......def.set_cipher(self,.alg |
256a0 | 6f 2c 20 6b 65 79 2c 20 69 76 2c 20 6f 70 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a | o,.key,.iv,.op):.........#.type: |
256c0 | 20 28 73 74 72 2c 20 41 6e 79 53 74 72 2c 20 41 6e 79 53 74 72 2c 20 69 6e 74 29 20 2d 3e 20 4e | .(str,.AnyStr,.AnyStr,.int).->.N |
256e0 | 6f 6e 65 0a 20 20 20 20 20 20 20 20 63 69 70 68 65 72 20 3d 20 67 65 74 61 74 74 72 28 6d 32 2c | one.........cipher.=.getattr(m2, |
25700 | 20 61 6c 67 6f 2c 20 4e 6f 6e 65 29 0a 20 20 20 20 20 20 20 20 69 66 20 63 69 70 68 65 72 20 69 | .algo,.None).........if.cipher.i |
25720 | 73 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 56 61 6c 75 65 45 | s.None:.............raise.ValueE |
25740 | 72 72 6f 72 28 27 75 6e 6b 6e 6f 77 6e 20 63 69 70 68 65 72 27 2c 20 61 6c 67 6f 29 0a 20 20 20 | rror('unknown.cipher',.algo).... |
25760 | 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 6e 6f 74 20 69 73 | .....else:.............if.not.is |
25780 | 69 6e 73 74 61 6e 63 65 28 6b 65 79 2c 20 62 79 74 65 73 29 3a 0a 20 20 20 20 20 20 20 20 20 20 | instance(key,.bytes):........... |
257a0 | 20 20 20 20 20 20 6b 65 79 20 3d 20 6b 65 79 2e 65 6e 63 6f 64 65 28 27 75 74 66 38 27 29 0a 20 | ......key.=.key.encode('utf8').. |
257c0 | 20 20 20 20 20 20 20 20 20 20 20 69 66 20 6e 6f 74 20 69 73 69 6e 73 74 61 6e 63 65 28 69 76 2c | ...........if.not.isinstance(iv, |
257e0 | 20 62 79 74 65 73 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 76 20 3d 20 69 76 | .bytes):.................iv.=.iv |
25800 | 2e 65 6e 63 6f 64 65 28 27 75 74 66 38 27 29 0a 20 20 20 20 20 20 20 20 6d 32 2e 62 69 6f 5f 73 | .encode('utf8').........m2.bio_s |
25820 | 65 74 5f 63 69 70 68 65 72 28 73 65 6c 66 2e 62 69 6f 2c 20 63 69 70 68 65 72 28 29 2c 20 6b 65 | et_cipher(self.bio,.cipher(),.ke |
25840 | 79 2c 20 69 76 2c 20 69 6e 74 28 6f 70 29 29 0a 20 20 20 20 20 20 20 20 6d 32 2e 62 69 6f 5f 70 | y,.iv,.int(op)).........m2.bio_p |
25860 | 75 73 68 28 73 65 6c 66 2e 62 69 6f 2c 20 73 65 6c 66 2e 6f 62 69 6f 2e 5f 70 74 72 28 29 29 0a | ush(self.bio,.self.obio._ptr()). |
25880 | 0a 0a 63 6c 61 73 73 20 53 53 4c 42 69 6f 28 42 49 4f 29 3a 0a 20 20 20 20 22 22 22 4f 62 6a 65 | ..class.SSLBio(BIO):....."""Obje |
258a0 | 63 74 20 69 6e 74 65 72 66 61 63 65 20 74 6f 20 42 49 4f 5f 66 5f 73 73 6c 2e 22 22 22 0a 0a 20 | ct.interface.to.BIO_f_ssl."""... |
258c0 | 20 20 20 64 65 66 20 5f 5f 69 6e 69 74 5f 5f 28 73 65 6c 66 2c 20 5f 70 79 66 72 65 65 3d 31 29 | ...def.__init__(self,._pyfree=1) |
258e0 | 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 69 6e 74 29 20 2d 3e 20 4e 6f 6e 65 0a | :.........#.type:.(int).->.None. |
25900 | 20 20 20 20 20 20 20 20 73 75 70 65 72 28 53 53 4c 42 69 6f 2c 20 73 65 6c 66 29 2e 5f 5f 69 6e | ........super(SSLBio,.self).__in |
25920 | 69 74 5f 5f 28 73 65 6c 66 2c 20 5f 70 79 66 72 65 65 3d 5f 70 79 66 72 65 65 29 0a 20 20 20 20 | it__(self,._pyfree=_pyfree)..... |
25940 | 20 20 20 20 73 65 6c 66 2e 62 69 6f 20 3d 20 6d 32 2e 62 69 6f 5f 6e 65 77 28 6d 32 2e 62 69 6f | ....self.bio.=.m2.bio_new(m2.bio |
25960 | 5f 66 5f 73 73 6c 28 29 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 63 6c 6f 73 65 64 20 3d 20 | _f_ssl()).........self.closed.=. |
25980 | 30 0a 0a 20 20 20 20 64 65 66 20 73 65 74 5f 73 73 6c 28 73 65 6c 66 2c 20 63 6f 6e 6e 2c 20 63 | 0......def.set_ssl(self,.conn,.c |
259a0 | 6c 6f 73 65 5f 66 6c 61 67 3d 6d 32 2e 62 69 6f 5f 6e 6f 63 6c 6f 73 65 29 3a 0a 20 20 20 20 20 | lose_flag=m2.bio_noclose):...... |
259c0 | 20 20 20 23 20 74 79 70 65 3a 20 28 43 6f 6e 6e 65 63 74 69 6f 6e 2c 20 69 6e 74 29 20 2d 3e 20 | ...#.type:.(Connection,.int).->. |
259e0 | 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 53 65 74 73 20 74 68 | None.........""".........Sets.th |
25a00 | 65 20 62 69 6f 20 74 6f 20 74 68 65 20 53 53 4c 20 70 6f 69 6e 74 65 72 20 77 68 69 63 68 20 69 | e.bio.to.the.SSL.pointer.which.i |
25a20 | 73 0a 20 20 20 20 20 20 20 20 63 6f 6e 74 61 69 6e 65 64 20 69 6e 20 74 68 65 20 63 6f 6e 6e 65 | s.........contained.in.the.conne |
25a40 | 63 74 69 6f 6e 20 6f 62 6a 65 63 74 2e 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 | ction.object.........."""....... |
25a60 | 20 20 73 65 6c 66 2e 5f 70 79 66 72 65 65 20 3d 20 30 0a 20 20 20 20 20 20 20 20 6d 32 2e 62 69 | ..self._pyfree.=.0.........m2.bi |
25a80 | 6f 5f 73 65 74 5f 73 73 6c 28 73 65 6c 66 2e 62 69 6f 2c 20 63 6f 6e 6e 2e 73 73 6c 2c 20 63 6c | o_set_ssl(self.bio,.conn.ssl,.cl |
25aa0 | 6f 73 65 5f 66 6c 61 67 29 0a 20 20 20 20 20 20 20 20 69 66 20 63 6c 6f 73 65 5f 66 6c 61 67 20 | ose_flag).........if.close_flag. |
25ac0 | 3d 3d 20 6d 32 2e 62 69 6f 5f 6e 6f 63 6c 6f 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 | ==.m2.bio_noclose:.............c |
25ae0 | 6f 6e 6e 2e 73 65 74 5f 73 73 6c 5f 63 6c 6f 73 65 5f 66 6c 61 67 28 6d 32 2e 62 69 6f 5f 63 6c | onn.set_ssl_close_flag(m2.bio_cl |
25b00 | 6f 73 65 29 0a 0a 20 20 20 20 64 65 66 20 64 6f 5f 68 61 6e 64 73 68 61 6b 65 28 73 65 6c 66 29 | ose)......def.do_handshake(self) |
25b20 | 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 | :.........#.type:.().->.int..... |
25b40 | 20 20 20 20 22 22 22 44 6f 20 74 68 65 20 68 61 6e 64 73 68 61 6b 65 2e 0a 0a 20 20 20 20 20 20 | ...."""Do.the.handshake......... |
25b60 | 20 20 52 65 74 75 72 6e 20 31 20 69 66 20 74 68 65 20 68 61 6e 64 73 68 61 6b 65 20 63 6f 6d 70 | ..Return.1.if.the.handshake.comp |
25b80 | 6c 65 74 65 73 0a 20 20 20 20 20 20 20 20 52 65 74 75 72 6e 20 30 20 6f 72 20 61 20 6e 65 67 61 | letes.........Return.0.or.a.nega |
25ba0 | 74 69 76 65 20 6e 75 6d 62 65 72 20 69 66 20 74 68 65 72 65 20 69 73 20 61 20 70 72 6f 62 6c 65 | tive.number.if.there.is.a.proble |
25bc0 | 6d 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e | m.........""".........return.m2. |
25be0 | 62 69 6f 5f 64 6f 5f 68 61 6e 64 73 68 61 6b 65 28 73 65 6c 66 2e 62 69 6f 29 0a 94 7d 94 28 8c | bio_do_handshake(self.bio)..}.(. |
25c00 | 08 42 49 4f 45 72 72 6f 72 94 6a 7d 1f 00 00 4b 10 4b 11 87 94 8c 0c 42 49 4f 2e 5f 5f 69 6e 69 | .BIOError.j}...K.K.....BIO.__ini |
25c20 | 74 5f 5f 94 6a 74 1f 00 00 4b 1c 4b 22 87 94 8c 0b 42 49 4f 2e 5f 5f 64 65 6c 5f 5f 94 6a 74 1f | t__.jt...K.K"....BIO.__del__.jt. |
25c40 | 00 00 4b 24 4b 26 87 94 8c 08 42 49 4f 2e 5f 70 74 72 94 6a 74 1f 00 00 4b 28 4b 29 87 94 8c 0a | ..K$K&....BIO._ptr.jt...K(K).... |
25c60 | 42 49 4f 2e 66 69 6c 65 6e 6f 94 6a 74 1f 00 00 4b 2e 4b 30 87 94 8c 0c 42 49 4f 2e 72 65 61 64 | BIO.fileno.jt...K.K0....BIO.read |
25c80 | 61 62 6c 65 94 6a 74 1f 00 00 4b 32 4b 34 87 94 8c 08 42 49 4f 2e 72 65 61 64 94 6a 74 1f 00 00 | able.jt...K2K4....BIO.read.jt... |
25ca0 | 4b 36 4b 47 87 94 8c 0c 42 49 4f 2e 72 65 61 64 6c 69 6e 65 94 6a 74 1f 00 00 4b 49 4b 4f 87 94 | K6KG....BIO.readline.jt...KIKO.. |
25cc0 | 8c 0d 42 49 4f 2e 72 65 61 64 6c 69 6e 65 73 94 6a 74 1f 00 00 4b 51 4b 5b 87 94 8c 0d 42 49 4f | ..BIO.readlines.jt...KQK[....BIO |
25ce0 | 2e 77 72 69 74 65 61 62 6c 65 94 6a 74 1f 00 00 4b 5d 4b 5f 87 94 8c 09 42 49 4f 2e 77 72 69 74 | .writeable.jt...K]K_....BIO.writ |
25d00 | 65 94 6a 74 1f 00 00 4b 61 4b 6c 87 94 8c 0f 42 49 4f 2e 77 72 69 74 65 5f 63 6c 6f 73 65 94 6a | e.jt...KaKl....BIO.write_close.j |
25d20 | 74 1f 00 00 4b 6e 4b 70 87 94 8c 09 42 49 4f 2e 66 6c 75 73 68 94 6a 74 1f 00 00 4b 72 4b 78 87 | t...KnKp....BIO.flush.jt...KrKx. |
25d40 | 94 8c 09 42 49 4f 2e 72 65 73 65 74 94 6a 74 1f 00 00 4b 7a 4b 80 87 94 8c 09 42 49 4f 2e 63 6c | ...BIO.reset.jt...KzK.....BIO.cl |
25d60 | 6f 73 65 94 6a 74 1f 00 00 4b 82 4b 86 87 94 8c 10 42 49 4f 2e 73 68 6f 75 6c 64 5f 72 65 74 72 | ose.jt...K.K.....BIO.should_retr |
25d80 | 79 94 6a 74 1f 00 00 4b 88 4b 8f 87 94 8c 0f 42 49 4f 2e 73 68 6f 75 6c 64 5f 72 65 61 64 94 6a | y.jt...K.K.....BIO.should_read.j |
25da0 | 74 1f 00 00 4b 91 4b 95 87 94 8c 10 42 49 4f 2e 73 68 6f 75 6c 64 5f 77 72 69 74 65 94 6a 74 1f | t...K.K.....BIO.should_write.jt. |
25dc0 | 00 00 4b 97 4b 9a 87 94 8c 08 42 49 4f 2e 74 65 6c 6c 94 6a 74 1f 00 00 4b 9c 4b 9e 87 94 8c 08 | ..K.K.....BIO.tell.jt...K.K..... |
25de0 | 42 49 4f 2e 73 65 65 6b 94 6a 74 1f 00 00 4b a0 4b a2 87 94 8c 0d 42 49 4f 2e 5f 5f 65 6e 74 65 | BIO.seek.jt...K.K.....BIO.__ente |
25e00 | 72 5f 5f 94 6a 74 1f 00 00 4b a4 4b a5 87 94 8c 0c 42 49 4f 2e 5f 5f 65 78 69 74 5f 5f 94 6a 74 | r__.jt...K.K.....BIO.__exit__.jt |
25e20 | 1f 00 00 4b a7 4b a9 87 94 8c 03 42 49 4f 94 6a 7d 1f 00 00 4b 17 4b a9 87 94 8c 15 4d 65 6d 6f | ...K.K.....BIO.j}...K.K.....Memo |
25e40 | 72 79 42 75 66 66 65 72 2e 5f 5f 69 6e 69 74 5f 5f 94 6a 74 1f 00 00 4b b6 4b bf 87 94 8c 14 4d | ryBuffer.__init__.jt...K.K.....M |
25e60 | 65 6d 6f 72 79 42 75 66 66 65 72 2e 5f 5f 6c 65 6e 5f 5f 94 6a 74 1f 00 00 4b c1 4b c3 87 94 8c | emoryBuffer.__len__.jt...K.K.... |
25e80 | 11 4d 65 6d 6f 72 79 42 75 66 66 65 72 2e 72 65 61 64 94 6a 74 1f 00 00 4b c5 4b cc 87 94 8c 18 | .MemoryBuffer.read.jt...K.K..... |
25ea0 | 4d 65 6d 6f 72 79 42 75 66 66 65 72 2e 77 72 69 74 65 5f 63 6c 6f 73 65 94 6a 74 1f 00 00 4b d1 | MemoryBuffer.write_close.jt...K. |
25ec0 | 4b d4 87 94 8c 0c 4d 65 6d 6f 72 79 42 75 66 66 65 72 94 6a 7d 1f 00 00 4b ac 4b d6 87 94 8c 0d | K.....MemoryBuffer.j}...K.K..... |
25ee0 | 46 69 6c 65 2e 5f 5f 69 6e 69 74 5f 5f 94 6a 74 1f 00 00 4b e0 4b f9 87 94 8c 0a 46 69 6c 65 2e | File.__init__.jt...K.K.....File. |
25f00 | 66 6c 75 73 68 94 6a 74 1f 00 00 4b fb 4b fe 87 94 8c 0a 46 69 6c 65 2e 63 6c 6f 73 65 94 6a 74 | flush.jt...K.K.....File.close.jt |
25f20 | 1f 00 00 4d 00 01 4d 05 01 87 94 8c 0a 46 69 6c 65 2e 72 65 73 65 74 94 6a 74 1f 00 00 4d 07 01 | ...M..M......File.reset.jt...M.. |
25f40 | 4d 0d 01 87 94 8c 0c 46 69 6c 65 2e 5f 5f 64 65 6c 5f 5f 94 6a 74 1f 00 00 4d 0f 01 4d 11 01 87 | M......File.__del__.jt...M..M... |
25f60 | 94 8c 04 46 69 6c 65 94 6a 7d 1f 00 00 4b d9 4d 11 01 87 94 8c 08 6f 70 65 6e 66 69 6c 65 94 6a | ...File.j}...K.M......openfile.j |
25f80 | 74 1f 00 00 4d 14 01 4d 1b 01 87 94 8c 11 49 4f 42 75 66 66 65 72 2e 5f 5f 69 6e 69 74 5f 5f 94 | t...M..M......IOBuffer.__init__. |
25fa0 | 6a 74 1f 00 00 4d 28 01 4d 32 01 87 94 8c 10 49 4f 42 75 66 66 65 72 2e 5f 5f 64 65 6c 5f 5f 94 | jt...M(.M2.....IOBuffer.__del__. |
25fc0 | 6a 74 1f 00 00 4d 34 01 4d 38 01 87 94 8c 0e 49 4f 42 75 66 66 65 72 2e 63 6c 6f 73 65 94 6a 74 | jt...M4.M8.....IOBuffer.close.jt |
25fe0 | 1f 00 00 4d 3a 01 4d 3c 01 87 94 8c 08 49 4f 42 75 66 66 65 72 94 6a 7d 1f 00 00 4d 1e 01 4d 3c | ...M:.M<.....IOBuffer.j}...M..M< |
26000 | 01 87 94 8c 15 43 69 70 68 65 72 53 74 72 65 61 6d 2e 5f 5f 69 6e 69 74 5f 5f 94 6a 74 1f 00 00 | .....CipherStream.__init__.jt... |
26020 | 4d 47 01 4d 4c 01 87 94 8c 14 43 69 70 68 65 72 53 74 72 65 61 6d 2e 5f 5f 64 65 6c 5f 5f 94 6a | MG.ML.....CipherStream.__del__.j |
26040 | 74 1f 00 00 4d 4e 01 4d 51 01 87 94 8c 12 43 69 70 68 65 72 53 74 72 65 61 6d 2e 63 6c 6f 73 65 | t...MN.MQ.....CipherStream.close |
26060 | 94 6a 74 1f 00 00 4d 53 01 4d 57 01 87 94 8c 18 43 69 70 68 65 72 53 74 72 65 61 6d 2e 77 72 69 | .jt...MS.MW.....CipherStream.wri |
26080 | 74 65 5f 63 6c 6f 73 65 94 6a 74 1f 00 00 4d 59 01 4d 5b 01 87 94 8c 17 43 69 70 68 65 72 53 74 | te_close.jt...MY.M[.....CipherSt |
260a0 | 72 65 61 6d 2e 73 65 74 5f 63 69 70 68 65 72 94 6a 74 1f 00 00 4d 5d 01 4d 68 01 87 94 8c 0c 43 | ream.set_cipher.jt...M].Mh.....C |
260c0 | 69 70 68 65 72 53 74 72 65 61 6d 94 6a 7d 1f 00 00 4d 3f 01 4d 68 01 87 94 8c 0f 53 53 4c 42 69 | ipherStream.j}...M?.Mh.....SSLBi |
260e0 | 6f 2e 5f 5f 69 6e 69 74 5f 5f 94 6a 74 1f 00 00 4d 6e 01 4d 72 01 87 94 8c 0e 53 53 4c 42 69 6f | o.__init__.jt...Mn.Mr.....SSLBio |
26100 | 2e 73 65 74 5f 73 73 6c 94 6a 74 1f 00 00 4d 74 01 4d 7d 01 87 94 8c 13 53 53 4c 42 69 6f 2e 64 | .set_ssl.jt...Mt.M}.....SSLBio.d |
26120 | 6f 5f 68 61 6e 64 73 68 61 6b 65 94 6a 74 1f 00 00 4d 7f 01 4d 86 01 87 94 8c 06 53 53 4c 42 69 | o_handshake.jt...M..M......SSLBi |
26140 | 6f 94 6a 7d 1f 00 00 4d 6b 01 4d 86 01 87 94 75 7d 94 28 8c 03 42 49 4f 94 6a 53 02 00 00 8c 09 | o.j}...Mk.M....u}.(..BIO.jS..... |
26160 | 42 49 4f 2e 63 6c 6f 73 65 94 6a 53 02 00 00 8c 0a 42 49 4f 2e 66 69 6c 65 6e 6f 94 6a 53 02 00 | BIO.close.jS.....BIO.fileno.jS.. |
26180 | 00 8c 09 42 49 4f 2e 66 6c 75 73 68 94 6a 53 02 00 00 8c 08 42 49 4f 2e 72 65 61 64 94 6a 53 02 | ...BIO.flush.jS.....BIO.read.jS. |
261a0 | 00 00 8c 0c 42 49 4f 2e 72 65 61 64 61 62 6c 65 94 6a 53 02 00 00 8c 0c 42 49 4f 2e 72 65 61 64 | ....BIO.readable.jS.....BIO.read |
261c0 | 6c 69 6e 65 94 6a 53 02 00 00 8c 0d 42 49 4f 2e 72 65 61 64 6c 69 6e 65 73 94 6a 53 02 00 00 8c | line.jS.....BIO.readlines.jS.... |
261e0 | 09 42 49 4f 2e 72 65 73 65 74 94 6a 53 02 00 00 8c 08 42 49 4f 2e 73 65 65 6b 94 6a 53 02 00 00 | .BIO.reset.jS.....BIO.seek.jS... |
26200 | 8c 0f 42 49 4f 2e 73 68 6f 75 6c 64 5f 72 65 61 64 94 6a 53 02 00 00 8c 10 42 49 4f 2e 73 68 6f | ..BIO.should_read.jS.....BIO.sho |
26220 | 75 6c 64 5f 72 65 74 72 79 94 6a 53 02 00 00 8c 10 42 49 4f 2e 73 68 6f 75 6c 64 5f 77 72 69 74 | uld_retry.jS.....BIO.should_writ |
26240 | 65 94 6a 53 02 00 00 8c 08 42 49 4f 2e 74 65 6c 6c 94 6a 53 02 00 00 8c 09 42 49 4f 2e 77 72 69 | e.jS.....BIO.tell.jS.....BIO.wri |
26260 | 74 65 94 6a 53 02 00 00 8c 0f 42 49 4f 2e 77 72 69 74 65 5f 63 6c 6f 73 65 94 6a 53 02 00 00 8c | te.jS.....BIO.write_close.jS.... |
26280 | 0d 42 49 4f 2e 77 72 69 74 65 61 62 6c 65 94 6a 53 02 00 00 8c 08 42 49 4f 45 72 72 6f 72 94 6a | .BIO.writeable.jS.....BIOError.j |
262a0 | 53 02 00 00 8c 0c 43 69 70 68 65 72 53 74 72 65 61 6d 94 6a 53 02 00 00 8c 12 43 69 70 68 65 72 | S.....CipherStream.jS.....Cipher |
262c0 | 53 74 72 65 61 6d 2e 63 6c 6f 73 65 94 6a 53 02 00 00 8c 17 43 69 70 68 65 72 53 74 72 65 61 6d | Stream.close.jS.....CipherStream |
262e0 | 2e 73 65 74 5f 63 69 70 68 65 72 94 6a 53 02 00 00 8c 18 43 69 70 68 65 72 53 74 72 65 61 6d 2e | .set_cipher.jS.....CipherStream. |
26300 | 77 72 69 74 65 5f 63 6c 6f 73 65 94 6a 53 02 00 00 8c 04 46 69 6c 65 94 6a 53 02 00 00 8c 0a 46 | write_close.jS.....File.jS.....F |
26320 | 69 6c 65 2e 63 6c 6f 73 65 94 6a 53 02 00 00 8c 0a 46 69 6c 65 2e 66 6c 75 73 68 94 6a 53 02 00 | ile.close.jS.....File.flush.jS.. |
26340 | 00 8c 0a 46 69 6c 65 2e 72 65 73 65 74 94 6a 53 02 00 00 8c 08 49 4f 42 75 66 66 65 72 94 6a 53 | ...File.reset.jS.....IOBuffer.jS |
26360 | 02 00 00 8c 0e 49 4f 42 75 66 66 65 72 2e 63 6c 6f 73 65 94 6a 53 02 00 00 8c 0c 4d 65 6d 6f 72 | .....IOBuffer.close.jS.....Memor |
26380 | 79 42 75 66 66 65 72 94 6a 53 02 00 00 8c 11 4d 65 6d 6f 72 79 42 75 66 66 65 72 2e 72 65 61 64 | yBuffer.jS.....MemoryBuffer.read |
263a0 | 94 6a 53 02 00 00 8c 18 4d 65 6d 6f 72 79 42 75 66 66 65 72 2e 77 72 69 74 65 5f 63 6c 6f 73 65 | .jS.....MemoryBuffer.write_close |
263c0 | 94 6a 53 02 00 00 8c 06 53 53 4c 42 69 6f 94 6a 53 02 00 00 8c 13 53 53 4c 42 69 6f 2e 64 6f 5f | .jS.....SSLBio.jS.....SSLBio.do_ |
263e0 | 68 61 6e 64 73 68 61 6b 65 94 6a 53 02 00 00 8c 0e 53 53 4c 42 69 6f 2e 73 65 74 5f 73 73 6c 94 | handshake.jS.....SSLBio.set_ssl. |
26400 | 6a 53 02 00 00 8c 08 6f 70 65 6e 66 69 6c 65 94 6a 53 02 00 00 75 8c 0c 4d 32 43 72 79 70 74 6f | jS.....openfile.jS...u..M2Crypto |
26420 | 2e 42 49 4f 94 74 94 8c 0b 4d 32 43 72 79 70 74 6f 2e 42 4e 94 28 58 83 06 00 00 66 72 6f 6d 20 | .BIO.t...M2Crypto.BN.(X....from. |
26440 | 5f 5f 66 75 74 75 72 65 5f 5f 20 69 6d 70 6f 72 74 20 61 62 73 6f 6c 75 74 65 5f 69 6d 70 6f 72 | __future__.import.absolute_impor |
26460 | 74 0a 0a 22 22 22 0a 4d 32 43 72 79 70 74 6f 20 77 72 61 70 70 65 72 20 66 6f 72 20 4f 70 65 6e | t..""".M2Crypto.wrapper.for.Open |
26480 | 53 53 4c 20 42 4e 20 28 42 49 47 4e 55 4d 29 20 41 50 49 2e 0a 0a 43 6f 70 79 72 69 67 68 74 20 | SSL.BN.(BIGNUM).API...Copyright. |
264a0 | 28 63 29 20 32 30 30 35 20 4f 70 65 6e 20 53 6f 75 72 63 65 20 41 70 70 6c 69 63 61 74 69 6f 6e | (c).2005.Open.Source.Application |
264c0 | 73 20 46 6f 75 6e 64 61 74 69 6f 6e 2e 20 41 6c 6c 20 72 69 67 68 74 73 20 72 65 73 65 72 76 65 | s.Foundation..All.rights.reserve |
264e0 | 64 2e 0a 22 22 22 0a 0a 66 72 6f 6d 20 4d 32 43 72 79 70 74 6f 20 69 6d 70 6f 72 74 20 6d 32 2c | d.."""..from.M2Crypto.import.m2, |
26500 | 20 75 74 69 6c 0a 69 66 20 75 74 69 6c 2e 70 79 32 37 70 6c 75 73 3a 0a 20 20 20 20 66 72 6f 6d | .util.if.util.py27plus:.....from |
26520 | 20 74 79 70 69 6e 67 20 69 6d 70 6f 72 74 20 4f 70 74 69 6f 6e 61 6c 20 20 23 20 6e 6f 71 61 0a | .typing.import.Optional..#.noqa. |
26540 | 0a 0a 64 65 66 20 72 61 6e 64 28 62 69 74 73 2c 20 74 6f 70 3d 2d 31 2c 20 62 6f 74 74 6f 6d 3d | ..def.rand(bits,.top=-1,.bottom= |
26560 | 30 29 3a 0a 20 20 20 20 23 20 74 79 70 65 3a 20 28 69 6e 74 2c 20 69 6e 74 2c 20 69 6e 74 29 20 | 0):.....#.type:.(int,.int,.int). |
26580 | 2d 3e 20 4f 70 74 69 6f 6e 61 6c 5b 69 6e 74 5d 0a 20 20 20 20 22 22 22 0a 20 20 20 20 47 65 6e | ->.Optional[int].....""".....Gen |
265a0 | 65 72 61 74 65 20 63 72 79 70 74 6f 67 72 61 70 68 69 63 61 6c 6c 79 20 73 74 72 6f 6e 67 20 72 | erate.cryptographically.strong.r |
265c0 | 61 6e 64 6f 6d 20 6e 75 6d 62 65 72 2e 0a 0a 20 20 20 20 3a 70 61 72 61 6d 20 62 69 74 73 3a 20 | andom.number.......:param.bits:. |
265e0 | 20 20 4c 65 6e 67 74 68 20 6f 66 20 72 61 6e 64 6f 6d 20 6e 75 6d 62 65 72 20 69 6e 20 62 69 74 | ..Length.of.random.number.in.bit |
26600 | 73 2e 0a 20 20 20 20 3a 70 61 72 61 6d 20 74 6f 70 3a 20 20 20 20 49 66 20 2d 31 2c 20 74 68 65 | s......:param.top:....If.-1,.the |
26620 | 20 6d 6f 73 74 20 73 69 67 6e 69 66 69 63 61 6e 74 20 62 69 74 20 63 61 6e 20 62 65 20 30 2e 20 | .most.significant.bit.can.be.0.. |
26640 | 49 66 20 30 2c 20 74 68 65 20 6d 6f 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | If.0,.the.most.................. |
26660 | 20 20 73 69 67 6e 69 66 69 63 61 6e 74 20 62 69 74 20 69 73 20 31 2c 20 61 6e 64 20 69 66 20 31 | ..significant.bit.is.1,.and.if.1 |
26680 | 2c 20 74 68 65 20 74 77 6f 20 6d 6f 73 74 20 73 69 67 6e 69 66 69 63 61 6e 74 0a 20 20 20 20 20 | ,.the.two.most.significant...... |
266a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 69 74 73 20 77 69 6c 6c 20 62 65 20 31 2e 0a 20 20 | ..............bits.will.be.1.... |
266c0 | 20 20 3a 70 61 72 61 6d 20 62 6f 74 74 6f 6d 3a 20 49 66 20 62 6f 74 74 6f 6d 20 69 73 20 74 72 | ..:param.bottom:.If.bottom.is.tr |
266e0 | 75 65 2c 20 74 68 65 20 6e 75 6d 62 65 72 20 77 69 6c 6c 20 62 65 20 6f 64 64 2e 0a 20 20 20 20 | ue,.the.number.will.be.odd...... |
26700 | 22 22 22 0a 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 62 6e 5f 72 61 6e 64 28 62 69 74 73 2c 20 | """.....return.m2.bn_rand(bits,. |
26720 | 74 6f 70 2c 20 62 6f 74 74 6f 6d 29 0a 0a 0a 64 65 66 20 72 61 6e 64 5f 72 61 6e 67 65 28 72 61 | top,.bottom)...def.rand_range(ra |
26740 | 6e 67 65 29 3a 0a 20 20 20 20 23 20 74 79 70 65 3a 20 28 69 6e 74 29 20 2d 3e 20 69 6e 74 0a 20 | nge):.....#.type:.(int).->.int.. |
26760 | 20 20 20 22 22 22 0a 20 20 20 20 47 65 6e 65 72 61 74 65 20 61 20 72 61 6e 64 6f 6d 20 6e 75 6d | ...""".....Generate.a.random.num |
26780 | 62 65 72 20 69 6e 20 61 20 72 61 6e 67 65 2e 0a 0a 20 20 20 20 3a 70 61 72 61 6d 20 72 61 6e 67 | ber.in.a.range.......:param.rang |
267a0 | 65 3a 20 55 70 70 65 72 20 6c 69 6d 69 74 20 66 6f 72 20 72 61 6e 67 65 2e 0a 20 20 20 20 3a 72 | e:.Upper.limit.for.range......:r |
267c0 | 65 74 75 72 6e 3a 20 20 20 20 20 20 41 20 72 61 6e 64 6f 6d 20 6e 75 6d 62 65 72 20 69 6e 20 74 | eturn:......A.random.number.in.t |
267e0 | 68 65 20 72 61 6e 67 65 20 5b 30 2c 20 72 61 6e 67 65 29 0a 20 20 20 20 22 22 22 0a 20 20 20 20 | he.range.[0,.range)....."""..... |
26800 | 72 65 74 75 72 6e 20 6d 32 2e 62 6e 5f 72 61 6e 64 5f 72 61 6e 67 65 28 72 61 6e 67 65 29 0a 0a | return.m2.bn_rand_range(range).. |
26820 | 0a 64 65 66 20 72 61 6e 64 66 6e 61 6d 65 28 6c 65 6e 67 74 68 29 3a 0a 20 20 20 20 23 20 74 79 | .def.randfname(length):.....#.ty |
26840 | 70 65 3a 20 28 69 6e 74 29 20 2d 3e 20 73 74 72 0a 20 20 20 20 22 22 22 0a 20 20 20 20 52 65 74 | pe:.(int).->.str.....""".....Ret |
26860 | 75 72 6e 20 61 20 72 61 6e 64 6f 6d 20 66 69 6c 65 6e 61 6d 65 2c 20 77 68 69 63 68 20 69 73 20 | urn.a.random.filename,.which.is. |
26880 | 73 69 6d 70 6c 79 20 61 20 73 74 72 69 6e 67 20 77 68 65 72 65 20 61 6c 6c 0a 20 20 20 20 74 68 | simply.a.string.where.all.....th |
268a0 | 65 20 63 68 61 72 61 63 74 65 72 73 20 61 72 65 20 66 72 6f 6d 20 74 68 65 20 73 65 74 20 5b 61 | e.characters.are.from.the.set.[a |
268c0 | 2d 7a 41 2d 5a 30 2d 39 5d 2e 0a 0a 20 20 20 20 3a 70 61 72 61 6d 20 6c 65 6e 67 74 68 3a 20 4c | -zA-Z0-9].......:param.length:.L |
268e0 | 65 6e 67 74 68 20 6f 66 20 66 69 6c 65 6e 61 6d 65 20 74 6f 20 72 65 74 75 72 6e 2e 0a 20 20 20 | ength.of.filename.to.return..... |
26900 | 20 3a 72 65 74 75 72 6e 3a 20 20 20 20 20 20 20 72 61 6e 64 6f 6d 20 66 69 6c 65 6e 61 6d 65 20 | .:return:.......random.filename. |
26920 | 73 74 72 69 6e 67 0a 20 20 20 20 22 22 22 0a 20 20 20 20 69 6d 70 6f 72 74 20 77 61 72 6e 69 6e | string.....""".....import.warnin |
26940 | 67 73 0a 20 20 20 20 77 61 72 6e 69 6e 67 73 2e 77 61 72 6e 28 0a 20 20 20 20 20 20 20 20 22 44 | gs.....warnings.warn(........."D |
26960 | 6f 6e 27 74 20 75 73 65 20 42 4e 2e 72 61 6e 64 66 6e 61 6d 65 28 29 2c 20 75 73 65 20 74 65 6d | on't.use.BN.randfname(),.use.tem |
26980 | 70 66 69 6c 65 20 6d 65 74 68 6f 64 73 20 69 6e 73 74 65 61 64 2e 22 2c 0a 20 20 20 20 20 20 20 | pfile.methods.instead.",........ |
269a0 | 20 44 65 70 72 65 63 61 74 69 6f 6e 57 61 72 6e 69 6e 67 2c 20 73 74 61 63 6b 6c 65 76 65 6c 3d | .DeprecationWarning,.stacklevel= |
269c0 | 32 29 0a 20 20 20 20 6c 65 74 74 65 72 73 20 3d 20 27 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e | 2).....letters.=.'abcdefghijklmn |
269e0 | 6f 70 71 72 73 74 75 76 77 78 79 7a 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f 50 51 52 53 54 | opqrstuvwxyzABCDEFGHIJKLMNOPQRST |
26a00 | 55 56 57 58 59 5a 30 31 32 33 34 35 36 37 38 39 30 27 0a 20 20 20 20 6c 65 74 74 65 72 73 4c 65 | UVWXYZ01234567890'.....lettersLe |
26a20 | 6e 20 3d 20 6c 65 6e 28 6c 65 74 74 65 72 73 29 0a 20 20 20 20 66 6e 61 6d 65 20 3d 20 5b 5d 20 | n.=.len(letters).....fname.=.[]. |
26a40 | 20 23 20 74 79 70 65 3a 20 6c 69 73 74 0a 20 20 20 20 66 6f 72 20 78 20 69 6e 20 72 61 6e 67 65 | .#.type:.list.....for.x.in.range |
26a60 | 28 6c 65 6e 67 74 68 29 3a 0a 20 20 20 20 20 20 20 20 66 6e 61 6d 65 20 2b 3d 20 5b 6c 65 74 74 | (length):.........fname.+=.[lett |
26a80 | 65 72 73 5b 6d 32 2e 62 6e 5f 72 61 6e 64 5f 72 61 6e 67 65 28 6c 65 74 74 65 72 73 4c 65 6e 29 | ers[m2.bn_rand_range(lettersLen) |
26aa0 | 5d 5d 0a 0a 20 20 20 20 72 65 74 75 72 6e 20 27 27 2e 6a 6f 69 6e 28 66 6e 61 6d 65 29 0a 94 7d | ]]......return.''.join(fname)..} |
26ac0 | 94 28 8c 04 72 61 6e 64 94 6a 74 1f 00 00 4b 0e 4b 19 87 94 8c 0a 72 61 6e 64 5f 72 61 6e 67 65 | .(..rand.jt...K.K.....rand_range |
26ae0 | 94 6a 74 1f 00 00 4b 1c 4b 24 87 94 8c 09 72 61 6e 64 66 6e 61 6d 65 94 6a 74 1f 00 00 4b 27 4b | .jt...K.K$....randfname.jt...K'K |
26b00 | 3a 87 94 75 7d 94 28 8c 04 72 61 6e 64 94 6a 53 02 00 00 8c 0a 72 61 6e 64 5f 72 61 6e 67 65 94 | :..u}.(..rand.jS.....rand_range. |
26b20 | 6a 53 02 00 00 8c 09 72 61 6e 64 66 6e 61 6d 65 94 6a 53 02 00 00 75 8c 0b 4d 32 43 72 79 70 74 | jS.....randfname.jS...u..M2Crypt |
26b40 | 6f 2e 42 4e 94 74 94 8c 0b 4d 32 43 72 79 70 74 6f 2e 44 48 94 28 58 82 0b 00 00 66 72 6f 6d 20 | o.BN.t...M2Crypto.DH.(X....from. |
26b60 | 5f 5f 66 75 74 75 72 65 5f 5f 20 69 6d 70 6f 72 74 20 61 62 73 6f 6c 75 74 65 5f 69 6d 70 6f 72 | __future__.import.absolute_impor |
26b80 | 74 0a 0a 22 22 22 4d 32 43 72 79 70 74 6f 20 77 72 61 70 70 65 72 20 66 6f 72 20 4f 70 65 6e 53 | t.."""M2Crypto.wrapper.for.OpenS |
26ba0 | 53 4c 20 44 48 20 41 50 49 2e 0a 0a 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 39 39 2d 32 | SL.DH.API...Copyright.(c).1999-2 |
26bc0 | 30 30 33 20 4e 67 20 50 68 65 6e 67 20 53 69 6f 6e 67 2e 20 41 6c 6c 20 72 69 67 68 74 73 20 72 | 003.Ng.Pheng.Siong..All.rights.r |
26be0 | 65 73 65 72 76 65 64 2e 22 22 22 0a 0a 66 72 6f 6d 20 4d 32 43 72 79 70 74 6f 20 69 6d 70 6f 72 | eserved."""..from.M2Crypto.impor |
26c00 | 74 20 42 49 4f 2c 20 6d 32 2c 20 75 74 69 6c 0a 66 72 6f 6d 20 4d 32 43 72 79 70 74 6f 2e 75 74 | t.BIO,.m2,.util.from.M2Crypto.ut |
26c20 | 69 6c 20 69 6d 70 6f 72 74 20 67 65 6e 70 61 72 61 6d 5f 63 61 6c 6c 62 61 63 6b 0a 69 66 20 75 | il.import.genparam_callback.if.u |
26c40 | 74 69 6c 2e 70 79 32 37 70 6c 75 73 3a 0a 20 20 20 20 66 72 6f 6d 20 74 79 70 69 6e 67 20 69 6d | til.py27plus:.....from.typing.im |
26c60 | 70 6f 72 74 20 41 6e 79 53 74 72 2c 20 43 61 6c 6c 61 62 6c 65 20 20 23 20 6e 6f 71 61 0a 0a 0a | port.AnyStr,.Callable..#.noqa... |
26c80 | 63 6c 61 73 73 20 44 48 45 72 72 6f 72 28 45 78 63 65 70 74 69 6f 6e 29 3a 0a 20 20 20 20 70 61 | class.DHError(Exception):.....pa |
26ca0 | 73 73 0a 0a 6d 32 2e 64 68 5f 69 6e 69 74 28 44 48 45 72 72 6f 72 29 0a 0a 0a 63 6c 61 73 73 20 | ss..m2.dh_init(DHError)...class. |
26cc0 | 44 48 28 6f 62 6a 65 63 74 29 3a 0a 20 20 20 20 22 22 22 4f 62 6a 65 63 74 20 69 6e 74 65 72 66 | DH(object):....."""Object.interf |
26ce0 | 61 63 65 20 74 6f 20 74 68 65 20 44 69 66 66 69 65 2d 48 65 6c 6c 6d 61 6e 20 6b 65 79 20 65 78 | ace.to.the.Diffie-Hellman.key.ex |
26d00 | 63 68 61 6e 67 65 20 70 72 6f 74 6f 63 6f 6c 2e 0a 20 20 20 20 22 22 22 0a 0a 20 20 20 20 6d 32 | change.protocol......"""......m2 |
26d20 | 5f 64 68 5f 66 72 65 65 20 3d 20 6d 32 2e 64 68 5f 66 72 65 65 0a 0a 20 20 20 20 64 65 66 20 5f | _dh_free.=.m2.dh_free......def._ |
26d40 | 5f 69 6e 69 74 5f 5f 28 73 65 6c 66 2c 20 64 68 2c 20 5f 70 79 66 72 65 65 3d 30 29 3a 0a 20 20 | _init__(self,.dh,._pyfree=0):... |
26d60 | 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 62 79 74 65 73 2c 20 69 6e 74 29 20 2d 3e 20 4e 6f | ......#.type:.(bytes,.int).->.No |
26d80 | 6e 65 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 20 6d 32 2e 64 68 5f 74 79 70 65 5f 63 68 65 | ne.........assert.m2.dh_type_che |
26da0 | 63 6b 28 64 68 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 64 68 20 3d 20 64 68 0a 20 20 20 20 | ck(dh).........self.dh.=.dh..... |
26dc0 | 20 20 20 20 73 65 6c 66 2e 5f 70 79 66 72 65 65 20 3d 20 5f 70 79 66 72 65 65 0a 0a 20 20 20 20 | ....self._pyfree.=._pyfree...... |
26de0 | 64 65 66 20 5f 5f 64 65 6c 5f 5f 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 | def.__del__(self):.........#.typ |
26e00 | 65 3a 20 28 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 69 66 20 67 65 74 61 74 74 72 | e:.().->.None.........if.getattr |
26e20 | 28 73 65 6c 66 2c 20 27 5f 70 79 66 72 65 65 27 2c 20 30 29 3a 0a 20 20 20 20 20 20 20 20 20 20 | (self,.'_pyfree',.0):........... |
26e40 | 20 20 73 65 6c 66 2e 6d 32 5f 64 68 5f 66 72 65 65 28 73 65 6c 66 2e 64 68 29 0a 0a 20 20 20 20 | ..self.m2_dh_free(self.dh)...... |
26e60 | 64 65 66 20 5f 5f 6c 65 6e 5f 5f 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 | def.__len__(self):.........#.typ |
26e80 | 65 3a 20 28 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 20 6d 32 2e 64 | e:.().->.int.........assert.m2.d |
26ea0 | 68 5f 74 79 70 65 5f 63 68 65 63 6b 28 73 65 6c 66 2e 64 68 29 2c 20 22 27 64 68 27 20 74 79 70 | h_type_check(self.dh),."'dh'.typ |
26ec0 | 65 20 65 72 72 6f 72 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 69 6e 74 28 6d 32 2e 64 | e.error".........return.int(m2.d |
26ee0 | 68 5f 73 69 7a 65 28 73 65 6c 66 2e 64 68 29 29 0a 0a 20 20 20 20 64 65 66 20 5f 5f 67 65 74 61 | h_size(self.dh))......def.__geta |
26f00 | 74 74 72 5f 5f 28 73 65 6c 66 2c 20 6e 61 6d 65 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 | ttr__(self,.name):.........#.typ |
26f20 | 65 3a 20 28 73 74 72 29 20 2d 3e 20 62 79 74 65 73 0a 20 20 20 20 20 20 20 20 69 66 20 6e 61 6d | e:.(str).->.bytes.........if.nam |
26f40 | 65 20 69 6e 20 28 27 70 27 2c 20 27 67 27 2c 20 27 70 75 62 27 2c 20 27 70 72 69 76 27 29 3a 0a | e.in.('p',.'g',.'pub',.'priv'):. |
26f60 | 20 20 20 20 20 20 20 20 20 20 20 20 6d 65 74 68 6f 64 20 3d 20 67 65 74 61 74 74 72 28 6d 32 2c | ............method.=.getattr(m2, |
26f80 | 20 27 64 68 5f 67 65 74 5f 25 73 27 20 25 20 28 6e 61 6d 65 2c 29 29 0a 20 20 20 20 20 20 20 20 | .'dh_get_%s'.%.(name,))......... |
26fa0 | 20 20 20 20 61 73 73 65 72 74 20 6d 32 2e 64 68 5f 74 79 70 65 5f 63 68 65 63 6b 28 73 65 6c 66 | ....assert.m2.dh_type_check(self |
26fc0 | 2e 64 68 29 2c 20 22 27 64 68 27 20 74 79 70 65 20 65 72 72 6f 72 22 0a 20 20 20 20 20 20 20 20 | .dh),."'dh'.type.error"......... |
26fe0 | 20 20 20 20 72 65 74 75 72 6e 20 6d 65 74 68 6f 64 28 73 65 6c 66 2e 64 68 29 0a 20 20 20 20 20 | ....return.method(self.dh)...... |
27000 | 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 41 74 74 72 69 | ...else:.............raise.Attri |
27020 | 62 75 74 65 45 72 72 6f 72 0a 0a 20 20 20 20 64 65 66 20 5f 5f 73 65 74 61 74 74 72 5f 5f 28 73 | buteError......def.__setattr__(s |
27040 | 65 6c 66 2c 20 6e 61 6d 65 2c 20 76 61 6c 75 65 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 | elf,.name,.value):.........#.typ |
27060 | 65 3a 20 28 73 74 72 2c 20 62 79 74 65 73 29 20 2d 3e 20 62 79 74 65 73 0a 20 20 20 20 20 20 20 | e:.(str,.bytes).->.bytes........ |
27080 | 20 69 66 20 6e 61 6d 65 20 69 6e 20 28 27 70 27 2c 20 27 67 27 29 3a 0a 20 20 20 20 20 20 20 20 | .if.name.in.('p',.'g'):......... |
270a0 | 20 20 20 20 72 61 69 73 65 20 44 48 45 72 72 6f 72 28 27 73 65 74 20 28 70 2c 20 67 29 20 76 69 | ....raise.DHError('set.(p,.g).vi |
270c0 | 61 20 73 65 74 5f 70 61 72 61 6d 73 28 29 27 29 0a 20 20 20 20 20 20 20 20 65 6c 69 66 20 6e 61 | a.set_params()').........elif.na |
270e0 | 6d 65 20 69 6e 20 28 27 70 75 62 27 2c 20 27 70 72 69 76 27 29 3a 0a 20 20 20 20 20 20 20 20 20 | me.in.('pub',.'priv'):.......... |
27100 | 20 20 20 72 61 69 73 65 20 44 48 45 72 72 6f 72 28 27 67 65 6e 65 72 61 74 65 20 28 70 75 62 2c | ...raise.DHError('generate.(pub, |
27120 | 20 70 72 69 76 29 20 76 69 61 20 67 65 6e 5f 6b 65 79 28 29 27 29 0a 20 20 20 20 20 20 20 20 65 | .priv).via.gen_key()').........e |
27140 | 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 5f 64 69 63 74 5f 5f 5b 6e | lse:.............self.__dict__[n |
27160 | 61 6d 65 5d 20 3d 20 76 61 6c 75 65 0a 0a 20 20 20 20 64 65 66 20 5f 70 74 72 28 73 65 6c 66 29 | ame].=.value......def._ptr(self) |
27180 | 3a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 2e 64 68 0a 0a 20 20 20 20 64 65 | :.........return.self.dh......de |
271a0 | 66 20 63 68 65 63 6b 5f 70 61 72 61 6d 73 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 | f.check_params(self):.........#. |
271c0 | 74 79 70 65 3a 20 28 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 20 6d | type:.().->.int.........assert.m |
271e0 | 32 2e 64 68 5f 74 79 70 65 5f 63 68 65 63 6b 28 73 65 6c 66 2e 64 68 29 2c 20 22 27 64 68 27 20 | 2.dh_type_check(self.dh),."'dh'. |
27200 | 74 79 70 65 20 65 72 72 6f 72 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 64 68 | type.error".........return.m2.dh |
27220 | 5f 63 68 65 63 6b 28 73 65 6c 66 2e 64 68 29 0a 0a 20 20 20 20 64 65 66 20 67 65 6e 5f 6b 65 79 | _check(self.dh)......def.gen_key |
27240 | 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 4e 6f | (self):.........#.type:.().->.No |
27260 | 6e 65 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 20 6d 32 2e 64 68 5f 74 79 70 65 5f 63 68 65 | ne.........assert.m2.dh_type_che |
27280 | 63 6b 28 73 65 6c 66 2e 64 68 29 2c 20 22 27 64 68 27 20 74 79 70 65 20 65 72 72 6f 72 22 0a 20 | ck(self.dh),."'dh'.type.error".. |
272a0 | 20 20 20 20 20 20 20 6d 32 2e 64 68 5f 67 65 6e 65 72 61 74 65 5f 6b 65 79 28 73 65 6c 66 2e 64 | .......m2.dh_generate_key(self.d |
272c0 | 68 29 0a 0a 20 20 20 20 64 65 66 20 63 6f 6d 70 75 74 65 5f 6b 65 79 28 73 65 6c 66 2c 20 70 75 | h)......def.compute_key(self,.pu |
272e0 | 62 6b 65 79 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 62 79 74 65 73 29 20 2d | bkey):.........#.type:.(bytes).- |
27300 | 3e 20 62 79 74 65 73 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 20 6d 32 2e 64 68 5f 74 79 70 | >.bytes.........assert.m2.dh_typ |
27320 | 65 5f 63 68 65 63 6b 28 73 65 6c 66 2e 64 68 29 2c 20 22 27 64 68 27 20 74 79 70 65 20 65 72 72 | e_check(self.dh),."'dh'.type.err |
27340 | 6f 72 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 64 68 5f 63 6f 6d 70 75 74 65 | or".........return.m2.dh_compute |
27360 | 5f 6b 65 79 28 73 65 6c 66 2e 64 68 2c 20 70 75 62 6b 65 79 29 0a 0a 20 20 20 20 64 65 66 20 70 | _key(self.dh,.pubkey)......def.p |
27380 | 72 69 6e 74 5f 70 61 72 61 6d 73 28 73 65 6c 66 2c 20 62 69 6f 29 3a 0a 20 20 20 20 20 20 20 20 | rint_params(self,.bio):......... |
273a0 | 23 20 74 79 70 65 3a 20 28 42 49 4f 2e 42 49 4f 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 | #.type:.(BIO.BIO).->.int........ |
273c0 | 20 61 73 73 65 72 74 20 6d 32 2e 64 68 5f 74 79 70 65 5f 63 68 65 63 6b 28 73 65 6c 66 2e 64 68 | .assert.m2.dh_type_check(self.dh |
273e0 | 29 2c 20 22 27 64 68 27 20 74 79 70 65 20 65 72 72 6f 72 22 0a 20 20 20 20 20 20 20 20 72 65 74 | ),."'dh'.type.error".........ret |
27400 | 75 72 6e 20 6d 32 2e 64 68 70 61 72 61 6d 73 5f 70 72 69 6e 74 28 62 69 6f 2e 5f 70 74 72 28 29 | urn.m2.dhparams_print(bio._ptr() |
27420 | 2c 20 73 65 6c 66 2e 64 68 29 0a 0a 0a 64 65 66 20 67 65 6e 5f 70 61 72 61 6d 73 28 70 6c 65 6e | ,.self.dh)...def.gen_params(plen |
27440 | 2c 20 67 2c 20 63 61 6c 6c 62 61 63 6b 3d 67 65 6e 70 61 72 61 6d 5f 63 61 6c 6c 62 61 63 6b 29 | ,.g,.callback=genparam_callback) |
27460 | 3a 0a 20 20 20 20 23 20 74 79 70 65 3a 20 28 69 6e 74 2c 20 69 6e 74 2c 20 4f 70 74 69 6f 6e 61 | :.....#.type:.(int,.int,.Optiona |
27480 | 6c 5b 43 61 6c 6c 61 62 6c 65 5d 29 20 2d 3e 20 44 48 0a 20 20 20 20 64 68 5f 70 61 72 6d 73 20 | l[Callable]).->.DH.....dh_parms. |
274a0 | 3d 20 6d 32 2e 64 68 5f 67 65 6e 65 72 61 74 65 5f 70 61 72 61 6d 65 74 65 72 73 28 70 6c 65 6e | =.m2.dh_generate_parameters(plen |
274c0 | 2c 20 67 2c 20 63 61 6c 6c 62 61 63 6b 29 0a 20 20 20 20 64 68 5f 6f 62 6a 20 3d 20 44 48 28 64 | ,.g,.callback).....dh_obj.=.DH(d |
274e0 | 68 5f 70 61 72 6d 73 2c 20 31 29 0a 20 20 20 20 72 65 74 75 72 6e 20 64 68 5f 6f 62 6a 0a 0a 0a | h_parms,.1).....return.dh_obj... |
27500 | 64 65 66 20 6c 6f 61 64 5f 70 61 72 61 6d 73 28 66 69 6c 65 29 3a 0a 20 20 20 20 23 20 74 79 70 | def.load_params(file):.....#.typ |
27520 | 65 3a 20 28 41 6e 79 53 74 72 29 20 2d 3e 20 44 48 0a 20 20 20 20 77 69 74 68 20 42 49 4f 2e 6f | e:.(AnyStr).->.DH.....with.BIO.o |
27540 | 70 65 6e 66 69 6c 65 28 66 69 6c 65 29 20 61 73 20 62 69 6f 3a 0a 20 20 20 20 20 20 20 20 72 65 | penfile(file).as.bio:.........re |
27560 | 74 75 72 6e 20 6c 6f 61 64 5f 70 61 72 61 6d 73 5f 62 69 6f 28 62 69 6f 29 0a 0a 0a 64 65 66 20 | turn.load_params_bio(bio)...def. |
27580 | 6c 6f 61 64 5f 70 61 72 61 6d 73 5f 62 69 6f 28 62 69 6f 29 3a 0a 20 20 20 20 23 20 74 79 70 65 | load_params_bio(bio):.....#.type |
275a0 | 3a 20 28 42 49 4f 2e 42 49 4f 29 20 2d 3e 20 44 48 0a 20 20 20 20 72 65 74 75 72 6e 20 44 48 28 | :.(BIO.BIO).->.DH.....return.DH( |
275c0 | 6d 32 2e 64 68 5f 72 65 61 64 5f 70 61 72 61 6d 65 74 65 72 73 28 62 69 6f 2e 5f 70 74 72 28 29 | m2.dh_read_parameters(bio._ptr() |
275e0 | 29 2c 20 31 29 0a 0a 0a 64 65 66 20 73 65 74 5f 70 61 72 61 6d 73 28 70 2c 20 67 29 3a 0a 20 20 | ),.1)...def.set_params(p,.g):... |
27600 | 20 20 23 20 74 79 70 65 3a 20 28 62 79 74 65 73 2c 20 62 79 74 65 73 29 20 2d 3e 20 44 48 0a 20 | ..#.type:.(bytes,.bytes).->.DH.. |
27620 | 20 20 20 64 68 20 3d 20 6d 32 2e 64 68 5f 6e 65 77 28 29 0a 20 20 20 20 6d 32 2e 64 68 5f 73 65 | ...dh.=.m2.dh_new().....m2.dh_se |
27640 | 74 5f 70 67 28 64 68 2c 20 70 2c 20 67 29 0a 20 20 20 20 72 65 74 75 72 6e 20 44 48 28 64 68 2c | t_pg(dh,.p,.g).....return.DH(dh, |
27660 | 20 31 29 0a 0a 0a 23 20 64 65 66 20 66 72 65 65 5f 70 61 72 61 6d 73 28 63 70 74 72 29 3a 0a 23 | .1)...#.def.free_params(cptr):.# |
27680 | 20 20 20 20 6d 32 2e 64 68 5f 66 72 65 65 28 63 70 74 72 29 0a 0a 0a 44 48 5f 47 45 4e 45 52 41 | ....m2.dh_free(cptr)...DH_GENERA |
276a0 | 54 4f 52 5f 32 20 3d 20 6d 32 2e 44 48 5f 47 45 4e 45 52 41 54 4f 52 5f 32 0a 44 48 5f 47 45 4e | TOR_2.=.m2.DH_GENERATOR_2.DH_GEN |
276c0 | 45 52 41 54 4f 52 5f 35 20 3d 20 6d 32 2e 44 48 5f 47 45 4e 45 52 41 54 4f 52 5f 35 0a 94 7d 94 | ERATOR_5.=.m2.DH_GENERATOR_5..}. |
276e0 | 28 8c 07 44 48 45 72 72 6f 72 94 6a 7d 1f 00 00 4b 0d 4b 0e 87 94 8c 0b 44 48 2e 5f 5f 69 6e 69 | (..DHError.j}...K.K.....DH.__ini |
27700 | 74 5f 5f 94 6a 74 1f 00 00 4b 19 4b 1d 87 94 8c 0a 44 48 2e 5f 5f 64 65 6c 5f 5f 94 6a 74 1f 00 | t__.jt...K.K.....DH.__del__.jt.. |
27720 | 00 4b 1f 4b 22 87 94 8c 0a 44 48 2e 5f 5f 6c 65 6e 5f 5f 94 6a 74 1f 00 00 4b 24 4b 27 87 94 8c | .K.K"....DH.__len__.jt...K$K'... |
27740 | 0e 44 48 2e 5f 5f 67 65 74 61 74 74 72 5f 5f 94 6a 74 1f 00 00 4b 29 4b 30 87 94 8c 0e 44 48 2e | .DH.__getattr__.jt...K)K0....DH. |
27760 | 5f 5f 73 65 74 61 74 74 72 5f 5f 94 6a 74 1f 00 00 4b 32 4b 39 87 94 8c 07 44 48 2e 5f 70 74 72 | __setattr__.jt...K2K9....DH._ptr |
27780 | 94 6a 74 1f 00 00 4b 3b 4b 3c 87 94 8c 0f 44 48 2e 63 68 65 63 6b 5f 70 61 72 61 6d 73 94 6a 74 | .jt...K;K<....DH.check_params.jt |
277a0 | 1f 00 00 4b 3e 4b 41 87 94 8c 0a 44 48 2e 67 65 6e 5f 6b 65 79 94 6a 74 1f 00 00 4b 43 4b 46 87 | ...K>KA....DH.gen_key.jt...KCKF. |
277c0 | 94 8c 0e 44 48 2e 63 6f 6d 70 75 74 65 5f 6b 65 79 94 6a 74 1f 00 00 4b 48 4b 4b 87 94 8c 0f 44 | ...DH.compute_key.jt...KHKK....D |
277e0 | 48 2e 70 72 69 6e 74 5f 70 61 72 61 6d 73 94 6a 74 1f 00 00 4b 4d 4b 50 87 94 8c 02 44 48 94 6a | H.print_params.jt...KMKP....DH.j |
27800 | 7d 1f 00 00 4b 13 4b 50 87 94 8c 0a 67 65 6e 5f 70 61 72 61 6d 73 94 6a 74 1f 00 00 4b 53 4b 57 | }...K.KP....gen_params.jt...KSKW |
27820 | 87 94 8c 0b 6c 6f 61 64 5f 70 61 72 61 6d 73 94 6a 74 1f 00 00 4b 5a 4b 5d 87 94 8c 0f 6c 6f 61 | ....load_params.jt...KZK]....loa |
27840 | 64 5f 70 61 72 61 6d 73 5f 62 69 6f 94 6a 74 1f 00 00 4b 60 4b 62 87 94 8c 0a 73 65 74 5f 70 61 | d_params_bio.jt...K`Kb....set_pa |
27860 | 72 61 6d 73 94 6a 74 1f 00 00 4b 65 4b 69 87 94 75 7d 94 28 8c 02 44 48 94 6a 53 02 00 00 8c 0f | rams.jt...KeKi..u}.(..DH.jS..... |
27880 | 44 48 2e 63 68 65 63 6b 5f 70 61 72 61 6d 73 94 6a 53 02 00 00 8c 0e 44 48 2e 63 6f 6d 70 75 74 | DH.check_params.jS.....DH.comput |
278a0 | 65 5f 6b 65 79 94 6a 53 02 00 00 8c 0a 44 48 2e 67 65 6e 5f 6b 65 79 94 6a 53 02 00 00 8c 0f 44 | e_key.jS.....DH.gen_key.jS.....D |
278c0 | 48 2e 70 72 69 6e 74 5f 70 61 72 61 6d 73 94 6a 53 02 00 00 8c 07 44 48 45 72 72 6f 72 94 6a 53 | H.print_params.jS.....DHError.jS |
278e0 | 02 00 00 8c 0a 67 65 6e 5f 70 61 72 61 6d 73 94 6a 53 02 00 00 8c 0b 6c 6f 61 64 5f 70 61 72 61 | .....gen_params.jS.....load_para |
27900 | 6d 73 94 6a 53 02 00 00 8c 0f 6c 6f 61 64 5f 70 61 72 61 6d 73 5f 62 69 6f 94 6a 53 02 00 00 8c | ms.jS.....load_params_bio.jS.... |
27920 | 0a 73 65 74 5f 70 61 72 61 6d 73 94 6a 53 02 00 00 75 8c 0b 4d 32 43 72 79 70 74 6f 2e 44 48 94 | .set_params.jS...u..M2Crypto.DH. |
27940 | 74 94 8c 0c 4d 32 43 72 79 70 74 6f 2e 44 53 41 94 28 58 e3 37 00 00 66 72 6f 6d 20 5f 5f 66 75 | t...M2Crypto.DSA.(X.7..from.__fu |
27960 | 74 75 72 65 5f 5f 20 69 6d 70 6f 72 74 20 61 62 73 6f 6c 75 74 65 5f 69 6d 70 6f 72 74 2c 20 70 | ture__.import.absolute_import,.p |
27980 | 72 69 6e 74 5f 66 75 6e 63 74 69 6f 6e 0a 0a 22 22 22 0a 20 20 20 20 4d 32 43 72 79 70 74 6f 20 | rint_function..""".....M2Crypto. |
279a0 | 77 72 61 70 70 65 72 20 66 6f 72 20 4f 70 65 6e 53 53 4c 20 44 53 41 20 41 50 49 2e 0a 0a 20 20 | wrapper.for.OpenSSL.DSA.API..... |
279c0 | 20 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 39 39 2d 32 30 30 33 20 4e 67 20 50 68 65 | ..Copyright.(c).1999-2003.Ng.Phe |
279e0 | 6e 67 20 53 69 6f 6e 67 2e 20 41 6c 6c 20 72 69 67 68 74 73 20 72 65 73 65 72 76 65 64 2e 0a 0a | ng.Siong..All.rights.reserved... |
27a00 | 20 20 20 20 50 6f 72 74 69 6f 6e 73 20 63 72 65 61 74 65 64 20 62 79 20 4f 70 65 6e 20 53 6f 75 | ....Portions.created.by.Open.Sou |
27a20 | 72 63 65 20 41 70 70 6c 69 63 61 74 69 6f 6e 73 20 46 6f 75 6e 64 61 74 69 6f 6e 20 28 4f 53 41 | rce.Applications.Foundation.(OSA |
27a40 | 46 29 20 61 72 65 0a 20 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 34 20 4f 53 | F).are.....Copyright.(C).2004.OS |
27a60 | 41 46 2e 20 41 6c 6c 20 52 69 67 68 74 73 20 52 65 73 65 72 76 65 64 2e 0a 22 22 22 0a 0a 66 72 | AF..All.Rights.Reserved.."""..fr |
27a80 | 6f 6d 20 4d 32 43 72 79 70 74 6f 20 69 6d 70 6f 72 74 20 42 49 4f 2c 20 6d 32 2c 20 75 74 69 6c | om.M2Crypto.import.BIO,.m2,.util |
27aa0 | 0a 69 66 20 75 74 69 6c 2e 70 79 32 37 70 6c 75 73 3a 0a 20 20 20 20 66 72 6f 6d 20 74 79 70 69 | .if.util.py27plus:.....from.typi |
27ac0 | 6e 67 20 69 6d 70 6f 72 74 20 41 6e 79 53 74 72 2c 20 43 61 6c 6c 61 62 6c 65 2c 20 54 75 70 6c | ng.import.AnyStr,.Callable,.Tupl |
27ae0 | 65 20 20 23 20 6e 6f 71 61 0a 0a 0a 63 6c 61 73 73 20 44 53 41 45 72 72 6f 72 28 45 78 63 65 70 | e..#.noqa...class.DSAError(Excep |
27b00 | 74 69 6f 6e 29 3a 0a 20 20 20 20 70 61 73 73 0a 0a 6d 32 2e 64 73 61 5f 69 6e 69 74 28 44 53 41 | tion):.....pass..m2.dsa_init(DSA |
27b20 | 45 72 72 6f 72 29 0a 0a 0a 63 6c 61 73 73 20 44 53 41 28 6f 62 6a 65 63 74 29 3a 0a 0a 20 20 20 | Error)...class.DSA(object):..... |
27b40 | 20 22 22 22 0a 20 20 20 20 54 68 69 73 20 63 6c 61 73 73 20 69 73 20 61 20 63 6f 6e 74 65 78 74 | .""".....This.class.is.a.context |
27b60 | 20 73 75 70 70 6f 72 74 69 6e 67 20 44 53 41 20 6b 65 79 20 61 6e 64 20 70 61 72 61 6d 65 74 65 | .supporting.DSA.key.and.paramete |
27b80 | 72 0a 20 20 20 20 76 61 6c 75 65 73 2c 20 73 69 67 6e 69 6e 67 20 61 6e 64 20 76 65 72 69 66 79 | r.....values,.signing.and.verify |
27ba0 | 69 6e 67 2e 0a 0a 20 20 20 20 53 69 6d 70 6c 65 20 65 78 61 6d 70 6c 65 3a 3a 0a 0a 20 20 20 20 | ing.......Simple.example::...... |
27bc0 | 20 20 20 20 66 72 6f 6d 20 4d 32 43 72 79 70 74 6f 20 69 6d 70 6f 72 74 20 45 56 50 2c 20 44 53 | ....from.M2Crypto.import.EVP,.DS |
27be0 | 41 2c 20 75 74 69 6c 0a 0a 20 20 20 20 20 20 20 20 6d 65 73 73 61 67 65 20 3d 20 27 4b 69 6c 72 | A,.util..........message.=.'Kilr |
27c00 | 6f 79 20 77 61 73 20 68 65 72 65 21 27 0a 20 20 20 20 20 20 20 20 6d 64 20 3d 20 45 56 50 2e 4d | oy.was.here!'.........md.=.EVP.M |
27c20 | 65 73 73 61 67 65 44 69 67 65 73 74 28 27 73 68 61 31 27 29 0a 20 20 20 20 20 20 20 20 6d 64 2e | essageDigest('sha1').........md. |
27c40 | 75 70 64 61 74 65 28 6d 65 73 73 61 67 65 29 0a 20 20 20 20 20 20 20 20 64 69 67 65 73 74 20 3d | update(message).........digest.= |
27c60 | 20 6d 64 2e 66 69 6e 61 6c 28 29 0a 0a 20 20 20 20 20 20 20 20 64 73 61 20 3d 20 44 53 41 2e 67 | .md.final()..........dsa.=.DSA.g |
27c80 | 65 6e 5f 70 61 72 61 6d 73 28 31 30 32 34 29 0a 20 20 20 20 20 20 20 20 64 73 61 2e 67 65 6e 5f | en_params(1024).........dsa.gen_ |
27ca0 | 6b 65 79 28 29 0a 20 20 20 20 20 20 20 20 72 2c 20 73 20 3d 20 64 73 61 2e 73 69 67 6e 28 64 69 | key().........r,.s.=.dsa.sign(di |
27cc0 | 67 65 73 74 29 0a 20 20 20 20 20 20 20 20 67 6f 6f 64 20 3d 20 64 73 61 2e 76 65 72 69 66 79 28 | gest).........good.=.dsa.verify( |
27ce0 | 64 69 67 65 73 74 2c 20 72 2c 20 73 29 0a 20 20 20 20 20 20 20 20 69 66 20 67 6f 6f 64 3a 0a 20 | digest,.r,.s).........if.good:.. |
27d00 | 20 20 20 20 20 20 20 20 20 20 20 70 72 69 6e 74 28 27 20 20 2a 2a 20 73 75 63 63 65 73 73 20 2a | ...........print('..**.success.* |
27d20 | 2a 27 29 0a 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 72 | *').........else:.............pr |
27d40 | 69 6e 74 28 27 20 20 2a 2a 20 76 65 72 69 66 69 63 61 74 69 6f 6e 20 66 61 69 6c 65 64 20 2a 2a | int('..**.verification.failed.** |
27d60 | 27 29 0a 20 20 20 20 22 22 22 0a 0a 20 20 20 20 6d 32 5f 64 73 61 5f 66 72 65 65 20 3d 20 6d 32 | ')....."""......m2_dsa_free.=.m2 |
27d80 | 2e 64 73 61 5f 66 72 65 65 0a 0a 20 20 20 20 64 65 66 20 5f 5f 69 6e 69 74 5f 5f 28 73 65 6c 66 | .dsa_free......def.__init__(self |
27da0 | 2c 20 64 73 61 2c 20 5f 70 79 66 72 65 65 3d 30 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 | ,.dsa,._pyfree=0):.........#.typ |
27dc0 | 65 3a 20 28 62 79 74 65 73 2c 20 69 6e 74 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 | e:.(bytes,.int).->.None......... |
27de0 | 22 22 22 0a 20 20 20 20 20 20 20 20 55 73 65 20 6f 6e 65 20 6f 66 20 74 68 65 20 66 61 63 74 6f | """.........Use.one.of.the.facto |
27e00 | 72 79 20 66 75 6e 63 74 69 6f 6e 73 20 74 6f 20 63 72 65 61 74 65 20 61 6e 20 69 6e 73 74 61 6e | ry.functions.to.create.an.instan |
27e20 | 63 65 2e 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 64 73 61 3a 20 62 69 6e 61 72 79 20 72 | ce..........:param.dsa:.binary.r |
27e40 | 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20 4f 70 65 6e 53 53 4c 20 44 53 41 20 74 79 70 | epresentation.of.OpenSSL.DSA.typ |
27e60 | 65 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 20 6d 32 2e | e.........""".........assert.m2. |
27e80 | 64 73 61 5f 74 79 70 65 5f 63 68 65 63 6b 28 64 73 61 29 2c 20 22 27 64 73 61 27 20 74 79 70 65 | dsa_type_check(dsa),."'dsa'.type |
27ea0 | 20 65 72 72 6f 72 22 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 64 73 61 20 3d 20 64 73 61 0a 20 | .error".........self.dsa.=.dsa.. |
27ec0 | 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 70 79 66 72 65 65 20 3d 20 5f 70 79 66 72 65 65 0a 0a 20 | .......self._pyfree.=._pyfree... |
27ee0 | 20 20 20 64 65 66 20 5f 5f 64 65 6c 5f 5f 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 | ...def.__del__(self):.........#. |
27f00 | 74 79 70 65 3a 20 28 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 69 66 20 67 65 74 61 | type:.().->.None.........if.geta |
27f20 | 74 74 72 28 73 65 6c 66 2c 20 27 5f 70 79 66 72 65 65 27 2c 20 30 29 3a 0a 20 20 20 20 20 20 20 | ttr(self,.'_pyfree',.0):........ |
27f40 | 20 20 20 20 20 73 65 6c 66 2e 6d 32 5f 64 73 61 5f 66 72 65 65 28 73 65 6c 66 2e 64 73 61 29 0a | .....self.m2_dsa_free(self.dsa). |
27f60 | 0a 20 20 20 20 64 65 66 20 5f 5f 6c 65 6e 5f 5f 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 | .....def.__len__(self):......... |
27f80 | 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 | #.type:.().->.int........."""... |
27fa0 | 20 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 6b 65 79 20 6c 65 6e 67 74 68 2e 0a 0a 20 20 | ......Return.the.key.length..... |
27fc0 | 20 20 20 20 20 20 3a 72 65 74 75 72 6e 3a 20 20 74 68 65 20 44 53 41 20 6b 65 79 20 6c 65 6e 67 | ......:return:..the.DSA.key.leng |
27fe0 | 74 68 20 69 6e 20 62 69 74 73 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 61 | th.in.bits.........""".........a |
28000 | 73 73 65 72 74 20 6d 32 2e 64 73 61 5f 74 79 70 65 5f 63 68 65 63 6b 28 73 65 6c 66 2e 64 73 61 | ssert.m2.dsa_type_check(self.dsa |
28020 | 29 2c 20 22 27 64 73 61 27 20 74 79 70 65 20 65 72 72 6f 72 22 0a 20 20 20 20 20 20 20 20 72 65 | ),."'dsa'.type.error".........re |
28040 | 74 75 72 6e 20 6d 32 2e 64 73 61 5f 6b 65 79 6c 65 6e 28 73 65 6c 66 2e 64 73 61 29 0a 0a 20 20 | turn.m2.dsa_keylen(self.dsa).... |
28060 | 20 20 64 65 66 20 5f 5f 67 65 74 61 74 74 72 5f 5f 28 73 65 6c 66 2c 20 6e 61 6d 65 29 3a 0a 20 | ..def.__getattr__(self,.name):.. |
28080 | 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 73 74 72 29 20 2d 3e 20 62 79 74 65 73 0a 20 20 | .......#.type:.(str).->.bytes... |
280a0 | 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 52 65 74 75 72 6e 20 73 70 65 63 69 66 69 | ......""".........Return.specifi |
280c0 | 65 64 20 44 53 41 20 70 61 72 61 6d 65 74 65 72 73 20 61 6e 64 20 6b 65 79 20 76 61 6c 75 65 73 | ed.DSA.parameters.and.key.values |
280e0 | 2e 0a 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 6e 61 6d 65 3a 20 6e 61 6d 65 20 6f 66 20 | ...........:param.name:.name.of. |
28100 | 76 61 72 69 61 62 6c 65 20 74 6f 20 62 65 20 72 65 74 75 72 6e 65 64 2e 20 20 4d 75 73 74 20 62 | variable.to.be.returned...Must.b |
28120 | 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 6e 65 20 6f 66 20 27 70 | e......................one.of.'p |
28140 | 27 2c 20 27 71 27 2c 20 27 67 27 2c 20 27 70 75 62 27 2c 20 27 70 72 69 76 27 2e 0a 20 20 20 20 | ',.'q',.'g',.'pub',.'priv'...... |
28160 | 20 20 20 20 3a 72 65 74 75 72 6e 3a 20 20 20 20 20 76 61 6c 75 65 20 6f 66 20 73 70 65 63 69 66 | ....:return:.....value.of.specif |
28180 | 69 65 64 20 76 61 72 69 61 62 6c 65 20 28 61 20 22 62 79 74 65 20 73 74 72 69 6e 67 22 29 0a 20 | ied.variable.(a."byte.string").. |
281a0 | 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 69 66 20 6e 61 6d 65 20 69 6e 20 5b 27 | .......""".........if.name.in.[' |
281c0 | 70 27 2c 20 27 71 27 2c 20 27 67 27 2c 20 27 70 75 62 27 2c 20 27 70 72 69 76 27 5d 3a 0a 20 20 | p',.'q',.'g',.'pub',.'priv']:... |
281e0 | 20 20 20 20 20 20 20 20 20 20 6d 65 74 68 6f 64 20 3d 20 67 65 74 61 74 74 72 28 6d 32 2c 20 27 | ..........method.=.getattr(m2,.' |
28200 | 64 73 61 5f 67 65 74 5f 25 73 27 20 25 20 28 6e 61 6d 65 2c 29 29 0a 20 20 20 20 20 20 20 20 20 | dsa_get_%s'.%.(name,)).......... |
28220 | 20 20 20 61 73 73 65 72 74 20 6d 32 2e 64 73 61 5f 74 79 70 65 5f 63 68 65 63 6b 28 73 65 6c 66 | ...assert.m2.dsa_type_check(self |
28240 | 2e 64 73 61 29 2c 20 22 27 64 73 61 27 20 74 79 70 65 20 65 72 72 6f 72 22 0a 20 20 20 20 20 20 | .dsa),."'dsa'.type.error"....... |
28260 | 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 65 74 68 6f 64 28 73 65 6c 66 2e 64 73 61 29 0a 20 20 | ......return.method(self.dsa)... |
28280 | 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 41 74 | ......else:.............raise.At |
282a0 | 74 72 69 62 75 74 65 45 72 72 6f 72 0a 0a 20 20 20 20 64 65 66 20 5f 5f 73 65 74 61 74 74 72 5f | tributeError......def.__setattr_ |
282c0 | 5f 28 73 65 6c 66 2c 20 6e 61 6d 65 2c 20 76 61 6c 75 65 29 3a 0a 20 20 20 20 20 20 20 20 23 20 | _(self,.name,.value):.........#. |
282e0 | 74 79 70 65 3a 20 28 73 74 72 2c 20 62 79 74 65 73 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 | type:.(str,.bytes).->.None...... |
28300 | 20 20 20 69 66 20 6e 61 6d 65 20 69 6e 20 5b 27 70 27 2c 20 27 71 27 2c 20 27 67 27 5d 3a 0a 20 | ...if.name.in.['p',.'q',.'g']:.. |
28320 | 20 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 44 53 41 45 72 72 6f 72 28 27 73 65 74 20 28 | ...........raise.DSAError('set.( |
28340 | 70 2c 20 71 2c 20 67 29 20 76 69 61 20 73 65 74 5f 70 61 72 61 6d 73 28 29 27 29 0a 20 20 20 20 | p,.q,.g).via.set_params()')..... |
28360 | 20 20 20 20 65 6c 69 66 20 6e 61 6d 65 20 69 6e 20 5b 27 70 75 62 27 2c 20 27 70 72 69 76 27 5d | ....elif.name.in.['pub',.'priv'] |
28380 | 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 44 53 41 45 72 72 6f 72 28 27 67 65 | :.............raise.DSAError('ge |
283a0 | 6e 65 72 61 74 65 20 28 70 75 62 2c 20 70 72 69 76 29 20 76 69 61 20 67 65 6e 5f 6b 65 79 28 29 | nerate.(pub,.priv).via.gen_key() |
283c0 | 27 29 0a 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c | ').........else:.............sel |
283e0 | 66 2e 5f 5f 64 69 63 74 5f 5f 5b 6e 61 6d 65 5d 20 3d 20 76 61 6c 75 65 0a 0a 20 20 20 20 64 65 | f.__dict__[name].=.value......de |
28400 | 66 20 73 65 74 5f 70 61 72 61 6d 73 28 73 65 6c 66 2c 20 70 2c 20 71 2c 20 67 29 3a 0a 20 20 20 | f.set_params(self,.p,.q,.g):.... |
28420 | 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 62 79 74 65 73 2c 20 62 79 74 65 73 2c 20 62 79 74 65 | .....#.type:.(bytes,.bytes,.byte |
28440 | 73 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 53 | s).->.None.........""".........S |
28460 | 65 74 20 6e 65 77 20 70 61 72 61 6d 65 74 65 72 73 2e 0a 0a 20 20 20 20 20 20 20 20 3a 70 61 72 | et.new.parameters...........:par |
28480 | 61 6d 20 70 3a 20 4d 50 49 20 62 69 6e 61 72 79 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 | am.p:.MPI.binary.representation. |
284a0 | 2e 2e 2e 20 66 6f 72 6d 61 74 20 74 68 61 74 20 63 6f 6e 73 69 73 74 73 20 6f 66 0a 20 20 20 20 | ....format.that.consists.of..... |
284c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 65 20 6e 75 6d 62 65 72 27 73 20 6c 65 6e 67 74 | ..............the.number's.lengt |
284e0 | 68 20 69 6e 20 62 79 74 65 73 20 72 65 70 72 65 73 65 6e 74 65 64 20 61 73 20 61 20 34 2d 62 79 | h.in.bytes.represented.as.a.4-by |
28500 | 74 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 69 67 2d 65 6e 64 69 61 6e 20 | te...................big-endian. |
28520 | 6e 75 6d 62 65 72 2c 20 61 6e 64 20 74 68 65 20 6e 75 6d 62 65 72 20 69 74 73 65 6c 66 20 69 6e | number,.and.the.number.itself.in |
28540 | 20 62 69 67 2d 65 6e 64 69 61 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f | .big-endian...................fo |
28560 | 72 6d 61 74 2c 20 77 68 65 72 65 20 74 68 65 20 6d 6f 73 74 20 73 69 67 6e 69 66 69 63 61 6e 74 | rmat,.where.the.most.significant |
28580 | 20 62 69 74 20 73 69 67 6e 61 6c 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 | .bit.signals...................a |
285a0 | 20 6e 65 67 61 74 69 76 65 20 6e 75 6d 62 65 72 20 28 74 68 65 20 72 65 70 72 65 73 65 6e 74 61 | .negative.number.(the.representa |
285c0 | 74 69 6f 6e 20 6f 66 20 6e 75 6d 62 65 72 73 20 77 69 74 68 0a 20 20 20 20 20 20 20 20 20 20 20 | tion.of.numbers.with............ |
285e0 | 20 20 20 20 20 20 20 74 68 65 20 4d 53 42 20 73 65 74 20 69 73 20 70 72 65 66 69 78 65 64 20 77 | .......the.MSB.set.is.prefixed.w |
28600 | 69 74 68 20 6e 75 6c 6c 20 62 79 74 65 29 2e 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 71 | ith.null.byte)..........:param.q |
28620 | 3a 20 64 69 74 74 6f 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 67 3a 20 64 69 74 74 6f 0a | :.ditto.........:param.g:.ditto. |
28640 | 0a 20 20 20 20 20 20 20 20 40 77 61 72 6e 69 6e 67 3a 20 54 68 69 73 20 64 6f 65 73 20 6e 6f 74 | .........@warning:.This.does.not |
28660 | 20 63 68 61 6e 67 65 20 74 68 65 20 70 72 69 76 61 74 65 20 6b 65 79 2c 20 73 6f 20 69 74 20 6d | .change.the.private.key,.so.it.m |
28680 | 61 79 20 62 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 6e 73 61 66 65 20 74 | ay.be...................unsafe.t |
286a0 | 6f 20 75 73 65 20 74 68 69 73 20 6d 65 74 68 6f 64 2e 20 49 74 20 69 73 20 62 65 74 74 65 72 20 | o.use.this.method..It.is.better. |
286c0 | 74 6f 20 75 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 67 65 6e 5f 70 61 72 | to.use...................gen_par |
286e0 | 61 6d 73 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 63 72 65 61 74 65 20 61 20 6e 65 77 20 44 53 41 | ams.function.to.create.a.new.DSA |
28700 | 20 6f 62 6a 65 63 74 2e 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 6d 32 2e | .object..........""".........m2. |
28720 | 64 73 61 5f 73 65 74 5f 70 71 67 28 73 65 6c 66 2e 64 73 61 2c 20 70 2c 20 71 2c 20 67 29 0a 0a | dsa_set_pqg(self.dsa,.p,.q,.g).. |
28740 | 20 20 20 20 64 65 66 20 67 65 6e 5f 6b 65 79 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 | ....def.gen_key(self):.........# |
28760 | 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 | .type:.().->.None........."""... |
28780 | 20 20 20 20 20 20 47 65 6e 65 72 61 74 65 20 61 20 6b 65 79 20 70 61 69 72 2e 0a 20 20 20 20 20 | ......Generate.a.key.pair....... |
287a0 | 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 20 6d 32 2e 64 73 61 5f 74 79 70 | ...""".........assert.m2.dsa_typ |
287c0 | 65 5f 63 68 65 63 6b 28 73 65 6c 66 2e 64 73 61 29 2c 20 22 27 64 73 61 27 20 74 79 70 65 20 65 | e_check(self.dsa),."'dsa'.type.e |
287e0 | 72 72 6f 72 22 0a 20 20 20 20 20 20 20 20 6d 32 2e 64 73 61 5f 67 65 6e 5f 6b 65 79 28 73 65 6c | rror".........m2.dsa_gen_key(sel |
28800 | 66 2e 64 73 61 29 0a 0a 20 20 20 20 64 65 66 20 73 61 76 65 5f 70 61 72 61 6d 73 28 73 65 6c 66 | f.dsa)......def.save_params(self |
28820 | 2c 20 66 69 6c 65 6e 61 6d 65 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 41 6e | ,.filename):.........#.type:.(An |
28840 | 79 53 74 72 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 | yStr).->.int........."""........ |
28860 | 20 53 61 76 65 20 74 68 65 20 44 53 41 20 70 61 72 61 6d 65 74 65 72 73 20 74 6f 20 61 20 66 69 | .Save.the.DSA.parameters.to.a.fi |
28880 | 6c 65 2e 0a 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 66 69 6c 65 6e 61 6d 65 3a 20 53 61 | le...........:param.filename:.Sa |
288a0 | 76 65 20 74 68 65 20 44 53 41 20 70 61 72 61 6d 65 74 65 72 73 20 74 6f 20 74 68 69 73 20 66 69 | ve.the.DSA.parameters.to.this.fi |
288c0 | 6c 65 2e 0a 20 20 20 20 20 20 20 20 3a 72 65 74 75 72 6e 3a 20 20 20 20 20 20 20 20 20 31 20 28 | le..........:return:.........1.( |
288e0 | 74 72 75 65 29 20 69 66 20 73 75 63 63 65 73 73 66 75 6c 0a 20 20 20 20 20 20 20 20 22 22 22 0a | true).if.successful.........""". |
28900 | 20 20 20 20 20 20 20 20 77 69 74 68 20 42 49 4f 2e 6f 70 65 6e 66 69 6c 65 28 66 69 6c 65 6e 61 | ........with.BIO.openfile(filena |
28920 | 6d 65 2c 20 27 77 62 27 29 20 61 73 20 62 69 6f 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 | me,.'wb').as.bio:.............re |
28940 | 74 20 3d 20 6d 32 2e 64 73 61 5f 77 72 69 74 65 5f 70 61 72 61 6d 73 5f 62 69 6f 28 73 65 6c 66 | t.=.m2.dsa_write_params_bio(self |
28960 | 2e 64 73 61 2c 20 62 69 6f 2e 5f 70 74 72 28 29 29 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 | .dsa,.bio._ptr())..........retur |
28980 | 6e 20 72 65 74 0a 0a 20 20 20 20 64 65 66 20 73 61 76 65 5f 70 61 72 61 6d 73 5f 62 69 6f 28 73 | n.ret......def.save_params_bio(s |
289a0 | 65 6c 66 2c 20 62 69 6f 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 42 49 4f 2e | elf,.bio):.........#.type:.(BIO. |
289c0 | 42 49 4f 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 | BIO).->.int........."""......... |
289e0 | 53 61 76 65 20 44 53 41 20 70 61 72 61 6d 65 74 65 72 73 20 74 6f 20 61 20 42 49 4f 20 6f 62 6a | Save.DSA.parameters.to.a.BIO.obj |
28a00 | 65 63 74 2e 0a 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 62 69 6f 3a 20 53 61 76 65 20 44 | ect...........:param.bio:.Save.D |
28a20 | 53 41 20 70 61 72 61 6d 65 74 65 72 73 20 74 6f 20 74 68 69 73 20 6f 62 6a 65 63 74 2e 0a 20 20 | SA.parameters.to.this.object.... |
28a40 | 20 20 20 20 20 20 3a 72 65 74 75 72 6e 3a 20 20 20 20 31 20 28 74 72 75 65 29 20 69 66 20 73 75 | ......:return:....1.(true).if.su |
28a60 | 63 63 65 73 73 66 75 6c 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 72 65 74 | ccessful.........""".........ret |
28a80 | 75 72 6e 20 6d 32 2e 64 73 61 5f 77 72 69 74 65 5f 70 61 72 61 6d 73 5f 62 69 6f 28 73 65 6c 66 | urn.m2.dsa_write_params_bio(self |
28aa0 | 2e 64 73 61 2c 20 62 69 6f 2e 5f 70 74 72 28 29 29 0a 0a 20 20 20 20 64 65 66 20 73 61 76 65 5f | .dsa,.bio._ptr())......def.save_ |
28ac0 | 6b 65 79 28 73 65 6c 66 2c 20 66 69 6c 65 6e 61 6d 65 2c 20 63 69 70 68 65 72 3d 27 61 65 73 5f | key(self,.filename,.cipher='aes_ |
28ae0 | 31 32 38 5f 63 62 63 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 6c 6c 62 | 128_cbc',..................callb |
28b00 | 61 63 6b 3d 75 74 69 6c 2e 70 61 73 73 70 68 72 61 73 65 5f 63 61 6c 6c 62 61 63 6b 29 3a 0a 20 | ack=util.passphrase_callback):.. |
28b20 | 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 41 6e 79 53 74 72 2c 20 73 74 72 2c 20 43 61 6c | .......#.type:.(AnyStr,.str,.Cal |
28b40 | 6c 61 62 6c 65 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 | lable).->.int........."""....... |
28b60 | 20 20 53 61 76 65 20 74 68 65 20 44 53 41 20 6b 65 79 20 70 61 69 72 20 74 6f 20 61 20 66 69 6c | ..Save.the.DSA.key.pair.to.a.fil |
28b80 | 65 2e 0a 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 66 69 6c 65 6e 61 6d 65 3a 20 53 61 76 | e...........:param.filename:.Sav |
28ba0 | 65 20 74 68 65 20 44 53 41 20 6b 65 79 20 70 61 69 72 20 74 6f 20 74 68 69 73 20 66 69 6c 65 2e | e.the.DSA.key.pair.to.this.file. |
28bc0 | 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 63 69 70 68 65 72 3a 20 20 20 6e 61 6d 65 20 6f | .........:param.cipher:...name.o |
28be0 | 66 20 73 79 6d 6d 65 74 72 69 63 20 6b 65 79 20 61 6c 67 6f 72 69 74 68 6d 20 61 6e 64 20 6d 6f | f.symmetric.key.algorithm.and.mo |
28c00 | 64 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 6f 20 65 | de..........................to.e |
28c20 | 6e 63 72 79 70 74 20 74 68 65 20 70 72 69 76 61 74 65 20 6b 65 79 2e 0a 20 20 20 20 20 20 20 20 | ncrypt.the.private.key.......... |
28c40 | 3a 72 65 74 75 72 6e 3a 20 20 20 20 20 20 20 20 20 31 20 28 74 72 75 65 29 20 69 66 20 73 75 63 | :return:.........1.(true).if.suc |
28c60 | 63 65 73 73 66 75 6c 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 77 69 74 68 | cessful.........""".........with |
28c80 | 20 42 49 4f 2e 6f 70 65 6e 66 69 6c 65 28 66 69 6c 65 6e 61 6d 65 2c 20 27 77 62 27 29 20 61 73 | .BIO.openfile(filename,.'wb').as |
28ca0 | 20 62 69 6f 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 20 3d 20 73 65 6c 66 2e 73 61 76 | .bio:.............ret.=.self.sav |
28cc0 | 65 5f 6b 65 79 5f 62 69 6f 28 62 69 6f 2c 20 63 69 70 68 65 72 2c 20 63 61 6c 6c 62 61 63 6b 29 | e_key_bio(bio,.cipher,.callback) |
28ce0 | 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 72 65 74 0a 0a 20 20 20 20 64 65 66 20 73 61 | ..........return.ret......def.sa |
28d00 | 76 65 5f 6b 65 79 5f 62 69 6f 28 73 65 6c 66 2c 20 62 69 6f 2c 20 63 69 70 68 65 72 3d 27 61 65 | ve_key_bio(self,.bio,.cipher='ae |
28d20 | 73 5f 31 32 38 5f 63 62 63 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | s_128_cbc',..................... |
28d40 | 20 63 61 6c 6c 62 61 63 6b 3d 75 74 69 6c 2e 70 61 73 73 70 68 72 61 73 65 5f 63 61 6c 6c 62 61 | .callback=util.passphrase_callba |
28d60 | 63 6b 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 42 49 4f 2e 42 49 4f 2c 20 73 | ck):.........#.type:.(BIO.BIO,.s |
28d80 | 74 72 2c 20 43 61 6c 6c 61 62 6c 65 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 22 22 22 | tr,.Callable).->.int.........""" |
28da0 | 0a 20 20 20 20 20 20 20 20 53 61 76 65 20 44 53 41 20 6b 65 79 20 70 61 69 72 20 74 6f 20 61 20 | .........Save.DSA.key.pair.to.a. |
28dc0 | 42 49 4f 20 6f 62 6a 65 63 74 2e 0a 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 62 69 6f 3a | BIO.object...........:param.bio: |
28de0 | 20 20 20 20 53 61 76 65 20 44 53 41 20 70 61 72 61 6d 65 74 65 72 73 20 74 6f 20 74 68 69 73 20 | ....Save.DSA.parameters.to.this. |
28e00 | 6f 62 6a 65 63 74 2e 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 63 69 70 68 65 72 3a 20 6e | object..........:param.cipher:.n |
28e20 | 61 6d 65 20 6f 66 20 73 79 6d 6d 65 74 72 69 63 20 6b 65 79 20 61 6c 67 6f 72 69 74 68 6d 20 61 | ame.of.symmetric.key.algorithm.a |
28e40 | 6e 64 20 6d 6f 64 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 | nd.mode........................t |
28e60 | 6f 20 65 6e 63 72 79 70 74 20 74 68 65 20 70 72 69 76 61 74 65 20 6b 65 79 2e 0a 20 20 20 20 20 | o.encrypt.the.private.key....... |
28e80 | 20 20 20 3a 72 65 74 75 72 6e 3a 20 20 20 20 20 20 20 31 20 28 74 72 75 65 29 20 69 66 20 73 75 | ...:return:.......1.(true).if.su |
28ea0 | 63 63 65 73 73 66 75 6c 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 69 66 20 | ccessful.........""".........if. |
28ec0 | 63 69 70 68 65 72 20 69 73 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 | cipher.is.None:.............retu |
28ee0 | 72 6e 20 6d 32 2e 64 73 61 5f 77 72 69 74 65 5f 6b 65 79 5f 62 69 6f 5f 6e 6f 5f 63 69 70 68 65 | rn.m2.dsa_write_key_bio_no_ciphe |
28f00 | 72 28 73 65 6c 66 2e 64 73 61 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | r(self.dsa,..................... |
28f20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 69 | ..............................bi |
28f40 | 6f 2e 5f 70 74 72 28 29 2c 20 63 61 6c 6c 62 61 63 6b 29 0a 20 20 20 20 20 20 20 20 65 6c 73 65 | o._ptr(),.callback).........else |
28f60 | 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 69 70 68 20 3d 20 67 65 74 61 74 74 72 28 6d 32 2c | :.............ciph.=.getattr(m2, |
28f80 | 20 63 69 70 68 65 72 2c 20 4e 6f 6e 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 63 69 | .cipher,.None).............if.ci |
28fa0 | 70 68 20 69 73 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 69 73 | ph.is.None:.................rais |
28fc0 | 65 20 44 53 41 45 72 72 6f 72 28 27 6e 6f 20 73 75 63 68 20 63 69 70 68 65 72 3a 20 25 73 27 20 | e.DSAError('no.such.cipher:.%s'. |
28fe0 | 25 20 63 69 70 68 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 | %.cipher).............else:..... |
29000 | 20 20 20 20 20 20 20 20 20 20 20 20 63 69 70 68 20 3d 20 63 69 70 68 28 29 0a 20 20 20 20 20 20 | ............ciph.=.ciph()....... |
29020 | 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 64 73 61 5f 77 72 69 74 65 5f 6b 65 79 5f 62 69 | ......return.m2.dsa_write_key_bi |
29040 | 6f 28 73 65 6c 66 2e 64 73 61 2c 20 62 69 6f 2e 5f 70 74 72 28 29 2c 20 63 69 70 68 2c 20 63 61 | o(self.dsa,.bio._ptr(),.ciph,.ca |
29060 | 6c 6c 62 61 63 6b 29 0a 0a 20 20 20 20 64 65 66 20 73 61 76 65 5f 70 75 62 5f 6b 65 79 28 73 65 | llback)......def.save_pub_key(se |
29080 | 6c 66 2c 20 66 69 6c 65 6e 61 6d 65 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 | lf,.filename):.........#.type:.( |
290a0 | 41 6e 79 53 74 72 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 | AnyStr).->.int........."""...... |
290c0 | 20 20 20 53 61 76 65 20 74 68 65 20 44 53 41 20 70 75 62 6c 69 63 20 6b 65 79 20 28 77 69 74 68 | ...Save.the.DSA.public.key.(with |
290e0 | 20 70 61 72 61 6d 65 74 65 72 73 29 20 74 6f 20 61 20 66 69 6c 65 2e 0a 0a 20 20 20 20 20 20 20 | .parameters).to.a.file.......... |
29100 | 20 3a 70 61 72 61 6d 20 66 69 6c 65 6e 61 6d 65 3a 20 53 61 76 65 20 44 53 41 20 70 75 62 6c 69 | .:param.filename:.Save.DSA.publi |
29120 | 63 20 6b 65 79 20 28 77 69 74 68 20 70 61 72 61 6d 65 74 65 72 73 29 0a 20 20 20 20 20 20 20 20 | c.key.(with.parameters)......... |
29140 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 6f 20 74 68 69 73 20 66 69 6c 65 2e 0a 20 | .................to.this.file... |
29160 | 20 20 20 20 20 20 20 3a 72 65 74 75 72 6e 3a 20 20 20 20 20 20 20 20 20 31 20 28 74 72 75 65 29 | .......:return:.........1.(true) |
29180 | 20 69 66 20 73 75 63 63 65 73 73 66 75 6c 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 | .if.successful........."""...... |
291a0 | 20 20 20 77 69 74 68 20 42 49 4f 2e 6f 70 65 6e 66 69 6c 65 28 66 69 6c 65 6e 61 6d 65 2c 20 27 | ...with.BIO.openfile(filename,.' |
291c0 | 77 62 27 29 20 61 73 20 62 69 6f 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 20 3d 20 73 | wb').as.bio:.............ret.=.s |
291e0 | 65 6c 66 2e 73 61 76 65 5f 70 75 62 5f 6b 65 79 5f 62 69 6f 28 62 69 6f 29 0a 0a 20 20 20 20 20 | elf.save_pub_key_bio(bio)....... |
29200 | 20 20 20 72 65 74 75 72 6e 20 72 65 74 0a 0a 20 20 20 20 64 65 66 20 73 61 76 65 5f 70 75 62 5f | ...return.ret......def.save_pub_ |
29220 | 6b 65 79 5f 62 69 6f 28 73 65 6c 66 2c 20 62 69 6f 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 | key_bio(self,.bio):.........#.ty |
29240 | 70 65 3a 20 28 42 49 4f 2e 42 49 4f 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 22 22 22 | pe:.(BIO.BIO).->.int.........""" |
29260 | 0a 20 20 20 20 20 20 20 20 53 61 76 65 20 44 53 41 20 70 75 62 6c 69 63 20 6b 65 79 20 28 77 69 | .........Save.DSA.public.key.(wi |
29280 | 74 68 20 70 61 72 61 6d 65 74 65 72 73 29 20 74 6f 20 61 20 42 49 4f 20 6f 62 6a 65 63 74 2e 0a | th.parameters).to.a.BIO.object.. |
292a0 | 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 62 69 6f 3a 20 53 61 76 65 20 44 53 41 20 70 75 | .........:param.bio:.Save.DSA.pu |
292c0 | 62 6c 69 63 20 6b 65 79 20 28 77 69 74 68 20 70 61 72 61 6d 65 74 65 72 73 29 0a 20 20 20 20 20 | blic.key.(with.parameters)...... |
292e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 6f 20 74 68 69 73 20 6f 62 6a 65 63 74 2e 0a 20 | ...............to.this.object... |
29300 | 20 20 20 20 20 20 20 3a 72 65 74 75 72 6e 3a 20 20 31 20 28 74 72 75 65 29 20 69 66 20 73 75 63 | .......:return:..1.(true).if.suc |
29320 | 63 65 73 73 66 75 6c 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 | cessful.........""".........retu |
29340 | 72 6e 20 6d 32 2e 64 73 61 5f 77 72 69 74 65 5f 70 75 62 5f 6b 65 79 5f 62 69 6f 28 73 65 6c 66 | rn.m2.dsa_write_pub_key_bio(self |
29360 | 2e 64 73 61 2c 20 62 69 6f 2e 5f 70 74 72 28 29 29 0a 0a 20 20 20 20 64 65 66 20 73 69 67 6e 28 | .dsa,.bio._ptr())......def.sign( |
29380 | 73 65 6c 66 2c 20 64 69 67 65 73 74 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 | self,.digest):.........#.type:.( |
293a0 | 62 79 74 65 73 29 20 2d 3e 20 54 75 70 6c 65 5b 62 79 74 65 73 2c 20 62 79 74 65 73 5d 0a 20 20 | bytes).->.Tuple[bytes,.bytes]... |
293c0 | 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 53 69 67 6e 20 74 68 65 20 64 69 67 65 73 | ......""".........Sign.the.diges |
293e0 | 74 2e 0a 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 64 69 67 65 73 74 3a 20 53 48 41 2d 31 | t...........:param.digest:.SHA-1 |
29400 | 20 68 61 73 68 20 6f 66 20 6d 65 73 73 61 67 65 20 28 73 61 6d 65 20 61 73 20 6f 75 74 70 75 74 | .hash.of.message.(same.as.output |
29420 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 72 6f 6d 20 4d 65 73 | ........................from.Mes |
29440 | 73 61 67 65 44 69 67 65 73 74 2c 20 61 20 22 62 79 74 65 20 73 74 72 69 6e 67 22 29 0a 20 20 20 | sageDigest,.a."byte.string").... |
29460 | 20 20 20 20 20 3a 72 65 74 75 72 6e 3a 20 20 20 20 20 20 20 44 53 41 20 73 69 67 6e 61 74 75 72 | .....:return:.......DSA.signatur |
29480 | 65 2c 20 61 20 74 75 70 6c 65 20 6f 66 20 74 77 6f 20 76 61 6c 75 65 73 2c 20 72 20 61 6e 64 20 | e,.a.tuple.of.two.values,.r.and. |
294a0 | 73 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 6f 74 68 20 22 | s,........................both." |
294c0 | 62 79 74 65 20 73 74 72 69 6e 67 73 22 2e 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 | byte.strings".........."""...... |
294e0 | 20 20 20 61 73 73 65 72 74 20 73 65 6c 66 2e 63 68 65 63 6b 5f 6b 65 79 28 29 2c 20 27 6b 65 79 | ...assert.self.check_key(),.'key |
29500 | 20 69 73 20 6e 6f 74 20 69 6e 69 74 69 61 6c 69 73 65 64 27 0a 20 20 20 20 20 20 20 20 72 65 74 | .is.not.initialised'.........ret |
29520 | 75 72 6e 20 6d 32 2e 64 73 61 5f 73 69 67 6e 28 73 65 6c 66 2e 64 73 61 2c 20 64 69 67 65 73 74 | urn.m2.dsa_sign(self.dsa,.digest |
29540 | 29 0a 0a 20 20 20 20 64 65 66 20 76 65 72 69 66 79 28 73 65 6c 66 2c 20 64 69 67 65 73 74 2c 20 | )......def.verify(self,.digest,. |
29560 | 72 2c 20 73 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 62 79 74 65 73 2c 20 62 | r,.s):.........#.type:.(bytes,.b |
29580 | 79 74 65 73 2c 20 62 79 74 65 73 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 22 22 22 0a | ytes,.bytes).->.int.........""". |
295a0 | 20 20 20 20 20 20 20 20 56 65 72 69 66 79 20 61 20 6e 65 77 6c 79 20 63 61 6c 63 75 6c 61 74 65 | ........Verify.a.newly.calculate |
295c0 | 64 20 64 69 67 65 73 74 20 61 67 61 69 6e 73 74 20 74 68 65 20 73 69 67 6e 61 74 75 72 65 0a 20 | d.digest.against.the.signature.. |
295e0 | 20 20 20 20 20 20 20 76 61 6c 75 65 73 20 72 20 61 6e 64 20 73 2e 0a 0a 20 20 20 20 20 20 20 20 | .......values.r.and.s........... |
29600 | 3a 70 61 72 61 6d 20 64 69 67 65 73 74 3a 20 53 48 41 2d 31 20 68 61 73 68 20 6f 66 20 6d 65 73 | :param.digest:.SHA-1.hash.of.mes |
29620 | 73 61 67 65 20 28 73 61 6d 65 20 61 73 20 6f 75 74 70 75 74 0a 20 20 20 20 20 20 20 20 20 20 20 | sage.(same.as.output............ |
29640 | 20 20 20 20 20 20 20 20 20 20 20 20 66 72 6f 6d 20 4d 65 73 73 61 67 65 44 69 67 65 73 74 2c 20 | ............from.MessageDigest,. |
29660 | 61 20 22 62 79 74 65 20 73 74 72 69 6e 67 22 29 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 | a."byte.string").........:param. |
29680 | 72 3a 20 20 20 20 20 20 72 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 73 69 67 6e 61 74 75 72 65 | r:......r.value.of.the.signature |
296a0 | 2c 20 61 20 22 62 79 74 65 20 73 74 72 69 6e 67 22 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d | ,.a."byte.string".........:param |
296c0 | 20 73 3a 20 20 20 20 20 20 73 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 73 69 67 6e 61 74 75 72 | .s:......s.value.of.the.signatur |
296e0 | 65 2c 20 61 20 22 62 79 74 65 20 73 74 72 69 6e 67 22 0a 20 20 20 20 20 20 20 20 3a 72 65 74 75 | e,.a."byte.string".........:retu |
29700 | 72 6e 3a 20 20 20 20 20 20 20 31 20 28 74 72 75 65 29 20 69 66 20 76 65 72 69 66 79 20 73 75 63 | rn:.......1.(true).if.verify.suc |
29720 | 63 65 65 64 65 64 2c 20 30 20 69 66 20 66 61 69 6c 65 64 0a 20 20 20 20 20 20 20 20 22 22 22 0a | ceeded,.0.if.failed.........""". |
29740 | 20 20 20 20 20 20 20 20 61 73 73 65 72 74 20 73 65 6c 66 2e 63 68 65 63 6b 5f 6b 65 79 28 29 2c | ........assert.self.check_key(), |
29760 | 20 27 6b 65 79 20 69 73 20 6e 6f 74 20 69 6e 69 74 69 61 6c 69 73 65 64 27 0a 20 20 20 20 20 20 | .'key.is.not.initialised'....... |
29780 | 20 20 72 65 74 75 72 6e 20 6d 32 2e 64 73 61 5f 76 65 72 69 66 79 28 73 65 6c 66 2e 64 73 61 2c | ..return.m2.dsa_verify(self.dsa, |
297a0 | 20 64 69 67 65 73 74 2c 20 72 2c 20 73 29 0a 0a 20 20 20 20 64 65 66 20 73 69 67 6e 5f 61 73 6e | .digest,.r,.s)......def.sign_asn |
297c0 | 31 28 73 65 6c 66 2c 20 64 69 67 65 73 74 29 3a 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 20 | 1(self,.digest):.........assert. |
297e0 | 73 65 6c 66 2e 63 68 65 63 6b 5f 6b 65 79 28 29 2c 20 27 6b 65 79 20 69 73 20 6e 6f 74 20 69 6e | self.check_key(),.'key.is.not.in |
29800 | 69 74 69 61 6c 69 73 65 64 27 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 64 73 61 | itialised'.........return.m2.dsa |
29820 | 5f 73 69 67 6e 5f 61 73 6e 31 28 73 65 6c 66 2e 64 73 61 2c 20 64 69 67 65 73 74 29 0a 0a 20 20 | _sign_asn1(self.dsa,.digest).... |
29840 | 20 20 64 65 66 20 76 65 72 69 66 79 5f 61 73 6e 31 28 73 65 6c 66 2c 20 64 69 67 65 73 74 2c 20 | ..def.verify_asn1(self,.digest,. |
29860 | 62 6c 6f 62 29 3a 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 20 73 65 6c 66 2e 63 68 65 63 6b | blob):.........assert.self.check |
29880 | 5f 6b 65 79 28 29 2c 20 27 6b 65 79 20 69 73 20 6e 6f 74 20 69 6e 69 74 69 61 6c 69 73 65 64 27 | _key(),.'key.is.not.initialised' |
298a0 | 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 64 73 61 5f 76 65 72 69 66 79 5f 61 73 | .........return.m2.dsa_verify_as |
298c0 | 6e 31 28 73 65 6c 66 2e 64 73 61 2c 20 64 69 67 65 73 74 2c 20 62 6c 6f 62 29 0a 0a 20 20 20 20 | n1(self.dsa,.digest,.blob)...... |
298e0 | 64 65 66 20 63 68 65 63 6b 5f 6b 65 79 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 22 22 22 | def.check_key(self):.........""" |
29900 | 0a 20 20 20 20 20 20 20 20 43 68 65 63 6b 20 74 6f 20 62 65 20 73 75 72 65 20 74 68 65 20 44 53 | .........Check.to.be.sure.the.DS |
29920 | 41 20 6f 62 6a 65 63 74 20 68 61 73 20 61 20 76 61 6c 69 64 20 70 72 69 76 61 74 65 20 6b 65 79 | A.object.has.a.valid.private.key |
29940 | 2e 0a 0a 20 20 20 20 20 20 20 20 3a 72 65 74 75 72 6e 3a 20 20 31 20 28 74 72 75 65 29 20 69 66 | ...........:return:..1.(true).if |
29960 | 20 61 20 76 61 6c 69 64 20 70 72 69 76 61 74 65 20 6b 65 79 0a 20 20 20 20 20 20 20 20 22 22 22 | .a.valid.private.key.........""" |
29980 | 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 20 6d 32 2e 64 73 61 5f 74 79 70 65 5f 63 68 65 63 | .........assert.m2.dsa_type_chec |
299a0 | 6b 28 73 65 6c 66 2e 64 73 61 29 2c 20 22 27 64 73 61 27 20 74 79 70 65 20 65 72 72 6f 72 22 0a | k(self.dsa),."'dsa'.type.error". |
299c0 | 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 64 73 61 5f 63 68 65 63 6b 5f 6b 65 79 28 | ........return.m2.dsa_check_key( |
299e0 | 73 65 6c 66 2e 64 73 61 29 0a 0a 0a 63 6c 61 73 73 20 44 53 41 5f 70 75 62 28 44 53 41 29 3a 0a | self.dsa)...class.DSA_pub(DSA):. |
29a00 | 0a 20 20 20 20 22 22 22 0a 20 20 20 20 54 68 69 73 20 63 6c 61 73 73 20 69 73 20 61 20 44 53 41 | .....""".....This.class.is.a.DSA |
29a20 | 20 63 6f 6e 74 65 78 74 20 74 68 61 74 20 6f 6e 6c 79 20 73 75 70 70 6f 72 74 73 20 61 20 70 75 | .context.that.only.supports.a.pu |
29a40 | 62 6c 69 63 20 6b 65 79 0a 20 20 20 20 61 6e 64 20 76 65 72 69 66 69 63 61 74 69 6f 6e 2e 20 20 | blic.key.....and.verification... |
29a60 | 49 74 20 64 6f 65 73 20 4e 4f 54 20 73 75 70 70 6f 72 74 20 61 20 70 72 69 76 61 74 65 20 6b 65 | It.does.NOT.support.a.private.ke |
29a80 | 79 20 6f 72 0a 20 20 20 20 73 69 67 6e 69 6e 67 2e 0a 0a 20 20 20 20 22 22 22 0a 0a 20 20 20 20 | y.or.....signing......."""...... |
29aa0 | 64 65 66 20 73 69 67 6e 28 73 65 6c 66 2c 20 2a 61 72 67 76 29 3a 0a 20 20 20 20 20 20 20 20 23 | def.sign(self,.*argv):.........# |
29ac0 | 20 74 79 70 65 3a 20 28 2a 41 6e 79 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 72 61 | .type:.(*Any).->.None.........ra |
29ae0 | 69 73 65 20 44 53 41 45 72 72 6f 72 28 27 44 53 41 5f 70 75 62 20 6f 62 6a 65 63 74 20 68 61 73 | ise.DSAError('DSA_pub.object.has |
29b00 | 20 6e 6f 20 70 72 69 76 61 74 65 20 6b 65 79 27 29 0a 0a 20 20 20 20 73 69 67 6e 5f 61 73 6e 31 | .no.private.key')......sign_asn1 |
29b20 | 20 3d 20 73 69 67 6e 0a 0a 20 20 20 20 64 65 66 20 63 68 65 63 6b 5f 6b 65 79 28 73 65 6c 66 29 | .=.sign......def.check_key(self) |
29b40 | 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 | :.........#.type:.().->.int..... |
29b60 | 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 3a 72 65 74 75 72 6e 3a 20 64 6f 65 73 20 44 53 | ....""".........:return:.does.DS |
29b80 | 41 5f 70 75 62 20 63 6f 6e 74 61 69 6e 20 61 20 70 75 62 20 6b 65 79 3f 0a 20 20 20 20 20 20 20 | A_pub.contain.a.pub.key?........ |
29ba0 | 20 22 22 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 64 73 61 5f 63 68 65 63 6b | .""".........return.m2.dsa_check |
29bc0 | 5f 70 75 62 5f 6b 65 79 28 73 65 6c 66 2e 64 73 61 29 0a 0a 20 20 20 20 73 61 76 65 5f 6b 65 79 | _pub_key(self.dsa)......save_key |
29be0 | 20 3d 20 44 53 41 2e 73 61 76 65 5f 70 75 62 5f 6b 65 79 0a 0a 20 20 20 20 73 61 76 65 5f 6b 65 | .=.DSA.save_pub_key......save_ke |
29c00 | 79 5f 62 69 6f 20 3d 20 44 53 41 2e 73 61 76 65 5f 70 75 62 5f 6b 65 79 5f 62 69 6f 0a 0a 23 20 | y_bio.=.DSA.save_pub_key_bio..#. |
29c20 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | -------------------------------- |
29c40 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 23 | ------------------------------.# |
29c60 | 20 66 61 63 74 6f 72 69 65 73 20 61 6e 64 20 6f 74 68 65 72 20 66 75 6e 63 74 69 6f 6e 73 0a 0a | .factories.and.other.functions.. |
29c80 | 0a 64 65 66 20 67 65 6e 5f 70 61 72 61 6d 73 28 62 69 74 73 2c 20 63 61 6c 6c 62 61 63 6b 3d 75 | .def.gen_params(bits,.callback=u |
29ca0 | 74 69 6c 2e 67 65 6e 70 61 72 61 6d 5f 63 61 6c 6c 62 61 63 6b 29 3a 0a 20 20 20 20 23 20 74 79 | til.genparam_callback):.....#.ty |
29cc0 | 70 65 3a 20 28 69 6e 74 2c 20 43 61 6c 6c 61 62 6c 65 29 20 2d 3e 20 44 53 41 0a 20 20 20 20 22 | pe:.(int,.Callable).->.DSA....." |
29ce0 | 22 22 0a 20 20 20 20 46 61 63 74 6f 72 79 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 67 65 6e | "".....Factory.function.that.gen |
29d00 | 65 72 61 74 65 73 20 44 53 41 20 70 61 72 61 6d 65 74 65 72 73 20 61 6e 64 0a 20 20 20 20 69 6e | erates.DSA.parameters.and.....in |
29d20 | 73 74 61 6e 74 69 61 74 65 73 20 61 20 44 53 41 20 6f 62 6a 65 63 74 20 66 72 6f 6d 20 74 68 65 | stantiates.a.DSA.object.from.the |
29d40 | 20 6f 75 74 70 75 74 2e 0a 0a 20 20 20 20 3a 70 61 72 61 6d 20 62 69 74 73 3a 20 54 68 65 20 6c | .output.......:param.bits:.The.l |
29d60 | 65 6e 67 74 68 20 6f 66 20 74 68 65 20 70 72 69 6d 65 20 74 6f 20 62 65 20 67 65 6e 65 72 61 74 | ength.of.the.prime.to.be.generat |
29d80 | 65 64 2e 20 49 66 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 62 69 74 73 27 20 3c | ed..If..................'bits'.< |
29da0 | 20 35 31 32 2c 20 69 74 20 69 73 20 73 65 74 20 74 6f 20 35 31 32 2e 0a 20 20 20 20 3a 70 61 72 | .512,.it.is.set.to.512......:par |
29dc0 | 61 6d 20 63 61 6c 6c 62 61 63 6b 3a 20 41 20 50 79 74 68 6f 6e 20 63 61 6c 6c 62 61 63 6b 20 6f | am.callback:.A.Python.callback.o |
29de0 | 62 6a 65 63 74 20 74 68 61 74 20 77 69 6c 6c 20 62 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | bject.that.will.be.............. |
29e00 | 20 20 20 20 69 6e 76 6f 6b 65 64 20 64 75 72 69 6e 67 20 70 61 72 61 6d 65 74 65 72 20 67 65 6e | ....invoked.during.parameter.gen |
29e20 | 65 72 61 74 69 6f 6e 3b 20 69 74 20 75 73 75 61 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | eration;.it.usual............... |
29e40 | 20 20 20 70 75 72 70 6f 73 65 20 69 73 20 74 6f 20 70 72 6f 76 69 64 65 20 76 69 73 75 61 6c 20 | ...purpose.is.to.provide.visual. |
29e60 | 66 65 65 64 62 61 63 6b 2e 0a 20 20 20 20 3a 72 65 74 75 72 6e 3a 20 20 69 6e 73 74 61 6e 63 65 | feedback......:return:..instance |
29e80 | 20 6f 66 20 44 53 41 2e 0a 20 20 20 20 22 22 22 0a 20 20 20 20 64 73 61 20 3d 20 6d 32 2e 64 73 | .of.DSA......""".....dsa.=.m2.ds |
29ea0 | 61 5f 67 65 6e 65 72 61 74 65 5f 70 61 72 61 6d 65 74 65 72 73 28 62 69 74 73 2c 20 63 61 6c 6c | a_generate_parameters(bits,.call |
29ec0 | 62 61 63 6b 29 0a 20 20 20 20 72 65 74 75 72 6e 20 44 53 41 28 64 73 61 2c 20 31 29 0a 0a 0a 64 | back).....return.DSA(dsa,.1)...d |
29ee0 | 65 66 20 73 65 74 5f 70 61 72 61 6d 73 28 70 2c 20 71 2c 20 67 29 3a 0a 20 20 20 20 23 20 74 79 | ef.set_params(p,.q,.g):.....#.ty |
29f00 | 70 65 3a 20 28 62 79 74 65 73 2c 20 62 79 74 65 73 2c 20 62 79 74 65 73 29 20 2d 3e 20 44 53 41 | pe:.(bytes,.bytes,.bytes).->.DSA |
29f20 | 0a 20 20 20 20 22 22 22 0a 20 20 20 20 46 61 63 74 6f 72 79 20 66 75 6e 63 74 69 6f 6e 20 74 68 | .....""".....Factory.function.th |
29f40 | 61 74 20 69 6e 73 74 61 6e 74 69 61 74 65 73 20 61 20 44 53 41 20 6f 62 6a 65 63 74 20 77 69 74 | at.instantiates.a.DSA.object.wit |
29f60 | 68 20 44 53 41 0a 20 20 20 20 70 61 72 61 6d 65 74 65 72 73 2e 0a 0a 20 20 20 20 3a 70 61 72 61 | h.DSA.....parameters.......:para |
29f80 | 6d 20 70 3a 20 76 61 6c 75 65 20 6f 66 20 70 2c 20 61 20 22 62 79 74 65 20 73 74 72 69 6e 67 22 | m.p:.value.of.p,.a."byte.string" |
29fa0 | 0a 20 20 20 20 3a 70 61 72 61 6d 20 71 3a 20 76 61 6c 75 65 20 6f 66 20 71 2c 20 61 20 22 62 79 | .....:param.q:.value.of.q,.a."by |
29fc0 | 74 65 20 73 74 72 69 6e 67 22 0a 20 20 20 20 3a 70 61 72 61 6d 20 67 3a 20 76 61 6c 75 65 20 6f | te.string".....:param.g:.value.o |
29fe0 | 66 20 67 2c 20 61 20 22 62 79 74 65 20 73 74 72 69 6e 67 22 0a 20 20 20 20 3a 72 65 74 75 72 6e | f.g,.a."byte.string".....:return |
2a000 | 3a 20 20 69 6e 73 74 61 6e 63 65 20 6f 66 20 44 53 41 2e 0a 20 20 20 20 22 22 22 0a 20 20 20 20 | :..instance.of.DSA......"""..... |
2a020 | 64 73 61 20 3d 20 6d 32 2e 64 73 61 5f 6e 65 77 28 29 0a 20 20 20 20 6d 32 2e 64 73 61 5f 73 65 | dsa.=.m2.dsa_new().....m2.dsa_se |
2a040 | 74 5f 70 71 67 28 64 73 61 2c 20 70 2c 20 71 2c 20 67 29 0a 20 20 20 20 72 65 74 75 72 6e 20 44 | t_pqg(dsa,.p,.q,.g).....return.D |
2a060 | 53 41 28 64 73 61 2c 20 31 29 0a 0a 0a 64 65 66 20 6c 6f 61 64 5f 70 61 72 61 6d 73 28 66 69 6c | SA(dsa,.1)...def.load_params(fil |
2a080 | 65 2c 20 63 61 6c 6c 62 61 63 6b 3d 75 74 69 6c 2e 70 61 73 73 70 68 72 61 73 65 5f 63 61 6c 6c | e,.callback=util.passphrase_call |
2a0a0 | 62 61 63 6b 29 3a 0a 20 20 20 20 23 20 74 79 70 65 3a 20 28 41 6e 79 53 74 72 2c 20 43 61 6c 6c | back):.....#.type:.(AnyStr,.Call |
2a0c0 | 61 62 6c 65 29 20 2d 3e 20 44 53 41 0a 20 20 20 20 22 22 22 0a 20 20 20 20 46 61 63 74 6f 72 79 | able).->.DSA.....""".....Factory |
2a0e0 | 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 69 6e 73 74 61 6e 74 69 61 74 65 73 20 61 20 44 53 | .function.that.instantiates.a.DS |
2a100 | 41 20 6f 62 6a 65 63 74 20 77 69 74 68 20 44 53 41 0a 20 20 20 20 70 61 72 61 6d 65 74 65 72 73 | A.object.with.DSA.....parameters |
2a120 | 20 66 72 6f 6d 20 61 20 66 69 6c 65 2e 0a 0a 20 20 20 20 3a 70 61 72 61 6d 20 66 69 6c 65 3a 20 | .from.a.file.......:param.file:. |
2a140 | 20 20 20 20 4e 61 6d 65 73 20 74 68 65 20 66 69 6c 65 20 28 61 20 70 61 74 68 29 20 74 68 61 74 | ....Names.the.file.(a.path).that |
2a160 | 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 20 50 45 4d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .contains.the.PEM............... |
2a180 | 20 20 20 20 20 20 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 44 53 41 | .......representation.of.the.DSA |
2a1a0 | 20 70 61 72 61 6d 65 74 65 72 73 2e 0a 20 20 20 20 3a 70 61 72 61 6d 20 63 61 6c 6c 62 61 63 6b | .parameters......:param.callback |
2a1c0 | 3a 20 41 20 50 79 74 68 6f 6e 20 63 61 6c 6c 62 61 63 6b 20 6f 62 6a 65 63 74 20 74 68 61 74 20 | :.A.Python.callback.object.that. |
2a1e0 | 77 69 6c 6c 20 62 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 76 | will.be......................inv |
2a200 | 6f 6b 65 64 20 69 66 20 74 68 65 20 44 53 41 20 70 61 72 61 6d 65 74 65 72 73 20 66 69 6c 65 20 | oked.if.the.DSA.parameters.file. |
2a220 | 69 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 61 73 73 70 68 72 61 | is......................passphra |
2a240 | 73 65 2d 70 72 6f 74 65 63 74 65 64 2e 0a 20 20 20 20 3a 72 65 74 75 72 6e 3a 20 20 20 20 20 20 | se-protected......:return:...... |
2a260 | 20 20 20 69 6e 73 74 61 6e 63 65 20 6f 66 20 44 53 41 2e 0a 20 20 20 20 22 22 22 0a 20 20 20 20 | ...instance.of.DSA......"""..... |
2a280 | 77 69 74 68 20 42 49 4f 2e 6f 70 65 6e 66 69 6c 65 28 66 69 6c 65 29 20 61 73 20 62 69 6f 3a 0a | with.BIO.openfile(file).as.bio:. |
2a2a0 | 20 20 20 20 20 20 20 20 72 65 74 20 3d 20 6c 6f 61 64 5f 70 61 72 61 6d 73 5f 62 69 6f 28 62 69 | ........ret.=.load_params_bio(bi |
2a2c0 | 6f 2c 20 63 61 6c 6c 62 61 63 6b 29 0a 0a 20 20 20 20 72 65 74 75 72 6e 20 72 65 74 0a 0a 0a 64 | o,.callback)......return.ret...d |
2a2e0 | 65 66 20 6c 6f 61 64 5f 70 61 72 61 6d 73 5f 62 69 6f 28 62 69 6f 2c 20 63 61 6c 6c 62 61 63 6b | ef.load_params_bio(bio,.callback |
2a300 | 3d 75 74 69 6c 2e 70 61 73 73 70 68 72 61 73 65 5f 63 61 6c 6c 62 61 63 6b 29 3a 0a 20 20 20 20 | =util.passphrase_callback):..... |
2a320 | 23 20 74 79 70 65 3a 20 28 42 49 4f 2e 42 49 4f 2c 20 43 61 6c 6c 61 62 6c 65 29 20 2d 3e 20 44 | #.type:.(BIO.BIO,.Callable).->.D |
2a340 | 53 41 0a 20 20 20 20 22 22 22 0a 20 20 20 20 46 61 63 74 6f 72 79 20 66 75 6e 63 74 69 6f 6e 20 | SA.....""".....Factory.function. |
2a360 | 74 68 61 74 20 69 6e 73 74 61 6e 74 69 61 74 65 73 20 61 20 44 53 41 20 6f 62 6a 65 63 74 20 77 | that.instantiates.a.DSA.object.w |
2a380 | 69 74 68 20 44 53 41 0a 20 20 20 20 70 61 72 61 6d 65 74 65 72 73 20 66 72 6f 6d 20 61 20 4d 32 | ith.DSA.....parameters.from.a.M2 |
2a3a0 | 43 72 79 70 74 6f 2e 42 49 4f 20 6f 62 6a 65 63 74 2e 0a 0a 20 20 20 20 3a 70 61 72 61 6d 20 62 | Crypto.BIO.object.......:param.b |
2a3c0 | 69 6f 3a 20 20 20 20 20 20 43 6f 6e 74 61 69 6e 73 20 74 68 65 20 50 45 4d 20 72 65 70 72 65 73 | io:......Contains.the.PEM.repres |
2a3e0 | 65 6e 74 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 44 53 41 0a 20 20 20 20 20 20 20 20 20 20 20 20 | entation.of.the.DSA............. |
2a400 | 20 20 20 20 20 20 20 20 20 70 61 72 61 6d 65 74 65 72 73 2e 0a 20 20 20 20 3a 70 61 72 61 6d 20 | .........parameters......:param. |
2a420 | 63 61 6c 6c 62 61 63 6b 3a 20 41 20 50 79 74 68 6f 6e 20 63 61 6c 6c 62 61 63 6b 20 6f 62 6a 65 | callback:.A.Python.callback.obje |
2a440 | 63 74 20 74 68 61 74 20 77 69 6c 6c 20 62 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ct.that.will.be................. |
2a460 | 20 20 20 20 20 69 6e 76 6f 6b 65 64 20 69 66 20 74 68 65 20 44 53 41 20 70 61 72 61 6d 65 74 65 | .....invoked.if.the.DSA.paramete |
2a480 | 72 73 20 66 69 6c 65 20 69 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | rs.file.is...................... |
2a4a0 | 70 61 73 73 70 68 72 61 73 65 2d 70 72 6f 74 65 63 74 65 64 2e 0a 20 20 20 20 3a 72 65 74 75 72 | passphrase-protected......:retur |
2a4c0 | 6e 3a 20 20 20 20 20 20 20 20 20 69 6e 73 74 61 6e 63 65 20 6f 66 20 44 53 41 2e 0a 20 20 20 20 | n:.........instance.of.DSA...... |
2a4e0 | 22 22 22 0a 20 20 20 20 64 73 61 20 3d 20 6d 32 2e 64 73 61 5f 72 65 61 64 5f 70 61 72 61 6d 73 | """.....dsa.=.m2.dsa_read_params |
2a500 | 28 62 69 6f 2e 5f 70 74 72 28 29 2c 20 63 61 6c 6c 62 61 63 6b 29 0a 20 20 20 20 72 65 74 75 72 | (bio._ptr(),.callback).....retur |
2a520 | 6e 20 44 53 41 28 64 73 61 2c 20 31 29 0a 0a 0a 64 65 66 20 6c 6f 61 64 5f 6b 65 79 28 66 69 6c | n.DSA(dsa,.1)...def.load_key(fil |
2a540 | 65 2c 20 63 61 6c 6c 62 61 63 6b 3d 75 74 69 6c 2e 70 61 73 73 70 68 72 61 73 65 5f 63 61 6c 6c | e,.callback=util.passphrase_call |
2a560 | 62 61 63 6b 29 3a 0a 20 20 20 20 23 20 74 79 70 65 3a 20 28 41 6e 79 53 74 72 2c 20 43 61 6c 6c | back):.....#.type:.(AnyStr,.Call |
2a580 | 61 62 6c 65 29 20 2d 3e 20 44 53 41 0a 20 20 20 20 22 22 22 0a 20 20 20 20 46 61 63 74 6f 72 79 | able).->.DSA.....""".....Factory |
2a5a0 | 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 69 6e 73 74 61 6e 74 69 61 74 65 73 20 61 20 44 53 | .function.that.instantiates.a.DS |
2a5c0 | 41 20 6f 62 6a 65 63 74 20 66 72 6f 6d 20 61 0a 20 20 20 20 50 45 4d 20 65 6e 63 6f 64 65 64 20 | A.object.from.a.....PEM.encoded. |
2a5e0 | 44 53 41 20 6b 65 79 20 70 61 69 72 2e 0a 0a 20 20 20 20 3a 70 61 72 61 6d 20 66 69 6c 65 3a 20 | DSA.key.pair.......:param.file:. |
2a600 | 20 20 20 20 4e 61 6d 65 73 20 74 68 65 20 66 69 6c 65 20 28 61 20 70 61 74 68 29 20 74 68 61 74 | ....Names.the.file.(a.path).that |
2a620 | 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 20 50 45 4d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .contains.the.PEM............... |
2a640 | 20 20 20 20 20 20 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 44 53 41 | .......representation.of.the.DSA |
2a660 | 20 6b 65 79 20 70 61 69 72 2e 0a 20 20 20 20 3a 70 61 72 61 6d 20 63 61 6c 6c 62 61 63 6b 3a 20 | .key.pair......:param.callback:. |
2a680 | 41 20 50 79 74 68 6f 6e 20 63 61 6c 6c 62 61 63 6b 20 6f 62 6a 65 63 74 20 74 68 61 74 20 77 69 | A.Python.callback.object.that.wi |
2a6a0 | 6c 6c 20 62 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 76 6f 6b | ll.be......................invok |
2a6c0 | 65 64 20 69 66 20 74 68 65 20 44 53 41 20 6b 65 79 20 70 61 69 72 20 69 73 0a 20 20 20 20 20 20 | ed.if.the.DSA.key.pair.is....... |
2a6e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 61 73 73 70 68 72 61 73 65 2d 70 72 6f 74 65 63 | ...............passphrase-protec |
2a700 | 74 65 64 2e 0a 20 20 20 20 3a 72 65 74 75 72 6e 3a 20 20 20 20 20 20 20 20 20 69 6e 73 74 61 6e | ted......:return:.........instan |
2a720 | 63 65 20 6f 66 20 44 53 41 2e 0a 20 20 20 20 22 22 22 0a 20 20 20 20 77 69 74 68 20 42 49 4f 2e | ce.of.DSA......""".....with.BIO. |
2a740 | 6f 70 65 6e 66 69 6c 65 28 66 69 6c 65 29 20 61 73 20 62 69 6f 3a 0a 20 20 20 20 20 20 20 20 72 | openfile(file).as.bio:.........r |
2a760 | 65 74 20 3d 20 6c 6f 61 64 5f 6b 65 79 5f 62 69 6f 28 62 69 6f 2c 20 63 61 6c 6c 62 61 63 6b 29 | et.=.load_key_bio(bio,.callback) |
2a780 | 0a 0a 20 20 20 20 72 65 74 75 72 6e 20 72 65 74 0a 0a 0a 64 65 66 20 6c 6f 61 64 5f 6b 65 79 5f | ......return.ret...def.load_key_ |
2a7a0 | 62 69 6f 28 62 69 6f 2c 20 63 61 6c 6c 62 61 63 6b 3d 75 74 69 6c 2e 70 61 73 73 70 68 72 61 73 | bio(bio,.callback=util.passphras |
2a7c0 | 65 5f 63 61 6c 6c 62 61 63 6b 29 3a 0a 20 20 20 20 23 20 74 79 70 65 3a 20 28 42 49 4f 2e 42 49 | e_callback):.....#.type:.(BIO.BI |
2a7e0 | 4f 2c 20 43 61 6c 6c 61 62 6c 65 29 20 2d 3e 20 44 53 41 0a 20 20 20 20 22 22 22 0a 20 20 20 20 | O,.Callable).->.DSA....."""..... |
2a800 | 46 61 63 74 6f 72 79 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 69 6e 73 74 61 6e 74 69 61 74 | Factory.function.that.instantiat |
2a820 | 65 73 20 61 20 44 53 41 20 6f 62 6a 65 63 74 20 66 72 6f 6d 20 61 0a 20 20 20 20 50 45 4d 20 65 | es.a.DSA.object.from.a.....PEM.e |
2a840 | 6e 63 6f 64 65 64 20 44 53 41 20 6b 65 79 20 70 61 69 72 2e 0a 0a 20 20 20 20 3a 70 61 72 61 6d | ncoded.DSA.key.pair.......:param |
2a860 | 20 62 69 6f 3a 20 20 20 20 20 20 43 6f 6e 74 61 69 6e 73 20 74 68 65 20 50 45 4d 20 72 65 70 72 | .bio:......Contains.the.PEM.repr |
2a880 | 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 44 53 41 0a 20 20 20 20 20 20 20 20 20 20 | esentation.of.the.DSA........... |
2a8a0 | 20 20 20 20 20 20 20 20 20 20 20 6b 65 79 20 70 61 69 72 2e 0a 20 20 20 20 3a 70 61 72 61 6d 20 | ...........key.pair......:param. |
2a8c0 | 63 61 6c 6c 62 61 63 6b 3a 20 41 20 50 79 74 68 6f 6e 20 63 61 6c 6c 62 61 63 6b 20 6f 62 6a 65 | callback:.A.Python.callback.obje |
2a8e0 | 63 74 20 74 68 61 74 20 77 69 6c 6c 20 62 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ct.that.will.be................. |
2a900 | 20 20 20 20 20 69 6e 76 6f 6b 65 64 20 69 66 20 74 68 65 20 44 53 41 20 6b 65 79 20 70 61 69 72 | .....invoked.if.the.DSA.key.pair |
2a920 | 20 69 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 61 73 73 70 68 72 | .is......................passphr |
2a940 | 61 73 65 2d 70 72 6f 74 65 63 74 65 64 2e 0a 20 20 20 20 3a 72 65 74 75 72 6e 3a 20 20 20 20 20 | ase-protected......:return:..... |
2a960 | 20 20 20 20 69 6e 73 74 61 6e 63 65 20 6f 66 20 44 53 41 2e 0a 20 20 20 20 22 22 22 0a 20 20 20 | ....instance.of.DSA......""".... |
2a980 | 20 64 73 61 20 3d 20 6d 32 2e 64 73 61 5f 72 65 61 64 5f 6b 65 79 28 62 69 6f 2e 5f 70 74 72 28 | .dsa.=.m2.dsa_read_key(bio._ptr( |
2a9a0 | 29 2c 20 63 61 6c 6c 62 61 63 6b 29 0a 20 20 20 20 72 65 74 75 72 6e 20 44 53 41 28 64 73 61 2c | ),.callback).....return.DSA(dsa, |
2a9c0 | 20 31 29 0a 0a 0a 64 65 66 20 70 75 62 5f 6b 65 79 5f 66 72 6f 6d 5f 70 61 72 61 6d 73 28 70 2c | .1)...def.pub_key_from_params(p, |
2a9e0 | 20 71 2c 20 67 2c 20 70 75 62 29 3a 0a 20 20 20 20 23 20 74 79 70 65 3a 20 28 62 79 74 65 73 2c | .q,.g,.pub):.....#.type:.(bytes, |
2aa00 | 20 62 79 74 65 73 2c 20 62 79 74 65 73 2c 20 62 79 74 65 73 29 20 2d 3e 20 44 53 41 5f 70 75 62 | .bytes,.bytes,.bytes).->.DSA_pub |
2aa20 | 0a 20 20 20 20 22 22 22 0a 20 20 20 20 46 61 63 74 6f 72 79 20 66 75 6e 63 74 69 6f 6e 20 74 68 | .....""".....Factory.function.th |
2aa40 | 61 74 20 69 6e 73 74 61 6e 74 69 61 74 65 73 20 61 20 44 53 41 5f 70 75 62 20 6f 62 6a 65 63 74 | at.instantiates.a.DSA_pub.object |
2aa60 | 20 75 73 69 6e 67 0a 20 20 20 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 73 20 61 6e 64 20 70 75 | .using.....the.parameters.and.pu |
2aa80 | 62 6c 69 63 20 6b 65 79 20 73 70 65 63 69 66 69 65 64 2e 0a 0a 20 20 20 20 3a 70 61 72 61 6d 20 | blic.key.specified.......:param. |
2aaa0 | 70 3a 20 76 61 6c 75 65 20 6f 66 20 70 0a 20 20 20 20 3a 70 61 72 61 6d 20 71 3a 20 76 61 6c 75 | p:.value.of.p.....:param.q:.valu |
2aac0 | 65 20 6f 66 20 71 0a 20 20 20 20 3a 70 61 72 61 6d 20 67 3a 20 76 61 6c 75 65 20 6f 66 20 67 0a | e.of.q.....:param.g:.value.of.g. |
2aae0 | 20 20 20 20 3a 70 61 72 61 6d 20 70 75 62 3a 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 70 75 62 | ....:param.pub:.value.of.the.pub |
2ab00 | 6c 69 63 20 6b 65 79 0a 20 20 20 20 3a 72 65 74 75 72 6e 3a 20 20 69 6e 73 74 61 6e 63 65 20 6f | lic.key.....:return:..instance.o |
2ab20 | 66 20 44 53 41 5f 70 75 62 2e 0a 20 20 20 20 22 22 22 0a 20 20 20 20 64 73 61 20 3d 20 6d 32 2e | f.DSA_pub......""".....dsa.=.m2. |
2ab40 | 64 73 61 5f 6e 65 77 28 29 0a 20 20 20 20 6d 32 2e 64 73 61 5f 73 65 74 5f 70 71 67 28 64 73 61 | dsa_new().....m2.dsa_set_pqg(dsa |
2ab60 | 2c 20 70 2c 20 71 2c 20 67 29 0a 20 20 20 20 6d 32 2e 64 73 61 5f 73 65 74 5f 70 75 62 28 64 73 | ,.p,.q,.g).....m2.dsa_set_pub(ds |
2ab80 | 61 2c 20 70 75 62 29 0a 20 20 20 20 72 65 74 75 72 6e 20 44 53 41 5f 70 75 62 28 64 73 61 2c 20 | a,.pub).....return.DSA_pub(dsa,. |
2aba0 | 31 29 0a 0a 0a 64 65 66 20 6c 6f 61 64 5f 70 75 62 5f 6b 65 79 28 66 69 6c 65 2c 20 63 61 6c 6c | 1)...def.load_pub_key(file,.call |
2abc0 | 62 61 63 6b 3d 75 74 69 6c 2e 70 61 73 73 70 68 72 61 73 65 5f 63 61 6c 6c 62 61 63 6b 29 3a 0a | back=util.passphrase_callback):. |
2abe0 | 20 20 20 20 23 20 74 79 70 65 3a 20 28 41 6e 79 53 74 72 2c 20 43 61 6c 6c 61 62 6c 65 29 20 2d | ....#.type:.(AnyStr,.Callable).- |
2ac00 | 3e 20 44 53 41 5f 70 75 62 0a 20 20 20 20 22 22 22 0a 20 20 20 20 46 61 63 74 6f 72 79 20 66 75 | >.DSA_pub.....""".....Factory.fu |
2ac20 | 6e 63 74 69 6f 6e 20 74 68 61 74 20 69 6e 73 74 61 6e 74 69 61 74 65 73 20 61 20 44 53 41 5f 70 | nction.that.instantiates.a.DSA_p |
2ac40 | 75 62 20 6f 62 6a 65 63 74 20 75 73 69 6e 67 0a 20 20 20 20 61 20 44 53 41 20 70 75 62 6c 69 63 | ub.object.using.....a.DSA.public |
2ac60 | 20 6b 65 79 20 63 6f 6e 74 61 69 6e 65 64 20 69 6e 20 50 45 4d 20 66 69 6c 65 2e 20 20 54 68 65 | .key.contained.in.PEM.file...The |
2ac80 | 20 50 45 4d 20 66 69 6c 65 0a 20 20 20 20 6d 75 73 74 20 63 6f 6e 74 61 69 6e 20 74 68 65 20 70 | .PEM.file.....must.contain.the.p |
2aca0 | 61 72 61 6d 65 74 65 72 73 20 69 6e 20 61 64 64 69 74 69 6f 6e 20 74 6f 20 74 68 65 20 70 75 62 | arameters.in.addition.to.the.pub |
2acc0 | 6c 69 63 20 6b 65 79 2e 0a 0a 20 20 20 20 3a 70 61 72 61 6d 20 66 69 6c 65 3a 20 20 20 20 20 4e | lic.key.......:param.file:.....N |
2ace0 | 61 6d 65 73 20 74 68 65 20 66 69 6c 65 20 28 61 20 70 61 74 68 29 20 74 68 61 74 20 63 6f 6e 74 | ames.the.file.(a.path).that.cont |
2ad00 | 61 69 6e 73 20 74 68 65 20 50 45 4d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ains.the.PEM.................... |
2ad20 | 20 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 44 53 41 20 70 75 62 6c | ..representation.of.the.DSA.publ |
2ad40 | 69 63 20 6b 65 79 2e 0a 20 20 20 20 3a 70 61 72 61 6d 20 63 61 6c 6c 62 61 63 6b 3a 20 41 20 50 | ic.key......:param.callback:.A.P |
2ad60 | 79 74 68 6f 6e 20 63 61 6c 6c 62 61 63 6b 20 6f 62 6a 65 63 74 20 74 68 61 74 20 77 69 6c 6c 20 | ython.callback.object.that.will. |
2ad80 | 62 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 76 6f 6b 65 64 20 | be......................invoked. |
2ada0 | 73 68 6f 75 6c 64 20 74 68 65 20 44 53 41 20 70 75 62 6c 69 63 20 6b 65 79 20 62 65 0a 20 20 20 | should.the.DSA.public.key.be.... |
2adc0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 61 73 73 70 68 72 61 73 65 2d 70 72 6f | ..................passphrase-pro |
2ade0 | 74 65 63 74 65 64 2e 0a 20 20 20 20 3a 72 65 74 75 72 6e 3a 20 20 20 20 20 20 20 20 20 69 6e 73 | tected......:return:.........ins |
2ae00 | 74 61 6e 63 65 20 6f 66 20 44 53 41 5f 70 75 62 2e 0a 20 20 20 20 22 22 22 0a 20 20 20 20 77 69 | tance.of.DSA_pub......""".....wi |
2ae20 | 74 68 20 42 49 4f 2e 6f 70 65 6e 66 69 6c 65 28 66 69 6c 65 29 20 61 73 20 62 69 6f 3a 0a 20 20 | th.BIO.openfile(file).as.bio:... |
2ae40 | 20 20 20 20 20 20 72 65 74 20 3d 20 6c 6f 61 64 5f 70 75 62 5f 6b 65 79 5f 62 69 6f 28 62 69 6f | ......ret.=.load_pub_key_bio(bio |
2ae60 | 2c 20 63 61 6c 6c 62 61 63 6b 29 0a 0a 20 20 20 20 72 65 74 75 72 6e 20 72 65 74 0a 0a 0a 64 65 | ,.callback)......return.ret...de |
2ae80 | 66 20 6c 6f 61 64 5f 70 75 62 5f 6b 65 79 5f 62 69 6f 28 62 69 6f 2c 20 63 61 6c 6c 62 61 63 6b | f.load_pub_key_bio(bio,.callback |
2aea0 | 3d 75 74 69 6c 2e 70 61 73 73 70 68 72 61 73 65 5f 63 61 6c 6c 62 61 63 6b 29 3a 0a 20 20 20 20 | =util.passphrase_callback):..... |
2aec0 | 23 20 74 79 70 65 3a 20 28 42 49 4f 2e 42 49 4f 2c 20 43 61 6c 6c 61 62 6c 65 29 20 2d 3e 20 44 | #.type:.(BIO.BIO,.Callable).->.D |
2aee0 | 53 41 5f 70 75 62 0a 20 20 20 20 22 22 22 0a 20 20 20 20 46 61 63 74 6f 72 79 20 66 75 6e 63 74 | SA_pub.....""".....Factory.funct |
2af00 | 69 6f 6e 20 74 68 61 74 20 69 6e 73 74 61 6e 74 69 61 74 65 73 20 61 20 44 53 41 5f 70 75 62 20 | ion.that.instantiates.a.DSA_pub. |
2af20 | 6f 62 6a 65 63 74 20 75 73 69 6e 67 0a 20 20 20 20 61 20 44 53 41 20 70 75 62 6c 69 63 20 6b 65 | object.using.....a.DSA.public.ke |
2af40 | 79 20 63 6f 6e 74 61 69 6e 65 64 20 69 6e 20 50 45 4d 20 66 6f 72 6d 61 74 2e 20 20 54 68 65 20 | y.contained.in.PEM.format...The. |
2af60 | 50 45 4d 0a 20 20 20 20 6d 75 73 74 20 63 6f 6e 74 61 69 6e 20 74 68 65 20 70 61 72 61 6d 65 74 | PEM.....must.contain.the.paramet |
2af80 | 65 72 73 20 69 6e 20 61 64 64 69 74 69 6f 6e 20 74 6f 20 74 68 65 20 70 75 62 6c 69 63 20 6b 65 | ers.in.addition.to.the.public.ke |
2afa0 | 79 2e 0a 0a 20 20 20 20 3a 70 61 72 61 6d 20 62 69 6f 3a 20 20 20 20 20 20 43 6f 6e 74 61 69 6e | y.......:param.bio:......Contain |
2afc0 | 73 20 74 68 65 20 50 45 4d 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 | s.the.PEM.representation.of.the. |
2afe0 | 44 53 41 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 | DSA......................public. |
2b000 | 6b 65 79 20 28 77 69 74 68 20 70 61 72 61 6d 73 29 2e 0a 20 20 20 20 3a 70 61 72 61 6d 20 63 61 | key.(with.params)......:param.ca |
2b020 | 6c 6c 62 61 63 6b 3a 20 41 20 50 79 74 68 6f 6e 20 63 61 6c 6c 62 61 63 6b 20 6f 62 6a 65 63 74 | llback:.A.Python.callback.object |
2b040 | 20 74 68 61 74 20 77 69 6c 6c 20 62 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .that.will.be................... |
2b060 | 20 20 20 69 6e 76 6f 6b 65 64 20 73 68 6f 75 6c 64 20 74 68 65 20 44 53 41 20 70 75 62 6c 69 63 | ...invoked.should.the.DSA.public |
2b080 | 20 6b 65 79 20 62 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 61 73 | .key.be......................pas |
2b0a0 | 73 70 68 72 61 73 65 2d 70 72 6f 74 65 63 74 65 64 2e 0a 20 20 20 20 3a 72 65 74 75 72 6e 3a 20 | sphrase-protected......:return:. |
2b0c0 | 20 20 20 20 20 20 20 20 69 6e 73 74 61 6e 63 65 20 6f 66 20 44 53 41 5f 70 75 62 2e 0a 20 20 20 | ........instance.of.DSA_pub..... |
2b0e0 | 20 22 22 22 0a 20 20 20 20 64 73 61 70 75 62 20 3d 20 6d 32 2e 64 73 61 5f 72 65 61 64 5f 70 75 | .""".....dsapub.=.m2.dsa_read_pu |
2b100 | 62 5f 6b 65 79 28 62 69 6f 2e 5f 70 74 72 28 29 2c 20 63 61 6c 6c 62 61 63 6b 29 0a 20 20 20 20 | b_key(bio._ptr(),.callback)..... |
2b120 | 72 65 74 75 72 6e 20 44 53 41 5f 70 75 62 28 64 73 61 70 75 62 2c 20 31 29 0a 94 7d 94 28 8c 08 | return.DSA_pub(dsapub,.1)..}.(.. |
2b140 | 44 53 41 45 72 72 6f 72 94 6a 7d 1f 00 00 4b 11 4b 12 87 94 8c 0c 44 53 41 2e 5f 5f 69 6e 69 74 | DSAError.j}...K.K.....DSA.__init |
2b160 | 5f 5f 94 6a 74 1f 00 00 4b 32 4b 3a 87 94 8c 0b 44 53 41 2e 5f 5f 64 65 6c 5f 5f 94 6a 74 1f 00 | __.jt...K2K:....DSA.__del__.jt.. |
2b180 | 00 4b 3c 4b 3f 87 94 8c 0b 44 53 41 2e 5f 5f 6c 65 6e 5f 5f 94 6a 74 1f 00 00 4b 41 4b 49 87 94 | .K<K?....DSA.__len__.jt...KAKI.. |
2b1a0 | 8c 0f 44 53 41 2e 5f 5f 67 65 74 61 74 74 72 5f 5f 94 6a 74 1f 00 00 4b 4b 4b 59 87 94 8c 0f 44 | ..DSA.__getattr__.jt...KKKY....D |
2b1c0 | 53 41 2e 5f 5f 73 65 74 61 74 74 72 5f 5f 94 6a 74 1f 00 00 4b 5b 4b 62 87 94 8c 0e 44 53 41 2e | SA.__setattr__.jt...K[Kb....DSA. |
2b1e0 | 73 65 74 5f 70 61 72 61 6d 73 94 6a 74 1f 00 00 4b 64 4b 76 87 94 8c 0b 44 53 41 2e 67 65 6e 5f | set_params.jt...KdKv....DSA.gen_ |
2b200 | 6b 65 79 94 6a 74 1f 00 00 4b 78 4b 7e 87 94 8c 0f 44 53 41 2e 73 61 76 65 5f 70 61 72 61 6d 73 | key.jt...KxK~....DSA.save_params |
2b220 | 94 6a 74 1f 00 00 4b 80 4b 8b 87 94 8c 13 44 53 41 2e 73 61 76 65 5f 70 61 72 61 6d 73 5f 62 69 | .jt...K.K.....DSA.save_params_bi |
2b240 | 6f 94 6a 74 1f 00 00 4b 8d 4b 95 87 94 8c 0c 44 53 41 2e 73 61 76 65 5f 6b 65 79 94 6a 74 1f 00 | o.jt...K.K.....DSA.save_key.jt.. |
2b260 | 00 4b 97 4b a5 87 94 8c 10 44 53 41 2e 73 61 76 65 5f 6b 65 79 5f 62 69 6f 94 6a 74 1f 00 00 4b | .K.K.....DSA.save_key_bio.jt...K |
2b280 | a7 4b bb 87 94 8c 10 44 53 41 2e 73 61 76 65 5f 70 75 62 5f 6b 65 79 94 6a 74 1f 00 00 4b bd 4b | .K.....DSA.save_pub_key.jt...K.K |
2b2a0 | c9 87 94 8c 14 44 53 41 2e 73 61 76 65 5f 70 75 62 5f 6b 65 79 5f 62 69 6f 94 6a 74 1f 00 00 4b | .....DSA.save_pub_key_bio.jt...K |
2b2c0 | cb 4b d4 87 94 8c 08 44 53 41 2e 73 69 67 6e 94 6a 74 1f 00 00 4b d6 4b e1 87 94 8c 0a 44 53 41 | .K.....DSA.sign.jt...K.K.....DSA |
2b2e0 | 2e 76 65 72 69 66 79 94 6a 74 1f 00 00 4b e3 4b f0 87 94 8c 0d 44 53 41 2e 73 69 67 6e 5f 61 73 | .verify.jt...K.K.....DSA.sign_as |
2b300 | 6e 31 94 6a 74 1f 00 00 4b f2 4b f4 87 94 8c 0f 44 53 41 2e 76 65 72 69 66 79 5f 61 73 6e 31 94 | n1.jt...K.K.....DSA.verify_asn1. |
2b320 | 6a 74 1f 00 00 4b f6 4b f8 87 94 8c 0d 44 53 41 2e 63 68 65 63 6b 5f 6b 65 79 94 6a 74 1f 00 00 | jt...K.K.....DSA.check_key.jt... |
2b340 | 4b fa 4d 01 01 87 94 8c 03 44 53 41 94 6a 7d 1f 00 00 4b 17 4d 01 01 87 94 8c 0c 44 53 41 5f 70 | K.M......DSA.j}...K.M......DSA_p |
2b360 | 75 62 2e 73 69 67 6e 94 6a 74 1f 00 00 4d 0d 01 4d 0f 01 87 94 8c 11 44 53 41 5f 70 75 62 2e 63 | ub.sign.jt...M..M......DSA_pub.c |
2b380 | 68 65 63 6b 5f 6b 65 79 94 6a 74 1f 00 00 4d 13 01 4d 18 01 87 94 8c 07 44 53 41 5f 70 75 62 94 | heck_key.jt...M..M......DSA_pub. |
2b3a0 | 6a 7d 1f 00 00 4d 04 01 4d 1c 01 87 94 8c 0a 67 65 6e 5f 70 61 72 61 6d 73 94 6a 74 1f 00 00 4d | j}...M..M......gen_params.jt...M |
2b3c0 | 22 01 4d 30 01 87 94 8c 0a 73 65 74 5f 70 61 72 61 6d 73 94 6a 74 1f 00 00 4d 33 01 4d 40 01 87 | ".M0.....set_params.jt...M3.M@.. |
2b3e0 | 94 8c 0b 6c 6f 61 64 5f 70 61 72 61 6d 73 94 6a 74 1f 00 00 4d 43 01 4d 53 01 87 94 8c 0f 6c 6f | ...load_params.jt...MC.MS.....lo |
2b400 | 61 64 5f 70 61 72 61 6d 73 5f 62 69 6f 94 6a 74 1f 00 00 4d 56 01 4d 64 01 87 94 8c 08 6c 6f 61 | ad_params_bio.jt...MV.Md.....loa |
2b420 | 64 5f 6b 65 79 94 6a 74 1f 00 00 4d 67 01 4d 77 01 87 94 8c 0c 6c 6f 61 64 5f 6b 65 79 5f 62 69 | d_key.jt...Mg.Mw.....load_key_bi |
2b440 | 6f 94 6a 74 1f 00 00 4d 7a 01 4d 88 01 87 94 8c 13 70 75 62 5f 6b 65 79 5f 66 72 6f 6d 5f 70 61 | o.jt...Mz.M......pub_key_from_pa |
2b460 | 72 61 6d 73 94 6a 74 1f 00 00 4d 8b 01 4d 9a 01 87 94 8c 0c 6c 6f 61 64 5f 70 75 62 5f 6b 65 79 | rams.jt...M..M......load_pub_key |
2b480 | 94 6a 74 1f 00 00 4d 9d 01 4d ae 01 87 94 8c 10 6c 6f 61 64 5f 70 75 62 5f 6b 65 79 5f 62 69 6f | .jt...M..M......load_pub_key_bio |
2b4a0 | 94 6a 74 1f 00 00 4d b1 01 4d c0 01 87 94 75 7d 94 28 8c 03 44 53 41 94 6a 53 02 00 00 8c 0d 44 | .jt...M..M....u}.(..DSA.jS.....D |
2b4c0 | 53 41 2e 63 68 65 63 6b 5f 6b 65 79 94 6a 53 02 00 00 8c 0b 44 53 41 2e 67 65 6e 5f 6b 65 79 94 | SA.check_key.jS.....DSA.gen_key. |
2b4e0 | 6a 53 02 00 00 8c 0c 44 53 41 2e 73 61 76 65 5f 6b 65 79 94 6a 53 02 00 00 8c 10 44 53 41 2e 73 | jS.....DSA.save_key.jS.....DSA.s |
2b500 | 61 76 65 5f 6b 65 79 5f 62 69 6f 94 6a 53 02 00 00 8c 0f 44 53 41 2e 73 61 76 65 5f 70 61 72 61 | ave_key_bio.jS.....DSA.save_para |
2b520 | 6d 73 94 6a 53 02 00 00 8c 13 44 53 41 2e 73 61 76 65 5f 70 61 72 61 6d 73 5f 62 69 6f 94 6a 53 | ms.jS.....DSA.save_params_bio.jS |
2b540 | 02 00 00 8c 10 44 53 41 2e 73 61 76 65 5f 70 75 62 5f 6b 65 79 94 6a 53 02 00 00 8c 14 44 53 41 | .....DSA.save_pub_key.jS.....DSA |
2b560 | 2e 73 61 76 65 5f 70 75 62 5f 6b 65 79 5f 62 69 6f 94 6a 53 02 00 00 8c 0e 44 53 41 2e 73 65 74 | .save_pub_key_bio.jS.....DSA.set |
2b580 | 5f 70 61 72 61 6d 73 94 6a 53 02 00 00 8c 08 44 53 41 2e 73 69 67 6e 94 6a 53 02 00 00 8c 0d 44 | _params.jS.....DSA.sign.jS.....D |
2b5a0 | 53 41 2e 73 69 67 6e 5f 61 73 6e 31 94 6a 53 02 00 00 8c 0a 44 53 41 2e 76 65 72 69 66 79 94 6a | SA.sign_asn1.jS.....DSA.verify.j |
2b5c0 | 53 02 00 00 8c 0f 44 53 41 2e 76 65 72 69 66 79 5f 61 73 6e 31 94 6a 53 02 00 00 8c 08 44 53 41 | S.....DSA.verify_asn1.jS.....DSA |
2b5e0 | 45 72 72 6f 72 94 6a 53 02 00 00 8c 07 44 53 41 5f 70 75 62 94 6a 53 02 00 00 8c 11 44 53 41 5f | Error.jS.....DSA_pub.jS.....DSA_ |
2b600 | 70 75 62 2e 63 68 65 63 6b 5f 6b 65 79 94 6a 53 02 00 00 8c 0c 44 53 41 5f 70 75 62 2e 73 69 67 | pub.check_key.jS.....DSA_pub.sig |
2b620 | 6e 94 6a 53 02 00 00 8c 0a 67 65 6e 5f 70 61 72 61 6d 73 94 6a 53 02 00 00 8c 08 6c 6f 61 64 5f | n.jS.....gen_params.jS.....load_ |
2b640 | 6b 65 79 94 6a 53 02 00 00 8c 0c 6c 6f 61 64 5f 6b 65 79 5f 62 69 6f 94 6a 53 02 00 00 8c 0b 6c | key.jS.....load_key_bio.jS.....l |
2b660 | 6f 61 64 5f 70 61 72 61 6d 73 94 6a 53 02 00 00 8c 0f 6c 6f 61 64 5f 70 61 72 61 6d 73 5f 62 69 | oad_params.jS.....load_params_bi |
2b680 | 6f 94 6a 53 02 00 00 8c 0c 6c 6f 61 64 5f 70 75 62 5f 6b 65 79 94 6a 53 02 00 00 8c 10 6c 6f 61 | o.jS.....load_pub_key.jS.....loa |
2b6a0 | 64 5f 70 75 62 5f 6b 65 79 5f 62 69 6f 94 6a 53 02 00 00 8c 13 70 75 62 5f 6b 65 79 5f 66 72 6f | d_pub_key_bio.jS.....pub_key_fro |
2b6c0 | 6d 5f 70 61 72 61 6d 73 94 6a 53 02 00 00 8c 0a 73 65 74 5f 70 61 72 61 6d 73 94 6a 53 02 00 00 | m_params.jS.....set_params.jS... |
2b6e0 | 75 8c 0c 4d 32 43 72 79 70 74 6f 2e 44 53 41 94 74 94 8c 0b 4d 32 43 72 79 70 74 6f 2e 45 43 94 | u..M2Crypto.DSA.t...M2Crypto.EC. |
2b700 | 28 58 64 3e 00 00 66 72 6f 6d 20 5f 5f 66 75 74 75 72 65 5f 5f 20 69 6d 70 6f 72 74 20 61 62 73 | (Xd>..from.__future__.import.abs |
2b720 | 6f 6c 75 74 65 5f 69 6d 70 6f 72 74 0a 0a 22 22 22 0a 4d 32 43 72 79 70 74 6f 20 77 72 61 70 70 | olute_import..""".M2Crypto.wrapp |
2b740 | 65 72 20 66 6f 72 20 4f 70 65 6e 53 53 4c 20 45 43 44 48 2f 45 43 44 53 41 20 41 50 49 2e 0a 0a | er.for.OpenSSL.ECDH/ECDSA.API... |
2b760 | 40 72 65 71 75 69 72 65 73 3a 20 4f 70 65 6e 53 53 4c 20 30 2e 39 2e 38 20 6f 72 20 6e 65 77 65 | @requires:.OpenSSL.0.9.8.or.newe |
2b780 | 72 0a 0a 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 39 39 2d 32 30 30 33 20 4e 67 20 50 68 | r..Copyright.(c).1999-2003.Ng.Ph |
2b7a0 | 65 6e 67 20 53 69 6f 6e 67 2e 20 41 6c 6c 20 72 69 67 68 74 73 20 72 65 73 65 72 76 65 64 2e 0a | eng.Siong..All.rights.reserved.. |
2b7c0 | 0a 50 6f 72 74 69 6f 6e 73 20 63 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 30 35 2d 32 30 30 | .Portions.copyright.(c).2005-200 |
2b7e0 | 36 20 56 72 69 6a 65 20 55 6e 69 76 65 72 73 69 74 65 69 74 20 41 6d 73 74 65 72 64 61 6d 2e 0a | 6.Vrije.Universiteit.Amsterdam.. |
2b800 | 41 6c 6c 20 72 69 67 68 74 73 20 72 65 73 65 72 76 65 64 2e 22 22 22 0a 0a 66 72 6f 6d 20 4d 32 | All.rights.reserved."""..from.M2 |
2b820 | 43 72 79 70 74 6f 20 69 6d 70 6f 72 74 20 42 49 4f 2c 20 45 72 72 2c 20 45 56 50 2c 20 6d 32 2c | Crypto.import.BIO,.Err,.EVP,.m2, |
2b840 | 20 75 74 69 6c 0a 69 66 20 75 74 69 6c 2e 70 79 32 37 70 6c 75 73 3a 0a 20 20 20 20 66 72 6f 6d | .util.if.util.py27plus:.....from |
2b860 | 20 74 79 70 69 6e 67 20 69 6d 70 6f 72 74 20 41 6e 79 53 74 72 2c 20 43 61 6c 6c 61 62 6c 65 2c | .typing.import.AnyStr,.Callable, |
2b880 | 20 44 69 63 74 2c 20 4f 70 74 69 6f 6e 61 6c 2c 20 54 75 70 6c 65 2c 20 55 6e 69 6f 6e 20 20 23 | .Dict,.Optional,.Tuple,.Union..# |
2b8a0 | 20 6e 6f 71 61 0a 0a 45 43 5f 4b 65 79 20 3d 20 62 79 74 65 73 0a 0a 0a 63 6c 61 73 73 20 45 43 | .noqa..EC_Key.=.bytes...class.EC |
2b8c0 | 45 72 72 6f 72 28 45 78 63 65 70 74 69 6f 6e 29 3a 0a 20 20 20 20 70 61 73 73 0a 0a 6d 32 2e 65 | Error(Exception):.....pass..m2.e |
2b8e0 | 63 5f 69 6e 69 74 28 45 43 45 72 72 6f 72 29 0a 0a 23 20 43 75 72 76 65 20 69 64 65 6e 74 69 66 | c_init(ECError)..#.Curve.identif |
2b900 | 69 65 72 20 63 6f 6e 73 74 61 6e 74 73 0a 4e 49 44 5f 73 65 63 70 31 31 32 72 31 20 3d 20 6d 32 | ier.constants.NID_secp112r1.=.m2 |
2b920 | 2e 4e 49 44 5f 73 65 63 70 31 31 32 72 31 20 20 23 20 74 79 70 65 3a 20 69 6e 74 0a 4e 49 44 5f | .NID_secp112r1..#.type:.int.NID_ |
2b940 | 73 65 63 70 31 31 32 72 32 20 3d 20 6d 32 2e 4e 49 44 5f 73 65 63 70 31 31 32 72 32 20 20 23 20 | secp112r2.=.m2.NID_secp112r2..#. |
2b960 | 74 79 70 65 3a 20 69 6e 74 0a 4e 49 44 5f 73 65 63 70 31 32 38 72 31 20 3d 20 6d 32 2e 4e 49 44 | type:.int.NID_secp128r1.=.m2.NID |
2b980 | 5f 73 65 63 70 31 32 38 72 31 20 20 23 20 74 79 70 65 3a 20 69 6e 74 0a 4e 49 44 5f 73 65 63 70 | _secp128r1..#.type:.int.NID_secp |
2b9a0 | 31 32 38 72 32 20 3d 20 6d 32 2e 4e 49 44 5f 73 65 63 70 31 32 38 72 32 20 20 23 20 74 79 70 65 | 128r2.=.m2.NID_secp128r2..#.type |
2b9c0 | 3a 20 69 6e 74 0a 4e 49 44 5f 73 65 63 70 31 36 30 6b 31 20 3d 20 6d 32 2e 4e 49 44 5f 73 65 63 | :.int.NID_secp160k1.=.m2.NID_sec |
2b9e0 | 70 31 36 30 6b 31 20 20 23 20 74 79 70 65 3a 20 69 6e 74 0a 4e 49 44 5f 73 65 63 70 31 36 30 72 | p160k1..#.type:.int.NID_secp160r |
2ba00 | 31 20 3d 20 6d 32 2e 4e 49 44 5f 73 65 63 70 31 36 30 72 31 20 20 23 20 74 79 70 65 3a 20 69 6e | 1.=.m2.NID_secp160r1..#.type:.in |
2ba20 | 74 0a 4e 49 44 5f 73 65 63 70 31 36 30 72 32 20 3d 20 6d 32 2e 4e 49 44 5f 73 65 63 70 31 36 30 | t.NID_secp160r2.=.m2.NID_secp160 |
2ba40 | 72 32 20 20 23 20 74 79 70 65 3a 20 69 6e 74 0a 4e 49 44 5f 73 65 63 70 31 39 32 6b 31 20 3d 20 | r2..#.type:.int.NID_secp192k1.=. |
2ba60 | 6d 32 2e 4e 49 44 5f 73 65 63 70 31 39 32 6b 31 20 20 23 20 74 79 70 65 3a 20 69 6e 74 0a 4e 49 | m2.NID_secp192k1..#.type:.int.NI |
2ba80 | 44 5f 73 65 63 70 32 32 34 6b 31 20 3d 20 6d 32 2e 4e 49 44 5f 73 65 63 70 32 32 34 6b 31 20 20 | D_secp224k1.=.m2.NID_secp224k1.. |
2baa0 | 23 20 74 79 70 65 3a 20 69 6e 74 0a 4e 49 44 5f 73 65 63 70 32 32 34 72 31 20 3d 20 6d 32 2e 4e | #.type:.int.NID_secp224r1.=.m2.N |
2bac0 | 49 44 5f 73 65 63 70 32 32 34 72 31 20 20 23 20 74 79 70 65 3a 20 69 6e 74 0a 4e 49 44 5f 73 65 | ID_secp224r1..#.type:.int.NID_se |
2bae0 | 63 70 32 35 36 6b 31 20 3d 20 6d 32 2e 4e 49 44 5f 73 65 63 70 32 35 36 6b 31 20 20 23 20 74 79 | cp256k1.=.m2.NID_secp256k1..#.ty |
2bb00 | 70 65 3a 20 69 6e 74 0a 4e 49 44 5f 73 65 63 70 33 38 34 72 31 20 3d 20 6d 32 2e 4e 49 44 5f 73 | pe:.int.NID_secp384r1.=.m2.NID_s |
2bb20 | 65 63 70 33 38 34 72 31 20 20 23 20 74 79 70 65 3a 20 69 6e 74 0a 4e 49 44 5f 73 65 63 70 35 32 | ecp384r1..#.type:.int.NID_secp52 |
2bb40 | 31 72 31 20 3d 20 6d 32 2e 4e 49 44 5f 73 65 63 70 35 32 31 72 31 20 20 23 20 74 79 70 65 3a 20 | 1r1.=.m2.NID_secp521r1..#.type:. |
2bb60 | 69 6e 74 0a 4e 49 44 5f 73 65 63 74 31 31 33 72 31 20 3d 20 6d 32 2e 4e 49 44 5f 73 65 63 74 31 | int.NID_sect113r1.=.m2.NID_sect1 |
2bb80 | 31 33 72 31 20 20 23 20 74 79 70 65 3a 20 69 6e 74 0a 4e 49 44 5f 73 65 63 74 31 31 33 72 32 20 | 13r1..#.type:.int.NID_sect113r2. |
2bba0 | 3d 20 6d 32 2e 4e 49 44 5f 73 65 63 74 31 31 33 72 32 20 20 23 20 74 79 70 65 3a 20 69 6e 74 0a | =.m2.NID_sect113r2..#.type:.int. |
2bbc0 | 4e 49 44 5f 73 65 63 74 31 33 31 72 31 20 3d 20 6d 32 2e 4e 49 44 5f 73 65 63 74 31 33 31 72 31 | NID_sect131r1.=.m2.NID_sect131r1 |
2bbe0 | 20 20 23 20 74 79 70 65 3a 20 69 6e 74 0a 4e 49 44 5f 73 65 63 74 31 33 31 72 32 20 3d 20 6d 32 | ..#.type:.int.NID_sect131r2.=.m2 |
2bc00 | 2e 4e 49 44 5f 73 65 63 74 31 33 31 72 32 20 20 23 20 74 79 70 65 3a 20 69 6e 74 0a 4e 49 44 5f | .NID_sect131r2..#.type:.int.NID_ |
2bc20 | 73 65 63 74 31 36 33 6b 31 20 3d 20 6d 32 2e 4e 49 44 5f 73 65 63 74 31 36 33 6b 31 20 20 23 20 | sect163k1.=.m2.NID_sect163k1..#. |
2bc40 | 74 79 70 65 3a 20 69 6e 74 0a 4e 49 44 5f 73 65 63 74 31 36 33 72 31 20 3d 20 6d 32 2e 4e 49 44 | type:.int.NID_sect163r1.=.m2.NID |
2bc60 | 5f 73 65 63 74 31 36 33 72 31 20 20 23 20 74 79 70 65 3a 20 69 6e 74 0a 4e 49 44 5f 73 65 63 74 | _sect163r1..#.type:.int.NID_sect |
2bc80 | 31 36 33 72 32 20 3d 20 6d 32 2e 4e 49 44 5f 73 65 63 74 31 36 33 72 32 20 20 23 20 74 79 70 65 | 163r2.=.m2.NID_sect163r2..#.type |
2bca0 | 3a 20 69 6e 74 0a 4e 49 44 5f 73 65 63 74 31 39 33 72 31 20 3d 20 6d 32 2e 4e 49 44 5f 73 65 63 | :.int.NID_sect193r1.=.m2.NID_sec |
2bcc0 | 74 31 39 33 72 31 20 20 23 20 74 79 70 65 3a 20 69 6e 74 0a 4e 49 44 5f 73 65 63 74 31 39 33 72 | t193r1..#.type:.int.NID_sect193r |
2bce0 | 32 20 3d 20 6d 32 2e 4e 49 44 5f 73 65 63 74 31 39 33 72 32 20 20 23 20 74 79 70 65 3a 20 69 6e | 2.=.m2.NID_sect193r2..#.type:.in |
2bd00 | 74 0a 23 20 64 65 66 61 75 6c 74 20 66 6f 72 20 73 65 63 67 2e 6f 72 67 20 54 4c 53 20 74 65 73 | t.#.default.for.secg.org.TLS.tes |
2bd20 | 74 20 73 65 72 76 65 72 0a 4e 49 44 5f 73 65 63 74 32 33 33 6b 31 20 3d 20 6d 32 2e 4e 49 44 5f | t.server.NID_sect233k1.=.m2.NID_ |
2bd40 | 73 65 63 74 32 33 33 6b 31 20 20 23 20 74 79 70 65 3a 20 69 6e 74 0a 4e 49 44 5f 73 65 63 74 32 | sect233k1..#.type:.int.NID_sect2 |
2bd60 | 33 33 72 31 20 3d 20 6d 32 2e 4e 49 44 5f 73 65 63 74 32 33 33 72 31 20 20 23 20 74 79 70 65 3a | 33r1.=.m2.NID_sect233r1..#.type: |
2bd80 | 20 69 6e 74 0a 4e 49 44 5f 73 65 63 74 32 33 39 6b 31 20 3d 20 6d 32 2e 4e 49 44 5f 73 65 63 74 | .int.NID_sect239k1.=.m2.NID_sect |
2bda0 | 32 33 39 6b 31 20 20 23 20 74 79 70 65 3a 20 69 6e 74 0a 4e 49 44 5f 73 65 63 74 32 38 33 6b 31 | 239k1..#.type:.int.NID_sect283k1 |
2bdc0 | 20 3d 20 6d 32 2e 4e 49 44 5f 73 65 63 74 32 38 33 6b 31 20 20 23 20 74 79 70 65 3a 20 69 6e 74 | .=.m2.NID_sect283k1..#.type:.int |
2bde0 | 0a 4e 49 44 5f 73 65 63 74 32 38 33 72 31 20 3d 20 6d 32 2e 4e 49 44 5f 73 65 63 74 32 38 33 72 | .NID_sect283r1.=.m2.NID_sect283r |
2be00 | 31 20 20 23 20 74 79 70 65 3a 20 69 6e 74 0a 4e 49 44 5f 73 65 63 74 34 30 39 6b 31 20 3d 20 6d | 1..#.type:.int.NID_sect409k1.=.m |
2be20 | 32 2e 4e 49 44 5f 73 65 63 74 34 30 39 6b 31 20 20 23 20 74 79 70 65 3a 20 69 6e 74 0a 4e 49 44 | 2.NID_sect409k1..#.type:.int.NID |
2be40 | 5f 73 65 63 74 34 30 39 72 31 20 3d 20 6d 32 2e 4e 49 44 5f 73 65 63 74 34 30 39 72 31 20 20 23 | _sect409r1.=.m2.NID_sect409r1..# |
2be60 | 20 74 79 70 65 3a 20 69 6e 74 0a 4e 49 44 5f 73 65 63 74 35 37 31 6b 31 20 3d 20 6d 32 2e 4e 49 | .type:.int.NID_sect571k1.=.m2.NI |
2be80 | 44 5f 73 65 63 74 35 37 31 6b 31 20 20 23 20 74 79 70 65 3a 20 69 6e 74 0a 4e 49 44 5f 73 65 63 | D_sect571k1..#.type:.int.NID_sec |
2bea0 | 74 35 37 31 72 31 20 3d 20 6d 32 2e 4e 49 44 5f 73 65 63 74 35 37 31 72 31 20 20 23 20 74 79 70 | t571r1.=.m2.NID_sect571r1..#.typ |
2bec0 | 65 3a 20 69 6e 74 0a 0a 4e 49 44 5f 70 72 69 6d 65 31 39 32 76 31 20 3d 20 6d 32 2e 4e 49 44 5f | e:.int..NID_prime192v1.=.m2.NID_ |
2bee0 | 58 39 5f 36 32 5f 70 72 69 6d 65 31 39 32 76 31 20 20 23 20 74 79 70 65 3a 20 69 6e 74 0a 4e 49 | X9_62_prime192v1..#.type:.int.NI |
2bf00 | 44 5f 70 72 69 6d 65 31 39 32 76 32 20 3d 20 6d 32 2e 4e 49 44 5f 58 39 5f 36 32 5f 70 72 69 6d | D_prime192v2.=.m2.NID_X9_62_prim |
2bf20 | 65 31 39 32 76 32 20 20 23 20 74 79 70 65 3a 20 69 6e 74 0a 4e 49 44 5f 70 72 69 6d 65 31 39 32 | e192v2..#.type:.int.NID_prime192 |
2bf40 | 76 33 20 3d 20 6d 32 2e 4e 49 44 5f 58 39 5f 36 32 5f 70 72 69 6d 65 31 39 32 76 33 20 20 23 20 | v3.=.m2.NID_X9_62_prime192v3..#. |
2bf60 | 74 79 70 65 3a 20 69 6e 74 0a 4e 49 44 5f 70 72 69 6d 65 32 33 39 76 31 20 3d 20 6d 32 2e 4e 49 | type:.int.NID_prime239v1.=.m2.NI |
2bf80 | 44 5f 58 39 5f 36 32 5f 70 72 69 6d 65 32 33 39 76 31 20 20 23 20 74 79 70 65 3a 20 69 6e 74 0a | D_X9_62_prime239v1..#.type:.int. |
2bfa0 | 4e 49 44 5f 70 72 69 6d 65 32 33 39 76 32 20 3d 20 6d 32 2e 4e 49 44 5f 58 39 5f 36 32 5f 70 72 | NID_prime239v2.=.m2.NID_X9_62_pr |
2bfc0 | 69 6d 65 32 33 39 76 32 20 20 23 20 74 79 70 65 3a 20 69 6e 74 0a 4e 49 44 5f 70 72 69 6d 65 32 | ime239v2..#.type:.int.NID_prime2 |
2bfe0 | 33 39 76 33 20 3d 20 6d 32 2e 4e 49 44 5f 58 39 5f 36 32 5f 70 72 69 6d 65 32 33 39 76 33 20 20 | 39v3.=.m2.NID_X9_62_prime239v3.. |
2c000 | 23 20 74 79 70 65 3a 20 69 6e 74 0a 4e 49 44 5f 70 72 69 6d 65 32 35 36 76 31 20 3d 20 6d 32 2e | #.type:.int.NID_prime256v1.=.m2. |
2c020 | 4e 49 44 5f 58 39 5f 36 32 5f 70 72 69 6d 65 32 35 36 76 31 20 20 23 20 74 79 70 65 3a 20 69 6e | NID_X9_62_prime256v1..#.type:.in |
2c040 | 74 0a 4e 49 44 5f 63 32 70 6e 62 31 36 33 76 31 20 3d 20 6d 32 2e 4e 49 44 5f 58 39 5f 36 32 5f | t.NID_c2pnb163v1.=.m2.NID_X9_62_ |
2c060 | 63 32 70 6e 62 31 36 33 76 31 20 20 23 20 74 79 70 65 3a 20 69 6e 74 0a 4e 49 44 5f 63 32 70 6e | c2pnb163v1..#.type:.int.NID_c2pn |
2c080 | 62 31 36 33 76 32 20 3d 20 6d 32 2e 4e 49 44 5f 58 39 5f 36 32 5f 63 32 70 6e 62 31 36 33 76 32 | b163v2.=.m2.NID_X9_62_c2pnb163v2 |
2c0a0 | 20 20 23 20 74 79 70 65 3a 20 69 6e 74 0a 4e 49 44 5f 63 32 70 6e 62 31 36 33 76 33 20 3d 20 6d | ..#.type:.int.NID_c2pnb163v3.=.m |
2c0c0 | 32 2e 4e 49 44 5f 58 39 5f 36 32 5f 63 32 70 6e 62 31 36 33 76 33 20 20 23 20 74 79 70 65 3a 20 | 2.NID_X9_62_c2pnb163v3..#.type:. |
2c0e0 | 69 6e 74 0a 4e 49 44 5f 63 32 70 6e 62 31 37 36 76 31 20 3d 20 6d 32 2e 4e 49 44 5f 58 39 5f 36 | int.NID_c2pnb176v1.=.m2.NID_X9_6 |
2c100 | 32 5f 63 32 70 6e 62 31 37 36 76 31 20 20 23 20 74 79 70 65 3a 20 69 6e 74 0a 4e 49 44 5f 63 32 | 2_c2pnb176v1..#.type:.int.NID_c2 |
2c120 | 74 6e 62 31 39 31 76 31 20 3d 20 6d 32 2e 4e 49 44 5f 58 39 5f 36 32 5f 63 32 74 6e 62 31 39 31 | tnb191v1.=.m2.NID_X9_62_c2tnb191 |
2c140 | 76 31 20 20 23 20 74 79 70 65 3a 20 69 6e 74 0a 4e 49 44 5f 63 32 74 6e 62 31 39 31 76 32 20 3d | v1..#.type:.int.NID_c2tnb191v2.= |
2c160 | 20 6d 32 2e 4e 49 44 5f 58 39 5f 36 32 5f 63 32 74 6e 62 31 39 31 76 32 20 20 23 20 74 79 70 65 | .m2.NID_X9_62_c2tnb191v2..#.type |
2c180 | 3a 20 69 6e 74 0a 4e 49 44 5f 63 32 74 6e 62 31 39 31 76 33 20 3d 20 6d 32 2e 4e 49 44 5f 58 39 | :.int.NID_c2tnb191v3.=.m2.NID_X9 |
2c1a0 | 5f 36 32 5f 63 32 74 6e 62 31 39 31 76 33 20 20 23 20 74 79 70 65 3a 20 69 6e 74 0a 4e 49 44 5f | _62_c2tnb191v3..#.type:.int.NID_ |
2c1c0 | 63 32 70 6e 62 32 30 38 77 31 20 3d 20 6d 32 2e 4e 49 44 5f 58 39 5f 36 32 5f 63 32 70 6e 62 32 | c2pnb208w1.=.m2.NID_X9_62_c2pnb2 |
2c1e0 | 30 38 77 31 20 20 23 20 74 79 70 65 3a 20 69 6e 74 0a 4e 49 44 5f 63 32 74 6e 62 32 33 39 76 31 | 08w1..#.type:.int.NID_c2tnb239v1 |
2c200 | 20 3d 20 6d 32 2e 4e 49 44 5f 58 39 5f 36 32 5f 63 32 74 6e 62 32 33 39 76 31 20 20 23 20 74 79 | .=.m2.NID_X9_62_c2tnb239v1..#.ty |
2c220 | 70 65 3a 20 69 6e 74 0a 4e 49 44 5f 63 32 74 6e 62 32 33 39 76 32 20 3d 20 6d 32 2e 4e 49 44 5f | pe:.int.NID_c2tnb239v2.=.m2.NID_ |
2c240 | 58 39 5f 36 32 5f 63 32 74 6e 62 32 33 39 76 32 20 20 23 20 74 79 70 65 3a 20 69 6e 74 0a 4e 49 | X9_62_c2tnb239v2..#.type:.int.NI |
2c260 | 44 5f 63 32 74 6e 62 32 33 39 76 33 20 3d 20 6d 32 2e 4e 49 44 5f 58 39 5f 36 32 5f 63 32 74 6e | D_c2tnb239v3.=.m2.NID_X9_62_c2tn |
2c280 | 62 32 33 39 76 33 20 20 23 20 74 79 70 65 3a 20 69 6e 74 0a 4e 49 44 5f 63 32 70 6e 62 32 37 32 | b239v3..#.type:.int.NID_c2pnb272 |
2c2a0 | 77 31 20 3d 20 6d 32 2e 4e 49 44 5f 58 39 5f 36 32 5f 63 32 70 6e 62 32 37 32 77 31 20 20 23 20 | w1.=.m2.NID_X9_62_c2pnb272w1..#. |
2c2c0 | 74 79 70 65 3a 20 69 6e 74 0a 4e 49 44 5f 63 32 70 6e 62 33 30 34 77 31 20 3d 20 6d 32 2e 4e 49 | type:.int.NID_c2pnb304w1.=.m2.NI |
2c2e0 | 44 5f 58 39 5f 36 32 5f 63 32 70 6e 62 33 30 34 77 31 20 20 23 20 74 79 70 65 3a 20 69 6e 74 0a | D_X9_62_c2pnb304w1..#.type:.int. |
2c300 | 4e 49 44 5f 63 32 74 6e 62 33 35 39 76 31 20 3d 20 6d 32 2e 4e 49 44 5f 58 39 5f 36 32 5f 63 32 | NID_c2tnb359v1.=.m2.NID_X9_62_c2 |
2c320 | 74 6e 62 33 35 39 76 31 20 20 23 20 74 79 70 65 3a 20 69 6e 74 0a 4e 49 44 5f 63 32 70 6e 62 33 | tnb359v1..#.type:.int.NID_c2pnb3 |
2c340 | 36 38 77 31 20 3d 20 6d 32 2e 4e 49 44 5f 58 39 5f 36 32 5f 63 32 70 6e 62 33 36 38 77 31 20 20 | 68w1.=.m2.NID_X9_62_c2pnb368w1.. |
2c360 | 23 20 74 79 70 65 3a 20 69 6e 74 0a 4e 49 44 5f 63 32 74 6e 62 34 33 31 72 31 20 3d 20 6d 32 2e | #.type:.int.NID_c2tnb431r1.=.m2. |
2c380 | 4e 49 44 5f 58 39 5f 36 32 5f 63 32 74 6e 62 34 33 31 72 31 20 20 23 20 74 79 70 65 3a 20 69 6e | NID_X9_62_c2tnb431r1..#.type:.in |
2c3a0 | 74 0a 0a 23 20 54 6f 20 70 72 65 73 65 72 76 65 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 77 | t..#.To.preserve.compatibility.w |
2c3c0 | 69 74 68 20 6f 6c 64 65 72 20 6e 61 6d 65 73 0a 4e 49 44 5f 58 39 5f 36 32 5f 70 72 69 6d 65 31 | ith.older.names.NID_X9_62_prime1 |
2c3e0 | 39 32 76 31 20 3d 20 4e 49 44 5f 70 72 69 6d 65 31 39 32 76 31 20 20 23 20 74 79 70 65 3a 20 69 | 92v1.=.NID_prime192v1..#.type:.i |
2c400 | 6e 74 0a 4e 49 44 5f 58 39 5f 36 32 5f 70 72 69 6d 65 31 39 32 76 32 20 3d 20 4e 49 44 5f 70 72 | nt.NID_X9_62_prime192v2.=.NID_pr |
2c420 | 69 6d 65 31 39 32 76 32 20 20 23 20 74 79 70 65 3a 20 69 6e 74 0a 4e 49 44 5f 58 39 5f 36 32 5f | ime192v2..#.type:.int.NID_X9_62_ |
2c440 | 70 72 69 6d 65 31 39 32 76 33 20 3d 20 4e 49 44 5f 70 72 69 6d 65 31 39 32 76 33 20 20 23 20 74 | prime192v3.=.NID_prime192v3..#.t |
2c460 | 79 70 65 3a 20 69 6e 74 0a 4e 49 44 5f 58 39 5f 36 32 5f 70 72 69 6d 65 32 33 39 76 31 20 3d 20 | ype:.int.NID_X9_62_prime239v1.=. |
2c480 | 4e 49 44 5f 70 72 69 6d 65 32 33 39 76 31 20 20 23 20 74 79 70 65 3a 20 69 6e 74 0a 4e 49 44 5f | NID_prime239v1..#.type:.int.NID_ |
2c4a0 | 58 39 5f 36 32 5f 70 72 69 6d 65 32 33 39 76 32 20 3d 20 4e 49 44 5f 70 72 69 6d 65 32 33 39 76 | X9_62_prime239v2.=.NID_prime239v |
2c4c0 | 32 20 20 23 20 74 79 70 65 3a 20 69 6e 74 0a 4e 49 44 5f 58 39 5f 36 32 5f 70 72 69 6d 65 32 33 | 2..#.type:.int.NID_X9_62_prime23 |
2c4e0 | 39 76 33 20 3d 20 4e 49 44 5f 70 72 69 6d 65 32 33 39 76 33 20 20 23 20 74 79 70 65 3a 20 69 6e | 9v3.=.NID_prime239v3..#.type:.in |
2c500 | 74 0a 4e 49 44 5f 58 39 5f 36 32 5f 70 72 69 6d 65 32 35 36 76 31 20 3d 20 4e 49 44 5f 70 72 69 | t.NID_X9_62_prime256v1.=.NID_pri |
2c520 | 6d 65 32 35 36 76 31 20 20 23 20 74 79 70 65 3a 20 69 6e 74 0a 4e 49 44 5f 58 39 5f 36 32 5f 63 | me256v1..#.type:.int.NID_X9_62_c |
2c540 | 32 70 6e 62 31 36 33 76 31 20 3d 20 4e 49 44 5f 63 32 70 6e 62 31 36 33 76 31 20 20 23 20 74 79 | 2pnb163v1.=.NID_c2pnb163v1..#.ty |
2c560 | 70 65 3a 20 69 6e 74 0a 4e 49 44 5f 58 39 5f 36 32 5f 63 32 70 6e 62 31 36 33 76 32 20 3d 20 4e | pe:.int.NID_X9_62_c2pnb163v2.=.N |
2c580 | 49 44 5f 63 32 70 6e 62 31 36 33 76 32 20 20 23 20 74 79 70 65 3a 20 69 6e 74 0a 4e 49 44 5f 58 | ID_c2pnb163v2..#.type:.int.NID_X |
2c5a0 | 39 5f 36 32 5f 63 32 70 6e 62 31 36 33 76 33 20 3d 20 4e 49 44 5f 63 32 70 6e 62 31 36 33 76 33 | 9_62_c2pnb163v3.=.NID_c2pnb163v3 |
2c5c0 | 20 20 23 20 74 79 70 65 3a 20 69 6e 74 0a 4e 49 44 5f 58 39 5f 36 32 5f 63 32 70 6e 62 31 37 36 | ..#.type:.int.NID_X9_62_c2pnb176 |
2c5e0 | 76 31 20 3d 20 4e 49 44 5f 63 32 70 6e 62 31 37 36 76 31 20 20 23 20 74 79 70 65 3a 20 69 6e 74 | v1.=.NID_c2pnb176v1..#.type:.int |
2c600 | 0a 4e 49 44 5f 58 39 5f 36 32 5f 63 32 74 6e 62 31 39 31 76 31 20 3d 20 4e 49 44 5f 63 32 74 6e | .NID_X9_62_c2tnb191v1.=.NID_c2tn |
2c620 | 62 31 39 31 76 31 20 20 23 20 74 79 70 65 3a 20 69 6e 74 0a 4e 49 44 5f 58 39 5f 36 32 5f 63 32 | b191v1..#.type:.int.NID_X9_62_c2 |
2c640 | 74 6e 62 31 39 31 76 32 20 3d 20 4e 49 44 5f 63 32 74 6e 62 31 39 31 76 32 20 20 23 20 74 79 70 | tnb191v2.=.NID_c2tnb191v2..#.typ |
2c660 | 65 3a 20 69 6e 74 0a 4e 49 44 5f 58 39 5f 36 32 5f 63 32 74 6e 62 31 39 31 76 33 20 3d 20 4e 49 | e:.int.NID_X9_62_c2tnb191v3.=.NI |
2c680 | 44 5f 63 32 74 6e 62 31 39 31 76 33 20 20 23 20 74 79 70 65 3a 20 69 6e 74 0a 4e 49 44 5f 58 39 | D_c2tnb191v3..#.type:.int.NID_X9 |
2c6a0 | 5f 36 32 5f 63 32 70 6e 62 32 30 38 77 31 20 3d 20 4e 49 44 5f 63 32 70 6e 62 32 30 38 77 31 20 | _62_c2pnb208w1.=.NID_c2pnb208w1. |
2c6c0 | 20 23 20 74 79 70 65 3a 20 69 6e 74 0a 4e 49 44 5f 58 39 5f 36 32 5f 63 32 74 6e 62 32 33 39 76 | .#.type:.int.NID_X9_62_c2tnb239v |
2c6e0 | 31 20 3d 20 4e 49 44 5f 63 32 74 6e 62 32 33 39 76 31 20 20 23 20 74 79 70 65 3a 20 69 6e 74 0a | 1.=.NID_c2tnb239v1..#.type:.int. |
2c700 | 4e 49 44 5f 58 39 5f 36 32 5f 63 32 74 6e 62 32 33 39 76 32 20 3d 20 4e 49 44 5f 63 32 74 6e 62 | NID_X9_62_c2tnb239v2.=.NID_c2tnb |
2c720 | 32 33 39 76 32 20 20 23 20 74 79 70 65 3a 20 69 6e 74 0a 4e 49 44 5f 58 39 5f 36 32 5f 63 32 74 | 239v2..#.type:.int.NID_X9_62_c2t |
2c740 | 6e 62 32 33 39 76 33 20 3d 20 4e 49 44 5f 63 32 74 6e 62 32 33 39 76 33 20 20 23 20 74 79 70 65 | nb239v3.=.NID_c2tnb239v3..#.type |
2c760 | 3a 20 69 6e 74 0a 4e 49 44 5f 58 39 5f 36 32 5f 63 32 70 6e 62 32 37 32 77 31 20 3d 20 4e 49 44 | :.int.NID_X9_62_c2pnb272w1.=.NID |
2c780 | 5f 63 32 70 6e 62 32 37 32 77 31 20 20 23 20 74 79 70 65 3a 20 69 6e 74 0a 4e 49 44 5f 58 39 5f | _c2pnb272w1..#.type:.int.NID_X9_ |
2c7a0 | 36 32 5f 63 32 70 6e 62 33 30 34 77 31 20 3d 20 4e 49 44 5f 63 32 70 6e 62 33 30 34 77 31 20 20 | 62_c2pnb304w1.=.NID_c2pnb304w1.. |
2c7c0 | 23 20 74 79 70 65 3a 20 69 6e 74 0a 4e 49 44 5f 58 39 5f 36 32 5f 63 32 74 6e 62 33 35 39 76 31 | #.type:.int.NID_X9_62_c2tnb359v1 |
2c7e0 | 20 3d 20 4e 49 44 5f 63 32 74 6e 62 33 35 39 76 31 20 20 23 20 74 79 70 65 3a 20 69 6e 74 0a 4e | .=.NID_c2tnb359v1..#.type:.int.N |
2c800 | 49 44 5f 58 39 5f 36 32 5f 63 32 70 6e 62 33 36 38 77 31 20 3d 20 4e 49 44 5f 63 32 70 6e 62 33 | ID_X9_62_c2pnb368w1.=.NID_c2pnb3 |
2c820 | 36 38 77 31 20 20 23 20 74 79 70 65 3a 20 69 6e 74 0a 4e 49 44 5f 58 39 5f 36 32 5f 63 32 74 6e | 68w1..#.type:.int.NID_X9_62_c2tn |
2c840 | 62 34 33 31 72 31 20 3d 20 4e 49 44 5f 63 32 74 6e 62 34 33 31 72 31 20 20 23 20 74 79 70 65 3a | b431r1.=.NID_c2tnb431r1..#.type: |
2c860 | 20 69 6e 74 0a 0a 4e 49 44 5f 77 61 70 5f 77 73 67 5f 69 64 6d 5f 65 63 69 64 5f 77 74 6c 73 31 | .int..NID_wap_wsg_idm_ecid_wtls1 |
2c880 | 20 3d 20 6d 32 2e 4e 49 44 5f 77 61 70 5f 77 73 67 5f 69 64 6d 5f 65 63 69 64 5f 77 74 6c 73 31 | .=.m2.NID_wap_wsg_idm_ecid_wtls1 |
2c8a0 | 20 20 23 20 74 79 70 65 3a 20 69 6e 74 0a 4e 49 44 5f 77 61 70 5f 77 73 67 5f 69 64 6d 5f 65 63 | ..#.type:.int.NID_wap_wsg_idm_ec |
2c8c0 | 69 64 5f 77 74 6c 73 33 20 3d 20 6d 32 2e 4e 49 44 5f 77 61 70 5f 77 73 67 5f 69 64 6d 5f 65 63 | id_wtls3.=.m2.NID_wap_wsg_idm_ec |
2c8e0 | 69 64 5f 77 74 6c 73 33 20 20 23 20 74 79 70 65 3a 20 69 6e 74 0a 4e 49 44 5f 77 61 70 5f 77 73 | id_wtls3..#.type:.int.NID_wap_ws |
2c900 | 67 5f 69 64 6d 5f 65 63 69 64 5f 77 74 6c 73 34 20 3d 20 6d 32 2e 4e 49 44 5f 77 61 70 5f 77 73 | g_idm_ecid_wtls4.=.m2.NID_wap_ws |
2c920 | 67 5f 69 64 6d 5f 65 63 69 64 5f 77 74 6c 73 34 20 20 23 20 74 79 70 65 3a 20 69 6e 74 0a 4e 49 | g_idm_ecid_wtls4..#.type:.int.NI |
2c940 | 44 5f 77 61 70 5f 77 73 67 5f 69 64 6d 5f 65 63 69 64 5f 77 74 6c 73 35 20 3d 20 6d 32 2e 4e 49 | D_wap_wsg_idm_ecid_wtls5.=.m2.NI |
2c960 | 44 5f 77 61 70 5f 77 73 67 5f 69 64 6d 5f 65 63 69 64 5f 77 74 6c 73 35 20 20 23 20 74 79 70 65 | D_wap_wsg_idm_ecid_wtls5..#.type |
2c980 | 3a 20 69 6e 74 0a 4e 49 44 5f 77 61 70 5f 77 73 67 5f 69 64 6d 5f 65 63 69 64 5f 77 74 6c 73 36 | :.int.NID_wap_wsg_idm_ecid_wtls6 |
2c9a0 | 20 3d 20 6d 32 2e 4e 49 44 5f 77 61 70 5f 77 73 67 5f 69 64 6d 5f 65 63 69 64 5f 77 74 6c 73 36 | .=.m2.NID_wap_wsg_idm_ecid_wtls6 |
2c9c0 | 20 20 23 20 74 79 70 65 3a 20 69 6e 74 0a 4e 49 44 5f 77 61 70 5f 77 73 67 5f 69 64 6d 5f 65 63 | ..#.type:.int.NID_wap_wsg_idm_ec |
2c9e0 | 69 64 5f 77 74 6c 73 37 20 3d 20 6d 32 2e 4e 49 44 5f 77 61 70 5f 77 73 67 5f 69 64 6d 5f 65 63 | id_wtls7.=.m2.NID_wap_wsg_idm_ec |
2ca00 | 69 64 5f 77 74 6c 73 37 20 20 23 20 74 79 70 65 3a 20 69 6e 74 0a 4e 49 44 5f 77 61 70 5f 77 73 | id_wtls7..#.type:.int.NID_wap_ws |
2ca20 | 67 5f 69 64 6d 5f 65 63 69 64 5f 77 74 6c 73 38 20 3d 20 6d 32 2e 4e 49 44 5f 77 61 70 5f 77 73 | g_idm_ecid_wtls8.=.m2.NID_wap_ws |
2ca40 | 67 5f 69 64 6d 5f 65 63 69 64 5f 77 74 6c 73 38 20 20 23 20 74 79 70 65 3a 20 69 6e 74 0a 4e 49 | g_idm_ecid_wtls8..#.type:.int.NI |
2ca60 | 44 5f 77 61 70 5f 77 73 67 5f 69 64 6d 5f 65 63 69 64 5f 77 74 6c 73 39 20 3d 20 6d 32 2e 4e 49 | D_wap_wsg_idm_ecid_wtls9.=.m2.NI |
2ca80 | 44 5f 77 61 70 5f 77 73 67 5f 69 64 6d 5f 65 63 69 64 5f 77 74 6c 73 39 20 20 23 20 74 79 70 65 | D_wap_wsg_idm_ecid_wtls9..#.type |
2caa0 | 3a 20 69 6e 74 0a 4e 49 44 5f 77 61 70 5f 77 73 67 5f 69 64 6d 5f 65 63 69 64 5f 77 74 6c 73 31 | :.int.NID_wap_wsg_idm_ecid_wtls1 |
2cac0 | 30 20 3d 20 6d 32 2e 4e 49 44 5f 77 61 70 5f 77 73 67 5f 69 64 6d 5f 65 63 69 64 5f 77 74 6c 73 | 0.=.m2.NID_wap_wsg_idm_ecid_wtls |
2cae0 | 31 30 20 20 23 20 74 79 70 65 3a 20 69 6e 74 0a 4e 49 44 5f 77 61 70 5f 77 73 67 5f 69 64 6d 5f | 10..#.type:.int.NID_wap_wsg_idm_ |
2cb00 | 65 63 69 64 5f 77 74 6c 73 31 31 20 3d 20 6d 32 2e 4e 49 44 5f 77 61 70 5f 77 73 67 5f 69 64 6d | ecid_wtls11.=.m2.NID_wap_wsg_idm |
2cb20 | 5f 65 63 69 64 5f 77 74 6c 73 31 31 20 20 23 20 74 79 70 65 3a 20 69 6e 74 0a 4e 49 44 5f 77 61 | _ecid_wtls11..#.type:.int.NID_wa |
2cb40 | 70 5f 77 73 67 5f 69 64 6d 5f 65 63 69 64 5f 77 74 6c 73 31 32 20 3d 20 6d 32 2e 4e 49 44 5f 77 | p_wsg_idm_ecid_wtls12.=.m2.NID_w |
2cb60 | 61 70 5f 77 73 67 5f 69 64 6d 5f 65 63 69 64 5f 77 74 6c 73 31 32 20 20 23 20 74 79 70 65 3a 20 | ap_wsg_idm_ecid_wtls12..#.type:. |
2cb80 | 69 6e 74 0a 0a 23 20 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 77 6f 20 63 75 72 76 65 73 2c | int..#.The.following.two.curves, |
2cba0 | 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 4f 70 65 6e 53 53 4c 2c 20 68 61 76 65 20 61 0a 23 20 | .according.to.OpenSSL,.have.a.#. |
2cbc0 | 22 51 75 65 73 74 69 6f 6e 61 62 6c 65 20 65 78 74 65 6e 73 69 6f 6e 20 66 69 65 6c 64 21 22 20 | "Questionable.extension.field!". |
2cbe0 | 61 6e 64 20 61 72 65 20 6e 6f 74 20 73 75 70 70 6f 72 74 65 64 20 62 79 0a 23 20 74 68 65 20 4f | and.are.not.supported.by.#.the.O |
2cc00 | 70 65 6e 53 53 4c 20 69 6e 76 65 72 73 65 20 66 75 6e 63 74 69 6f 6e 2e 20 20 45 43 45 72 72 6f | penSSL.inverse.function...ECErro |
2cc20 | 72 3a 20 6e 6f 20 69 6e 76 65 72 73 65 2e 0a 23 20 41 73 20 73 75 63 68 20 74 68 65 79 20 63 61 | r:.no.inverse..#.As.such.they.ca |
2cc40 | 6e 6e 6f 74 20 62 65 20 75 73 65 64 20 66 6f 72 20 73 69 67 6e 69 6e 67 2e 20 20 54 68 65 79 20 | nnot.be.used.for.signing...They. |
2cc60 | 6d 69 67 68 74 2c 0a 23 20 68 6f 77 65 76 65 72 2c 20 62 65 20 75 73 61 62 6c 65 20 66 6f 72 20 | might,.#.however,.be.usable.for. |
2cc80 | 65 6e 63 72 79 70 74 69 6f 6e 20 62 75 74 20 74 68 61 74 20 68 61 73 20 6e 6f 74 0a 23 20 62 65 | encryption.but.that.has.not.#.be |
2cca0 | 65 6e 20 74 65 73 74 65 64 2e 20 20 55 6e 74 69 6c 20 74 68 69 72 20 75 73 65 66 75 6c 6e 65 73 | en.tested...Until.thir.usefulnes |
2ccc0 | 73 20 63 61 6e 20 62 65 20 65 73 74 61 62 6c 69 73 68 65 64 2c 0a 23 20 74 68 65 79 20 61 72 65 | s.can.be.established,.#.they.are |
2cce0 | 20 6e 6f 74 20 73 75 70 70 6f 72 74 65 64 20 61 74 20 74 68 69 73 20 74 69 6d 65 2e 0a 23 20 4e | .not.supported.at.this.time..#.N |
2cd00 | 49 44 5f 69 70 73 65 63 33 20 3d 20 6d 32 2e 4e 49 44 5f 69 70 73 65 63 33 0a 23 20 4e 49 44 5f | ID_ipsec3.=.m2.NID_ipsec3.#.NID_ |
2cd20 | 69 70 73 65 63 34 20 3d 20 6d 32 2e 4e 49 44 5f 69 70 73 65 63 34 0a 0a 0a 63 6c 61 73 73 20 45 | ipsec4.=.m2.NID_ipsec4...class.E |
2cd40 | 43 28 6f 62 6a 65 63 74 29 3a 0a 0a 20 20 20 20 22 22 22 0a 20 20 20 20 4f 62 6a 65 63 74 20 69 | C(object):......""".....Object.i |
2cd60 | 6e 74 65 72 66 61 63 65 20 74 6f 20 61 20 45 43 20 6b 65 79 20 70 61 69 72 2e 0a 20 20 20 20 22 | nterface.to.a.EC.key.pair......" |
2cd80 | 22 22 0a 0a 20 20 20 20 6d 32 5f 65 63 5f 6b 65 79 5f 66 72 65 65 20 3d 20 6d 32 2e 65 63 5f 6b | ""......m2_ec_key_free.=.m2.ec_k |
2cda0 | 65 79 5f 66 72 65 65 0a 0a 20 20 20 20 64 65 66 20 5f 5f 69 6e 69 74 5f 5f 28 73 65 6c 66 2c 20 | ey_free......def.__init__(self,. |
2cdc0 | 65 63 2c 20 5f 70 79 66 72 65 65 3d 30 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 | ec,._pyfree=0):.........#.type:. |
2cde0 | 28 45 43 2c 20 69 6e 74 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 | (EC,.int).->.None.........assert |
2ce00 | 20 6d 32 2e 65 63 5f 6b 65 79 5f 74 79 70 65 5f 63 68 65 63 6b 28 65 63 29 2c 20 22 27 65 63 27 | .m2.ec_key_type_check(ec),."'ec' |
2ce20 | 20 74 79 70 65 20 65 72 72 6f 72 22 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 65 63 20 3d 20 65 | .type.error".........self.ec.=.e |
2ce40 | 63 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 70 79 66 72 65 65 20 3d 20 5f 70 79 66 72 65 65 | c.........self._pyfree.=._pyfree |
2ce60 | 0a 0a 20 20 20 20 64 65 66 20 5f 5f 64 65 6c 5f 5f 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 | ......def.__del__(self):........ |
2ce80 | 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 69 66 20 67 | .#.type:.().->.None.........if.g |
2cea0 | 65 74 61 74 74 72 28 73 65 6c 66 2c 20 27 5f 70 79 66 72 65 65 27 2c 20 30 29 3a 0a 20 20 20 20 | etattr(self,.'_pyfree',.0):..... |
2cec0 | 20 20 20 20 20 20 20 20 73 65 6c 66 2e 6d 32 5f 65 63 5f 6b 65 79 5f 66 72 65 65 28 73 65 6c 66 | ........self.m2_ec_key_free(self |
2cee0 | 2e 65 63 29 0a 0a 20 20 20 20 64 65 66 20 5f 5f 6c 65 6e 5f 5f 28 73 65 6c 66 29 3a 0a 20 20 20 | .ec)......def.__len__(self):.... |
2cf00 | 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 61 | .....#.type:.().->.int.........a |
2cf20 | 73 73 65 72 74 20 6d 32 2e 65 63 5f 6b 65 79 5f 74 79 70 65 5f 63 68 65 63 6b 28 73 65 6c 66 2e | ssert.m2.ec_key_type_check(self. |
2cf40 | 65 63 29 2c 20 22 27 65 63 27 20 74 79 70 65 20 65 72 72 6f 72 22 0a 20 20 20 20 20 20 20 20 72 | ec),."'ec'.type.error".........r |
2cf60 | 65 74 75 72 6e 20 6d 32 2e 65 63 5f 6b 65 79 5f 6b 65 79 6c 65 6e 28 73 65 6c 66 2e 65 63 29 0a | eturn.m2.ec_key_keylen(self.ec). |
2cf80 | 0a 20 20 20 20 64 65 66 20 67 65 6e 5f 6b 65 79 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 | .....def.gen_key(self):......... |
2cfa0 | 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 | #.type:.().->.int........."""... |
2cfc0 | 20 20 20 20 20 20 47 65 6e 65 72 61 74 65 73 20 74 68 65 20 6b 65 79 20 70 61 69 72 20 66 72 6f | ......Generates.the.key.pair.fro |
2cfe0 | 6d 20 69 74 73 20 70 61 72 61 6d 65 74 65 72 73 2e 20 55 73 65 3a 3a 0a 0a 20 20 20 20 20 20 20 | m.its.parameters..Use::......... |
2d000 | 20 20 20 20 20 6b 65 79 70 61 69 72 20 3d 20 45 43 2e 67 65 6e 5f 70 61 72 61 6d 73 28 63 75 72 | .....keypair.=.EC.gen_params(cur |
2d020 | 76 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 6b 65 79 70 61 69 72 2e 67 65 6e 5f 6b 65 79 28 | ve).............keypair.gen_key( |
2d040 | 29 0a 0a 20 20 20 20 20 20 20 20 74 6f 20 63 72 65 61 74 65 20 61 6e 20 45 43 20 6b 65 79 20 70 | )..........to.create.an.EC.key.p |
2d060 | 61 69 72 2e 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 20 | air..........""".........assert. |
2d080 | 6d 32 2e 65 63 5f 6b 65 79 5f 74 79 70 65 5f 63 68 65 63 6b 28 73 65 6c 66 2e 65 63 29 2c 20 22 | m2.ec_key_type_check(self.ec),." |
2d0a0 | 27 65 63 27 20 74 79 70 65 20 65 72 72 6f 72 22 0a 20 20 20 20 20 20 20 20 6d 32 2e 65 63 5f 6b | 'ec'.type.error".........m2.ec_k |
2d0c0 | 65 79 5f 67 65 6e 5f 6b 65 79 28 73 65 6c 66 2e 65 63 29 0a 0a 20 20 20 20 64 65 66 20 70 75 62 | ey_gen_key(self.ec)......def.pub |
2d0e0 | 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 45 43 | (self):.........#.type:.().->.EC |
2d100 | 5f 70 75 62 0a 20 20 20 20 20 20 20 20 23 20 44 6f 6e 27 74 20 6c 65 74 20 70 79 74 68 6f 6e 20 | _pub.........#.Don't.let.python. |
2d120 | 66 72 65 65 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 45 43 5f 70 75 62 28 73 65 6c 66 2e | free.........return.EC_pub(self. |
2d140 | 65 63 2c 20 30 29 0a 0a 20 20 20 20 64 65 66 20 73 69 67 6e 5f 64 73 61 28 73 65 6c 66 2c 20 64 | ec,.0)......def.sign_dsa(self,.d |
2d160 | 69 67 65 73 74 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 62 79 74 65 73 29 20 | igest):.........#.type:.(bytes). |
2d180 | 2d 3e 20 54 75 70 6c 65 5b 62 79 74 65 73 2c 20 62 79 74 65 73 5d 0a 20 20 20 20 20 20 20 20 22 | ->.Tuple[bytes,.bytes]........." |
2d1a0 | 22 22 0a 20 20 20 20 20 20 20 20 53 69 67 6e 20 74 68 65 20 67 69 76 65 6e 20 64 69 67 65 73 74 | "".........Sign.the.given.digest |
2d1c0 | 20 75 73 69 6e 67 20 45 43 44 53 41 2e 20 52 65 74 75 72 6e 73 20 61 20 74 75 70 6c 65 20 28 72 | .using.ECDSA..Returns.a.tuple.(r |
2d1e0 | 2c 73 29 2c 20 74 68 65 20 74 77 6f 0a 20 20 20 20 20 20 20 20 45 43 44 53 41 20 73 69 67 6e 61 | ,s),.the.two.........ECDSA.signa |
2d200 | 74 75 72 65 20 70 61 72 61 6d 65 74 65 72 73 2e 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 | ture.parameters..........""".... |
2d220 | 20 20 20 20 20 61 73 73 65 72 74 20 73 65 6c 66 2e 5f 63 68 65 63 6b 5f 6b 65 79 5f 74 79 70 65 | .....assert.self._check_key_type |
2d240 | 28 29 2c 20 22 27 65 63 27 20 74 79 70 65 20 65 72 72 6f 72 22 0a 20 20 20 20 20 20 20 20 72 65 | (),."'ec'.type.error".........re |
2d260 | 74 75 72 6e 20 6d 32 2e 65 63 64 73 61 5f 73 69 67 6e 28 73 65 6c 66 2e 65 63 2c 20 64 69 67 65 | turn.m2.ecdsa_sign(self.ec,.dige |
2d280 | 73 74 29 0a 0a 20 20 20 20 64 65 66 20 76 65 72 69 66 79 5f 64 73 61 28 73 65 6c 66 2c 20 64 69 | st)......def.verify_dsa(self,.di |
2d2a0 | 67 65 73 74 2c 20 72 2c 20 73 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 62 79 | gest,.r,.s):.........#.type:.(by |
2d2c0 | 74 65 73 2c 20 62 79 74 65 73 2c 20 62 79 74 65 73 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 | tes,.bytes,.bytes).->.int....... |
2d2e0 | 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 56 65 72 69 66 79 20 74 68 65 20 67 69 76 65 6e 20 64 | ..""".........Verify.the.given.d |
2d300 | 69 67 65 73 74 20 75 73 69 6e 67 20 45 43 44 53 41 2e 20 72 20 61 6e 64 20 73 20 61 72 65 20 74 | igest.using.ECDSA..r.and.s.are.t |
2d320 | 68 65 20 45 43 44 53 41 0a 20 20 20 20 20 20 20 20 73 69 67 6e 61 74 75 72 65 20 70 61 72 61 6d | he.ECDSA.........signature.param |
2d340 | 65 74 65 72 73 2e 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 | eters..........""".........asser |
2d360 | 74 20 73 65 6c 66 2e 5f 63 68 65 63 6b 5f 6b 65 79 5f 74 79 70 65 28 29 2c 20 22 27 65 63 27 20 | t.self._check_key_type(),."'ec'. |
2d380 | 74 79 70 65 20 65 72 72 6f 72 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 65 63 | type.error".........return.m2.ec |
2d3a0 | 64 73 61 5f 76 65 72 69 66 79 28 73 65 6c 66 2e 65 63 2c 20 64 69 67 65 73 74 2c 20 72 2c 20 73 | dsa_verify(self.ec,.digest,.r,.s |
2d3c0 | 29 0a 0a 20 20 20 20 64 65 66 20 73 69 67 6e 5f 64 73 61 5f 61 73 6e 31 28 73 65 6c 66 2c 20 64 | )......def.sign_dsa_asn1(self,.d |
2d3e0 | 69 67 65 73 74 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 62 79 74 65 73 29 20 | igest):.........#.type:.(bytes). |
2d400 | 2d 3e 20 62 79 74 65 73 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 20 73 65 6c 66 2e 5f 63 68 | ->.bytes.........assert.self._ch |
2d420 | 65 63 6b 5f 6b 65 79 5f 74 79 70 65 28 29 2c 20 22 27 65 63 27 20 74 79 70 65 20 65 72 72 6f 72 | eck_key_type(),."'ec'.type.error |
2d440 | 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 65 63 64 73 61 5f 73 69 67 6e 5f 61 | ".........return.m2.ecdsa_sign_a |
2d460 | 73 6e 31 28 73 65 6c 66 2e 65 63 2c 20 64 69 67 65 73 74 29 0a 0a 20 20 20 20 64 65 66 20 76 65 | sn1(self.ec,.digest)......def.ve |
2d480 | 72 69 66 79 5f 64 73 61 5f 61 73 6e 31 28 73 65 6c 66 2c 20 64 69 67 65 73 74 2c 20 62 6c 6f 62 | rify_dsa_asn1(self,.digest,.blob |
2d4a0 | 29 3a 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 20 73 65 6c 66 2e 5f 63 68 65 63 6b 5f 6b 65 | ):.........assert.self._check_ke |
2d4c0 | 79 5f 74 79 70 65 28 29 2c 20 22 27 65 63 27 20 74 79 70 65 20 65 72 72 6f 72 22 0a 20 20 20 20 | y_type(),."'ec'.type.error"..... |
2d4e0 | 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 65 63 64 73 61 5f 76 65 72 69 66 79 5f 61 73 6e 31 28 | ....return.m2.ecdsa_verify_asn1( |
2d500 | 73 65 6c 66 2e 65 63 2c 20 64 69 67 65 73 74 2c 20 62 6c 6f 62 29 0a 0a 20 20 20 20 64 65 66 20 | self.ec,.digest,.blob)......def. |
2d520 | 63 6f 6d 70 75 74 65 5f 64 68 5f 6b 65 79 28 73 65 6c 66 2c 20 70 75 62 5f 6b 65 79 29 3a 0a 20 | compute_dh_key(self,.pub_key):.. |
2d540 | 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 45 43 29 20 2d 3e 20 4f 70 74 69 6f 6e 61 6c 5b | .......#.type:.(EC).->.Optional[ |
2d560 | 62 79 74 65 73 5d 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 43 6f 6d 70 75 | bytes].........""".........Compu |
2d580 | 74 65 20 74 68 65 20 45 43 44 48 20 73 68 61 72 65 64 20 6b 65 79 20 6f 66 20 74 68 69 73 20 6b | te.the.ECDH.shared.key.of.this.k |
2d5a0 | 65 79 20 70 61 69 72 20 61 6e 64 20 74 68 65 20 67 69 76 65 6e 20 70 75 62 6c 69 63 0a 20 20 20 | ey.pair.and.the.given.public.... |
2d5c0 | 20 20 20 20 20 6b 65 79 20 6f 62 6a 65 63 74 2e 20 54 68 65 79 20 6d 75 73 74 20 62 6f 74 68 20 | .....key.object..They.must.both. |
2d5e0 | 75 73 65 20 74 68 65 20 73 61 6d 65 20 63 75 72 76 65 2e 20 52 65 74 75 72 6e 73 20 74 68 65 0a | use.the.same.curve..Returns.the. |
2d600 | 20 20 20 20 20 20 20 20 73 68 61 72 65 64 20 6b 65 79 20 69 6e 20 62 69 6e 61 72 79 20 61 73 20 | ........shared.key.in.binary.as. |
2d620 | 61 20 62 75 66 66 65 72 20 6f 62 6a 65 63 74 2e 20 4e 6f 20 4b 65 79 20 44 65 72 69 76 61 74 69 | a.buffer.object..No.Key.Derivati |
2d640 | 6f 6e 20 46 75 6e 63 74 69 6f 6e 20 69 73 0a 20 20 20 20 20 20 20 20 61 70 70 6c 69 65 64 2e 0a | on.Function.is.........applied.. |
2d660 | 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 20 73 65 6c 66 2e | ........""".........assert.self. |
2d680 | 63 68 65 63 6b 5f 6b 65 79 28 29 2c 20 27 6b 65 79 20 69 73 20 6e 6f 74 20 69 6e 69 74 69 61 6c | check_key(),.'key.is.not.initial |
2d6a0 | 69 73 65 64 27 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 65 63 64 68 5f 63 6f 6d | ised'.........return.m2.ecdh_com |
2d6c0 | 70 75 74 65 5f 6b 65 79 28 73 65 6c 66 2e 65 63 2c 20 70 75 62 5f 6b 65 79 2e 65 63 29 0a 0a 20 | pute_key(self.ec,.pub_key.ec)... |
2d6e0 | 20 20 20 64 65 66 20 73 61 76 65 5f 6b 65 79 5f 62 69 6f 28 73 65 6c 66 2c 20 62 69 6f 2c 20 63 | ...def.save_key_bio(self,.bio,.c |
2d700 | 69 70 68 65 72 3d 27 61 65 73 5f 31 32 38 5f 63 62 63 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 | ipher='aes_128_cbc',............ |
2d720 | 20 20 20 20 20 20 20 20 20 20 63 61 6c 6c 62 61 63 6b 3d 75 74 69 6c 2e 70 61 73 73 70 68 72 61 | ..........callback=util.passphra |
2d740 | 73 65 5f 63 61 6c 6c 62 61 63 6b 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 42 | se_callback):.........#.type:.(B |
2d760 | 49 4f 2e 42 49 4f 2c 20 4f 70 74 69 6f 6e 61 6c 5b 73 74 72 5d 2c 20 43 61 6c 6c 61 62 6c 65 29 | IO.BIO,.Optional[str],.Callable) |
2d780 | 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 53 61 76 65 | .->.int.........""".........Save |
2d7a0 | 20 74 68 65 20 6b 65 79 20 70 61 69 72 20 74 6f 20 61 6e 20 4d 32 43 72 79 70 74 6f 2e 42 49 4f | .the.key.pair.to.an.M2Crypto.BIO |
2d7c0 | 2e 42 49 4f 20 6f 62 6a 65 63 74 20 69 6e 20 50 45 4d 20 66 6f 72 6d 61 74 2e 0a 0a 20 20 20 20 | .BIO.object.in.PEM.format....... |
2d7e0 | 20 20 20 20 3a 70 61 72 61 6d 20 62 69 6f 3a 20 4d 32 43 72 79 70 74 6f 2e 42 49 4f 2e 42 49 4f | ....:param.bio:.M2Crypto.BIO.BIO |
2d800 | 20 6f 62 6a 65 63 74 20 74 6f 20 73 61 76 65 20 6b 65 79 20 74 6f 2e 0a 0a 20 20 20 20 20 20 20 | .object.to.save.key.to.......... |
2d820 | 20 3a 70 61 72 61 6d 20 63 69 70 68 65 72 3a 20 53 79 6d 6d 65 74 72 69 63 20 63 69 70 68 65 72 | .:param.cipher:.Symmetric.cipher |
2d840 | 20 74 6f 20 70 72 6f 74 65 63 74 20 74 68 65 20 6b 65 79 2e 20 54 68 65 20 64 65 66 61 75 6c 74 | .to.protect.the.key..The.default |
2d860 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 69 70 68 65 72 20 69 | ........................cipher.i |
2d880 | 73 20 27 61 65 73 5f 31 32 38 5f 63 62 63 27 2e 20 49 66 20 63 69 70 68 65 72 20 69 73 20 4e 6f | s.'aes_128_cbc'..If.cipher.is.No |
2d8a0 | 6e 65 2c 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ne,.then........................ |
2d8c0 | 74 68 65 20 6b 65 79 20 69 73 20 73 61 76 65 64 20 69 6e 20 74 68 65 20 63 6c 65 61 72 2e 0a 0a | the.key.is.saved.in.the.clear... |
2d8e0 | 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 63 61 6c 6c 62 61 63 6b 3a 20 41 20 50 79 74 68 6f | ........:param.callback:.A.Pytho |
2d900 | 6e 20 63 61 6c 6c 61 62 6c 65 20 6f 62 6a 65 63 74 20 74 68 61 74 20 69 73 20 69 6e 76 6f 6b 65 | n.callable.object.that.is.invoke |
2d920 | 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 6f 20 61 63 | d..........................to.ac |
2d940 | 71 75 69 72 65 20 61 20 70 61 73 73 70 68 72 61 73 65 20 77 69 74 68 20 77 68 69 63 68 20 74 6f | quire.a.passphrase.with.which.to |
2d960 | 20 70 72 6f 74 65 63 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .protect........................ |
2d980 | 20 20 74 68 65 20 6b 65 79 2e 20 54 68 65 20 64 65 66 61 75 6c 74 20 69 73 0a 20 20 20 20 20 20 | ..the.key..The.default.is....... |
2d9a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 74 69 6c 2e 70 61 73 73 70 68 72 61 | ...................util.passphra |
2d9c0 | 73 65 5f 63 61 6c 6c 62 61 63 6b 2e 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 | se_callback.........."""........ |
2d9e0 | 20 69 66 20 63 69 70 68 65 72 20 69 73 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 | .if.cipher.is.None:............. |
2da00 | 72 65 74 75 72 6e 20 6d 32 2e 65 63 5f 6b 65 79 5f 77 72 69 74 65 5f 62 69 6f 5f 6e 6f 5f 63 69 | return.m2.ec_key_write_bio_no_ci |
2da20 | 70 68 65 72 28 73 65 6c 66 2e 65 63 2c 20 62 69 6f 2e 5f 70 74 72 28 29 2c 20 63 61 6c 6c 62 61 | pher(self.ec,.bio._ptr(),.callba |
2da40 | 63 6b 29 0a 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 69 | ck).........else:.............ci |
2da60 | 70 68 20 3d 20 67 65 74 61 74 74 72 28 6d 32 2c 20 63 69 70 68 65 72 2c 20 4e 6f 6e 65 29 0a 20 | ph.=.getattr(m2,.cipher,.None).. |
2da80 | 20 20 20 20 20 20 20 20 20 20 20 69 66 20 63 69 70 68 20 69 73 20 4e 6f 6e 65 3a 0a 20 20 20 20 | ...........if.ciph.is.None:..... |
2daa0 | 20 20 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 56 61 6c 75 65 45 72 72 6f 72 28 27 6e 6f | ............raise.ValueError('no |
2dac0 | 74 20 73 75 63 68 20 63 69 70 68 65 72 20 25 73 27 20 25 20 63 69 70 68 65 72 29 0a 20 20 20 20 | t.such.cipher.%s'.%.cipher)..... |
2dae0 | 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 65 63 5f 6b 65 79 5f 77 72 69 74 65 5f 62 | ........return.m2.ec_key_write_b |
2db00 | 69 6f 28 73 65 6c 66 2e 65 63 2c 20 62 69 6f 2e 5f 70 74 72 28 29 2c 20 63 69 70 68 28 29 2c 20 | io(self.ec,.bio._ptr(),.ciph(),. |
2db20 | 63 61 6c 6c 62 61 63 6b 29 0a 0a 20 20 20 20 64 65 66 20 73 61 76 65 5f 6b 65 79 28 73 65 6c 66 | callback)......def.save_key(self |
2db40 | 2c 20 66 69 6c 65 2c 20 63 69 70 68 65 72 3d 27 61 65 73 5f 31 32 38 5f 63 62 63 27 2c 0a 20 20 | ,.file,.cipher='aes_128_cbc',... |
2db60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 6c 6c 62 61 63 6b 3d 75 74 69 6c 2e 70 61 73 | ...............callback=util.pas |
2db80 | 73 70 68 72 61 73 65 5f 63 61 6c 6c 62 61 63 6b 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 | sphrase_callback):.........#.typ |
2dba0 | 65 3a 20 28 41 6e 79 53 74 72 2c 20 4f 70 74 69 6f 6e 61 6c 5b 73 74 72 5d 2c 20 43 61 6c 6c 61 | e:.(AnyStr,.Optional[str],.Calla |
2dbc0 | 62 6c 65 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 | ble).->.int........."""......... |
2dbe0 | 53 61 76 65 20 74 68 65 20 6b 65 79 20 70 61 69 72 20 74 6f 20 61 20 66 69 6c 65 20 69 6e 20 50 | Save.the.key.pair.to.a.file.in.P |
2dc00 | 45 4d 20 66 6f 72 6d 61 74 2e 0a 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 66 69 6c 65 3a | EM.format...........:param.file: |
2dc20 | 20 4e 61 6d 65 20 6f 66 20 66 69 6c 65 6e 61 6d 65 20 74 6f 20 73 61 76 65 20 6b 65 79 20 74 6f | .Name.of.filename.to.save.key.to |
2dc40 | 2e 0a 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 63 69 70 68 65 72 3a 20 53 79 6d 6d 65 74 | ...........:param.cipher:.Symmet |
2dc60 | 72 69 63 20 63 69 70 68 65 72 20 74 6f 20 70 72 6f 74 65 63 74 20 74 68 65 20 6b 65 79 2e 20 54 | ric.cipher.to.protect.the.key..T |
2dc80 | 68 65 20 64 65 66 61 75 6c 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | he.default...................... |
2dca0 | 20 20 63 69 70 68 65 72 20 69 73 20 27 61 65 73 5f 31 32 38 5f 63 62 63 27 2e 20 49 66 20 63 69 | ..cipher.is.'aes_128_cbc'..If.ci |
2dcc0 | 70 68 65 72 20 69 73 20 4e 6f 6e 65 2c 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | pher.is.None,.then.............. |
2dce0 | 20 20 20 20 20 20 20 20 20 20 74 68 65 20 6b 65 79 20 69 73 20 73 61 76 65 64 20 69 6e 20 74 68 | ..........the.key.is.saved.in.th |
2dd00 | 65 20 63 6c 65 61 72 2e 0a 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 63 61 6c 6c 62 61 63 | e.clear...........:param.callbac |
2dd20 | 6b 3a 20 41 20 50 79 74 68 6f 6e 20 63 61 6c 6c 61 62 6c 65 20 6f 62 6a 65 63 74 20 74 68 61 74 | k:.A.Python.callable.object.that |
2dd40 | 20 69 73 20 69 6e 76 6f 6b 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .is.invoked..................... |
2dd60 | 20 20 20 20 20 74 6f 20 61 63 71 75 69 72 65 20 61 20 70 61 73 73 70 68 72 61 73 65 20 77 69 74 | .....to.acquire.a.passphrase.wit |
2dd80 | 68 20 77 68 69 63 68 20 74 6f 20 70 72 6f 74 65 63 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | h.which.to.protect.............. |
2dda0 | 20 20 20 20 20 20 20 20 20 20 20 20 74 68 65 20 6b 65 79 2e 20 20 54 68 65 20 64 65 66 61 75 6c | ............the.key...The.defaul |
2ddc0 | 74 20 69 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 74 | t.is..........................ut |
2dde0 | 69 6c 2e 70 61 73 73 70 68 72 61 73 65 5f 63 61 6c 6c 62 61 63 6b 2e 0a 20 20 20 20 20 20 20 20 | il.passphrase_callback.......... |
2de00 | 22 22 22 0a 20 20 20 20 20 20 20 20 77 69 74 68 20 42 49 4f 2e 6f 70 65 6e 66 69 6c 65 28 66 69 | """.........with.BIO.openfile(fi |
2de20 | 6c 65 2c 20 27 77 62 27 29 20 61 73 20 62 69 6f 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 | le,.'wb').as.bio:.............re |
2de40 | 74 75 72 6e 20 73 65 6c 66 2e 73 61 76 65 5f 6b 65 79 5f 62 69 6f 28 62 69 6f 2c 20 63 69 70 68 | turn.self.save_key_bio(bio,.ciph |
2de60 | 65 72 2c 20 63 61 6c 6c 62 61 63 6b 29 0a 0a 20 20 20 20 64 65 66 20 73 61 76 65 5f 70 75 62 5f | er,.callback)......def.save_pub_ |
2de80 | 6b 65 79 5f 62 69 6f 28 73 65 6c 66 2c 20 62 69 6f 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 | key_bio(self,.bio):.........#.ty |
2dea0 | 70 65 3a 20 28 42 49 4f 2e 42 49 4f 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 22 22 22 | pe:.(BIO.BIO).->.int.........""" |
2dec0 | 0a 20 20 20 20 20 20 20 20 53 61 76 65 20 74 68 65 20 70 75 62 6c 69 63 20 6b 65 79 20 74 6f 20 | .........Save.the.public.key.to. |
2dee0 | 61 6e 20 4d 32 43 72 79 70 74 6f 2e 42 49 4f 2e 42 49 4f 20 6f 62 6a 65 63 74 20 69 6e 20 50 45 | an.M2Crypto.BIO.BIO.object.in.PE |
2df00 | 4d 20 66 6f 72 6d 61 74 2e 0a 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 62 69 6f 3a 20 4d | M.format...........:param.bio:.M |
2df20 | 32 43 72 79 70 74 6f 2e 42 49 4f 2e 42 49 4f 20 6f 62 6a 65 63 74 20 74 6f 20 73 61 76 65 20 6b | 2Crypto.BIO.BIO.object.to.save.k |
2df40 | 65 79 20 74 6f 2e 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 | ey.to..........""".........retur |
2df60 | 6e 20 6d 32 2e 65 63 5f 6b 65 79 5f 77 72 69 74 65 5f 70 75 62 6b 65 79 28 73 65 6c 66 2e 65 63 | n.m2.ec_key_write_pubkey(self.ec |
2df80 | 2c 20 62 69 6f 2e 5f 70 74 72 28 29 29 0a 0a 20 20 20 20 64 65 66 20 73 61 76 65 5f 70 75 62 5f | ,.bio._ptr())......def.save_pub_ |
2dfa0 | 6b 65 79 28 73 65 6c 66 2c 20 66 69 6c 65 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a | key(self,.file):.........#.type: |
2dfc0 | 20 28 41 6e 79 53 74 72 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 | .(AnyStr).->.int.........""".... |
2dfe0 | 20 20 20 20 20 53 61 76 65 20 74 68 65 20 70 75 62 6c 69 63 20 6b 65 79 20 74 6f 20 61 20 66 69 | .....Save.the.public.key.to.a.fi |
2e000 | 6c 65 6e 61 6d 65 20 69 6e 20 50 45 4d 20 66 6f 72 6d 61 74 2e 0a 0a 20 20 20 20 20 20 20 20 3a | lename.in.PEM.format...........: |
2e020 | 70 61 72 61 6d 20 66 69 6c 65 3a 20 4e 61 6d 65 20 6f 66 20 66 69 6c 65 6e 61 6d 65 20 74 6f 20 | param.file:.Name.of.filename.to. |
2e040 | 73 61 76 65 20 6b 65 79 20 74 6f 2e 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 | save.key.to.........."""........ |
2e060 | 20 77 69 74 68 20 42 49 4f 2e 6f 70 65 6e 66 69 6c 65 28 66 69 6c 65 2c 20 27 77 62 27 29 20 61 | .with.BIO.openfile(file,.'wb').a |
2e080 | 73 20 62 69 6f 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 65 63 5f | s.bio:.............return.m2.ec_ |
2e0a0 | 6b 65 79 5f 77 72 69 74 65 5f 70 75 62 6b 65 79 28 73 65 6c 66 2e 65 63 2c 20 62 69 6f 2e 5f 70 | key_write_pubkey(self.ec,.bio._p |
2e0c0 | 74 72 28 29 29 0a 0a 20 20 20 20 64 65 66 20 61 73 5f 70 65 6d 28 73 65 6c 66 2c 20 63 69 70 68 | tr())......def.as_pem(self,.ciph |
2e0e0 | 65 72 3d 27 61 65 73 5f 31 32 38 5f 63 62 63 27 2c 20 63 61 6c 6c 62 61 63 6b 3d 75 74 69 6c 2e | er='aes_128_cbc',.callback=util. |
2e100 | 70 61 73 73 70 68 72 61 73 65 5f 63 61 6c 6c 62 61 63 6b 29 3a 0a 20 20 20 20 20 20 20 20 22 22 | passphrase_callback):........."" |
2e120 | 22 0a 20 20 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 74 68 65 20 6b 65 79 28 70 61 69 72 29 20 | ".........Returns.the.key(pair). |
2e140 | 61 73 20 61 20 73 74 72 69 6e 67 20 69 6e 20 50 45 4d 20 66 6f 72 6d 61 74 2e 0a 20 20 20 20 20 | as.a.string.in.PEM.format....... |
2e160 | 20 20 20 49 66 20 6e 6f 20 70 61 73 73 77 6f 72 64 20 69 73 20 70 61 73 73 65 64 20 61 6e 64 20 | ...If.no.password.is.passed.and. |
2e180 | 74 68 65 20 63 69 70 68 65 72 20 69 73 20 73 65 74 0a 20 20 20 20 20 20 20 20 69 74 20 65 78 69 | the.cipher.is.set.........it.exi |
2e1a0 | 74 73 20 77 69 74 68 20 65 72 72 6f 72 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 | ts.with.error........."""....... |
2e1c0 | 20 20 77 69 74 68 20 42 49 4f 2e 4d 65 6d 6f 72 79 42 75 66 66 65 72 28 29 20 61 73 20 62 69 6f | ..with.BIO.MemoryBuffer().as.bio |
2e1e0 | 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 61 76 65 5f 6b 65 79 5f 62 69 6f 28 | :.............self.save_key_bio( |
2e200 | 62 69 6f 2c 20 63 69 70 68 65 72 2c 20 63 61 6c 6c 62 61 63 6b 29 0a 20 20 20 20 20 20 20 20 20 | bio,.cipher,.callback).......... |
2e220 | 20 20 20 72 65 74 75 72 6e 20 62 69 6f 2e 72 65 61 64 28 29 0a 0a 20 20 20 20 64 65 66 20 5f 63 | ...return.bio.read()......def._c |
2e240 | 68 65 63 6b 5f 6b 65 79 5f 74 79 70 65 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 | heck_key_type(self):.........#.t |
2e260 | 79 70 65 3a 20 28 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 | ype:.().->.int.........return.m2 |
2e280 | 2e 65 63 5f 6b 65 79 5f 74 79 70 65 5f 63 68 65 63 6b 28 73 65 6c 66 2e 65 63 29 0a 0a 20 20 20 | .ec_key_type_check(self.ec)..... |
2e2a0 | 20 64 65 66 20 63 68 65 63 6b 5f 6b 65 79 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 | .def.check_key(self):.........#. |
2e2c0 | 74 79 70 65 3a 20 28 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 20 6d | type:.().->.int.........assert.m |
2e2e0 | 32 2e 65 63 5f 6b 65 79 5f 74 79 70 65 5f 63 68 65 63 6b 28 73 65 6c 66 2e 65 63 29 2c 20 22 27 | 2.ec_key_type_check(self.ec),."' |
2e300 | 65 63 27 20 74 79 70 65 20 65 72 72 6f 72 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d | ec'.type.error".........return.m |
2e320 | 32 2e 65 63 5f 6b 65 79 5f 63 68 65 63 6b 5f 6b 65 79 28 73 65 6c 66 2e 65 63 29 0a 0a 0a 63 6c | 2.ec_key_check_key(self.ec)...cl |
2e340 | 61 73 73 20 45 43 5f 70 75 62 28 45 43 29 3a 0a 0a 20 20 20 20 22 22 22 0a 20 20 20 20 4f 62 6a | ass.EC_pub(EC):......""".....Obj |
2e360 | 65 63 74 20 69 6e 74 65 72 66 61 63 65 20 74 6f 20 61 6e 20 45 43 20 70 75 62 6c 69 63 20 6b 65 | ect.interface.to.an.EC.public.ke |
2e380 | 79 2e 0a 20 20 20 20 28 28 64 6f 6e 27 74 20 6c 69 6b 65 20 74 68 69 73 20 69 6d 70 6c 65 6d 65 | y......((don't.like.this.impleme |
2e3a0 | 6e 74 61 74 69 6f 6e 20 69 6e 68 65 72 69 74 61 6e 63 65 29 29 0a 20 20 20 20 22 22 22 0a 20 20 | ntation.inheritance))....."""... |
2e3c0 | 20 20 64 65 66 20 5f 5f 69 6e 69 74 5f 5f 28 73 65 6c 66 2c 20 65 63 2c 20 5f 70 79 66 72 65 65 | ..def.__init__(self,.ec,._pyfree |
2e3e0 | 3d 30 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 45 43 2c 20 69 6e 74 29 20 2d | =0):.........#.type:.(EC,.int).- |
2e400 | 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 45 43 2e 5f 5f 69 6e 69 74 5f 5f 28 73 65 6c 66 2c | >.None.........EC.__init__(self, |
2e420 | 20 65 63 2c 20 5f 70 79 66 72 65 65 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 64 65 72 20 3d | .ec,._pyfree).........self.der.= |
2e440 | 20 4e 6f 6e 65 20 20 23 20 74 79 70 65 3a 20 4f 70 74 69 6f 6e 61 6c 5b 62 79 74 65 73 5d 0a 0a | .None..#.type:.Optional[bytes].. |
2e460 | 20 20 20 20 64 65 66 20 67 65 74 5f 64 65 72 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 | ....def.get_der(self):.........# |
2e480 | 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 62 79 74 65 73 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 | .type:.().->.bytes.........""".. |
2e4a0 | 20 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 74 68 65 20 70 75 62 6c 69 63 20 6b 65 79 20 69 6e | .......Returns.the.public.key.in |
2e4c0 | 20 44 45 52 20 66 6f 72 6d 61 74 20 61 73 20 61 20 62 75 66 66 65 72 20 6f 62 6a 65 63 74 2e 0a | .DER.format.as.a.buffer.object.. |
2e4e0 | 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 20 73 65 6c 66 2e | ........""".........assert.self. |
2e500 | 63 68 65 63 6b 5f 6b 65 79 28 29 2c 20 27 6b 65 79 20 69 73 20 6e 6f 74 20 69 6e 69 74 69 61 6c | check_key(),.'key.is.not.initial |
2e520 | 69 73 65 64 27 0a 20 20 20 20 20 20 20 20 69 66 20 73 65 6c 66 2e 64 65 72 20 69 73 20 4e 6f 6e | ised'.........if.self.der.is.Non |
2e540 | 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 64 65 72 20 3d 20 6d 32 2e 65 63 5f | e:.............self.der.=.m2.ec_ |
2e560 | 6b 65 79 5f 67 65 74 5f 70 75 62 6c 69 63 5f 64 65 72 28 73 65 6c 66 2e 65 63 29 0a 20 20 20 20 | key_get_public_der(self.ec)..... |
2e580 | 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 2e 64 65 72 0a 0a 20 20 20 20 64 65 66 20 67 65 74 | ....return.self.der......def.get |
2e5a0 | 5f 6b 65 79 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d | _key(self):.........#.type:.().- |
2e5c0 | 3e 20 62 79 74 65 73 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 52 65 74 75 | >.bytes.........""".........Retu |
2e5e0 | 72 6e 73 20 74 68 65 20 70 75 62 6c 69 63 20 6b 65 79 20 61 73 20 61 20 62 79 74 65 20 73 74 72 | rns.the.public.key.as.a.byte.str |
2e600 | 69 6e 67 2e 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 20 | ing..........""".........assert. |
2e620 | 73 65 6c 66 2e 63 68 65 63 6b 5f 6b 65 79 28 29 2c 20 27 6b 65 79 20 69 73 20 6e 6f 74 20 69 6e | self.check_key(),.'key.is.not.in |
2e640 | 69 74 69 61 6c 69 73 65 64 27 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 65 63 5f | itialised'.........return.m2.ec_ |
2e660 | 6b 65 79 5f 67 65 74 5f 70 75 62 6c 69 63 5f 6b 65 79 28 73 65 6c 66 2e 65 63 29 0a 0a 20 20 20 | key_get_public_key(self.ec)..... |
2e680 | 20 73 61 76 65 5f 6b 65 79 20 3d 20 45 43 2e 73 61 76 65 5f 70 75 62 5f 6b 65 79 0a 0a 20 20 20 | .save_key.=.EC.save_pub_key..... |
2e6a0 | 20 73 61 76 65 5f 6b 65 79 5f 62 69 6f 20 3d 20 45 43 2e 73 61 76 65 5f 70 75 62 5f 6b 65 79 5f | .save_key_bio.=.EC.save_pub_key_ |
2e6c0 | 62 69 6f 0a 0a 0a 64 65 66 20 67 65 6e 5f 70 61 72 61 6d 73 28 63 75 72 76 65 29 3a 0a 20 20 20 | bio...def.gen_params(curve):.... |
2e6e0 | 20 23 20 74 79 70 65 3a 20 28 69 6e 74 29 20 2d 3e 20 45 43 0a 20 20 20 20 22 22 22 0a 20 20 20 | .#.type:.(int).->.EC.....""".... |
2e700 | 20 46 61 63 74 6f 72 79 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 67 65 6e 65 72 61 74 65 73 | .Factory.function.that.generates |
2e720 | 20 45 43 20 70 61 72 61 6d 65 74 65 72 73 20 61 6e 64 0a 20 20 20 20 69 6e 73 74 61 6e 74 69 61 | .EC.parameters.and.....instantia |
2e740 | 74 65 73 20 61 20 45 43 20 6f 62 6a 65 63 74 20 66 72 6f 6d 20 74 68 65 20 6f 75 74 70 75 74 2e | tes.a.EC.object.from.the.output. |
2e760 | 0a 0a 20 20 20 20 3a 70 61 72 61 6d 20 63 75 72 76 65 3a 20 54 68 69 73 20 69 73 20 74 68 65 20 | ......:param.curve:.This.is.the. |
2e780 | 4f 70 65 6e 53 53 4c 20 6e 69 64 20 6f 66 20 74 68 65 20 63 75 72 76 65 20 74 6f 20 75 73 65 2e | OpenSSL.nid.of.the.curve.to.use. |
2e7a0 | 0a 20 20 20 20 22 22 22 0a 20 20 20 20 61 73 73 65 72 74 20 63 75 72 76 65 20 69 6e 20 5b 78 5b | .....""".....assert.curve.in.[x[ |
2e7c0 | 27 4e 49 44 27 5d 20 66 6f 72 20 78 20 69 6e 20 6d 32 2e 65 63 5f 67 65 74 5f 62 75 69 6c 74 69 | 'NID'].for.x.in.m2.ec_get_builti |
2e7e0 | 6e 5f 63 75 72 76 65 73 28 29 5d 2c 20 5c 0a 20 20 20 20 20 20 20 20 27 45 6c 6c 69 70 74 69 63 | n_curves()],.\.........'Elliptic |
2e800 | 20 63 75 72 76 65 20 25 73 20 69 73 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c 65 20 6f 6e 20 74 68 | .curve.%s.is.not.available.on.th |
2e820 | 69 73 20 73 79 73 74 65 6d 2e 27 20 25 20 5c 0a 20 20 20 20 20 20 20 20 6d 32 2e 6f 62 6a 5f 6e | is.system.'.%.\.........m2.obj_n |
2e840 | 69 64 32 73 6e 28 63 75 72 76 65 29 0a 20 20 20 20 72 65 74 75 72 6e 20 45 43 28 6d 32 2e 65 63 | id2sn(curve).....return.EC(m2.ec |
2e860 | 5f 6b 65 79 5f 6e 65 77 5f 62 79 5f 63 75 72 76 65 5f 6e 61 6d 65 28 63 75 72 76 65 29 2c 20 31 | _key_new_by_curve_name(curve),.1 |
2e880 | 29 0a 0a 0a 64 65 66 20 6c 6f 61 64 5f 6b 65 79 28 66 69 6c 65 2c 20 63 61 6c 6c 62 61 63 6b 3d | )...def.load_key(file,.callback= |
2e8a0 | 75 74 69 6c 2e 70 61 73 73 70 68 72 61 73 65 5f 63 61 6c 6c 62 61 63 6b 29 3a 0a 20 20 20 20 23 | util.passphrase_callback):.....# |
2e8c0 | 20 74 79 70 65 3a 20 28 41 6e 79 53 74 72 2c 20 43 61 6c 6c 61 62 6c 65 29 20 2d 3e 20 45 43 0a | .type:.(AnyStr,.Callable).->.EC. |
2e8e0 | 20 20 20 20 22 22 22 0a 20 20 20 20 46 61 63 74 6f 72 79 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 | ....""".....Factory.function.tha |
2e900 | 74 20 69 6e 73 74 61 6e 74 69 61 74 65 73 20 61 20 45 43 20 6f 62 6a 65 63 74 2e 0a 0a 20 20 20 | t.instantiates.a.EC.object...... |
2e920 | 20 3a 70 61 72 61 6d 20 66 69 6c 65 3a 20 4e 61 6d 65 73 20 74 68 65 20 66 69 6c 65 6e 61 6d 65 | .:param.file:.Names.the.filename |
2e940 | 20 74 68 61 74 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 20 50 45 4d 20 72 65 70 72 65 73 65 6e 74 | .that.contains.the.PEM.represent |
2e960 | 61 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 66 20 74 68 65 20 45 43 | ation..................of.the.EC |
2e980 | 20 6b 65 79 20 70 61 69 72 2e 0a 0a 20 20 20 20 3a 70 61 72 61 6d 20 63 61 6c 6c 62 61 63 6b 3a | .key.pair.......:param.callback: |
2e9a0 | 20 50 79 74 68 6f 6e 20 63 61 6c 6c 62 61 63 6b 20 6f 62 6a 65 63 74 20 74 68 61 74 20 77 69 6c | .Python.callback.object.that.wil |
2e9c0 | 6c 20 62 65 20 69 6e 76 6f 6b 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | l.be.invoked.................... |
2e9e0 | 20 20 69 66 20 74 68 65 20 45 43 20 6b 65 79 20 70 61 69 72 20 69 73 20 70 61 73 73 70 68 72 61 | ..if.the.EC.key.pair.is.passphra |
2ea00 | 73 65 2d 70 72 6f 74 65 63 74 65 64 2e 0a 20 20 20 20 22 22 22 0a 20 20 20 20 77 69 74 68 20 42 | se-protected......""".....with.B |
2ea20 | 49 4f 2e 6f 70 65 6e 66 69 6c 65 28 66 69 6c 65 29 20 61 73 20 62 69 6f 3a 0a 20 20 20 20 20 20 | IO.openfile(file).as.bio:....... |
2ea40 | 20 20 72 65 74 75 72 6e 20 6c 6f 61 64 5f 6b 65 79 5f 62 69 6f 28 62 69 6f 2c 20 63 61 6c 6c 62 | ..return.load_key_bio(bio,.callb |
2ea60 | 61 63 6b 29 0a 0a 0a 64 65 66 20 6c 6f 61 64 5f 6b 65 79 5f 73 74 72 69 6e 67 28 73 74 72 69 6e | ack)...def.load_key_string(strin |
2ea80 | 67 2c 20 63 61 6c 6c 62 61 63 6b 3d 75 74 69 6c 2e 70 61 73 73 70 68 72 61 73 65 5f 63 61 6c 6c | g,.callback=util.passphrase_call |
2eaa0 | 62 61 63 6b 29 3a 0a 20 20 20 20 23 20 74 79 70 65 3a 20 28 73 74 72 2c 20 43 61 6c 6c 61 62 6c | back):.....#.type:.(str,.Callabl |
2eac0 | 65 29 20 2d 3e 20 45 43 0a 20 20 20 20 22 22 22 0a 20 20 20 20 4c 6f 61 64 20 61 6e 20 45 43 20 | e).->.EC.....""".....Load.an.EC. |
2eae0 | 6b 65 79 20 70 61 69 72 20 66 72 6f 6d 20 61 20 73 74 72 69 6e 67 2e 0a 0a 20 20 20 20 3a 70 61 | key.pair.from.a.string.......:pa |
2eb00 | 72 61 6d 20 73 74 72 69 6e 67 3a 20 53 74 72 69 6e 67 20 63 6f 6e 74 61 69 6e 69 6e 67 20 45 43 | ram.string:.String.containing.EC |
2eb20 | 20 6b 65 79 20 70 61 69 72 20 69 6e 20 50 45 4d 20 66 6f 72 6d 61 74 2e 0a 0a 20 20 20 20 3a 70 | .key.pair.in.PEM.format.......:p |
2eb40 | 61 72 61 6d 20 63 61 6c 6c 62 61 63 6b 3a 20 41 20 50 79 74 68 6f 6e 20 63 61 6c 6c 61 62 6c 65 | aram.callback:.A.Python.callable |
2eb60 | 20 6f 62 6a 65 63 74 20 74 68 61 74 20 69 73 20 69 6e 76 6f 6b 65 64 0a 20 20 20 20 20 20 20 20 | .object.that.is.invoked......... |
2eb80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 74 6f 20 61 63 71 75 69 72 65 20 61 20 70 61 73 73 70 68 | .............to.acquire.a.passph |
2eba0 | 72 61 73 65 20 77 69 74 68 20 77 68 69 63 68 20 74 6f 20 75 6e 6c 6f 63 6b 20 74 68 65 0a 20 20 | rase.with.which.to.unlock.the... |
2ebc0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6b 65 79 2e 20 54 68 65 20 64 65 66 61 | ...................key..The.defa |
2ebe0 | 75 6c 74 20 69 73 20 75 74 69 6c 2e 70 61 73 73 70 68 72 61 73 65 5f 63 61 6c 6c 62 61 63 6b 2e | ult.is.util.passphrase_callback. |
2ec00 | 0a 0a 20 20 20 20 3a 72 65 74 75 72 6e 3a 20 4d 32 43 72 79 70 74 6f 2e 45 43 2e 45 43 20 6f 62 | ......:return:.M2Crypto.EC.EC.ob |
2ec20 | 6a 65 63 74 2e 0a 20 20 20 20 22 22 22 0a 20 20 20 20 77 69 74 68 20 42 49 4f 2e 4d 65 6d 6f 72 | ject......""".....with.BIO.Memor |
2ec40 | 79 42 75 66 66 65 72 28 73 74 72 69 6e 67 29 20 61 73 20 62 69 6f 3a 0a 20 20 20 20 20 20 20 20 | yBuffer(string).as.bio:......... |
2ec60 | 72 65 74 75 72 6e 20 6c 6f 61 64 5f 6b 65 79 5f 62 69 6f 28 62 69 6f 2c 20 63 61 6c 6c 62 61 63 | return.load_key_bio(bio,.callbac |
2ec80 | 6b 29 0a 0a 0a 64 65 66 20 6c 6f 61 64 5f 6b 65 79 5f 62 69 6f 28 62 69 6f 2c 20 63 61 6c 6c 62 | k)...def.load_key_bio(bio,.callb |
2eca0 | 61 63 6b 3d 75 74 69 6c 2e 70 61 73 73 70 68 72 61 73 65 5f 63 61 6c 6c 62 61 63 6b 29 3a 0a 20 | ack=util.passphrase_callback):.. |
2ecc0 | 20 20 20 23 20 74 79 70 65 3a 20 28 42 49 4f 2e 42 49 4f 2c 20 43 61 6c 6c 61 62 6c 65 29 20 2d | ...#.type:.(BIO.BIO,.Callable).- |
2ece0 | 3e 20 45 43 0a 20 20 20 20 22 22 22 0a 20 20 20 20 46 61 63 74 6f 72 79 20 66 75 6e 63 74 69 6f | >.EC.....""".....Factory.functio |
2ed00 | 6e 20 74 68 61 74 20 69 6e 73 74 61 6e 74 69 61 74 65 73 20 61 20 45 43 20 6f 62 6a 65 63 74 2e | n.that.instantiates.a.EC.object. |
2ed20 | 0a 0a 20 20 20 20 3a 70 61 72 61 6d 20 62 69 6f 3a 20 4d 32 43 72 79 70 74 6f 2e 42 49 4f 20 6f | ......:param.bio:.M2Crypto.BIO.o |
2ed40 | 62 6a 65 63 74 20 74 68 61 74 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 20 50 45 4d 0a 20 20 20 20 | bject.that.contains.the.PEM..... |
2ed60 | 20 20 20 20 20 20 20 20 20 20 20 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20 74 68 | ............representation.of.th |
2ed80 | 65 20 45 43 20 6b 65 79 20 70 61 69 72 2e 0a 0a 20 20 20 20 3a 70 61 72 61 6d 20 63 61 6c 6c 62 | e.EC.key.pair.......:param.callb |
2eda0 | 61 63 6b 3a 20 50 79 74 68 6f 6e 20 63 61 6c 6c 62 61 63 6b 20 6f 62 6a 65 63 74 20 74 68 61 74 | ack:.Python.callback.object.that |
2edc0 | 20 77 69 6c 6c 20 62 65 20 69 6e 76 6f 6b 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .will.be.invoked................ |
2ede0 | 20 20 20 20 20 20 69 66 20 74 68 65 20 45 43 20 6b 65 79 20 70 61 69 72 20 69 73 20 70 61 73 73 | ......if.the.EC.key.pair.is.pass |
2ee00 | 70 68 72 61 73 65 2d 70 72 6f 74 65 63 74 65 64 2e 0a 20 20 20 20 22 22 22 0a 20 20 20 20 72 65 | phrase-protected......""".....re |
2ee20 | 74 75 72 6e 20 45 43 28 6d 32 2e 65 63 5f 6b 65 79 5f 72 65 61 64 5f 62 69 6f 28 62 69 6f 2e 5f | turn.EC(m2.ec_key_read_bio(bio._ |
2ee40 | 70 74 72 28 29 2c 20 63 61 6c 6c 62 61 63 6b 29 2c 20 31 29 0a 0a 0a 64 65 66 20 6c 6f 61 64 5f | ptr(),.callback),.1)...def.load_ |
2ee60 | 70 75 62 5f 6b 65 79 28 66 69 6c 65 29 3a 0a 20 20 20 20 23 20 74 79 70 65 3a 20 28 41 6e 79 53 | pub_key(file):.....#.type:.(AnyS |
2ee80 | 74 72 29 20 2d 3e 20 45 43 5f 70 75 62 0a 20 20 20 20 22 22 22 0a 20 20 20 20 4c 6f 61 64 20 61 | tr).->.EC_pub.....""".....Load.a |
2eea0 | 6e 20 45 43 20 70 75 62 6c 69 63 20 6b 65 79 20 66 72 6f 6d 20 66 69 6c 65 6e 61 6d 65 2e 0a 0a | n.EC.public.key.from.filename... |
2eec0 | 20 20 20 20 3a 70 61 72 61 6d 20 66 69 6c 65 3a 20 4e 61 6d 65 20 6f 66 20 66 69 6c 65 6e 61 6d | ....:param.file:.Name.of.filenam |
2eee0 | 65 20 63 6f 6e 74 61 69 6e 69 6e 67 20 45 43 20 70 75 62 6c 69 63 20 6b 65 79 20 69 6e 20 50 45 | e.containing.EC.public.key.in.PE |
2ef00 | 4d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 6d 61 74 2e 0a 0a 20 20 20 20 | M..................format....... |
2ef20 | 3a 72 65 74 75 72 6e 3a 20 4d 32 43 72 79 70 74 6f 2e 45 43 2e 45 43 5f 70 75 62 20 6f 62 6a 65 | :return:.M2Crypto.EC.EC_pub.obje |
2ef40 | 63 74 2e 0a 20 20 20 20 22 22 22 0a 20 20 20 20 77 69 74 68 20 42 49 4f 2e 6f 70 65 6e 66 69 6c | ct......""".....with.BIO.openfil |
2ef60 | 65 28 66 69 6c 65 29 20 61 73 20 62 69 6f 3a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6c | e(file).as.bio:.........return.l |
2ef80 | 6f 61 64 5f 70 75 62 5f 6b 65 79 5f 62 69 6f 28 62 69 6f 29 0a 0a 0a 64 65 66 20 6c 6f 61 64 5f | oad_pub_key_bio(bio)...def.load_ |
2efa0 | 6b 65 79 5f 73 74 72 69 6e 67 5f 70 75 62 6b 65 79 28 73 74 72 69 6e 67 2c 20 63 61 6c 6c 62 61 | key_string_pubkey(string,.callba |
2efc0 | 63 6b 3d 75 74 69 6c 2e 70 61 73 73 70 68 72 61 73 65 5f 63 61 6c 6c 62 61 63 6b 29 3a 0a 20 20 | ck=util.passphrase_callback):... |
2efe0 | 20 20 23 20 74 79 70 65 3a 20 28 73 74 72 2c 20 43 61 6c 6c 61 62 6c 65 29 20 2d 3e 20 50 4b 65 | ..#.type:.(str,.Callable).->.PKe |
2f000 | 79 0a 20 20 20 20 22 22 22 0a 20 20 20 20 4c 6f 61 64 20 61 6e 20 4d 32 43 72 79 70 74 6f 2e 45 | y.....""".....Load.an.M2Crypto.E |
2f020 | 43 2e 50 4b 65 79 20 66 72 6f 6d 20 61 20 70 75 62 6c 69 63 20 6b 65 79 20 61 73 20 61 20 73 74 | C.PKey.from.a.public.key.as.a.st |
2f040 | 72 69 6e 67 2e 0a 0a 20 20 20 20 3a 70 61 72 61 6d 20 73 74 72 69 6e 67 3a 20 53 74 72 69 6e 67 | ring.......:param.string:.String |
2f060 | 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 20 6b 65 79 20 69 6e 20 50 45 4d 20 66 6f 72 6d 61 | .containing.the.key.in.PEM.forma |
2f080 | 74 2e 0a 0a 20 20 20 20 3a 70 61 72 61 6d 20 63 61 6c 6c 62 61 63 6b 3a 20 41 20 50 79 74 68 6f | t.......:param.callback:.A.Pytho |
2f0a0 | 6e 20 63 61 6c 6c 61 62 6c 65 20 6f 62 6a 65 63 74 20 74 68 61 74 20 69 73 20 69 6e 76 6f 6b 65 | n.callable.object.that.is.invoke |
2f0c0 | 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 6f 20 61 63 71 75 69 72 | d......................to.acquir |
2f0e0 | 65 20 61 20 70 61 73 73 70 68 72 61 73 65 20 77 69 74 68 20 77 68 69 63 68 20 74 6f 20 70 72 6f | e.a.passphrase.with.which.to.pro |
2f100 | 74 65 63 74 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6b 65 | tect.the......................ke |
2f120 | 79 2e 0a 0a 20 20 20 20 3a 72 65 74 75 72 6e 3a 20 4d 32 43 72 79 70 74 6f 2e 45 43 2e 50 4b 65 | y.......:return:.M2Crypto.EC.PKe |
2f140 | 79 20 6f 62 6a 65 63 74 2e 0a 20 20 20 20 22 22 22 0a 20 20 20 20 77 69 74 68 20 42 49 4f 2e 4d | y.object......""".....with.BIO.M |
2f160 | 65 6d 6f 72 79 42 75 66 66 65 72 28 73 74 72 69 6e 67 29 20 61 73 20 62 69 6f 3a 0a 20 20 20 20 | emoryBuffer(string).as.bio:..... |
2f180 | 20 20 20 20 72 65 74 75 72 6e 20 45 56 50 2e 6c 6f 61 64 5f 6b 65 79 5f 62 69 6f 5f 70 75 62 6b | ....return.EVP.load_key_bio_pubk |
2f1a0 | 65 79 28 62 69 6f 2c 20 63 61 6c 6c 62 61 63 6b 29 0a 0a 0a 64 65 66 20 6c 6f 61 64 5f 70 75 62 | ey(bio,.callback)...def.load_pub |
2f1c0 | 5f 6b 65 79 5f 62 69 6f 28 62 69 6f 29 3a 0a 20 20 20 20 23 20 74 79 70 65 3a 20 28 42 49 4f 2e | _key_bio(bio):.....#.type:.(BIO. |
2f1e0 | 42 49 4f 29 20 2d 3e 20 45 43 5f 70 75 62 0a 20 20 20 20 22 22 22 0a 20 20 20 20 4c 6f 61 64 20 | BIO).->.EC_pub.....""".....Load. |
2f200 | 61 6e 20 45 43 20 70 75 62 6c 69 63 20 6b 65 79 20 66 72 6f 6d 20 61 6e 20 4d 32 43 72 79 70 74 | an.EC.public.key.from.an.M2Crypt |
2f220 | 6f 2e 42 49 4f 2e 42 49 4f 20 6f 62 6a 65 63 74 2e 0a 0a 20 20 20 20 3a 70 61 72 61 6d 20 62 69 | o.BIO.BIO.object.......:param.bi |
2f240 | 6f 3a 20 4d 32 43 72 79 70 74 6f 2e 42 49 4f 2e 42 49 4f 20 6f 62 6a 65 63 74 20 63 6f 6e 74 61 | o:.M2Crypto.BIO.BIO.object.conta |
2f260 | 69 6e 69 6e 67 20 45 43 20 70 75 62 6c 69 63 20 6b 65 79 20 69 6e 20 50 45 4d 0a 20 20 20 20 20 | ining.EC.public.key.in.PEM...... |
2f280 | 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 6d 61 74 2e 0a 0a 20 20 20 20 3a 72 65 74 75 72 6e 3a | ...........format.......:return: |
2f2a0 | 20 4d 32 43 72 79 70 74 6f 2e 45 43 2e 45 43 5f 70 75 62 20 6f 62 6a 65 63 74 2e 0a 20 20 20 20 | .M2Crypto.EC.EC_pub.object...... |
2f2c0 | 22 22 22 0a 20 20 20 20 65 63 20 3d 20 6d 32 2e 65 63 5f 6b 65 79 5f 72 65 61 64 5f 70 75 62 6b | """.....ec.=.m2.ec_key_read_pubk |
2f2e0 | 65 79 28 62 69 6f 2e 5f 70 74 72 28 29 29 0a 20 20 20 20 69 66 20 65 63 20 69 73 20 4e 6f 6e 65 | ey(bio._ptr()).....if.ec.is.None |
2f300 | 3a 0a 20 20 20 20 20 20 20 20 65 63 5f 65 72 72 6f 72 28 29 0a 20 20 20 20 72 65 74 75 72 6e 20 | :.........ec_error().....return. |
2f320 | 45 43 5f 70 75 62 28 65 63 2c 20 31 29 0a 0a 0a 64 65 66 20 65 63 5f 65 72 72 6f 72 28 29 3a 0a | EC_pub(ec,.1)...def.ec_error():. |
2f340 | 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 45 43 45 72 72 6f 72 0a 20 20 20 20 72 61 | ....#.type:.().->.ECError.....ra |
2f360 | 69 73 65 20 45 43 45 72 72 6f 72 28 45 72 72 2e 67 65 74 5f 65 72 72 6f 72 5f 6d 65 73 73 61 67 | ise.ECError(Err.get_error_messag |
2f380 | 65 28 29 29 0a 0a 0a 64 65 66 20 70 75 62 5f 6b 65 79 5f 66 72 6f 6d 5f 64 65 72 28 64 65 72 29 | e())...def.pub_key_from_der(der) |
2f3a0 | 3a 0a 20 20 20 20 23 20 74 79 70 65 3a 20 28 62 79 74 65 73 29 20 2d 3e 20 45 43 5f 70 75 62 0a | :.....#.type:.(bytes).->.EC_pub. |
2f3c0 | 20 20 20 20 22 22 22 0a 20 20 20 20 43 72 65 61 74 65 20 45 43 5f 70 75 62 20 66 72 6f 6d 20 44 | ....""".....Create.EC_pub.from.D |
2f3e0 | 45 52 2e 0a 20 20 20 20 22 22 22 0a 20 20 20 20 72 65 74 75 72 6e 20 45 43 5f 70 75 62 28 6d 32 | ER......""".....return.EC_pub(m2 |
2f400 | 2e 65 63 5f 6b 65 79 5f 66 72 6f 6d 5f 70 75 62 6b 65 79 5f 64 65 72 28 64 65 72 29 2c 20 31 29 | .ec_key_from_pubkey_der(der),.1) |
2f420 | 0a 0a 0a 64 65 66 20 70 75 62 5f 6b 65 79 5f 66 72 6f 6d 5f 70 61 72 61 6d 73 28 63 75 72 76 65 | ...def.pub_key_from_params(curve |
2f440 | 2c 20 62 79 74 65 73 29 3a 0a 20 20 20 20 23 20 74 79 70 65 3a 20 28 62 79 74 65 73 2c 20 62 79 | ,.bytes):.....#.type:.(bytes,.by |
2f460 | 74 65 73 29 20 2d 3e 20 45 43 5f 70 75 62 0a 20 20 20 20 22 22 22 0a 20 20 20 20 43 72 65 61 74 | tes).->.EC_pub.....""".....Creat |
2f480 | 65 20 45 43 5f 70 75 62 20 66 72 6f 6d 20 63 75 72 76 65 20 6e 61 6d 65 20 61 6e 64 20 6f 63 74 | e.EC_pub.from.curve.name.and.oct |
2f4a0 | 65 74 20 73 74 72 69 6e 67 2e 0a 20 20 20 20 22 22 22 0a 20 20 20 20 72 65 74 75 72 6e 20 45 43 | et.string......""".....return.EC |
2f4c0 | 5f 70 75 62 28 6d 32 2e 65 63 5f 6b 65 79 5f 66 72 6f 6d 5f 70 75 62 6b 65 79 5f 70 61 72 61 6d | _pub(m2.ec_key_from_pubkey_param |
2f4e0 | 73 28 63 75 72 76 65 2c 20 62 79 74 65 73 29 2c 20 31 29 0a 0a 0a 64 65 66 20 67 65 74 5f 62 75 | s(curve,.bytes),.1)...def.get_bu |
2f500 | 69 6c 74 69 6e 5f 63 75 72 76 65 73 28 29 3a 0a 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d | iltin_curves():.....#.type:.().- |
2f520 | 3e 20 54 75 70 6c 65 5b 44 69 63 74 5b 73 74 72 2c 20 55 6e 69 6f 6e 5b 69 6e 74 2c 20 73 74 72 | >.Tuple[Dict[str,.Union[int,.str |
2f540 | 5d 5d 5d 0a 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 65 63 5f 67 65 74 5f 62 75 69 6c 74 69 6e | ]]].....return.m2.ec_get_builtin |
2f560 | 5f 63 75 72 76 65 73 28 29 0a 94 7d 94 28 8c 07 45 43 45 72 72 6f 72 94 6a 7d 1f 00 00 4b 14 4b | _curves()..}.(..ECError.j}...K.K |
2f580 | 15 87 94 8c 0b 45 43 2e 5f 5f 69 6e 69 74 5f 5f 94 6a 74 1f 00 00 4b 8b 4b 8f 87 94 8c 0a 45 43 | .....EC.__init__.jt...K.K.....EC |
2f5a0 | 2e 5f 5f 64 65 6c 5f 5f 94 6a 74 1f 00 00 4b 91 4b 94 87 94 8c 0a 45 43 2e 5f 5f 6c 65 6e 5f 5f | .__del__.jt...K.K.....EC.__len__ |
2f5c0 | 94 6a 74 1f 00 00 4b 96 4b 99 87 94 8c 0a 45 43 2e 67 65 6e 5f 6b 65 79 94 6a 74 1f 00 00 4b 9b | .jt...K.K.....EC.gen_key.jt...K. |
2f5e0 | 4b a6 87 94 8c 06 45 43 2e 70 75 62 94 6a 74 1f 00 00 4b a8 4b ab 87 94 8c 0b 45 43 2e 73 69 67 | K.....EC.pub.jt...K.K.....EC.sig |
2f600 | 6e 5f 64 73 61 94 6a 74 1f 00 00 4b ad 4b b4 87 94 8c 0d 45 43 2e 76 65 72 69 66 79 5f 64 73 61 | n_dsa.jt...K.K.....EC.verify_dsa |
2f620 | 94 6a 74 1f 00 00 4b b6 4b bd 87 94 8c 10 45 43 2e 73 69 67 6e 5f 64 73 61 5f 61 73 6e 31 94 6a | .jt...K.K.....EC.sign_dsa_asn1.j |
2f640 | 74 1f 00 00 4b bf 4b c2 87 94 8c 12 45 43 2e 76 65 72 69 66 79 5f 64 73 61 5f 61 73 6e 31 94 6a | t...K.K.....EC.verify_dsa_asn1.j |
2f660 | 74 1f 00 00 4b c4 4b c6 87 94 8c 11 45 43 2e 63 6f 6d 70 75 74 65 5f 64 68 5f 6b 65 79 94 6a 74 | t...K.K.....EC.compute_dh_key.jt |
2f680 | 1f 00 00 4b c8 4b d1 87 94 8c 0f 45 43 2e 73 61 76 65 5f 6b 65 79 5f 62 69 6f 94 6a 74 1f 00 00 | ...K.K.....EC.save_key_bio.jt... |
2f6a0 | 4b d3 4b ea 87 94 8c 0b 45 43 2e 73 61 76 65 5f 6b 65 79 94 6a 74 1f 00 00 4b ec 4b fe 87 94 8c | K.K.....EC.save_key.jt...K.K.... |
2f6c0 | 13 45 43 2e 73 61 76 65 5f 70 75 62 5f 6b 65 79 5f 62 69 6f 94 6a 74 1f 00 00 4d 00 01 4d 07 01 | .EC.save_pub_key_bio.jt...M..M.. |
2f6e0 | 87 94 8c 0f 45 43 2e 73 61 76 65 5f 70 75 62 5f 6b 65 79 94 6a 74 1f 00 00 4d 09 01 4d 11 01 87 | ....EC.save_pub_key.jt...M..M... |
2f700 | 94 8c 09 45 43 2e 61 73 5f 70 65 6d 94 6a 74 1f 00 00 4d 13 01 4d 1b 01 87 94 8c 12 45 43 2e 5f | ...EC.as_pem.jt...M..M......EC._ |
2f720 | 63 68 65 63 6b 5f 6b 65 79 5f 74 79 70 65 94 6a 74 1f 00 00 4d 1d 01 4d 1f 01 87 94 8c 0c 45 43 | check_key_type.jt...M..M......EC |
2f740 | 2e 63 68 65 63 6b 5f 6b 65 79 94 6a 74 1f 00 00 4d 21 01 4d 24 01 87 94 8c 02 45 43 94 6a 7d 1f | .check_key.jt...M!.M$.....EC.j}. |
2f760 | 00 00 4b 83 4d 24 01 87 94 8c 0f 45 43 5f 70 75 62 2e 5f 5f 69 6e 69 74 5f 5f 94 6a 74 1f 00 00 | ..K.M$.....EC_pub.__init__.jt... |
2f780 | 4d 2d 01 4d 30 01 87 94 8c 0e 45 43 5f 70 75 62 2e 67 65 74 5f 64 65 72 94 6a 74 1f 00 00 4d 32 | M-.M0.....EC_pub.get_der.jt...M2 |
2f7a0 | 01 4d 3a 01 87 94 8c 0e 45 43 5f 70 75 62 2e 67 65 74 5f 6b 65 79 94 6a 74 1f 00 00 4d 3c 01 4d | .M:.....EC_pub.get_key.jt...M<.M |
2f7c0 | 42 01 87 94 8c 06 45 43 5f 70 75 62 94 6a 7d 1f 00 00 4d 27 01 4d 46 01 87 94 8c 0a 67 65 6e 5f | B.....EC_pub.j}...M'.MF.....gen_ |
2f7e0 | 70 61 72 61 6d 73 94 6a 74 1f 00 00 4d 49 01 4d 54 01 87 94 8c 08 6c 6f 61 64 5f 6b 65 79 94 6a | params.jt...MI.MT.....load_key.j |
2f800 | 74 1f 00 00 4d 57 01 4d 63 01 87 94 8c 0f 6c 6f 61 64 5f 6b 65 79 5f 73 74 72 69 6e 67 94 6a 74 | t...MW.Mc.....load_key_string.jt |
2f820 | 1f 00 00 4d 66 01 4d 74 01 87 94 8c 0c 6c 6f 61 64 5f 6b 65 79 5f 62 69 6f 94 6a 74 1f 00 00 4d | ...Mf.Mt.....load_key_bio.jt...M |
2f840 | 77 01 4d 82 01 87 94 8c 0c 6c 6f 61 64 5f 70 75 62 5f 6b 65 79 94 6a 74 1f 00 00 4d 85 01 4d 90 | w.M......load_pub_key.jt...M..M. |
2f860 | 01 87 94 8c 16 6c 6f 61 64 5f 6b 65 79 5f 73 74 72 69 6e 67 5f 70 75 62 6b 65 79 94 6a 74 1f 00 | .....load_key_string_pubkey.jt.. |
2f880 | 00 4d 93 01 4d a1 01 87 94 8c 10 6c 6f 61 64 5f 70 75 62 5f 6b 65 79 5f 62 69 6f 94 6a 74 1f 00 | .M..M......load_pub_key_bio.jt.. |
2f8a0 | 00 4d a4 01 4d b1 01 87 94 8c 08 65 63 5f 65 72 72 6f 72 94 6a 74 1f 00 00 4d b4 01 4d b6 01 87 | .M..M......ec_error.jt...M..M... |
2f8c0 | 94 8c 10 70 75 62 5f 6b 65 79 5f 66 72 6f 6d 5f 64 65 72 94 6a 74 1f 00 00 4d b9 01 4d be 01 87 | ...pub_key_from_der.jt...M..M... |
2f8e0 | 94 8c 13 70 75 62 5f 6b 65 79 5f 66 72 6f 6d 5f 70 61 72 61 6d 73 94 6a 74 1f 00 00 4d c1 01 4d | ...pub_key_from_params.jt...M..M |
2f900 | c6 01 87 94 8c 12 67 65 74 5f 62 75 69 6c 74 69 6e 5f 63 75 72 76 65 73 94 6a 74 1f 00 00 4d c9 | ......get_builtin_curves.jt...M. |
2f920 | 01 4d cb 01 87 94 75 7d 94 28 8c 02 45 43 94 6a 53 02 00 00 8c 09 45 43 2e 61 73 5f 70 65 6d 94 | .M....u}.(..EC.jS.....EC.as_pem. |
2f940 | 6a 53 02 00 00 8c 0c 45 43 2e 63 68 65 63 6b 5f 6b 65 79 94 6a 53 02 00 00 8c 11 45 43 2e 63 6f | jS.....EC.check_key.jS.....EC.co |
2f960 | 6d 70 75 74 65 5f 64 68 5f 6b 65 79 94 6a 53 02 00 00 8c 0a 45 43 2e 67 65 6e 5f 6b 65 79 94 6a | mpute_dh_key.jS.....EC.gen_key.j |
2f980 | 53 02 00 00 8c 06 45 43 2e 70 75 62 94 6a 53 02 00 00 8c 0b 45 43 2e 73 61 76 65 5f 6b 65 79 94 | S.....EC.pub.jS.....EC.save_key. |
2f9a0 | 6a 53 02 00 00 8c 0f 45 43 2e 73 61 76 65 5f 6b 65 79 5f 62 69 6f 94 6a 53 02 00 00 8c 0f 45 43 | jS.....EC.save_key_bio.jS.....EC |
2f9c0 | 2e 73 61 76 65 5f 70 75 62 5f 6b 65 79 94 6a 53 02 00 00 8c 13 45 43 2e 73 61 76 65 5f 70 75 62 | .save_pub_key.jS.....EC.save_pub |
2f9e0 | 5f 6b 65 79 5f 62 69 6f 94 6a 53 02 00 00 8c 0b 45 43 2e 73 69 67 6e 5f 64 73 61 94 6a 53 02 00 | _key_bio.jS.....EC.sign_dsa.jS.. |
2fa00 | 00 8c 10 45 43 2e 73 69 67 6e 5f 64 73 61 5f 61 73 6e 31 94 6a 53 02 00 00 8c 0d 45 43 2e 76 65 | ...EC.sign_dsa_asn1.jS.....EC.ve |
2fa20 | 72 69 66 79 5f 64 73 61 94 6a 53 02 00 00 8c 12 45 43 2e 76 65 72 69 66 79 5f 64 73 61 5f 61 73 | rify_dsa.jS.....EC.verify_dsa_as |
2fa40 | 6e 31 94 6a 53 02 00 00 8c 07 45 43 45 72 72 6f 72 94 6a 53 02 00 00 8c 06 45 43 5f 70 75 62 94 | n1.jS.....ECError.jS.....EC_pub. |
2fa60 | 6a 53 02 00 00 8c 0e 45 43 5f 70 75 62 2e 67 65 74 5f 64 65 72 94 6a 53 02 00 00 8c 0e 45 43 5f | jS.....EC_pub.get_der.jS.....EC_ |
2fa80 | 70 75 62 2e 67 65 74 5f 6b 65 79 94 6a 53 02 00 00 8c 08 65 63 5f 65 72 72 6f 72 94 6a 53 02 00 | pub.get_key.jS.....ec_error.jS.. |
2faa0 | 00 8c 0a 67 65 6e 5f 70 61 72 61 6d 73 94 6a 53 02 00 00 8c 12 67 65 74 5f 62 75 69 6c 74 69 6e | ...gen_params.jS.....get_builtin |
2fac0 | 5f 63 75 72 76 65 73 94 6a 53 02 00 00 8c 08 6c 6f 61 64 5f 6b 65 79 94 6a 53 02 00 00 8c 0c 6c | _curves.jS.....load_key.jS.....l |
2fae0 | 6f 61 64 5f 6b 65 79 5f 62 69 6f 94 6a 53 02 00 00 8c 0f 6c 6f 61 64 5f 6b 65 79 5f 73 74 72 69 | oad_key_bio.jS.....load_key_stri |
2fb00 | 6e 67 94 6a 53 02 00 00 8c 16 6c 6f 61 64 5f 6b 65 79 5f 73 74 72 69 6e 67 5f 70 75 62 6b 65 79 | ng.jS.....load_key_string_pubkey |
2fb20 | 94 6a 53 02 00 00 8c 0c 6c 6f 61 64 5f 70 75 62 5f 6b 65 79 94 6a 53 02 00 00 8c 10 6c 6f 61 64 | .jS.....load_pub_key.jS.....load |
2fb40 | 5f 70 75 62 5f 6b 65 79 5f 62 69 6f 94 6a 53 02 00 00 8c 10 70 75 62 5f 6b 65 79 5f 66 72 6f 6d | _pub_key_bio.jS.....pub_key_from |
2fb60 | 5f 64 65 72 94 6a 53 02 00 00 8c 13 70 75 62 5f 6b 65 79 5f 66 72 6f 6d 5f 70 61 72 61 6d 73 94 | _der.jS.....pub_key_from_params. |
2fb80 | 6a 53 02 00 00 75 8c 0b 4d 32 43 72 79 70 74 6f 2e 45 43 94 74 94 8c 0c 4d 32 43 72 79 70 74 6f | jS...u..M2Crypto.EC.t...M2Crypto |
2fba0 | 2e 45 56 50 94 28 58 68 36 00 00 66 72 6f 6d 20 5f 5f 66 75 74 75 72 65 5f 5f 20 69 6d 70 6f 72 | .EVP.(Xh6..from.__future__.impor |
2fbc0 | 74 20 61 62 73 6f 6c 75 74 65 5f 69 6d 70 6f 72 74 0a 0a 22 22 22 4d 32 43 72 79 70 74 6f 20 77 | t.absolute_import.."""M2Crypto.w |
2fbe0 | 72 61 70 70 65 72 20 66 6f 72 20 4f 70 65 6e 53 53 4c 20 45 56 50 20 41 50 49 2e 0a 0a 43 6f 70 | rapper.for.OpenSSL.EVP.API...Cop |
2fc00 | 79 72 69 67 68 74 20 28 63 29 20 31 39 39 39 2d 32 30 30 34 20 4e 67 20 50 68 65 6e 67 20 53 69 | yright.(c).1999-2004.Ng.Pheng.Si |
2fc20 | 6f 6e 67 2e 20 41 6c 6c 20 72 69 67 68 74 73 20 72 65 73 65 72 76 65 64 2e 0a 0a 50 6f 72 74 69 | ong..All.rights.reserved...Porti |
2fc40 | 6f 6e 73 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 30 34 2d 32 30 30 37 20 4f 70 65 6e | ons.Copyright.(c).2004-2007.Open |
2fc60 | 20 53 6f 75 72 63 65 20 41 70 70 6c 69 63 61 74 69 6f 6e 73 20 46 6f 75 6e 64 61 74 69 6f 6e 2e | .Source.Applications.Foundation. |
2fc80 | 0a 41 75 74 68 6f 72 3a 20 48 65 69 6b 6b 69 20 54 6f 69 76 6f 6e 65 6e 0a 22 22 22 0a 0a 69 6d | .Author:.Heikki.Toivonen."""..im |
2fca0 | 70 6f 72 74 20 6c 6f 67 67 69 6e 67 0a 66 72 6f 6d 20 4d 32 43 72 79 70 74 6f 20 69 6d 70 6f 72 | port.logging.from.M2Crypto.impor |
2fcc0 | 74 20 42 49 4f 2c 20 45 72 72 2c 20 52 53 41 2c 20 6d 32 2c 20 75 74 69 6c 0a 69 66 20 75 74 69 | t.BIO,.Err,.RSA,.m2,.util.if.uti |
2fce0 | 6c 2e 70 79 32 37 70 6c 75 73 3a 0a 20 20 20 20 66 72 6f 6d 20 74 79 70 69 6e 67 20 69 6d 70 6f | l.py27plus:.....from.typing.impo |
2fd00 | 72 74 20 41 6e 79 53 74 72 2c 20 4f 70 74 69 6f 6e 61 6c 2c 20 43 61 6c 6c 61 62 6c 65 20 20 23 | rt.AnyStr,.Optional,.Callable..# |
2fd20 | 20 6e 6f 71 61 0a 0a 6c 6f 67 20 3d 20 6c 6f 67 67 69 6e 67 2e 67 65 74 4c 6f 67 67 65 72 28 27 | .noqa..log.=.logging.getLogger(' |
2fd40 | 45 56 50 27 29 0a 0a 63 6c 61 73 73 20 45 56 50 45 72 72 6f 72 28 56 61 6c 75 65 45 72 72 6f 72 | EVP')..class.EVPError(ValueError |
2fd60 | 29 3a 0a 20 20 20 20 70 61 73 73 0a 0a 6d 32 2e 65 76 70 5f 69 6e 69 74 28 45 56 50 45 72 72 6f | ):.....pass..m2.evp_init(EVPErro |
2fd80 | 72 29 0a 0a 0a 64 65 66 20 70 62 6b 64 66 32 28 70 61 73 73 77 6f 72 64 2c 20 73 61 6c 74 2c 20 | r)...def.pbkdf2(password,.salt,. |
2fda0 | 69 74 65 72 2c 20 6b 65 79 6c 65 6e 29 3a 0a 20 20 20 20 23 20 74 79 70 65 3a 20 28 62 79 74 65 | iter,.keylen):.....#.type:.(byte |
2fdc0 | 73 2c 20 62 79 74 65 73 2c 20 69 6e 74 2c 20 69 6e 74 29 20 2d 3e 20 62 79 74 65 73 0a 20 20 20 | s,.bytes,.int,.int).->.bytes.... |
2fde0 | 20 22 22 22 0a 20 20 20 20 44 65 72 69 76 65 20 61 20 6b 65 79 20 66 72 6f 6d 20 70 61 73 73 77 | .""".....Derive.a.key.from.passw |
2fe00 | 6f 72 64 20 75 73 69 6e 67 20 50 42 4b 44 46 32 20 61 6c 67 6f 72 69 74 68 6d 20 73 70 65 63 69 | ord.using.PBKDF2.algorithm.speci |
2fe20 | 66 69 65 64 20 69 6e 20 52 46 43 20 32 38 39 38 2e 0a 0a 20 20 20 20 3a 70 61 72 61 6d 20 70 61 | fied.in.RFC.2898.......:param.pa |
2fe40 | 73 73 77 6f 72 64 3a 20 44 65 72 69 76 65 20 74 68 65 20 6b 65 79 20 66 72 6f 6d 20 74 68 69 73 | ssword:.Derive.the.key.from.this |
2fe60 | 20 70 61 73 73 77 6f 72 64 2e 0a 20 20 20 20 3a 70 61 72 61 6d 20 73 61 6c 74 3a 20 20 20 20 20 | .password......:param.salt:..... |
2fe80 | 53 61 6c 74 2e 0a 20 20 20 20 3a 70 61 72 61 6d 20 69 74 65 72 3a 20 20 20 20 20 4e 75 6d 62 65 | Salt......:param.iter:.....Numbe |
2fea0 | 72 20 6f 66 20 69 74 65 72 61 74 69 6f 6e 73 20 74 6f 20 70 65 72 66 6f 72 6d 2e 0a 20 20 20 20 | r.of.iterations.to.perform...... |
2fec0 | 3a 70 61 72 61 6d 20 6b 65 79 6c 65 6e 3a 20 20 20 4c 65 6e 67 74 68 20 6f 66 20 6b 65 79 20 74 | :param.keylen:...Length.of.key.t |
2fee0 | 6f 20 70 72 6f 64 75 63 65 2e 0a 20 20 20 20 3a 72 65 74 75 72 6e 3a 20 20 20 20 20 20 20 20 20 | o.produce......:return:......... |
2ff00 | 4b 65 79 2e 0a 20 20 20 20 22 22 22 0a 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 70 6b 63 73 35 | Key......""".....return.m2.pkcs5 |
2ff20 | 5f 70 62 6b 64 66 32 5f 68 6d 61 63 5f 73 68 61 31 28 70 61 73 73 77 6f 72 64 2c 20 73 61 6c 74 | _pbkdf2_hmac_sha1(password,.salt |
2ff40 | 2c 20 69 74 65 72 2c 20 6b 65 79 6c 65 6e 29 0a 0a 0a 63 6c 61 73 73 20 4d 65 73 73 61 67 65 44 | ,.iter,.keylen)...class.MessageD |
2ff60 | 69 67 65 73 74 28 6f 62 6a 65 63 74 29 3a 0a 20 20 20 20 22 22 22 0a 20 20 20 20 4d 65 73 73 61 | igest(object):.....""".....Messa |
2ff80 | 67 65 20 44 69 67 65 73 74 0a 20 20 20 20 22 22 22 0a 20 20 20 20 6d 32 5f 6d 64 5f 63 74 78 5f | ge.Digest.....""".....m2_md_ctx_ |
2ffa0 | 66 72 65 65 20 3d 20 6d 32 2e 6d 64 5f 63 74 78 5f 66 72 65 65 0a 0a 20 20 20 20 64 65 66 20 5f | free.=.m2.md_ctx_free......def._ |
2ffc0 | 5f 69 6e 69 74 5f 5f 28 73 65 6c 66 2c 20 61 6c 67 6f 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 | _init__(self,.algo):.........#.t |
2ffe0 | 79 70 65 3a 20 28 73 74 72 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 6d 64 20 3d 20 | ype:.(str).->.None.........md.=. |
30000 | 67 65 74 61 74 74 72 28 6d 32 2c 20 61 6c 67 6f 2c 20 4e 6f 6e 65 29 20 20 23 20 74 79 70 65 3a | getattr(m2,.algo,.None)..#.type: |
30020 | 20 4f 70 74 69 6f 6e 61 6c 5b 43 61 6c 6c 61 62 6c 65 5d 0a 20 20 20 20 20 20 20 20 69 66 20 6d | .Optional[Callable].........if.m |
30040 | 64 20 69 73 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 23 20 69 66 20 74 68 65 20 | d.is.None:.............#.if.the. |
30060 | 64 69 67 65 73 74 20 61 6c 67 6f 72 69 74 68 6d 20 69 73 6e 27 74 20 66 6f 75 6e 64 20 61 73 20 | digest.algorithm.isn't.found.as. |
30080 | 61 6e 20 61 74 74 72 69 62 75 74 65 20 6f 66 20 74 68 65 20 6d 32 0a 20 20 20 20 20 20 20 20 20 | an.attribute.of.the.m2.......... |
300a0 | 20 20 20 23 20 6d 6f 64 75 6c 65 2c 20 74 72 79 20 74 6f 20 6c 6f 6f 6b 20 75 70 20 74 68 65 20 | ...#.module,.try.to.look.up.the. |
300c0 | 64 69 67 65 73 74 20 75 73 69 6e 67 20 67 65 74 5f 64 69 67 65 73 74 62 79 6e 61 6d 65 28 29 0a | digest.using.get_digestbyname(). |
300e0 | 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 6d 64 20 3d 20 6d 32 2e 67 65 74 5f 64 69 67 | ............self.md.=.m2.get_dig |
30100 | 65 73 74 62 79 6e 61 6d 65 28 61 6c 67 6f 29 0a 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 | estbyname(algo).........else:... |
30120 | 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 6d 64 20 3d 20 6d 64 28 29 0a 20 20 20 20 20 20 20 | ..........self.md.=.md()........ |
30140 | 20 73 65 6c 66 2e 63 74 78 20 3d 20 6d 32 2e 6d 64 5f 63 74 78 5f 6e 65 77 28 29 0a 20 20 20 20 | .self.ctx.=.m2.md_ctx_new()..... |
30160 | 20 20 20 20 6d 32 2e 64 69 67 65 73 74 5f 69 6e 69 74 28 73 65 6c 66 2e 63 74 78 2c 20 73 65 6c | ....m2.digest_init(self.ctx,.sel |
30180 | 66 2e 6d 64 29 0a 0a 20 20 20 20 64 65 66 20 5f 5f 64 65 6c 5f 5f 28 73 65 6c 66 29 3a 0a 20 20 | f.md)......def.__del__(self):... |
301a0 | 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 | ......#.type:.().->.None........ |
301c0 | 20 69 66 20 67 65 74 61 74 74 72 28 73 65 6c 66 2c 20 27 63 74 78 27 2c 20 4e 6f 6e 65 29 3a 0a | .if.getattr(self,.'ctx',.None):. |
301e0 | 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 6d 32 5f 6d 64 5f 63 74 78 5f 66 72 65 65 28 | ............self.m2_md_ctx_free( |
30200 | 73 65 6c 66 2e 63 74 78 29 0a 0a 20 20 20 20 64 65 66 20 75 70 64 61 74 65 28 73 65 6c 66 2c 20 | self.ctx)......def.update(self,. |
30220 | 64 61 74 61 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 62 79 74 65 73 29 20 2d | data):.........#.type:.(bytes).- |
30240 | 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 41 64 64 20 64 61 | >.int.........""".........Add.da |
30260 | 74 61 20 74 6f 20 62 65 20 64 69 67 65 73 74 65 64 2e 0a 0a 20 20 20 20 20 20 20 20 3a 72 65 74 | ta.to.be.digested...........:ret |
30280 | 75 72 6e 3a 20 2d 31 20 66 6f 72 20 50 79 74 68 6f 6e 20 65 72 72 6f 72 2c 20 31 20 66 6f 72 20 | urn:.-1.for.Python.error,.1.for. |
302a0 | 73 75 63 63 65 73 73 2c 20 30 20 66 6f 72 20 4f 70 65 6e 53 53 4c 20 66 61 69 6c 75 72 65 2e 0a | success,.0.for.OpenSSL.failure.. |
302c0 | 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 64 69 | ........""".........return.m2.di |
302e0 | 67 65 73 74 5f 75 70 64 61 74 65 28 73 65 6c 66 2e 63 74 78 2c 20 64 61 74 61 29 0a 0a 20 20 20 | gest_update(self.ctx,.data)..... |
30300 | 20 64 65 66 20 66 69 6e 61 6c 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e | .def.final(self):.........return |
30320 | 20 6d 32 2e 64 69 67 65 73 74 5f 66 69 6e 61 6c 28 73 65 6c 66 2e 63 74 78 29 0a 0a 20 20 20 20 | .m2.digest_final(self.ctx)...... |
30340 | 23 20 44 65 70 72 65 63 61 74 65 64 2e 0a 20 20 20 20 64 69 67 65 73 74 20 3d 20 66 69 6e 61 6c | #.Deprecated......digest.=.final |
30360 | 0a 0a 0a 63 6c 61 73 73 20 48 4d 41 43 28 6f 62 6a 65 63 74 29 3a 0a 0a 20 20 20 20 6d 32 5f 68 | ...class.HMAC(object):......m2_h |
30380 | 6d 61 63 5f 63 74 78 5f 66 72 65 65 20 3d 20 6d 32 2e 68 6d 61 63 5f 63 74 78 5f 66 72 65 65 0a | mac_ctx_free.=.m2.hmac_ctx_free. |
303a0 | 0a 20 20 20 20 64 65 66 20 5f 5f 69 6e 69 74 5f 5f 28 73 65 6c 66 2c 20 6b 65 79 2c 20 61 6c 67 | .....def.__init__(self,.key,.alg |
303c0 | 6f 3d 27 73 68 61 31 27 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 62 79 74 65 | o='sha1'):.........#.type:.(byte |
303e0 | 73 2c 20 73 74 72 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 6d 64 20 3d 20 67 65 74 | s,.str).->.None.........md.=.get |
30400 | 61 74 74 72 28 6d 32 2c 20 61 6c 67 6f 2c 20 4e 6f 6e 65 29 0a 20 20 20 20 20 20 20 20 69 66 20 | attr(m2,.algo,.None).........if. |
30420 | 6d 64 20 69 73 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 56 61 | md.is.None:.............raise.Va |
30440 | 6c 75 65 45 72 72 6f 72 28 27 75 6e 6b 6e 6f 77 6e 20 61 6c 67 6f 72 69 74 68 6d 27 2c 20 61 6c | lueError('unknown.algorithm',.al |
30460 | 67 6f 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 6d 64 20 3d 20 6d 64 28 29 0a 20 20 20 20 20 | go).........self.md.=.md()...... |
30480 | 20 20 20 73 65 6c 66 2e 63 74 78 20 3d 20 6d 32 2e 68 6d 61 63 5f 63 74 78 5f 6e 65 77 28 29 0a | ...self.ctx.=.m2.hmac_ctx_new(). |
304a0 | 20 20 20 20 20 20 20 20 6d 32 2e 68 6d 61 63 5f 69 6e 69 74 28 73 65 6c 66 2e 63 74 78 2c 20 6b | ........m2.hmac_init(self.ctx,.k |
304c0 | 65 79 2c 20 73 65 6c 66 2e 6d 64 29 0a 0a 20 20 20 20 64 65 66 20 5f 5f 64 65 6c 5f 5f 28 73 65 | ey,.self.md)......def.__del__(se |
304e0 | 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 4e 6f 6e 65 0a | lf):.........#.type:.().->.None. |
30500 | 20 20 20 20 20 20 20 20 69 66 20 67 65 74 61 74 74 72 28 73 65 6c 66 2c 20 27 63 74 78 27 2c 20 | ........if.getattr(self,.'ctx',. |
30520 | 4e 6f 6e 65 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 6d 32 5f 68 6d 61 63 5f | None):.............self.m2_hmac_ |
30540 | 63 74 78 5f 66 72 65 65 28 73 65 6c 66 2e 63 74 78 29 0a 0a 20 20 20 20 64 65 66 20 72 65 73 65 | ctx_free(self.ctx)......def.rese |
30560 | 74 28 73 65 6c 66 2c 20 6b 65 79 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 62 | t(self,.key):.........#.type:.(b |
30580 | 79 74 65 73 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 6d 32 2e 68 6d 61 63 5f 69 6e | ytes).->.None.........m2.hmac_in |
305a0 | 69 74 28 73 65 6c 66 2e 63 74 78 2c 20 6b 65 79 2c 20 73 65 6c 66 2e 6d 64 29 0a 0a 20 20 20 20 | it(self.ctx,.key,.self.md)...... |
305c0 | 64 65 66 20 75 70 64 61 74 65 28 73 65 6c 66 2c 20 64 61 74 61 29 3a 0a 20 20 20 20 20 20 20 20 | def.update(self,.data):......... |
305e0 | 23 20 74 79 70 65 3a 20 28 62 79 74 65 73 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 | #.type:.(bytes).->.None......... |
30600 | 6d 32 2e 68 6d 61 63 5f 75 70 64 61 74 65 28 73 65 6c 66 2e 63 74 78 2c 20 64 61 74 61 29 0a 0a | m2.hmac_update(self.ctx,.data).. |
30620 | 20 20 20 20 64 65 66 20 66 69 6e 61 6c 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 | ....def.final(self):.........#.t |
30640 | 79 70 65 3a 20 28 29 20 2d 3e 20 62 79 74 65 73 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 | ype:.().->.bytes.........return. |
30660 | 6d 32 2e 68 6d 61 63 5f 66 69 6e 61 6c 28 73 65 6c 66 2e 63 74 78 29 0a 0a 20 20 20 20 64 69 67 | m2.hmac_final(self.ctx)......dig |
30680 | 65 73 74 20 3d 20 66 69 6e 61 6c 0a 0a 0a 64 65 66 20 68 6d 61 63 28 6b 65 79 2c 20 64 61 74 61 | est.=.final...def.hmac(key,.data |
306a0 | 2c 20 61 6c 67 6f 3d 27 73 68 61 31 27 29 3a 0a 20 20 20 20 23 20 74 79 70 65 3a 20 28 62 79 74 | ,.algo='sha1'):.....#.type:.(byt |
306c0 | 65 73 2c 20 62 79 74 65 73 2c 20 73 74 72 29 20 2d 3e 20 62 79 74 65 73 0a 20 20 20 20 6d 64 20 | es,.bytes,.str).->.bytes.....md. |
306e0 | 3d 20 67 65 74 61 74 74 72 28 6d 32 2c 20 61 6c 67 6f 2c 20 4e 6f 6e 65 29 0a 20 20 20 20 69 66 | =.getattr(m2,.algo,.None).....if |
30700 | 20 6d 64 20 69 73 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 72 61 69 73 65 20 56 61 6c 75 65 | .md.is.None:.........raise.Value |
30720 | 45 72 72 6f 72 28 27 75 6e 6b 6e 6f 77 6e 20 61 6c 67 6f 72 69 74 68 6d 27 2c 20 61 6c 67 6f 29 | Error('unknown.algorithm',.algo) |
30740 | 0a 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 68 6d 61 63 28 6b 65 79 2c 20 64 61 74 61 2c 20 6d | .....return.m2.hmac(key,.data,.m |
30760 | 64 28 29 29 0a 0a 0a 63 6c 61 73 73 20 43 69 70 68 65 72 28 6f 62 6a 65 63 74 29 3a 0a 0a 20 20 | d())...class.Cipher(object):.... |
30780 | 20 20 6d 32 5f 63 69 70 68 65 72 5f 63 74 78 5f 66 72 65 65 20 3d 20 6d 32 2e 63 69 70 68 65 72 | ..m2_cipher_ctx_free.=.m2.cipher |
307a0 | 5f 63 74 78 5f 66 72 65 65 0a 0a 20 20 20 20 64 65 66 20 5f 5f 69 6e 69 74 5f 5f 28 73 65 6c 66 | _ctx_free......def.__init__(self |
307c0 | 2c 20 61 6c 67 2c 20 6b 65 79 2c 20 69 76 2c 20 6f 70 2c 20 6b 65 79 5f 61 73 5f 62 79 74 65 73 | ,.alg,.key,.iv,.op,.key_as_bytes |
307e0 | 3d 30 2c 20 64 3d 27 6d 64 35 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 61 | =0,.d='md5',..................sa |
30800 | 6c 74 3d 62 27 31 32 33 34 35 36 37 38 27 2c 20 69 3d 31 2c 20 70 61 64 64 69 6e 67 3d 31 29 3a | lt=b'12345678',.i=1,.padding=1): |
30820 | 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 73 74 72 2c 20 62 79 74 65 73 2c 20 62 79 | .........#.type:.(str,.bytes,.by |
30840 | 74 65 73 2c 20 6f 62 6a 65 63 74 2c 20 69 6e 74 2c 20 73 74 72 2c 20 62 79 74 65 73 2c 20 69 6e | tes,.object,.int,.str,.bytes,.in |
30860 | 74 2c 20 69 6e 74 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 63 69 70 68 65 72 20 3d | t,.int).->.None.........cipher.= |
30880 | 20 67 65 74 61 74 74 72 28 6d 32 2c 20 61 6c 67 2c 20 4e 6f 6e 65 29 0a 20 20 20 20 20 20 20 20 | .getattr(m2,.alg,.None)......... |
308a0 | 69 66 20 63 69 70 68 65 72 20 69 73 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 | if.cipher.is.None:.............r |
308c0 | 61 69 73 65 20 56 61 6c 75 65 45 72 72 6f 72 28 27 75 6e 6b 6e 6f 77 6e 20 63 69 70 68 65 72 27 | aise.ValueError('unknown.cipher' |
308e0 | 2c 20 61 6c 67 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 63 69 70 68 65 72 20 3d 20 63 69 70 | ,.alg).........self.cipher.=.cip |
30900 | 68 65 72 28 29 0a 20 20 20 20 20 20 20 20 69 66 20 6b 65 79 5f 61 73 5f 62 79 74 65 73 3a 0a 20 | her().........if.key_as_bytes:.. |
30920 | 20 20 20 20 20 20 20 20 20 20 20 6b 6d 64 20 3d 20 67 65 74 61 74 74 72 28 6d 32 2c 20 64 2c 20 | ...........kmd.=.getattr(m2,.d,. |
30940 | 4e 6f 6e 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 6b 6d 64 20 69 73 20 4e 6f 6e 65 | None).............if.kmd.is.None |
30960 | 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 56 61 6c 75 65 45 72 72 | :.................raise.ValueErr |
30980 | 6f 72 28 27 75 6e 6b 6e 6f 77 6e 20 6d 65 73 73 61 67 65 20 64 69 67 65 73 74 27 2c 20 64 29 0a | or('unknown.message.digest',.d). |
309a0 | 20 20 20 20 20 20 20 20 20 20 20 20 6b 65 79 20 3d 20 6d 32 2e 62 79 74 65 73 5f 74 6f 5f 6b 65 | ............key.=.m2.bytes_to_ke |
309c0 | 79 28 73 65 6c 66 2e 63 69 70 68 65 72 2c 20 6b 6d 64 28 29 2c 20 6b 65 79 2c 20 73 61 6c 74 2c | y(self.cipher,.kmd(),.key,.salt, |
309e0 | 20 69 76 2c 20 69 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 63 74 78 20 3d 20 6d 32 2e 63 69 | .iv,.i).........self.ctx.=.m2.ci |
30a00 | 70 68 65 72 5f 63 74 78 5f 6e 65 77 28 29 0a 20 20 20 20 20 20 20 20 6d 32 2e 63 69 70 68 65 72 | pher_ctx_new().........m2.cipher |
30a20 | 5f 69 6e 69 74 28 73 65 6c 66 2e 63 74 78 2c 20 73 65 6c 66 2e 63 69 70 68 65 72 2c 20 6b 65 79 | _init(self.ctx,.self.cipher,.key |
30a40 | 2c 20 69 76 2c 20 6f 70 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 65 74 5f 70 61 64 64 69 | ,.iv,.op).........self.set_paddi |
30a60 | 6e 67 28 70 61 64 64 69 6e 67 29 0a 20 20 20 20 20 20 20 20 64 65 6c 20 6b 65 79 0a 0a 20 20 20 | ng(padding).........del.key..... |
30a80 | 20 64 65 66 20 5f 5f 64 65 6c 5f 5f 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 | .def.__del__(self):.........#.ty |
30aa0 | 70 65 3a 20 28 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 69 66 20 67 65 74 61 74 74 | pe:.().->.None.........if.getatt |
30ac0 | 72 28 73 65 6c 66 2c 20 27 63 74 78 27 2c 20 4e 6f 6e 65 29 3a 0a 20 20 20 20 20 20 20 20 20 20 | r(self,.'ctx',.None):........... |
30ae0 | 20 20 73 65 6c 66 2e 6d 32 5f 63 69 70 68 65 72 5f 63 74 78 5f 66 72 65 65 28 73 65 6c 66 2e 63 | ..self.m2_cipher_ctx_free(self.c |
30b00 | 74 78 29 0a 0a 20 20 20 20 64 65 66 20 75 70 64 61 74 65 28 73 65 6c 66 2c 20 64 61 74 61 29 3a | tx)......def.update(self,.data): |
30b20 | 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 62 79 74 65 73 29 20 2d 3e 20 62 79 74 65 | .........#.type:.(bytes).->.byte |
30b40 | 73 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 63 69 70 68 65 72 5f 75 70 64 61 74 | s.........return.m2.cipher_updat |
30b60 | 65 28 73 65 6c 66 2e 63 74 78 2c 20 64 61 74 61 29 0a 0a 20 20 20 20 64 65 66 20 66 69 6e 61 6c | e(self.ctx,.data)......def.final |
30b80 | 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 62 79 | (self):.........#.type:.().->.by |
30ba0 | 74 65 73 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 63 69 70 68 65 72 5f 66 69 6e | tes.........return.m2.cipher_fin |
30bc0 | 61 6c 28 73 65 6c 66 2e 63 74 78 29 0a 0a 20 20 20 20 64 65 66 20 73 65 74 5f 70 61 64 64 69 6e | al(self.ctx)......def.set_paddin |
30be0 | 67 28 73 65 6c 66 2c 20 70 61 64 64 69 6e 67 3d 31 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 | g(self,.padding=1):.........#.ty |
30c00 | 70 65 3a 20 28 69 6e 74 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 | pe:.(int).->.int.........""".... |
30c20 | 20 20 20 20 20 41 63 74 75 61 6c 6c 79 20 61 6c 77 61 79 73 20 72 65 74 75 72 6e 20 31 0a 20 20 | .....Actually.always.return.1... |
30c40 | 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 63 69 70 68 | ......""".........return.m2.ciph |
30c60 | 65 72 5f 73 65 74 5f 70 61 64 64 69 6e 67 28 73 65 6c 66 2e 63 74 78 2c 20 70 61 64 64 69 6e 67 | er_set_padding(self.ctx,.padding |
30c80 | 29 0a 0a 0a 63 6c 61 73 73 20 50 4b 65 79 28 6f 62 6a 65 63 74 29 3a 0a 20 20 20 20 22 22 22 0a | )...class.PKey(object):.....""". |
30ca0 | 20 20 20 20 50 75 62 6c 69 63 20 4b 65 79 0a 20 20 20 20 22 22 22 0a 0a 20 20 20 20 6d 32 5f 70 | ....Public.Key....."""......m2_p |
30cc0 | 6b 65 79 5f 66 72 65 65 20 3d 20 6d 32 2e 70 6b 65 79 5f 66 72 65 65 0a 20 20 20 20 6d 32 5f 6d | key_free.=.m2.pkey_free.....m2_m |
30ce0 | 64 5f 63 74 78 5f 66 72 65 65 20 3d 20 6d 32 2e 6d 64 5f 63 74 78 5f 66 72 65 65 0a 0a 20 20 20 | d_ctx_free.=.m2.md_ctx_free..... |
30d00 | 20 64 65 66 20 5f 5f 69 6e 69 74 5f 5f 28 73 65 6c 66 2c 20 70 6b 65 79 3d 4e 6f 6e 65 2c 20 5f | .def.__init__(self,.pkey=None,._ |
30d20 | 70 79 66 72 65 65 3d 30 2c 20 6d 64 3d 27 73 68 61 31 27 29 3a 0a 20 20 20 20 20 20 20 20 23 20 | pyfree=0,.md='sha1'):.........#. |
30d40 | 74 79 70 65 3a 20 28 4f 70 74 69 6f 6e 61 6c 5b 62 79 74 65 73 5d 2c 20 69 6e 74 2c 20 73 74 72 | type:.(Optional[bytes],.int,.str |
30d60 | 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 69 66 20 70 6b 65 79 20 69 73 20 6e 6f 74 | ).->.None.........if.pkey.is.not |
30d80 | 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 70 6b 65 79 20 3d 20 70 | .None:.............self.pkey.=.p |
30da0 | 6b 65 79 20 20 23 20 74 79 70 65 3a 20 62 79 74 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 | key..#.type:.bytes.............s |
30dc0 | 65 6c 66 2e 5f 70 79 66 72 65 65 20 3d 20 5f 70 79 66 72 65 65 0a 20 20 20 20 20 20 20 20 65 6c | elf._pyfree.=._pyfree.........el |
30de0 | 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 70 6b 65 79 20 3d 20 6d 32 2e 70 | se:.............self.pkey.=.m2.p |
30e00 | 6b 65 79 5f 6e 65 77 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 70 79 66 72 | key_new().............self._pyfr |
30e20 | 65 65 20 3d 20 31 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 73 65 74 5f 63 6f 6e 74 65 78 74 | ee.=.1.........self._set_context |
30e40 | 28 6d 64 29 0a 0a 20 20 20 20 64 65 66 20 5f 5f 64 65 6c 5f 5f 28 73 65 6c 66 29 3a 0a 20 20 20 | (md)......def.__del__(self):.... |
30e60 | 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 | .....#.type:.().->.None......... |
30e80 | 69 66 20 67 65 74 61 74 74 72 28 73 65 6c 66 2c 20 27 5f 70 79 66 72 65 65 27 2c 20 30 29 3a 0a | if.getattr(self,.'_pyfree',.0):. |
30ea0 | 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 6d 32 5f 70 6b 65 79 5f 66 72 65 65 28 73 65 | ............self.m2_pkey_free(se |
30ec0 | 6c 66 2e 70 6b 65 79 29 0a 20 20 20 20 20 20 20 20 69 66 20 67 65 74 61 74 74 72 28 73 65 6c 66 | lf.pkey).........if.getattr(self |
30ee0 | 2c 20 27 63 74 78 27 2c 20 4e 6f 6e 65 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 | ,.'ctx',.None):.............self |
30f00 | 2e 6d 32 5f 6d 64 5f 63 74 78 5f 66 72 65 65 28 73 65 6c 66 2e 63 74 78 29 0a 0a 20 20 20 20 64 | .m2_md_ctx_free(self.ctx)......d |
30f20 | 65 66 20 5f 70 74 72 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 | ef._ptr(self):.........return.se |
30f40 | 6c 66 2e 70 6b 65 79 0a 0a 20 20 20 20 64 65 66 20 5f 73 65 74 5f 63 6f 6e 74 65 78 74 28 73 65 | lf.pkey......def._set_context(se |
30f60 | 6c 66 2c 20 6d 64 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 73 74 72 29 20 2d | lf,.md):.........#.type:.(str).- |
30f80 | 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 6d 64 61 20 3d 20 67 65 74 61 74 74 72 28 6d 32 2c | >.None.........mda.=.getattr(m2, |
30fa0 | 20 6d 64 2c 20 4e 6f 6e 65 29 20 20 23 20 74 79 70 65 3a 20 4f 70 74 69 6f 6e 61 6c 5b 43 61 6c | .md,.None)..#.type:.Optional[Cal |
30fc0 | 6c 61 62 6c 65 5d 0a 20 20 20 20 20 20 20 20 69 66 20 6d 64 61 20 69 73 20 4e 6f 6e 65 3a 0a 20 | lable].........if.mda.is.None:.. |
30fe0 | 20 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 56 61 6c 75 65 45 72 72 6f 72 28 27 75 6e 6b | ...........raise.ValueError('unk |
31000 | 6e 6f 77 6e 20 6d 65 73 73 61 67 65 20 64 69 67 65 73 74 27 2c 20 6d 64 29 0a 20 20 20 20 20 20 | nown.message.digest',.md)....... |
31020 | 20 20 73 65 6c 66 2e 6d 64 20 3d 20 6d 64 61 28 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 63 | ..self.md.=.mda().........self.c |
31040 | 74 78 20 3d 20 6d 32 2e 6d 64 5f 63 74 78 5f 6e 65 77 28 29 20 20 23 20 74 79 70 65 3a 20 43 6f | tx.=.m2.md_ctx_new()..#.type:.Co |
31060 | 6e 74 65 78 74 0a 0a 20 20 20 20 64 65 66 20 72 65 73 65 74 5f 63 6f 6e 74 65 78 74 28 73 65 6c | ntext......def.reset_context(sel |
31080 | 66 2c 20 6d 64 3d 27 73 68 61 31 27 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 | f,.md='sha1'):.........#.type:.( |
310a0 | 73 74 72 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 | str).->.None........."""........ |
310c0 | 20 52 65 73 65 74 20 69 6e 74 65 72 6e 61 6c 20 6d 65 73 73 61 67 65 20 64 69 67 65 73 74 20 63 | .Reset.internal.message.digest.c |
310e0 | 6f 6e 74 65 78 74 2e 0a 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 6d 64 3a 20 54 68 65 20 | ontext...........:param.md:.The. |
31100 | 6d 65 73 73 61 67 65 20 64 69 67 65 73 74 20 61 6c 67 6f 72 69 74 68 6d 2e 0a 20 20 20 20 20 20 | message.digest.algorithm........ |
31120 | 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 73 65 74 5f 63 6f 6e 74 65 78 74 28 | ..""".........self._set_context( |
31140 | 6d 64 29 0a 0a 20 20 20 20 64 65 66 20 73 69 67 6e 5f 69 6e 69 74 28 73 65 6c 66 29 3a 0a 20 20 | md)......def.sign_init(self):... |
31160 | 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 | ......#.type:.().->.None........ |
31180 | 20 22 22 22 0a 20 20 20 20 20 20 20 20 49 6e 69 74 69 61 6c 69 73 65 20 73 69 67 6e 69 6e 67 20 | .""".........Initialise.signing. |
311a0 | 6f 70 65 72 61 74 69 6f 6e 20 77 69 74 68 20 73 65 6c 66 2e 0a 20 20 20 20 20 20 20 20 22 22 22 | operation.with.self..........""" |
311c0 | 0a 20 20 20 20 20 20 20 20 6d 32 2e 73 69 67 6e 5f 69 6e 69 74 28 73 65 6c 66 2e 63 74 78 2c 20 | .........m2.sign_init(self.ctx,. |
311e0 | 73 65 6c 66 2e 6d 64 29 0a 0a 20 20 20 20 64 65 66 20 73 69 67 6e 5f 75 70 64 61 74 65 28 73 65 | self.md)......def.sign_update(se |
31200 | 6c 66 2c 20 64 61 74 61 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 62 79 74 65 | lf,.data):.........#.type:.(byte |
31220 | 73 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 46 | s).->.None.........""".........F |
31240 | 65 65 64 20 64 61 74 61 20 74 6f 20 73 69 67 6e 69 6e 67 20 6f 70 65 72 61 74 69 6f 6e 2e 0a 0a | eed.data.to.signing.operation... |
31260 | 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 64 61 74 61 3a 20 44 61 74 61 20 74 6f 20 62 65 20 | ........:param.data:.Data.to.be. |
31280 | 73 69 67 6e 65 64 2e 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 6d 32 2e 73 | signed..........""".........m2.s |
312a0 | 69 67 6e 5f 75 70 64 61 74 65 28 73 65 6c 66 2e 63 74 78 2c 20 64 61 74 61 29 0a 0a 20 20 20 20 | ign_update(self.ctx,.data)...... |
312c0 | 64 65 66 20 73 69 67 6e 5f 66 69 6e 61 6c 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 | def.sign_final(self):.........#. |
312e0 | 74 79 70 65 3a 20 28 29 20 2d 3e 20 62 79 74 65 73 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 | type:.().->.bytes........."""... |
31300 | 20 20 20 20 20 20 52 65 74 75 72 6e 20 73 69 67 6e 61 74 75 72 65 2e 0a 0a 20 20 20 20 20 20 20 | ......Return.signature.......... |
31320 | 20 3a 72 65 74 75 72 6e 3a 20 54 68 65 20 73 69 67 6e 61 74 75 72 65 2e 0a 20 20 20 20 20 20 20 | .:return:.The.signature......... |
31340 | 20 22 22 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 73 69 67 6e 5f 66 69 6e 61 | .""".........return.m2.sign_fina |
31360 | 6c 28 73 65 6c 66 2e 63 74 78 2c 20 73 65 6c 66 2e 70 6b 65 79 29 0a 0a 20 20 20 20 23 20 44 65 | l(self.ctx,.self.pkey)......#.De |
31380 | 70 72 65 63 61 74 65 64 0a 20 20 20 20 75 70 64 61 74 65 20 3d 20 73 69 67 6e 5f 75 70 64 61 74 | precated.....update.=.sign_updat |
313a0 | 65 0a 20 20 20 20 66 69 6e 61 6c 20 3d 20 73 69 67 6e 5f 66 69 6e 61 6c 0a 0a 20 20 20 20 64 65 | e.....final.=.sign_final......de |
313c0 | 66 20 76 65 72 69 66 79 5f 69 6e 69 74 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 | f.verify_init(self):.........#.t |
313e0 | 79 70 65 3a 20 28 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 | ype:.().->.None........."""..... |
31400 | 20 20 20 20 49 6e 69 74 69 61 6c 69 73 65 20 73 69 67 6e 61 74 75 72 65 20 76 65 72 69 66 69 63 | ....Initialise.signature.verific |
31420 | 61 74 69 6f 6e 20 6f 70 65 72 61 74 69 6f 6e 20 77 69 74 68 20 73 65 6c 66 2e 0a 20 20 20 20 20 | ation.operation.with.self....... |
31440 | 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 6d 32 2e 76 65 72 69 66 79 5f 69 6e 69 74 28 73 65 | ...""".........m2.verify_init(se |
31460 | 6c 66 2e 63 74 78 2c 20 73 65 6c 66 2e 6d 64 29 0a 0a 20 20 20 20 64 65 66 20 76 65 72 69 66 79 | lf.ctx,.self.md)......def.verify |
31480 | 5f 75 70 64 61 74 65 28 73 65 6c 66 2c 20 64 61 74 61 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 | _update(self,.data):.........#.t |
314a0 | 79 70 65 3a 20 28 62 79 74 65 73 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 22 22 22 0a | ype:.(bytes).->.int.........""". |
314c0 | 20 20 20 20 20 20 20 20 46 65 65 64 20 64 61 74 61 20 74 6f 20 76 65 72 69 66 69 63 61 74 69 6f | ........Feed.data.to.verificatio |
314e0 | 6e 20 6f 70 65 72 61 74 69 6f 6e 2e 0a 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 64 61 74 | n.operation...........:param.dat |
31500 | 61 3a 20 44 61 74 61 20 74 6f 20 62 65 20 76 65 72 69 66 69 65 64 2e 0a 20 20 20 20 20 20 20 20 | a:.Data.to.be.verified.......... |
31520 | 3a 72 65 74 75 72 6e 3a 20 2d 31 20 6f 6e 20 50 79 74 68 6f 6e 20 65 72 72 6f 72 2c 20 31 20 66 | :return:.-1.on.Python.error,.1.f |
31540 | 6f 72 20 73 75 63 63 65 73 73 2c 20 30 20 66 6f 72 20 4f 70 65 6e 53 53 4c 20 65 72 72 6f 72 0a | or.success,.0.for.OpenSSL.error. |
31560 | 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 76 65 | ........""".........return.m2.ve |
31580 | 72 69 66 79 5f 75 70 64 61 74 65 28 73 65 6c 66 2e 63 74 78 2c 20 64 61 74 61 29 0a 0a 20 20 20 | rify_update(self.ctx,.data)..... |
315a0 | 20 64 65 66 20 76 65 72 69 66 79 5f 66 69 6e 61 6c 28 73 65 6c 66 2c 20 73 69 67 6e 29 3a 0a 20 | .def.verify_final(self,.sign):.. |
315c0 | 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 62 79 74 65 73 29 20 2d 3e 20 69 6e 74 0a 20 20 | .......#.type:.(bytes).->.int... |
315e0 | 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 52 65 74 75 72 6e 20 72 65 73 75 6c 74 20 | ......""".........Return.result. |
31600 | 6f 66 20 76 65 72 69 66 69 63 61 74 69 6f 6e 2e 0a 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d | of.verification...........:param |
31620 | 20 73 69 67 6e 3a 20 53 69 67 6e 61 74 75 72 65 20 74 6f 20 75 73 65 20 66 6f 72 20 76 65 72 69 | .sign:.Signature.to.use.for.veri |
31640 | 66 69 63 61 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 3a 72 65 74 75 72 6e 3a 20 52 65 73 75 6c 74 | fication.........:return:.Result |
31660 | 20 6f 66 20 76 65 72 69 66 69 63 61 74 69 6f 6e 3a 20 31 20 66 6f 72 20 73 75 63 63 65 73 73 2c | .of.verification:.1.for.success, |
31680 | 20 30 20 66 6f 72 20 66 61 69 6c 75 72 65 2c 20 2d 31 20 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 | .0.for.failure,.-1.on........... |
316a0 | 20 20 20 20 20 20 20 6f 74 68 65 72 20 65 72 72 6f 72 2e 0a 20 20 20 20 20 20 20 20 22 22 22 0a | .......other.error..........""". |
316c0 | 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 76 65 72 69 66 79 5f 66 69 6e 61 6c 28 73 | ........return.m2.verify_final(s |
316e0 | 65 6c 66 2e 63 74 78 2c 20 73 69 67 6e 2c 20 73 65 6c 66 2e 70 6b 65 79 29 0a 0a 20 20 20 20 64 | elf.ctx,.sign,.self.pkey)......d |
31700 | 65 66 20 61 73 73 69 67 6e 5f 72 73 61 28 73 65 6c 66 2c 20 72 73 61 2c 20 63 61 70 74 75 72 65 | ef.assign_rsa(self,.rsa,.capture |
31720 | 3d 31 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 52 53 41 2e 52 53 41 2c 20 69 | =1):.........#.type:.(RSA.RSA,.i |
31740 | 6e 74 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 41 | nt).->.int.........""".........A |
31760 | 73 73 69 67 6e 20 74 68 65 20 52 53 41 20 6b 65 79 20 70 61 69 72 20 74 6f 20 73 65 6c 66 2e 0a | ssign.the.RSA.key.pair.to.self.. |
31780 | 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 72 73 61 3a 20 4d 32 43 72 79 70 74 6f 2e 52 53 | .........:param.rsa:.M2Crypto.RS |
317a0 | 41 2e 52 53 41 20 6f 62 6a 65 63 74 20 74 6f 20 62 65 20 61 73 73 69 67 6e 65 64 20 74 6f 20 73 | A.RSA.object.to.be.assigned.to.s |
317c0 | 65 6c 66 2e 0a 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 63 61 70 74 75 72 65 3a 20 49 66 | elf...........:param.capture:.If |
317e0 | 20 74 72 75 65 20 28 64 65 66 61 75 6c 74 29 2c 20 74 68 69 73 20 50 4b 65 79 20 6f 62 6a 65 63 | .true.(default),.this.PKey.objec |
31800 | 74 20 77 69 6c 6c 20 6f 77 6e 20 74 68 65 20 52 53 41 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | t.will.own.the.RSA.............. |
31820 | 20 20 20 20 20 20 20 20 20 20 20 6f 62 6a 65 63 74 2c 20 6d 65 61 6e 69 6e 67 20 74 68 61 74 20 | ...........object,.meaning.that. |
31840 | 6f 6e 63 65 20 74 68 65 20 50 4b 65 79 20 6f 62 6a 65 63 74 20 67 65 74 73 0a 20 20 20 20 20 20 | once.the.PKey.object.gets....... |
31860 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65 6c 65 74 65 64 20 69 74 20 69 73 20 | ..................deleted.it.is. |
31880 | 6e 6f 20 6c 6f 6e 67 65 72 20 73 61 66 65 20 74 6f 20 75 73 65 20 74 68 65 20 52 53 41 20 6f 62 | no.longer.safe.to.use.the.RSA.ob |
318a0 | 6a 65 63 74 2e 0a 0a 20 20 20 20 20 20 20 20 3a 72 65 74 75 72 6e 3a 20 52 65 74 75 72 6e 20 31 | ject...........:return:.Return.1 |
318c0 | 20 66 6f 72 20 73 75 63 63 65 73 73 20 61 6e 64 20 30 20 66 6f 72 20 66 61 69 6c 75 72 65 2e 0a | .for.success.and.0.for.failure.. |
318e0 | 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 69 66 20 63 61 70 74 75 72 65 3a 0a | ........""".........if.capture:. |
31900 | 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 20 3d 20 6d 32 2e 70 6b 65 79 5f 61 73 73 69 67 6e | ............ret.=.m2.pkey_assign |
31920 | 5f 72 73 61 28 73 65 6c 66 2e 70 6b 65 79 2c 20 72 73 61 2e 72 73 61 29 0a 20 20 20 20 20 20 20 | _rsa(self.pkey,.rsa.rsa)........ |
31940 | 20 20 20 20 20 69 66 20 72 65 74 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 73 61 | .....if.ret:.................rsa |
31960 | 2e 5f 70 79 66 72 65 65 20 3d 20 30 0a 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 | ._pyfree.=.0.........else:...... |
31980 | 20 20 20 20 20 20 20 72 65 74 20 3d 20 6d 32 2e 70 6b 65 79 5f 73 65 74 31 5f 72 73 61 28 73 65 | .......ret.=.m2.pkey_set1_rsa(se |
319a0 | 6c 66 2e 70 6b 65 79 2c 20 72 73 61 2e 72 73 61 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e | lf.pkey,.rsa.rsa).........return |
319c0 | 20 72 65 74 0a 0a 20 20 20 20 64 65 66 20 67 65 74 5f 72 73 61 28 73 65 6c 66 29 3a 0a 20 20 20 | .ret......def.get_rsa(self):.... |
319e0 | 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 52 53 41 2e 52 53 41 5f 70 75 62 0a 20 | .....#.type:.().->.RSA.RSA_pub.. |
31a00 | 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 75 6e | .......""".........Return.the.un |
31a20 | 64 65 72 6c 79 69 6e 67 20 52 53 41 20 6b 65 79 20 69 66 20 74 68 61 74 20 69 73 20 77 68 61 74 | derlying.RSA.key.if.that.is.what |
31a40 | 20 74 68 65 20 45 56 50 0a 20 20 20 20 20 20 20 20 69 6e 73 74 61 6e 63 65 20 69 73 20 68 6f 6c | .the.EVP.........instance.is.hol |
31a60 | 64 69 6e 67 2e 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 72 73 61 5f 70 74 | ding..........""".........rsa_pt |
31a80 | 72 20 3d 20 6d 32 2e 70 6b 65 79 5f 67 65 74 31 5f 72 73 61 28 73 65 6c 66 2e 70 6b 65 79 29 0a | r.=.m2.pkey_get1_rsa(self.pkey). |
31aa0 | 0a 20 20 20 20 20 20 20 20 72 73 61 20 3d 20 52 53 41 2e 52 53 41 5f 70 75 62 28 72 73 61 5f 70 | .........rsa.=.RSA.RSA_pub(rsa_p |
31ac0 | 74 72 2c 20 31 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 72 73 61 0a 0a 20 20 20 20 64 | tr,.1).........return.rsa......d |
31ae0 | 65 66 20 73 61 76 65 5f 6b 65 79 28 73 65 6c 66 2c 20 66 69 6c 65 2c 20 63 69 70 68 65 72 3d 27 | ef.save_key(self,.file,.cipher=' |
31b00 | 61 65 73 5f 31 32 38 5f 63 62 63 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 | aes_128_cbc',..................c |
31b20 | 61 6c 6c 62 61 63 6b 3d 75 74 69 6c 2e 70 61 73 73 70 68 72 61 73 65 5f 63 61 6c 6c 62 61 63 6b | allback=util.passphrase_callback |
31b40 | 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 41 6e 79 53 74 72 2c 20 4f 70 74 69 | ):.........#.type:.(AnyStr,.Opti |
31b60 | 6f 6e 61 6c 5b 73 74 72 5d 2c 20 43 61 6c 6c 61 62 6c 65 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 | onal[str],.Callable).->.int..... |
31b80 | 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 53 61 76 65 20 74 68 65 20 6b 65 79 20 70 61 69 | ....""".........Save.the.key.pai |
31ba0 | 72 20 74 6f 20 61 20 66 69 6c 65 20 69 6e 20 50 45 4d 20 66 6f 72 6d 61 74 2e 0a 0a 20 20 20 20 | r.to.a.file.in.PEM.format....... |
31bc0 | 20 20 20 20 3a 70 61 72 61 6d 20 66 69 6c 65 3a 20 4e 61 6d 65 20 6f 66 20 66 69 6c 65 20 74 6f | ....:param.file:.Name.of.file.to |
31be0 | 20 73 61 76 65 20 6b 65 79 20 74 6f 2e 0a 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 63 69 | .save.key.to...........:param.ci |
31c00 | 70 68 65 72 3a 20 53 79 6d 6d 65 74 72 69 63 20 63 69 70 68 65 72 20 74 6f 20 70 72 6f 74 65 63 | pher:.Symmetric.cipher.to.protec |
31c20 | 74 20 74 68 65 20 6b 65 79 2e 20 54 68 65 20 64 65 66 61 75 6c 74 0a 20 20 20 20 20 20 20 20 20 | t.the.key..The.default.......... |
31c40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 69 70 68 65 72 20 69 73 20 27 61 65 73 5f 31 32 38 | ..............cipher.is.'aes_128 |
31c60 | 5f 63 62 63 27 2e 20 49 66 20 63 69 70 68 65 72 20 69 73 20 4e 6f 6e 65 2c 20 74 68 65 6e 0a 20 | _cbc'..If.cipher.is.None,.then.. |
31c80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 65 20 6b 65 79 20 69 73 | ......................the.key.is |
31ca0 | 20 73 61 76 65 64 20 69 6e 20 74 68 65 20 63 6c 65 61 72 2e 0a 0a 20 20 20 20 20 20 20 20 3a 70 | .saved.in.the.clear...........:p |
31cc0 | 61 72 61 6d 20 63 61 6c 6c 62 61 63 6b 3a 20 41 20 50 79 74 68 6f 6e 20 63 61 6c 6c 61 62 6c 65 | aram.callback:.A.Python.callable |
31ce0 | 20 6f 62 6a 65 63 74 20 74 68 61 74 20 69 73 20 69 6e 76 6f 6b 65 64 0a 20 20 20 20 20 20 20 20 | .object.that.is.invoked......... |
31d00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 6f 20 61 63 71 75 69 72 65 20 61 20 70 61 | .................to.acquire.a.pa |
31d20 | 73 73 70 68 72 61 73 65 20 77 69 74 68 20 77 68 69 63 68 20 74 6f 20 70 72 6f 74 65 63 74 0a 20 | ssphrase.with.which.to.protect.. |
31d40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 65 20 6b 65 79 2e | ........................the.key. |
31d60 | 20 54 68 65 20 64 65 66 61 75 6c 74 20 69 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .The.default.is................. |
31d80 | 20 20 20 20 20 20 20 20 20 75 74 69 6c 2e 70 61 73 73 70 68 72 61 73 65 5f 63 61 6c 6c 62 61 63 | .........util.passphrase_callbac |
31da0 | 6b 2e 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 77 69 74 68 20 42 49 4f 2e | k..........""".........with.BIO. |
31dc0 | 6f 70 65 6e 66 69 6c 65 28 66 69 6c 65 2c 20 27 77 62 27 29 20 61 73 20 62 69 6f 3a 0a 20 20 20 | openfile(file,.'wb').as.bio:.... |
31de0 | 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 2e 73 61 76 65 5f 6b 65 79 5f 62 69 | .........return.self.save_key_bi |
31e00 | 6f 28 62 69 6f 2c 20 63 69 70 68 65 72 2c 20 63 61 6c 6c 62 61 63 6b 29 0a 0a 20 20 20 20 64 65 | o(bio,.cipher,.callback)......de |
31e20 | 66 20 73 61 76 65 5f 6b 65 79 5f 62 69 6f 28 73 65 6c 66 2c 20 62 69 6f 2c 20 63 69 70 68 65 72 | f.save_key_bio(self,.bio,.cipher |
31e40 | 3d 27 61 65 73 5f 31 32 38 5f 63 62 63 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ='aes_128_cbc',................. |
31e60 | 20 20 20 20 20 63 61 6c 6c 62 61 63 6b 3d 75 74 69 6c 2e 70 61 73 73 70 68 72 61 73 65 5f 63 61 | .....callback=util.passphrase_ca |
31e80 | 6c 6c 62 61 63 6b 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 42 49 4f 2e 42 49 | llback):.........#.type:.(BIO.BI |
31ea0 | 4f 2c 20 4f 70 74 69 6f 6e 61 6c 5b 73 74 72 5d 2c 20 43 61 6c 6c 61 62 6c 65 29 20 2d 3e 20 69 | O,.Optional[str],.Callable).->.i |
31ec0 | 6e 74 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 53 61 76 65 20 74 68 65 20 | nt.........""".........Save.the. |
31ee0 | 6b 65 79 20 70 61 69 72 20 74 6f 20 74 68 65 20 4d 32 43 72 79 70 74 6f 2e 42 49 4f 20 6f 62 6a | key.pair.to.the.M2Crypto.BIO.obj |
31f00 | 65 63 74 20 27 62 69 6f 27 20 69 6e 20 50 45 4d 20 66 6f 72 6d 61 74 2e 0a 0a 20 20 20 20 20 20 | ect.'bio'.in.PEM.format......... |
31f20 | 20 20 3a 70 61 72 61 6d 20 62 69 6f 3a 20 4d 32 43 72 79 70 74 6f 2e 42 49 4f 20 6f 62 6a 65 63 | ..:param.bio:.M2Crypto.BIO.objec |
31f40 | 74 20 74 6f 20 73 61 76 65 20 6b 65 79 20 74 6f 2e 0a 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 | t.to.save.key.to...........:para |
31f60 | 6d 20 63 69 70 68 65 72 3a 20 53 79 6d 6d 65 74 72 69 63 20 63 69 70 68 65 72 20 74 6f 20 70 72 | m.cipher:.Symmetric.cipher.to.pr |
31f80 | 6f 74 65 63 74 20 74 68 65 20 6b 65 79 2e 20 54 68 65 20 64 65 66 61 75 6c 74 0a 20 20 20 20 20 | otect.the.key..The.default...... |
31fa0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 69 70 68 65 72 20 69 73 20 27 61 65 73 | ..................cipher.is.'aes |
31fc0 | 5f 31 32 38 5f 63 62 63 27 2e 20 49 66 20 63 69 70 68 65 72 20 69 73 20 4e 6f 6e 65 2c 20 74 68 | _128_cbc'..If.cipher.is.None,.th |
31fe0 | 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 65 20 6b 65 | en........................the.ke |
32000 | 79 20 69 73 20 73 61 76 65 64 20 69 6e 20 74 68 65 20 63 6c 65 61 72 2e 0a 0a 20 20 20 20 20 20 | y.is.saved.in.the.clear......... |
32020 | 20 20 3a 70 61 72 61 6d 20 63 61 6c 6c 62 61 63 6b 3a 20 41 20 50 79 74 68 6f 6e 20 63 61 6c 6c | ..:param.callback:.A.Python.call |
32040 | 61 62 6c 65 20 6f 62 6a 65 63 74 20 74 68 61 74 20 69 73 20 69 6e 76 6f 6b 65 64 0a 20 20 20 20 | able.object.that.is.invoked..... |
32060 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 6f 20 61 63 71 75 69 72 65 20 | .....................to.acquire. |
32080 | 61 20 70 61 73 73 70 68 72 61 73 65 20 77 69 74 68 20 77 68 69 63 68 20 74 6f 20 70 72 6f 74 65 | a.passphrase.with.which.to.prote |
320a0 | 63 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 65 20 | ct..........................the. |
320c0 | 6b 65 79 2e 20 54 68 65 20 64 65 66 61 75 6c 74 20 69 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 | key..The.default.is............. |
320e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 75 74 69 6c 2e 70 61 73 73 70 68 72 61 73 65 5f 63 61 6c | .............util.passphrase_cal |
32100 | 6c 62 61 63 6b 2e 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 69 66 20 63 69 | lback..........""".........if.ci |
32120 | 70 68 65 72 20 69 73 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e | pher.is.None:.............return |
32140 | 20 6d 32 2e 70 6b 65 79 5f 77 72 69 74 65 5f 70 65 6d 5f 6e 6f 5f 63 69 70 68 65 72 28 73 65 6c | .m2.pkey_write_pem_no_cipher(sel |
32160 | 66 2e 70 6b 65 79 2c 20 62 69 6f 2e 5f 70 74 72 28 29 2c 20 63 61 6c 6c 62 61 63 6b 29 0a 20 20 | f.pkey,.bio._ptr(),.callback)... |
32180 | 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 72 6f 74 6f 20 3d 20 | ......else:.............proto.=. |
321a0 | 67 65 74 61 74 74 72 28 6d 32 2c 20 63 69 70 68 65 72 2c 20 4e 6f 6e 65 29 0a 20 20 20 20 20 20 | getattr(m2,.cipher,.None)....... |
321c0 | 20 20 20 20 20 20 69 66 20 70 72 6f 74 6f 20 69 73 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 | ......if.proto.is.None:......... |
321e0 | 20 20 20 20 20 20 20 20 72 61 69 73 65 20 56 61 6c 75 65 45 72 72 6f 72 28 27 6e 6f 20 73 75 63 | ........raise.ValueError('no.suc |
32200 | 68 20 63 69 70 68 65 72 20 25 73 27 20 25 20 63 69 70 68 65 72 29 0a 20 20 20 20 20 20 20 20 20 | h.cipher.%s'.%.cipher).......... |
32220 | 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 70 6b 65 79 5f 77 72 69 74 65 5f 70 65 6d 28 73 65 6c 66 | ...return.m2.pkey_write_pem(self |
32240 | 2e 70 6b 65 79 2c 20 62 69 6f 2e 5f 70 74 72 28 29 2c 20 70 72 6f 74 6f 28 29 2c 20 63 61 6c 6c | .pkey,.bio._ptr(),.proto(),.call |
32260 | 62 61 63 6b 29 0a 0a 20 20 20 20 64 65 66 20 61 73 5f 70 65 6d 28 73 65 6c 66 2c 20 63 69 70 68 | back)......def.as_pem(self,.ciph |
32280 | 65 72 3d 27 61 65 73 5f 31 32 38 5f 63 62 63 27 2c 20 63 61 6c 6c 62 61 63 6b 3d 75 74 69 6c 2e | er='aes_128_cbc',.callback=util. |
322a0 | 70 61 73 73 70 68 72 61 73 65 5f 63 61 6c 6c 62 61 63 6b 29 3a 0a 20 20 20 20 20 20 20 20 23 20 | passphrase_callback):.........#. |
322c0 | 74 79 70 65 3a 20 28 4f 70 74 69 6f 6e 61 6c 5b 73 74 72 5d 2c 20 43 61 6c 6c 61 62 6c 65 29 20 | type:.(Optional[str],.Callable). |
322e0 | 2d 3e 20 62 79 74 65 73 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 52 65 74 | ->.bytes.........""".........Ret |
32300 | 75 72 6e 20 6b 65 79 20 69 6e 20 50 45 4d 20 66 6f 72 6d 61 74 20 69 6e 20 61 20 73 74 72 69 6e | urn.key.in.PEM.format.in.a.strin |
32320 | 67 2e 0a 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 63 69 70 68 65 72 3a 20 53 79 6d 6d 65 | g...........:param.cipher:.Symme |
32340 | 74 72 69 63 20 63 69 70 68 65 72 20 74 6f 20 70 72 6f 74 65 63 74 20 74 68 65 20 6b 65 79 2e 20 | tric.cipher.to.protect.the.key.. |
32360 | 54 68 65 20 64 65 66 61 75 6c 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | The.default..................... |
32380 | 20 20 20 63 69 70 68 65 72 20 69 73 20 60 60 27 61 65 73 5f 31 32 38 5f 63 62 63 27 60 60 2e 20 | ...cipher.is.``'aes_128_cbc'``.. |
323a0 | 49 66 20 63 69 70 68 65 72 20 69 73 20 4e 6f 6e 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | If.cipher.is.None,.............. |
323c0 | 20 20 20 20 20 20 20 20 20 20 74 68 65 6e 20 74 68 65 20 6b 65 79 20 69 73 20 73 61 76 65 64 20 | ..........then.the.key.is.saved. |
323e0 | 69 6e 20 74 68 65 20 63 6c 65 61 72 2e 0a 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 63 61 | in.the.clear...........:param.ca |
32400 | 6c 6c 62 61 63 6b 3a 20 41 20 50 79 74 68 6f 6e 20 63 61 6c 6c 61 62 6c 65 20 6f 62 6a 65 63 74 | llback:.A.Python.callable.object |
32420 | 20 74 68 61 74 20 69 73 20 69 6e 76 6f 6b 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .that.is.invoked................ |
32440 | 20 20 20 20 20 20 20 20 20 20 74 6f 20 61 63 71 75 69 72 65 20 61 20 70 61 73 73 70 68 72 61 73 | ..........to.acquire.a.passphras |
32460 | 65 20 77 69 74 68 20 77 68 69 63 68 20 74 6f 20 70 72 6f 74 65 63 74 0a 20 20 20 20 20 20 20 20 | e.with.which.to.protect......... |
32480 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 65 20 6b 65 79 2e 20 54 68 65 20 64 65 | .................the.key..The.de |
324a0 | 66 61 75 6c 74 20 69 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | fault.is........................ |
324c0 | 20 20 75 74 69 6c 2e 70 61 73 73 70 68 72 61 73 65 5f 63 61 6c 6c 62 61 63 6b 2e 0a 20 20 20 20 | ..util.passphrase_callback...... |
324e0 | 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 62 69 6f 20 3d 20 42 49 4f 2e 4d 65 6d 6f 72 79 | ....""".........bio.=.BIO.Memory |
32500 | 42 75 66 66 65 72 28 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 61 76 65 5f 6b 65 79 5f 62 | Buffer().........self.save_key_b |
32520 | 69 6f 28 62 69 6f 2c 20 63 69 70 68 65 72 2c 20 63 61 6c 6c 62 61 63 6b 29 0a 20 20 20 20 20 20 | io(bio,.cipher,.callback)....... |
32540 | 20 20 72 65 74 75 72 6e 20 62 69 6f 2e 72 65 61 64 5f 61 6c 6c 28 29 0a 0a 20 20 20 20 64 65 66 | ..return.bio.read_all()......def |
32560 | 20 61 73 5f 64 65 72 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 | .as_der(self):.........#.type:.( |
32580 | 29 20 2d 3e 20 62 79 74 65 73 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 52 | ).->.bytes.........""".........R |
325a0 | 65 74 75 72 6e 20 6b 65 79 20 69 6e 20 44 45 52 20 66 6f 72 6d 61 74 20 69 6e 20 61 20 73 74 72 | eturn.key.in.DER.format.in.a.str |
325c0 | 69 6e 67 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 62 75 66 20 3d 20 6d 32 | ing.........""".........buf.=.m2 |
325e0 | 2e 70 6b 65 79 5f 61 73 5f 64 65 72 28 73 65 6c 66 2e 70 6b 65 79 29 0a 20 20 20 20 20 20 20 20 | .pkey_as_der(self.pkey)......... |
32600 | 62 69 6f 20 3d 20 42 49 4f 2e 4d 65 6d 6f 72 79 42 75 66 66 65 72 28 62 75 66 29 0a 20 20 20 20 | bio.=.BIO.MemoryBuffer(buf)..... |
32620 | 20 20 20 20 72 65 74 75 72 6e 20 62 69 6f 2e 72 65 61 64 5f 61 6c 6c 28 29 0a 0a 20 20 20 20 64 | ....return.bio.read_all()......d |
32640 | 65 66 20 73 69 7a 65 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 | ef.size(self):.........#.type:.( |
32660 | 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 52 65 74 | ).->.int.........""".........Ret |
32680 | 75 72 6e 20 74 68 65 20 73 69 7a 65 20 6f 66 20 74 68 65 20 6b 65 79 20 69 6e 20 62 79 74 65 73 | urn.the.size.of.the.key.in.bytes |
326a0 | 2e 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e | ..........""".........return.m2. |
326c0 | 70 6b 65 79 5f 73 69 7a 65 28 73 65 6c 66 2e 70 6b 65 79 29 0a 0a 20 20 20 20 64 65 66 20 67 65 | pkey_size(self.pkey)......def.ge |
326e0 | 74 5f 6d 6f 64 75 6c 75 73 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a | t_modulus(self):.........#.type: |
32700 | 20 28 29 20 2d 3e 20 4f 70 74 69 6f 6e 61 6c 5b 62 79 74 65 73 5d 0a 20 20 20 20 20 20 20 20 22 | .().->.Optional[bytes]........." |
32720 | 22 22 0a 20 20 20 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 6d 6f 64 75 6c 75 73 20 69 6e | "".........Return.the.modulus.in |
32740 | 20 68 65 78 20 66 6f 72 6d 61 74 2e 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 | .hex.format.........."""........ |
32760 | 20 72 65 74 75 72 6e 20 6d 32 2e 70 6b 65 79 5f 67 65 74 5f 6d 6f 64 75 6c 75 73 28 73 65 6c 66 | .return.m2.pkey_get_modulus(self |
32780 | 2e 70 6b 65 79 29 0a 0a 0a 64 65 66 20 6c 6f 61 64 5f 6b 65 79 28 66 69 6c 65 2c 20 63 61 6c 6c | .pkey)...def.load_key(file,.call |
327a0 | 62 61 63 6b 3d 75 74 69 6c 2e 70 61 73 73 70 68 72 61 73 65 5f 63 61 6c 6c 62 61 63 6b 29 3a 0a | back=util.passphrase_callback):. |
327c0 | 20 20 20 20 23 20 74 79 70 65 3a 20 28 41 6e 79 53 74 72 2c 20 43 61 6c 6c 61 62 6c 65 29 20 2d | ....#.type:.(AnyStr,.Callable).- |
327e0 | 3e 20 50 4b 65 79 0a 20 20 20 20 22 22 22 0a 20 20 20 20 4c 6f 61 64 20 61 6e 20 4d 32 43 72 79 | >.PKey.....""".....Load.an.M2Cry |
32800 | 70 74 6f 2e 45 56 50 2e 50 4b 65 79 20 66 72 6f 6d 20 66 69 6c 65 2e 0a 0a 20 20 20 20 3a 70 61 | pto.EVP.PKey.from.file.......:pa |
32820 | 72 61 6d 20 66 69 6c 65 3a 20 4e 61 6d 65 20 6f 66 20 66 69 6c 65 20 63 6f 6e 74 61 69 6e 69 6e | ram.file:.Name.of.file.containin |
32840 | 67 20 74 68 65 20 6b 65 79 20 69 6e 20 50 45 4d 20 66 6f 72 6d 61 74 2e 0a 0a 20 20 20 20 3a 70 | g.the.key.in.PEM.format.......:p |
32860 | 61 72 61 6d 20 63 61 6c 6c 62 61 63 6b 3a 20 41 20 50 79 74 68 6f 6e 20 63 61 6c 6c 61 62 6c 65 | aram.callback:.A.Python.callable |
32880 | 20 6f 62 6a 65 63 74 20 74 68 61 74 20 69 73 20 69 6e 76 6f 6b 65 64 0a 20 20 20 20 20 20 20 20 | .object.that.is.invoked......... |
328a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 74 6f 20 61 63 71 75 69 72 65 20 61 20 70 61 73 73 70 68 | .............to.acquire.a.passph |
328c0 | 72 61 73 65 20 77 69 74 68 20 77 68 69 63 68 20 74 6f 20 70 72 6f 74 65 63 74 20 74 68 65 0a 20 | rase.with.which.to.protect.the.. |
328e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6b 65 79 2e 0a 0a 20 20 20 20 3a 72 | ....................key.......:r |
32900 | 65 74 75 72 6e 3a 20 4d 32 43 72 79 70 74 6f 2e 45 56 50 2e 50 4b 65 79 20 6f 62 6a 65 63 74 2e | eturn:.M2Crypto.EVP.PKey.object. |
32920 | 0a 20 20 20 20 22 22 22 0a 20 20 20 20 77 69 74 68 20 42 49 4f 2e 6f 70 65 6e 66 69 6c 65 28 66 | .....""".....with.BIO.openfile(f |
32940 | 69 6c 65 2c 20 27 72 27 29 20 61 73 20 62 69 6f 3a 0a 20 20 20 20 20 20 20 20 63 70 74 72 20 3d | ile,.'r').as.bio:.........cptr.= |
32960 | 20 6d 32 2e 70 6b 65 79 5f 72 65 61 64 5f 70 65 6d 28 62 69 6f 2e 62 69 6f 2c 20 63 61 6c 6c 62 | .m2.pkey_read_pem(bio.bio,.callb |
32980 | 61 63 6b 29 0a 0a 20 20 20 20 72 65 74 75 72 6e 20 50 4b 65 79 28 63 70 74 72 2c 20 31 29 0a 0a | ack)......return.PKey(cptr,.1).. |
329a0 | 0a 64 65 66 20 6c 6f 61 64 5f 6b 65 79 5f 62 69 6f 28 62 69 6f 2c 20 63 61 6c 6c 62 61 63 6b 3d | .def.load_key_bio(bio,.callback= |
329c0 | 75 74 69 6c 2e 70 61 73 73 70 68 72 61 73 65 5f 63 61 6c 6c 62 61 63 6b 29 3a 0a 20 20 20 20 23 | util.passphrase_callback):.....# |
329e0 | 20 74 79 70 65 3a 20 28 42 49 4f 2e 42 49 4f 2c 20 43 61 6c 6c 61 62 6c 65 29 20 2d 3e 20 50 4b | .type:.(BIO.BIO,.Callable).->.PK |
32a00 | 65 79 0a 20 20 20 20 22 22 22 0a 20 20 20 20 4c 6f 61 64 20 61 6e 20 4d 32 43 72 79 70 74 6f 2e | ey.....""".....Load.an.M2Crypto. |
32a20 | 45 56 50 2e 50 4b 65 79 20 66 72 6f 6d 20 61 6e 20 4d 32 43 72 79 70 74 6f 2e 42 49 4f 20 6f 62 | EVP.PKey.from.an.M2Crypto.BIO.ob |
32a40 | 6a 65 63 74 2e 0a 0a 20 20 20 20 3a 70 61 72 61 6d 20 62 69 6f 3a 20 4d 32 43 72 79 70 74 6f 2e | ject.......:param.bio:.M2Crypto. |
32a60 | 42 49 4f 20 6f 62 6a 65 63 74 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 20 6b 65 79 20 69 6e | BIO.object.containing.the.key.in |
32a80 | 20 50 45 4d 20 66 6f 72 6d 61 74 2e 0a 0a 20 20 20 20 3a 70 61 72 61 6d 20 63 61 6c 6c 62 61 63 | .PEM.format.......:param.callbac |
32aa0 | 6b 3a 20 41 20 50 79 74 68 6f 6e 20 63 61 6c 6c 61 62 6c 65 20 6f 62 6a 65 63 74 20 74 68 61 74 | k:.A.Python.callable.object.that |
32ac0 | 20 69 73 20 69 6e 76 6f 6b 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .is.invoked..................... |
32ae0 | 20 74 6f 20 61 63 71 75 69 72 65 20 61 20 70 61 73 73 70 68 72 61 73 65 20 77 69 74 68 20 77 68 | .to.acquire.a.passphrase.with.wh |
32b00 | 69 63 68 20 74 6f 20 70 72 6f 74 65 63 74 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | ich.to.protect.the.............. |
32b20 | 20 20 20 20 20 20 20 20 6b 65 79 2e 0a 0a 20 20 20 20 3a 72 65 74 75 72 6e 3a 20 4d 32 43 72 79 | ........key.......:return:.M2Cry |
32b40 | 70 74 6f 2e 45 56 50 2e 50 4b 65 79 20 6f 62 6a 65 63 74 2e 0a 20 20 20 20 22 22 22 0a 20 20 20 | pto.EVP.PKey.object......""".... |
32b60 | 20 63 70 74 72 20 3d 20 6d 32 2e 70 6b 65 79 5f 72 65 61 64 5f 70 65 6d 28 62 69 6f 2e 5f 70 74 | .cptr.=.m2.pkey_read_pem(bio._pt |
32b80 | 72 28 29 2c 20 63 61 6c 6c 62 61 63 6b 29 0a 20 20 20 20 72 65 74 75 72 6e 20 50 4b 65 79 28 63 | r(),.callback).....return.PKey(c |
32ba0 | 70 74 72 2c 20 31 29 0a 0a 0a 64 65 66 20 6c 6f 61 64 5f 6b 65 79 5f 62 69 6f 5f 70 75 62 6b 65 | ptr,.1)...def.load_key_bio_pubke |
32bc0 | 79 28 62 69 6f 2c 20 63 61 6c 6c 62 61 63 6b 3d 75 74 69 6c 2e 70 61 73 73 70 68 72 61 73 65 5f | y(bio,.callback=util.passphrase_ |
32be0 | 63 61 6c 6c 62 61 63 6b 29 3a 0a 20 20 20 20 23 20 74 79 70 65 3a 20 28 42 49 4f 2e 42 49 4f 2c | callback):.....#.type:.(BIO.BIO, |
32c00 | 20 43 61 6c 6c 61 62 6c 65 29 20 2d 3e 20 50 4b 65 79 0a 20 20 20 20 22 22 22 0a 20 20 20 20 4c | .Callable).->.PKey.....""".....L |
32c20 | 6f 61 64 20 61 6e 20 4d 32 43 72 79 70 74 6f 2e 45 56 50 2e 50 4b 65 79 20 66 72 6f 6d 20 61 20 | oad.an.M2Crypto.EVP.PKey.from.a. |
32c40 | 70 75 62 6c 69 63 20 6b 65 79 20 61 73 20 61 20 4d 32 43 72 79 70 74 6f 2e 42 49 4f 20 6f 62 6a | public.key.as.a.M2Crypto.BIO.obj |
32c60 | 65 63 74 2e 0a 0a 20 20 20 20 3a 70 61 72 61 6d 20 62 69 6f 3a 20 4d 32 43 72 79 70 74 6f 2e 42 | ect.......:param.bio:.M2Crypto.B |
32c80 | 49 4f 20 6f 62 6a 65 63 74 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 20 6b 65 79 20 69 6e 20 | IO.object.containing.the.key.in. |
32ca0 | 50 45 4d 20 66 6f 72 6d 61 74 2e 0a 0a 20 20 20 20 3a 70 61 72 61 6d 20 63 61 6c 6c 62 61 63 6b | PEM.format.......:param.callback |
32cc0 | 3a 20 41 20 50 79 74 68 6f 6e 20 63 61 6c 6c 61 62 6c 65 20 6f 62 6a 65 63 74 20 74 68 61 74 20 | :.A.Python.callable.object.that. |
32ce0 | 69 73 20 69 6e 76 6f 6b 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | is.invoked...................... |
32d00 | 74 6f 20 61 63 71 75 69 72 65 20 61 20 70 61 73 73 70 68 72 61 73 65 20 77 69 74 68 20 77 68 69 | to.acquire.a.passphrase.with.whi |
32d20 | 63 68 20 74 6f 20 70 72 6f 74 65 63 74 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ch.to.protect.the............... |
32d40 | 20 20 20 20 20 20 20 6b 65 79 2e 0a 0a 20 20 20 20 3a 72 65 74 75 72 6e 3a 20 4d 32 43 72 79 70 | .......key.......:return:.M2Cryp |
32d60 | 74 6f 2e 45 56 50 2e 50 4b 65 79 20 6f 62 6a 65 63 74 2e 0a 20 20 20 20 22 22 22 0a 20 20 20 20 | to.EVP.PKey.object......"""..... |
32d80 | 63 70 74 72 20 3d 20 6d 32 2e 70 6b 65 79 5f 72 65 61 64 5f 70 65 6d 5f 70 75 62 6b 65 79 28 62 | cptr.=.m2.pkey_read_pem_pubkey(b |
32da0 | 69 6f 2e 5f 70 74 72 28 29 2c 20 63 61 6c 6c 62 61 63 6b 29 0a 20 20 20 20 69 66 20 63 70 74 72 | io._ptr(),.callback).....if.cptr |
32dc0 | 20 69 73 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 72 61 69 73 65 20 45 56 50 45 72 72 6f 72 | .is.None:.........raise.EVPError |
32de0 | 28 45 72 72 2e 67 65 74 5f 65 72 72 6f 72 28 29 29 0a 20 20 20 20 72 65 74 75 72 6e 20 50 4b 65 | (Err.get_error()).....return.PKe |
32e00 | 79 28 63 70 74 72 2c 20 31 29 0a 0a 0a 64 65 66 20 6c 6f 61 64 5f 6b 65 79 5f 73 74 72 69 6e 67 | y(cptr,.1)...def.load_key_string |
32e20 | 28 73 74 72 69 6e 67 2c 20 63 61 6c 6c 62 61 63 6b 3d 75 74 69 6c 2e 70 61 73 73 70 68 72 61 73 | (string,.callback=util.passphras |
32e40 | 65 5f 63 61 6c 6c 62 61 63 6b 29 3a 0a 20 20 20 20 23 20 74 79 70 65 3a 20 28 41 6e 79 53 74 72 | e_callback):.....#.type:.(AnyStr |
32e60 | 2c 20 43 61 6c 6c 61 62 6c 65 29 20 2d 3e 20 50 4b 65 79 0a 20 20 20 20 22 22 22 0a 20 20 20 20 | ,.Callable).->.PKey....."""..... |
32e80 | 4c 6f 61 64 20 61 6e 20 4d 32 43 72 79 70 74 6f 2e 45 56 50 2e 50 4b 65 79 20 66 72 6f 6d 20 61 | Load.an.M2Crypto.EVP.PKey.from.a |
32ea0 | 20 73 74 72 69 6e 67 2e 0a 0a 20 20 20 20 3a 70 61 72 61 6d 20 73 74 72 69 6e 67 3a 20 53 74 72 | .string.......:param.string:.Str |
32ec0 | 69 6e 67 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 20 6b 65 79 20 69 6e 20 50 45 4d 20 66 6f | ing.containing.the.key.in.PEM.fo |
32ee0 | 72 6d 61 74 2e 0a 0a 20 20 20 20 3a 70 61 72 61 6d 20 63 61 6c 6c 62 61 63 6b 3a 20 41 20 50 79 | rmat.......:param.callback:.A.Py |
32f00 | 74 68 6f 6e 20 63 61 6c 6c 61 62 6c 65 20 6f 62 6a 65 63 74 20 74 68 61 74 20 69 73 20 69 6e 76 | thon.callable.object.that.is.inv |
32f20 | 6f 6b 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 6f 20 61 63 71 | oked......................to.acq |
32f40 | 75 69 72 65 20 61 20 70 61 73 73 70 68 72 61 73 65 20 77 69 74 68 20 77 68 69 63 68 20 74 6f 20 | uire.a.passphrase.with.which.to. |
32f60 | 70 72 6f 74 65 63 74 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | protect.the..................... |
32f80 | 20 6b 65 79 2e 0a 0a 20 20 20 20 3a 72 65 74 75 72 6e 3a 20 4d 32 43 72 79 70 74 6f 2e 45 56 50 | .key.......:return:.M2Crypto.EVP |
32fa0 | 2e 50 4b 65 79 20 6f 62 6a 65 63 74 2e 0a 20 20 20 20 22 22 22 0a 20 20 20 20 62 69 6f 20 3d 20 | .PKey.object......""".....bio.=. |
32fc0 | 42 49 4f 2e 4d 65 6d 6f 72 79 42 75 66 66 65 72 28 73 74 72 69 6e 67 29 0a 20 20 20 20 72 65 74 | BIO.MemoryBuffer(string).....ret |
32fe0 | 75 72 6e 20 6c 6f 61 64 5f 6b 65 79 5f 62 69 6f 28 62 69 6f 2c 20 63 61 6c 6c 62 61 63 6b 29 0a | urn.load_key_bio(bio,.callback). |
33000 | 0a 0a 64 65 66 20 6c 6f 61 64 5f 6b 65 79 5f 73 74 72 69 6e 67 5f 70 75 62 6b 65 79 28 73 74 72 | ..def.load_key_string_pubkey(str |
33020 | 69 6e 67 2c 20 63 61 6c 6c 62 61 63 6b 3d 75 74 69 6c 2e 70 61 73 73 70 68 72 61 73 65 5f 63 61 | ing,.callback=util.passphrase_ca |
33040 | 6c 6c 62 61 63 6b 29 3a 0a 20 20 20 20 23 20 74 79 70 65 3a 20 28 41 6e 79 53 74 72 2c 20 43 61 | llback):.....#.type:.(AnyStr,.Ca |
33060 | 6c 6c 61 62 6c 65 29 20 2d 3e 20 50 4b 65 79 0a 20 20 20 20 22 22 22 0a 20 20 20 20 4c 6f 61 64 | llable).->.PKey.....""".....Load |
33080 | 20 61 6e 20 4d 32 43 72 79 70 74 6f 2e 45 56 50 2e 50 4b 65 79 20 66 72 6f 6d 20 61 20 70 75 62 | .an.M2Crypto.EVP.PKey.from.a.pub |
330a0 | 6c 69 63 20 6b 65 79 20 61 73 20 61 20 73 74 72 69 6e 67 2e 0a 0a 20 20 20 20 3a 70 61 72 61 6d | lic.key.as.a.string.......:param |
330c0 | 20 73 74 72 69 6e 67 3a 20 53 74 72 69 6e 67 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 20 6b | .string:.String.containing.the.k |
330e0 | 65 79 20 69 6e 20 50 45 4d 20 66 6f 72 6d 61 74 2e 0a 0a 20 20 20 20 3a 70 61 72 61 6d 20 63 61 | ey.in.PEM.format.......:param.ca |
33100 | 6c 6c 62 61 63 6b 3a 20 41 20 50 79 74 68 6f 6e 20 63 61 6c 6c 61 62 6c 65 20 6f 62 6a 65 63 74 | llback:.A.Python.callable.object |
33120 | 20 74 68 61 74 20 69 73 20 69 6e 76 6f 6b 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .that.is.invoked................ |
33140 | 20 20 20 20 20 20 74 6f 20 61 63 71 75 69 72 65 20 61 20 70 61 73 73 70 68 72 61 73 65 20 77 69 | ......to.acquire.a.passphrase.wi |
33160 | 74 68 20 77 68 69 63 68 20 74 6f 20 70 72 6f 74 65 63 74 20 74 68 65 0a 20 20 20 20 20 20 20 20 | th.which.to.protect.the......... |
33180 | 20 20 20 20 20 20 20 20 20 20 20 20 20 6b 65 79 2e 0a 0a 20 20 20 20 3a 72 65 74 75 72 6e 3a 20 | .............key.......:return:. |
331a0 | 4d 32 43 72 79 70 74 6f 2e 45 56 50 2e 50 4b 65 79 20 6f 62 6a 65 63 74 2e 0a 20 20 20 20 22 22 | M2Crypto.EVP.PKey.object......"" |
331c0 | 22 0a 20 20 20 20 62 69 6f 20 3d 20 42 49 4f 2e 4d 65 6d 6f 72 79 42 75 66 66 65 72 28 73 74 72 | ".....bio.=.BIO.MemoryBuffer(str |
331e0 | 69 6e 67 29 0a 20 20 20 20 72 65 74 75 72 6e 20 6c 6f 61 64 5f 6b 65 79 5f 62 69 6f 5f 70 75 62 | ing).....return.load_key_bio_pub |
33200 | 6b 65 79 28 62 69 6f 2c 20 63 61 6c 6c 62 61 63 6b 29 0a 94 95 12 50 01 00 00 00 00 00 7d 94 28 | key(bio,.callback)....P......}.( |
33220 | 8c 08 45 56 50 45 72 72 6f 72 94 6a 7d 1f 00 00 4b 12 4b 13 87 94 8c 06 70 62 6b 64 66 32 94 6a | ..EVPError.j}...K.K.....pbkdf2.j |
33240 | 74 1f 00 00 4b 18 4b 23 87 94 8c 16 4d 65 73 73 61 67 65 44 69 67 65 73 74 2e 5f 5f 69 6e 69 74 | t...K.K#....MessageDigest.__init |
33260 | 5f 5f 94 6a 74 1f 00 00 4b 2c 4b 36 87 94 8c 15 4d 65 73 73 61 67 65 44 69 67 65 73 74 2e 5f 5f | __.jt...K,K6....MessageDigest.__ |
33280 | 64 65 6c 5f 5f 94 6a 74 1f 00 00 4b 38 4b 3b 87 94 8c 14 4d 65 73 73 61 67 65 44 69 67 65 73 74 | del__.jt...K8K;....MessageDigest |
332a0 | 2e 75 70 64 61 74 65 94 6a 74 1f 00 00 4b 3d 4b 44 87 94 8c 13 4d 65 73 73 61 67 65 44 69 67 65 | .update.jt...K=KD....MessageDige |
332c0 | 73 74 2e 66 69 6e 61 6c 94 6a 74 1f 00 00 4b 46 4b 47 87 94 8c 0d 4d 65 73 73 61 67 65 44 69 67 | st.final.jt...KFKG....MessageDig |
332e0 | 65 73 74 94 6a 7d 1f 00 00 4b 26 4b 4a 87 94 8c 0d 48 4d 41 43 2e 5f 5f 69 6e 69 74 5f 5f 94 6a | est.j}...K&KJ....HMAC.__init__.j |
33300 | 74 1f 00 00 4b 51 4b 58 87 94 8c 0c 48 4d 41 43 2e 5f 5f 64 65 6c 5f 5f 94 6a 74 1f 00 00 4b 5a | t...KQKX....HMAC.__del__.jt...KZ |
33320 | 4b 5d 87 94 8c 0a 48 4d 41 43 2e 72 65 73 65 74 94 6a 74 1f 00 00 4b 5f 4b 61 87 94 8c 0b 48 4d | K]....HMAC.reset.jt...K_Ka....HM |
33340 | 41 43 2e 75 70 64 61 74 65 94 6a 74 1f 00 00 4b 63 4b 65 87 94 8c 0a 48 4d 41 43 2e 66 69 6e 61 | AC.update.jt...KcKe....HMAC.fina |
33360 | 6c 94 6a 74 1f 00 00 4b 67 4b 69 87 94 8c 04 48 4d 41 43 94 6a 7d 1f 00 00 4b 4d 4b 6b 87 94 8c | l.jt...KgKi....HMAC.j}...KMKk... |
33380 | 04 68 6d 61 63 94 6a 74 1f 00 00 4b 6e 4b 73 87 94 8c 0f 43 69 70 68 65 72 2e 5f 5f 69 6e 69 74 | .hmac.jt...KnKs....Cipher.__init |
333a0 | 5f 5f 94 6a 74 1f 00 00 4b 7a 4b 89 87 94 8c 0e 43 69 70 68 65 72 2e 5f 5f 64 65 6c 5f 5f 94 6a | __.jt...KzK.....Cipher.__del__.j |
333c0 | 74 1f 00 00 4b 8b 4b 8e 87 94 8c 0d 43 69 70 68 65 72 2e 75 70 64 61 74 65 94 6a 74 1f 00 00 4b | t...K.K.....Cipher.update.jt...K |
333e0 | 90 4b 92 87 94 8c 0c 43 69 70 68 65 72 2e 66 69 6e 61 6c 94 6a 74 1f 00 00 4b 94 4b 96 87 94 8c | .K.....Cipher.final.jt...K.K.... |
33400 | 12 43 69 70 68 65 72 2e 73 65 74 5f 70 61 64 64 69 6e 67 94 6a 74 1f 00 00 4b 98 4b 9d 87 94 8c | .Cipher.set_padding.jt...K.K.... |
33420 | 06 43 69 70 68 65 72 94 6a 7d 1f 00 00 4b 76 4b 9d 87 94 8c 0d 50 4b 65 79 2e 5f 5f 69 6e 69 74 | .Cipher.j}...KvK.....PKey.__init |
33440 | 5f 5f 94 6a 74 1f 00 00 4b a8 4b b0 87 94 8c 0c 50 4b 65 79 2e 5f 5f 64 65 6c 5f 5f 94 6a 74 1f | __.jt...K.K.....PKey.__del__.jt. |
33460 | 00 00 4b b2 4b b7 87 94 8c 09 50 4b 65 79 2e 5f 70 74 72 94 6a 74 1f 00 00 4b b9 4b ba 87 94 8c | ..K.K.....PKey._ptr.jt...K.K.... |
33480 | 11 50 4b 65 79 2e 5f 73 65 74 5f 63 6f 6e 74 65 78 74 94 6a 74 1f 00 00 4b bc 4b c2 87 94 8c 12 | .PKey._set_context.jt...K.K..... |
334a0 | 50 4b 65 79 2e 72 65 73 65 74 5f 63 6f 6e 74 65 78 74 94 6a 74 1f 00 00 4b c4 4b cb 87 94 8c 0e | PKey.reset_context.jt...K.K..... |
334c0 | 50 4b 65 79 2e 73 69 67 6e 5f 69 6e 69 74 94 6a 74 1f 00 00 4b cd 4b d2 87 94 8c 10 50 4b 65 79 | PKey.sign_init.jt...K.K.....PKey |
334e0 | 2e 73 69 67 6e 5f 75 70 64 61 74 65 94 6a 74 1f 00 00 4b d4 4b db 87 94 8c 0f 50 4b 65 79 2e 73 | .sign_update.jt...K.K.....PKey.s |
33500 | 69 67 6e 5f 66 69 6e 61 6c 94 6a 74 1f 00 00 4b dd 4b e4 87 94 8c 10 50 4b 65 79 2e 76 65 72 69 | ign_final.jt...K.K.....PKey.veri |
33520 | 66 79 5f 69 6e 69 74 94 6a 74 1f 00 00 4b ea 4b ef 87 94 8c 12 50 4b 65 79 2e 76 65 72 69 66 79 | fy_init.jt...K.K.....PKey.verify |
33540 | 5f 75 70 64 61 74 65 94 6a 74 1f 00 00 4b f1 4b f9 87 94 8c 11 50 4b 65 79 2e 76 65 72 69 66 79 | _update.jt...K.K.....PKey.verify |
33560 | 5f 66 69 6e 61 6c 94 6a 74 1f 00 00 4b fb 4d 04 01 87 94 8c 0f 50 4b 65 79 2e 61 73 73 69 67 6e | _final.jt...K.M......PKey.assign |
33580 | 5f 72 73 61 94 6a 74 1f 00 00 4d 06 01 4d 19 01 87 94 8c 0c 50 4b 65 79 2e 67 65 74 5f 72 73 61 | _rsa.jt...M..M......PKey.get_rsa |
335a0 | 94 6a 74 1f 00 00 4d 1b 01 4d 24 01 87 94 8c 0d 50 4b 65 79 2e 73 61 76 65 5f 6b 65 79 94 6a 74 | .jt...M..M$.....PKey.save_key.jt |
335c0 | 1f 00 00 4d 26 01 4d 38 01 87 94 8c 11 50 4b 65 79 2e 73 61 76 65 5f 6b 65 79 5f 62 69 6f 94 6a | ...M&.M8.....PKey.save_key_bio.j |
335e0 | 74 1f 00 00 4d 3a 01 4d 51 01 87 94 8c 0b 50 4b 65 79 2e 61 73 5f 70 65 6d 94 6a 74 1f 00 00 4d | t...M:.MQ.....PKey.as_pem.jt...M |
33600 | 53 01 4d 63 01 87 94 8c 0b 50 4b 65 79 2e 61 73 5f 64 65 72 94 6a 74 1f 00 00 4d 65 01 4d 6c 01 | S.Mc.....PKey.as_der.jt...Me.Ml. |
33620 | 87 94 8c 09 50 4b 65 79 2e 73 69 7a 65 94 6a 74 1f 00 00 4d 6e 01 4d 73 01 87 94 8c 10 50 4b 65 | ....PKey.size.jt...Mn.Ms.....PKe |
33640 | 79 2e 67 65 74 5f 6d 6f 64 75 6c 75 73 94 6a 74 1f 00 00 4d 75 01 4d 7a 01 87 94 8c 04 50 4b 65 | y.get_modulus.jt...Mu.Mz.....PKe |
33660 | 79 94 6a 7d 1f 00 00 4b a0 4d 7a 01 87 94 8c 08 6c 6f 61 64 5f 6b 65 79 94 6a 74 1f 00 00 4d 7d | y.j}...K.Mz.....load_key.jt...M} |
33680 | 01 4d 8d 01 87 94 8c 0c 6c 6f 61 64 5f 6b 65 79 5f 62 69 6f 94 6a 74 1f 00 00 4d 90 01 4d 9e 01 | .M......load_key_bio.jt...M..M.. |
336a0 | 87 94 8c 13 6c 6f 61 64 5f 6b 65 79 5f 62 69 6f 5f 70 75 62 6b 65 79 94 6a 74 1f 00 00 4d a1 01 | ....load_key_bio_pubkey.jt...M.. |
336c0 | 4d b1 01 87 94 8c 0f 6c 6f 61 64 5f 6b 65 79 5f 73 74 72 69 6e 67 94 6a 74 1f 00 00 4d b4 01 4d | M......load_key_string.jt...M..M |
336e0 | c2 01 87 94 8c 16 6c 6f 61 64 5f 6b 65 79 5f 73 74 72 69 6e 67 5f 70 75 62 6b 65 79 94 6a 74 1f | ......load_key_string_pubkey.jt. |
33700 | 00 00 4d c5 01 4d d3 01 87 94 75 7d 94 28 8c 06 43 69 70 68 65 72 94 6a 53 02 00 00 8c 0c 43 69 | ..M..M....u}.(..Cipher.jS.....Ci |
33720 | 70 68 65 72 2e 66 69 6e 61 6c 94 6a 53 02 00 00 8c 12 43 69 70 68 65 72 2e 73 65 74 5f 70 61 64 | pher.final.jS.....Cipher.set_pad |
33740 | 64 69 6e 67 94 6a 53 02 00 00 8c 0d 43 69 70 68 65 72 2e 75 70 64 61 74 65 94 6a 53 02 00 00 8c | ding.jS.....Cipher.update.jS.... |
33760 | 08 45 56 50 45 72 72 6f 72 94 6a 53 02 00 00 8c 04 48 4d 41 43 94 6a 53 02 00 00 8c 0a 48 4d 41 | .EVPError.jS.....HMAC.jS.....HMA |
33780 | 43 2e 66 69 6e 61 6c 94 6a 53 02 00 00 8c 0a 48 4d 41 43 2e 72 65 73 65 74 94 6a 53 02 00 00 8c | C.final.jS.....HMAC.reset.jS.... |
337a0 | 0b 48 4d 41 43 2e 75 70 64 61 74 65 94 6a 53 02 00 00 8c 0d 4d 65 73 73 61 67 65 44 69 67 65 73 | .HMAC.update.jS.....MessageDiges |
337c0 | 74 94 6a 53 02 00 00 8c 13 4d 65 73 73 61 67 65 44 69 67 65 73 74 2e 66 69 6e 61 6c 94 6a 53 02 | t.jS.....MessageDigest.final.jS. |
337e0 | 00 00 8c 14 4d 65 73 73 61 67 65 44 69 67 65 73 74 2e 75 70 64 61 74 65 94 6a 53 02 00 00 8c 04 | ....MessageDigest.update.jS..... |
33800 | 50 4b 65 79 94 6a 53 02 00 00 8c 0b 50 4b 65 79 2e 61 73 5f 64 65 72 94 6a 53 02 00 00 8c 0b 50 | PKey.jS.....PKey.as_der.jS.....P |
33820 | 4b 65 79 2e 61 73 5f 70 65 6d 94 6a 53 02 00 00 8c 0f 50 4b 65 79 2e 61 73 73 69 67 6e 5f 72 73 | Key.as_pem.jS.....PKey.assign_rs |
33840 | 61 94 6a 53 02 00 00 8c 10 50 4b 65 79 2e 67 65 74 5f 6d 6f 64 75 6c 75 73 94 6a 53 02 00 00 8c | a.jS.....PKey.get_modulus.jS.... |
33860 | 0c 50 4b 65 79 2e 67 65 74 5f 72 73 61 94 6a 53 02 00 00 8c 12 50 4b 65 79 2e 72 65 73 65 74 5f | .PKey.get_rsa.jS.....PKey.reset_ |
33880 | 63 6f 6e 74 65 78 74 94 6a 53 02 00 00 8c 0d 50 4b 65 79 2e 73 61 76 65 5f 6b 65 79 94 6a 53 02 | context.jS.....PKey.save_key.jS. |
338a0 | 00 00 8c 11 50 4b 65 79 2e 73 61 76 65 5f 6b 65 79 5f 62 69 6f 94 6a 53 02 00 00 8c 0f 50 4b 65 | ....PKey.save_key_bio.jS.....PKe |
338c0 | 79 2e 73 69 67 6e 5f 66 69 6e 61 6c 94 6a 53 02 00 00 8c 0e 50 4b 65 79 2e 73 69 67 6e 5f 69 6e | y.sign_final.jS.....PKey.sign_in |
338e0 | 69 74 94 6a 53 02 00 00 8c 10 50 4b 65 79 2e 73 69 67 6e 5f 75 70 64 61 74 65 94 6a 53 02 00 00 | it.jS.....PKey.sign_update.jS... |
33900 | 8c 09 50 4b 65 79 2e 73 69 7a 65 94 6a 53 02 00 00 8c 11 50 4b 65 79 2e 76 65 72 69 66 79 5f 66 | ..PKey.size.jS.....PKey.verify_f |
33920 | 69 6e 61 6c 94 6a 53 02 00 00 8c 10 50 4b 65 79 2e 76 65 72 69 66 79 5f 69 6e 69 74 94 6a 53 02 | inal.jS.....PKey.verify_init.jS. |
33940 | 00 00 8c 12 50 4b 65 79 2e 76 65 72 69 66 79 5f 75 70 64 61 74 65 94 6a 53 02 00 00 8c 04 68 6d | ....PKey.verify_update.jS.....hm |
33960 | 61 63 94 6a 53 02 00 00 8c 08 6c 6f 61 64 5f 6b 65 79 94 6a 53 02 00 00 8c 0c 6c 6f 61 64 5f 6b | ac.jS.....load_key.jS.....load_k |
33980 | 65 79 5f 62 69 6f 94 6a 53 02 00 00 8c 13 6c 6f 61 64 5f 6b 65 79 5f 62 69 6f 5f 70 75 62 6b 65 | ey_bio.jS.....load_key_bio_pubke |
339a0 | 79 94 6a 53 02 00 00 8c 0f 6c 6f 61 64 5f 6b 65 79 5f 73 74 72 69 6e 67 94 6a 53 02 00 00 8c 16 | y.jS.....load_key_string.jS..... |
339c0 | 6c 6f 61 64 5f 6b 65 79 5f 73 74 72 69 6e 67 5f 70 75 62 6b 65 79 94 6a 53 02 00 00 8c 06 70 62 | load_key_string_pubkey.jS.....pb |
339e0 | 6b 64 66 32 94 6a 53 02 00 00 75 8c 0c 4d 32 43 72 79 70 74 6f 2e 45 56 50 94 74 94 8c 0f 4d 32 | kdf2.jS...u..M2Crypto.EVP.t...M2 |
33a00 | 43 72 79 70 74 6f 2e 45 6e 67 69 6e 65 94 28 58 27 12 00 00 23 20 76 69 6d 3a 20 73 74 73 3d 34 | Crypto.Engine.(X'...#.vim:.sts=4 |
33a20 | 20 73 77 3d 34 20 65 74 0a 66 72 6f 6d 20 5f 5f 66 75 74 75 72 65 5f 5f 20 69 6d 70 6f 72 74 20 | .sw=4.et.from.__future__.import. |
33a40 | 61 62 73 6f 6c 75 74 65 5f 69 6d 70 6f 72 74 0a 0a 22 22 22 0a 4d 32 43 72 79 70 74 6f 20 77 72 | absolute_import..""".M2Crypto.wr |
33a60 | 61 70 70 65 72 20 66 6f 72 20 4f 70 65 6e 53 53 4c 20 45 4e 47 49 4e 45 20 41 50 49 2e 0a 0a 50 | apper.for.OpenSSL.ENGINE.API...P |
33a80 | 61 76 65 6c 20 53 68 72 61 6d 6f 76 0a 49 4d 45 43 20 4d 53 55 0a 22 22 22 0a 0a 66 72 6f 6d 20 | avel.Shramov.IMEC.MSU."""..from. |
33aa0 | 4d 32 43 72 79 70 74 6f 20 69 6d 70 6f 72 74 20 45 56 50 2c 20 45 72 72 2c 20 58 35 30 39 2c 20 | M2Crypto.import.EVP,.Err,.X509,. |
33ac0 | 6d 32 2c 20 73 69 78 2c 20 75 74 69 6c 0a 69 66 20 75 74 69 6c 2e 70 79 32 37 70 6c 75 73 3a 0a | m2,.six,.util.if.util.py27plus:. |
33ae0 | 20 20 20 20 66 72 6f 6d 20 74 79 70 69 6e 67 20 69 6d 70 6f 72 74 20 41 6e 79 53 74 72 2c 20 43 | ....from.typing.import.AnyStr,.C |
33b00 | 61 6c 6c 61 62 6c 65 2c 20 4f 70 74 69 6f 6e 61 6c 20 20 23 20 6e 6f 71 61 0a 0a 0a 63 6c 61 73 | allable,.Optional..#.noqa...clas |
33b20 | 73 20 45 6e 67 69 6e 65 45 72 72 6f 72 28 45 78 63 65 70 74 69 6f 6e 29 3a 0a 20 20 20 20 70 61 | s.EngineError(Exception):.....pa |
33b40 | 73 73 0a 0a 6d 32 2e 65 6e 67 69 6e 65 5f 69 6e 69 74 5f 65 72 72 6f 72 28 45 6e 67 69 6e 65 45 | ss..m2.engine_init_error(EngineE |
33b60 | 72 72 6f 72 29 0a 0a 0a 63 6c 61 73 73 20 45 6e 67 69 6e 65 28 6f 62 6a 65 63 74 29 3a 0a 20 20 | rror)...class.Engine(object):... |
33b80 | 20 20 22 22 22 57 72 61 70 70 65 72 20 66 6f 72 20 45 4e 47 49 4e 45 20 6f 62 6a 65 63 74 2e 22 | .."""Wrapper.for.ENGINE.object." |
33ba0 | 22 22 0a 0a 20 20 20 20 6d 32 5f 65 6e 67 69 6e 65 5f 66 72 65 65 20 3d 20 6d 32 2e 65 6e 67 69 | ""......m2_engine_free.=.m2.engi |
33bc0 | 6e 65 5f 66 72 65 65 0a 0a 20 20 20 20 64 65 66 20 5f 5f 69 6e 69 74 5f 5f 28 73 65 6c 66 2c 20 | ne_free......def.__init__(self,. |
33be0 | 69 64 3d 4e 6f 6e 65 2c 20 5f 70 74 72 3d 4e 6f 6e 65 2c 20 5f 70 79 66 72 65 65 3d 31 29 3a 0a | id=None,._ptr=None,._pyfree=1):. |
33c00 | 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 4f 70 74 69 6f 6e 61 6c 5b 62 79 74 65 73 5d | ........#.type:.(Optional[bytes] |
33c20 | 2c 20 4f 70 74 69 6f 6e 61 6c 5b 62 79 74 65 73 5d 2c 20 69 6e 74 29 20 2d 3e 20 4e 6f 6e 65 0a | ,.Optional[bytes],.int).->.None. |
33c40 | 20 20 20 20 20 20 20 20 22 22 22 43 72 65 61 74 65 20 6e 65 77 20 45 6e 67 69 6e 65 20 66 72 6f | ........"""Create.new.Engine.fro |
33c60 | 6d 20 45 4e 47 49 4e 45 20 70 6f 69 6e 74 65 72 20 6f 72 20 6f 62 74 61 69 6e 20 62 79 20 69 64 | m.ENGINE.pointer.or.obtain.by.id |
33c80 | 22 22 22 0a 20 20 20 20 20 20 20 20 69 66 20 6e 6f 74 20 5f 70 74 72 20 61 6e 64 20 6e 6f 74 20 | """.........if.not._ptr.and.not. |
33ca0 | 69 64 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 56 61 6c 75 65 45 72 72 6f 72 | id:.............raise.ValueError |
33cc0 | 28 22 4e 6f 20 65 6e 67 69 6e 65 20 69 64 20 73 70 65 63 69 66 69 65 64 22 29 0a 20 20 20 20 20 | ("No.engine.id.specified")...... |
33ce0 | 20 20 20 73 65 6c 66 2e 5f 70 74 72 20 3d 20 5f 70 74 72 0a 20 20 20 20 20 20 20 20 69 66 20 6e | ...self._ptr.=._ptr.........if.n |
33d00 | 6f 74 20 73 65 6c 66 2e 5f 70 74 72 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 5f | ot.self._ptr:.............self._ |
33d20 | 70 74 72 20 3d 20 6d 32 2e 65 6e 67 69 6e 65 5f 62 79 5f 69 64 28 69 64 29 0a 20 20 20 20 20 20 | ptr.=.m2.engine_by_id(id)....... |
33d40 | 20 20 20 20 20 20 69 66 20 6e 6f 74 20 73 65 6c 66 2e 5f 70 74 72 3a 0a 20 20 20 20 20 20 20 20 | ......if.not.self._ptr:......... |
33d60 | 20 20 20 20 20 20 20 20 72 61 69 73 65 20 56 61 6c 75 65 45 72 72 6f 72 28 22 55 6e 6b 6e 6f 77 | ........raise.ValueError("Unknow |
33d80 | 6e 20 65 6e 67 69 6e 65 3a 20 25 73 22 20 25 20 69 64 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 | n.engine:.%s".%.id).........self |
33da0 | 2e 5f 70 79 66 72 65 65 20 3d 20 5f 70 79 66 72 65 65 0a 0a 20 20 20 20 64 65 66 20 5f 5f 64 65 | ._pyfree.=._pyfree......def.__de |
33dc0 | 6c 5f 5f 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e | l__(self):.........#.type:.().-> |
33de0 | 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 69 66 20 67 65 74 61 74 74 72 28 73 65 6c 66 2c 20 27 | .None.........if.getattr(self,.' |
33e00 | 5f 70 79 66 72 65 65 27 2c 20 30 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 6d | _pyfree',.0):.............self.m |
33e20 | 32 5f 65 6e 67 69 6e 65 5f 66 72 65 65 28 73 65 6c 66 2e 5f 70 74 72 29 0a 0a 20 20 20 20 64 65 | 2_engine_free(self._ptr)......de |
33e40 | 66 20 69 6e 69 74 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 | f.init(self):.........#.type:.() |
33e60 | 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 22 22 22 4f 62 74 61 69 6e 20 61 20 66 75 6e 63 | .->.int........."""Obtain.a.func |
33e80 | 74 69 6f 6e 61 6c 20 72 65 66 65 72 65 6e 63 65 20 74 6f 20 74 68 65 20 65 6e 67 69 6e 65 2e 0a | tional.reference.to.the.engine.. |
33ea0 | 0a 20 20 20 20 20 20 20 20 3a 72 65 74 75 72 6e 3a 20 30 20 6f 6e 20 65 72 72 6f 72 2c 20 6e 6f | .........:return:.0.on.error,.no |
33ec0 | 6e 2d 7a 65 72 6f 20 6f 6e 20 73 75 63 63 65 73 73 2e 22 22 22 0a 20 20 20 20 20 20 20 20 72 65 | n-zero.on.success.""".........re |
33ee0 | 74 75 72 6e 20 6d 32 2e 65 6e 67 69 6e 65 5f 69 6e 69 74 28 73 65 6c 66 2e 5f 70 74 72 29 0a 0a | turn.m2.engine_init(self._ptr).. |
33f00 | 20 20 20 20 64 65 66 20 66 69 6e 69 73 68 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 | ....def.finish(self):.........#. |
33f20 | 74 79 70 65 3a 20 28 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 22 22 22 52 65 6c 65 61 | type:.().->.int........."""Relea |
33f40 | 73 65 20 61 20 66 75 6e 63 74 69 6f 6e 61 6c 20 61 6e 64 20 73 74 72 75 63 74 75 72 61 6c 20 72 | se.a.functional.and.structural.r |
33f60 | 65 66 65 72 65 6e 63 65 20 74 6f 20 74 68 65 20 65 6e 67 69 6e 65 2e 22 22 22 0a 20 20 20 20 20 | eference.to.the.engine."""...... |
33f80 | 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 65 6e 67 69 6e 65 5f 66 69 6e 69 73 68 28 73 65 6c 66 2e | ...return.m2.engine_finish(self. |
33fa0 | 5f 70 74 72 29 0a 0a 20 20 20 20 64 65 66 20 63 74 72 6c 5f 63 6d 64 5f 73 74 72 69 6e 67 28 73 | _ptr)......def.ctrl_cmd_string(s |
33fc0 | 65 6c 66 2c 20 63 6d 64 2c 20 61 72 67 2c 20 6f 70 74 69 6f 6e 61 6c 3d 30 29 3a 0a 20 20 20 20 | elf,.cmd,.arg,.optional=0):..... |
33fe0 | 20 20 20 20 23 20 74 79 70 65 3a 20 28 41 6e 79 53 74 72 2c 20 4f 70 74 69 6f 6e 61 6c 5b 41 6e | ....#.type:.(AnyStr,.Optional[An |
34000 | 79 53 74 72 5d 2c 20 69 6e 74 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 22 22 22 43 | yStr],.int).->.None........."""C |
34020 | 61 6c 6c 20 45 4e 47 49 4e 45 5f 63 74 72 6c 5f 63 6d 64 5f 73 74 72 69 6e 67 22 22 22 0a 20 20 | all.ENGINE_ctrl_cmd_string"""... |
34040 | 20 20 20 20 20 20 63 6d 64 20 3d 20 73 69 78 2e 65 6e 73 75 72 65 5f 73 74 72 28 63 6d 64 29 0a | ......cmd.=.six.ensure_str(cmd). |
34060 | 20 20 20 20 20 20 20 20 69 66 20 61 72 67 20 69 73 20 6e 6f 74 20 4e 6f 6e 65 3a 0a 20 20 20 20 | ........if.arg.is.not.None:..... |
34080 | 20 20 20 20 20 20 20 20 61 72 67 20 3d 20 73 69 78 2e 65 6e 73 75 72 65 5f 73 74 72 28 61 72 67 | ........arg.=.six.ensure_str(arg |
340a0 | 29 0a 20 20 20 20 20 20 20 20 69 66 20 6e 6f 74 20 6d 32 2e 65 6e 67 69 6e 65 5f 63 74 72 6c 5f | ).........if.not.m2.engine_ctrl_ |
340c0 | 63 6d 64 5f 73 74 72 69 6e 67 28 73 65 6c 66 2e 5f 70 74 72 2c 20 63 6d 64 2c 20 61 72 67 2c 20 | cmd_string(self._ptr,.cmd,.arg,. |
340e0 | 6f 70 74 69 6f 6e 61 6c 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 45 6e 67 | optional):.............raise.Eng |
34100 | 69 6e 65 45 72 72 6f 72 28 45 72 72 2e 67 65 74 5f 65 72 72 6f 72 28 29 29 0a 0a 20 20 20 20 64 | ineError(Err.get_error())......d |
34120 | 65 66 20 67 65 74 5f 6e 61 6d 65 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 | ef.get_name(self):.........#.typ |
34140 | 65 3a 20 28 29 20 2d 3e 20 62 79 74 65 73 0a 20 20 20 20 20 20 20 20 22 22 22 52 65 74 75 72 6e | e:.().->.bytes........."""Return |
34160 | 20 65 6e 67 69 6e 65 20 6e 61 6d 65 22 22 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d | .engine.name""".........return.m |
34180 | 32 2e 65 6e 67 69 6e 65 5f 67 65 74 5f 6e 61 6d 65 28 73 65 6c 66 2e 5f 70 74 72 29 0a 0a 20 20 | 2.engine_get_name(self._ptr).... |
341a0 | 20 20 64 65 66 20 67 65 74 5f 69 64 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 | ..def.get_id(self):.........#.ty |
341c0 | 70 65 3a 20 28 29 20 2d 3e 20 62 79 74 65 73 0a 20 20 20 20 20 20 20 20 22 22 22 52 65 74 75 72 | pe:.().->.bytes........."""Retur |
341e0 | 6e 20 65 6e 67 69 6e 65 20 69 64 22 22 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 | n.engine.id""".........return.m2 |
34200 | 2e 65 6e 67 69 6e 65 5f 67 65 74 5f 69 64 28 73 65 6c 66 2e 5f 70 74 72 29 0a 0a 20 20 20 20 64 | .engine_get_id(self._ptr)......d |
34220 | 65 66 20 73 65 74 5f 64 65 66 61 75 6c 74 28 73 65 6c 66 2c 20 6d 65 74 68 6f 64 73 3d 6d 32 2e | ef.set_default(self,.methods=m2. |
34240 | 45 4e 47 49 4e 45 5f 4d 45 54 48 4f 44 5f 41 4c 4c 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 | ENGINE_METHOD_ALL):.........#.ty |
34260 | 70 65 3a 20 28 69 6e 74 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 | pe:.(int).->.int.........""".... |
34280 | 20 20 20 20 20 55 73 65 20 74 68 69 73 20 65 6e 67 69 6e 65 20 61 73 20 64 65 66 61 75 6c 74 20 | .....Use.this.engine.as.default. |
342a0 | 66 6f 72 20 6d 65 74 68 6f 64 73 20 73 70 65 63 69 66 69 65 64 20 69 6e 20 61 72 67 75 6d 65 6e | for.methods.specified.in.argumen |
342c0 | 74 0a 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 6d 65 74 68 6f 64 73 3a 20 50 6f 73 73 69 | t..........:param.methods:.Possi |
342e0 | 62 6c 65 20 76 61 6c 75 65 73 20 61 72 65 20 62 69 74 77 69 73 65 20 4f 52 20 6f 66 20 6d 32 2e | ble.values.are.bitwise.OR.of.m2. |
34300 | 45 4e 47 49 4e 45 5f 4d 45 54 48 4f 44 5f 2a 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 | ENGINE_METHOD_*........."""..... |
34320 | 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 65 6e 67 69 6e 65 5f 73 65 74 5f 64 65 66 61 75 6c 74 | ....return.m2.engine_set_default |
34340 | 28 73 65 6c 66 2e 5f 70 74 72 2c 20 6d 65 74 68 6f 64 73 29 0a 0a 20 20 20 20 64 65 66 20 5f 65 | (self._ptr,.methods)......def._e |
34360 | 6e 67 69 6e 65 5f 6c 6f 61 64 5f 6b 65 79 28 73 65 6c 66 2c 20 66 75 6e 63 2c 20 6e 61 6d 65 2c | ngine_load_key(self,.func,.name, |
34380 | 20 70 69 6e 3d 4e 6f 6e 65 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 43 61 6c | .pin=None):.........#.type:.(Cal |
343a0 | 6c 61 62 6c 65 2c 20 62 79 74 65 73 2c 20 4f 70 74 69 6f 6e 61 6c 5b 62 79 74 65 73 5d 29 20 2d | lable,.bytes,.Optional[bytes]).- |
343c0 | 3e 20 45 56 50 2e 50 4b 65 79 0a 20 20 20 20 20 20 20 20 22 22 22 48 65 6c 70 65 72 20 66 75 6e | >.EVP.PKey........."""Helper.fun |
343e0 | 63 74 69 6f 6e 20 66 6f 72 20 6c 6f 61 64 69 6e 67 20 6b 65 79 73 22 22 22 0a 20 20 20 20 20 20 | ction.for.loading.keys"""....... |
34400 | 20 20 75 69 20 3d 20 6d 32 2e 75 69 5f 6f 70 65 6e 73 73 6c 28 29 0a 20 20 20 20 20 20 20 20 63 | ..ui.=.m2.ui_openssl().........c |
34420 | 62 64 20 3d 20 6d 32 2e 65 6e 67 69 6e 65 5f 70 6b 63 73 31 31 5f 64 61 74 61 5f 6e 65 77 28 70 | bd.=.m2.engine_pkcs11_data_new(p |
34440 | 69 6e 29 0a 20 20 20 20 20 20 20 20 74 72 79 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 6b 70 74 | in).........try:.............kpt |
34460 | 72 20 3d 20 66 75 6e 63 28 73 65 6c 66 2e 5f 70 74 72 2c 20 6e 61 6d 65 2c 20 75 69 2c 20 63 62 | r.=.func(self._ptr,.name,.ui,.cb |
34480 | 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 6e 6f 74 20 6b 70 74 72 3a 0a 20 20 20 20 | d).............if.not.kptr:..... |
344a0 | 20 20 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 45 6e 67 69 6e 65 45 72 72 6f 72 28 45 72 | ............raise.EngineError(Er |
344c0 | 72 2e 67 65 74 5f 65 72 72 6f 72 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 6b 65 79 20 3d | r.get_error()).............key.= |
344e0 | 20 45 56 50 2e 50 4b 65 79 28 6b 70 74 72 2c 20 5f 70 79 66 72 65 65 3d 31 29 0a 20 20 20 20 20 | .EVP.PKey(kptr,._pyfree=1)...... |
34500 | 20 20 20 66 69 6e 61 6c 6c 79 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 6d 32 2e 65 6e 67 69 6e | ...finally:.............m2.engin |
34520 | 65 5f 70 6b 63 73 31 31 5f 64 61 74 61 5f 66 72 65 65 28 63 62 64 29 0a 20 20 20 20 20 20 20 20 | e_pkcs11_data_free(cbd)......... |
34540 | 72 65 74 75 72 6e 20 6b 65 79 0a 0a 20 20 20 20 64 65 66 20 6c 6f 61 64 5f 70 72 69 76 61 74 65 | return.key......def.load_private |
34560 | 5f 6b 65 79 28 73 65 6c 66 2c 20 6e 61 6d 65 2c 20 70 69 6e 3d 4e 6f 6e 65 29 3a 0a 20 20 20 20 | _key(self,.name,.pin=None):..... |
34580 | 20 20 20 20 23 20 74 79 70 65 3a 20 28 62 79 74 65 73 2c 20 4f 70 74 69 6f 6e 61 6c 5b 62 79 74 | ....#.type:.(bytes,.Optional[byt |
345a0 | 65 73 5d 29 20 2d 3e 20 58 35 30 39 2e 58 35 30 39 0a 20 20 20 20 20 20 20 20 22 22 22 4c 6f 61 | es]).->.X509.X509........."""Loa |
345c0 | 64 20 70 72 69 76 61 74 65 20 6b 65 79 20 77 69 74 68 20 65 6e 67 69 6e 65 20 6d 65 74 68 6f 64 | d.private.key.with.engine.method |
345e0 | 73 20 28 65 2e 67 20 66 72 6f 6d 20 73 6d 61 72 74 63 61 72 64 29 2e 0a 20 20 20 20 20 20 20 20 | s.(e.g.from.smartcard).......... |
34600 | 20 20 20 20 49 66 20 70 69 6e 20 69 73 20 6e 6f 74 20 73 65 74 20 69 74 20 77 69 6c 6c 20 62 65 | ....If.pin.is.not.set.it.will.be |
34620 | 20 61 73 6b 65 64 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 | .asked.........""".........retur |
34640 | 6e 20 73 65 6c 66 2e 5f 65 6e 67 69 6e 65 5f 6c 6f 61 64 5f 6b 65 79 28 6d 32 2e 65 6e 67 69 6e | n.self._engine_load_key(m2.engin |
34660 | 65 5f 6c 6f 61 64 5f 70 72 69 76 61 74 65 5f 6b 65 79 2c 20 6e 61 6d 65 2c 20 70 69 6e 29 0a 0a | e_load_private_key,.name,.pin).. |
34680 | 20 20 20 20 64 65 66 20 6c 6f 61 64 5f 70 75 62 6c 69 63 5f 6b 65 79 28 73 65 6c 66 2c 20 6e 61 | ....def.load_public_key(self,.na |
346a0 | 6d 65 2c 20 70 69 6e 3d 4e 6f 6e 65 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 | me,.pin=None):.........#.type:.( |
346c0 | 62 79 74 65 73 2c 20 4f 70 74 69 6f 6e 61 6c 5b 62 79 74 65 73 5d 29 20 2d 3e 20 45 56 50 2e 50 | bytes,.Optional[bytes]).->.EVP.P |
346e0 | 4b 65 79 0a 20 20 20 20 20 20 20 20 22 22 22 4c 6f 61 64 20 70 75 62 6c 69 63 20 6b 65 79 20 77 | Key........."""Load.public.key.w |
34700 | 69 74 68 20 65 6e 67 69 6e 65 20 6d 65 74 68 6f 64 73 20 28 65 2e 67 20 66 72 6f 6d 20 73 6d 61 | ith.engine.methods.(e.g.from.sma |
34720 | 72 74 63 61 72 64 29 2e 22 22 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 2e | rtcard).""".........return.self. |
34740 | 5f 65 6e 67 69 6e 65 5f 6c 6f 61 64 5f 6b 65 79 28 6d 32 2e 65 6e 67 69 6e 65 5f 6c 6f 61 64 5f | _engine_load_key(m2.engine_load_ |
34760 | 70 75 62 6c 69 63 5f 6b 65 79 2c 20 6e 61 6d 65 2c 20 70 69 6e 29 0a 0a 20 20 20 20 64 65 66 20 | public_key,.name,.pin)......def. |
34780 | 6c 6f 61 64 5f 63 65 72 74 69 66 69 63 61 74 65 28 73 65 6c 66 2c 20 6e 61 6d 65 29 3a 0a 20 20 | load_certificate(self,.name):... |
347a0 | 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 62 79 74 65 73 29 20 2d 3e 20 58 35 30 39 2e 58 35 | ......#.type:.(bytes).->.X509.X5 |
347c0 | 30 39 0a 20 20 20 20 20 20 20 20 22 22 22 4c 6f 61 64 20 63 65 72 74 69 66 69 63 61 74 65 20 66 | 09........."""Load.certificate.f |
347e0 | 72 6f 6d 20 65 6e 67 69 6e 65 20 28 65 2e 67 20 66 72 6f 6d 20 73 6d 61 72 74 63 61 72 64 29 2e | rom.engine.(e.g.from.smartcard). |
34800 | 0a 20 20 20 20 20 20 20 20 4e 4f 54 45 3a 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 6d 61 79 | .........NOTE:.This.function.may |
34820 | 20 62 65 20 6e 6f 74 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 62 79 20 65 6e 67 69 6e 65 21 22 22 | .be.not.implemented.by.engine!"" |
34840 | 22 0a 20 20 20 20 20 20 20 20 63 70 74 72 20 3d 20 6d 32 2e 65 6e 67 69 6e 65 5f 6c 6f 61 64 5f | ".........cptr.=.m2.engine_load_ |
34860 | 63 65 72 74 69 66 69 63 61 74 65 28 73 65 6c 66 2e 5f 70 74 72 2c 20 6e 61 6d 65 29 0a 20 20 20 | certificate(self._ptr,.name).... |
34880 | 20 20 20 20 20 69 66 20 6e 6f 74 20 63 70 74 72 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 61 | .....if.not.cptr:.............ra |
348a0 | 69 73 65 20 45 6e 67 69 6e 65 45 72 72 6f 72 28 22 43 65 72 74 69 66 69 63 61 74 65 20 6f 72 20 | ise.EngineError("Certificate.or. |
348c0 | 63 61 72 64 20 6e 6f 74 20 66 6f 75 6e 64 22 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 | card.not.found").........return. |
348e0 | 58 35 30 39 2e 58 35 30 39 28 63 70 74 72 2c 20 5f 70 79 66 72 65 65 3d 31 29 0a 0a 0a 64 65 66 | X509.X509(cptr,._pyfree=1)...def |
34900 | 20 6c 6f 61 64 5f 64 79 6e 61 6d 69 63 5f 65 6e 67 69 6e 65 28 69 64 2c 20 73 6f 70 61 74 68 29 | .load_dynamic_engine(id,.sopath) |
34920 | 3a 0a 20 20 20 20 23 20 74 79 70 65 3a 20 28 62 79 74 65 73 2c 20 41 6e 79 53 74 72 29 20 2d 3e | :.....#.type:.(bytes,.AnyStr).-> |
34940 | 20 45 6e 67 69 6e 65 0a 20 20 20 20 22 22 22 4c 6f 61 64 20 61 6e 64 20 72 65 74 75 72 6e 20 64 | .Engine....."""Load.and.return.d |
34960 | 79 6d 61 6e 69 63 20 65 6e 67 69 6e 65 20 66 72 6f 6d 20 73 6f 70 61 74 68 20 61 6e 64 20 61 73 | ymanic.engine.from.sopath.and.as |
34980 | 73 69 67 6e 20 69 64 20 74 6f 20 69 74 22 22 22 0a 20 20 20 20 69 66 20 69 73 69 6e 73 74 61 6e | sign.id.to.it""".....if.isinstan |
349a0 | 63 65 28 73 6f 70 61 74 68 2c 20 73 69 78 2e 74 65 78 74 5f 74 79 70 65 29 3a 0a 20 20 20 20 20 | ce(sopath,.six.text_type):...... |
349c0 | 20 20 20 73 6f 70 61 74 68 20 3d 20 73 6f 70 61 74 68 2e 65 6e 63 6f 64 65 28 27 75 74 66 38 27 | ...sopath.=.sopath.encode('utf8' |
349e0 | 29 0a 20 20 20 20 6d 32 2e 65 6e 67 69 6e 65 5f 6c 6f 61 64 5f 64 79 6e 61 6d 69 63 28 29 0a 20 | ).....m2.engine_load_dynamic().. |
34a00 | 20 20 20 65 20 3d 20 45 6e 67 69 6e 65 28 27 64 79 6e 61 6d 69 63 27 29 0a 20 20 20 20 65 2e 63 | ...e.=.Engine('dynamic').....e.c |
34a20 | 74 72 6c 5f 63 6d 64 5f 73 74 72 69 6e 67 28 27 53 4f 5f 50 41 54 48 27 2c 20 73 6f 70 61 74 68 | trl_cmd_string('SO_PATH',.sopath |
34a40 | 29 0a 20 20 20 20 65 2e 63 74 72 6c 5f 63 6d 64 5f 73 74 72 69 6e 67 28 27 49 44 27 2c 20 69 64 | ).....e.ctrl_cmd_string('ID',.id |
34a60 | 29 0a 20 20 20 20 65 2e 63 74 72 6c 5f 63 6d 64 5f 73 74 72 69 6e 67 28 27 4c 49 53 54 5f 41 44 | ).....e.ctrl_cmd_string('LIST_AD |
34a80 | 44 27 2c 20 27 31 27 29 0a 20 20 20 20 65 2e 63 74 72 6c 5f 63 6d 64 5f 73 74 72 69 6e 67 28 27 | D',.'1').....e.ctrl_cmd_string(' |
34aa0 | 4c 4f 41 44 27 2c 20 4e 6f 6e 65 29 0a 20 20 20 20 72 65 74 75 72 6e 20 65 0a 0a 0a 64 65 66 20 | LOAD',.None).....return.e...def. |
34ac0 | 6c 6f 61 64 5f 64 79 6e 61 6d 69 63 28 29 3a 0a 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d | load_dynamic():.....#.type:.().- |
34ae0 | 3e 20 4e 6f 6e 65 0a 20 20 20 20 22 22 22 4c 6f 61 64 20 64 79 6e 61 6d 69 63 20 65 6e 67 69 6e | >.None....."""Load.dynamic.engin |
34b00 | 65 22 22 22 0a 20 20 20 20 6d 32 2e 65 6e 67 69 6e 65 5f 6c 6f 61 64 5f 64 79 6e 61 6d 69 63 28 | e""".....m2.engine_load_dynamic( |
34b20 | 29 0a 0a 0a 64 65 66 20 6c 6f 61 64 5f 6f 70 65 6e 73 73 6c 28 29 3a 0a 20 20 20 20 23 20 74 79 | )...def.load_openssl():.....#.ty |
34b40 | 70 65 3a 20 28 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 22 22 22 4c 6f 61 64 20 6f 70 65 6e 73 | pe:.().->.None....."""Load.opens |
34b60 | 73 6c 20 65 6e 67 69 6e 65 22 22 22 0a 20 20 20 20 6d 32 2e 65 6e 67 69 6e 65 5f 6c 6f 61 64 5f | sl.engine""".....m2.engine_load_ |
34b80 | 6f 70 65 6e 73 73 6c 28 29 0a 0a 0a 64 65 66 20 63 6c 65 61 6e 75 70 28 29 3a 0a 20 20 20 20 23 | openssl()...def.cleanup():.....# |
34ba0 | 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 22 22 22 49 66 20 79 6f 75 20 | .type:.().->.None....."""If.you. |
34bc0 | 6c 6f 61 64 20 61 6e 79 20 65 6e 67 69 6e 65 73 2c 20 79 6f 75 20 6e 65 65 64 20 74 6f 20 63 6c | load.any.engines,.you.need.to.cl |
34be0 | 65 61 6e 20 75 70 20 61 66 74 65 72 20 79 6f 75 72 20 61 70 70 6c 69 63 61 74 69 6f 6e 0a 20 20 | ean.up.after.your.application... |
34c00 | 20 20 69 73 20 66 69 6e 69 73 68 65 64 20 77 69 74 68 20 74 68 65 20 65 6e 67 69 6e 65 73 2e 22 | ..is.finished.with.the.engines." |
34c20 | 22 22 0a 20 20 20 20 6d 32 2e 65 6e 67 69 6e 65 5f 63 6c 65 61 6e 75 70 28 29 0a 94 7d 94 28 8c | "".....m2.engine_cleanup()..}.(. |
34c40 | 0b 45 6e 67 69 6e 65 45 72 72 6f 72 94 6a 7d 1f 00 00 4b 10 4b 11 87 94 8c 0f 45 6e 67 69 6e 65 | .EngineError.j}...K.K.....Engine |
34c60 | 2e 5f 5f 69 6e 69 74 5f 5f 94 6a 74 1f 00 00 4b 1b 4b 25 87 94 8c 0e 45 6e 67 69 6e 65 2e 5f 5f | .__init__.jt...K.K%....Engine.__ |
34c80 | 64 65 6c 5f 5f 94 6a 74 1f 00 00 4b 27 4b 2a 87 94 8c 0b 45 6e 67 69 6e 65 2e 69 6e 69 74 94 6a | del__.jt...K'K*....Engine.init.j |
34ca0 | 74 1f 00 00 4b 2c 4b 31 87 94 8c 0d 45 6e 67 69 6e 65 2e 66 69 6e 69 73 68 94 6a 74 1f 00 00 4b | t...K,K1....Engine.finish.jt...K |
34cc0 | 33 4b 36 87 94 8c 16 45 6e 67 69 6e 65 2e 63 74 72 6c 5f 63 6d 64 5f 73 74 72 69 6e 67 94 6a 74 | 3K6....Engine.ctrl_cmd_string.jt |
34ce0 | 1f 00 00 4b 38 4b 3f 87 94 8c 0f 45 6e 67 69 6e 65 2e 67 65 74 5f 6e 61 6d 65 94 6a 74 1f 00 00 | ...K8K?....Engine.get_name.jt... |
34d00 | 4b 41 4b 44 87 94 8c 0d 45 6e 67 69 6e 65 2e 67 65 74 5f 69 64 94 6a 74 1f 00 00 4b 46 4b 49 87 | KAKD....Engine.get_id.jt...KFKI. |
34d20 | 94 8c 12 45 6e 67 69 6e 65 2e 73 65 74 5f 64 65 66 61 75 6c 74 94 6a 74 1f 00 00 4b 4b 4b 52 87 | ...Engine.set_default.jt...KKKR. |
34d40 | 94 8c 17 45 6e 67 69 6e 65 2e 5f 65 6e 67 69 6e 65 5f 6c 6f 61 64 5f 6b 65 79 94 6a 74 1f 00 00 | ...Engine._engine_load_key.jt... |
34d60 | 4b 54 4b 60 87 94 8c 17 45 6e 67 69 6e 65 2e 6c 6f 61 64 5f 70 72 69 76 61 74 65 5f 6b 65 79 94 | KTK`....Engine.load_private_key. |
34d80 | 6a 74 1f 00 00 4b 62 4b 67 87 94 8c 16 45 6e 67 69 6e 65 2e 6c 6f 61 64 5f 70 75 62 6c 69 63 5f | jt...KbKg....Engine.load_public_ |
34da0 | 6b 65 79 94 6a 74 1f 00 00 4b 69 4b 6c 87 94 8c 17 45 6e 67 69 6e 65 2e 6c 6f 61 64 5f 63 65 72 | key.jt...KiKl....Engine.load_cer |
34dc0 | 74 69 66 69 63 61 74 65 94 6a 74 1f 00 00 4b 6e 4b 75 87 94 8c 06 45 6e 67 69 6e 65 94 6a 7d 1f | tificate.jt...KnKu....Engine.j}. |
34de0 | 00 00 4b 16 4b 75 87 94 8c 13 6c 6f 61 64 5f 64 79 6e 61 6d 69 63 5f 65 6e 67 69 6e 65 94 6a 74 | ..K.Ku....load_dynamic_engine.jt |
34e00 | 1f 00 00 4b 78 4b 83 87 94 8c 0c 6c 6f 61 64 5f 64 79 6e 61 6d 69 63 94 6a 74 1f 00 00 4b 86 4b | ...KxK.....load_dynamic.jt...K.K |
34e20 | 89 87 94 8c 0c 6c 6f 61 64 5f 6f 70 65 6e 73 73 6c 94 6a 74 1f 00 00 4b 8c 4b 8f 87 94 8c 07 63 | .....load_openssl.jt...K.K.....c |
34e40 | 6c 65 61 6e 75 70 94 6a 74 1f 00 00 4b 92 4b 96 87 94 75 7d 94 28 8c 06 45 6e 67 69 6e 65 94 6a | leanup.jt...K.K...u}.(..Engine.j |
34e60 | 53 02 00 00 8c 16 45 6e 67 69 6e 65 2e 63 74 72 6c 5f 63 6d 64 5f 73 74 72 69 6e 67 94 6a 53 02 | S.....Engine.ctrl_cmd_string.jS. |
34e80 | 00 00 8c 0d 45 6e 67 69 6e 65 2e 66 69 6e 69 73 68 94 6a 53 02 00 00 8c 0d 45 6e 67 69 6e 65 2e | ....Engine.finish.jS.....Engine. |
34ea0 | 67 65 74 5f 69 64 94 6a 53 02 00 00 8c 0f 45 6e 67 69 6e 65 2e 67 65 74 5f 6e 61 6d 65 94 6a 53 | get_id.jS.....Engine.get_name.jS |
34ec0 | 02 00 00 8c 0b 45 6e 67 69 6e 65 2e 69 6e 69 74 94 6a 53 02 00 00 8c 17 45 6e 67 69 6e 65 2e 6c | .....Engine.init.jS.....Engine.l |
34ee0 | 6f 61 64 5f 63 65 72 74 69 66 69 63 61 74 65 94 6a 53 02 00 00 8c 17 45 6e 67 69 6e 65 2e 6c 6f | oad_certificate.jS.....Engine.lo |
34f00 | 61 64 5f 70 72 69 76 61 74 65 5f 6b 65 79 94 6a 53 02 00 00 8c 16 45 6e 67 69 6e 65 2e 6c 6f 61 | ad_private_key.jS.....Engine.loa |
34f20 | 64 5f 70 75 62 6c 69 63 5f 6b 65 79 94 6a 53 02 00 00 8c 12 45 6e 67 69 6e 65 2e 73 65 74 5f 64 | d_public_key.jS.....Engine.set_d |
34f40 | 65 66 61 75 6c 74 94 6a 53 02 00 00 8c 0b 45 6e 67 69 6e 65 45 72 72 6f 72 94 6a 53 02 00 00 8c | efault.jS.....EngineError.jS.... |
34f60 | 07 63 6c 65 61 6e 75 70 94 6a 53 02 00 00 8c 0c 6c 6f 61 64 5f 64 79 6e 61 6d 69 63 94 6a 53 02 | .cleanup.jS.....load_dynamic.jS. |
34f80 | 00 00 8c 13 6c 6f 61 64 5f 64 79 6e 61 6d 69 63 5f 65 6e 67 69 6e 65 94 6a 53 02 00 00 8c 0c 6c | ....load_dynamic_engine.jS.....l |
34fa0 | 6f 61 64 5f 6f 70 65 6e 73 73 6c 94 6a 53 02 00 00 75 8c 0f 4d 32 43 72 79 70 74 6f 2e 45 6e 67 | oad_openssl.jS...u..M2Crypto.Eng |
34fc0 | 69 6e 65 94 74 94 8c 0c 4d 32 43 72 79 70 74 6f 2e 45 72 72 94 28 58 b8 06 00 00 66 72 6f 6d 20 | ine.t...M2Crypto.Err.(X....from. |
34fe0 | 5f 5f 66 75 74 75 72 65 5f 5f 20 69 6d 70 6f 72 74 20 61 62 73 6f 6c 75 74 65 5f 69 6d 70 6f 72 | __future__.import.absolute_impor |
35000 | 74 0a 0a 22 22 22 4d 32 43 72 79 70 74 6f 20 77 72 61 70 70 65 72 20 66 6f 72 20 4f 70 65 6e 53 | t.."""M2Crypto.wrapper.for.OpenS |
35020 | 53 4c 20 45 72 72 6f 72 20 41 50 49 2e 0a 0a 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 39 | SL.Error.API...Copyright.(c).199 |
35040 | 39 2d 32 30 30 33 20 4e 67 20 50 68 65 6e 67 20 53 69 6f 6e 67 2e 20 41 6c 6c 20 72 69 67 68 74 | 9-2003.Ng.Pheng.Siong..All.right |
35060 | 73 20 72 65 73 65 72 76 65 64 2e 22 22 22 0a 0a 66 72 6f 6d 20 4d 32 43 72 79 70 74 6f 20 69 6d | s.reserved."""..from.M2Crypto.im |
35080 | 70 6f 72 74 20 42 49 4f 2c 20 6d 32 2c 20 70 79 32 37 70 6c 75 73 2c 20 75 74 69 6c 2c 20 73 69 | port.BIO,.m2,.py27plus,.util,.si |
350a0 | 78 20 20 23 20 6e 6f 71 61 0a 69 66 20 70 79 32 37 70 6c 75 73 3a 0a 20 20 20 20 66 72 6f 6d 20 | x..#.noqa.if.py27plus:.....from. |
350c0 | 74 79 70 69 6e 67 20 69 6d 70 6f 72 74 20 4f 70 74 69 6f 6e 61 6c 20 20 23 20 6e 6f 71 61 0a 0a | typing.import.Optional..#.noqa.. |
350e0 | 0a 64 65 66 20 67 65 74 5f 65 72 72 6f 72 28 29 3a 0a 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 | .def.get_error():.....#.type:.() |
35100 | 20 2d 3e 20 4f 70 74 69 6f 6e 61 6c 5b 73 74 72 5d 0a 20 20 20 20 65 72 72 20 3d 20 42 49 4f 2e | .->.Optional[str].....err.=.BIO. |
35120 | 4d 65 6d 6f 72 79 42 75 66 66 65 72 28 29 0a 20 20 20 20 6d 32 2e 65 72 72 5f 70 72 69 6e 74 5f | MemoryBuffer().....m2.err_print_ |
35140 | 65 72 72 6f 72 73 28 65 72 72 2e 62 69 6f 5f 70 74 72 28 29 29 0a 20 20 20 20 65 72 72 5f 6d 73 | errors(err.bio_ptr()).....err_ms |
35160 | 67 20 3d 20 65 72 72 2e 72 65 61 64 28 29 0a 20 20 20 20 69 66 20 65 72 72 5f 6d 73 67 3a 0a 20 | g.=.err.read().....if.err_msg:.. |
35180 | 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 69 78 2e 65 6e 73 75 72 65 5f 74 65 78 74 28 65 72 | .......return.six.ensure_text(er |
351a0 | 72 5f 6d 73 67 29 0a 0a 0a 64 65 66 20 67 65 74 5f 65 72 72 6f 72 5f 63 6f 64 65 28 29 3a 0a 20 | r_msg)...def.get_error_code():.. |
351c0 | 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 72 65 74 75 72 6e 20 | ...#.type:.().->.int.....return. |
351e0 | 6d 32 2e 65 72 72 5f 67 65 74 5f 65 72 72 6f 72 28 29 0a 0a 0a 64 65 66 20 70 65 65 6b 5f 65 72 | m2.err_get_error()...def.peek_er |
35200 | 72 6f 72 5f 63 6f 64 65 28 29 3a 0a 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 69 6e | ror_code():.....#.type:.().->.in |
35220 | 74 0a 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 65 72 72 5f 70 65 65 6b 5f 65 72 72 6f 72 28 29 | t.....return.m2.err_peek_error() |
35240 | 0a 0a 0a 64 65 66 20 67 65 74 5f 65 72 72 6f 72 5f 6c 69 62 28 65 72 72 29 3a 0a 20 20 20 20 23 | ...def.get_error_lib(err):.....# |
35260 | 20 74 79 70 65 3a 20 28 69 6e 74 29 20 2d 3e 20 73 74 72 0a 20 20 20 20 72 65 74 75 72 6e 20 73 | .type:.(int).->.str.....return.s |
35280 | 69 78 2e 65 6e 73 75 72 65 5f 74 65 78 74 28 6d 32 2e 65 72 72 5f 6c 69 62 5f 65 72 72 6f 72 5f | ix.ensure_text(m2.err_lib_error_ |
352a0 | 73 74 72 69 6e 67 28 65 72 72 29 29 0a 0a 0a 64 65 66 20 67 65 74 5f 65 72 72 6f 72 5f 66 75 6e | string(err))...def.get_error_fun |
352c0 | 63 28 65 72 72 29 3a 0a 20 20 20 20 23 20 74 79 70 65 3a 20 28 69 6e 74 29 20 2d 3e 20 73 74 72 | c(err):.....#.type:.(int).->.str |
352e0 | 0a 20 20 20 20 72 65 74 75 72 6e 20 73 69 78 2e 65 6e 73 75 72 65 5f 74 65 78 74 28 6d 32 2e 65 | .....return.six.ensure_text(m2.e |
35300 | 72 72 5f 66 75 6e 63 5f 65 72 72 6f 72 5f 73 74 72 69 6e 67 28 65 72 72 29 29 0a 0a 0a 64 65 66 | rr_func_error_string(err))...def |
35320 | 20 67 65 74 5f 65 72 72 6f 72 5f 72 65 61 73 6f 6e 28 65 72 72 29 3a 0a 20 20 20 20 23 20 74 79 | .get_error_reason(err):.....#.ty |
35340 | 70 65 3a 20 28 69 6e 74 29 20 2d 3e 20 73 74 72 0a 20 20 20 20 72 65 74 75 72 6e 20 73 69 78 2e | pe:.(int).->.str.....return.six. |
35360 | 65 6e 73 75 72 65 5f 74 65 78 74 28 6d 32 2e 65 72 72 5f 72 65 61 73 6f 6e 5f 65 72 72 6f 72 5f | ensure_text(m2.err_reason_error_ |
35380 | 73 74 72 69 6e 67 28 65 72 72 29 29 0a 0a 0a 64 65 66 20 67 65 74 5f 65 72 72 6f 72 5f 6d 65 73 | string(err))...def.get_error_mes |
353a0 | 73 61 67 65 28 29 3a 0a 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 73 74 72 0a 20 20 | sage():.....#.type:.().->.str... |
353c0 | 20 20 72 65 74 75 72 6e 20 73 69 78 2e 65 6e 73 75 72 65 5f 74 65 78 74 28 67 65 74 5f 65 72 72 | ..return.six.ensure_text(get_err |
353e0 | 6f 72 5f 72 65 61 73 6f 6e 28 67 65 74 5f 65 72 72 6f 72 5f 63 6f 64 65 28 29 29 29 0a 0a 0a 64 | or_reason(get_error_code()))...d |
35400 | 65 66 20 67 65 74 5f 78 35 30 39 5f 76 65 72 69 66 79 5f 65 72 72 6f 72 28 65 72 72 29 3a 0a 20 | ef.get_x509_verify_error(err):.. |
35420 | 20 20 20 23 20 74 79 70 65 3a 20 28 69 6e 74 29 20 2d 3e 20 73 74 72 0a 20 20 20 20 72 65 74 75 | ...#.type:.(int).->.str.....retu |
35440 | 72 6e 20 73 69 78 2e 65 6e 73 75 72 65 5f 74 65 78 74 28 6d 32 2e 78 35 30 39 5f 67 65 74 5f 76 | rn.six.ensure_text(m2.x509_get_v |
35460 | 65 72 69 66 79 5f 65 72 72 6f 72 28 65 72 72 29 29 0a 0a 0a 63 6c 61 73 73 20 53 53 4c 45 72 72 | erify_error(err))...class.SSLErr |
35480 | 6f 72 28 45 78 63 65 70 74 69 6f 6e 29 3a 0a 20 20 20 20 64 65 66 20 5f 5f 69 6e 69 74 5f 5f 28 | or(Exception):.....def.__init__( |
354a0 | 73 65 6c 66 2c 20 65 72 72 2c 20 63 6c 69 65 6e 74 5f 61 64 64 72 29 3a 0a 20 20 20 20 20 20 20 | self,.err,.client_addr):........ |
354c0 | 20 23 20 74 79 70 65 3a 20 28 69 6e 74 2c 20 75 74 69 6c 2e 41 64 64 72 54 79 70 65 29 20 2d 3e | .#.type:.(int,.util.AddrType).-> |
354e0 | 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 65 72 72 20 3d 20 65 72 72 0a 20 20 20 | .None.........self.err.=.err.... |
35500 | 20 20 20 20 20 73 65 6c 66 2e 63 6c 69 65 6e 74 5f 61 64 64 72 20 3d 20 63 6c 69 65 6e 74 5f 61 | .....self.client_addr.=.client_a |
35520 | 64 64 72 0a 0a 20 20 20 20 64 65 66 20 5f 5f 73 74 72 5f 5f 28 73 65 6c 66 29 3a 0a 20 20 20 20 | ddr......def.__str__(self):..... |
35540 | 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 73 74 72 0a 20 20 20 20 20 20 20 20 69 66 | ....#.type:.().->.str.........if |
35560 | 20 6e 6f 74 20 69 73 69 6e 73 74 61 6e 63 65 28 73 65 6c 66 2e 63 6c 69 65 6e 74 5f 61 64 64 72 | .not.isinstance(self.client_addr |
35580 | 2c 20 73 69 78 2e 74 65 78 74 5f 74 79 70 65 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 20 | ,.six.text_type):.............s. |
355a0 | 3d 20 73 65 6c 66 2e 63 6c 69 65 6e 74 5f 61 64 64 72 2e 64 65 63 6f 64 65 28 27 75 74 66 38 27 | =.self.client_addr.decode('utf8' |
355c0 | 29 0a 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 20 3d 20 | ).........else:.............s.=. |
355e0 | 73 65 6c 66 2e 63 6c 69 65 6e 74 5f 61 64 64 72 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 | self.client_addr.........return. |
35600 | 22 25 73 3a 20 25 73 3a 20 25 73 22 20 25 20 28 67 65 74 5f 65 72 72 6f 72 5f 66 75 6e 63 28 73 | "%s:.%s:.%s".%.(get_error_func(s |
35620 | 65 6c 66 2e 65 72 72 29 2c 20 73 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | elf.err),.s,.................... |
35640 | 20 20 20 20 20 20 20 20 20 20 20 20 67 65 74 5f 65 72 72 6f 72 5f 72 65 61 73 6f 6e 28 73 65 6c | ............get_error_reason(sel |
35660 | 66 2e 65 72 72 29 29 0a 0a 0a 63 6c 61 73 73 20 4d 32 43 72 79 70 74 6f 45 72 72 6f 72 28 45 78 | f.err))...class.M2CryptoError(Ex |
35680 | 63 65 70 74 69 6f 6e 29 3a 0a 20 20 20 20 70 61 73 73 0a 94 7d 94 28 8c 09 67 65 74 5f 65 72 72 | ception):.....pass..}.(..get_err |
356a0 | 6f 72 94 6a 74 1f 00 00 4b 0c 4b 12 87 94 8c 0e 67 65 74 5f 65 72 72 6f 72 5f 63 6f 64 65 94 6a | or.jt...K.K.....get_error_code.j |
356c0 | 74 1f 00 00 4b 15 4b 17 87 94 8c 0f 70 65 65 6b 5f 65 72 72 6f 72 5f 63 6f 64 65 94 6a 74 1f 00 | t...K.K.....peek_error_code.jt.. |
356e0 | 00 4b 1a 4b 1c 87 94 8c 0d 67 65 74 5f 65 72 72 6f 72 5f 6c 69 62 94 6a 74 1f 00 00 4b 1f 4b 21 | .K.K.....get_error_lib.jt...K.K! |
35700 | 87 94 8c 0e 67 65 74 5f 65 72 72 6f 72 5f 66 75 6e 63 94 6a 74 1f 00 00 4b 24 4b 26 87 94 8c 10 | ....get_error_func.jt...K$K&.... |
35720 | 67 65 74 5f 65 72 72 6f 72 5f 72 65 61 73 6f 6e 94 6a 74 1f 00 00 4b 29 4b 2b 87 94 8c 11 67 65 | get_error_reason.jt...K)K+....ge |
35740 | 74 5f 65 72 72 6f 72 5f 6d 65 73 73 61 67 65 94 6a 74 1f 00 00 4b 2e 4b 30 87 94 8c 15 67 65 74 | t_error_message.jt...K.K0....get |
35760 | 5f 78 35 30 39 5f 76 65 72 69 66 79 5f 65 72 72 6f 72 94 6a 74 1f 00 00 4b 33 4b 35 87 94 8c 11 | _x509_verify_error.jt...K3K5.... |
35780 | 53 53 4c 45 72 72 6f 72 2e 5f 5f 69 6e 69 74 5f 5f 94 6a 74 1f 00 00 4b 39 4b 3c 87 94 8c 10 53 | SSLError.__init__.jt...K9K<....S |
357a0 | 53 4c 45 72 72 6f 72 2e 5f 5f 73 74 72 5f 5f 94 6a 74 1f 00 00 4b 3e 4b 45 87 94 8c 08 53 53 4c | SLError.__str__.jt...K>KE....SSL |
357c0 | 45 72 72 6f 72 94 6a 7d 1f 00 00 4b 38 4b 45 87 94 8c 0d 4d 32 43 72 79 70 74 6f 45 72 72 6f 72 | Error.j}...K8KE....M2CryptoError |
357e0 | 94 6a 7d 1f 00 00 4b 48 4b 49 87 94 75 7d 94 28 8c 0d 4d 32 43 72 79 70 74 6f 45 72 72 6f 72 94 | .j}...KHKI..u}.(..M2CryptoError. |
35800 | 6a 53 02 00 00 8c 08 53 53 4c 45 72 72 6f 72 94 6a 53 02 00 00 8c 09 67 65 74 5f 65 72 72 6f 72 | jS.....SSLError.jS.....get_error |
35820 | 94 6a 53 02 00 00 8c 0e 67 65 74 5f 65 72 72 6f 72 5f 63 6f 64 65 94 6a 53 02 00 00 8c 0e 67 65 | .jS.....get_error_code.jS.....ge |
35840 | 74 5f 65 72 72 6f 72 5f 66 75 6e 63 94 6a 53 02 00 00 8c 0d 67 65 74 5f 65 72 72 6f 72 5f 6c 69 | t_error_func.jS.....get_error_li |
35860 | 62 94 6a 53 02 00 00 8c 11 67 65 74 5f 65 72 72 6f 72 5f 6d 65 73 73 61 67 65 94 6a 53 02 00 00 | b.jS.....get_error_message.jS... |
35880 | 8c 10 67 65 74 5f 65 72 72 6f 72 5f 72 65 61 73 6f 6e 94 6a 53 02 00 00 8c 15 67 65 74 5f 78 35 | ..get_error_reason.jS.....get_x5 |
358a0 | 30 39 5f 76 65 72 69 66 79 5f 65 72 72 6f 72 94 6a 53 02 00 00 8c 0f 70 65 65 6b 5f 65 72 72 6f | 09_verify_error.jS.....peek_erro |
358c0 | 72 5f 63 6f 64 65 94 6a 53 02 00 00 75 8c 0c 4d 32 43 72 79 70 74 6f 2e 45 72 72 94 74 94 8c 0c | r_code.jS...u..M2Crypto.Err.t... |
358e0 | 4d 32 43 72 79 70 74 6f 2e 52 43 34 94 28 58 6a 03 00 00 66 72 6f 6d 20 5f 5f 66 75 74 75 72 65 | M2Crypto.RC4.(Xj...from.__future |
35900 | 5f 5f 20 69 6d 70 6f 72 74 20 61 62 73 6f 6c 75 74 65 5f 69 6d 70 6f 72 74 0a 0a 22 22 22 4d 32 | __.import.absolute_import.."""M2 |
35920 | 43 72 79 70 74 6f 20 77 72 61 70 70 65 72 20 66 6f 72 20 4f 70 65 6e 53 53 4c 20 52 43 34 20 41 | Crypto.wrapper.for.OpenSSL.RC4.A |
35940 | 50 49 2e 0a 0a 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 39 39 2d 32 30 30 33 20 4e 67 20 | PI...Copyright.(c).1999-2003.Ng. |
35960 | 50 68 65 6e 67 20 53 69 6f 6e 67 2e 20 41 6c 6c 20 72 69 67 68 74 73 20 72 65 73 65 72 76 65 64 | Pheng.Siong..All.rights.reserved |
35980 | 2e 22 22 22 0a 0a 66 72 6f 6d 20 4d 32 43 72 79 70 74 6f 2e 6d 32 20 69 6d 70 6f 72 74 20 72 63 | ."""..from.M2Crypto.m2.import.rc |
359a0 | 34 5f 66 72 65 65 2c 20 72 63 34 5f 6e 65 77 2c 20 72 63 34 5f 73 65 74 5f 6b 65 79 2c 20 72 63 | 4_free,.rc4_new,.rc4_set_key,.rc |
359c0 | 34 5f 75 70 64 61 74 65 0a 0a 0a 63 6c 61 73 73 20 52 43 34 28 6f 62 6a 65 63 74 29 3a 0a 20 20 | 4_update...class.RC4(object):... |
359e0 | 20 20 22 22 22 4f 62 6a 65 63 74 20 69 6e 74 65 72 66 61 63 65 20 74 6f 20 74 68 65 20 73 74 72 | .."""Object.interface.to.the.str |
35a00 | 65 61 6d 20 63 69 70 68 65 72 20 52 43 34 2e 22 22 22 0a 0a 20 20 20 20 72 63 34 5f 66 72 65 65 | eam.cipher.RC4."""......rc4_free |
35a20 | 20 3d 20 72 63 34 5f 66 72 65 65 0a 0a 20 20 20 20 64 65 66 20 5f 5f 69 6e 69 74 5f 5f 28 73 65 | .=.rc4_free......def.__init__(se |
35a40 | 6c 66 2c 20 6b 65 79 3d 4e 6f 6e 65 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 | lf,.key=None):.........#.type:.( |
35a60 | 62 79 74 65 73 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 63 69 70 68 | bytes).->.None.........self.ciph |
35a80 | 65 72 20 3d 20 72 63 34 5f 6e 65 77 28 29 0a 20 20 20 20 20 20 20 20 69 66 20 6b 65 79 3a 0a 20 | er.=.rc4_new().........if.key:.. |
35aa0 | 20 20 20 20 20 20 20 20 20 20 20 72 63 34 5f 73 65 74 5f 6b 65 79 28 73 65 6c 66 2e 63 69 70 68 | ...........rc4_set_key(self.ciph |
35ac0 | 65 72 2c 20 6b 65 79 29 0a 0a 20 20 20 20 64 65 66 20 5f 5f 64 65 6c 5f 5f 28 73 65 6c 66 29 3a | er,.key)......def.__del__(self): |
35ae0 | 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 | .........#.type:.().->.None..... |
35b00 | 20 20 20 20 69 66 20 67 65 74 61 74 74 72 28 73 65 6c 66 2c 20 27 63 69 70 68 65 72 27 2c 20 4e | ....if.getattr(self,.'cipher',.N |
35b20 | 6f 6e 65 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 72 63 34 5f 66 72 65 65 28 | one):.............self.rc4_free( |
35b40 | 73 65 6c 66 2e 63 69 70 68 65 72 29 0a 0a 20 20 20 20 64 65 66 20 73 65 74 5f 6b 65 79 28 73 65 | self.cipher)......def.set_key(se |
35b60 | 6c 66 2c 20 6b 65 79 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 62 79 74 65 73 | lf,.key):.........#.type:.(bytes |
35b80 | 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 72 63 34 5f 73 65 74 5f 6b 65 79 28 73 65 | ).->.None.........rc4_set_key(se |
35ba0 | 6c 66 2e 63 69 70 68 65 72 2c 20 6b 65 79 29 0a 0a 20 20 20 20 64 65 66 20 75 70 64 61 74 65 28 | lf.cipher,.key)......def.update( |
35bc0 | 73 65 6c 66 2c 20 64 61 74 61 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 62 79 | self,.data):.........#.type:.(by |
35be0 | 74 65 73 29 20 2d 3e 20 62 79 74 65 73 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 72 63 34 | tes).->.bytes.........return.rc4 |
35c00 | 5f 75 70 64 61 74 65 28 73 65 6c 66 2e 63 69 70 68 65 72 2c 20 64 61 74 61 29 0a 0a 20 20 20 20 | _update(self.cipher,.data)...... |
35c20 | 64 65 66 20 66 69 6e 61 6c 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a | def.final(self):.........#.type: |
35c40 | 20 28 29 20 2d 3e 20 73 74 72 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 27 27 0a 94 7d 94 | .().->.str.........return.''..}. |
35c60 | 28 8c 0c 52 43 34 2e 5f 5f 69 6e 69 74 5f 5f 94 6a 74 1f 00 00 4b 0f 4b 13 87 94 8c 0b 52 43 34 | (..RC4.__init__.jt...K.K.....RC4 |
35c80 | 2e 5f 5f 64 65 6c 5f 5f 94 6a 74 1f 00 00 4b 15 4b 18 87 94 8c 0b 52 43 34 2e 73 65 74 5f 6b 65 | .__del__.jt...K.K.....RC4.set_ke |
35ca0 | 79 94 6a 74 1f 00 00 4b 1a 4b 1c 87 94 8c 0a 52 43 34 2e 75 70 64 61 74 65 94 6a 74 1f 00 00 4b | y.jt...K.K.....RC4.update.jt...K |
35cc0 | 1e 4b 20 87 94 8c 09 52 43 34 2e 66 69 6e 61 6c 94 6a 74 1f 00 00 4b 22 4b 24 87 94 8c 03 52 43 | .K.....RC4.final.jt...K"K$....RC |
35ce0 | 34 94 6a 7d 1f 00 00 4b 0a 4b 24 87 94 75 7d 94 28 8c 03 52 43 34 94 6a 53 02 00 00 8c 09 52 43 | 4.j}...K.K$..u}.(..RC4.jS.....RC |
35d00 | 34 2e 66 69 6e 61 6c 94 6a 53 02 00 00 8c 0b 52 43 34 2e 73 65 74 5f 6b 65 79 94 6a 53 02 00 00 | 4.final.jS.....RC4.set_key.jS... |
35d20 | 8c 0a 52 43 34 2e 75 70 64 61 74 65 94 6a 53 02 00 00 75 8c 0c 4d 32 43 72 79 70 74 6f 2e 52 43 | ..RC4.update.jS...u..M2Crypto.RC |
35d40 | 34 94 74 94 8c 0c 4d 32 43 72 79 70 74 6f 2e 52 53 41 94 28 58 8d 38 00 00 66 72 6f 6d 20 5f 5f | 4.t...M2Crypto.RSA.(X.8..from.__ |
35d60 | 66 75 74 75 72 65 5f 5f 20 69 6d 70 6f 72 74 20 61 62 73 6f 6c 75 74 65 5f 69 6d 70 6f 72 74 0a | future__.import.absolute_import. |
35d80 | 0a 22 22 22 4d 32 43 72 79 70 74 6f 20 77 72 61 70 70 65 72 20 66 6f 72 20 4f 70 65 6e 53 53 4c | ."""M2Crypto.wrapper.for.OpenSSL |
35da0 | 20 52 53 41 20 41 50 49 2e 0a 0a 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 39 39 2d 32 30 | .RSA.API...Copyright.(c).1999-20 |
35dc0 | 30 34 20 4e 67 20 50 68 65 6e 67 20 53 69 6f 6e 67 2e 20 41 6c 6c 20 72 69 67 68 74 73 20 72 65 | 04.Ng.Pheng.Siong..All.rights.re |
35de0 | 73 65 72 76 65 64 2e 22 22 22 0a 0a 69 6d 70 6f 72 74 20 73 79 73 0a 0a 66 72 6f 6d 20 4d 32 43 | served."""..import.sys..from.M2C |
35e00 | 72 79 70 74 6f 20 69 6d 70 6f 72 74 20 42 49 4f 2c 20 45 72 72 2c 20 6d 32 2c 20 75 74 69 6c 0a | rypto.import.BIO,.Err,.m2,.util. |
35e20 | 69 66 20 75 74 69 6c 2e 70 79 32 37 70 6c 75 73 3a 0a 20 20 20 20 66 72 6f 6d 20 74 79 70 69 6e | if.util.py27plus:.....from.typin |
35e40 | 67 20 69 6d 70 6f 72 74 20 41 6e 79 2c 20 41 6e 79 53 74 72 2c 20 43 61 6c 6c 61 62 6c 65 2c 20 | g.import.Any,.AnyStr,.Callable,. |
35e60 | 44 69 63 74 2c 20 4c 69 73 74 2c 20 49 4f 2c 20 4f 70 74 69 6f 6e 61 6c 2c 20 54 75 70 6c 65 20 | Dict,.List,.IO,.Optional,.Tuple. |
35e80 | 20 23 20 6e 6f 71 61 0a 0a 0a 63 6c 61 73 73 20 52 53 41 45 72 72 6f 72 28 45 78 63 65 70 74 69 | .#.noqa...class.RSAError(Excepti |
35ea0 | 6f 6e 29 3a 0a 20 20 20 20 70 61 73 73 0a 0a 6d 32 2e 72 73 61 5f 69 6e 69 74 28 52 53 41 45 72 | on):.....pass..m2.rsa_init(RSAEr |
35ec0 | 72 6f 72 29 0a 0a 6e 6f 5f 70 61 64 64 69 6e 67 20 3d 20 6d 32 2e 6e 6f 5f 70 61 64 64 69 6e 67 | ror)..no_padding.=.m2.no_padding |
35ee0 | 0a 70 6b 63 73 31 5f 70 61 64 64 69 6e 67 20 3d 20 6d 32 2e 70 6b 63 73 31 5f 70 61 64 64 69 6e | .pkcs1_padding.=.m2.pkcs1_paddin |
35f00 | 67 0a 73 73 6c 76 32 33 5f 70 61 64 64 69 6e 67 20 3d 20 6d 32 2e 73 73 6c 76 32 33 5f 70 61 64 | g.sslv23_padding.=.m2.sslv23_pad |
35f20 | 64 69 6e 67 0a 70 6b 63 73 31 5f 6f 61 65 70 5f 70 61 64 64 69 6e 67 20 3d 20 6d 32 2e 70 6b 63 | ding.pkcs1_oaep_padding.=.m2.pkc |
35f40 | 73 31 5f 6f 61 65 70 5f 70 61 64 64 69 6e 67 0a 0a 0a 63 6c 61 73 73 20 52 53 41 28 6f 62 6a 65 | s1_oaep_padding...class.RSA(obje |
35f60 | 63 74 29 3a 0a 20 20 20 20 22 22 22 0a 20 20 20 20 52 53 41 20 4b 65 79 20 50 61 69 72 2e 0a 20 | ct):.....""".....RSA.Key.Pair... |
35f80 | 20 20 20 22 22 22 0a 0a 20 20 20 20 6d 32 5f 72 73 61 5f 66 72 65 65 20 3d 20 6d 32 2e 72 73 61 | ..."""......m2_rsa_free.=.m2.rsa |
35fa0 | 5f 66 72 65 65 0a 0a 20 20 20 20 64 65 66 20 5f 5f 69 6e 69 74 5f 5f 28 73 65 6c 66 2c 20 72 73 | _free......def.__init__(self,.rs |
35fc0 | 61 2c 20 5f 70 79 66 72 65 65 3d 30 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 | a,._pyfree=0):.........#.type:.( |
35fe0 | 62 79 74 65 73 2c 20 69 6e 74 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 22 22 22 0a | bytes,.int).->.None.........""". |
36000 | 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 72 73 61 3a 20 62 69 6e 61 72 79 20 72 65 70 72 65 | ........:param.rsa:.binary.repre |
36020 | 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20 4f 70 65 6e 53 53 4c 20 52 53 41 20 74 79 70 65 0a 20 20 | sentation.of.OpenSSL.RSA.type... |
36040 | 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 20 6d 32 2e 72 73 61 5f | ......""".........assert.m2.rsa_ |
36060 | 74 79 70 65 5f 63 68 65 63 6b 28 72 73 61 29 2c 20 22 27 72 73 61 27 20 74 79 70 65 20 65 72 72 | type_check(rsa),."'rsa'.type.err |
36080 | 6f 72 22 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 72 73 61 20 3d 20 72 73 61 0a 20 20 20 20 20 | or".........self.rsa.=.rsa...... |
360a0 | 20 20 20 73 65 6c 66 2e 5f 70 79 66 72 65 65 20 3d 20 5f 70 79 66 72 65 65 0a 0a 20 20 20 20 64 | ...self._pyfree.=._pyfree......d |
360c0 | 65 66 20 5f 5f 64 65 6c 5f 5f 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 | ef.__del__(self):.........#.type |
360e0 | 3a 20 28 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 69 66 20 67 65 74 61 74 74 72 28 | :.().->.None.........if.getattr( |
36100 | 73 65 6c 66 2c 20 27 5f 70 79 66 72 65 65 27 2c 20 30 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 | self,.'_pyfree',.0):............ |
36120 | 20 73 65 6c 66 2e 6d 32 5f 72 73 61 5f 66 72 65 65 28 73 65 6c 66 2e 72 73 61 29 0a 0a 20 20 20 | .self.m2_rsa_free(self.rsa)..... |
36140 | 20 64 65 66 20 5f 5f 6c 65 6e 5f 5f 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 | .def.__len__(self):.........#.ty |
36160 | 70 65 3a 20 28 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 69 6e 74 | pe:.().->.int.........return.int |
36180 | 28 6d 32 2e 72 73 61 5f 73 69 7a 65 28 73 65 6c 66 2e 72 73 61 29 20 3c 3c 20 33 29 0a 0a 20 20 | (m2.rsa_size(self.rsa).<<.3).... |
361a0 | 20 20 64 65 66 20 5f 5f 67 65 74 61 74 74 72 5f 5f 28 73 65 6c 66 2c 20 6e 61 6d 65 29 3a 0a 20 | ..def.__getattr__(self,.name):.. |
361c0 | 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 73 74 72 29 20 2d 3e 20 62 79 74 65 73 0a 20 20 | .......#.type:.(str).->.bytes... |
361e0 | 20 20 20 20 20 20 69 66 20 6e 61 6d 65 20 3d 3d 20 27 65 27 3a 0a 20 20 20 20 20 20 20 20 20 20 | ......if.name.==.'e':........... |
36200 | 20 20 72 65 74 75 72 6e 20 6d 32 2e 72 73 61 5f 67 65 74 5f 65 28 73 65 6c 66 2e 72 73 61 29 0a | ..return.m2.rsa_get_e(self.rsa). |
36220 | 20 20 20 20 20 20 20 20 65 6c 69 66 20 6e 61 6d 65 20 3d 3d 20 27 6e 27 3a 0a 20 20 20 20 20 20 | ........elif.name.==.'n':....... |
36240 | 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 72 73 61 5f 67 65 74 5f 6e 28 73 65 6c 66 2e 72 | ......return.m2.rsa_get_n(self.r |
36260 | 73 61 29 0a 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 61 | sa).........else:.............ra |
36280 | 69 73 65 20 41 74 74 72 69 62 75 74 65 45 72 72 6f 72 0a 0a 20 20 20 20 64 65 66 20 70 75 62 28 | ise.AttributeError......def.pub( |
362a0 | 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 54 75 70 | self):.........#.type:.().->.Tup |
362c0 | 6c 65 5b 62 79 74 65 73 2c 20 62 79 74 65 73 5d 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 20 | le[bytes,.bytes].........assert. |
362e0 | 73 65 6c 66 2e 63 68 65 63 6b 5f 6b 65 79 28 29 2c 20 27 6b 65 79 20 69 73 20 6e 6f 74 20 69 6e | self.check_key(),.'key.is.not.in |
36300 | 69 74 69 61 6c 69 73 65 64 27 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 72 73 61 | itialised'.........return.m2.rsa |
36320 | 5f 67 65 74 5f 65 28 73 65 6c 66 2e 72 73 61 29 2c 20 6d 32 2e 72 73 61 5f 67 65 74 5f 6e 28 73 | _get_e(self.rsa),.m2.rsa_get_n(s |
36340 | 65 6c 66 2e 72 73 61 29 0a 0a 20 20 20 20 64 65 66 20 70 75 62 6c 69 63 5f 65 6e 63 72 79 70 74 | elf.rsa)......def.public_encrypt |
36360 | 28 73 65 6c 66 2c 20 64 61 74 61 2c 20 70 61 64 64 69 6e 67 29 3a 0a 20 20 20 20 20 20 20 20 23 | (self,.data,.padding):.........# |
36380 | 20 74 79 70 65 3a 20 28 62 79 74 65 73 2c 20 69 6e 74 29 20 2d 3e 20 62 79 74 65 73 0a 20 20 20 | .type:.(bytes,.int).->.bytes.... |
363a0 | 20 20 20 20 20 61 73 73 65 72 74 20 73 65 6c 66 2e 63 68 65 63 6b 5f 6b 65 79 28 29 2c 20 27 6b | .....assert.self.check_key(),.'k |
363c0 | 65 79 20 69 73 20 6e 6f 74 20 69 6e 69 74 69 61 6c 69 73 65 64 27 0a 20 20 20 20 20 20 20 20 72 | ey.is.not.initialised'.........r |
363e0 | 65 74 75 72 6e 20 6d 32 2e 72 73 61 5f 70 75 62 6c 69 63 5f 65 6e 63 72 79 70 74 28 73 65 6c 66 | eturn.m2.rsa_public_encrypt(self |
36400 | 2e 72 73 61 2c 20 64 61 74 61 2c 20 70 61 64 64 69 6e 67 29 0a 0a 20 20 20 20 64 65 66 20 70 75 | .rsa,.data,.padding)......def.pu |
36420 | 62 6c 69 63 5f 64 65 63 72 79 70 74 28 73 65 6c 66 2c 20 64 61 74 61 2c 20 70 61 64 64 69 6e 67 | blic_decrypt(self,.data,.padding |
36440 | 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 62 79 74 65 73 2c 20 69 6e 74 29 20 | ):.........#.type:.(bytes,.int). |
36460 | 2d 3e 20 62 79 74 65 73 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 20 73 65 6c 66 2e 63 68 65 | ->.bytes.........assert.self.che |
36480 | 63 6b 5f 6b 65 79 28 29 2c 20 27 6b 65 79 20 69 73 20 6e 6f 74 20 69 6e 69 74 69 61 6c 69 73 65 | ck_key(),.'key.is.not.initialise |
364a0 | 64 27 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 72 73 61 5f 70 75 62 6c 69 63 5f | d'.........return.m2.rsa_public_ |
364c0 | 64 65 63 72 79 70 74 28 73 65 6c 66 2e 72 73 61 2c 20 64 61 74 61 2c 20 70 61 64 64 69 6e 67 29 | decrypt(self.rsa,.data,.padding) |
364e0 | 0a 0a 20 20 20 20 64 65 66 20 70 72 69 76 61 74 65 5f 65 6e 63 72 79 70 74 28 73 65 6c 66 2c 20 | ......def.private_encrypt(self,. |
36500 | 64 61 74 61 2c 20 70 61 64 64 69 6e 67 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 | data,.padding):.........#.type:. |
36520 | 28 62 79 74 65 73 2c 20 69 6e 74 29 20 2d 3e 20 62 79 74 65 73 0a 20 20 20 20 20 20 20 20 61 73 | (bytes,.int).->.bytes.........as |
36540 | 73 65 72 74 20 73 65 6c 66 2e 63 68 65 63 6b 5f 6b 65 79 28 29 2c 20 27 6b 65 79 20 69 73 20 6e | sert.self.check_key(),.'key.is.n |
36560 | 6f 74 20 69 6e 69 74 69 61 6c 69 73 65 64 27 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d | ot.initialised'.........return.m |
36580 | 32 2e 72 73 61 5f 70 72 69 76 61 74 65 5f 65 6e 63 72 79 70 74 28 73 65 6c 66 2e 72 73 61 2c 20 | 2.rsa_private_encrypt(self.rsa,. |
365a0 | 64 61 74 61 2c 20 70 61 64 64 69 6e 67 29 0a 0a 20 20 20 20 64 65 66 20 70 72 69 76 61 74 65 5f | data,.padding)......def.private_ |
365c0 | 64 65 63 72 79 70 74 28 73 65 6c 66 2c 20 64 61 74 61 2c 20 70 61 64 64 69 6e 67 29 3a 0a 20 20 | decrypt(self,.data,.padding):... |
365e0 | 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 62 79 74 65 73 2c 20 69 6e 74 29 20 2d 3e 20 62 79 | ......#.type:.(bytes,.int).->.by |
36600 | 74 65 73 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 20 73 65 6c 66 2e 63 68 65 63 6b 5f 6b 65 | tes.........assert.self.check_ke |
36620 | 79 28 29 2c 20 27 6b 65 79 20 69 73 20 6e 6f 74 20 69 6e 69 74 69 61 6c 69 73 65 64 27 0a 20 20 | y(),.'key.is.not.initialised'... |
36640 | 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 72 73 61 5f 70 72 69 76 61 74 65 5f 64 65 63 72 | ......return.m2.rsa_private_decr |
36660 | 79 70 74 28 73 65 6c 66 2e 72 73 61 2c 20 64 61 74 61 2c 20 70 61 64 64 69 6e 67 29 0a 0a 20 20 | ypt(self.rsa,.data,.padding).... |
36680 | 20 20 64 65 66 20 73 61 76 65 5f 6b 65 79 5f 62 69 6f 28 73 65 6c 66 2c 20 62 69 6f 2c 20 63 69 | ..def.save_key_bio(self,.bio,.ci |
366a0 | 70 68 65 72 3d 27 61 65 73 5f 31 32 38 5f 63 62 63 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 | pher='aes_128_cbc',............. |
366c0 | 20 20 20 20 20 20 20 20 20 63 61 6c 6c 62 61 63 6b 3d 75 74 69 6c 2e 70 61 73 73 70 68 72 61 73 | .........callback=util.passphras |
366e0 | 65 5f 63 61 6c 6c 62 61 63 6b 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 42 49 | e_callback):.........#.type:.(BI |
36700 | 4f 2e 42 49 4f 2c 20 4f 70 74 69 6f 6e 61 6c 5b 73 74 72 5d 2c 20 43 61 6c 6c 61 62 6c 65 29 20 | O.BIO,.Optional[str],.Callable). |
36720 | 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 53 61 76 65 20 | ->.int.........""".........Save. |
36740 | 74 68 65 20 6b 65 79 20 70 61 69 72 20 74 6f 20 61 6e 20 4d 32 43 72 79 70 74 6f 2e 42 49 4f 2e | the.key.pair.to.an.M2Crypto.BIO. |
36760 | 42 49 4f 20 6f 62 6a 65 63 74 20 69 6e 20 50 45 4d 20 66 6f 72 6d 61 74 2e 0a 0a 20 20 20 20 20 | BIO.object.in.PEM.format........ |
36780 | 20 20 20 3a 70 61 72 61 6d 20 62 69 6f 3a 20 4d 32 43 72 79 70 74 6f 2e 42 49 4f 2e 42 49 4f 20 | ...:param.bio:.M2Crypto.BIO.BIO. |
367a0 | 6f 62 6a 65 63 74 20 74 6f 20 73 61 76 65 20 6b 65 79 20 74 6f 2e 0a 0a 20 20 20 20 20 20 20 20 | object.to.save.key.to........... |
367c0 | 3a 70 61 72 61 6d 20 63 69 70 68 65 72 3a 20 53 79 6d 6d 65 74 72 69 63 20 63 69 70 68 65 72 20 | :param.cipher:.Symmetric.cipher. |
367e0 | 74 6f 20 70 72 6f 74 65 63 74 20 74 68 65 20 6b 65 79 2e 20 54 68 65 20 64 65 66 61 75 6c 74 0a | to.protect.the.key..The.default. |
36800 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 69 70 68 65 72 20 69 73 | .......................cipher.is |
36820 | 20 27 61 65 73 5f 31 32 38 5f 63 62 63 27 2e 20 49 66 20 63 69 70 68 65 72 20 69 73 20 4e 6f 6e | .'aes_128_cbc'..If.cipher.is.Non |
36840 | 65 2c 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 | e,.then........................t |
36860 | 68 65 20 6b 65 79 20 69 73 20 73 61 76 65 64 20 69 6e 20 74 68 65 20 63 6c 65 61 72 2e 0a 0a 20 | he.key.is.saved.in.the.clear.... |
36880 | 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 63 61 6c 6c 62 61 63 6b 3a 20 41 20 50 79 74 68 6f 6e | .......:param.callback:.A.Python |
368a0 | 20 63 61 6c 6c 61 62 6c 65 20 6f 62 6a 65 63 74 20 74 68 61 74 20 69 73 20 69 6e 76 6f 6b 65 64 | .callable.object.that.is.invoked |
368c0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 6f 20 61 63 71 | ..........................to.acq |
368e0 | 75 69 72 65 20 61 20 70 61 73 73 70 68 72 61 73 65 20 77 69 74 68 20 77 68 69 63 68 20 74 6f 20 | uire.a.passphrase.with.which.to. |
36900 | 70 72 6f 74 65 63 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | protect......................... |
36920 | 20 74 68 65 20 6b 65 79 2e 20 20 54 68 65 20 64 65 66 61 75 6c 74 20 69 73 0a 20 20 20 20 20 20 | .the.key...The.default.is....... |
36940 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 74 69 6c 2e 70 61 73 73 70 68 72 61 | ...................util.passphra |
36960 | 73 65 5f 63 61 6c 6c 62 61 63 6b 2e 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 | se_callback.........."""........ |
36980 | 20 69 66 20 63 69 70 68 65 72 20 69 73 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 | .if.cipher.is.None:............. |
369a0 | 72 65 74 75 72 6e 20 6d 32 2e 72 73 61 5f 77 72 69 74 65 5f 6b 65 79 5f 6e 6f 5f 63 69 70 68 65 | return.m2.rsa_write_key_no_ciphe |
369c0 | 72 28 73 65 6c 66 2e 72 73 61 2c 20 62 69 6f 2e 5f 70 74 72 28 29 2c 20 63 61 6c 6c 62 61 63 6b | r(self.rsa,.bio._ptr(),.callback |
369e0 | 29 0a 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 69 70 68 | ).........else:.............ciph |
36a00 | 20 3d 20 67 65 74 61 74 74 72 28 6d 32 2c 20 63 69 70 68 65 72 2c 20 4e 6f 6e 65 29 0a 20 20 20 | .=.getattr(m2,.cipher,.None).... |
36a20 | 20 20 20 20 20 20 20 20 20 69 66 20 63 69 70 68 20 69 73 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 | .........if.ciph.is.None:....... |
36a40 | 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 52 53 41 45 72 72 6f 72 28 27 6e 6f 74 20 73 75 | ..........raise.RSAError('not.su |
36a60 | 63 68 20 63 69 70 68 65 72 20 25 73 27 20 25 20 63 69 70 68 65 72 29 0a 20 20 20 20 20 20 20 20 | ch.cipher.%s'.%.cipher)......... |
36a80 | 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 69 70 68 20 3d | ....else:.................ciph.= |
36aa0 | 20 63 69 70 68 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 72 73 | .ciph().............return.m2.rs |
36ac0 | 61 5f 77 72 69 74 65 5f 6b 65 79 28 73 65 6c 66 2e 72 73 61 2c 20 62 69 6f 2e 5f 70 74 72 28 29 | a_write_key(self.rsa,.bio._ptr() |
36ae0 | 2c 20 63 69 70 68 2c 20 63 61 6c 6c 62 61 63 6b 29 0a 0a 20 20 20 20 64 65 66 20 73 61 76 65 5f | ,.ciph,.callback)......def.save_ |
36b00 | 6b 65 79 28 73 65 6c 66 2c 20 66 69 6c 65 2c 20 63 69 70 68 65 72 3d 27 61 65 73 5f 31 32 38 5f | key(self,.file,.cipher='aes_128_ |
36b20 | 63 62 63 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 6c 6c 62 61 63 6b 3d | cbc',..................callback= |
36b40 | 75 74 69 6c 2e 70 61 73 73 70 68 72 61 73 65 5f 63 61 6c 6c 62 61 63 6b 29 3a 0a 20 20 20 20 20 | util.passphrase_callback):...... |
36b60 | 20 20 20 23 20 74 79 70 65 3a 20 28 41 6e 79 53 74 72 2c 20 4f 70 74 69 6f 6e 61 6c 5b 73 74 72 | ...#.type:.(AnyStr,.Optional[str |
36b80 | 5d 2c 20 43 61 6c 6c 61 62 6c 65 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 22 22 22 0a | ],.Callable).->.int.........""". |
36ba0 | 20 20 20 20 20 20 20 20 53 61 76 65 20 74 68 65 20 6b 65 79 20 70 61 69 72 20 74 6f 20 61 20 66 | ........Save.the.key.pair.to.a.f |
36bc0 | 69 6c 65 20 69 6e 20 50 45 4d 20 66 6f 72 6d 61 74 2e 0a 0a 20 20 20 20 20 20 20 20 3a 70 61 72 | ile.in.PEM.format...........:par |
36be0 | 61 6d 20 66 69 6c 65 3a 20 4e 61 6d 65 20 6f 66 20 66 69 6c 65 20 74 6f 20 73 61 76 65 20 6b 65 | am.file:.Name.of.file.to.save.ke |
36c00 | 79 20 74 6f 2e 0a 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 63 69 70 68 65 72 3a 20 53 79 | y.to...........:param.cipher:.Sy |
36c20 | 6d 6d 65 74 72 69 63 20 63 69 70 68 65 72 20 74 6f 20 70 72 6f 74 65 63 74 20 74 68 65 20 6b 65 | mmetric.cipher.to.protect.the.ke |
36c40 | 79 2e 20 54 68 65 20 64 65 66 61 75 6c 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | y..The.default.................. |
36c60 | 20 20 20 20 20 20 63 69 70 68 65 72 20 69 73 20 27 61 65 73 5f 31 32 38 5f 63 62 63 27 2e 20 49 | ......cipher.is.'aes_128_cbc'..I |
36c80 | 66 20 63 69 70 68 65 72 20 69 73 20 4e 6f 6e 65 2c 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 | f.cipher.is.None,.then.......... |
36ca0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 65 20 6b 65 79 20 69 73 20 73 61 76 65 64 20 69 | ..............the.key.is.saved.i |
36cc0 | 6e 20 74 68 65 20 63 6c 65 61 72 2e 0a 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 63 61 6c | n.the.clear...........:param.cal |
36ce0 | 6c 62 61 63 6b 3a 20 41 20 50 79 74 68 6f 6e 20 63 61 6c 6c 61 62 6c 65 20 6f 62 6a 65 63 74 20 | lback:.A.Python.callable.object. |
36d00 | 74 68 61 74 20 69 73 20 69 6e 76 6f 6b 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | that.is.invoked................. |
36d20 | 20 20 20 20 20 20 20 20 20 74 6f 20 61 63 71 75 69 72 65 20 61 20 70 61 73 73 70 68 72 61 73 65 | .........to.acquire.a.passphrase |
36d40 | 20 77 69 74 68 20 77 68 69 63 68 20 74 6f 20 70 72 6f 74 65 63 74 0a 20 20 20 20 20 20 20 20 20 | .with.which.to.protect.......... |
36d60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 65 20 6b 65 79 2e 20 20 54 68 65 20 64 65 | ................the.key...The.de |
36d80 | 66 61 75 6c 74 20 69 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | fault.is........................ |
36da0 | 20 20 75 74 69 6c 2e 70 61 73 73 70 68 72 61 73 65 5f 63 61 6c 6c 62 61 63 6b 2e 0a 20 20 20 20 | ..util.passphrase_callback...... |
36dc0 | 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 77 69 74 68 20 42 49 4f 2e 6f 70 65 6e 66 69 6c | ....""".........with.BIO.openfil |
36de0 | 65 28 66 69 6c 65 2c 20 27 77 62 27 29 20 61 73 20 62 69 6f 3a 0a 20 20 20 20 20 20 20 20 20 20 | e(file,.'wb').as.bio:........... |
36e00 | 20 20 72 65 74 75 72 6e 20 73 65 6c 66 2e 73 61 76 65 5f 6b 65 79 5f 62 69 6f 28 62 69 6f 2c 20 | ..return.self.save_key_bio(bio,. |
36e20 | 63 69 70 68 65 72 2c 20 63 61 6c 6c 62 61 63 6b 29 0a 0a 20 20 20 20 73 61 76 65 5f 70 65 6d 20 | cipher,.callback)......save_pem. |
36e40 | 3d 20 73 61 76 65 5f 6b 65 79 0a 0a 20 20 20 20 64 65 66 20 61 73 5f 70 65 6d 28 73 65 6c 66 2c | =.save_key......def.as_pem(self, |
36e60 | 20 63 69 70 68 65 72 3d 27 61 65 73 5f 31 32 38 5f 63 62 63 27 2c 20 63 61 6c 6c 62 61 63 6b 3d | .cipher='aes_128_cbc',.callback= |
36e80 | 75 74 69 6c 2e 70 61 73 73 70 68 72 61 73 65 5f 63 61 6c 6c 62 61 63 6b 29 3a 0a 20 20 20 20 20 | util.passphrase_callback):...... |
36ea0 | 20 20 20 23 20 74 79 70 65 3a 20 28 4f 70 74 69 6f 6e 61 6c 5b 73 74 72 5d 2c 20 43 61 6c 6c 61 | ...#.type:.(Optional[str],.Calla |
36ec0 | 62 6c 65 29 20 2d 3e 20 62 79 74 65 73 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 | ble).->.bytes........."""....... |
36ee0 | 20 20 52 65 74 75 72 6e 73 20 74 68 65 20 6b 65 79 28 70 61 69 72 29 20 61 73 20 61 20 73 74 72 | ..Returns.the.key(pair).as.a.str |
36f00 | 69 6e 67 20 69 6e 20 50 45 4d 20 66 6f 72 6d 61 74 2e 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 | ing.in.PEM.format..........""".. |
36f20 | 20 20 20 20 20 20 20 62 69 6f 20 3d 20 42 49 4f 2e 4d 65 6d 6f 72 79 42 75 66 66 65 72 28 29 0a | .......bio.=.BIO.MemoryBuffer(). |
36f40 | 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 61 76 65 5f 6b 65 79 5f 62 69 6f 28 62 69 6f 2c 20 63 | ........self.save_key_bio(bio,.c |
36f60 | 69 70 68 65 72 2c 20 63 61 6c 6c 62 61 63 6b 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 | ipher,.callback).........return. |
36f80 | 62 69 6f 2e 72 65 61 64 28 29 0a 0a 20 20 20 20 64 65 66 20 73 61 76 65 5f 6b 65 79 5f 64 65 72 | bio.read()......def.save_key_der |
36fa0 | 5f 62 69 6f 28 73 65 6c 66 2c 20 62 69 6f 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a | _bio(self,.bio):.........#.type: |
36fc0 | 20 28 42 49 4f 2e 42 49 4f 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 | .(BIO.BIO).->.int........."""... |
36fe0 | 20 20 20 20 20 20 53 61 76 65 20 74 68 65 20 6b 65 79 20 70 61 69 72 20 74 6f 20 61 6e 20 4d 32 | ......Save.the.key.pair.to.an.M2 |
37000 | 43 72 79 70 74 6f 2e 42 49 4f 2e 42 49 4f 20 6f 62 6a 65 63 74 20 69 6e 20 44 45 52 20 66 6f 72 | Crypto.BIO.BIO.object.in.DER.for |
37020 | 6d 61 74 2e 0a 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 62 69 6f 3a 20 4d 32 43 72 79 70 | mat...........:param.bio:.M2Cryp |
37040 | 74 6f 2e 42 49 4f 2e 42 49 4f 20 6f 62 6a 65 63 74 20 74 6f 20 73 61 76 65 20 6b 65 79 20 74 6f | to.BIO.BIO.object.to.save.key.to |
37060 | 2e 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e | ..........""".........return.m2. |
37080 | 72 73 61 5f 77 72 69 74 65 5f 6b 65 79 5f 64 65 72 28 73 65 6c 66 2e 72 73 61 2c 20 62 69 6f 2e | rsa_write_key_der(self.rsa,.bio. |
370a0 | 5f 70 74 72 28 29 29 0a 0a 20 20 20 20 64 65 66 20 73 61 76 65 5f 6b 65 79 5f 64 65 72 28 73 65 | _ptr())......def.save_key_der(se |
370c0 | 6c 66 2c 20 66 69 6c 65 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 41 6e 79 53 | lf,.file):.........#.type:.(AnyS |
370e0 | 74 72 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 53 | tr).->.int.........""".........S |
37100 | 61 76 65 20 74 68 65 20 6b 65 79 20 70 61 69 72 20 74 6f 20 61 20 66 69 6c 65 20 69 6e 20 44 45 | ave.the.key.pair.to.a.file.in.DE |
37120 | 52 20 66 6f 72 6d 61 74 2e 0a 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 66 69 6c 65 3a 20 | R.format...........:param.file:. |
37140 | 46 69 6c 65 6e 61 6d 65 20 74 6f 20 73 61 76 65 20 6b 65 79 20 74 6f 0a 20 20 20 20 20 20 20 20 | Filename.to.save.key.to......... |
37160 | 22 22 22 0a 20 20 20 20 20 20 20 20 77 69 74 68 20 42 49 4f 2e 6f 70 65 6e 66 69 6c 65 28 66 69 | """.........with.BIO.openfile(fi |
37180 | 6c 65 2c 20 27 77 62 27 29 20 61 73 20 62 69 6f 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 | le,.'wb').as.bio:.............re |
371a0 | 74 75 72 6e 20 73 65 6c 66 2e 73 61 76 65 5f 6b 65 79 5f 64 65 72 5f 62 69 6f 28 62 69 6f 29 0a | turn.self.save_key_der_bio(bio). |
371c0 | 0a 20 20 20 20 64 65 66 20 73 61 76 65 5f 70 75 62 5f 6b 65 79 5f 62 69 6f 28 73 65 6c 66 2c 20 | .....def.save_pub_key_bio(self,. |
371e0 | 62 69 6f 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 42 49 4f 2e 42 49 4f 29 20 | bio):.........#.type:.(BIO.BIO). |
37200 | 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 53 61 76 65 20 | ->.int.........""".........Save. |
37220 | 74 68 65 20 70 75 62 6c 69 63 20 6b 65 79 20 74 6f 20 61 6e 20 4d 32 43 72 79 70 74 6f 2e 42 49 | the.public.key.to.an.M2Crypto.BI |
37240 | 4f 2e 42 49 4f 20 6f 62 6a 65 63 74 20 69 6e 20 50 45 4d 20 66 6f 72 6d 61 74 2e 0a 0a 20 20 20 | O.BIO.object.in.PEM.format...... |
37260 | 20 20 20 20 20 3a 70 61 72 61 6d 20 62 69 6f 3a 20 4d 32 43 72 79 70 74 6f 2e 42 49 4f 2e 42 49 | .....:param.bio:.M2Crypto.BIO.BI |
37280 | 4f 20 6f 62 6a 65 63 74 20 74 6f 20 73 61 76 65 20 6b 65 79 20 74 6f 2e 0a 20 20 20 20 20 20 20 | O.object.to.save.key.to......... |
372a0 | 20 22 22 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 72 73 61 5f 77 72 69 74 65 | .""".........return.m2.rsa_write |
372c0 | 5f 70 75 62 5f 6b 65 79 28 73 65 6c 66 2e 72 73 61 2c 20 62 69 6f 2e 5f 70 74 72 28 29 29 0a 0a | _pub_key(self.rsa,.bio._ptr()).. |
372e0 | 20 20 20 20 64 65 66 20 73 61 76 65 5f 70 75 62 5f 6b 65 79 28 73 65 6c 66 2c 20 66 69 6c 65 29 | ....def.save_pub_key(self,.file) |
37300 | 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 41 6e 79 53 74 72 29 20 2d 3e 20 69 6e | :.........#.type:.(AnyStr).->.in |
37320 | 74 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 53 61 76 65 20 74 68 65 20 70 | t.........""".........Save.the.p |
37340 | 75 62 6c 69 63 20 6b 65 79 20 74 6f 20 61 20 66 69 6c 65 20 69 6e 20 50 45 4d 20 66 6f 72 6d 61 | ublic.key.to.a.file.in.PEM.forma |
37360 | 74 2e 0a 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 66 69 6c 65 3a 20 4e 61 6d 65 20 6f 66 | t...........:param.file:.Name.of |
37380 | 20 66 69 6c 65 20 74 6f 20 73 61 76 65 20 6b 65 79 20 74 6f 2e 0a 20 20 20 20 20 20 20 20 22 22 | .file.to.save.key.to.........."" |
373a0 | 22 0a 20 20 20 20 20 20 20 20 77 69 74 68 20 42 49 4f 2e 6f 70 65 6e 66 69 6c 65 28 66 69 6c 65 | ".........with.BIO.openfile(file |
373c0 | 2c 20 27 77 62 27 29 20 61 73 20 62 69 6f 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 | ,.'wb').as.bio:.............retu |
373e0 | 72 6e 20 6d 32 2e 72 73 61 5f 77 72 69 74 65 5f 70 75 62 5f 6b 65 79 28 73 65 6c 66 2e 72 73 61 | rn.m2.rsa_write_pub_key(self.rsa |
37400 | 2c 20 62 69 6f 2e 5f 70 74 72 28 29 29 0a 0a 20 20 20 20 64 65 66 20 63 68 65 63 6b 5f 6b 65 79 | ,.bio._ptr())......def.check_key |
37420 | 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 69 6e | (self):.........#.type:.().->.in |
37440 | 74 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 56 61 6c 69 64 61 74 65 20 52 | t.........""".........Validate.R |
37460 | 53 41 20 6b 65 79 73 2e 0a 0a 20 20 20 20 20 20 20 20 49 74 20 63 68 65 63 6b 73 20 74 68 61 74 | SA.keys...........It.checks.that |
37480 | 20 70 20 61 6e 64 20 71 20 61 72 65 20 69 6e 20 66 61 63 74 20 70 72 69 6d 65 2c 20 61 6e 64 20 | .p.and.q.are.in.fact.prime,.and. |
374a0 | 74 68 61 74 20 6e 20 3d 20 70 2a 71 2e 0a 0a 20 20 20 20 20 20 20 20 3a 72 65 74 75 72 6e 3a 20 | that.n.=.p*q...........:return:. |
374c0 | 72 65 74 75 72 6e 73 20 31 20 69 66 20 72 73 61 20 69 73 20 61 20 76 61 6c 69 64 20 52 53 41 20 | returns.1.if.rsa.is.a.valid.RSA. |
374e0 | 6b 65 79 2c 20 61 6e 64 20 30 20 6f 74 68 65 72 77 69 73 65 2e 0a 20 20 20 20 20 20 20 20 20 20 | key,.and.0.otherwise............ |
37500 | 20 20 20 20 20 20 20 2d 31 20 69 73 20 72 65 74 75 72 6e 65 64 20 69 66 20 61 6e 20 65 72 72 6f | .......-1.is.returned.if.an.erro |
37520 | 72 20 6f 63 63 75 72 73 20 77 68 69 6c 65 20 63 68 65 63 6b 69 6e 67 20 74 68 65 20 6b 65 79 2e | r.occurs.while.checking.the.key. |
37540 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 66 20 74 68 65 20 6b 65 79 20 69 73 20 | ..................If.the.key.is. |
37560 | 69 6e 76 61 6c 69 64 20 6f 72 20 61 6e 20 65 72 72 6f 72 20 6f 63 63 75 72 72 65 64 2c 20 74 68 | invalid.or.an.error.occurred,.th |
37580 | 65 20 72 65 61 73 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 64 65 20 63 | e.reason..................code.c |
375a0 | 61 6e 20 62 65 20 6f 62 74 61 69 6e 65 64 20 75 73 69 6e 67 20 45 52 52 5f 67 65 74 5f 65 72 72 | an.be.obtained.using.ERR_get_err |
375c0 | 6f 72 28 33 29 2e 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 | or(3)..........""".........retur |
375e0 | 6e 20 6d 32 2e 72 73 61 5f 63 68 65 63 6b 5f 6b 65 79 28 73 65 6c 66 2e 72 73 61 29 0a 0a 20 20 | n.m2.rsa_check_key(self.rsa).... |
37600 | 20 20 64 65 66 20 73 69 67 6e 5f 72 73 61 73 73 61 5f 70 73 73 28 73 65 6c 66 2c 20 64 69 67 65 | ..def.sign_rsassa_pss(self,.dige |
37620 | 73 74 2c 20 61 6c 67 6f 3d 27 73 68 61 31 27 2c 20 73 61 6c 74 5f 6c 65 6e 67 74 68 3d 32 30 29 | st,.algo='sha1',.salt_length=20) |
37640 | 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 62 79 74 65 73 2c 20 73 74 72 2c 20 69 | :.........#.type:.(bytes,.str,.i |
37660 | 6e 74 29 20 2d 3e 20 62 79 74 65 73 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 | nt).->.bytes........."""........ |
37680 | 20 53 69 67 6e 73 20 61 20 64 69 67 65 73 74 20 77 69 74 68 20 74 68 65 20 70 72 69 76 61 74 65 | .Signs.a.digest.with.the.private |
376a0 | 20 6b 65 79 20 75 73 69 6e 67 20 52 53 41 53 53 41 2d 50 53 53 0a 0a 20 20 20 20 20 20 20 20 3a | .key.using.RSASSA-PSS..........: |
376c0 | 70 61 72 61 6d 20 64 69 67 65 73 74 3a 20 41 20 64 69 67 65 73 74 20 63 72 65 61 74 65 64 20 62 | param.digest:.A.digest.created.b |
376e0 | 79 20 75 73 69 6e 67 20 74 68 65 20 64 69 67 65 73 74 20 6d 65 74 68 6f 64 0a 0a 20 20 20 20 20 | y.using.the.digest.method....... |
37700 | 20 20 20 3a 70 61 72 61 6d 20 73 61 6c 74 5f 6c 65 6e 67 74 68 3a 20 54 68 65 20 6c 65 6e 67 74 | ...:param.salt_length:.The.lengt |
37720 | 68 20 6f 66 20 74 68 65 20 73 61 6c 74 20 74 6f 20 75 73 65 0a 0a 20 20 20 20 20 20 20 20 3a 70 | h.of.the.salt.to.use..........:p |
37740 | 61 72 61 6d 20 61 6c 67 6f 3a 20 54 68 65 20 68 61 73 68 20 61 6c 67 6f 72 69 74 68 6d 20 74 6f | aram.algo:.The.hash.algorithm.to |
37760 | 20 75 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4c 65 67 61 6c 20 | .use......................Legal. |
37780 | 76 61 6c 75 65 73 20 6c 69 6b 65 20 27 73 68 61 31 27 2c 27 73 68 61 32 32 34 27 2c 20 27 73 68 | values.like.'sha1','sha224',.'sh |
377a0 | 61 32 35 36 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 72 69 70 | a256',......................'rip |
377c0 | 65 6d 64 31 36 30 27 2c 20 61 6e 64 20 27 6d 64 35 27 2e 0a 0a 20 20 20 20 20 20 20 20 3a 72 65 | emd160',.and.'md5'...........:re |
377e0 | 74 75 72 6e 3a 20 61 20 73 74 72 69 6e 67 20 77 68 69 63 68 20 69 73 20 74 68 65 20 73 69 67 6e | turn:.a.string.which.is.the.sign |
37800 | 61 74 75 72 65 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 68 61 73 68 20 3d | ature.........""".........hash.= |
37820 | 20 67 65 74 61 74 74 72 28 6d 32 2c 20 61 6c 67 6f 2c 20 4e 6f 6e 65 29 0a 0a 20 20 20 20 20 20 | .getattr(m2,.algo,.None)........ |
37840 | 20 20 69 66 20 68 61 73 68 20 69 73 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 | ..if.hash.is.None:.............r |
37860 | 61 69 73 65 20 52 53 41 45 72 72 6f 72 28 27 6e 6f 74 20 73 75 63 68 20 68 61 73 68 20 61 6c 67 | aise.RSAError('not.such.hash.alg |
37880 | 6f 72 69 74 68 6d 20 25 73 27 20 25 20 61 6c 67 6f 29 0a 0a 20 20 20 20 20 20 20 20 73 69 67 6e | orithm.%s'.%.algo)..........sign |
378a0 | 61 74 75 72 65 20 3d 20 6d 32 2e 72 73 61 5f 70 61 64 64 69 6e 67 5f 61 64 64 5f 70 6b 63 73 31 | ature.=.m2.rsa_padding_add_pkcs1 |
378c0 | 5f 70 73 73 28 73 65 6c 66 2e 72 73 61 2c 20 64 69 67 65 73 74 2c 20 68 61 73 68 28 29 2c 20 73 | _pss(self.rsa,.digest,.hash(),.s |
378e0 | 61 6c 74 5f 6c 65 6e 67 74 68 29 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 | alt_length)..........return.self |
37900 | 2e 70 72 69 76 61 74 65 5f 65 6e 63 72 79 70 74 28 73 69 67 6e 61 74 75 72 65 2c 20 6d 32 2e 6e | .private_encrypt(signature,.m2.n |
37920 | 6f 5f 70 61 64 64 69 6e 67 29 0a 0a 20 20 20 20 64 65 66 20 76 65 72 69 66 79 5f 72 73 61 73 73 | o_padding)......def.verify_rsass |
37940 | 61 5f 70 73 73 28 73 65 6c 66 2c 20 64 61 74 61 2c 20 73 69 67 6e 61 74 75 72 65 2c 20 61 6c 67 | a_pss(self,.data,.signature,.alg |
37960 | 6f 3d 27 73 68 61 31 27 2c 20 73 61 6c 74 5f 6c 65 6e 67 74 68 3d 32 30 29 3a 0a 20 20 20 20 20 | o='sha1',.salt_length=20):...... |
37980 | 20 20 20 23 20 74 79 70 65 3a 20 28 62 79 74 65 73 2c 20 62 79 74 65 73 2c 20 73 74 72 2c 20 69 | ...#.type:.(bytes,.bytes,.str,.i |
379a0 | 6e 74 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 56 | nt).->.int.........""".........V |
379c0 | 65 72 69 66 69 65 73 20 74 68 65 20 73 69 67 6e 61 74 75 72 65 20 52 53 41 53 53 41 2d 50 53 53 | erifies.the.signature.RSASSA-PSS |
379e0 | 0a 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 64 61 74 61 3a 20 44 61 74 61 20 74 68 61 74 | ..........:param.data:.Data.that |
37a00 | 20 68 61 73 20 62 65 65 6e 20 73 69 67 6e 65 64 0a 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d | .has.been.signed..........:param |
37a20 | 20 73 69 67 6e 61 74 75 72 65 3a 20 54 68 65 20 73 69 67 6e 61 74 75 72 65 20 73 69 67 6e 65 64 | .signature:.The.signature.signed |
37a40 | 20 77 69 74 68 20 52 53 41 53 53 41 2d 50 53 53 0a 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d | .with.RSASSA-PSS..........:param |
37a60 | 20 73 61 6c 74 5f 6c 65 6e 67 74 68 3a 20 54 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 | .salt_length:.The.length.of.the. |
37a80 | 73 61 6c 74 20 74 68 61 74 20 77 61 73 20 75 73 65 64 0a 0a 20 20 20 20 20 20 20 20 3a 70 61 72 | salt.that.was.used..........:par |
37aa0 | 61 6d 20 61 6c 67 6f 3a 20 54 68 65 20 68 61 73 68 20 61 6c 67 6f 72 69 74 68 6d 20 74 6f 20 75 | am.algo:.The.hash.algorithm.to.u |
37ac0 | 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4c 65 67 61 6c 20 76 61 | se......................Legal.va |
37ae0 | 6c 75 65 73 20 61 72 65 20 66 6f 72 20 65 78 61 6d 70 6c 65 20 27 73 68 61 31 27 2c 27 73 68 61 | lues.are.for.example.'sha1','sha |
37b00 | 32 32 34 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 73 68 61 32 | 224',......................'sha2 |
37b20 | 35 36 27 2c 20 27 72 69 70 65 6d 64 31 36 30 27 2c 20 61 6e 64 20 27 6d 64 35 27 2e 0a 0a 20 20 | 56',.'ripemd160',.and.'md5'..... |
37b40 | 20 20 20 20 20 20 3a 72 65 74 75 72 6e 3a 20 31 20 6f 72 20 30 2c 20 64 65 70 65 6e 64 69 6e 67 | ......:return:.1.or.0,.depending |
37b60 | 20 6f 6e 20 77 68 65 74 68 65 72 20 74 68 65 20 73 69 67 6e 61 74 75 72 65 20 77 61 73 0a 20 20 | .on.whether.the.signature.was... |
37b80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 65 72 69 66 69 65 64 20 6f 72 20 6e 6f 74 2e 0a | ...............verified.or.not.. |
37ba0 | 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 68 61 73 68 20 3d 20 67 65 74 61 74 | ........""".........hash.=.getat |
37bc0 | 74 72 28 6d 32 2c 20 61 6c 67 6f 2c 20 4e 6f 6e 65 29 0a 0a 20 20 20 20 20 20 20 20 69 66 20 68 | tr(m2,.algo,.None)..........if.h |
37be0 | 61 73 68 20 69 73 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 52 | ash.is.None:.............raise.R |
37c00 | 53 41 45 72 72 6f 72 28 27 6e 6f 74 20 73 75 63 68 20 68 61 73 68 20 61 6c 67 6f 72 69 74 68 6d | SAError('not.such.hash.algorithm |
37c20 | 20 25 73 27 20 25 20 61 6c 67 6f 29 0a 0a 20 20 20 20 20 20 20 20 70 6c 61 69 6e 5f 73 69 67 6e | .%s'.%.algo)..........plain_sign |
37c40 | 61 74 75 72 65 20 3d 20 73 65 6c 66 2e 70 75 62 6c 69 63 5f 64 65 63 72 79 70 74 28 73 69 67 6e | ature.=.self.public_decrypt(sign |
37c60 | 61 74 75 72 65 2c 20 6d 32 2e 6e 6f 5f 70 61 64 64 69 6e 67 29 0a 0a 20 20 20 20 20 20 20 20 72 | ature,.m2.no_padding)..........r |
37c80 | 65 74 75 72 6e 20 6d 32 2e 72 73 61 5f 76 65 72 69 66 79 5f 70 6b 63 73 31 5f 70 73 73 28 73 65 | eturn.m2.rsa_verify_pkcs1_pss(se |
37ca0 | 6c 66 2e 72 73 61 2c 20 64 61 74 61 2c 20 70 6c 61 69 6e 5f 73 69 67 6e 61 74 75 72 65 2c 20 68 | lf.rsa,.data,.plain_signature,.h |
37cc0 | 61 73 68 28 29 2c 20 73 61 6c 74 5f 6c 65 6e 67 74 68 29 0a 0a 20 20 20 20 64 65 66 20 73 69 67 | ash(),.salt_length)......def.sig |
37ce0 | 6e 28 73 65 6c 66 2c 20 64 69 67 65 73 74 2c 20 61 6c 67 6f 3d 27 73 68 61 31 27 29 3a 0a 20 20 | n(self,.digest,.algo='sha1'):... |
37d00 | 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 62 79 74 65 73 2c 20 73 74 72 29 20 2d 3e 20 62 79 | ......#.type:.(bytes,.str).->.by |
37d20 | 74 65 73 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 53 69 67 6e 73 20 61 20 | tes.........""".........Signs.a. |
37d40 | 64 69 67 65 73 74 20 77 69 74 68 20 74 68 65 20 70 72 69 76 61 74 65 20 6b 65 79 0a 0a 20 20 20 | digest.with.the.private.key..... |
37d60 | 20 20 20 20 20 3a 70 61 72 61 6d 20 64 69 67 65 73 74 3a 20 41 20 64 69 67 65 73 74 20 63 72 65 | .....:param.digest:.A.digest.cre |
37d80 | 61 74 65 64 20 62 79 20 75 73 69 6e 67 20 74 68 65 20 64 69 67 65 73 74 20 6d 65 74 68 6f 64 0a | ated.by.using.the.digest.method. |
37da0 | 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 61 6c 67 6f 3a 20 54 68 65 20 6d 65 74 68 6f 64 | .........:param.algo:.The.method |
37dc0 | 20 74 68 61 74 20 63 72 65 61 74 65 64 20 74 68 65 20 64 69 67 65 73 74 2e 0a 20 20 20 20 20 20 | .that.created.the.digest........ |
37de0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4c 65 67 61 6c 20 76 61 6c 75 65 73 20 6c 69 6b 65 | ...............Legal.values.like |
37e00 | 20 27 73 68 61 31 27 2c 27 73 68 61 32 32 34 27 2c 20 27 73 68 61 32 35 36 27 2c 0a 20 20 20 20 | .'sha1','sha224',.'sha256',..... |
37e20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 72 69 70 65 6d 64 31 36 30 27 2c 20 61 6e | .................'ripemd160',.an |
37e40 | 64 20 27 6d 64 35 27 2e 0a 0a 20 20 20 20 20 20 20 20 3a 72 65 74 75 72 6e 3a 20 61 20 73 74 72 | d.'md5'...........:return:.a.str |
37e60 | 69 6e 67 20 77 68 69 63 68 20 69 73 20 74 68 65 20 73 69 67 6e 61 74 75 72 65 0a 20 20 20 20 20 | ing.which.is.the.signature...... |
37e80 | 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 64 69 67 65 73 74 5f 74 79 70 65 20 3d 20 67 65 74 | ...""".........digest_type.=.get |
37ea0 | 61 74 74 72 28 6d 32 2c 20 27 4e 49 44 5f 27 20 2b 20 61 6c 67 6f 2c 20 4e 6f 6e 65 29 0a 20 20 | attr(m2,.'NID_'.+.algo,.None)... |
37ec0 | 20 20 20 20 20 20 69 66 20 64 69 67 65 73 74 5f 74 79 70 65 20 69 73 20 4e 6f 6e 65 3a 0a 20 20 | ......if.digest_type.is.None:... |
37ee0 | 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 56 61 6c 75 65 45 72 72 6f 72 28 27 75 6e 6b 6e | ..........raise.ValueError('unkn |
37f00 | 6f 77 6e 20 61 6c 67 6f 72 69 74 68 6d 27 2c 20 61 6c 67 6f 29 0a 0a 20 20 20 20 20 20 20 20 72 | own.algorithm',.algo)..........r |
37f20 | 65 74 75 72 6e 20 6d 32 2e 72 73 61 5f 73 69 67 6e 28 73 65 6c 66 2e 72 73 61 2c 20 64 69 67 65 | eturn.m2.rsa_sign(self.rsa,.dige |
37f40 | 73 74 2c 20 64 69 67 65 73 74 5f 74 79 70 65 29 0a 0a 20 20 20 20 64 65 66 20 76 65 72 69 66 79 | st,.digest_type)......def.verify |
37f60 | 28 73 65 6c 66 2c 20 64 61 74 61 2c 20 73 69 67 6e 61 74 75 72 65 2c 20 61 6c 67 6f 3d 27 73 68 | (self,.data,.signature,.algo='sh |
37f80 | 61 31 27 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 62 79 74 65 73 2c 20 62 79 | a1'):.........#.type:.(bytes,.by |
37fa0 | 74 65 73 2c 20 73 74 72 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 | tes,.str).->.int.........""".... |
37fc0 | 20 20 20 20 20 56 65 72 69 66 69 65 73 20 74 68 65 20 73 69 67 6e 61 74 75 72 65 20 77 69 74 68 | .....Verifies.the.signature.with |
37fe0 | 20 74 68 65 20 70 75 62 6c 69 63 20 6b 65 79 0a 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 | .the.public.key..........:param. |
38000 | 64 61 74 61 3a 20 44 61 74 61 20 74 68 61 74 20 68 61 73 20 62 65 65 6e 20 73 69 67 6e 65 64 0a | data:.Data.that.has.been.signed. |
38020 | 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 73 69 67 6e 61 74 75 72 65 3a 20 54 68 65 20 73 | .........:param.signature:.The.s |
38040 | 69 67 6e 61 74 75 72 65 20 73 69 67 6e 65 64 20 77 69 74 68 20 74 68 65 20 70 72 69 76 61 74 65 | ignature.signed.with.the.private |
38060 | 20 6b 65 79 0a 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 61 6c 67 6f 3a 20 54 68 65 20 6d | .key..........:param.algo:.The.m |
38080 | 65 74 68 6f 64 20 75 73 65 20 74 6f 20 63 72 65 61 74 65 20 64 69 67 65 73 74 20 66 72 6f 6d 20 | ethod.use.to.create.digest.from. |
380a0 | 74 68 65 20 64 61 74 61 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 65 | the.data......................be |
380c0 | 66 6f 72 65 20 69 74 20 77 61 73 20 73 69 67 6e 65 64 2e 20 20 4c 65 67 61 6c 20 76 61 6c 75 65 | fore.it.was.signed...Legal.value |
380e0 | 73 20 6c 69 6b 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 73 68 61 | s.like......................'sha |
38100 | 31 27 2c 27 73 68 61 32 32 34 27 2c 20 27 73 68 61 32 35 36 27 2c 20 27 72 69 70 65 6d 64 31 36 | 1','sha224',.'sha256',.'ripemd16 |
38120 | 30 27 2c 20 61 6e 64 20 27 6d 64 35 27 2e 0a 0a 20 20 20 20 20 20 20 20 3a 72 65 74 75 72 6e 3a | 0',.and.'md5'...........:return: |
38140 | 20 31 20 6f 72 20 30 2c 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 77 68 65 74 68 65 72 20 74 68 | .1.or.0,.depending.on.whether.th |
38160 | 65 20 73 69 67 6e 61 74 75 72 65 20 77 61 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | e.signature.was................. |
38180 | 20 76 65 72 69 66 69 65 64 20 6f 72 20 6e 6f 74 2e 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 | .verified.or.not.........."""... |
381a0 | 20 20 20 20 20 20 64 69 67 65 73 74 5f 74 79 70 65 20 3d 20 67 65 74 61 74 74 72 28 6d 32 2c 20 | ......digest_type.=.getattr(m2,. |
381c0 | 27 4e 49 44 5f 27 20 2b 20 61 6c 67 6f 2c 20 4e 6f 6e 65 29 0a 20 20 20 20 20 20 20 20 69 66 20 | 'NID_'.+.algo,.None).........if. |
381e0 | 64 69 67 65 73 74 5f 74 79 70 65 20 69 73 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 | digest_type.is.None:............ |
38200 | 20 72 61 69 73 65 20 56 61 6c 75 65 45 72 72 6f 72 28 27 75 6e 6b 6e 6f 77 6e 20 61 6c 67 6f 72 | .raise.ValueError('unknown.algor |
38220 | 69 74 68 6d 27 2c 20 61 6c 67 6f 29 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e | ithm',.algo)..........return.m2. |
38240 | 72 73 61 5f 76 65 72 69 66 79 28 73 65 6c 66 2e 72 73 61 2c 20 64 61 74 61 2c 20 73 69 67 6e 61 | rsa_verify(self.rsa,.data,.signa |
38260 | 74 75 72 65 2c 20 64 69 67 65 73 74 5f 74 79 70 65 29 0a 0a 0a 63 6c 61 73 73 20 52 53 41 5f 70 | ture,.digest_type)...class.RSA_p |
38280 | 75 62 28 52 53 41 29 3a 0a 0a 20 20 20 20 22 22 22 0a 20 20 20 20 4f 62 6a 65 63 74 20 69 6e 74 | ub(RSA):......""".....Object.int |
382a0 | 65 72 66 61 63 65 20 74 6f 20 61 6e 20 52 53 41 20 70 75 62 6c 69 63 20 6b 65 79 2e 0a 20 20 20 | erface.to.an.RSA.public.key..... |
382c0 | 20 22 22 22 0a 0a 20 20 20 20 64 65 66 20 5f 5f 73 65 74 61 74 74 72 5f 5f 28 73 65 6c 66 2c 20 | ."""......def.__setattr__(self,. |
382e0 | 6e 61 6d 65 2c 20 76 61 6c 75 65 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 73 | name,.value):.........#.type:.(s |
38300 | 74 72 2c 20 62 79 74 65 73 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 69 66 20 6e 61 | tr,.bytes).->.None.........if.na |
38320 | 6d 65 20 69 6e 20 5b 27 65 27 2c 20 27 6e 27 5d 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 61 | me.in.['e',.'n']:.............ra |
38340 | 69 73 65 20 52 53 41 45 72 72 6f 72 28 27 75 73 65 20 66 61 63 74 6f 72 79 20 66 75 6e 63 74 69 | ise.RSAError('use.factory.functi |
38360 | 6f 6e 20 6e 65 77 5f 70 75 62 5f 6b 65 79 28 29 20 74 6f 20 73 65 74 20 28 65 2c 20 6e 29 27 29 | on.new_pub_key().to.set.(e,.n)') |
38380 | 0a 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e | .........else:.............self. |
383a0 | 5f 5f 64 69 63 74 5f 5f 5b 6e 61 6d 65 5d 20 3d 20 76 61 6c 75 65 0a 0a 20 20 20 20 64 65 66 20 | __dict__[name].=.value......def. |
383c0 | 70 72 69 76 61 74 65 5f 65 6e 63 72 79 70 74 28 73 65 6c 66 2c 20 2a 61 72 67 76 29 3a 0a 20 20 | private_encrypt(self,.*argv):... |
383e0 | 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 2a 41 6e 79 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 | ......#.type:.(*Any).->.None.... |
38400 | 20 20 20 20 20 72 61 69 73 65 20 52 53 41 45 72 72 6f 72 28 27 52 53 41 5f 70 75 62 20 6f 62 6a | .....raise.RSAError('RSA_pub.obj |
38420 | 65 63 74 20 68 61 73 20 6e 6f 20 70 72 69 76 61 74 65 20 6b 65 79 27 29 0a 0a 20 20 20 20 64 65 | ect.has.no.private.key')......de |
38440 | 66 20 70 72 69 76 61 74 65 5f 64 65 63 72 79 70 74 28 73 65 6c 66 2c 20 2a 61 72 67 76 29 3a 0a | f.private_decrypt(self,.*argv):. |
38460 | 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 2a 41 6e 79 29 20 2d 3e 20 4e 6f 6e 65 0a 20 | ........#.type:.(*Any).->.None.. |
38480 | 20 20 20 20 20 20 20 72 61 69 73 65 20 52 53 41 45 72 72 6f 72 28 27 52 53 41 5f 70 75 62 20 6f | .......raise.RSAError('RSA_pub.o |
384a0 | 62 6a 65 63 74 20 68 61 73 20 6e 6f 20 70 72 69 76 61 74 65 20 6b 65 79 27 29 0a 0a 20 20 20 20 | bject.has.no.private.key')...... |
384c0 | 64 65 66 20 73 61 76 65 5f 6b 65 79 28 73 65 6c 66 2c 20 66 69 6c 65 2c 20 2a 61 72 67 73 2c 20 | def.save_key(self,.file,.*args,. |
384e0 | 2a 2a 6b 77 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 41 6e 79 53 74 72 2c 20 | **kw):.........#.type:.(AnyStr,. |
38500 | 2a 41 6e 79 2c 20 2a 2a 41 6e 79 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 22 22 22 0a | *Any,.**Any).->.int.........""". |
38520 | 20 20 20 20 20 20 20 20 53 61 76 65 20 70 75 62 6c 69 63 20 6b 65 79 20 74 6f 20 66 69 6c 65 2e | ........Save.public.key.to.file. |
38540 | 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 | .........""".........return.self |
38560 | 2e 73 61 76 65 5f 70 75 62 5f 6b 65 79 28 66 69 6c 65 29 0a 0a 20 20 20 20 64 65 66 20 73 61 76 | .save_pub_key(file)......def.sav |
38580 | 65 5f 6b 65 79 5f 62 69 6f 28 73 65 6c 66 2c 20 62 69 6f 2c 20 2a 61 72 67 73 2c 20 2a 2a 6b 77 | e_key_bio(self,.bio,.*args,.**kw |
385a0 | 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 42 49 4f 2e 42 49 4f 2c 20 2a 41 6e | ):.........#.type:.(BIO.BIO,.*An |
385c0 | 79 2c 20 2a 2a 41 6e 79 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 | y,.**Any).->.int.........""".... |
385e0 | 20 20 20 20 20 53 61 76 65 20 70 75 62 6c 69 63 20 6b 65 79 20 74 6f 20 42 49 4f 2e 0a 20 20 20 | .....Save.public.key.to.BIO..... |
38600 | 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 2e 73 61 76 | .....""".........return.self.sav |
38620 | 65 5f 70 75 62 5f 6b 65 79 5f 62 69 6f 28 62 69 6f 29 0a 0a 20 20 20 20 23 20 73 61 76 65 5f 6b | e_pub_key_bio(bio)......#.save_k |
38640 | 65 79 5f 64 65 72 0a 0a 20 20 20 20 23 20 73 61 76 65 5f 6b 65 79 5f 64 65 72 5f 62 69 6f 0a 0a | ey_der......#.save_key_der_bio.. |
38660 | 20 20 20 20 64 65 66 20 63 68 65 63 6b 5f 6b 65 79 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 | ....def.check_key(self):........ |
38680 | 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 | .#.type:.().->.int.........retur |
386a0 | 6e 20 6d 32 2e 72 73 61 5f 63 68 65 63 6b 5f 70 75 62 5f 6b 65 79 28 73 65 6c 66 2e 72 73 61 29 | n.m2.rsa_check_pub_key(self.rsa) |
386c0 | 0a 0a 0a 64 65 66 20 72 73 61 5f 65 72 72 6f 72 28 29 3a 0a 20 20 20 20 23 20 74 79 70 65 3a 20 | ...def.rsa_error():.....#.type:. |
386e0 | 28 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 72 61 69 73 65 20 52 53 41 45 72 72 6f 72 28 45 72 | ().->.None.....raise.RSAError(Er |
38700 | 72 2e 67 65 74 5f 65 72 72 6f 72 5f 6d 65 73 73 61 67 65 28 29 29 0a 0a 0a 64 65 66 20 6b 65 79 | r.get_error_message())...def.key |
38720 | 67 65 6e 5f 63 61 6c 6c 62 61 63 6b 28 70 2c 20 6e 2c 20 6f 75 74 3d 73 79 73 2e 73 74 64 6f 75 | gen_callback(p,.n,.out=sys.stdou |
38740 | 74 29 3a 0a 20 20 20 20 23 20 74 79 70 65 3a 20 28 69 6e 74 2c 20 41 6e 79 2c 20 49 4f 5b 73 74 | t):.....#.type:.(int,.Any,.IO[st |
38760 | 72 5d 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 22 22 22 0a 20 20 20 20 44 65 66 61 75 6c 74 20 | r]).->.None.....""".....Default. |
38780 | 63 61 6c 6c 62 61 63 6b 20 66 6f 72 20 67 65 6e 5f 6b 65 79 28 29 2e 0a 20 20 20 20 22 22 22 0a | callback.for.gen_key()......""". |
387a0 | 20 20 20 20 63 68 20 3d 20 5b 27 2e 27 2c 20 27 2b 27 2c 20 27 2a 27 2c 20 27 5c 6e 27 5d 0a 20 | ....ch.=.['.',.'+',.'*',.'\n'].. |
387c0 | 20 20 20 6f 75 74 2e 77 72 69 74 65 28 63 68 5b 70 5d 29 0a 20 20 20 20 6f 75 74 2e 66 6c 75 73 | ...out.write(ch[p]).....out.flus |
387e0 | 68 28 29 0a 0a 0a 64 65 66 20 67 65 6e 5f 6b 65 79 28 62 69 74 73 2c 20 65 2c 20 63 61 6c 6c 62 | h()...def.gen_key(bits,.e,.callb |
38800 | 61 63 6b 3d 6b 65 79 67 65 6e 5f 63 61 6c 6c 62 61 63 6b 29 3a 0a 20 20 20 20 23 20 74 79 70 65 | ack=keygen_callback):.....#.type |
38820 | 3a 20 28 69 6e 74 2c 20 69 6e 74 2c 20 43 61 6c 6c 61 62 6c 65 29 20 2d 3e 20 52 53 41 0a 20 20 | :.(int,.int,.Callable).->.RSA... |
38840 | 20 20 22 22 22 0a 20 20 20 20 47 65 6e 65 72 61 74 65 20 61 6e 20 52 53 41 20 6b 65 79 20 70 61 | ..""".....Generate.an.RSA.key.pa |
38860 | 69 72 2e 0a 0a 20 20 20 20 3a 70 61 72 61 6d 20 62 69 74 73 3a 20 4b 65 79 20 6c 65 6e 67 74 68 | ir.......:param.bits:.Key.length |
38880 | 2c 20 69 6e 20 62 69 74 73 2e 0a 0a 20 20 20 20 3a 70 61 72 61 6d 20 65 3a 20 54 68 65 20 52 53 | ,.in.bits.......:param.e:.The.RS |
388a0 | 41 20 70 75 62 6c 69 63 20 65 78 70 6f 6e 65 6e 74 2e 0a 0a 20 20 20 20 3a 70 61 72 61 6d 20 63 | A.public.exponent.......:param.c |
388c0 | 61 6c 6c 62 61 63 6b 3a 20 41 20 50 79 74 68 6f 6e 20 63 61 6c 6c 61 62 6c 65 20 6f 62 6a 65 63 | allback:.A.Python.callable.objec |
388e0 | 74 20 74 68 61 74 20 69 73 20 69 6e 76 6f 6b 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | t.that.is.invoked............... |
38900 | 20 20 20 20 20 20 20 64 75 72 69 6e 67 20 6b 65 79 20 67 65 6e 65 72 61 74 69 6f 6e 3b 20 69 74 | .......during.key.generation;.it |
38920 | 73 20 75 73 75 61 6c 20 70 75 72 70 6f 73 65 20 69 73 20 74 6f 0a 20 20 20 20 20 20 20 20 20 20 | s.usual.purpose.is.to........... |
38940 | 20 20 20 20 20 20 20 20 20 20 20 70 72 6f 76 69 64 65 20 76 69 73 75 61 6c 20 66 65 65 64 62 61 | ...........provide.visual.feedba |
38960 | 63 6b 2e 20 54 68 65 20 64 65 66 61 75 6c 74 20 63 61 6c 6c 62 61 63 6b 20 69 73 0a 20 20 20 20 | ck..The.default.callback.is..... |
38980 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6b 65 79 67 65 6e 5f 63 61 6c 6c 62 61 63 6b | .................keygen_callback |
389a0 | 2e 0a 0a 20 20 20 20 3a 72 65 74 75 72 6e 3a 20 4d 32 43 72 79 70 74 6f 2e 52 53 41 2e 52 53 41 | .......:return:.M2Crypto.RSA.RSA |
389c0 | 20 6f 62 6a 65 63 74 2e 0a 20 20 20 20 22 22 22 0a 20 20 20 20 72 65 74 75 72 6e 20 52 53 41 28 | .object......""".....return.RSA( |
389e0 | 6d 32 2e 72 73 61 5f 67 65 6e 65 72 61 74 65 5f 6b 65 79 28 62 69 74 73 2c 20 65 2c 20 63 61 6c | m2.rsa_generate_key(bits,.e,.cal |
38a00 | 6c 62 61 63 6b 29 2c 20 31 29 0a 0a 0a 64 65 66 20 6c 6f 61 64 5f 6b 65 79 28 66 69 6c 65 2c 20 | lback),.1)...def.load_key(file,. |
38a20 | 63 61 6c 6c 62 61 63 6b 3d 75 74 69 6c 2e 70 61 73 73 70 68 72 61 73 65 5f 63 61 6c 6c 62 61 63 | callback=util.passphrase_callbac |
38a40 | 6b 29 3a 0a 20 20 20 20 23 20 74 79 70 65 3a 20 28 41 6e 79 53 74 72 2c 20 43 61 6c 6c 61 62 6c | k):.....#.type:.(AnyStr,.Callabl |
38a60 | 65 29 20 2d 3e 20 52 53 41 0a 20 20 20 20 22 22 22 0a 20 20 20 20 4c 6f 61 64 20 61 6e 20 52 53 | e).->.RSA.....""".....Load.an.RS |
38a80 | 41 20 6b 65 79 20 70 61 69 72 20 66 72 6f 6d 20 66 69 6c 65 2e 0a 0a 20 20 20 20 3a 70 61 72 61 | A.key.pair.from.file.......:para |
38aa0 | 6d 20 66 69 6c 65 3a 20 4e 61 6d 65 20 6f 66 20 66 69 6c 65 20 63 6f 6e 74 61 69 6e 69 6e 67 20 | m.file:.Name.of.file.containing. |
38ac0 | 52 53 41 20 70 75 62 6c 69 63 20 6b 65 79 20 69 6e 20 50 45 4d 20 66 6f 72 6d 61 74 2e 0a 0a 20 | RSA.public.key.in.PEM.format.... |
38ae0 | 20 20 20 3a 70 61 72 61 6d 20 63 61 6c 6c 62 61 63 6b 3a 20 41 20 50 79 74 68 6f 6e 20 63 61 6c | ...:param.callback:.A.Python.cal |
38b00 | 6c 61 62 6c 65 20 6f 62 6a 65 63 74 20 74 68 61 74 20 69 73 20 69 6e 76 6f 6b 65 64 0a 20 20 20 | lable.object.that.is.invoked.... |
38b20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 6f 20 61 63 71 75 69 72 65 20 61 20 70 | ..................to.acquire.a.p |
38b40 | 61 73 73 70 68 72 61 73 65 20 77 69 74 68 20 77 68 69 63 68 20 74 6f 20 75 6e 6c 6f 63 6b 20 74 | assphrase.with.which.to.unlock.t |
38b60 | 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6b 65 79 2e 20 20 54 68 | he......................key...Th |
38b80 | 65 20 64 65 66 61 75 6c 74 20 69 73 20 75 74 69 6c 2e 70 61 73 73 70 68 72 61 73 65 5f 63 61 6c | e.default.is.util.passphrase_cal |
38ba0 | 6c 62 61 63 6b 2e 0a 0a 20 20 20 20 3a 72 65 74 75 72 6e 3a 20 4d 32 43 72 79 70 74 6f 2e 52 53 | lback.......:return:.M2Crypto.RS |
38bc0 | 41 2e 52 53 41 20 6f 62 6a 65 63 74 2e 0a 20 20 20 20 22 22 22 0a 20 20 20 20 77 69 74 68 20 42 | A.RSA.object......""".....with.B |
38be0 | 49 4f 2e 6f 70 65 6e 66 69 6c 65 28 66 69 6c 65 29 20 61 73 20 62 69 6f 3a 0a 20 20 20 20 20 20 | IO.openfile(file).as.bio:....... |
38c00 | 20 20 72 65 74 75 72 6e 20 6c 6f 61 64 5f 6b 65 79 5f 62 69 6f 28 62 69 6f 2c 20 63 61 6c 6c 62 | ..return.load_key_bio(bio,.callb |
38c20 | 61 63 6b 29 0a 0a 0a 64 65 66 20 6c 6f 61 64 5f 6b 65 79 5f 62 69 6f 28 62 69 6f 2c 20 63 61 6c | ack)...def.load_key_bio(bio,.cal |
38c40 | 6c 62 61 63 6b 3d 75 74 69 6c 2e 70 61 73 73 70 68 72 61 73 65 5f 63 61 6c 6c 62 61 63 6b 29 3a | lback=util.passphrase_callback): |
38c60 | 0a 20 20 20 20 23 20 74 79 70 65 3a 20 28 42 49 4f 2e 42 49 4f 2c 20 43 61 6c 6c 61 62 6c 65 29 | .....#.type:.(BIO.BIO,.Callable) |
38c80 | 20 2d 3e 20 52 53 41 0a 20 20 20 20 22 22 22 0a 20 20 20 20 4c 6f 61 64 20 61 6e 20 52 53 41 20 | .->.RSA.....""".....Load.an.RSA. |
38ca0 | 6b 65 79 20 70 61 69 72 20 66 72 6f 6d 20 61 6e 20 4d 32 43 72 79 70 74 6f 2e 42 49 4f 2e 42 49 | key.pair.from.an.M2Crypto.BIO.BI |
38cc0 | 4f 20 6f 62 6a 65 63 74 2e 0a 0a 20 20 20 20 3a 70 61 72 61 6d 20 62 69 6f 3a 20 4d 32 43 72 79 | O.object.......:param.bio:.M2Cry |
38ce0 | 70 74 6f 2e 42 49 4f 2e 42 49 4f 20 6f 62 6a 65 63 74 20 63 6f 6e 74 61 69 6e 69 6e 67 20 52 53 | pto.BIO.BIO.object.containing.RS |
38d00 | 41 20 6b 65 79 20 70 61 69 72 20 69 6e 20 50 45 4d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | A.key.pair.in.PEM............... |
38d20 | 20 20 66 6f 72 6d 61 74 2e 0a 0a 20 20 20 20 3a 70 61 72 61 6d 20 63 61 6c 6c 62 61 63 6b 3a 20 | ..format.......:param.callback:. |
38d40 | 41 20 50 79 74 68 6f 6e 20 63 61 6c 6c 61 62 6c 65 20 6f 62 6a 65 63 74 20 74 68 61 74 20 69 73 | A.Python.callable.object.that.is |
38d60 | 20 69 6e 76 6f 6b 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 6f | .invoked......................to |
38d80 | 20 61 63 71 75 69 72 65 20 61 20 70 61 73 73 70 68 72 61 73 65 20 77 69 74 68 20 77 68 69 63 68 | .acquire.a.passphrase.with.which |
38da0 | 20 74 6f 20 75 6e 6c 6f 63 6b 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .to.unlock.the.................. |
38dc0 | 20 20 20 20 6b 65 79 2e 20 20 54 68 65 20 64 65 66 61 75 6c 74 20 69 73 20 75 74 69 6c 2e 70 61 | ....key...The.default.is.util.pa |
38de0 | 73 73 70 68 72 61 73 65 5f 63 61 6c 6c 62 61 63 6b 2e 0a 0a 20 20 20 20 3a 72 65 74 75 72 6e 3a | ssphrase_callback.......:return: |
38e00 | 20 4d 32 43 72 79 70 74 6f 2e 52 53 41 2e 52 53 41 20 6f 62 6a 65 63 74 2e 0a 20 20 20 20 22 22 | .M2Crypto.RSA.RSA.object......"" |
38e20 | 22 0a 20 20 20 20 72 73 61 20 3d 20 6d 32 2e 72 73 61 5f 72 65 61 64 5f 6b 65 79 28 62 69 6f 2e | ".....rsa.=.m2.rsa_read_key(bio. |
38e40 | 5f 70 74 72 28 29 2c 20 63 61 6c 6c 62 61 63 6b 29 0a 20 20 20 20 69 66 20 72 73 61 20 69 73 20 | _ptr(),.callback).....if.rsa.is. |
38e60 | 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 72 73 61 5f 65 72 72 6f 72 28 29 0a 20 20 20 20 72 65 | None:.........rsa_error().....re |
38e80 | 74 75 72 6e 20 52 53 41 28 72 73 61 2c 20 31 29 0a 0a 0a 64 65 66 20 6c 6f 61 64 5f 6b 65 79 5f | turn.RSA(rsa,.1)...def.load_key_ |
38ea0 | 73 74 72 69 6e 67 28 73 74 72 69 6e 67 2c 20 63 61 6c 6c 62 61 63 6b 3d 75 74 69 6c 2e 70 61 73 | string(string,.callback=util.pas |
38ec0 | 73 70 68 72 61 73 65 5f 63 61 6c 6c 62 61 63 6b 29 3a 0a 20 20 20 20 23 20 74 79 70 65 3a 20 28 | sphrase_callback):.....#.type:.( |
38ee0 | 41 6e 79 53 74 72 2c 20 43 61 6c 6c 61 62 6c 65 29 20 2d 3e 20 52 53 41 0a 20 20 20 20 22 22 22 | AnyStr,.Callable).->.RSA.....""" |
38f00 | 0a 20 20 20 20 4c 6f 61 64 20 61 6e 20 52 53 41 20 6b 65 79 20 70 61 69 72 20 66 72 6f 6d 20 61 | .....Load.an.RSA.key.pair.from.a |
38f20 | 20 73 74 72 69 6e 67 2e 0a 0a 20 20 20 20 3a 70 61 72 61 6d 20 73 74 72 69 6e 67 3a 20 53 74 72 | .string.......:param.string:.Str |
38f40 | 69 6e 67 20 63 6f 6e 74 61 69 6e 69 6e 67 20 52 53 41 20 6b 65 79 20 70 61 69 72 20 69 6e 20 50 | ing.containing.RSA.key.pair.in.P |
38f60 | 45 4d 20 66 6f 72 6d 61 74 2e 0a 0a 20 20 20 20 3a 70 61 72 61 6d 20 63 61 6c 6c 62 61 63 6b 3a | EM.format.......:param.callback: |
38f80 | 20 41 20 50 79 74 68 6f 6e 20 63 61 6c 6c 61 62 6c 65 20 6f 62 6a 65 63 74 20 74 68 61 74 20 69 | .A.Python.callable.object.that.i |
38fa0 | 73 20 69 6e 76 6f 6b 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 | s.invoked......................t |
38fc0 | 6f 20 61 63 71 75 69 72 65 20 61 20 70 61 73 73 70 68 72 61 73 65 20 77 69 74 68 20 77 68 69 63 | o.acquire.a.passphrase.with.whic |
38fe0 | 68 20 74 6f 20 75 6e 6c 6f 63 6b 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | h.to.unlock.the................. |
39000 | 20 20 20 20 20 6b 65 79 2e 20 54 68 65 20 64 65 66 61 75 6c 74 20 69 73 20 75 74 69 6c 2e 70 61 | .....key..The.default.is.util.pa |
39020 | 73 73 70 68 72 61 73 65 5f 63 61 6c 6c 62 61 63 6b 2e 0a 0a 20 20 20 20 3a 72 65 74 75 72 6e 3a | ssphrase_callback.......:return: |
39040 | 20 4d 32 43 72 79 70 74 6f 2e 52 53 41 2e 52 53 41 20 6f 62 6a 65 63 74 2e 0a 20 20 20 20 22 22 | .M2Crypto.RSA.RSA.object......"" |
39060 | 22 0a 20 20 20 20 62 69 6f 20 3d 20 42 49 4f 2e 4d 65 6d 6f 72 79 42 75 66 66 65 72 28 73 74 72 | ".....bio.=.BIO.MemoryBuffer(str |
39080 | 69 6e 67 29 0a 20 20 20 20 72 65 74 75 72 6e 20 6c 6f 61 64 5f 6b 65 79 5f 62 69 6f 28 62 69 6f | ing).....return.load_key_bio(bio |
390a0 | 2c 20 63 61 6c 6c 62 61 63 6b 29 0a 0a 0a 64 65 66 20 6c 6f 61 64 5f 70 75 62 5f 6b 65 79 28 66 | ,.callback)...def.load_pub_key(f |
390c0 | 69 6c 65 29 3a 0a 20 20 20 20 23 20 74 79 70 65 3a 20 28 41 6e 79 53 74 72 29 20 2d 3e 20 52 53 | ile):.....#.type:.(AnyStr).->.RS |
390e0 | 41 5f 70 75 62 0a 20 20 20 20 22 22 22 0a 20 20 20 20 4c 6f 61 64 20 61 6e 20 52 53 41 20 70 75 | A_pub.....""".....Load.an.RSA.pu |
39100 | 62 6c 69 63 20 6b 65 79 20 66 72 6f 6d 20 66 69 6c 65 2e 0a 0a 20 20 20 20 3a 70 61 72 61 6d 20 | blic.key.from.file.......:param. |
39120 | 66 69 6c 65 3a 20 4e 61 6d 65 20 6f 66 20 66 69 6c 65 20 63 6f 6e 74 61 69 6e 69 6e 67 20 52 53 | file:.Name.of.file.containing.RS |
39140 | 41 20 70 75 62 6c 69 63 20 6b 65 79 20 69 6e 20 50 45 4d 20 66 6f 72 6d 61 74 2e 0a 0a 20 20 20 | A.public.key.in.PEM.format...... |
39160 | 20 3a 72 65 74 75 72 6e 3a 20 4d 32 43 72 79 70 74 6f 2e 52 53 41 2e 52 53 41 5f 70 75 62 20 6f | .:return:.M2Crypto.RSA.RSA_pub.o |
39180 | 62 6a 65 63 74 2e 0a 20 20 20 20 22 22 22 0a 20 20 20 20 77 69 74 68 20 42 49 4f 2e 6f 70 65 6e | bject......""".....with.BIO.open |
391a0 | 66 69 6c 65 28 66 69 6c 65 29 20 61 73 20 62 69 6f 3a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 | file(file).as.bio:.........retur |
391c0 | 6e 20 6c 6f 61 64 5f 70 75 62 5f 6b 65 79 5f 62 69 6f 28 62 69 6f 29 0a 0a 0a 64 65 66 20 6c 6f | n.load_pub_key_bio(bio)...def.lo |
391e0 | 61 64 5f 70 75 62 5f 6b 65 79 5f 62 69 6f 28 62 69 6f 29 3a 0a 20 20 20 20 23 20 74 79 70 65 3a | ad_pub_key_bio(bio):.....#.type: |
39200 | 20 28 42 49 4f 2e 42 49 4f 29 20 2d 3e 20 52 53 41 5f 70 75 62 0a 20 20 20 20 22 22 22 0a 20 20 | .(BIO.BIO).->.RSA_pub....."""... |
39220 | 20 20 4c 6f 61 64 20 61 6e 20 52 53 41 20 70 75 62 6c 69 63 20 6b 65 79 20 66 72 6f 6d 20 61 6e | ..Load.an.RSA.public.key.from.an |
39240 | 20 4d 32 43 72 79 70 74 6f 2e 42 49 4f 2e 42 49 4f 20 6f 62 6a 65 63 74 2e 0a 0a 20 20 20 20 3a | .M2Crypto.BIO.BIO.object.......: |
39260 | 70 61 72 61 6d 20 62 69 6f 3a 20 4d 32 43 72 79 70 74 6f 2e 42 49 4f 2e 42 49 4f 20 6f 62 6a 65 | param.bio:.M2Crypto.BIO.BIO.obje |
39280 | 63 74 20 63 6f 6e 74 61 69 6e 69 6e 67 20 52 53 41 20 70 75 62 6c 69 63 20 6b 65 79 20 69 6e 20 | ct.containing.RSA.public.key.in. |
392a0 | 50 45 4d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 6d 61 74 2e 0a 0a 20 20 20 | PEM.................format...... |
392c0 | 20 3a 72 65 74 75 72 6e 3a 20 4d 32 43 72 79 70 74 6f 2e 52 53 41 2e 52 53 41 5f 70 75 62 20 6f | .:return:.M2Crypto.RSA.RSA_pub.o |
392e0 | 62 6a 65 63 74 2e 0a 20 20 20 20 22 22 22 0a 20 20 20 20 72 73 61 20 3d 20 6d 32 2e 72 73 61 5f | bject......""".....rsa.=.m2.rsa_ |
39300 | 72 65 61 64 5f 70 75 62 5f 6b 65 79 28 62 69 6f 2e 5f 70 74 72 28 29 29 0a 20 20 20 20 69 66 20 | read_pub_key(bio._ptr()).....if. |
39320 | 72 73 61 20 69 73 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 72 73 61 5f 65 72 72 6f 72 28 29 | rsa.is.None:.........rsa_error() |
39340 | 0a 20 20 20 20 72 65 74 75 72 6e 20 52 53 41 5f 70 75 62 28 72 73 61 2c 20 31 29 0a 0a 0a 64 65 | .....return.RSA_pub(rsa,.1)...de |
39360 | 66 20 6e 65 77 5f 70 75 62 5f 6b 65 79 28 65 5f 6e 29 3a 0a 20 20 20 20 23 20 74 79 70 65 3a 20 | f.new_pub_key(e_n):.....#.type:. |
39380 | 28 54 75 70 6c 65 5b 62 79 74 65 73 2c 20 62 79 74 65 73 5d 29 20 2d 3e 20 52 53 41 5f 70 75 62 | (Tuple[bytes,.bytes]).->.RSA_pub |
393a0 | 0a 20 20 20 20 22 22 22 0a 20 20 20 20 49 6e 73 74 61 6e 74 69 61 74 65 20 61 6e 20 52 53 41 5f | .....""".....Instantiate.an.RSA_ |
393c0 | 70 75 62 20 6f 62 6a 65 63 74 20 66 72 6f 6d 20 61 6e 20 28 65 2c 20 6e 29 20 74 75 70 6c 65 2e | pub.object.from.an.(e,.n).tuple. |
393e0 | 0a 0a 20 20 20 20 3a 70 61 72 61 6d 20 65 3a 20 54 68 65 20 52 53 41 20 70 75 62 6c 69 63 20 65 | ......:param.e:.The.RSA.public.e |
39400 | 78 70 6f 6e 65 6e 74 3b 20 69 74 20 69 73 20 61 20 73 74 72 69 6e 67 20 69 6e 20 4f 70 65 6e 53 | xponent;.it.is.a.string.in.OpenS |
39420 | 53 4c 27 73 20 4d 50 49 4e 54 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 6d 61 74 20 | SL's.MPINT...............format. |
39440 | 2d 20 34 2d 62 79 74 65 20 62 69 67 2d 65 6e 64 69 61 6e 20 62 69 74 2d 63 6f 75 6e 74 20 66 6f | -.4-byte.big-endian.bit-count.fo |
39460 | 6c 6c 6f 77 65 64 20 62 79 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 70 70 72 | llowed.by.the...............appr |
39480 | 6f 70 72 69 61 74 65 20 6e 75 6d 62 65 72 20 6f 66 20 62 69 74 73 2e 0a 0a 20 20 20 20 3a 70 61 | opriate.number.of.bits.......:pa |
394a0 | 72 61 6d 20 6e 3a 20 54 68 65 20 52 53 41 20 63 6f 6d 70 6f 73 69 74 65 20 6f 66 20 70 72 69 6d | ram.n:.The.RSA.composite.of.prim |
394c0 | 65 73 3b 20 69 74 20 69 73 20 61 20 73 74 72 69 6e 67 20 69 6e 20 4f 70 65 6e 53 53 4c 27 73 0a | es;.it.is.a.string.in.OpenSSL's. |
394e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4d 50 49 4e 54 20 66 6f 72 6d 61 74 20 2d 20 34 2d 62 | ..............MPINT.format.-.4-b |
39500 | 79 74 65 20 62 69 67 2d 65 6e 64 69 61 6e 20 62 69 74 2d 63 6f 75 6e 74 20 66 6f 6c 6c 6f 77 65 | yte.big-endian.bit-count.followe |
39520 | 64 20 62 79 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 70 70 72 6f 70 72 69 61 | d.by.the...............appropria |
39540 | 74 65 20 6e 75 6d 62 65 72 20 6f 66 20 62 69 74 73 2e 0a 0a 20 20 20 20 3a 72 65 74 75 72 6e 3a | te.number.of.bits.......:return: |
39560 | 20 4d 32 43 72 79 70 74 6f 2e 52 53 41 2e 52 53 41 5f 70 75 62 20 6f 62 6a 65 63 74 2e 0a 20 20 | .M2Crypto.RSA.RSA_pub.object.... |
39580 | 20 20 22 22 22 0a 20 20 20 20 28 65 2c 20 6e 29 20 3d 20 65 5f 6e 0a 20 20 20 20 72 73 61 20 3d | ..""".....(e,.n).=.e_n.....rsa.= |
395a0 | 20 6d 32 2e 72 73 61 5f 6e 65 77 28 29 0a 20 20 20 20 6d 32 2e 72 73 61 5f 73 65 74 5f 65 6e 28 | .m2.rsa_new().....m2.rsa_set_en( |
395c0 | 72 73 61 2c 20 65 2c 20 6e 29 0a 20 20 20 20 72 65 74 75 72 6e 20 52 53 41 5f 70 75 62 28 72 73 | rsa,.e,.n).....return.RSA_pub(rs |
395e0 | 61 2c 20 31 29 0a 94 7d 94 28 8c 08 52 53 41 45 72 72 6f 72 94 6a 0d 02 00 00 4b 0e 4b 0f 87 94 | a,.1)..}.(..RSAError.j....K.K... |
39600 | 8c 0c 52 53 41 2e 5f 5f 69 6e 69 74 5f 5f 94 8c 03 64 65 66 94 4b 20 4b 27 87 94 8c 0b 52 53 41 | ..RSA.__init__...def.K.K'....RSA |
39620 | 2e 5f 5f 64 65 6c 5f 5f 94 6a 9c 22 00 00 4b 29 4b 2c 87 94 8c 0b 52 53 41 2e 5f 5f 6c 65 6e 5f | .__del__.j."..K)K,....RSA.__len_ |
39640 | 5f 94 6a 9c 22 00 00 4b 2e 4b 30 87 94 8c 0f 52 53 41 2e 5f 5f 67 65 74 61 74 74 72 5f 5f 94 6a | _.j."..K.K0....RSA.__getattr__.j |
39660 | 9c 22 00 00 4b 32 4b 39 87 94 8c 07 52 53 41 2e 70 75 62 94 6a 9c 22 00 00 4b 3b 4b 3e 87 94 8c | ."..K2K9....RSA.pub.j."..K;K>... |
39680 | 12 52 53 41 2e 70 75 62 6c 69 63 5f 65 6e 63 72 79 70 74 94 6a 9c 22 00 00 4b 40 4b 43 87 94 8c | .RSA.public_encrypt.j."..K@KC... |
396a0 | 12 52 53 41 2e 70 75 62 6c 69 63 5f 64 65 63 72 79 70 74 94 6a 9c 22 00 00 4b 45 4b 48 87 94 8c | .RSA.public_decrypt.j."..KEKH... |
396c0 | 13 52 53 41 2e 70 72 69 76 61 74 65 5f 65 6e 63 72 79 70 74 94 6a 9c 22 00 00 4b 4a 4b 4d 87 94 | .RSA.private_encrypt.j."..KJKM.. |
396e0 | 8c 13 52 53 41 2e 70 72 69 76 61 74 65 5f 64 65 63 72 79 70 74 94 6a 9c 22 00 00 4b 4f 4b 52 87 | ..RSA.private_decrypt.j."..KOKR. |
39700 | 94 8c 10 52 53 41 2e 73 61 76 65 5f 6b 65 79 5f 62 69 6f 94 6a 9c 22 00 00 4b 54 4b 6d 87 94 8c | ...RSA.save_key_bio.j."..KTKm... |
39720 | 0c 52 53 41 2e 73 61 76 65 5f 6b 65 79 94 6a 9c 22 00 00 4b 6f 4b 81 87 94 8c 0a 52 53 41 2e 61 | .RSA.save_key.j."..KoK.....RSA.a |
39740 | 73 5f 70 65 6d 94 6a 9c 22 00 00 4b 85 4b 8c 87 94 8c 14 52 53 41 2e 73 61 76 65 5f 6b 65 79 5f | s_pem.j."..K.K.....RSA.save_key_ |
39760 | 64 65 72 5f 62 69 6f 94 6a 9c 22 00 00 4b 8e 4b 95 87 94 8c 10 52 53 41 2e 73 61 76 65 5f 6b 65 | der_bio.j."..K.K.....RSA.save_ke |
39780 | 79 5f 64 65 72 94 6a 9c 22 00 00 4b 97 4b 9f 87 94 8c 14 52 53 41 2e 73 61 76 65 5f 70 75 62 5f | y_der.j."..K.K.....RSA.save_pub_ |
397a0 | 6b 65 79 5f 62 69 6f 94 6a 9c 22 00 00 4b a1 4b a8 87 94 8c 10 52 53 41 2e 73 61 76 65 5f 70 75 | key_bio.j."..K.K.....RSA.save_pu |
397c0 | 62 5f 6b 65 79 94 6a 9c 22 00 00 4b aa 4b b2 87 94 8c 0d 52 53 41 2e 63 68 65 63 6b 5f 6b 65 79 | b_key.j."..K.K.....RSA.check_key |
397e0 | 94 6a 9c 22 00 00 4b b4 4b c0 87 94 8c 13 52 53 41 2e 73 69 67 6e 5f 72 73 61 73 73 61 5f 70 73 | .j."..K.K.....RSA.sign_rsassa_ps |
39800 | 73 94 6a 9c 22 00 00 4b c2 4b d8 87 94 8c 15 52 53 41 2e 76 65 72 69 66 79 5f 72 73 61 73 73 61 | s.j."..K.K.....RSA.verify_rsassa |
39820 | 5f 70 73 73 94 6a 9c 22 00 00 4b da 4b f3 87 94 8c 08 52 53 41 2e 73 69 67 6e 94 6a 9c 22 00 00 | _pss.j."..K.K.....RSA.sign.j.".. |
39840 | 4b f5 4d 06 01 87 94 8c 0a 52 53 41 2e 76 65 72 69 66 79 94 6a 9c 22 00 00 4d 08 01 4d 1c 01 87 | K.M......RSA.verify.j."..M..M... |
39860 | 94 8c 03 52 53 41 94 6a 0d 02 00 00 4b 19 4d 1c 01 87 94 8c 13 52 53 41 5f 70 75 62 2e 5f 5f 73 | ...RSA.j....K.M......RSA_pub.__s |
39880 | 65 74 61 74 74 72 5f 5f 94 6a 9c 22 00 00 4d 25 01 4d 2a 01 87 94 8c 17 52 53 41 5f 70 75 62 2e | etattr__.j."..M%.M*.....RSA_pub. |
398a0 | 70 72 69 76 61 74 65 5f 65 6e 63 72 79 70 74 94 6a 9c 22 00 00 4d 2c 01 4d 2e 01 87 94 8c 17 52 | private_encrypt.j."..M,.M......R |
398c0 | 53 41 5f 70 75 62 2e 70 72 69 76 61 74 65 5f 64 65 63 72 79 70 74 94 6a 9c 22 00 00 4d 30 01 4d | SA_pub.private_decrypt.j."..M0.M |
398e0 | 32 01 87 94 8c 10 52 53 41 5f 70 75 62 2e 73 61 76 65 5f 6b 65 79 94 6a 9c 22 00 00 4d 34 01 4d | 2.....RSA_pub.save_key.j."..M4.M |
39900 | 39 01 87 94 8c 14 52 53 41 5f 70 75 62 2e 73 61 76 65 5f 6b 65 79 5f 62 69 6f 94 6a 9c 22 00 00 | 9.....RSA_pub.save_key_bio.j.".. |
39920 | 4d 3b 01 4d 40 01 87 94 8c 11 52 53 41 5f 70 75 62 2e 63 68 65 63 6b 5f 6b 65 79 94 6a 9c 22 00 | M;.M@.....RSA_pub.check_key.j.". |
39940 | 00 4d 46 01 4d 48 01 87 94 8c 07 52 53 41 5f 70 75 62 94 6a 0d 02 00 00 4d 1f 01 4d 48 01 87 94 | .MF.MH.....RSA_pub.j....M..MH... |
39960 | 8c 09 72 73 61 5f 65 72 72 6f 72 94 6a 9c 22 00 00 4d 4b 01 4d 4d 01 87 94 8c 0f 6b 65 79 67 65 | ..rsa_error.j."..MK.MM.....keyge |
39980 | 6e 5f 63 61 6c 6c 62 61 63 6b 94 6a 9c 22 00 00 4d 50 01 4d 57 01 87 94 8c 07 67 65 6e 5f 6b 65 | n_callback.j."..MP.MW.....gen_ke |
399a0 | 79 94 6a 9c 22 00 00 4d 5a 01 4d 6a 01 87 94 8c 08 6c 6f 61 64 5f 6b 65 79 94 6a 9c 22 00 00 4d | y.j."..MZ.Mj.....load_key.j."..M |
399c0 | 6d 01 4d 7b 01 87 94 8c 0c 6c 6f 61 64 5f 6b 65 79 5f 62 69 6f 94 6a 9c 22 00 00 4d 7e 01 4d 8f | m.M{.....load_key_bio.j."..M~.M. |
399e0 | 01 87 94 8c 0f 6c 6f 61 64 5f 6b 65 79 5f 73 74 72 69 6e 67 94 6a 9c 22 00 00 4d 92 01 4d a0 01 | .....load_key_string.j."..M..M.. |
39a00 | 87 94 8c 0c 6c 6f 61 64 5f 70 75 62 5f 6b 65 79 94 6a 9c 22 00 00 4d a3 01 4d ad 01 87 94 8c 10 | ....load_pub_key.j."..M..M...... |
39a20 | 6c 6f 61 64 5f 70 75 62 5f 6b 65 79 5f 62 69 6f 94 6a 9c 22 00 00 4d b0 01 4d bd 01 87 94 8c 0b | load_pub_key_bio.j."..M..M...... |
39a40 | 6e 65 77 5f 70 75 62 5f 6b 65 79 94 6a 9c 22 00 00 4d c0 01 4d d2 01 87 94 75 7d 94 28 8c 03 52 | new_pub_key.j."..M..M....u}.(..R |
39a60 | 53 41 94 6a 53 02 00 00 8c 0a 52 53 41 2e 61 73 5f 70 65 6d 94 6a 53 02 00 00 8c 0d 52 53 41 2e | SA.jS.....RSA.as_pem.jS.....RSA. |
39a80 | 63 68 65 63 6b 5f 6b 65 79 94 6a 53 02 00 00 8c 13 52 53 41 2e 70 72 69 76 61 74 65 5f 64 65 63 | check_key.jS.....RSA.private_dec |
39aa0 | 72 79 70 74 94 6a 53 02 00 00 8c 13 52 53 41 2e 70 72 69 76 61 74 65 5f 65 6e 63 72 79 70 74 94 | rypt.jS.....RSA.private_encrypt. |
39ac0 | 6a 53 02 00 00 8c 07 52 53 41 2e 70 75 62 94 6a 53 02 00 00 8c 12 52 53 41 2e 70 75 62 6c 69 63 | jS.....RSA.pub.jS.....RSA.public |
39ae0 | 5f 64 65 63 72 79 70 74 94 6a 53 02 00 00 8c 12 52 53 41 2e 70 75 62 6c 69 63 5f 65 6e 63 72 79 | _decrypt.jS.....RSA.public_encry |
39b00 | 70 74 94 6a 53 02 00 00 8c 0c 52 53 41 2e 73 61 76 65 5f 6b 65 79 94 6a 53 02 00 00 8c 10 52 53 | pt.jS.....RSA.save_key.jS.....RS |
39b20 | 41 2e 73 61 76 65 5f 6b 65 79 5f 62 69 6f 94 6a 53 02 00 00 8c 10 52 53 41 2e 73 61 76 65 5f 6b | A.save_key_bio.jS.....RSA.save_k |
39b40 | 65 79 5f 64 65 72 94 6a 53 02 00 00 8c 14 52 53 41 2e 73 61 76 65 5f 6b 65 79 5f 64 65 72 5f 62 | ey_der.jS.....RSA.save_key_der_b |
39b60 | 69 6f 94 6a 53 02 00 00 8c 10 52 53 41 2e 73 61 76 65 5f 70 75 62 5f 6b 65 79 94 6a 53 02 00 00 | io.jS.....RSA.save_pub_key.jS... |
39b80 | 8c 14 52 53 41 2e 73 61 76 65 5f 70 75 62 5f 6b 65 79 5f 62 69 6f 94 6a 53 02 00 00 8c 08 52 53 | ..RSA.save_pub_key_bio.jS.....RS |
39ba0 | 41 2e 73 69 67 6e 94 6a 53 02 00 00 8c 13 52 53 41 2e 73 69 67 6e 5f 72 73 61 73 73 61 5f 70 73 | A.sign.jS.....RSA.sign_rsassa_ps |
39bc0 | 73 94 6a 53 02 00 00 8c 0a 52 53 41 2e 76 65 72 69 66 79 94 6a 53 02 00 00 8c 15 52 53 41 2e 76 | s.jS.....RSA.verify.jS.....RSA.v |
39be0 | 65 72 69 66 79 5f 72 73 61 73 73 61 5f 70 73 73 94 6a 53 02 00 00 6a a5 1d 00 00 6a 53 02 00 00 | erify_rsassa_pss.jS...j....jS... |
39c00 | 8c 07 52 53 41 5f 70 75 62 94 6a 53 02 00 00 8c 11 52 53 41 5f 70 75 62 2e 63 68 65 63 6b 5f 6b | ..RSA_pub.jS.....RSA_pub.check_k |
39c20 | 65 79 94 6a 53 02 00 00 8c 17 52 53 41 5f 70 75 62 2e 70 72 69 76 61 74 65 5f 64 65 63 72 79 70 | ey.jS.....RSA_pub.private_decryp |
39c40 | 74 94 6a 53 02 00 00 8c 17 52 53 41 5f 70 75 62 2e 70 72 69 76 61 74 65 5f 65 6e 63 72 79 70 74 | t.jS.....RSA_pub.private_encrypt |
39c60 | 94 6a 53 02 00 00 8c 10 52 53 41 5f 70 75 62 2e 73 61 76 65 5f 6b 65 79 94 6a 53 02 00 00 8c 14 | .jS.....RSA_pub.save_key.jS..... |
39c80 | 52 53 41 5f 70 75 62 2e 73 61 76 65 5f 6b 65 79 5f 62 69 6f 94 6a 53 02 00 00 8c 07 67 65 6e 5f | RSA_pub.save_key_bio.jS.....gen_ |
39ca0 | 6b 65 79 94 6a 53 02 00 00 8c 0f 6b 65 79 67 65 6e 5f 63 61 6c 6c 62 61 63 6b 94 6a 53 02 00 00 | key.jS.....keygen_callback.jS... |
39cc0 | 8c 08 6c 6f 61 64 5f 6b 65 79 94 6a 53 02 00 00 8c 0c 6c 6f 61 64 5f 6b 65 79 5f 62 69 6f 94 6a | ..load_key.jS.....load_key_bio.j |
39ce0 | 53 02 00 00 8c 0f 6c 6f 61 64 5f 6b 65 79 5f 73 74 72 69 6e 67 94 6a 53 02 00 00 8c 0c 6c 6f 61 | S.....load_key_string.jS.....loa |
39d00 | 64 5f 70 75 62 5f 6b 65 79 94 6a 53 02 00 00 8c 10 6c 6f 61 64 5f 70 75 62 5f 6b 65 79 5f 62 69 | d_pub_key.jS.....load_pub_key_bi |
39d20 | 6f 94 6a 53 02 00 00 8c 0b 6e 65 77 5f 70 75 62 5f 6b 65 79 94 6a 53 02 00 00 8c 09 72 73 61 5f | o.jS.....new_pub_key.jS.....rsa_ |
39d40 | 65 72 72 6f 72 94 6a 53 02 00 00 75 8c 0c 4d 32 43 72 79 70 74 6f 2e 52 53 41 94 74 94 8c 0d 4d | error.jS...u..M2Crypto.RSA.t...M |
39d60 | 32 43 72 79 70 74 6f 2e 52 61 6e 64 94 28 58 78 11 00 00 22 22 22 4d 32 43 72 79 70 74 6f 20 77 | 2Crypto.Rand.(Xx..."""M2Crypto.w |
39d80 | 72 61 70 70 65 72 20 66 6f 72 20 4f 70 65 6e 53 53 4c 20 50 52 4e 47 2e 20 52 65 71 75 69 72 65 | rapper.for.OpenSSL.PRNG..Require |
39da0 | 73 20 4f 70 65 6e 53 53 4c 20 30 2e 39 2e 35 20 61 6e 64 20 61 62 6f 76 65 2e 0a 0a 43 6f 70 79 | s.OpenSSL.0.9.5.and.above...Copy |
39dc0 | 72 69 67 68 74 20 28 63 29 20 31 39 39 39 2d 32 30 30 33 20 4e 67 20 50 68 65 6e 67 20 53 69 6f | right.(c).1999-2003.Ng.Pheng.Sio |
39de0 | 6e 67 2e 20 41 6c 6c 20 72 69 67 68 74 73 20 72 65 73 65 72 76 65 64 2e 0a 43 6f 70 79 72 69 67 | ng..All.rights.reserved..Copyrig |
39e00 | 68 74 20 28 63 29 20 32 30 31 34 2d 32 30 31 37 20 4d 61 74 65 6a 20 43 65 70 6c 2e 20 41 6c 6c | ht.(c).2014-2017.Matej.Cepl..All |
39e20 | 20 72 69 67 68 74 73 20 72 65 73 65 72 76 65 64 2e 0a 0a 53 65 65 20 4c 49 43 45 4e 43 45 20 66 | .rights.reserved...See.LICENCE.f |
39e40 | 6f 72 20 74 68 65 20 6c 69 63 65 6e 73 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e 0a 22 22 22 0a | or.the.license.information..""". |
39e60 | 66 72 6f 6d 20 5f 5f 66 75 74 75 72 65 5f 5f 20 69 6d 70 6f 72 74 20 61 62 73 6f 6c 75 74 65 5f | from.__future__.import.absolute_ |
39e80 | 69 6d 70 6f 72 74 0a 0a 66 72 6f 6d 20 4d 32 43 72 79 70 74 6f 20 69 6d 70 6f 72 74 20 6d 32 2c | import..from.M2Crypto.import.m2, |
39ea0 | 20 70 79 32 37 70 6c 75 73 2c 20 73 69 78 0a 69 66 20 70 79 32 37 70 6c 75 73 3a 0a 20 20 20 20 | .py27plus,.six.if.py27plus:..... |
39ec0 | 66 72 6f 6d 20 74 79 70 69 6e 67 20 69 6d 70 6f 72 74 20 41 6e 79 53 74 72 2c 20 54 75 70 6c 65 | from.typing.import.AnyStr,.Tuple |
39ee0 | 20 20 23 20 6e 6f 71 61 0a 0a 0a 5f 5f 61 6c 6c 5f 5f 20 3d 20 5b 27 72 61 6e 64 5f 73 65 65 64 | ..#.noqa...__all__.=.['rand_seed |
39f00 | 27 2c 20 27 72 61 6e 64 5f 61 64 64 27 2c 20 27 6c 6f 61 64 5f 66 69 6c 65 27 2c 20 27 73 61 76 | ',.'rand_add',.'load_file',.'sav |
39f20 | 65 5f 66 69 6c 65 27 2c 20 27 72 61 6e 64 5f 62 79 74 65 73 27 2c 0a 20 20 20 20 20 20 20 20 20 | e_file',.'rand_bytes',.......... |
39f40 | 20 20 27 72 61 6e 64 5f 70 73 65 75 64 6f 5f 62 79 74 65 73 27 2c 20 27 72 61 6e 64 5f 66 69 6c | ..'rand_pseudo_bytes',.'rand_fil |
39f60 | 65 5f 6e 61 6d 65 27 2c 20 27 72 61 6e 64 5f 73 74 61 74 75 73 27 5d 0a 0a 0a 63 6c 61 73 73 20 | e_name',.'rand_status']...class. |
39f80 | 52 61 6e 64 45 72 72 6f 72 28 56 61 6c 75 65 45 72 72 6f 72 29 3a 0a 20 20 20 20 70 61 73 73 0a | RandError(ValueError):.....pass. |
39fa0 | 0a 6d 32 2e 72 61 6e 64 5f 69 6e 69 74 28 52 61 6e 64 45 72 72 6f 72 29 0a 0a 0a 64 65 66 20 72 | .m2.rand_init(RandError)...def.r |
39fc0 | 61 6e 64 5f 61 64 64 28 62 6c 6f 62 2c 20 65 6e 74 72 6f 70 79 29 3a 0a 20 20 20 20 23 20 74 79 | and_add(blob,.entropy):.....#.ty |
39fe0 | 70 65 3a 20 28 62 79 74 65 73 2c 20 66 6c 6f 61 74 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 22 | pe:.(bytes,.float).->.None....." |
3a000 | 22 22 0a 20 20 20 20 4d 69 78 65 73 20 62 6c 6f 62 20 69 6e 74 6f 20 74 68 65 20 50 52 4e 47 20 | "".....Mixes.blob.into.the.PRNG. |
3a020 | 73 74 61 74 65 2e 0a 0a 20 20 20 20 3a 70 61 72 61 6d 20 62 6c 6f 62 3a 20 61 64 64 65 64 20 64 | state.......:param.blob:.added.d |
3a040 | 61 74 61 0a 20 20 20 20 3a 70 61 72 61 6d 20 65 6e 74 72 6f 70 79 3a 20 28 74 68 65 20 6c 6f 77 | ata.....:param.entropy:.(the.low |
3a060 | 65 72 20 62 6f 75 6e 64 20 6f 66 29 20 61 6e 20 65 73 74 69 6d 61 74 65 20 6f 66 20 68 6f 77 20 | er.bound.of).an.estimate.of.how. |
3a080 | 6d 75 63 68 20 72 61 6e 64 6f 6d 6e 65 73 73 0a 20 20 20 20 20 20 20 20 69 73 20 63 6f 6e 74 61 | much.randomness.........is.conta |
3a0a0 | 69 6e 65 64 20 69 6e 20 62 6c 6f 62 2c 20 6d 65 61 73 75 72 65 64 20 69 6e 20 62 79 74 65 73 2e | ined.in.blob,.measured.in.bytes. |
3a0c0 | 0a 0a 20 20 20 20 54 68 75 73 2c 20 69 66 20 74 68 65 20 64 61 74 61 20 61 74 20 62 75 66 20 61 | ......Thus,.if.the.data.at.buf.a |
3a0e0 | 72 65 20 75 6e 70 72 65 64 69 63 74 61 62 6c 65 20 74 6f 20 61 6e 20 61 64 76 65 72 73 61 72 79 | re.unpredictable.to.an.adversary |
3a100 | 2c 20 74 68 69 73 0a 20 20 20 20 69 6e 63 72 65 61 73 65 73 20 74 68 65 20 75 6e 63 65 72 74 61 | ,.this.....increases.the.uncerta |
3a120 | 69 6e 74 79 20 61 62 6f 75 74 20 74 68 65 20 73 74 61 74 65 20 61 6e 64 20 6d 61 6b 65 73 20 74 | inty.about.the.state.and.makes.t |
3a140 | 68 65 20 50 52 4e 47 20 6f 75 74 70 75 74 20 6c 65 73 73 0a 20 20 20 20 70 72 65 64 69 63 74 61 | he.PRNG.output.less.....predicta |
3a160 | 62 6c 65 2e 20 53 75 69 74 61 62 6c 65 20 69 6e 70 75 74 20 63 6f 6d 65 73 20 66 72 6f 6d 20 75 | ble..Suitable.input.comes.from.u |
3a180 | 73 65 72 20 69 6e 74 65 72 61 63 74 69 6f 6e 20 28 72 61 6e 64 6f 6d 20 6b 65 79 0a 20 20 20 20 | ser.interaction.(random.key..... |
3a1a0 | 70 72 65 73 73 65 73 2c 20 6d 6f 75 73 65 20 6d 6f 76 65 6d 65 6e 74 73 29 20 61 6e 64 20 63 65 | presses,.mouse.movements).and.ce |
3a1c0 | 72 74 61 69 6e 20 68 61 72 64 77 61 72 65 20 65 76 65 6e 74 73 2e 0a 0a 20 20 20 20 44 65 74 61 | rtain.hardware.events.......Deta |
3a1e0 | 69 6c 73 20 61 62 6f 75 74 20 73 6f 75 72 63 65 73 20 6f 66 20 72 61 6e 64 6f 6d 6e 65 73 73 20 | ils.about.sources.of.randomness. |
3a200 | 61 6e 64 20 68 6f 77 20 74 6f 20 65 73 74 69 6d 61 74 65 20 74 68 65 69 72 20 65 6e 74 72 6f 70 | and.how.to.estimate.their.entrop |
3a220 | 79 0a 20 20 20 20 63 61 6e 20 62 65 20 66 6f 75 6e 64 20 69 6e 20 74 68 65 20 6c 69 74 65 72 61 | y.....can.be.found.in.the.litera |
3a240 | 74 75 72 65 2c 20 65 2e 67 2e 20 52 46 43 20 31 37 35 30 2e 0a 20 20 20 20 22 22 22 0a 20 20 20 | ture,.e.g..RFC.1750......""".... |
3a260 | 20 6d 32 2e 72 61 6e 64 5f 61 64 64 28 62 6c 6f 62 2c 20 65 6e 74 72 6f 70 79 29 20 20 23 20 70 | .m2.rand_add(blob,.entropy)..#.p |
3a280 | 79 6c 69 6e 74 3a 20 64 69 73 61 62 6c 65 3d 6e 6f 2d 6d 65 6d 62 65 72 0a 0a 0a 64 65 66 20 72 | ylint:.disable=no-member...def.r |
3a2a0 | 61 6e 64 5f 73 65 65 64 28 73 65 65 64 29 3a 0a 20 20 20 20 23 20 74 79 70 65 3a 20 28 62 79 74 | and_seed(seed):.....#.type:.(byt |
3a2c0 | 65 73 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 22 22 22 0a 20 20 20 20 45 71 75 69 76 61 6c 65 | es).->.None.....""".....Equivale |
3a2e0 | 6e 74 20 74 6f 20 72 61 6e 64 5f 61 64 64 28 29 20 77 68 65 6e 20 6c 65 6e 28 73 65 65 64 29 20 | nt.to.rand_add().when.len(seed). |
3a300 | 3d 3d 20 65 6e 74 72 6f 70 79 2e 0a 0a 20 20 20 20 3a 70 61 72 61 6d 20 73 65 65 64 3a 20 61 64 | ==.entropy.......:param.seed:.ad |
3a320 | 64 65 64 20 64 61 74 61 20 28 73 65 65 20 64 65 73 63 72 69 70 74 69 6f 6e 20 61 74 20 72 61 6e | ded.data.(see.description.at.ran |
3a340 | 64 5f 61 64 64 29 0a 20 20 20 20 22 22 22 0a 20 20 20 20 6d 32 2e 72 61 6e 64 5f 73 65 65 64 28 | d_add).....""".....m2.rand_seed( |
3a360 | 73 65 65 64 29 20 20 23 20 70 79 6c 69 6e 74 3a 20 64 69 73 61 62 6c 65 3d 6e 6f 2d 6d 65 6d 62 | seed)..#.pylint:.disable=no-memb |
3a380 | 65 72 0a 0a 0a 64 65 66 20 72 61 6e 64 5f 73 74 61 74 75 73 28 29 3a 0a 20 20 20 20 23 20 74 79 | er...def.rand_status():.....#.ty |
3a3a0 | 70 65 3a 20 28 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 22 22 22 0a 20 20 20 20 43 68 65 63 6b 20 | pe:.().->.int.....""".....Check. |
3a3c0 | 77 68 65 74 68 65 72 20 74 68 65 72 65 20 69 73 20 65 6e 6f 75 67 68 20 65 6e 74 72 6f 70 79 20 | whether.there.is.enough.entropy. |
3a3e0 | 69 6e 20 50 52 4e 47 2e 0a 0a 20 20 20 20 3a 72 65 74 75 72 6e 3a 20 31 20 69 66 20 74 68 65 20 | in.PRNG.......:return:.1.if.the. |
3a400 | 50 52 4e 47 20 68 61 73 20 62 65 65 6e 20 73 65 65 64 65 64 20 77 69 74 68 20 65 6e 6f 75 67 68 | PRNG.has.been.seeded.with.enough |
3a420 | 0a 20 20 20 20 20 20 20 64 61 74 61 2c 20 30 20 6f 74 68 65 72 77 69 73 65 2e 0a 20 20 20 20 22 | ........data,.0.otherwise......" |
3a440 | 22 22 0a 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 72 61 6e 64 5f 73 74 61 74 75 73 28 29 20 20 | "".....return.m2.rand_status().. |
3a460 | 23 20 70 79 6c 69 6e 74 3a 20 64 69 73 61 62 6c 65 3d 6e 6f 2d 6d 65 6d 62 65 72 0a 0a 0a 64 65 | #.pylint:.disable=no-member...de |
3a480 | 66 20 72 61 6e 64 5f 66 69 6c 65 5f 6e 61 6d 65 28 29 3a 0a 20 20 20 20 23 20 74 79 70 65 3a 20 | f.rand_file_name():.....#.type:. |
3a4a0 | 28 29 20 2d 3e 20 73 74 72 0a 20 20 20 20 22 22 22 0a 20 20 20 20 47 65 6e 65 72 61 74 65 20 61 | ().->.str.....""".....Generate.a |
3a4c0 | 20 64 65 66 61 75 6c 74 20 70 61 74 68 20 66 6f 72 20 74 68 65 20 72 61 6e 64 6f 6d 20 73 65 65 | .default.path.for.the.random.see |
3a4e0 | 64 20 66 69 6c 65 2e 0a 0a 20 20 20 20 3a 72 65 74 75 72 6e 3a 20 73 74 72 69 6e 67 20 77 69 74 | d.file.......:return:.string.wit |
3a500 | 68 20 74 68 65 20 66 69 6c 65 6e 61 6d 65 2e 0a 20 20 20 20 20 20 20 54 68 65 20 73 65 65 64 20 | h.the.filename.........The.seed. |
3a520 | 66 69 6c 65 20 69 73 20 24 52 41 4e 44 46 49 4c 45 20 69 66 20 74 68 61 74 20 65 6e 76 69 72 6f | file.is.$RANDFILE.if.that.enviro |
3a540 | 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 0a 20 20 20 20 20 20 20 69 73 20 73 65 74 2c 20 24 48 | nment.variable........is.set,.$H |
3a560 | 4f 4d 45 2f 2e 72 6e 64 20 6f 74 68 65 72 77 69 73 65 2e 20 49 66 20 24 48 4f 4d 45 20 69 73 20 | OME/.rnd.otherwise..If.$HOME.is. |
3a580 | 6e 6f 74 20 73 65 74 20 65 69 74 68 65 72 2c 0a 20 20 20 20 20 20 20 61 6e 20 65 72 72 6f 72 20 | not.set.either,........an.error. |
3a5a0 | 6f 63 63 75 72 73 2e 0a 20 20 20 20 22 22 22 0a 20 20 20 20 72 65 74 75 72 6e 20 73 69 78 2e 65 | occurs......""".....return.six.e |
3a5c0 | 6e 73 75 72 65 5f 74 65 78 74 28 6d 32 2e 72 61 6e 64 5f 66 69 6c 65 5f 6e 61 6d 65 28 29 29 20 | nsure_text(m2.rand_file_name()). |
3a5e0 | 20 23 20 70 79 6c 69 6e 74 3a 20 64 69 73 61 62 6c 65 3d 6e 6f 2d 6d 65 6d 62 65 72 0a 0a 0a 64 | .#.pylint:.disable=no-member...d |
3a600 | 65 66 20 6c 6f 61 64 5f 66 69 6c 65 28 66 69 6c 65 6e 61 6d 65 2c 20 6d 61 78 5f 62 79 74 65 73 | ef.load_file(filename,.max_bytes |
3a620 | 29 3a 0a 20 20 20 20 23 20 74 79 70 65 3a 20 28 41 6e 79 53 74 72 2c 20 69 6e 74 29 20 2d 3e 20 | ):.....#.type:.(AnyStr,.int).->. |
3a640 | 69 6e 74 0a 20 20 20 20 22 22 22 0a 20 20 20 20 52 65 61 64 20 61 20 6e 75 6d 62 65 72 20 6f 66 | int.....""".....Read.a.number.of |
3a660 | 20 62 79 74 65 73 20 66 72 6f 6d 20 66 69 6c 65 20 66 69 6c 65 6e 61 6d 65 20 61 6e 64 20 61 64 | .bytes.from.file.filename.and.ad |
3a680 | 64 73 20 74 68 65 6d 20 74 6f 20 74 68 65 20 50 52 4e 47 2e 0a 0a 20 20 20 20 49 66 20 6d 61 78 | ds.them.to.the.PRNG.......If.max |
3a6a0 | 5f 62 79 74 65 73 20 69 73 20 6e 6f 6e 2d 6e 65 67 61 74 69 76 65 2c 20 75 70 20 74 6f 20 74 6f | _bytes.is.non-negative,.up.to.to |
3a6c0 | 20 6d 61 78 5f 62 79 74 65 73 20 61 72 65 20 72 65 61 64 3b 20 73 74 61 72 74 69 6e 67 20 77 69 | .max_bytes.are.read;.starting.wi |
3a6e0 | 74 68 0a 20 20 20 20 4f 70 65 6e 53 53 4c 20 30 2e 39 2e 35 2c 20 69 66 20 6d 61 78 5f 62 79 74 | th.....OpenSSL.0.9.5,.if.max_byt |
3a700 | 65 73 20 69 73 20 2d 31 2c 20 74 68 65 20 63 6f 6d 70 6c 65 74 65 20 66 69 6c 65 20 69 73 20 72 | es.is.-1,.the.complete.file.is.r |
3a720 | 65 61 64 2e 0a 0a 20 20 20 20 3a 70 61 72 61 6d 20 66 69 6c 65 6e 61 6d 65 3a 0a 20 20 20 20 3a | ead.......:param.filename:.....: |
3a740 | 70 61 72 61 6d 20 6d 61 78 5f 62 79 74 65 73 3a 0a 20 20 20 20 3a 72 65 74 75 72 6e 3a 20 74 68 | param.max_bytes:.....:return:.th |
3a760 | 65 20 6e 75 6d 62 65 72 20 6f 66 20 62 79 74 65 73 20 72 65 61 64 2e 0a 20 20 20 20 22 22 22 0a | e.number.of.bytes.read......""". |
3a780 | 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 72 61 6e 64 5f 6c 6f 61 64 5f 66 69 6c 65 28 73 69 78 | ....return.m2.rand_load_file(six |
3a7a0 | 2e 65 6e 73 75 72 65 5f 73 74 72 28 66 69 6c 65 6e 61 6d 65 29 2c 20 6d 61 78 5f 62 79 74 65 73 | .ensure_str(filename),.max_bytes |
3a7c0 | 29 20 20 23 20 70 79 6c 69 6e 74 3a 20 64 69 73 61 62 6c 65 3d 6e 6f 2d 6d 65 6d 62 65 72 0a 0a | )..#.pylint:.disable=no-member.. |
3a7e0 | 0a 64 65 66 20 73 61 76 65 5f 66 69 6c 65 28 66 69 6c 65 6e 61 6d 65 29 3a 0a 20 20 20 20 23 20 | .def.save_file(filename):.....#. |
3a800 | 74 79 70 65 3a 20 28 41 6e 79 53 74 72 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 22 22 22 0a 20 20 | type:.(AnyStr).->.int....."""... |
3a820 | 20 20 57 72 69 74 65 20 61 20 6e 75 6d 62 65 72 20 6f 66 20 72 61 6e 64 6f 6d 20 62 79 74 65 73 | ..Write.a.number.of.random.bytes |
3a840 | 20 28 63 75 72 72 65 6e 74 6c 79 20 31 30 32 34 29 20 74 6f 20 66 69 6c 65 2e 0a 0a 20 20 20 20 | .(currently.1024).to.file....... |
3a860 | 54 68 65 20 66 69 6c 65 20 74 68 65 6e 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 69 6e 69 | The.file.then.can.be.used.to.ini |
3a880 | 74 69 61 6c 69 7a 65 20 74 68 65 20 50 52 4e 47 20 62 79 20 63 61 6c 6c 69 6e 67 20 6c 6f 61 64 | tialize.the.PRNG.by.calling.load |
3a8a0 | 5f 66 69 6c 65 28 29 20 69 6e 0a 20 20 20 20 61 20 6c 61 74 65 72 20 73 65 73 73 69 6f 6e 2e 0a | _file().in.....a.later.session.. |
3a8c0 | 0a 20 20 20 20 3a 70 61 72 61 6d 20 66 69 6c 65 6e 61 6d 65 3a 0a 20 20 20 20 3a 72 65 74 75 72 | .....:param.filename:.....:retur |
3a8e0 | 6e 3a 20 72 65 74 75 72 6e 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 62 79 74 65 73 20 77 | n:.returns.the.number.of.bytes.w |
3a900 | 72 69 74 74 65 6e 2c 20 61 6e 64 20 2d 31 20 69 66 20 74 68 65 20 62 79 74 65 73 0a 20 20 20 20 | ritten,.and.-1.if.the.bytes..... |
3a920 | 20 20 20 20 20 77 72 69 74 74 65 6e 20 77 65 72 65 20 67 65 6e 65 72 61 74 65 64 20 77 69 74 68 | .....written.were.generated.with |
3a940 | 6f 75 74 20 61 70 70 72 6f 70 72 69 61 74 65 20 73 65 65 64 2e 0a 20 20 20 20 22 22 22 0a 20 20 | out.appropriate.seed......"""... |
3a960 | 20 20 72 65 74 75 72 6e 20 6d 32 2e 72 61 6e 64 5f 73 61 76 65 5f 66 69 6c 65 28 66 69 6c 65 6e | ..return.m2.rand_save_file(filen |
3a980 | 61 6d 65 29 20 20 23 20 70 79 6c 69 6e 74 3a 20 64 69 73 61 62 6c 65 3d 6e 6f 2d 6d 65 6d 62 65 | ame)..#.pylint:.disable=no-membe |
3a9a0 | 72 0a 0a 0a 64 65 66 20 72 61 6e 64 5f 62 79 74 65 73 28 6e 75 6d 29 3a 0a 20 20 20 20 23 20 74 | r...def.rand_bytes(num):.....#.t |
3a9c0 | 79 70 65 3a 20 28 69 6e 74 29 20 2d 3e 20 62 79 74 65 73 0a 20 20 20 20 22 22 22 0a 20 20 20 20 | ype:.(int).->.bytes....."""..... |
3a9e0 | 52 65 74 75 72 6e 20 6e 20 63 72 79 70 74 6f 67 72 61 70 68 69 63 61 6c 6c 79 20 73 74 72 6f 6e | Return.n.cryptographically.stron |
3aa00 | 67 20 70 73 65 75 64 6f 2d 72 61 6e 64 6f 6d 20 62 79 74 65 73 2e 0a 0a 20 20 20 20 41 6e 20 65 | g.pseudo-random.bytes.......An.e |
3aa20 | 72 72 6f 72 20 6f 63 63 75 72 73 20 69 66 20 74 68 65 20 50 52 4e 47 20 68 61 73 20 6e 6f 74 20 | rror.occurs.if.the.PRNG.has.not. |
3aa40 | 62 65 65 6e 20 73 65 65 64 65 64 20 77 69 74 68 20 65 6e 6f 75 67 68 20 72 61 6e 64 6f 6d 6e 65 | been.seeded.with.enough.randomne |
3aa60 | 73 73 0a 20 20 20 20 74 6f 20 65 6e 73 75 72 65 20 61 6e 20 75 6e 70 72 65 64 69 63 74 61 62 6c | ss.....to.ensure.an.unpredictabl |
3aa80 | 65 20 62 79 74 65 20 73 65 71 75 65 6e 63 65 2e 0a 0a 20 20 20 20 3a 70 61 72 61 6d 20 6e 75 6d | e.byte.sequence.......:param.num |
3aaa0 | 3a 20 6e 75 6d 62 65 72 20 6f 66 20 62 79 74 65 73 20 74 6f 20 62 65 20 72 65 74 75 72 6e 65 64 | :.number.of.bytes.to.be.returned |
3aac0 | 0a 20 20 20 20 3a 72 65 74 75 72 6e 3a 20 72 61 6e 64 6f 6d 20 62 79 74 65 73 0a 20 20 20 20 22 | .....:return:.random.bytes....." |
3aae0 | 22 22 0a 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 72 61 6e 64 5f 62 79 74 65 73 28 6e 75 6d 29 | "".....return.m2.rand_bytes(num) |
3ab00 | 20 20 23 20 70 79 6c 69 6e 74 3a 20 64 69 73 61 62 6c 65 3d 6e 6f 2d 6d 65 6d 62 65 72 0a 0a 0a | ..#.pylint:.disable=no-member... |
3ab20 | 64 65 66 20 72 61 6e 64 5f 70 73 65 75 64 6f 5f 62 79 74 65 73 28 6e 75 6d 29 3a 0a 20 20 20 20 | def.rand_pseudo_bytes(num):..... |
3ab40 | 23 20 74 79 70 65 3a 20 28 69 6e 74 29 20 2d 3e 20 54 75 70 6c 65 5b 62 79 74 65 73 2c 20 69 6e | #.type:.(int).->.Tuple[bytes,.in |
3ab60 | 74 5d 0a 20 20 20 20 22 22 22 0a 20 20 20 20 52 65 74 75 72 6e 20 6e 75 6d 20 70 73 65 75 64 6f | t].....""".....Return.num.pseudo |
3ab80 | 2d 72 61 6e 64 6f 6d 20 62 79 74 65 73 20 69 6e 74 6f 20 62 75 66 2e 0a 0a 20 20 20 20 50 73 65 | -random.bytes.into.buf.......Pse |
3aba0 | 75 64 6f 2d 72 61 6e 64 6f 6d 20 62 79 74 65 20 73 65 71 75 65 6e 63 65 73 20 67 65 6e 65 72 61 | udo-random.byte.sequences.genera |
3abc0 | 74 65 64 20 62 79 20 74 68 69 73 20 6d 65 74 68 6f 64 20 77 69 6c 6c 20 62 65 20 75 6e 69 71 75 | ted.by.this.method.will.be.uniqu |
3abe0 | 65 0a 20 20 20 20 69 66 20 74 68 65 79 20 61 72 65 20 6f 66 20 73 75 66 66 69 63 69 65 6e 74 20 | e.....if.they.are.of.sufficient. |
3ac00 | 6c 65 6e 67 74 68 2c 20 62 75 74 20 61 72 65 20 6e 6f 74 20 6e 65 63 65 73 73 61 72 69 6c 79 0a | length,.but.are.not.necessarily. |
3ac20 | 20 20 20 20 75 6e 70 72 65 64 69 63 74 61 62 6c 65 2e 20 54 68 65 79 20 63 61 6e 20 62 65 20 75 | ....unpredictable..They.can.be.u |
3ac40 | 73 65 64 20 66 6f 72 20 6e 6f 6e 2d 63 72 79 70 74 6f 67 72 61 70 68 69 63 20 70 75 72 70 6f 73 | sed.for.non-cryptographic.purpos |
3ac60 | 65 73 20 61 6e 64 20 66 6f 72 0a 20 20 20 20 63 65 72 74 61 69 6e 20 70 75 72 70 6f 73 65 73 20 | es.and.for.....certain.purposes. |
3ac80 | 69 6e 20 63 72 79 70 74 6f 67 72 61 70 68 69 63 20 70 72 6f 74 6f 63 6f 6c 73 2c 20 62 75 74 20 | in.cryptographic.protocols,.but. |
3aca0 | 75 73 75 61 6c 6c 79 20 6e 6f 74 20 66 6f 72 20 6b 65 79 0a 20 20 20 20 67 65 6e 65 72 61 74 69 | usually.not.for.key.....generati |
3acc0 | 6f 6e 20 65 74 63 2e 0a 0a 20 20 20 20 4f 75 74 70 75 74 20 6f 66 20 74 68 65 20 66 75 6e 63 74 | on.etc.......Output.of.the.funct |
3ace0 | 69 6f 6e 20 69 73 20 6d 69 78 65 64 20 69 6e 74 6f 20 74 68 65 20 65 6e 74 72 6f 70 79 20 70 6f | ion.is.mixed.into.the.entropy.po |
3ad00 | 6f 6c 20 62 65 66 6f 72 65 0a 20 20 20 20 72 65 74 72 69 65 76 69 6e 67 20 74 68 65 20 6e 65 77 | ol.before.....retrieving.the.new |
3ad20 | 20 70 73 65 75 64 6f 2d 72 61 6e 64 6f 6d 20 62 79 74 65 73 20 75 6e 6c 65 73 73 20 64 69 73 61 | .pseudo-random.bytes.unless.disa |
3ad40 | 62 6c 65 64 20 61 74 20 63 6f 6d 70 69 6c 65 0a 20 20 20 20 74 69 6d 65 20 28 73 65 65 20 46 41 | bled.at.compile.....time.(see.FA |
3ad60 | 51 29 2e 0a 0a 20 20 20 20 3a 70 61 72 61 6d 20 6e 75 6d 3a 20 6e 75 6d 62 65 72 20 6f 66 20 62 | Q).......:param.num:.number.of.b |
3ad80 | 79 74 65 73 20 74 6f 20 62 65 20 72 65 74 75 72 6e 65 64 0a 20 20 20 20 3a 72 65 74 75 72 6e 3a | ytes.to.be.returned.....:return: |
3ada0 | 20 72 61 6e 64 6f 6d 20 62 79 74 65 73 0a 20 20 20 20 22 22 22 0a 20 20 20 20 69 6d 70 6f 72 74 | .random.bytes.....""".....import |
3adc0 | 20 77 61 72 6e 69 6e 67 73 0a 20 20 20 20 69 66 20 6d 32 2e 4f 50 45 4e 53 53 4c 5f 56 45 52 53 | .warnings.....if.m2.OPENSSL_VERS |
3ade0 | 49 4f 4e 5f 4e 55 4d 42 45 52 20 3e 3d 20 30 78 31 30 31 30 30 30 30 30 3a 0a 20 20 20 20 20 20 | ION_NUMBER.>=.0x10100000:....... |
3ae00 | 20 20 77 61 72 6e 69 6e 67 73 2e 77 61 72 6e 28 27 54 68 65 20 75 6e 64 65 72 6c 79 69 6e 67 20 | ..warnings.warn('The.underlying. |
3ae20 | 4f 70 65 6e 53 53 4c 20 6d 65 74 68 6f 64 20 68 61 73 20 62 65 65 6e 20 27 20 2b 0a 20 20 20 20 | OpenSSL.method.has.been.'.+..... |
3ae40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 64 65 70 72 65 63 61 74 65 64 2e 20 55 | ..................'deprecated..U |
3ae60 | 73 65 20 52 61 6e 64 2e 72 61 6e 64 5f 62 79 74 65 73 20 69 6e 73 74 65 61 64 2e 27 2c 0a 20 20 | se.Rand.rand_bytes.instead.',... |
3ae80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 70 72 65 63 61 74 69 6f 6e 57 | ....................DeprecationW |
3aea0 | 61 72 6e 69 6e 67 29 0a 0a 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 72 61 6e 64 5f 70 73 65 75 | arning)......return.m2.rand_pseu |
3aec0 | 64 6f 5f 62 79 74 65 73 28 6e 75 6d 29 20 20 23 20 70 79 6c 69 6e 74 3a 20 64 69 73 61 62 6c 65 | do_bytes(num)..#.pylint:.disable |
3aee0 | 3d 6e 6f 2d 6d 65 6d 62 65 72 0a 94 7d 94 28 8c 09 52 61 6e 64 45 72 72 6f 72 94 6a 7d 1f 00 00 | =no-member..}.(..RandError.j}... |
3af00 | 4b 13 4b 14 87 94 8c 08 72 61 6e 64 5f 61 64 64 94 6a 74 1f 00 00 4b 19 4b 2a 87 94 8c 09 72 61 | K.K.....rand_add.jt...K.K*....ra |
3af20 | 6e 64 5f 73 65 65 64 94 6a 74 1f 00 00 4b 2d 4b 34 87 94 8c 0b 72 61 6e 64 5f 73 74 61 74 75 73 | nd_seed.jt...K-K4....rand_status |
3af40 | 94 6a 74 1f 00 00 4b 37 4b 3f 87 94 8c 0e 72 61 6e 64 5f 66 69 6c 65 5f 6e 61 6d 65 94 6a 74 1f | .jt...K7K?....rand_file_name.jt. |
3af60 | 00 00 4b 42 4b 4c 87 94 8c 09 6c 6f 61 64 5f 66 69 6c 65 94 6a 74 1f 00 00 4b 4f 4b 5b 87 94 8c | ..KBKL....load_file.jt...KOK[... |
3af80 | 09 73 61 76 65 5f 66 69 6c 65 94 6a 74 1f 00 00 4b 5e 4b 6a 87 94 8c 0a 72 61 6e 64 5f 62 79 74 | .save_file.jt...K^Kj....rand_byt |
3afa0 | 65 73 94 6a 74 1f 00 00 4b 6d 4b 78 87 94 8c 11 72 61 6e 64 5f 70 73 65 75 64 6f 5f 62 79 74 65 | es.jt...KmKx....rand_pseudo_byte |
3afc0 | 73 94 6a 74 1f 00 00 4b 7b 4b 93 87 94 75 7d 94 28 8c 09 72 61 6e 64 5f 73 65 65 64 94 6a 53 02 | s.jt...K{K...u}.(..rand_seed.jS. |
3afe0 | 00 00 8c 08 72 61 6e 64 5f 61 64 64 94 6a 53 02 00 00 8c 09 6c 6f 61 64 5f 66 69 6c 65 94 6a 53 | ....rand_add.jS.....load_file.jS |
3b000 | 02 00 00 8c 09 73 61 76 65 5f 66 69 6c 65 94 6a 53 02 00 00 8c 0a 72 61 6e 64 5f 62 79 74 65 73 | .....save_file.jS.....rand_bytes |
3b020 | 94 6a 53 02 00 00 8c 11 72 61 6e 64 5f 70 73 65 75 64 6f 5f 62 79 74 65 73 94 6a 53 02 00 00 8c | .jS.....rand_pseudo_bytes.jS.... |
3b040 | 0e 72 61 6e 64 5f 66 69 6c 65 5f 6e 61 6d 65 94 6a 53 02 00 00 8c 0b 72 61 6e 64 5f 73 74 61 74 | .rand_file_name.jS.....rand_stat |
3b060 | 75 73 94 6a 53 02 00 00 75 8c 0d 4d 32 43 72 79 70 74 6f 2e 52 61 6e 64 94 74 94 8c 0e 4d 32 43 | us.jS...u..M2Crypto.Rand.t...M2C |
3b080 | 72 79 70 74 6f 2e 53 4d 49 4d 45 94 28 58 1a 23 00 00 66 72 6f 6d 20 5f 5f 66 75 74 75 72 65 5f | rypto.SMIME.(X.#..from.__future_ |
3b0a0 | 5f 20 69 6d 70 6f 72 74 20 61 62 73 6f 6c 75 74 65 5f 69 6d 70 6f 72 74 0a 0a 22 22 22 4d 32 43 | _.import.absolute_import.."""M2C |
3b0c0 | 72 79 70 74 6f 20 77 72 61 70 70 65 72 20 66 6f 72 20 4f 70 65 6e 53 53 4c 20 53 2f 4d 49 4d 45 | rypto.wrapper.for.OpenSSL.S/MIME |
3b0e0 | 20 41 50 49 2e 0a 0a 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 39 39 2d 32 30 30 33 20 4e | .API...Copyright.(c).1999-2003.N |
3b100 | 67 20 50 68 65 6e 67 20 53 69 6f 6e 67 2e 20 41 6c 6c 20 72 69 67 68 74 73 20 72 65 73 65 72 76 | g.Pheng.Siong..All.rights.reserv |
3b120 | 65 64 2e 22 22 22 0a 0a 66 72 6f 6d 20 4d 32 43 72 79 70 74 6f 20 69 6d 70 6f 72 74 20 42 49 4f | ed."""..from.M2Crypto.import.BIO |
3b140 | 2c 20 45 56 50 2c 20 45 72 72 2c 20 58 35 30 39 2c 20 6d 32 2c 20 75 74 69 6c 0a 69 66 20 75 74 | ,.EVP,.Err,.X509,.m2,.util.if.ut |
3b160 | 69 6c 2e 70 79 32 37 70 6c 75 73 3a 0a 20 20 20 20 66 72 6f 6d 20 74 79 70 69 6e 67 20 69 6d 70 | il.py27plus:.....from.typing.imp |
3b180 | 6f 72 74 20 41 6e 79 53 74 72 2c 20 43 61 6c 6c 61 62 6c 65 2c 20 4f 70 74 69 6f 6e 61 6c 20 20 | ort.AnyStr,.Callable,.Optional.. |
3b1a0 | 23 20 6e 6f 71 61 0a 0a 50 4b 43 53 37 5f 54 45 58 54 20 3d 20 6d 32 2e 50 4b 43 53 37 5f 54 45 | #.noqa..PKCS7_TEXT.=.m2.PKCS7_TE |
3b1c0 | 58 54 20 20 23 20 74 79 70 65 3a 20 69 6e 74 0a 50 4b 43 53 37 5f 4e 4f 43 45 52 54 53 20 3d 20 | XT..#.type:.int.PKCS7_NOCERTS.=. |
3b1e0 | 6d 32 2e 50 4b 43 53 37 5f 4e 4f 43 45 52 54 53 20 20 23 20 74 79 70 65 3a 20 69 6e 74 0a 50 4b | m2.PKCS7_NOCERTS..#.type:.int.PK |
3b200 | 43 53 37 5f 4e 4f 53 49 47 53 20 3d 20 6d 32 2e 50 4b 43 53 37 5f 4e 4f 53 49 47 53 20 20 23 20 | CS7_NOSIGS.=.m2.PKCS7_NOSIGS..#. |
3b220 | 74 79 70 65 3a 20 69 6e 74 0a 50 4b 43 53 37 5f 4e 4f 43 48 41 49 4e 20 3d 20 6d 32 2e 50 4b 43 | type:.int.PKCS7_NOCHAIN.=.m2.PKC |
3b240 | 53 37 5f 4e 4f 43 48 41 49 4e 20 20 23 20 74 79 70 65 3a 20 69 6e 74 0a 50 4b 43 53 37 5f 4e 4f | S7_NOCHAIN..#.type:.int.PKCS7_NO |
3b260 | 49 4e 54 45 52 4e 20 3d 20 6d 32 2e 50 4b 43 53 37 5f 4e 4f 49 4e 54 45 52 4e 20 20 23 20 74 79 | INTERN.=.m2.PKCS7_NOINTERN..#.ty |
3b280 | 70 65 3a 20 69 6e 74 0a 50 4b 43 53 37 5f 4e 4f 56 45 52 49 46 59 20 3d 20 6d 32 2e 50 4b 43 53 | pe:.int.PKCS7_NOVERIFY.=.m2.PKCS |
3b2a0 | 37 5f 4e 4f 56 45 52 49 46 59 20 20 23 20 74 79 70 65 3a 20 69 6e 74 0a 50 4b 43 53 37 5f 44 45 | 7_NOVERIFY..#.type:.int.PKCS7_DE |
3b2c0 | 54 41 43 48 45 44 20 3d 20 6d 32 2e 50 4b 43 53 37 5f 44 45 54 41 43 48 45 44 20 20 23 20 74 79 | TACHED.=.m2.PKCS7_DETACHED..#.ty |
3b2e0 | 70 65 3a 20 69 6e 74 0a 50 4b 43 53 37 5f 42 49 4e 41 52 59 20 3d 20 6d 32 2e 50 4b 43 53 37 5f | pe:.int.PKCS7_BINARY.=.m2.PKCS7_ |
3b300 | 42 49 4e 41 52 59 20 20 23 20 74 79 70 65 3a 20 69 6e 74 0a 50 4b 43 53 37 5f 4e 4f 41 54 54 52 | BINARY..#.type:.int.PKCS7_NOATTR |
3b320 | 20 3d 20 6d 32 2e 50 4b 43 53 37 5f 4e 4f 41 54 54 52 20 20 23 20 74 79 70 65 3a 20 69 6e 74 0a | .=.m2.PKCS7_NOATTR..#.type:.int. |
3b340 | 0a 50 4b 43 53 37 5f 53 49 47 4e 45 44 20 3d 20 6d 32 2e 50 4b 43 53 37 5f 53 49 47 4e 45 44 20 | .PKCS7_SIGNED.=.m2.PKCS7_SIGNED. |
3b360 | 20 23 20 74 79 70 65 3a 20 69 6e 74 0a 50 4b 43 53 37 5f 45 4e 56 45 4c 4f 50 45 44 20 3d 20 6d | .#.type:.int.PKCS7_ENVELOPED.=.m |
3b380 | 32 2e 50 4b 43 53 37 5f 45 4e 56 45 4c 4f 50 45 44 20 20 23 20 74 79 70 65 3a 20 69 6e 74 0a 50 | 2.PKCS7_ENVELOPED..#.type:.int.P |
3b3a0 | 4b 43 53 37 5f 53 49 47 4e 45 44 5f 45 4e 56 45 4c 4f 50 45 44 20 3d 20 6d 32 2e 50 4b 43 53 37 | KCS7_SIGNED_ENVELOPED.=.m2.PKCS7 |
3b3c0 | 5f 53 49 47 4e 45 44 5f 45 4e 56 45 4c 4f 50 45 44 20 20 23 20 44 65 70 72 65 63 61 74 65 64 0a | _SIGNED_ENVELOPED..#.Deprecated. |
3b3e0 | 50 4b 43 53 37 5f 44 41 54 41 20 3d 20 6d 32 2e 50 4b 43 53 37 5f 44 41 54 41 20 20 23 20 74 79 | PKCS7_DATA.=.m2.PKCS7_DATA..#.ty |
3b400 | 70 65 3a 20 69 6e 74 0a 0a 0a 63 6c 61 73 73 20 50 4b 43 53 37 5f 45 72 72 6f 72 28 45 78 63 65 | pe:.int...class.PKCS7_Error(Exce |
3b420 | 70 74 69 6f 6e 29 3a 0a 20 20 20 20 70 61 73 73 0a 0a 6d 32 2e 70 6b 63 73 37 5f 69 6e 69 74 28 | ption):.....pass..m2.pkcs7_init( |
3b440 | 50 4b 43 53 37 5f 45 72 72 6f 72 29 0a 0a 0a 63 6c 61 73 73 20 50 4b 43 53 37 28 6f 62 6a 65 63 | PKCS7_Error)...class.PKCS7(objec |
3b460 | 74 29 3a 0a 0a 20 20 20 20 6d 32 5f 70 6b 63 73 37 5f 66 72 65 65 20 3d 20 6d 32 2e 70 6b 63 73 | t):......m2_pkcs7_free.=.m2.pkcs |
3b480 | 37 5f 66 72 65 65 0a 0a 20 20 20 20 64 65 66 20 5f 5f 69 6e 69 74 5f 5f 28 73 65 6c 66 2c 20 70 | 7_free......def.__init__(self,.p |
3b4a0 | 6b 63 73 37 3d 4e 6f 6e 65 2c 20 5f 70 79 66 72 65 65 3d 30 29 3a 0a 20 20 20 20 20 20 20 20 23 | kcs7=None,._pyfree=0):.........# |
3b4c0 | 20 74 79 70 65 3a 20 28 4f 70 74 69 6f 6e 61 6c 5b 62 79 74 65 73 5d 2c 20 69 6e 74 29 20 2d 3e | .type:.(Optional[bytes],.int).-> |
3b4e0 | 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 22 22 22 50 4b 43 53 37 20 6f 62 6a 65 63 74 2e 0a 0a | .None........."""PKCS7.object... |
3b500 | 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 70 6b 63 73 37 3a 20 62 69 6e 61 72 79 20 72 65 70 | ........:param.pkcs7:.binary.rep |
3b520 | 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 | resentation.of................th |
3b540 | 65 20 4f 70 65 6e 53 53 4c 20 74 79 70 65 20 50 4b 43 53 37 0a 20 20 20 20 20 20 20 20 22 22 22 | e.OpenSSL.type.PKCS7.........""" |
3b560 | 0a 20 20 20 20 20 20 20 20 69 66 20 70 6b 63 73 37 20 69 73 20 6e 6f 74 20 4e 6f 6e 65 3a 0a 20 | .........if.pkcs7.is.not.None:.. |
3b580 | 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 70 6b 63 73 37 20 3d 20 70 6b 63 73 37 0a 20 20 | ...........self.pkcs7.=.pkcs7... |
3b5a0 | 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 70 79 66 72 65 65 20 3d 20 5f 70 79 66 72 65 65 | ..........self._pyfree.=._pyfree |
3b5c0 | 0a 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e | .........else:.............self. |
3b5e0 | 70 6b 63 73 37 20 3d 20 6d 32 2e 70 6b 63 73 37 5f 6e 65 77 28 29 0a 20 20 20 20 20 20 20 20 20 | pkcs7.=.m2.pkcs7_new().......... |
3b600 | 20 20 20 73 65 6c 66 2e 5f 70 79 66 72 65 65 20 3d 20 31 0a 0a 20 20 20 20 64 65 66 20 5f 5f 64 | ...self._pyfree.=.1......def.__d |
3b620 | 65 6c 5f 5f 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d | el__(self):.........#.type:.().- |
3b640 | 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 69 66 20 67 65 74 61 74 74 72 28 73 65 6c 66 2c 20 | >.None.........if.getattr(self,. |
3b660 | 27 5f 70 79 66 72 65 65 27 2c 20 30 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e | '_pyfree',.0):.............self. |
3b680 | 6d 32 5f 70 6b 63 73 37 5f 66 72 65 65 28 73 65 6c 66 2e 70 6b 63 73 37 29 0a 0a 20 20 20 20 64 | m2_pkcs7_free(self.pkcs7)......d |
3b6a0 | 65 66 20 5f 70 74 72 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 | ef._ptr(self):.........return.se |
3b6c0 | 6c 66 2e 70 6b 63 73 37 0a 0a 20 20 20 20 64 65 66 20 74 79 70 65 28 73 65 6c 66 2c 20 74 65 78 | lf.pkcs7......def.type(self,.tex |
3b6e0 | 74 5f 6e 61 6d 65 3d 30 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 69 6e 74 29 | t_name=0):.........#.type:.(int) |
3b700 | 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 69 66 20 74 65 78 74 5f 6e 61 6d 65 3a 0a 20 20 | .->.int.........if.text_name:... |
3b720 | 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 70 6b 63 73 37 5f 74 79 70 65 5f 73 | ..........return.m2.pkcs7_type_s |
3b740 | 6e 28 73 65 6c 66 2e 70 6b 63 73 37 29 0a 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 | n(self.pkcs7).........else:..... |
3b760 | 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 70 6b 63 73 37 5f 74 79 70 65 5f 6e 69 64 | ........return.m2.pkcs7_type_nid |
3b780 | 28 73 65 6c 66 2e 70 6b 63 73 37 29 0a 0a 20 20 20 20 64 65 66 20 77 72 69 74 65 28 73 65 6c 66 | (self.pkcs7)......def.write(self |
3b7a0 | 2c 20 62 69 6f 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 42 49 4f 2e 42 49 4f | ,.bio):.........#.type:.(BIO.BIO |
3b7c0 | 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 70 6b 63 73 37 | ).->.int.........return.m2.pkcs7 |
3b7e0 | 5f 77 72 69 74 65 5f 62 69 6f 28 73 65 6c 66 2e 70 6b 63 73 37 2c 20 62 69 6f 2e 5f 70 74 72 28 | _write_bio(self.pkcs7,.bio._ptr( |
3b800 | 29 29 0a 0a 20 20 20 20 64 65 66 20 77 72 69 74 65 5f 64 65 72 28 73 65 6c 66 2c 20 62 69 6f 29 | ))......def.write_der(self,.bio) |
3b820 | 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 42 49 4f 2e 42 49 4f 29 20 2d 3e 20 69 | :.........#.type:.(BIO.BIO).->.i |
3b840 | 6e 74 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 70 6b 63 73 37 5f 77 72 69 74 65 | nt.........return.m2.pkcs7_write |
3b860 | 5f 62 69 6f 5f 64 65 72 28 73 65 6c 66 2e 70 6b 63 73 37 2c 20 62 69 6f 2e 5f 70 74 72 28 29 29 | _bio_der(self.pkcs7,.bio._ptr()) |
3b880 | 0a 0a 20 20 20 20 64 65 66 20 67 65 74 30 5f 73 69 67 6e 65 72 73 28 73 65 6c 66 2c 20 63 65 72 | ......def.get0_signers(self,.cer |
3b8a0 | 74 73 2c 20 66 6c 61 67 73 3d 30 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 58 | ts,.flags=0):.........#.type:.(X |
3b8c0 | 35 30 39 2e 58 35 30 39 5f 53 74 61 63 6b 2c 20 69 6e 74 29 20 2d 3e 20 58 35 30 39 2e 58 35 30 | 509.X509_Stack,.int).->.X509.X50 |
3b8e0 | 39 5f 53 74 61 63 6b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 58 35 30 39 2e 58 35 30 39 | 9_Stack.........return.X509.X509 |
3b900 | 5f 53 74 61 63 6b 28 6d 32 2e 70 6b 63 73 37 5f 67 65 74 30 5f 73 69 67 6e 65 72 73 28 73 65 6c | _Stack(m2.pkcs7_get0_signers(sel |
3b920 | 66 2e 70 6b 63 73 37 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | f.pkcs7,........................ |
3b940 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 65 | ..............................ce |
3b960 | 72 74 73 2e 73 74 61 63 6b 2c 20 66 6c 61 67 73 29 2c 20 31 29 0a 0a 0a 64 65 66 20 6c 6f 61 64 | rts.stack,.flags),.1)...def.load |
3b980 | 5f 70 6b 63 73 37 28 70 37 66 69 6c 65 29 3a 0a 20 20 20 20 23 20 74 79 70 65 3a 20 28 41 6e 79 | _pkcs7(p7file):.....#.type:.(Any |
3b9a0 | 53 74 72 29 20 2d 3e 20 50 4b 43 53 37 0a 20 20 20 20 77 69 74 68 20 42 49 4f 2e 6f 70 65 6e 66 | Str).->.PKCS7.....with.BIO.openf |
3b9c0 | 69 6c 65 28 70 37 66 69 6c 65 2c 20 27 72 27 29 20 61 73 20 62 69 6f 3a 0a 20 20 20 20 20 20 20 | ile(p7file,.'r').as.bio:........ |
3b9e0 | 20 70 37 5f 70 74 72 20 3d 20 6d 32 2e 70 6b 63 73 37 5f 72 65 61 64 5f 62 69 6f 28 62 69 6f 2e | .p7_ptr.=.m2.pkcs7_read_bio(bio. |
3ba00 | 62 69 6f 29 0a 0a 20 20 20 20 72 65 74 75 72 6e 20 50 4b 43 53 37 28 70 37 5f 70 74 72 2c 20 31 | bio)......return.PKCS7(p7_ptr,.1 |
3ba20 | 29 0a 0a 0a 64 65 66 20 6c 6f 61 64 5f 70 6b 63 73 37 5f 64 65 72 28 70 37 66 69 6c 65 29 3a 0a | )...def.load_pkcs7_der(p7file):. |
3ba40 | 20 20 20 20 23 20 74 79 70 65 3a 20 28 41 6e 79 53 74 72 29 20 2d 3e 20 50 4b 43 53 37 0a 20 20 | ....#.type:.(AnyStr).->.PKCS7... |
3ba60 | 20 20 77 69 74 68 20 42 49 4f 2e 6f 70 65 6e 66 69 6c 65 28 70 37 66 69 6c 65 2c 20 27 72 62 27 | ..with.BIO.openfile(p7file,.'rb' |
3ba80 | 29 20 61 73 20 62 69 6f 3a 0a 20 20 20 20 20 20 20 20 70 37 5f 70 74 72 20 3d 20 6d 32 2e 70 6b | ).as.bio:.........p7_ptr.=.m2.pk |
3baa0 | 63 73 37 5f 72 65 61 64 5f 62 69 6f 5f 64 65 72 28 62 69 6f 2e 62 69 6f 29 0a 0a 20 20 20 20 72 | cs7_read_bio_der(bio.bio)......r |
3bac0 | 65 74 75 72 6e 20 50 4b 43 53 37 28 70 37 5f 70 74 72 2c 20 31 29 0a 0a 0a 64 65 66 20 6c 6f 61 | eturn.PKCS7(p7_ptr,.1)...def.loa |
3bae0 | 64 5f 70 6b 63 73 37 5f 62 69 6f 28 70 37 5f 62 69 6f 29 3a 0a 20 20 20 20 23 20 74 79 70 65 3a | d_pkcs7_bio(p7_bio):.....#.type: |
3bb00 | 20 28 42 49 4f 2e 42 49 4f 29 20 2d 3e 20 50 4b 43 53 37 0a 20 20 20 20 70 37 5f 70 74 72 20 3d | .(BIO.BIO).->.PKCS7.....p7_ptr.= |
3bb20 | 20 6d 32 2e 70 6b 63 73 37 5f 72 65 61 64 5f 62 69 6f 28 70 37 5f 62 69 6f 2e 5f 70 74 72 28 29 | .m2.pkcs7_read_bio(p7_bio._ptr() |
3bb40 | 29 0a 20 20 20 20 72 65 74 75 72 6e 20 50 4b 43 53 37 28 70 37 5f 70 74 72 2c 20 31 29 0a 0a 0a | ).....return.PKCS7(p7_ptr,.1)... |
3bb60 | 64 65 66 20 6c 6f 61 64 5f 70 6b 63 73 37 5f 62 69 6f 5f 64 65 72 28 70 37 5f 62 69 6f 29 3a 0a | def.load_pkcs7_bio_der(p7_bio):. |
3bb80 | 20 20 20 20 23 20 74 79 70 65 3a 20 28 42 49 4f 2e 42 49 4f 29 20 2d 3e 20 50 4b 43 53 37 0a 20 | ....#.type:.(BIO.BIO).->.PKCS7.. |
3bba0 | 20 20 20 70 37 5f 70 74 72 20 3d 20 6d 32 2e 70 6b 63 73 37 5f 72 65 61 64 5f 62 69 6f 5f 64 65 | ...p7_ptr.=.m2.pkcs7_read_bio_de |
3bbc0 | 72 28 70 37 5f 62 69 6f 2e 5f 70 74 72 28 29 29 0a 20 20 20 20 72 65 74 75 72 6e 20 50 4b 43 53 | r(p7_bio._ptr()).....return.PKCS |
3bbe0 | 37 28 70 37 5f 70 74 72 2c 20 31 29 0a 0a 0a 64 65 66 20 73 6d 69 6d 65 5f 6c 6f 61 64 5f 70 6b | 7(p7_ptr,.1)...def.smime_load_pk |
3bc00 | 63 73 37 28 70 37 66 69 6c 65 29 3a 0a 20 20 20 20 23 20 74 79 70 65 3a 20 28 41 6e 79 53 74 72 | cs7(p7file):.....#.type:.(AnyStr |
3bc20 | 29 20 2d 3e 20 50 4b 43 53 37 0a 20 20 20 20 62 69 6f 20 3d 20 6d 32 2e 62 69 6f 5f 6e 65 77 5f | ).->.PKCS7.....bio.=.m2.bio_new_ |
3bc40 | 66 69 6c 65 28 70 37 66 69 6c 65 2c 20 27 72 27 29 0a 0a 20 20 20 20 74 72 79 3a 0a 20 20 20 20 | file(p7file,.'r')......try:..... |
3bc60 | 20 20 20 20 70 37 5f 70 74 72 2c 20 62 69 6f 5f 70 74 72 20 3d 20 6d 32 2e 73 6d 69 6d 65 5f 72 | ....p7_ptr,.bio_ptr.=.m2.smime_r |
3bc80 | 65 61 64 5f 70 6b 63 73 37 28 62 69 6f 29 0a 20 20 20 20 66 69 6e 61 6c 6c 79 3a 0a 20 20 20 20 | ead_pkcs7(bio).....finally:..... |
3bca0 | 20 20 20 20 6d 32 2e 62 69 6f 5f 66 72 65 65 28 62 69 6f 29 0a 0a 20 20 20 20 69 66 20 62 69 6f | ....m2.bio_free(bio)......if.bio |
3bcc0 | 5f 70 74 72 20 69 73 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 50 4b 43 | _ptr.is.None:.........return.PKC |
3bce0 | 53 37 28 70 37 5f 70 74 72 2c 20 31 29 2c 20 4e 6f 6e 65 0a 20 20 20 20 65 6c 73 65 3a 0a 20 20 | S7(p7_ptr,.1),.None.....else:... |
3bd00 | 20 20 20 20 20 20 72 65 74 75 72 6e 20 50 4b 43 53 37 28 70 37 5f 70 74 72 2c 20 31 29 2c 20 42 | ......return.PKCS7(p7_ptr,.1),.B |
3bd20 | 49 4f 2e 42 49 4f 28 62 69 6f 5f 70 74 72 2c 20 31 29 0a 0a 0a 64 65 66 20 73 6d 69 6d 65 5f 6c | IO.BIO(bio_ptr,.1)...def.smime_l |
3bd40 | 6f 61 64 5f 70 6b 63 73 37 5f 62 69 6f 28 70 37 5f 62 69 6f 29 3a 0a 20 20 20 20 23 20 74 79 70 | oad_pkcs7_bio(p7_bio):.....#.typ |
3bd60 | 65 3a 20 28 42 49 4f 2e 42 49 4f 29 20 2d 3e 20 50 4b 43 53 37 0a 20 20 20 20 70 37 5f 70 74 72 | e:.(BIO.BIO).->.PKCS7.....p7_ptr |
3bd80 | 2c 20 62 69 6f 5f 70 74 72 20 3d 20 6d 32 2e 73 6d 69 6d 65 5f 72 65 61 64 5f 70 6b 63 73 37 28 | ,.bio_ptr.=.m2.smime_read_pkcs7( |
3bda0 | 70 37 5f 62 69 6f 2e 5f 70 74 72 28 29 29 0a 20 20 20 20 69 66 20 70 37 5f 70 74 72 20 69 73 20 | p7_bio._ptr()).....if.p7_ptr.is. |
3bdc0 | 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 72 61 69 73 65 20 53 4d 49 4d 45 5f 45 72 72 6f 72 28 | None:.........raise.SMIME_Error( |
3bde0 | 45 72 72 2e 67 65 74 5f 65 72 72 6f 72 28 29 29 0a 20 20 20 20 69 66 20 62 69 6f 5f 70 74 72 20 | Err.get_error()).....if.bio_ptr. |
3be00 | 69 73 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 50 4b 43 53 37 28 70 37 | is.None:.........return.PKCS7(p7 |
3be20 | 5f 70 74 72 2c 20 31 29 2c 20 4e 6f 6e 65 0a 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 | _ptr,.1),.None.....else:........ |
3be40 | 20 72 65 74 75 72 6e 20 50 4b 43 53 37 28 70 37 5f 70 74 72 2c 20 31 29 2c 20 42 49 4f 2e 42 49 | .return.PKCS7(p7_ptr,.1),.BIO.BI |
3be60 | 4f 28 62 69 6f 5f 70 74 72 2c 20 31 29 0a 0a 0a 63 6c 61 73 73 20 43 69 70 68 65 72 28 6f 62 6a | O(bio_ptr,.1)...class.Cipher(obj |
3be80 | 65 63 74 29 3a 0a 20 20 20 20 22 22 22 4f 62 6a 65 63 74 20 69 6e 74 65 72 66 61 63 65 20 74 6f | ect):....."""Object.interface.to |
3bea0 | 20 45 56 50 5f 43 49 50 48 45 52 20 77 69 74 68 6f 75 74 20 61 6c 6c 20 74 68 65 20 66 72 69 6c | .EVP_CIPHER.without.all.the.fril |
3bec0 | 6c 73 20 6f 66 0a 20 20 20 20 4d 32 43 72 79 70 74 6f 2e 45 56 50 2e 43 69 70 68 65 72 2e 0a 20 | ls.of.....M2Crypto.EVP.Cipher... |
3bee0 | 20 20 20 22 22 22 0a 0a 20 20 20 20 64 65 66 20 5f 5f 69 6e 69 74 5f 5f 28 73 65 6c 66 2c 20 61 | ..."""......def.__init__(self,.a |
3bf00 | 6c 67 6f 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 73 74 72 29 20 2d 3e 20 4e | lgo):.........#.type:.(str).->.N |
3bf20 | 6f 6e 65 0a 20 20 20 20 20 20 20 20 63 69 70 68 65 72 20 3d 20 67 65 74 61 74 74 72 28 6d 32 2c | one.........cipher.=.getattr(m2, |
3bf40 | 20 61 6c 67 6f 2c 20 4e 6f 6e 65 29 0a 20 20 20 20 20 20 20 20 69 66 20 63 69 70 68 65 72 20 69 | .algo,.None).........if.cipher.i |
3bf60 | 73 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 56 61 6c 75 65 45 | s.None:.............raise.ValueE |
3bf80 | 72 72 6f 72 28 27 75 6e 6b 6e 6f 77 6e 20 63 69 70 68 65 72 27 2c 20 61 6c 67 6f 29 0a 20 20 20 | rror('unknown.cipher',.algo).... |
3bfa0 | 20 20 20 20 20 73 65 6c 66 2e 63 69 70 68 65 72 20 3d 20 63 69 70 68 65 72 28 29 0a 0a 20 20 20 | .....self.cipher.=.cipher()..... |
3bfc0 | 20 64 65 66 20 5f 70 74 72 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 | .def._ptr(self):.........return. |
3bfe0 | 73 65 6c 66 2e 63 69 70 68 65 72 0a 0a 0a 63 6c 61 73 73 20 53 4d 49 4d 45 5f 45 72 72 6f 72 28 | self.cipher...class.SMIME_Error( |
3c000 | 45 78 63 65 70 74 69 6f 6e 29 3a 0a 20 20 20 20 70 61 73 73 0a 0a 6d 32 2e 73 6d 69 6d 65 5f 69 | Exception):.....pass..m2.smime_i |
3c020 | 6e 69 74 28 53 4d 49 4d 45 5f 45 72 72 6f 72 29 0a 0a 0a 23 20 46 49 58 4d 45 20 63 6c 61 73 73 | nit(SMIME_Error)...#.FIXME.class |
3c040 | 20 68 61 73 20 6e 6f 20 5f 5f 69 6e 69 74 5f 5f 20 6d 65 74 68 6f 64 0a 63 6c 61 73 73 20 53 4d | .has.no.__init__.method.class.SM |
3c060 | 49 4d 45 28 6f 62 6a 65 63 74 29 3a 0a 20 20 20 20 64 65 66 20 6c 6f 61 64 5f 6b 65 79 28 73 65 | IME(object):.....def.load_key(se |
3c080 | 6c 66 2c 20 6b 65 79 66 69 6c 65 2c 20 63 65 72 74 66 69 6c 65 3d 4e 6f 6e 65 2c 0a 20 20 20 20 | lf,.keyfile,.certfile=None,..... |
3c0a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 6c 6c 62 61 63 6b 3d 75 74 69 6c 2e 70 61 73 73 70 | .............callback=util.passp |
3c0c0 | 68 72 61 73 65 5f 63 61 6c 6c 62 61 63 6b 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a | hrase_callback):.........#.type: |
3c0e0 | 20 28 41 6e 79 53 74 72 2c 20 4f 70 74 69 6f 6e 61 6c 5b 41 6e 79 53 74 72 5d 2c 20 43 61 6c 6c | .(AnyStr,.Optional[AnyStr],.Call |
3c100 | 61 62 6c 65 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 69 66 20 63 65 72 74 66 69 6c | able).->.None.........if.certfil |
3c120 | 65 20 69 73 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 65 72 74 66 69 6c 65 20 | e.is.None:.............certfile. |
3c140 | 3d 20 6b 65 79 66 69 6c 65 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 70 6b 65 79 20 3d 20 45 56 | =.keyfile.........self.pkey.=.EV |
3c160 | 50 2e 6c 6f 61 64 5f 6b 65 79 28 6b 65 79 66 69 6c 65 2c 20 63 61 6c 6c 62 61 63 6b 29 0a 20 20 | P.load_key(keyfile,.callback)... |
3c180 | 20 20 20 20 20 20 73 65 6c 66 2e 78 35 30 39 20 3d 20 58 35 30 39 2e 6c 6f 61 64 5f 63 65 72 74 | ......self.x509.=.X509.load_cert |
3c1a0 | 28 63 65 72 74 66 69 6c 65 29 0a 0a 20 20 20 20 64 65 66 20 6c 6f 61 64 5f 6b 65 79 5f 62 69 6f | (certfile)......def.load_key_bio |
3c1c0 | 28 73 65 6c 66 2c 20 6b 65 79 62 69 6f 2c 20 63 65 72 74 62 69 6f 3d 4e 6f 6e 65 2c 0a 20 20 20 | (self,.keybio,.certbio=None,.... |
3c1e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 6c 6c 62 61 63 6b 3d 75 74 69 6c 2e | ..................callback=util. |
3c200 | 70 61 73 73 70 68 72 61 73 65 5f 63 61 6c 6c 62 61 63 6b 29 3a 0a 20 20 20 20 20 20 20 20 23 20 | passphrase_callback):.........#. |
3c220 | 74 79 70 65 3a 20 28 42 49 4f 2e 42 49 4f 2c 20 4f 70 74 69 6f 6e 61 6c 5b 42 49 4f 2e 42 49 4f | type:.(BIO.BIO,.Optional[BIO.BIO |
3c240 | 5d 2c 20 43 61 6c 6c 61 62 6c 65 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 69 66 20 | ],.Callable).->.None.........if. |
3c260 | 63 65 72 74 62 69 6f 20 69 73 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 65 72 | certbio.is.None:.............cer |
3c280 | 74 62 69 6f 20 3d 20 6b 65 79 62 69 6f 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 70 6b 65 79 20 | tbio.=.keybio.........self.pkey. |
3c2a0 | 3d 20 45 56 50 2e 6c 6f 61 64 5f 6b 65 79 5f 62 69 6f 28 6b 65 79 62 69 6f 2c 20 63 61 6c 6c 62 | =.EVP.load_key_bio(keybio,.callb |
3c2c0 | 61 63 6b 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 78 35 30 39 20 3d 20 58 35 30 39 2e 6c 6f | ack).........self.x509.=.X509.lo |
3c2e0 | 61 64 5f 63 65 72 74 5f 62 69 6f 28 63 65 72 74 62 69 6f 29 0a 0a 20 20 20 20 64 65 66 20 73 65 | ad_cert_bio(certbio)......def.se |
3c300 | 74 5f 78 35 30 39 5f 73 74 61 63 6b 28 73 65 6c 66 2c 20 73 74 61 63 6b 29 3a 0a 20 20 20 20 20 | t_x509_stack(self,.stack):...... |
3c320 | 20 20 20 23 20 74 79 70 65 3a 20 28 58 35 30 39 2e 58 35 30 39 5f 53 74 61 63 6b 29 20 2d 3e 20 | ...#.type:.(X509.X509_Stack).->. |
3c340 | 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 20 69 73 69 6e 73 74 61 6e 63 65 28 73 | None.........assert.isinstance(s |
3c360 | 74 61 63 6b 2c 20 58 35 30 39 2e 58 35 30 39 5f 53 74 61 63 6b 29 0a 20 20 20 20 20 20 20 20 73 | tack,.X509.X509_Stack).........s |
3c380 | 65 6c 66 2e 78 35 30 39 5f 73 74 61 63 6b 20 3d 20 73 74 61 63 6b 0a 0a 20 20 20 20 64 65 66 20 | elf.x509_stack.=.stack......def. |
3c3a0 | 73 65 74 5f 78 35 30 39 5f 73 74 6f 72 65 28 73 65 6c 66 2c 20 73 74 6f 72 65 29 3a 0a 20 20 20 | set_x509_store(self,.store):.... |
3c3c0 | 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 58 35 30 39 2e 58 35 30 39 5f 53 74 6f 72 65 29 20 2d | .....#.type:.(X509.X509_Store).- |
3c3e0 | 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 20 69 73 69 6e 73 74 61 6e 63 65 | >.None.........assert.isinstance |
3c400 | 28 73 74 6f 72 65 2c 20 58 35 30 39 2e 58 35 30 39 5f 53 74 6f 72 65 29 0a 20 20 20 20 20 20 20 | (store,.X509.X509_Store)........ |
3c420 | 20 73 65 6c 66 2e 78 35 30 39 5f 73 74 6f 72 65 20 3d 20 73 74 6f 72 65 0a 0a 20 20 20 20 64 65 | .self.x509_store.=.store......de |
3c440 | 66 20 73 65 74 5f 63 69 70 68 65 72 28 73 65 6c 66 2c 20 63 69 70 68 65 72 29 3a 0a 20 20 20 20 | f.set_cipher(self,.cipher):..... |
3c460 | 20 20 20 20 23 20 74 79 70 65 3a 20 28 43 69 70 68 65 72 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 | ....#.type:.(Cipher).->.None.... |
3c480 | 20 20 20 20 20 61 73 73 65 72 74 20 69 73 69 6e 73 74 61 6e 63 65 28 63 69 70 68 65 72 2c 20 43 | .....assert.isinstance(cipher,.C |
3c4a0 | 69 70 68 65 72 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 63 69 70 68 65 72 20 3d 20 63 69 70 | ipher).........self.cipher.=.cip |
3c4c0 | 68 65 72 0a 0a 20 20 20 20 64 65 66 20 75 6e 73 65 74 5f 6b 65 79 28 73 65 6c 66 29 3a 0a 20 20 | her......def.unset_key(self):... |
3c4e0 | 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 | ......#.type:.().->.None........ |
3c500 | 20 64 65 6c 20 73 65 6c 66 2e 70 6b 65 79 0a 20 20 20 20 20 20 20 20 64 65 6c 20 73 65 6c 66 2e | .del.self.pkey.........del.self. |
3c520 | 78 35 30 39 0a 0a 20 20 20 20 64 65 66 20 75 6e 73 65 74 5f 78 35 30 39 5f 73 74 61 63 6b 28 73 | x509......def.unset_x509_stack(s |
3c540 | 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 4e 6f 6e 65 | elf):.........#.type:.().->.None |
3c560 | 0a 20 20 20 20 20 20 20 20 64 65 6c 20 73 65 6c 66 2e 78 35 30 39 5f 73 74 61 63 6b 0a 0a 20 20 | .........del.self.x509_stack.... |
3c580 | 20 20 64 65 66 20 75 6e 73 65 74 5f 78 35 30 39 5f 73 74 6f 72 65 28 73 65 6c 66 29 3a 0a 20 20 | ..def.unset_x509_store(self):... |
3c5a0 | 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 | ......#.type:.().->.None........ |
3c5c0 | 20 64 65 6c 20 73 65 6c 66 2e 78 35 30 39 5f 73 74 6f 72 65 0a 0a 20 20 20 20 64 65 66 20 75 6e | .del.self.x509_store......def.un |
3c5e0 | 73 65 74 5f 63 69 70 68 65 72 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 | set_cipher(self):.........#.type |
3c600 | 3a 20 28 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 64 65 6c 20 73 65 6c 66 2e 63 69 | :.().->.None.........del.self.ci |
3c620 | 70 68 65 72 0a 0a 20 20 20 20 64 65 66 20 65 6e 63 72 79 70 74 28 73 65 6c 66 2c 20 64 61 74 61 | pher......def.encrypt(self,.data |
3c640 | 5f 62 69 6f 2c 20 66 6c 61 67 73 3d 30 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 | _bio,.flags=0):.........#.type:. |
3c660 | 28 42 49 4f 2e 42 49 4f 2c 20 69 6e 74 29 20 2d 3e 20 50 4b 43 53 37 0a 20 20 20 20 20 20 20 20 | (BIO.BIO,.int).->.PKCS7......... |
3c680 | 69 66 20 6e 6f 74 20 68 61 73 61 74 74 72 28 73 65 6c 66 2c 20 27 63 69 70 68 65 72 27 29 3a 0a | if.not.hasattr(self,.'cipher'):. |
3c6a0 | 20 20 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 53 4d 49 4d 45 5f 45 72 72 6f 72 28 27 6e | ............raise.SMIME_Error('n |
3c6c0 | 6f 20 63 69 70 68 65 72 3a 20 75 73 65 20 73 65 74 5f 63 69 70 68 65 72 28 29 27 29 0a 20 20 20 | o.cipher:.use.set_cipher()').... |
3c6e0 | 20 20 20 20 20 69 66 20 6e 6f 74 20 68 61 73 61 74 74 72 28 73 65 6c 66 2c 20 27 78 35 30 39 5f | .....if.not.hasattr(self,.'x509_ |
3c700 | 73 74 61 63 6b 27 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 53 4d 49 4d 45 | stack'):.............raise.SMIME |
3c720 | 5f 45 72 72 6f 72 28 27 6e 6f 20 72 65 63 69 70 69 65 6e 74 20 63 65 72 74 73 3a 20 75 73 65 20 | _Error('no.recipient.certs:.use. |
3c740 | 73 65 74 5f 78 35 30 39 5f 73 74 61 63 6b 28 29 27 29 0a 0a 20 20 20 20 20 20 20 20 70 6b 63 73 | set_x509_stack()')..........pkcs |
3c760 | 37 20 3d 20 6d 32 2e 70 6b 63 73 37 5f 65 6e 63 72 79 70 74 28 73 65 6c 66 2e 78 35 30 39 5f 73 | 7.=.m2.pkcs7_encrypt(self.x509_s |
3c780 | 74 61 63 6b 2e 5f 70 74 72 28 29 2c 20 64 61 74 61 5f 62 69 6f 2e 5f 70 74 72 28 29 2c 0a 20 20 | tack._ptr(),.data_bio._ptr(),... |
3c7a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 | ...............................s |
3c7c0 | 65 6c 66 2e 63 69 70 68 65 72 2e 5f 70 74 72 28 29 2c 20 66 6c 61 67 73 29 0a 0a 20 20 20 20 20 | elf.cipher._ptr(),.flags)....... |
3c7e0 | 20 20 20 72 65 74 75 72 6e 20 50 4b 43 53 37 28 70 6b 63 73 37 2c 20 31 29 0a 0a 20 20 20 20 64 | ...return.PKCS7(pkcs7,.1)......d |
3c800 | 65 66 20 64 65 63 72 79 70 74 28 73 65 6c 66 2c 20 70 6b 63 73 37 2c 20 66 6c 61 67 73 3d 30 29 | ef.decrypt(self,.pkcs7,.flags=0) |
3c820 | 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 50 4b 43 53 37 2c 20 69 6e 74 29 20 2d | :.........#.type:.(PKCS7,.int).- |
3c840 | 3e 20 4f 70 74 69 6f 6e 61 6c 5b 62 79 74 65 73 5d 0a 20 20 20 20 20 20 20 20 69 66 20 6e 6f 74 | >.Optional[bytes].........if.not |
3c860 | 20 68 61 73 61 74 74 72 28 73 65 6c 66 2c 20 27 70 6b 65 79 27 29 3a 0a 20 20 20 20 20 20 20 20 | .hasattr(self,.'pkey'):......... |
3c880 | 20 20 20 20 72 61 69 73 65 20 53 4d 49 4d 45 5f 45 72 72 6f 72 28 27 6e 6f 20 70 72 69 76 61 74 | ....raise.SMIME_Error('no.privat |
3c8a0 | 65 20 6b 65 79 3a 20 75 73 65 20 6c 6f 61 64 5f 6b 65 79 28 29 27 29 0a 20 20 20 20 20 20 20 20 | e.key:.use.load_key()')......... |
3c8c0 | 69 66 20 6e 6f 74 20 68 61 73 61 74 74 72 28 73 65 6c 66 2c 20 27 78 35 30 39 27 29 3a 0a 20 20 | if.not.hasattr(self,.'x509'):... |
3c8e0 | 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 53 4d 49 4d 45 5f 45 72 72 6f 72 28 27 6e 6f 20 | ..........raise.SMIME_Error('no. |
3c900 | 63 65 72 74 69 66 69 63 61 74 65 3a 20 6c 6f 61 64 5f 6b 65 79 28 29 20 75 73 65 64 20 69 6e 63 | certificate:.load_key().used.inc |
3c920 | 6f 72 72 65 63 74 6c 79 3f 27 29 0a 20 20 20 20 20 20 20 20 62 6c 6f 62 20 3d 20 6d 32 2e 70 6b | orrectly?').........blob.=.m2.pk |
3c940 | 63 73 37 5f 64 65 63 72 79 70 74 28 70 6b 63 73 37 2e 5f 70 74 72 28 29 2c 20 73 65 6c 66 2e 70 | cs7_decrypt(pkcs7._ptr(),.self.p |
3c960 | 6b 65 79 2e 5f 70 74 72 28 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | key._ptr(),..................... |
3c980 | 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 78 35 30 39 2e 5f 70 74 72 28 29 2c 20 66 6c | ............self.x509._ptr(),.fl |
3c9a0 | 61 67 73 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 62 6c 6f 62 0a 0a 20 20 20 20 64 65 | ags).........return.blob......de |
3c9c0 | 66 20 73 69 67 6e 28 73 65 6c 66 2c 20 64 61 74 61 5f 62 69 6f 2c 20 66 6c 61 67 73 3d 30 2c 20 | f.sign(self,.data_bio,.flags=0,. |
3c9e0 | 61 6c 67 6f 3d 27 73 68 61 31 27 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 42 | algo='sha1'):.........#.type:.(B |
3ca00 | 49 4f 2e 42 49 4f 2c 20 69 6e 74 2c 20 4f 70 74 69 6f 6e 61 6c 5b 73 74 72 5d 29 20 2d 3e 20 50 | IO.BIO,.int,.Optional[str]).->.P |
3ca20 | 4b 43 53 37 0a 20 20 20 20 20 20 20 20 69 66 20 6e 6f 74 20 68 61 73 61 74 74 72 28 73 65 6c 66 | KCS7.........if.not.hasattr(self |
3ca40 | 2c 20 27 70 6b 65 79 27 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 53 4d 49 | ,.'pkey'):.............raise.SMI |
3ca60 | 4d 45 5f 45 72 72 6f 72 28 27 6e 6f 20 70 72 69 76 61 74 65 20 6b 65 79 3a 20 75 73 65 20 6c 6f | ME_Error('no.private.key:.use.lo |
3ca80 | 61 64 5f 6b 65 79 28 29 27 29 0a 0a 20 20 20 20 20 20 20 20 68 61 73 68 20 3d 20 67 65 74 61 74 | ad_key()')..........hash.=.getat |
3caa0 | 74 72 28 6d 32 2c 20 61 6c 67 6f 2c 20 4e 6f 6e 65 29 0a 0a 20 20 20 20 20 20 20 20 69 66 20 68 | tr(m2,.algo,.None)..........if.h |
3cac0 | 61 73 68 20 69 73 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 53 | ash.is.None:.............raise.S |
3cae0 | 4d 49 4d 45 5f 45 72 72 6f 72 28 27 6e 6f 20 73 75 63 68 20 68 61 73 68 20 61 6c 67 6f 72 69 74 | MIME_Error('no.such.hash.algorit |
3cb00 | 68 6d 20 25 73 27 20 25 20 61 6c 67 6f 29 0a 0a 20 20 20 20 20 20 20 20 69 66 20 68 61 73 61 74 | hm.%s'.%.algo)..........if.hasat |
3cb20 | 74 72 28 73 65 6c 66 2c 20 27 78 35 30 39 5f 73 74 61 63 6b 27 29 3a 0a 20 20 20 20 20 20 20 20 | tr(self,.'x509_stack'):......... |
3cb40 | 20 20 20 20 70 6b 63 73 37 20 3d 20 6d 32 2e 70 6b 63 73 37 5f 73 69 67 6e 31 28 73 65 6c 66 2e | ....pkcs7.=.m2.pkcs7_sign1(self. |
3cb60 | 78 35 30 39 2e 5f 70 74 72 28 29 2c 20 73 65 6c 66 2e 70 6b 65 79 2e 5f 70 74 72 28 29 2c 0a 20 | x509._ptr(),.self.pkey._ptr(),.. |
3cb80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
3cba0 | 20 20 73 65 6c 66 2e 78 35 30 39 5f 73 74 61 63 6b 2e 5f 70 74 72 28 29 2c 0a 20 20 20 20 20 20 | ..self.x509_stack._ptr(),....... |
3cbc0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 61 74 | .............................dat |
3cbe0 | 61 5f 62 69 6f 2e 5f 70 74 72 28 29 2c 20 68 61 73 68 28 29 2c 20 66 6c 61 67 73 29 0a 20 20 20 | a_bio._ptr(),.hash(),.flags).... |
3cc00 | 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 50 4b 43 53 37 28 70 6b 63 73 37 2c 20 31 29 0a | .........return.PKCS7(pkcs7,.1). |
3cc20 | 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 6b 63 73 37 20 | ........else:.............pkcs7. |
3cc40 | 3d 20 6d 32 2e 70 6b 63 73 37 5f 73 69 67 6e 30 28 73 65 6c 66 2e 78 35 30 39 2e 5f 70 74 72 28 | =.m2.pkcs7_sign0(self.x509._ptr( |
3cc60 | 29 2c 20 73 65 6c 66 2e 70 6b 65 79 2e 5f 70 74 72 28 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 | ),.self.pkey._ptr(),............ |
3cc80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 61 74 61 5f 62 69 6f | ........................data_bio |
3cca0 | 2e 5f 70 74 72 28 29 2c 20 68 61 73 68 28 29 2c 20 66 6c 61 67 73 29 0a 20 20 20 20 20 20 20 20 | ._ptr(),.hash(),.flags)......... |
3ccc0 | 20 20 20 20 72 65 74 75 72 6e 20 50 4b 43 53 37 28 70 6b 63 73 37 2c 20 31 29 0a 0a 20 20 20 20 | ....return.PKCS7(pkcs7,.1)...... |
3cce0 | 64 65 66 20 76 65 72 69 66 79 28 73 65 6c 66 2c 20 70 6b 63 73 37 2c 20 64 61 74 61 5f 62 69 6f | def.verify(self,.pkcs7,.data_bio |
3cd00 | 3d 4e 6f 6e 65 2c 20 66 6c 61 67 73 3d 30 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a | =None,.flags=0):.........#.type: |
3cd20 | 20 28 50 4b 43 53 37 2c 20 42 49 4f 2e 42 49 4f 2c 20 69 6e 74 29 20 2d 3e 20 4f 70 74 69 6f 6e | .(PKCS7,.BIO.BIO,.int).->.Option |
3cd40 | 61 6c 5b 62 79 74 65 73 5d 0a 20 20 20 20 20 20 20 20 69 66 20 6e 6f 74 20 68 61 73 61 74 74 72 | al[bytes].........if.not.hasattr |
3cd60 | 28 73 65 6c 66 2c 20 27 78 35 30 39 5f 73 74 61 63 6b 27 29 3a 0a 20 20 20 20 20 20 20 20 20 20 | (self,.'x509_stack'):........... |
3cd80 | 20 20 72 61 69 73 65 20 53 4d 49 4d 45 5f 45 72 72 6f 72 28 27 6e 6f 20 73 69 67 6e 65 72 20 63 | ..raise.SMIME_Error('no.signer.c |
3cda0 | 65 72 74 73 3a 20 75 73 65 20 73 65 74 5f 78 35 30 39 5f 73 74 61 63 6b 28 29 27 29 0a 20 20 20 | erts:.use.set_x509_stack()').... |
3cdc0 | 20 20 20 20 20 69 66 20 6e 6f 74 20 68 61 73 61 74 74 72 28 73 65 6c 66 2c 20 27 78 35 30 39 5f | .....if.not.hasattr(self,.'x509_ |
3cde0 | 73 74 6f 72 65 27 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 53 4d 49 4d 45 | store'):.............raise.SMIME |
3ce00 | 5f 45 72 72 6f 72 28 27 6e 6f 20 78 35 30 39 20 63 65 72 74 20 73 74 6f 72 65 3a 20 75 73 65 20 | _Error('no.x509.cert.store:.use. |
3ce20 | 73 65 74 5f 78 35 30 39 5f 73 74 6f 72 65 28 29 27 29 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 | set_x509_store()').........asser |
3ce40 | 74 20 69 73 69 6e 73 74 61 6e 63 65 28 70 6b 63 73 37 2c 20 50 4b 43 53 37 29 2c 20 27 70 6b 63 | t.isinstance(pkcs7,.PKCS7),.'pkc |
3ce60 | 73 37 20 6e 6f 74 20 61 6e 20 69 6e 73 74 61 6e 63 65 20 6f 66 20 50 4b 43 53 37 27 0a 20 20 20 | s7.not.an.instance.of.PKCS7'.... |
3ce80 | 20 20 20 20 20 70 37 20 3d 20 70 6b 63 73 37 2e 5f 70 74 72 28 29 0a 20 20 20 20 20 20 20 20 69 | .....p7.=.pkcs7._ptr().........i |
3cea0 | 66 20 64 61 74 61 5f 62 69 6f 20 69 73 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 | f.data_bio.is.None:............. |
3cec0 | 62 6c 6f 62 20 3d 20 6d 32 2e 70 6b 63 73 37 5f 76 65 72 69 66 79 30 28 70 37 2c 20 73 65 6c 66 | blob.=.m2.pkcs7_verify0(p7,.self |
3cee0 | 2e 78 35 30 39 5f 73 74 61 63 6b 2e 5f 70 74 72 28 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 | .x509_stack._ptr(),............. |
3cf00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 78 35 30 | ........................self.x50 |
3cf20 | 39 5f 73 74 6f 72 65 2e 5f 70 74 72 28 29 2c 20 66 6c 61 67 73 29 0a 20 20 20 20 20 20 20 20 65 | 9_store._ptr(),.flags).........e |
3cf40 | 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 62 6c 6f 62 20 3d 20 6d 32 2e 70 6b 63 73 37 | lse:.............blob.=.m2.pkcs7 |
3cf60 | 5f 76 65 72 69 66 79 31 28 70 37 2c 20 73 65 6c 66 2e 78 35 30 39 5f 73 74 61 63 6b 2e 5f 70 74 | _verify1(p7,.self.x509_stack._pt |
3cf80 | 72 28 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | r(),............................ |
3cfa0 | 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 78 35 30 39 5f 73 74 6f 72 65 2e 5f 70 74 72 28 29 2c | .........self.x509_store._ptr(), |
3cfc0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
3cfe0 | 20 20 20 20 20 64 61 74 61 5f 62 69 6f 2e 5f 70 74 72 28 29 2c 20 66 6c 61 67 73 29 0a 20 20 20 | .....data_bio._ptr(),.flags).... |
3d000 | 20 20 20 20 20 72 65 74 75 72 6e 20 62 6c 6f 62 0a 0a 20 20 20 20 64 65 66 20 77 72 69 74 65 28 | .....return.blob......def.write( |
3d020 | 73 65 6c 66 2c 20 6f 75 74 5f 62 69 6f 2c 20 70 6b 63 73 37 2c 20 64 61 74 61 5f 62 69 6f 3d 4e | self,.out_bio,.pkcs7,.data_bio=N |
3d040 | 6f 6e 65 2c 20 66 6c 61 67 73 3d 30 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 | one,.flags=0):.........#.type:.( |
3d060 | 42 49 4f 2e 42 49 4f 2c 20 50 4b 43 53 37 2c 20 4f 70 74 69 6f 6e 61 6c 5b 42 49 4f 2e 42 49 4f | BIO.BIO,.PKCS7,.Optional[BIO.BIO |
3d080 | 5d 2c 20 69 6e 74 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 20 69 73 | ],.int).->.int.........assert.is |
3d0a0 | 69 6e 73 74 61 6e 63 65 28 70 6b 63 73 37 2c 20 50 4b 43 53 37 29 0a 20 20 20 20 20 20 20 20 69 | instance(pkcs7,.PKCS7).........i |
3d0c0 | 66 20 64 61 74 61 5f 62 69 6f 20 69 73 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 | f.data_bio.is.None:............. |
3d0e0 | 72 65 74 75 72 6e 20 6d 32 2e 73 6d 69 6d 65 5f 77 72 69 74 65 5f 70 6b 63 73 37 28 6f 75 74 5f | return.m2.smime_write_pkcs7(out_ |
3d100 | 62 69 6f 2e 5f 70 74 72 28 29 2c 20 70 6b 63 73 37 2e 5f 70 74 72 28 29 2c 20 66 6c 61 67 73 29 | bio._ptr(),.pkcs7._ptr(),.flags) |
3d120 | 0a 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 | .........else:.............retur |
3d140 | 6e 20 6d 32 2e 73 6d 69 6d 65 5f 77 72 69 74 65 5f 70 6b 63 73 37 5f 6d 75 6c 74 69 28 6f 75 74 | n.m2.smime_write_pkcs7_multi(out |
3d160 | 5f 62 69 6f 2e 5f 70 74 72 28 29 2c 20 70 6b 63 73 37 2e 5f 70 74 72 28 29 2c 0a 20 20 20 20 20 | _bio._ptr(),.pkcs7._ptr(),...... |
3d180 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
3d1a0 | 20 20 20 20 20 20 20 20 20 64 61 74 61 5f 62 69 6f 2e 5f 70 74 72 28 29 2c 20 66 6c 61 67 73 29 | .........data_bio._ptr(),.flags) |
3d1c0 | 0a 0a 0a 64 65 66 20 74 65 78 74 5f 63 72 6c 66 28 74 65 78 74 29 3a 0a 20 20 20 20 23 20 74 79 | ...def.text_crlf(text):.....#.ty |
3d1e0 | 70 65 3a 20 28 62 79 74 65 73 29 20 2d 3e 20 62 79 74 65 73 0a 20 20 20 20 62 69 6f 5f 69 6e 20 | pe:.(bytes).->.bytes.....bio_in. |
3d200 | 3d 20 42 49 4f 2e 4d 65 6d 6f 72 79 42 75 66 66 65 72 28 74 65 78 74 29 0a 20 20 20 20 62 69 6f | =.BIO.MemoryBuffer(text).....bio |
3d220 | 5f 6f 75 74 20 3d 20 42 49 4f 2e 4d 65 6d 6f 72 79 42 75 66 66 65 72 28 29 0a 20 20 20 20 69 66 | _out.=.BIO.MemoryBuffer().....if |
3d240 | 20 6d 32 2e 73 6d 69 6d 65 5f 63 72 6c 66 5f 63 6f 70 79 28 62 69 6f 5f 69 6e 2e 5f 70 74 72 28 | .m2.smime_crlf_copy(bio_in._ptr( |
3d260 | 29 2c 20 62 69 6f 5f 6f 75 74 2e 5f 70 74 72 28 29 29 3a 0a 20 20 20 20 20 20 20 20 72 65 74 75 | ),.bio_out._ptr()):.........retu |
3d280 | 72 6e 20 62 69 6f 5f 6f 75 74 2e 72 65 61 64 28 29 0a 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 | rn.bio_out.read().....else:..... |
3d2a0 | 20 20 20 20 72 61 69 73 65 20 53 4d 49 4d 45 5f 45 72 72 6f 72 28 45 72 72 2e 67 65 74 5f 65 72 | ....raise.SMIME_Error(Err.get_er |
3d2c0 | 72 6f 72 28 29 29 0a 0a 0a 64 65 66 20 74 65 78 74 5f 63 72 6c 66 5f 62 69 6f 28 62 69 6f 5f 69 | ror())...def.text_crlf_bio(bio_i |
3d2e0 | 6e 29 3a 0a 20 20 20 20 23 20 74 79 70 65 3a 20 28 42 49 4f 2e 42 49 4f 29 20 2d 3e 20 42 49 4f | n):.....#.type:.(BIO.BIO).->.BIO |
3d300 | 2e 42 49 4f 0a 20 20 20 20 62 69 6f 5f 6f 75 74 20 3d 20 42 49 4f 2e 4d 65 6d 6f 72 79 42 75 66 | .BIO.....bio_out.=.BIO.MemoryBuf |
3d320 | 66 65 72 28 29 0a 20 20 20 20 69 66 20 6d 32 2e 73 6d 69 6d 65 5f 63 72 6c 66 5f 63 6f 70 79 28 | fer().....if.m2.smime_crlf_copy( |
3d340 | 62 69 6f 5f 69 6e 2e 5f 70 74 72 28 29 2c 20 62 69 6f 5f 6f 75 74 2e 5f 70 74 72 28 29 29 3a 0a | bio_in._ptr(),.bio_out._ptr()):. |
3d360 | 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 62 69 6f 5f 6f 75 74 0a 20 20 20 20 65 6c 73 65 3a | ........return.bio_out.....else: |
3d380 | 0a 20 20 20 20 20 20 20 20 72 61 69 73 65 20 53 4d 49 4d 45 5f 45 72 72 6f 72 28 45 72 72 2e 67 | .........raise.SMIME_Error(Err.g |
3d3a0 | 65 74 5f 65 72 72 6f 72 28 29 29 0a 94 7d 94 28 8c 0b 50 4b 43 53 37 5f 45 72 72 6f 72 94 6a 7d | et_error())..}.(..PKCS7_Error.j} |
3d3c0 | 1f 00 00 4b 1b 4b 1c 87 94 8c 0e 50 4b 43 53 37 2e 5f 5f 69 6e 69 74 5f 5f 94 6a 74 1f 00 00 4b | ...K.K.....PKCS7.__init__.jt...K |
3d3e0 | 25 4b 31 87 94 8c 0d 50 4b 43 53 37 2e 5f 5f 64 65 6c 5f 5f 94 6a 74 1f 00 00 4b 33 4b 36 87 94 | %K1....PKCS7.__del__.jt...K3K6.. |
3d400 | 8c 0a 50 4b 43 53 37 2e 5f 70 74 72 94 6a 74 1f 00 00 4b 38 4b 39 87 94 8c 0a 50 4b 43 53 37 2e | ..PKCS7._ptr.jt...K8K9....PKCS7. |
3d420 | 74 79 70 65 94 6a 74 1f 00 00 4b 3b 4b 40 87 94 8c 0b 50 4b 43 53 37 2e 77 72 69 74 65 94 6a 74 | type.jt...K;K@....PKCS7.write.jt |
3d440 | 1f 00 00 4b 42 4b 44 87 94 8c 0f 50 4b 43 53 37 2e 77 72 69 74 65 5f 64 65 72 94 6a 74 1f 00 00 | ...KBKD....PKCS7.write_der.jt... |
3d460 | 4b 46 4b 48 87 94 8c 12 50 4b 43 53 37 2e 67 65 74 30 5f 73 69 67 6e 65 72 73 94 6a 74 1f 00 00 | KFKH....PKCS7.get0_signers.jt... |
3d480 | 4b 4a 4b 4d 87 94 8c 05 50 4b 43 53 37 94 6a 7d 1f 00 00 4b 21 4b 4d 87 94 8c 0a 6c 6f 61 64 5f | KJKM....PKCS7.j}...K!KM....load_ |
3d4a0 | 70 6b 63 73 37 94 6a 74 1f 00 00 4b 50 4b 55 87 94 8c 0e 6c 6f 61 64 5f 70 6b 63 73 37 5f 64 65 | pkcs7.jt...KPKU....load_pkcs7_de |
3d4c0 | 72 94 6a 74 1f 00 00 4b 58 4b 5d 87 94 8c 0e 6c 6f 61 64 5f 70 6b 63 73 37 5f 62 69 6f 94 6a 74 | r.jt...KXK]....load_pkcs7_bio.jt |
3d4e0 | 1f 00 00 4b 60 4b 63 87 94 8c 12 6c 6f 61 64 5f 70 6b 63 73 37 5f 62 69 6f 5f 64 65 72 94 6a 74 | ...K`Kc....load_pkcs7_bio_der.jt |
3d500 | 1f 00 00 4b 66 4b 69 87 94 8c 10 73 6d 69 6d 65 5f 6c 6f 61 64 5f 70 6b 63 73 37 94 6a 74 1f 00 | ...KfKi....smime_load_pkcs7.jt.. |
3d520 | 00 4b 6c 4b 78 87 94 8c 14 73 6d 69 6d 65 5f 6c 6f 61 64 5f 70 6b 63 73 37 5f 62 69 6f 94 6a 74 | .KlKx....smime_load_pkcs7_bio.jt |
3d540 | 1f 00 00 4b 7b 4b 83 87 94 8c 0f 43 69 70 68 65 72 2e 5f 5f 69 6e 69 74 5f 5f 94 6a 74 1f 00 00 | ...K{K.....Cipher.__init__.jt... |
3d560 | 4b 8b 4b 90 87 94 8c 0b 43 69 70 68 65 72 2e 5f 70 74 72 94 6a 74 1f 00 00 4b 92 4b 93 87 94 8c | K.K.....Cipher._ptr.jt...K.K.... |
3d580 | 06 43 69 70 68 65 72 94 6a 7d 1f 00 00 4b 86 4b 93 87 94 8c 0b 53 4d 49 4d 45 5f 45 72 72 6f 72 | .Cipher.j}...K.K.....SMIME_Error |
3d5a0 | 94 6a 7d 1f 00 00 4b 96 4b 97 87 94 8c 0e 53 4d 49 4d 45 2e 6c 6f 61 64 5f 6b 65 79 94 6a 74 1f | .j}...K.K.....SMIME.load_key.jt. |
3d5c0 | 00 00 4b 9e 4b a4 87 94 8c 12 53 4d 49 4d 45 2e 6c 6f 61 64 5f 6b 65 79 5f 62 69 6f 94 6a 74 1f | ..K.K.....SMIME.load_key_bio.jt. |
3d5e0 | 00 00 4b a6 4b ac 87 94 8c 14 53 4d 49 4d 45 2e 73 65 74 5f 78 35 30 39 5f 73 74 61 63 6b 94 6a | ..K.K.....SMIME.set_x509_stack.j |
3d600 | 74 1f 00 00 4b ae 4b b1 87 94 8c 14 53 4d 49 4d 45 2e 73 65 74 5f 78 35 30 39 5f 73 74 6f 72 65 | t...K.K.....SMIME.set_x509_store |
3d620 | 94 6a 74 1f 00 00 4b b3 4b b6 87 94 8c 10 53 4d 49 4d 45 2e 73 65 74 5f 63 69 70 68 65 72 94 6a | .jt...K.K.....SMIME.set_cipher.j |
3d640 | 74 1f 00 00 4b b8 4b bb 87 94 8c 0f 53 4d 49 4d 45 2e 75 6e 73 65 74 5f 6b 65 79 94 6a 74 1f 00 | t...K.K.....SMIME.unset_key.jt.. |
3d660 | 00 4b bd 4b c0 87 94 8c 16 53 4d 49 4d 45 2e 75 6e 73 65 74 5f 78 35 30 39 5f 73 74 61 63 6b 94 | .K.K.....SMIME.unset_x509_stack. |
3d680 | 6a 74 1f 00 00 4b c2 4b c4 87 94 8c 16 53 4d 49 4d 45 2e 75 6e 73 65 74 5f 78 35 30 39 5f 73 74 | jt...K.K.....SMIME.unset_x509_st |
3d6a0 | 6f 72 65 94 6a 74 1f 00 00 4b c6 4b c8 87 94 8c 12 53 4d 49 4d 45 2e 75 6e 73 65 74 5f 63 69 70 | ore.jt...K.K.....SMIME.unset_cip |
3d6c0 | 68 65 72 94 6a 74 1f 00 00 4b ca 4b cc 87 94 8c 0d 53 4d 49 4d 45 2e 65 6e 63 72 79 70 74 94 6a | her.jt...K.K.....SMIME.encrypt.j |
3d6e0 | 74 1f 00 00 4b ce 4b d8 87 94 8c 0d 53 4d 49 4d 45 2e 64 65 63 72 79 70 74 94 6a 74 1f 00 00 4b | t...K.K.....SMIME.decrypt.jt...K |
3d700 | da 4b e2 87 94 8c 0a 53 4d 49 4d 45 2e 73 69 67 6e 94 6a 74 1f 00 00 4b e4 4b f6 87 94 8c 0c 53 | .K.....SMIME.sign.jt...K.K.....S |
3d720 | 4d 49 4d 45 2e 76 65 72 69 66 79 94 6a 74 1f 00 00 4b f8 4d 07 01 87 94 8c 0b 53 4d 49 4d 45 2e | MIME.verify.jt...K.M......SMIME. |
3d740 | 77 72 69 74 65 94 6a 74 1f 00 00 4d 09 01 4d 10 01 87 94 8c 05 53 4d 49 4d 45 94 6a 7d 1f 00 00 | write.jt...M..M......SMIME.j}... |
3d760 | 4b 9d 4d 10 01 87 94 8c 09 74 65 78 74 5f 63 72 6c 66 94 6a 74 1f 00 00 4d 13 01 4d 1a 01 87 94 | K.M......text_crlf.jt...M..M.... |
3d780 | 8c 0d 74 65 78 74 5f 63 72 6c 66 5f 62 69 6f 94 6a 74 1f 00 00 4d 1d 01 4d 23 01 87 94 75 7d 94 | ..text_crlf_bio.jt...M..M#...u}. |
3d7a0 | 28 8c 06 43 69 70 68 65 72 94 6a 53 02 00 00 8c 05 50 4b 43 53 37 94 6a 53 02 00 00 8c 12 50 4b | (..Cipher.jS.....PKCS7.jS.....PK |
3d7c0 | 43 53 37 2e 67 65 74 30 5f 73 69 67 6e 65 72 73 94 6a 53 02 00 00 8c 0a 50 4b 43 53 37 2e 74 79 | CS7.get0_signers.jS.....PKCS7.ty |
3d7e0 | 70 65 94 6a 53 02 00 00 8c 0b 50 4b 43 53 37 2e 77 72 69 74 65 94 6a 53 02 00 00 8c 0f 50 4b 43 | pe.jS.....PKCS7.write.jS.....PKC |
3d800 | 53 37 2e 77 72 69 74 65 5f 64 65 72 94 6a 53 02 00 00 8c 0b 50 4b 43 53 37 5f 45 72 72 6f 72 94 | S7.write_der.jS.....PKCS7_Error. |
3d820 | 6a 53 02 00 00 8c 05 53 4d 49 4d 45 94 6a 53 02 00 00 8c 0d 53 4d 49 4d 45 2e 64 65 63 72 79 70 | jS.....SMIME.jS.....SMIME.decryp |
3d840 | 74 94 6a 53 02 00 00 8c 0d 53 4d 49 4d 45 2e 65 6e 63 72 79 70 74 94 6a 53 02 00 00 8c 0e 53 4d | t.jS.....SMIME.encrypt.jS.....SM |
3d860 | 49 4d 45 2e 6c 6f 61 64 5f 6b 65 79 94 6a 53 02 00 00 8c 12 53 4d 49 4d 45 2e 6c 6f 61 64 5f 6b | IME.load_key.jS.....SMIME.load_k |
3d880 | 65 79 5f 62 69 6f 94 6a 53 02 00 00 8c 10 53 4d 49 4d 45 2e 73 65 74 5f 63 69 70 68 65 72 94 6a | ey_bio.jS.....SMIME.set_cipher.j |
3d8a0 | 53 02 00 00 8c 14 53 4d 49 4d 45 2e 73 65 74 5f 78 35 30 39 5f 73 74 61 63 6b 94 6a 53 02 00 00 | S.....SMIME.set_x509_stack.jS... |
3d8c0 | 8c 14 53 4d 49 4d 45 2e 73 65 74 5f 78 35 30 39 5f 73 74 6f 72 65 94 6a 53 02 00 00 8c 0a 53 4d | ..SMIME.set_x509_store.jS.....SM |
3d8e0 | 49 4d 45 2e 73 69 67 6e 94 6a 53 02 00 00 8c 12 53 4d 49 4d 45 2e 75 6e 73 65 74 5f 63 69 70 68 | IME.sign.jS.....SMIME.unset_ciph |
3d900 | 65 72 94 6a 53 02 00 00 8c 0f 53 4d 49 4d 45 2e 75 6e 73 65 74 5f 6b 65 79 94 6a 53 02 00 00 8c | er.jS.....SMIME.unset_key.jS.... |
3d920 | 16 53 4d 49 4d 45 2e 75 6e 73 65 74 5f 78 35 30 39 5f 73 74 61 63 6b 94 6a 53 02 00 00 8c 16 53 | .SMIME.unset_x509_stack.jS.....S |
3d940 | 4d 49 4d 45 2e 75 6e 73 65 74 5f 78 35 30 39 5f 73 74 6f 72 65 94 6a 53 02 00 00 8c 0c 53 4d 49 | MIME.unset_x509_store.jS.....SMI |
3d960 | 4d 45 2e 76 65 72 69 66 79 94 6a 53 02 00 00 8c 0b 53 4d 49 4d 45 2e 77 72 69 74 65 94 6a 53 02 | ME.verify.jS.....SMIME.write.jS. |
3d980 | 00 00 8c 0b 53 4d 49 4d 45 5f 45 72 72 6f 72 94 6a 53 02 00 00 8c 0a 6c 6f 61 64 5f 70 6b 63 73 | ....SMIME_Error.jS.....load_pkcs |
3d9a0 | 37 94 6a 53 02 00 00 8c 0e 6c 6f 61 64 5f 70 6b 63 73 37 5f 62 69 6f 94 6a 53 02 00 00 8c 12 6c | 7.jS.....load_pkcs7_bio.jS.....l |
3d9c0 | 6f 61 64 5f 70 6b 63 73 37 5f 62 69 6f 5f 64 65 72 94 6a 53 02 00 00 8c 0e 6c 6f 61 64 5f 70 6b | oad_pkcs7_bio_der.jS.....load_pk |
3d9e0 | 63 73 37 5f 64 65 72 94 6a 53 02 00 00 8c 10 73 6d 69 6d 65 5f 6c 6f 61 64 5f 70 6b 63 73 37 94 | cs7_der.jS.....smime_load_pkcs7. |
3da00 | 6a 53 02 00 00 8c 14 73 6d 69 6d 65 5f 6c 6f 61 64 5f 70 6b 63 73 37 5f 62 69 6f 94 6a 53 02 00 | jS.....smime_load_pkcs7_bio.jS.. |
3da20 | 00 8c 09 74 65 78 74 5f 63 72 6c 66 94 6a 53 02 00 00 8c 0d 74 65 78 74 5f 63 72 6c 66 5f 62 69 | ...text_crlf.jS.....text_crlf_bi |
3da40 | 6f 94 6a 53 02 00 00 75 8c 0e 4d 32 43 72 79 70 74 6f 2e 53 4d 49 4d 45 94 74 94 8c 0d 4d 32 43 | o.jS...u..M2Crypto.SMIME.t...M2C |
3da60 | 72 79 70 74 6f 2e 58 35 30 39 94 28 58 bd a7 00 00 66 72 6f 6d 20 5f 5f 66 75 74 75 72 65 5f 5f | rypto.X509.(X....from.__future__ |
3da80 | 20 69 6d 70 6f 72 74 20 61 62 73 6f 6c 75 74 65 5f 69 6d 70 6f 72 74 0a 0a 22 22 22 4d 32 43 72 | .import.absolute_import.."""M2Cr |
3daa0 | 79 70 74 6f 20 77 72 61 70 70 65 72 20 66 6f 72 20 4f 70 65 6e 53 53 4c 20 58 35 30 39 20 41 50 | ypto.wrapper.for.OpenSSL.X509.AP |
3dac0 | 49 2e 0a 0a 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 39 39 2d 32 30 30 34 20 4e 67 20 50 | I...Copyright.(c).1999-2004.Ng.P |
3dae0 | 68 65 6e 67 20 53 69 6f 6e 67 2e 20 41 6c 6c 20 72 69 67 68 74 73 20 72 65 73 65 72 76 65 64 2e | heng.Siong..All.rights.reserved. |
3db00 | 0a 0a 50 6f 72 74 69 6f 6e 73 20 63 72 65 61 74 65 64 20 62 79 20 4f 70 65 6e 20 53 6f 75 72 63 | ..Portions.created.by.Open.Sourc |
3db20 | 65 20 41 70 70 6c 69 63 61 74 69 6f 6e 73 20 46 6f 75 6e 64 61 74 69 6f 6e 20 28 4f 53 41 46 29 | e.Applications.Foundation.(OSAF) |
3db40 | 20 61 72 65 0a 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 34 2d 32 30 30 37 20 4f 53 41 | .are.Copyright.(C).2004-2007.OSA |
3db60 | 46 2e 20 41 6c 6c 20 52 69 67 68 74 73 20 52 65 73 65 72 76 65 64 2e 0a 41 75 74 68 6f 72 3a 20 | F..All.Rights.Reserved..Author:. |
3db80 | 48 65 69 6b 6b 69 20 54 6f 69 76 6f 6e 65 6e 0a 22 22 22 0a 0a 69 6d 70 6f 72 74 20 62 69 6e 61 | Heikki.Toivonen."""..import.bina |
3dba0 | 73 63 69 69 0a 69 6d 70 6f 72 74 20 6c 6f 67 67 69 6e 67 0a 0a 66 72 6f 6d 20 4d 32 43 72 79 70 | scii.import.logging..from.M2Cryp |
3dbc0 | 74 6f 20 69 6d 70 6f 72 74 20 41 53 4e 31 2c 20 42 49 4f 2c 20 45 56 50 2c 20 6d 32 2c 20 70 79 | to.import.ASN1,.BIO,.EVP,.m2,.py |
3dbe0 | 32 37 70 6c 75 73 2c 20 73 69 78 20 20 23 20 6e 6f 71 61 0a 69 66 20 70 79 32 37 70 6c 75 73 3a | 27plus,.six..#.noqa.if.py27plus: |
3dc00 | 0a 20 20 20 20 66 72 6f 6d 20 74 79 70 69 6e 67 20 69 6d 70 6f 72 74 20 41 6e 79 53 74 72 2c 20 | .....from.typing.import.AnyStr,. |
3dc20 | 4f 70 74 69 6f 6e 61 6c 20 20 23 20 6e 6f 71 61 0a 0a 46 4f 52 4d 41 54 5f 44 45 52 20 3d 20 30 | Optional..#.noqa..FORMAT_DER.=.0 |
3dc40 | 0a 46 4f 52 4d 41 54 5f 50 45 4d 20 3d 20 31 0a 0a 6c 6f 67 20 3d 20 6c 6f 67 67 69 6e 67 2e 67 | .FORMAT_PEM.=.1..log.=.logging.g |
3dc60 | 65 74 4c 6f 67 67 65 72 28 5f 5f 6e 61 6d 65 5f 5f 29 0a 0a 0a 63 6c 61 73 73 20 58 35 30 39 45 | etLogger(__name__)...class.X509E |
3dc80 | 72 72 6f 72 28 56 61 6c 75 65 45 72 72 6f 72 29 3a 0a 20 20 20 20 70 61 73 73 0a 0a 6d 32 2e 78 | rror(ValueError):.....pass..m2.x |
3dca0 | 35 30 39 5f 69 6e 69 74 28 58 35 30 39 45 72 72 6f 72 29 0a 0a 56 5f 4f 4b 20 3d 20 6d 32 2e 58 | 509_init(X509Error)..V_OK.=.m2.X |
3dcc0 | 35 30 39 5f 56 5f 4f 4b 20 20 23 20 74 79 70 65 3a 20 69 6e 74 0a 0a 0a 64 65 66 20 78 35 30 39 | 509_V_OK..#.type:.int...def.x509 |
3dce0 | 5f 73 74 6f 72 65 5f 64 65 66 61 75 6c 74 5f 63 62 28 6f 6b 2c 20 63 74 78 29 3a 0a 20 20 20 20 | _store_default_cb(ok,.ctx):..... |
3dd00 | 23 20 74 79 70 65 3a 20 28 69 6e 74 2c 20 58 35 30 39 5f 53 74 6f 72 65 5f 43 6f 6e 74 65 78 74 | #.type:.(int,.X509_Store_Context |
3dd20 | 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 72 65 74 75 72 6e 20 6f 6b 0a 0a 0a 64 65 66 20 6e 65 77 | ).->.int.....return.ok...def.new |
3dd40 | 5f 65 78 74 65 6e 73 69 6f 6e 28 6e 61 6d 65 2c 20 76 61 6c 75 65 2c 20 63 72 69 74 69 63 61 6c | _extension(name,.value,.critical |
3dd60 | 3d 30 2c 20 5f 70 79 66 72 65 65 3d 31 29 3a 0a 20 20 20 20 23 20 74 79 70 65 3a 20 28 73 74 72 | =0,._pyfree=1):.....#.type:.(str |
3dd80 | 2c 20 62 79 74 65 73 2c 20 69 6e 74 2c 20 69 6e 74 29 20 2d 3e 20 58 35 30 39 5f 45 78 74 65 6e | ,.bytes,.int,.int).->.X509_Exten |
3dda0 | 73 69 6f 6e 0a 20 20 20 20 22 22 22 0a 20 20 20 20 43 72 65 61 74 65 20 6e 65 77 20 58 35 30 39 | sion.....""".....Create.new.X509 |
3ddc0 | 5f 45 78 74 65 6e 73 69 6f 6e 20 69 6e 73 74 61 6e 63 65 2e 0a 20 20 20 20 22 22 22 0a 20 20 20 | _Extension.instance......""".... |
3dde0 | 20 69 66 20 6e 61 6d 65 20 3d 3d 20 27 73 75 62 6a 65 63 74 4b 65 79 49 64 65 6e 74 69 66 69 65 | .if.name.==.'subjectKeyIdentifie |
3de00 | 72 27 20 61 6e 64 20 5c 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 2e 73 74 72 69 70 | r'.and.\.............value.strip |
3de20 | 28 27 30 31 32 33 34 35 36 37 38 39 61 62 63 64 65 66 41 42 43 44 45 46 3a 27 29 20 69 73 20 6e | ('0123456789abcdefABCDEF:').is.n |
3de40 | 6f 74 20 27 27 3a 0a 20 20 20 20 20 20 20 20 72 61 69 73 65 20 56 61 6c 75 65 45 72 72 6f 72 28 | ot.'':.........raise.ValueError( |
3de60 | 27 76 61 6c 75 65 20 6d 75 73 74 20 62 65 20 70 72 65 63 6f 6d 70 75 74 65 64 20 68 61 73 68 27 | 'value.must.be.precomputed.hash' |
3de80 | 29 0a 20 20 20 20 63 74 78 20 3d 20 6d 32 2e 78 35 30 39 76 33 5f 73 65 74 5f 6e 63 6f 6e 66 28 | ).....ctx.=.m2.x509v3_set_nconf( |
3dea0 | 29 0a 20 20 20 20 78 35 30 39 5f 65 78 74 5f 70 74 72 20 3d 20 6d 32 2e 78 35 30 39 76 33 5f 65 | ).....x509_ext_ptr.=.m2.x509v3_e |
3dec0 | 78 74 5f 63 6f 6e 66 28 4e 6f 6e 65 2c 20 63 74 78 2c 20 6e 61 6d 65 2c 20 76 61 6c 75 65 29 0a | xt_conf(None,.ctx,.name,.value). |
3dee0 | 20 20 20 20 69 66 20 78 35 30 39 5f 65 78 74 5f 70 74 72 20 69 73 20 4e 6f 6e 65 3a 0a 20 20 20 | ....if.x509_ext_ptr.is.None:.... |
3df00 | 20 20 20 20 20 72 61 69 73 65 20 58 35 30 39 45 72 72 6f 72 28 0a 20 20 20 20 20 20 20 20 20 20 | .....raise.X509Error(........... |
3df20 | 20 20 22 43 61 6e 6e 6f 74 20 63 72 65 61 74 65 20 58 35 30 39 5f 45 78 74 65 6e 73 69 6f 6e 20 | .."Cannot.create.X509_Extension. |
3df40 | 77 69 74 68 20 6e 61 6d 65 20 27 25 73 27 20 61 6e 64 20 76 61 6c 75 65 20 27 25 73 27 22 20 25 | with.name.'%s'.and.value.'%s'".% |
3df60 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 61 6d 65 2c 20 76 61 6c 75 65 29 29 0a 20 20 20 20 | .............(name,.value))..... |
3df80 | 78 35 30 39 5f 65 78 74 20 3d 20 58 35 30 39 5f 45 78 74 65 6e 73 69 6f 6e 28 78 35 30 39 5f 65 | x509_ext.=.X509_Extension(x509_e |
3dfa0 | 78 74 5f 70 74 72 2c 20 5f 70 79 66 72 65 65 29 0a 20 20 20 20 78 35 30 39 5f 65 78 74 2e 73 65 | xt_ptr,._pyfree).....x509_ext.se |
3dfc0 | 74 5f 63 72 69 74 69 63 61 6c 28 63 72 69 74 69 63 61 6c 29 0a 20 20 20 20 72 65 74 75 72 6e 20 | t_critical(critical).....return. |
3dfe0 | 78 35 30 39 5f 65 78 74 0a 0a 0a 63 6c 61 73 73 20 58 35 30 39 5f 45 78 74 65 6e 73 69 6f 6e 28 | x509_ext...class.X509_Extension( |
3e000 | 6f 62 6a 65 63 74 29 3a 0a 20 20 20 20 22 22 22 0a 20 20 20 20 58 35 30 39 20 45 78 74 65 6e 73 | object):.....""".....X509.Extens |
3e020 | 69 6f 6e 0a 20 20 20 20 22 22 22 0a 0a 20 20 20 20 6d 32 5f 78 35 30 39 5f 65 78 74 65 6e 73 69 | ion....."""......m2_x509_extensi |
3e040 | 6f 6e 5f 66 72 65 65 20 3d 20 6d 32 2e 78 35 30 39 5f 65 78 74 65 6e 73 69 6f 6e 5f 66 72 65 65 | on_free.=.m2.x509_extension_free |
3e060 | 0a 0a 20 20 20 20 64 65 66 20 5f 5f 69 6e 69 74 5f 5f 28 73 65 6c 66 2c 20 78 35 30 39 5f 65 78 | ......def.__init__(self,.x509_ex |
3e080 | 74 5f 70 74 72 3d 4e 6f 6e 65 2c 20 5f 70 79 66 72 65 65 3d 31 29 3a 0a 20 20 20 20 20 20 20 20 | t_ptr=None,._pyfree=1):......... |
3e0a0 | 23 20 74 79 70 65 3a 20 28 4f 70 74 69 6f 6e 61 6c 5b 62 79 74 65 73 5d 2c 20 69 6e 74 29 20 2d | #.type:.(Optional[bytes],.int).- |
3e0c0 | 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 78 35 30 39 5f 65 78 74 20 3d 20 78 | >.None.........self.x509_ext.=.x |
3e0e0 | 35 30 39 5f 65 78 74 5f 70 74 72 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 70 79 66 72 65 65 | 509_ext_ptr.........self._pyfree |
3e100 | 20 3d 20 5f 70 79 66 72 65 65 0a 0a 20 20 20 20 64 65 66 20 5f 5f 64 65 6c 5f 5f 28 73 65 6c 66 | .=._pyfree......def.__del__(self |
3e120 | 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 | ):.........#.type:.().->.None... |
3e140 | 20 20 20 20 20 20 69 66 20 67 65 74 61 74 74 72 28 73 65 6c 66 2c 20 27 5f 70 79 66 72 65 65 27 | ......if.getattr(self,.'_pyfree' |
3e160 | 2c 20 30 29 20 61 6e 64 20 73 65 6c 66 2e 78 35 30 39 5f 65 78 74 3a 0a 20 20 20 20 20 20 20 20 | ,.0).and.self.x509_ext:......... |
3e180 | 20 20 20 20 73 65 6c 66 2e 6d 32 5f 78 35 30 39 5f 65 78 74 65 6e 73 69 6f 6e 5f 66 72 65 65 28 | ....self.m2_x509_extension_free( |
3e1a0 | 73 65 6c 66 2e 78 35 30 39 5f 65 78 74 29 0a 0a 20 20 20 20 64 65 66 20 5f 70 74 72 28 73 65 6c | self.x509_ext)......def._ptr(sel |
3e1c0 | 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 62 79 74 65 73 0a | f):.........#.type:.().->.bytes. |
3e1e0 | 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 2e 78 35 30 39 5f 65 78 74 0a 0a 20 20 | ........return.self.x509_ext.... |
3e200 | 20 20 64 65 66 20 73 65 74 5f 63 72 69 74 69 63 61 6c 28 73 65 6c 66 2c 20 63 72 69 74 69 63 61 | ..def.set_critical(self,.critica |
3e220 | 6c 3d 31 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 69 6e 74 29 20 2d 3e 20 69 | l=1):.........#.type:.(int).->.i |
3e240 | 6e 74 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 4d 61 72 6b 20 74 68 69 73 | nt.........""".........Mark.this |
3e260 | 20 65 78 74 65 6e 73 69 6f 6e 20 63 72 69 74 69 63 61 6c 20 6f 72 20 6e 6f 6e 63 72 69 74 69 63 | .extension.critical.or.noncritic |
3e280 | 61 6c 2e 20 42 79 20 64 65 66 61 75 6c 74 20 61 6e 0a 20 20 20 20 20 20 20 20 65 78 74 65 6e 73 | al..By.default.an.........extens |
3e2a0 | 69 6f 6e 20 69 73 20 6e 6f 74 20 63 72 69 74 69 63 61 6c 2e 0a 0a 20 20 20 20 20 20 20 20 3a 70 | ion.is.not.critical...........:p |
3e2c0 | 61 72 61 6d 20 63 72 69 74 69 63 61 6c 3a 20 4e 6f 6e 7a 65 72 6f 20 73 65 74 73 20 74 68 69 73 | aram.critical:.Nonzero.sets.this |
3e2e0 | 20 65 78 74 65 6e 73 69 6f 6e 20 61 73 20 63 72 69 74 69 63 61 6c 2e 0a 20 20 20 20 20 20 20 20 | .extension.as.critical.......... |
3e300 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 61 6c 6c 69 6e 67 20 74 68 69 73 20 6d 65 | .................Calling.this.me |
3e320 | 74 68 6f 64 20 77 69 74 68 6f 75 74 20 61 72 67 75 6d 65 6e 74 73 20 77 69 6c 6c 0a 20 20 20 20 | thod.without.arguments.will..... |
3e340 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 74 20 74 68 69 73 20 65 78 | .....................set.this.ex |
3e360 | 74 65 6e 73 69 6f 6e 20 74 6f 20 63 72 69 74 69 63 61 6c 2e 0a 20 20 20 20 20 20 20 20 3a 72 65 | tension.to.critical..........:re |
3e380 | 74 75 72 6e 3a 20 31 20 66 6f 72 20 73 75 63 63 65 73 73 2c 20 30 20 66 6f 72 20 66 61 69 6c 75 | turn:.1.for.success,.0.for.failu |
3e3a0 | 72 65 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 | re.........""".........return.m2 |
3e3c0 | 2e 78 35 30 39 5f 65 78 74 65 6e 73 69 6f 6e 5f 73 65 74 5f 63 72 69 74 69 63 61 6c 28 73 65 6c | .x509_extension_set_critical(sel |
3e3e0 | 66 2e 78 35 30 39 5f 65 78 74 2c 20 63 72 69 74 69 63 61 6c 29 0a 0a 20 20 20 20 64 65 66 20 67 | f.x509_ext,.critical)......def.g |
3e400 | 65 74 5f 63 72 69 74 69 63 61 6c 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 | et_critical(self):.........#.typ |
3e420 | 65 3a 20 28 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 | e:.().->.int........."""........ |
3e440 | 20 52 65 74 75 72 6e 20 77 68 65 74 68 65 72 20 6f 72 20 6e 6f 74 20 74 68 69 73 20 69 73 20 61 | .Return.whether.or.not.this.is.a |
3e460 | 20 63 72 69 74 69 63 61 6c 20 65 78 74 65 6e 73 69 6f 6e 2e 0a 0a 20 20 20 20 20 20 20 20 3a 72 | .critical.extension...........:r |
3e480 | 65 74 75 72 6e 3a 20 20 4e 6f 6e 7a 65 72 6f 20 69 66 20 74 68 69 73 20 69 73 20 61 20 63 72 69 | eturn:..Nonzero.if.this.is.a.cri |
3e4a0 | 74 69 63 61 6c 20 65 78 74 65 6e 73 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 | tical.extension..........""".... |
3e4c0 | 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 78 35 30 39 5f 65 78 74 65 6e 73 69 6f 6e 5f 67 65 | .....return.m2.x509_extension_ge |
3e4e0 | 74 5f 63 72 69 74 69 63 61 6c 28 73 65 6c 66 2e 78 35 30 39 5f 65 78 74 29 0a 0a 20 20 20 20 64 | t_critical(self.x509_ext)......d |
3e500 | 65 66 20 67 65 74 5f 6e 61 6d 65 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 | ef.get_name(self):.........#.typ |
3e520 | 65 3a 20 28 29 20 2d 3e 20 73 74 72 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 | e:.().->.str........."""........ |
3e540 | 20 47 65 74 20 74 68 65 20 65 78 74 65 6e 73 69 6f 6e 20 6e 61 6d 65 2c 20 66 6f 72 20 65 78 61 | .Get.the.extension.name,.for.exa |
3e560 | 6d 70 6c 65 20 27 73 75 62 6a 65 63 74 41 6c 74 4e 61 6d 65 27 2e 0a 20 20 20 20 20 20 20 20 22 | mple.'subjectAltName'.........." |
3e580 | 22 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 69 78 2e 65 6e 73 75 72 65 5f 74 65 78 | "".........return.six.ensure_tex |
3e5a0 | 74 28 6d 32 2e 78 35 30 39 5f 65 78 74 65 6e 73 69 6f 6e 5f 67 65 74 5f 6e 61 6d 65 28 73 65 6c | t(m2.x509_extension_get_name(sel |
3e5c0 | 66 2e 78 35 30 39 5f 65 78 74 29 29 0a 0a 20 20 20 20 64 65 66 20 67 65 74 5f 76 61 6c 75 65 28 | f.x509_ext))......def.get_value( |
3e5e0 | 73 65 6c 66 2c 20 66 6c 61 67 3d 30 2c 20 69 6e 64 65 6e 74 3d 30 29 3a 0a 20 20 20 20 20 20 20 | self,.flag=0,.indent=0):........ |
3e600 | 20 23 20 74 79 70 65 3a 20 28 69 6e 74 2c 20 69 6e 74 29 20 2d 3e 20 73 74 72 0a 20 20 20 20 20 | .#.type:.(int,.int).->.str...... |
3e620 | 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 47 65 74 20 74 68 65 20 65 78 74 65 6e 73 69 6f 6e | ...""".........Get.the.extension |
3e640 | 20 76 61 6c 75 65 2c 20 66 6f 72 20 65 78 61 6d 70 6c 65 20 27 44 4e 53 3a 77 77 77 2e 65 78 61 | .value,.for.example.'DNS:www.exa |
3e660 | 6d 70 6c 65 2e 63 6f 6d 27 2e 0a 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 66 6c 61 67 3a | mple.com'...........:param.flag: |
3e680 | 20 20 20 46 6c 61 67 20 74 6f 20 63 6f 6e 74 72 6f 6c 20 77 68 61 74 20 61 6e 64 20 68 6f 77 20 | ...Flag.to.control.what.and.how. |
3e6a0 | 74 6f 20 70 72 69 6e 74 2e 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 69 6e 64 65 6e 74 3a | to.print..........:param.indent: |
3e6c0 | 20 48 6f 77 20 6d 61 6e 79 20 73 70 61 63 65 73 20 74 6f 20 70 72 69 6e 74 20 62 65 66 6f 72 65 | .How.many.spaces.to.print.before |
3e6e0 | 20 61 63 74 75 61 6c 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 | .actual.value.........."""...... |
3e700 | 20 20 20 62 75 66 20 3d 20 42 49 4f 2e 4d 65 6d 6f 72 79 42 75 66 66 65 72 28 29 0a 20 20 20 20 | ...buf.=.BIO.MemoryBuffer()..... |
3e720 | 20 20 20 20 6d 32 2e 78 35 30 39 5f 65 78 74 5f 70 72 69 6e 74 28 62 75 66 2e 62 69 6f 5f 70 74 | ....m2.x509_ext_print(buf.bio_pt |
3e740 | 72 28 29 2c 20 73 65 6c 66 2e 78 35 30 39 5f 65 78 74 2c 20 66 6c 61 67 2c 20 69 6e 64 65 6e 74 | r(),.self.x509_ext,.flag,.indent |
3e760 | 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 69 78 2e 65 6e 73 75 72 65 5f 74 65 78 74 | ).........return.six.ensure_text |
3e780 | 28 62 75 66 2e 72 65 61 64 5f 61 6c 6c 28 29 29 0a 0a 0a 63 6c 61 73 73 20 58 35 30 39 5f 45 78 | (buf.read_all())...class.X509_Ex |
3e7a0 | 74 65 6e 73 69 6f 6e 5f 53 74 61 63 6b 28 6f 62 6a 65 63 74 29 3a 0a 20 20 20 20 22 22 22 0a 20 | tension_Stack(object):.....""".. |
3e7c0 | 20 20 20 58 35 30 39 20 45 78 74 65 6e 73 69 6f 6e 20 53 74 61 63 6b 0a 0a 20 20 20 20 3a 77 61 | ...X509.Extension.Stack......:wa |
3e7e0 | 72 6e 69 6e 67 3a 20 44 6f 20 6e 6f 74 20 6d 6f 64 69 66 79 20 74 68 65 20 75 6e 64 65 72 6c 79 | rning:.Do.not.modify.the.underly |
3e800 | 69 6e 67 20 4f 70 65 6e 53 53 4c 20 73 74 61 63 6b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ing.OpenSSL.stack............... |
3e820 | 65 78 63 65 70 74 20 74 68 72 6f 75 67 68 20 74 68 69 73 20 69 6e 74 65 72 66 61 63 65 2c 20 6f | except.through.this.interface,.o |
3e840 | 72 20 75 73 65 20 61 6e 79 20 4f 70 65 6e 53 53 4c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | r.use.any.OpenSSL............... |
3e860 | 66 75 6e 63 74 69 6f 6e 73 20 74 68 61 74 20 64 6f 20 73 6f 20 69 6e 64 69 72 65 63 74 6c 79 2e | functions.that.do.so.indirectly. |
3e880 | 20 44 6f 69 6e 67 20 73 6f 20 77 69 6c 6c 20 67 65 74 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 | .Doing.so.will.get.the.......... |
3e8a0 | 20 20 20 20 20 4f 70 65 6e 53 53 4c 20 73 74 61 63 6b 20 61 6e 64 20 74 68 65 20 69 6e 74 65 72 | .....OpenSSL.stack.and.the.inter |
3e8c0 | 6e 61 6c 20 70 79 73 74 61 63 6b 20 6f 66 20 74 68 69 73 20 63 6c 61 73 73 20 6f 75 74 0a 20 20 | nal.pystack.of.this.class.out... |
3e8e0 | 20 20 20 20 20 20 20 20 20 20 20 20 6f 66 20 73 79 6e 63 2c 20 6c 65 61 64 69 6e 67 20 74 6f 20 | ............of.sync,.leading.to. |
3e900 | 70 79 74 68 6f 6e 20 6d 65 6d 6f 72 79 20 6c 65 61 6b 73 2c 20 65 78 63 65 70 74 69 6f 6e 73 20 | python.memory.leaks,.exceptions. |
3e920 | 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 76 65 6e 20 70 79 74 68 6f 6e 20 63 72 61 | or...............even.python.cra |
3e940 | 73 68 65 73 21 0a 20 20 20 20 22 22 22 0a 0a 20 20 20 20 6d 32 5f 73 6b 5f 78 35 30 39 5f 65 78 | shes!....."""......m2_sk_x509_ex |
3e960 | 74 65 6e 73 69 6f 6e 5f 66 72 65 65 20 3d 20 6d 32 2e 73 6b 5f 78 35 30 39 5f 65 78 74 65 6e 73 | tension_free.=.m2.sk_x509_extens |
3e980 | 69 6f 6e 5f 66 72 65 65 0a 0a 20 20 20 20 64 65 66 20 5f 5f 69 6e 69 74 5f 5f 28 73 65 6c 66 2c | ion_free......def.__init__(self, |
3e9a0 | 20 73 74 61 63 6b 3d 4e 6f 6e 65 2c 20 5f 70 79 66 72 65 65 3d 30 29 3a 0a 20 20 20 20 20 20 20 | .stack=None,._pyfree=0):........ |
3e9c0 | 20 23 20 74 79 70 65 3a 20 28 4f 70 74 69 6f 6e 61 6c 5b 62 79 74 65 73 5d 2c 20 69 6e 74 29 20 | .#.type:.(Optional[bytes],.int). |
3e9e0 | 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 69 66 20 73 74 61 63 6b 20 69 73 20 6e 6f 74 20 | ->.None.........if.stack.is.not. |
3ea00 | 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 74 61 63 6b 20 3d 20 73 | None:.............self.stack.=.s |
3ea20 | 74 61 63 6b 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 70 79 66 72 65 65 20 3d 20 | tack.............self._pyfree.=. |
3ea40 | 5f 70 79 66 72 65 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 6e 75 6d 20 3d 20 6d 32 2e 73 6b 5f | _pyfree.............num.=.m2.sk_ |
3ea60 | 78 35 30 39 5f 65 78 74 65 6e 73 69 6f 6e 5f 6e 75 6d 28 73 65 6c 66 2e 73 74 61 63 6b 29 0a 20 | x509_extension_num(self.stack).. |
3ea80 | 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 69 20 69 6e 20 72 61 6e 67 65 28 6e 75 6d 29 3a 0a | ...........for.i.in.range(num):. |
3eaa0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 70 79 73 74 61 63 6b 2e 61 70 70 | ................self.pystack.app |
3eac0 | 65 6e 64 28 58 35 30 39 5f 45 78 74 65 6e 73 69 6f 6e 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 | end(X509_Extension(............. |
3eae0 | 20 20 20 20 20 20 20 20 6d 32 2e 73 6b 5f 78 35 30 39 5f 65 78 74 65 6e 73 69 6f 6e 5f 76 61 6c | ........m2.sk_x509_extension_val |
3eb00 | 75 65 28 73 65 6c 66 2e 73 74 61 63 6b 2c 20 69 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | ue(self.stack,.i),.............. |
3eb20 | 20 20 20 20 20 20 20 5f 70 79 66 72 65 65 3d 5f 70 79 66 72 65 65 29 29 0a 20 20 20 20 20 20 20 | ......._pyfree=_pyfree))........ |
3eb40 | 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 74 61 63 6b 20 3d 20 | .else:.............self.stack.=. |
3eb60 | 6d 32 2e 73 6b 5f 78 35 30 39 5f 65 78 74 65 6e 73 69 6f 6e 5f 6e 65 77 5f 6e 75 6c 6c 28 29 0a | m2.sk_x509_extension_new_null(). |
3eb80 | 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 70 79 66 72 65 65 20 3d 20 31 0a 20 20 20 | ............self._pyfree.=.1.... |
3eba0 | 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 70 79 73 74 61 63 6b 20 3d 20 5b 5d 20 20 23 20 54 68 | .........self.pystack.=.[]..#.Th |
3ebc0 | 69 73 20 6d 75 73 74 20 62 65 20 6b 65 70 74 20 69 6e 20 73 79 6e 63 20 77 69 74 68 20 73 65 6c | is.must.be.kept.in.sync.with.sel |
3ebe0 | 66 2e 73 74 61 63 6b 0a 0a 20 20 20 20 64 65 66 20 5f 5f 64 65 6c 5f 5f 28 73 65 6c 66 29 3a 0a | f.stack......def.__del__(self):. |
3ec00 | 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 | ........#.type:.().->.None...... |
3ec20 | 20 20 20 23 20 73 65 65 20 42 49 4f 2e 70 79 20 2d 20 75 6e 62 61 6c 61 6e 63 65 64 20 5f 5f 69 | ...#.see.BIO.py.-.unbalanced.__i |
3ec40 | 6e 69 74 5f 5f 20 2f 20 5f 5f 64 65 6c 5f 5f 0a 20 20 20 20 20 20 20 20 69 66 20 67 65 74 61 74 | nit__./.__del__.........if.getat |
3ec60 | 74 72 28 73 65 6c 66 2c 20 27 5f 70 79 66 72 65 65 27 2c 20 30 29 3a 0a 20 20 20 20 20 20 20 20 | tr(self,.'_pyfree',.0):......... |
3ec80 | 20 20 20 20 73 65 6c 66 2e 6d 32 5f 73 6b 5f 78 35 30 39 5f 65 78 74 65 6e 73 69 6f 6e 5f 66 72 | ....self.m2_sk_x509_extension_fr |
3eca0 | 65 65 28 73 65 6c 66 2e 73 74 61 63 6b 29 0a 0a 20 20 20 20 64 65 66 20 5f 5f 6c 65 6e 5f 5f 28 | ee(self.stack)......def.__len__( |
3ecc0 | 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 69 6e 74 | self):.........#.type:.().->.int |
3ece0 | 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 20 6d 32 2e 73 6b 5f 78 35 30 39 5f 65 78 74 65 6e | .........assert.m2.sk_x509_exten |
3ed00 | 73 69 6f 6e 5f 6e 75 6d 28 73 65 6c 66 2e 73 74 61 63 6b 29 20 3d 3d 20 6c 65 6e 28 73 65 6c 66 | sion_num(self.stack).==.len(self |
3ed20 | 2e 70 79 73 74 61 63 6b 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6c 65 6e 28 73 65 6c | .pystack).........return.len(sel |
3ed40 | 66 2e 70 79 73 74 61 63 6b 29 0a 0a 20 20 20 20 64 65 66 20 5f 5f 67 65 74 69 74 65 6d 5f 5f 28 | f.pystack)......def.__getitem__( |
3ed60 | 73 65 6c 66 2c 20 69 64 78 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 69 6e 74 | self,.idx):.........#.type:.(int |
3ed80 | 29 20 2d 3e 20 58 35 30 39 5f 45 78 74 65 6e 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 72 65 74 75 | ).->.X509_Extension.........retu |
3eda0 | 72 6e 20 73 65 6c 66 2e 70 79 73 74 61 63 6b 5b 69 64 78 5d 0a 0a 20 20 20 20 64 65 66 20 5f 5f | rn.self.pystack[idx]......def.__ |
3edc0 | 69 74 65 72 5f 5f 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 69 74 65 | iter__(self):.........return.ite |
3ede0 | 72 28 73 65 6c 66 2e 70 79 73 74 61 63 6b 29 0a 0a 20 20 20 20 64 65 66 20 5f 70 74 72 28 73 65 | r(self.pystack)......def._ptr(se |
3ee00 | 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 62 79 74 65 73 | lf):.........#.type:.().->.bytes |
3ee20 | 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 2e 73 74 61 63 6b 0a 0a 20 20 20 20 | .........return.self.stack...... |
3ee40 | 64 65 66 20 70 75 73 68 28 73 65 6c 66 2c 20 78 35 30 39 5f 65 78 74 29 3a 0a 20 20 20 20 20 20 | def.push(self,.x509_ext):....... |
3ee60 | 20 20 23 20 74 79 70 65 3a 20 28 58 35 30 39 5f 45 78 74 65 6e 73 69 6f 6e 29 20 2d 3e 20 69 6e | ..#.type:.(X509_Extension).->.in |
3ee80 | 74 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 50 75 73 68 20 58 35 30 39 5f | t.........""".........Push.X509_ |
3eea0 | 45 78 74 65 6e 73 69 6f 6e 20 6f 62 6a 65 63 74 20 6f 6e 74 6f 20 74 68 65 20 73 74 61 63 6b 2e | Extension.object.onto.the.stack. |
3eec0 | 0a 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 78 35 30 39 5f 65 78 74 3a 20 58 35 30 39 5f | ..........:param.x509_ext:.X509_ |
3eee0 | 45 78 74 65 6e 73 69 6f 6e 20 6f 62 6a 65 63 74 20 74 6f 20 62 65 20 70 75 73 68 65 64 20 6f 6e | Extension.object.to.be.pushed.on |
3ef00 | 74 6f 20 74 68 65 20 73 74 61 63 6b 2e 0a 20 20 20 20 20 20 20 20 3a 72 65 74 75 72 6e 3a 20 54 | to.the.stack..........:return:.T |
3ef20 | 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 65 78 74 65 6e 73 69 6f 6e 73 20 6f 6e 20 74 68 65 20 73 | he.number.of.extensions.on.the.s |
3ef40 | 74 61 63 6b 2e 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 70 | tack..........""".........self.p |
3ef60 | 79 73 74 61 63 6b 2e 61 70 70 65 6e 64 28 78 35 30 39 5f 65 78 74 29 0a 20 20 20 20 20 20 20 20 | ystack.append(x509_ext)......... |
3ef80 | 72 65 74 20 3d 20 6d 32 2e 73 6b 5f 78 35 30 39 5f 65 78 74 65 6e 73 69 6f 6e 5f 70 75 73 68 28 | ret.=.m2.sk_x509_extension_push( |
3efa0 | 73 65 6c 66 2e 73 74 61 63 6b 2c 20 78 35 30 39 5f 65 78 74 2e 5f 70 74 72 28 29 29 0a 20 20 20 | self.stack,.x509_ext._ptr()).... |
3efc0 | 20 20 20 20 20 61 73 73 65 72 74 20 72 65 74 20 3d 3d 20 6c 65 6e 28 73 65 6c 66 2e 70 79 73 74 | .....assert.ret.==.len(self.pyst |
3efe0 | 61 63 6b 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 72 65 74 0a 0a 20 20 20 20 64 65 66 | ack).........return.ret......def |
3f000 | 20 70 6f 70 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d | .pop(self):.........#.type:.().- |
3f020 | 3e 20 58 35 30 39 5f 45 78 74 65 6e 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 | >.X509_Extension.........""".... |
3f040 | 20 20 20 20 20 50 6f 70 20 58 35 30 39 5f 45 78 74 65 6e 73 69 6f 6e 20 6f 62 6a 65 63 74 20 66 | .....Pop.X509_Extension.object.f |
3f060 | 72 6f 6d 20 74 68 65 20 73 74 61 63 6b 2e 0a 0a 20 20 20 20 20 20 20 20 3a 72 65 74 75 72 6e 3a | rom.the.stack...........:return: |
3f080 | 20 58 35 30 39 5f 45 78 74 65 6e 73 69 6f 6e 20 70 6f 70 70 65 64 0a 20 20 20 20 20 20 20 20 22 | .X509_Extension.popped........." |
3f0a0 | 22 22 0a 20 20 20 20 20 20 20 20 78 35 30 39 5f 65 78 74 5f 70 74 72 20 3d 20 6d 32 2e 73 6b 5f | "".........x509_ext_ptr.=.m2.sk_ |
3f0c0 | 78 35 30 39 5f 65 78 74 65 6e 73 69 6f 6e 5f 70 6f 70 28 73 65 6c 66 2e 73 74 61 63 6b 29 0a 20 | x509_extension_pop(self.stack).. |
3f0e0 | 20 20 20 20 20 20 20 69 66 20 78 35 30 39 5f 65 78 74 5f 70 74 72 20 69 73 20 4e 6f 6e 65 3a 0a | .......if.x509_ext_ptr.is.None:. |
3f100 | 20 20 20 20 20 20 20 20 20 20 20 20 61 73 73 65 72 74 20 6c 65 6e 28 73 65 6c 66 2e 70 79 73 74 | ............assert.len(self.pyst |
3f120 | 61 63 6b 29 20 3d 3d 20 30 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 4e 6f 6e | ack).==.0.............return.Non |
3f140 | 65 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 2e 70 79 73 74 61 63 6b 2e 70 6f | e.........return.self.pystack.po |
3f160 | 70 28 29 0a 0a 0a 63 6c 61 73 73 20 58 35 30 39 5f 4e 61 6d 65 5f 45 6e 74 72 79 28 6f 62 6a 65 | p()...class.X509_Name_Entry(obje |
3f180 | 63 74 29 3a 0a 20 20 20 20 22 22 22 0a 20 20 20 20 58 35 30 39 20 4e 61 6d 65 20 45 6e 74 72 79 | ct):.....""".....X509.Name.Entry |
3f1a0 | 0a 20 20 20 20 22 22 22 0a 0a 20 20 20 20 6d 32 5f 78 35 30 39 5f 6e 61 6d 65 5f 65 6e 74 72 79 | ....."""......m2_x509_name_entry |
3f1c0 | 5f 66 72 65 65 20 3d 20 6d 32 2e 78 35 30 39 5f 6e 61 6d 65 5f 65 6e 74 72 79 5f 66 72 65 65 0a | _free.=.m2.x509_name_entry_free. |
3f1e0 | 0a 20 20 20 20 64 65 66 20 5f 5f 69 6e 69 74 5f 5f 28 73 65 6c 66 2c 20 78 35 30 39 5f 6e 61 6d | .....def.__init__(self,.x509_nam |
3f200 | 65 5f 65 6e 74 72 79 2c 20 5f 70 79 66 72 65 65 3d 30 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 | e_entry,._pyfree=0):.........#.t |
3f220 | 79 70 65 3a 20 28 62 79 74 65 73 2c 20 69 6e 74 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 | ype:.(bytes,.int).->.None....... |
3f240 | 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 78 35 30 39 5f 6e 61 | ..""".............:param.x509_na |
3f260 | 6d 65 5f 65 6e 74 72 79 3a 20 74 68 69 73 20 73 68 6f 75 6c 64 20 62 65 20 4f 70 65 6e 53 53 4c | me_entry:.this.should.be.OpenSSL |
3f280 | 20 58 35 30 39 5f 4e 41 4d 45 5f 45 4e 54 52 59 20 62 69 6e 61 72 79 0a 20 20 20 20 20 20 20 20 | .X509_NAME_ENTRY.binary......... |
3f2a0 | 20 20 20 20 3a 70 61 72 61 6d 20 5f 70 79 66 72 65 65 3a 0a 20 20 20 20 20 20 20 20 22 22 22 0a | ....:param._pyfree:.........""". |
3f2c0 | 20 20 20 20 20 20 20 20 73 65 6c 66 2e 78 35 30 39 5f 6e 61 6d 65 5f 65 6e 74 72 79 20 3d 20 78 | ........self.x509_name_entry.=.x |
3f2e0 | 35 30 39 5f 6e 61 6d 65 5f 65 6e 74 72 79 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 70 79 66 | 509_name_entry.........self._pyf |
3f300 | 72 65 65 20 3d 20 5f 70 79 66 72 65 65 0a 0a 20 20 20 20 64 65 66 20 5f 5f 64 65 6c 5f 5f 28 73 | ree.=._pyfree......def.__del__(s |
3f320 | 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 4e 6f 6e 65 | elf):.........#.type:.().->.None |
3f340 | 0a 20 20 20 20 20 20 20 20 69 66 20 67 65 74 61 74 74 72 28 73 65 6c 66 2c 20 27 5f 70 79 66 72 | .........if.getattr(self,.'_pyfr |
3f360 | 65 65 27 2c 20 30 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 6d 32 5f 78 35 30 | ee',.0):.............self.m2_x50 |
3f380 | 39 5f 6e 61 6d 65 5f 65 6e 74 72 79 5f 66 72 65 65 28 73 65 6c 66 2e 78 35 30 39 5f 6e 61 6d 65 | 9_name_entry_free(self.x509_name |
3f3a0 | 5f 65 6e 74 72 79 29 0a 0a 20 20 20 20 64 65 66 20 5f 70 74 72 28 73 65 6c 66 29 3a 0a 20 20 20 | _entry)......def._ptr(self):.... |
3f3c0 | 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 62 79 74 65 73 0a 20 20 20 20 20 20 20 | .....#.type:.().->.bytes........ |
3f3e0 | 20 72 65 74 75 72 6e 20 73 65 6c 66 2e 78 35 30 39 5f 6e 61 6d 65 5f 65 6e 74 72 79 0a 0a 20 20 | .return.self.x509_name_entry.... |
3f400 | 20 20 64 65 66 20 73 65 74 5f 6f 62 6a 65 63 74 28 73 65 6c 66 2c 20 61 73 6e 31 6f 62 6a 29 3a | ..def.set_object(self,.asn1obj): |
3f420 | 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 41 53 4e 31 2e 41 53 4e 31 5f 4f 62 6a 65 | .........#.type:.(ASN1.ASN1_Obje |
3f440 | 63 74 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 53 | ct).->.int.........""".........S |
3f460 | 65 74 73 20 74 68 65 20 66 69 65 6c 64 20 6e 61 6d 65 20 74 6f 20 61 73 6e 31 6f 62 6a 0a 0a 20 | ets.the.field.name.to.asn1obj... |
3f480 | 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 61 73 6e 31 6f 62 6a 3a 0a 20 20 20 20 20 20 20 20 3a | .......:param.asn1obj:.........: |
3f4a0 | 72 65 74 75 72 6e 3a 20 30 20 6f 6e 20 66 61 69 6c 75 72 65 2c 20 31 20 6f 6e 20 73 75 63 63 65 | return:.0.on.failure,.1.on.succe |
3f4c0 | 73 73 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 | ss.........""".........return.m2 |
3f4e0 | 2e 78 35 30 39 5f 6e 61 6d 65 5f 65 6e 74 72 79 5f 73 65 74 5f 6f 62 6a 65 63 74 28 73 65 6c 66 | .x509_name_entry_set_object(self |
3f500 | 2e 78 35 30 39 5f 6e 61 6d 65 5f 65 6e 74 72 79 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .x509_name_entry,............... |
3f520 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 | ...............................a |
3f540 | 73 6e 31 6f 62 6a 2e 5f 70 74 72 28 29 29 0a 0a 20 20 20 20 64 65 66 20 73 65 74 5f 64 61 74 61 | sn1obj._ptr())......def.set_data |
3f560 | 28 73 65 6c 66 2c 20 64 61 74 61 2c 20 74 79 70 65 3d 41 53 4e 31 2e 4d 42 53 54 52 49 4e 47 5f | (self,.data,.type=ASN1.MBSTRING_ |
3f580 | 41 53 43 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 62 79 74 65 73 2c 20 69 6e | ASC):.........#.type:.(bytes,.in |
3f5a0 | 74 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 53 65 | t).->.int.........""".........Se |
3f5c0 | 74 73 20 74 68 65 20 66 69 65 6c 64 20 6e 61 6d 65 20 74 6f 20 61 73 6e 31 6f 62 6a 0a 0a 20 20 | ts.the.field.name.to.asn1obj.... |
3f5e0 | 20 20 20 20 20 20 3a 70 61 72 61 6d 20 64 61 74 61 3a 20 64 61 74 61 20 69 6e 20 61 20 62 69 6e | ......:param.data:.data.in.a.bin |
3f600 | 61 72 79 20 66 6f 72 6d 20 74 6f 20 62 65 20 73 65 74 0a 20 20 20 20 20 20 20 20 3a 72 65 74 75 | ary.form.to.be.set.........:retu |
3f620 | 72 6e 3a 20 30 20 6f 6e 20 66 61 69 6c 75 72 65 2c 20 31 20 6f 6e 20 73 75 63 63 65 73 73 0a 20 | rn:.0.on.failure,.1.on.success.. |
3f640 | 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 78 35 30 | .......""".........return.m2.x50 |
3f660 | 39 5f 6e 61 6d 65 5f 65 6e 74 72 79 5f 73 65 74 5f 64 61 74 61 28 73 65 6c 66 2e 78 35 30 39 5f | 9_name_entry_set_data(self.x509_ |
3f680 | 6e 61 6d 65 5f 65 6e 74 72 79 2c 20 74 79 70 65 2c 20 64 61 74 61 29 0a 0a 20 20 20 20 64 65 66 | name_entry,.type,.data)......def |
3f6a0 | 20 67 65 74 5f 6f 62 6a 65 63 74 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 | .get_object(self):.........#.typ |
3f6c0 | 65 3a 20 28 29 20 2d 3e 20 41 53 4e 31 2e 41 53 4e 31 5f 4f 62 6a 65 63 74 0a 20 20 20 20 20 20 | e:.().->.ASN1.ASN1_Object....... |
3f6e0 | 20 20 72 65 74 75 72 6e 20 41 53 4e 31 2e 41 53 4e 31 5f 4f 62 6a 65 63 74 28 0a 20 20 20 20 20 | ..return.ASN1.ASN1_Object(...... |
3f700 | 20 20 20 20 20 20 20 6d 32 2e 78 35 30 39 5f 6e 61 6d 65 5f 65 6e 74 72 79 5f 67 65 74 5f 6f 62 | .......m2.x509_name_entry_get_ob |
3f720 | 6a 65 63 74 28 73 65 6c 66 2e 78 35 30 39 5f 6e 61 6d 65 5f 65 6e 74 72 79 29 29 0a 0a 20 20 20 | ject(self.x509_name_entry))..... |
3f740 | 20 64 65 66 20 67 65 74 5f 64 61 74 61 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 | .def.get_data(self):.........#.t |
3f760 | 79 70 65 3a 20 28 29 20 2d 3e 20 41 53 4e 31 2e 41 53 4e 31 5f 53 74 72 69 6e 67 0a 20 20 20 20 | ype:.().->.ASN1.ASN1_String..... |
3f780 | 20 20 20 20 72 65 74 75 72 6e 20 41 53 4e 31 2e 41 53 4e 31 5f 53 74 72 69 6e 67 28 0a 20 20 20 | ....return.ASN1.ASN1_String(.... |
3f7a0 | 20 20 20 20 20 20 20 20 20 6d 32 2e 78 35 30 39 5f 6e 61 6d 65 5f 65 6e 74 72 79 5f 67 65 74 5f | .........m2.x509_name_entry_get_ |
3f7c0 | 64 61 74 61 28 73 65 6c 66 2e 78 35 30 39 5f 6e 61 6d 65 5f 65 6e 74 72 79 29 29 0a 0a 20 20 20 | data(self.x509_name_entry))..... |
3f7e0 | 20 64 65 66 20 63 72 65 61 74 65 5f 62 79 5f 74 78 74 28 73 65 6c 66 2c 20 66 69 65 6c 64 2c 20 | .def.create_by_txt(self,.field,. |
3f800 | 74 79 70 65 2c 20 65 6e 74 72 79 2c 20 6c 65 6e 29 3a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 | type,.entry,.len):.........retur |
3f820 | 6e 20 6d 32 2e 78 35 30 39 5f 6e 61 6d 65 5f 65 6e 74 72 79 5f 63 72 65 61 74 65 5f 62 79 5f 74 | n.m2.x509_name_entry_create_by_t |
3f840 | 78 74 28 73 65 6c 66 2e 78 35 30 39 5f 6e 61 6d 65 5f 65 6e 74 72 79 2e 5f 70 74 72 28 29 2c 0a | xt(self.x509_name_entry._ptr(),. |
3f860 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
3f880 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 69 65 6c 64 2c 20 74 79 70 65 2c 20 65 6e 74 | ................field,.type,.ent |
3f8a0 | 72 79 2c 20 6c 65 6e 29 0a 0a 0a 63 6c 61 73 73 20 58 35 30 39 5f 4e 61 6d 65 28 6f 62 6a 65 63 | ry,.len)...class.X509_Name(objec |
3f8c0 | 74 29 3a 0a 20 20 20 20 22 22 22 0a 20 20 20 20 58 35 30 39 20 4e 61 6d 65 0a 20 20 20 20 22 22 | t):.....""".....X509.Name....."" |
3f8e0 | 22 0a 0a 20 20 20 20 6e 69 64 20 3d 20 7b 27 43 27 3a 20 6d 32 2e 4e 49 44 5f 63 6f 75 6e 74 72 | "......nid.=.{'C':.m2.NID_countr |
3f900 | 79 4e 61 6d 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 27 53 50 27 3a 20 6d 32 2e 4e 49 44 5f 73 | yName,............'SP':.m2.NID_s |
3f920 | 74 61 74 65 4f 72 50 72 6f 76 69 6e 63 65 4e 61 6d 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 27 | tateOrProvinceName,............' |
3f940 | 53 54 27 3a 20 6d 32 2e 4e 49 44 5f 73 74 61 74 65 4f 72 50 72 6f 76 69 6e 63 65 4e 61 6d 65 2c | ST':.m2.NID_stateOrProvinceName, |
3f960 | 0a 20 20 20 20 20 20 20 20 20 20 20 27 73 74 61 74 65 4f 72 50 72 6f 76 69 6e 63 65 4e 61 6d 65 | ............'stateOrProvinceName |
3f980 | 27 3a 20 6d 32 2e 4e 49 44 5f 73 74 61 74 65 4f 72 50 72 6f 76 69 6e 63 65 4e 61 6d 65 2c 0a 20 | ':.m2.NID_stateOrProvinceName,.. |
3f9a0 | 20 20 20 20 20 20 20 20 20 20 27 4c 27 3a 20 6d 32 2e 4e 49 44 5f 6c 6f 63 61 6c 69 74 79 4e 61 | ..........'L':.m2.NID_localityNa |
3f9c0 | 6d 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 27 6c 6f 63 61 6c 69 74 79 4e 61 6d 65 27 3a 20 6d | me,............'localityName':.m |
3f9e0 | 32 2e 4e 49 44 5f 6c 6f 63 61 6c 69 74 79 4e 61 6d 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 27 | 2.NID_localityName,............' |
3fa00 | 4f 27 3a 20 6d 32 2e 4e 49 44 5f 6f 72 67 61 6e 69 7a 61 74 69 6f 6e 4e 61 6d 65 2c 0a 20 20 20 | O':.m2.NID_organizationName,.... |
3fa20 | 20 20 20 20 20 20 20 20 27 6f 72 67 61 6e 69 7a 61 74 69 6f 6e 4e 61 6d 65 27 3a 20 6d 32 2e 4e | ........'organizationName':.m2.N |
3fa40 | 49 44 5f 6f 72 67 61 6e 69 7a 61 74 69 6f 6e 4e 61 6d 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 | ID_organizationName,............ |
3fa60 | 27 4f 55 27 3a 20 6d 32 2e 4e 49 44 5f 6f 72 67 61 6e 69 7a 61 74 69 6f 6e 61 6c 55 6e 69 74 4e | 'OU':.m2.NID_organizationalUnitN |
3fa80 | 61 6d 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 27 6f 72 67 61 6e 69 7a 61 74 69 6f 6e 55 6e 69 | ame,............'organizationUni |
3faa0 | 74 4e 61 6d 65 27 3a 20 6d 32 2e 4e 49 44 5f 6f 72 67 61 6e 69 7a 61 74 69 6f 6e 61 6c 55 6e 69 | tName':.m2.NID_organizationalUni |
3fac0 | 74 4e 61 6d 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 27 43 4e 27 3a 20 6d 32 2e 4e 49 44 5f 63 | tName,............'CN':.m2.NID_c |
3fae0 | 6f 6d 6d 6f 6e 4e 61 6d 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 27 63 6f 6d 6d 6f 6e 4e 61 6d | ommonName,............'commonNam |
3fb00 | 65 27 3a 20 6d 32 2e 4e 49 44 5f 63 6f 6d 6d 6f 6e 4e 61 6d 65 2c 0a 20 20 20 20 20 20 20 20 20 | e':.m2.NID_commonName,.......... |
3fb20 | 20 20 27 45 6d 61 69 6c 27 3a 20 6d 32 2e 4e 49 44 5f 70 6b 63 73 39 5f 65 6d 61 69 6c 41 64 64 | ..'Email':.m2.NID_pkcs9_emailAdd |
3fb40 | 72 65 73 73 2c 0a 20 20 20 20 20 20 20 20 20 20 20 27 65 6d 61 69 6c 41 64 64 72 65 73 73 27 3a | ress,............'emailAddress': |
3fb60 | 20 6d 32 2e 4e 49 44 5f 70 6b 63 73 39 5f 65 6d 61 69 6c 41 64 64 72 65 73 73 2c 0a 20 20 20 20 | .m2.NID_pkcs9_emailAddress,..... |
3fb80 | 20 20 20 20 20 20 20 27 73 65 72 69 61 6c 4e 75 6d 62 65 72 27 3a 20 6d 32 2e 4e 49 44 5f 73 65 | .......'serialNumber':.m2.NID_se |
3fba0 | 72 69 61 6c 4e 75 6d 62 65 72 2c 0a 20 20 20 20 20 20 20 20 20 20 20 27 53 4e 27 3a 20 6d 32 2e | rialNumber,............'SN':.m2. |
3fbc0 | 4e 49 44 5f 73 75 72 6e 61 6d 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 27 73 75 72 6e 61 6d 65 | NID_surname,............'surname |
3fbe0 | 27 3a 20 6d 32 2e 4e 49 44 5f 73 75 72 6e 61 6d 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 27 47 | ':.m2.NID_surname,............'G |
3fc00 | 4e 27 3a 20 6d 32 2e 4e 49 44 5f 67 69 76 65 6e 4e 61 6d 65 2c 0a 20 20 20 20 20 20 20 20 20 20 | N':.m2.NID_givenName,........... |
3fc20 | 20 27 67 69 76 65 6e 4e 61 6d 65 27 3a 20 6d 32 2e 4e 49 44 5f 67 69 76 65 6e 4e 61 6d 65 0a 20 | .'givenName':.m2.NID_givenName.. |
3fc40 | 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 6d 32 5f 78 35 30 39 5f 6e 61 6d 65 5f 66 72 | ..........}......m2_x509_name_fr |
3fc60 | 65 65 20 3d 20 6d 32 2e 78 35 30 39 5f 6e 61 6d 65 5f 66 72 65 65 0a 0a 20 20 20 20 64 65 66 20 | ee.=.m2.x509_name_free......def. |
3fc80 | 5f 5f 69 6e 69 74 5f 5f 28 73 65 6c 66 2c 20 78 35 30 39 5f 6e 61 6d 65 3d 4e 6f 6e 65 2c 20 5f | __init__(self,.x509_name=None,._ |
3fca0 | 70 79 66 72 65 65 3d 30 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 62 79 74 65 | pyfree=0):.........#.type:.(byte |
3fcc0 | 73 2c 20 69 6e 74 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 | s,.int).->.None........."""..... |
3fce0 | 20 20 20 20 3a 70 61 72 61 6d 20 78 35 30 39 5f 6e 61 6d 65 3a 20 74 68 69 73 20 73 68 6f 75 6c | ....:param.x509_name:.this.shoul |
3fd00 | 64 20 62 65 20 4f 70 65 6e 53 53 4c 20 58 35 30 39 5f 4e 41 4d 45 20 62 69 6e 61 72 79 0a 20 20 | d.be.OpenSSL.X509_NAME.binary... |
3fd20 | 20 20 20 20 20 20 3a 70 61 72 61 6d 20 5f 70 79 66 72 65 65 3a 0a 20 20 20 20 20 20 20 20 22 22 | ......:param._pyfree:........."" |
3fd40 | 22 0a 20 20 20 20 20 20 20 20 69 66 20 78 35 30 39 5f 6e 61 6d 65 20 69 73 20 6e 6f 74 20 4e 6f | ".........if.x509_name.is.not.No |
3fd60 | 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 61 73 73 65 72 74 20 6d 32 2e 78 35 30 39 5f 6e | ne:.............assert.m2.x509_n |
3fd80 | 61 6d 65 5f 74 79 70 65 5f 63 68 65 63 6b 28 78 35 30 39 5f 6e 61 6d 65 29 2c 20 22 27 78 35 30 | ame_type_check(x509_name),."'x50 |
3fda0 | 39 5f 6e 61 6d 65 27 20 74 79 70 65 20 65 72 72 6f 72 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 | 9_name'.type.error"............. |
3fdc0 | 73 65 6c 66 2e 78 35 30 39 5f 6e 61 6d 65 20 3d 20 78 35 30 39 5f 6e 61 6d 65 0a 20 20 20 20 20 | self.x509_name.=.x509_name...... |
3fde0 | 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 70 79 66 72 65 65 20 3d 20 5f 70 79 66 72 65 65 0a 20 20 | .......self._pyfree.=._pyfree... |
3fe00 | 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 78 35 30 | ......else:.............self.x50 |
3fe20 | 39 5f 6e 61 6d 65 20 3d 20 6d 32 2e 78 35 30 39 5f 6e 61 6d 65 5f 6e 65 77 28 29 0a 20 20 20 20 | 9_name.=.m2.x509_name_new()..... |
3fe40 | 20 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 70 79 66 72 65 65 20 3d 20 31 0a 0a 20 20 20 20 64 65 | ........self._pyfree.=.1......de |
3fe60 | 66 20 5f 5f 64 65 6c 5f 5f 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a | f.__del__(self):.........#.type: |
3fe80 | 20 28 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 69 66 20 67 65 74 61 74 74 72 28 73 | .().->.None.........if.getattr(s |
3fea0 | 65 6c 66 2c 20 27 5f 70 79 66 72 65 65 27 2c 20 30 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 | elf,.'_pyfree',.0):............. |
3fec0 | 73 65 6c 66 2e 6d 32 5f 78 35 30 39 5f 6e 61 6d 65 5f 66 72 65 65 28 73 65 6c 66 2e 78 35 30 39 | self.m2_x509_name_free(self.x509 |
3fee0 | 5f 6e 61 6d 65 29 0a 0a 20 20 20 20 64 65 66 20 5f 5f 73 74 72 5f 5f 28 73 65 6c 66 29 3a 0a 20 | _name)......def.__str__(self):.. |
3ff00 | 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 62 79 74 65 73 0a 20 20 20 20 20 | .......#.type:.().->.bytes...... |
3ff20 | 20 20 20 61 73 73 65 72 74 20 6d 32 2e 78 35 30 39 5f 6e 61 6d 65 5f 74 79 70 65 5f 63 68 65 63 | ...assert.m2.x509_name_type_chec |
3ff40 | 6b 28 73 65 6c 66 2e 78 35 30 39 5f 6e 61 6d 65 29 2c 20 5c 0a 20 20 20 20 20 20 20 20 20 20 20 | k(self.x509_name),.\............ |
3ff60 | 20 22 27 78 35 30 39 5f 6e 61 6d 65 27 20 74 79 70 65 20 65 72 72 6f 72 22 0a 20 20 20 20 20 20 | ."'x509_name'.type.error"....... |
3ff80 | 20 20 72 65 74 75 72 6e 20 6d 32 2e 78 35 30 39 5f 6e 61 6d 65 5f 6f 6e 65 6c 69 6e 65 28 73 65 | ..return.m2.x509_name_oneline(se |
3ffa0 | 6c 66 2e 78 35 30 39 5f 6e 61 6d 65 29 0a 0a 20 20 20 20 64 65 66 20 5f 5f 67 65 74 61 74 74 72 | lf.x509_name)......def.__getattr |
3ffc0 | 5f 5f 28 73 65 6c 66 2c 20 61 74 74 72 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 | __(self,.attr):.........#.type:. |
3ffe0 | 28 73 74 72 29 20 2d 3e 20 73 74 72 0a 20 20 20 20 20 20 20 20 69 66 20 61 74 74 72 20 69 6e 20 | (str).->.str.........if.attr.in. |
40000 | 73 65 6c 66 2e 6e 69 64 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 61 73 73 65 72 74 20 6d 32 2e | self.nid:.............assert.m2. |
40020 | 78 35 30 39 5f 6e 61 6d 65 5f 74 79 70 65 5f 63 68 65 63 6b 28 73 65 6c 66 2e 78 35 30 39 5f 6e | x509_name_type_check(self.x509_n |
40040 | 61 6d 65 29 2c 20 5c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 27 78 35 30 39 5f 6e | ame),.\................."'x509_n |
40060 | 61 6d 65 27 20 74 79 70 65 20 65 72 72 6f 72 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 | ame'.type.error".............ret |
40080 | 75 72 6e 20 73 69 78 2e 65 6e 73 75 72 65 5f 74 65 78 74 28 6d 32 2e 78 35 30 39 5f 6e 61 6d 65 | urn.six.ensure_text(m2.x509_name |
400a0 | 5f 62 79 5f 6e 69 64 28 73 65 6c 66 2e 78 35 30 39 5f 6e 61 6d 65 2c 20 73 65 6c 66 2e 6e 69 64 | _by_nid(self.x509_name,.self.nid |
400c0 | 5b 61 74 74 72 5d 29 29 0a 0a 20 20 20 20 20 20 20 20 69 66 20 61 74 74 72 20 69 6e 20 73 65 6c | [attr]))..........if.attr.in.sel |
400e0 | 66 2e 5f 5f 64 69 63 74 5f 5f 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 | f.__dict__:.............return.s |
40100 | 65 6c 66 2e 5f 5f 64 69 63 74 5f 5f 5b 61 74 74 72 5d 0a 0a 20 20 20 20 20 20 20 20 72 61 69 73 | elf.__dict__[attr]..........rais |
40120 | 65 20 41 74 74 72 69 62 75 74 65 45 72 72 6f 72 28 73 65 6c 66 2c 20 61 74 74 72 29 0a 0a 20 20 | e.AttributeError(self,.attr).... |
40140 | 20 20 64 65 66 20 5f 5f 73 65 74 61 74 74 72 5f 5f 28 73 65 6c 66 2c 20 61 74 74 72 2c 20 76 61 | ..def.__setattr__(self,.attr,.va |
40160 | 6c 75 65 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 73 74 72 2c 20 41 6e 79 53 | lue):.........#.type:.(str,.AnyS |
40180 | 74 72 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 3a | tr).->.int.........""".........: |
401a0 | 72 65 74 75 72 6e 3a 20 31 20 66 6f 72 20 73 75 63 63 65 73 73 20 6f 66 20 30 20 69 66 20 61 6e | return:.1.for.success.of.0.if.an |
401c0 | 20 65 72 72 6f 72 20 6f 63 63 75 72 72 65 64 2e 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 | .error.occurred..........""".... |
401e0 | 20 20 20 20 20 69 66 20 61 74 74 72 20 69 6e 20 73 65 6c 66 2e 6e 69 64 3a 0a 20 20 20 20 20 20 | .....if.attr.in.self.nid:....... |
40200 | 20 20 20 20 20 20 61 73 73 65 72 74 20 6d 32 2e 78 35 30 39 5f 6e 61 6d 65 5f 74 79 70 65 5f 63 | ......assert.m2.x509_name_type_c |
40220 | 68 65 63 6b 28 73 65 6c 66 2e 78 35 30 39 5f 6e 61 6d 65 29 2c 20 5c 0a 20 20 20 20 20 20 20 20 | heck(self.x509_name),.\......... |
40240 | 20 20 20 20 20 20 20 20 22 27 78 35 30 39 5f 6e 61 6d 65 27 20 74 79 70 65 20 65 72 72 6f 72 22 | ........"'x509_name'.type.error" |
40260 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 78 35 30 39 5f 6e 61 6d 65 | .............return.m2.x509_name |
40280 | 5f 73 65 74 5f 62 79 5f 6e 69 64 28 73 65 6c 66 2e 78 35 30 39 5f 6e 61 6d 65 2c 20 73 65 6c 66 | _set_by_nid(self.x509_name,.self |
402a0 | 2e 6e 69 64 5b 61 74 74 72 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .nid[attr],..................... |
402c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 69 78 2e 65 6e 73 75 72 | .......................six.ensur |
402e0 | 65 5f 62 69 6e 61 72 79 28 76 61 6c 75 65 29 29 0a 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 5f | e_binary(value))..........self._ |
40300 | 5f 64 69 63 74 5f 5f 5b 61 74 74 72 5d 20 3d 20 76 61 6c 75 65 0a 0a 20 20 20 20 64 65 66 20 5f | _dict__[attr].=.value......def._ |
40320 | 5f 6c 65 6e 5f 5f 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 | _len__(self):.........#.type:.() |
40340 | 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 78 35 30 39 5f 6e | .->.int.........return.m2.x509_n |
40360 | 61 6d 65 5f 65 6e 74 72 79 5f 63 6f 75 6e 74 28 73 65 6c 66 2e 78 35 30 39 5f 6e 61 6d 65 29 0a | ame_entry_count(self.x509_name). |
40380 | 0a 20 20 20 20 64 65 66 20 5f 5f 67 65 74 69 74 65 6d 5f 5f 28 73 65 6c 66 2c 20 69 64 78 29 3a | .....def.__getitem__(self,.idx): |
403a0 | 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 69 6e 74 29 20 2d 3e 20 58 35 30 39 5f 4e | .........#.type:.(int).->.X509_N |
403c0 | 61 6d 65 5f 45 6e 74 72 79 0a 20 20 20 20 20 20 20 20 69 66 20 6e 6f 74 20 30 20 3c 3d 20 69 64 | ame_Entry.........if.not.0.<=.id |
403e0 | 78 20 3c 20 73 65 6c 66 2e 65 6e 74 72 79 5f 63 6f 75 6e 74 28 29 3a 0a 20 20 20 20 20 20 20 20 | x.<.self.entry_count():......... |
40400 | 20 20 20 20 72 61 69 73 65 20 49 6e 64 65 78 45 72 72 6f 72 28 22 69 6e 64 65 78 20 6f 75 74 20 | ....raise.IndexError("index.out. |
40420 | 6f 66 20 72 61 6e 67 65 22 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 58 35 30 39 5f 4e | of.range").........return.X509_N |
40440 | 61 6d 65 5f 45 6e 74 72 79 28 6d 32 2e 78 35 30 39 5f 6e 61 6d 65 5f 67 65 74 5f 65 6e 74 72 79 | ame_Entry(m2.x509_name_get_entry |
40460 | 28 73 65 6c 66 2e 78 35 30 39 5f 6e 61 6d 65 2c 20 69 64 78 29 29 0a 0a 20 20 20 20 64 65 66 20 | (self.x509_name,.idx))......def. |
40480 | 5f 5f 69 74 65 72 5f 5f 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 66 6f 72 20 69 20 69 6e | __iter__(self):.........for.i.in |
404a0 | 20 72 61 6e 67 65 28 73 65 6c 66 2e 65 6e 74 72 79 5f 63 6f 75 6e 74 28 29 29 3a 0a 20 20 20 20 | .range(self.entry_count()):..... |
404c0 | 20 20 20 20 20 20 20 20 79 69 65 6c 64 20 73 65 6c 66 5b 69 5d 0a 0a 20 20 20 20 64 65 66 20 5f | ........yield.self[i]......def._ |
404e0 | 70 74 72 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 20 6d 32 2e 78 35 30 | ptr(self):.........assert.m2.x50 |
40500 | 39 5f 6e 61 6d 65 5f 74 79 70 65 5f 63 68 65 63 6b 28 73 65 6c 66 2e 78 35 30 39 5f 6e 61 6d 65 | 9_name_type_check(self.x509_name |
40520 | 29 2c 20 5c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 27 78 35 30 39 5f 6e 61 6d 65 27 20 74 79 | ),.\............."'x509_name'.ty |
40540 | 70 65 20 65 72 72 6f 72 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 2e 78 35 | pe.error".........return.self.x5 |
40560 | 30 39 5f 6e 61 6d 65 0a 0a 20 20 20 20 64 65 66 20 61 64 64 5f 65 6e 74 72 79 5f 62 79 5f 74 78 | 09_name......def.add_entry_by_tx |
40580 | 74 28 73 65 6c 66 2c 20 66 69 65 6c 64 2c 20 74 79 70 65 2c 20 65 6e 74 72 79 2c 20 6c 65 6e 2c | t(self,.field,.type,.entry,.len, |
405a0 | 20 6c 6f 63 2c 20 73 65 74 29 3a 0a 20 20 20 20 20 20 20 20 23 20 65 6e 74 72 79 5f 74 79 70 65 | .loc,.set):.........#.entry_type |
405c0 | 3a 20 28 73 74 72 2c 20 69 6e 74 2c 20 62 79 74 65 73 2c 20 69 6e 74 2c 20 69 6e 74 2c 20 69 6e | :.(str,.int,.bytes,.int,.int,.in |
405e0 | 74 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 41 64 | t).->.int.........""".........Ad |
40600 | 64 20 58 35 30 39 5f 4e 61 6d 65 20 66 69 65 6c 64 20 77 68 6f 73 65 20 6e 61 6d 65 20 69 73 20 | d.X509_Name.field.whose.name.is. |
40620 | 69 64 65 6e 74 69 66 69 65 64 20 62 79 20 69 74 73 20 6e 61 6d 65 2e 0a 0a 20 20 20 20 20 20 20 | identified.by.its.name.......... |
40640 | 20 3a 70 61 72 61 6d 20 66 69 65 6c 64 3a 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 65 6e 74 72 79 | .:param.field:.name.of.the.entry |
40660 | 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 74 79 70 65 3a 20 75 73 65 20 4d 42 53 54 52 49 | .........:param.type:.use.MBSTRI |
40680 | 4e 47 5f 41 53 43 20 6f 72 20 4d 42 53 54 52 49 4e 47 5f 55 54 46 38 0a 20 20 20 20 20 20 20 20 | NG_ASC.or.MBSTRING_UTF8......... |
406a0 | 20 20 20 20 20 20 20 28 6f 72 20 73 74 61 6e 64 61 72 64 20 41 53 4e 31 20 74 79 70 65 20 6c 69 | .......(or.standard.ASN1.type.li |
406c0 | 6b 65 20 56 5f 41 53 4e 31 5f 49 41 35 53 54 52 49 4e 47 29 0a 20 20 20 20 20 20 20 20 3a 70 61 | ke.V_ASN1_IA5STRING).........:pa |
406e0 | 72 61 6d 20 65 6e 74 72 79 3a 20 76 61 6c 75 65 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 | ram.entry:.value.........:param. |
40700 | 6c 65 6e 3a 20 62 75 66 5f 6c 65 6e 20 6f 66 20 74 68 65 20 65 6e 74 72 79 0a 20 20 20 20 20 20 | len:.buf_len.of.the.entry....... |
40720 | 20 20 20 20 20 20 20 20 20 28 2d 31 20 61 6e 64 20 74 68 65 20 6c 65 6e 67 74 68 20 69 73 20 63 | .........(-1.and.the.length.is.c |
40740 | 6f 6d 70 75 74 65 64 20 61 75 74 6f 6d 61 67 69 63 61 6c 6c 79 29 0a 0a 20 20 20 20 20 20 20 20 | omputed.automagically).......... |
40760 | 54 68 65 20 60 60 6c 6f 63 60 60 20 61 6e 64 20 60 60 73 65 74 60 60 20 70 61 72 61 6d 65 74 65 | The.``loc``.and.``set``.paramete |
40780 | 72 73 20 64 65 74 65 72 6d 69 6e 65 20 77 68 65 72 65 20 61 20 6e 65 77 20 65 6e 74 72 79 0a 20 | rs.determine.where.a.new.entry.. |
407a0 | 20 20 20 20 20 20 20 73 68 6f 75 6c 64 20 62 65 20 61 64 64 65 64 2e 0a 20 20 20 20 20 20 20 20 | .......should.be.added.......... |
407c0 | 46 6f 72 20 61 6c 6d 6f 73 74 20 61 6c 6c 20 61 70 70 6c 69 63 61 74 69 6f 6e 73 20 6c 6f 63 20 | For.almost.all.applications.loc. |
407e0 | 63 61 6e 20 62 65 20 73 65 74 20 74 6f 20 2d 31 20 61 6e 64 20 73 65 74 20 74 6f 20 30 2e 0a 20 | can.be.set.to.-1.and.set.to.0... |
40800 | 20 20 20 20 20 20 20 54 68 69 73 20 61 64 64 73 20 61 20 6e 65 77 20 65 6e 74 72 79 20 74 6f 20 | .......This.adds.a.new.entry.to. |
40820 | 74 68 65 20 65 6e 64 20 6f 66 20 6e 61 6d 65 20 61 73 20 61 20 73 69 6e 67 6c 65 20 76 61 6c 75 | the.end.of.name.as.a.single.valu |
40840 | 65 64 0a 20 20 20 20 20 20 20 20 52 65 6c 61 74 69 76 65 44 69 73 74 69 6e 67 75 69 73 68 65 64 | ed.........RelativeDistinguished |
40860 | 4e 61 6d 65 20 28 52 44 4e 29 2e 0a 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 6c 6f 63 3a | Name.(RDN)...........:param.loc: |
40880 | 20 64 65 74 65 72 6d 69 6e 65 73 20 74 68 65 20 69 6e 64 65 78 20 77 68 65 72 65 20 74 68 65 20 | .determines.the.index.where.the. |
408a0 | 6e 65 77 20 65 6e 74 72 79 20 69 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 73 65 | new.entry.is................inse |
408c0 | 72 74 65 64 3a 20 69 66 20 69 74 20 69 73 20 2d 31 20 69 74 20 69 73 20 61 70 70 65 6e 64 65 64 | rted:.if.it.is.-1.it.is.appended |
408e0 | 2e 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 73 65 74 3a 20 64 65 74 65 72 6d 69 6e 65 73 | ..........:param.set:.determines |
40900 | 20 68 6f 77 20 74 68 65 20 6e 65 77 20 74 79 70 65 20 69 73 20 61 64 64 65 64 2e 20 49 66 20 69 | .how.the.new.type.is.added..If.i |
40920 | 74 20 69 73 20 7a 65 72 6f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 20 6e 65 77 20 52 | t.is.zero................a.new.R |
40940 | 44 4e 20 69 73 20 63 72 65 61 74 65 64 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 66 | DN.is.created.................If |
40960 | 20 73 65 74 20 69 73 20 2d 31 20 6f 72 20 31 20 69 74 20 69 73 20 61 64 64 65 64 20 74 6f 20 74 | .set.is.-1.or.1.it.is.added.to.t |
40980 | 68 65 20 70 72 65 76 69 6f 75 73 20 6f 72 20 6e 65 78 74 20 52 44 4e 0a 20 20 20 20 20 20 20 20 | he.previous.or.next.RDN......... |
409a0 | 20 20 20 20 20 20 20 73 74 72 75 63 74 75 72 65 20 72 65 73 70 65 63 74 69 76 65 6c 79 2e 20 54 | .......structure.respectively..T |
409c0 | 68 69 73 20 77 69 6c 6c 20 74 68 65 6e 20 62 65 20 61 20 6d 75 6c 74 69 76 61 6c 75 65 64 0a 20 | his.will.then.be.a.multivalued.. |
409e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 44 4e 3a 20 73 69 6e 63 65 20 6d 75 6c 74 69 76 61 | ..............RDN:.since.multiva |
40a00 | 6c 75 65 73 20 52 44 4e 73 20 61 72 65 20 76 65 72 79 20 73 65 6c 64 6f 6d 20 75 73 65 64 20 73 | lues.RDNs.are.very.seldom.used.s |
40a20 | 65 74 20 69 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 6c 6d 6f 73 74 20 61 6c 77 61 | et.is................almost.alwa |
40a40 | 79 73 20 73 65 74 20 74 6f 20 7a 65 72 6f 2e 0a 0a 20 20 20 20 20 20 20 20 3a 72 65 74 75 72 6e | ys.set.to.zero...........:return |
40a60 | 3a 20 31 20 66 6f 72 20 73 75 63 63 65 73 73 20 6f 66 20 30 20 69 66 20 61 6e 20 65 72 72 6f 72 | :.1.for.success.of.0.if.an.error |
40a80 | 20 6f 63 63 75 72 72 65 64 2e 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 72 | .occurred..........""".........r |
40aa0 | 65 74 75 72 6e 20 6d 32 2e 78 35 30 39 5f 6e 61 6d 65 5f 61 64 64 5f 65 6e 74 72 79 5f 62 79 5f | eturn.m2.x509_name_add_entry_by_ |
40ac0 | 74 78 74 28 73 65 6c 66 2e 78 35 30 39 5f 6e 61 6d 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 | txt(self.x509_name,............. |
40ae0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
40b00 | 20 73 69 78 2e 65 6e 73 75 72 65 5f 73 74 72 28 66 69 65 6c 64 29 2c 20 74 79 70 65 2c 0a 20 20 | .six.ensure_str(field),.type,... |
40b20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
40b40 | 20 20 20 20 20 20 20 20 20 20 20 73 69 78 2e 65 6e 73 75 72 65 5f 73 74 72 28 65 6e 74 72 79 29 | ...........six.ensure_str(entry) |
40b60 | 2c 20 6c 65 6e 2c 20 6c 6f 63 2c 20 73 65 74 29 0a 0a 20 20 20 20 64 65 66 20 65 6e 74 72 79 5f | ,.len,.loc,.set)......def.entry_ |
40b80 | 63 6f 75 6e 74 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 | count(self):.........#.type:.(). |
40ba0 | 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 78 35 30 39 5f 6e 61 | ->.int.........return.m2.x509_na |
40bc0 | 6d 65 5f 65 6e 74 72 79 5f 63 6f 75 6e 74 28 73 65 6c 66 2e 78 35 30 39 5f 6e 61 6d 65 29 0a 0a | me_entry_count(self.x509_name).. |
40be0 | 20 20 20 20 64 65 66 20 67 65 74 5f 65 6e 74 72 69 65 73 5f 62 79 5f 6e 69 64 28 73 65 6c 66 2c | ....def.get_entries_by_nid(self, |
40c00 | 20 6e 69 64 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 69 6e 74 29 20 2d 3e 20 | .nid):.........#.type:.(int).->. |
40c20 | 4c 69 73 74 5b 58 35 30 39 5f 4e 61 6d 65 5f 45 6e 74 72 79 5d 0a 20 20 20 20 20 20 20 20 22 22 | List[X509_Name_Entry]........."" |
40c40 | 22 0a 20 20 20 20 20 20 20 20 52 65 74 72 69 65 76 65 20 74 68 65 20 6e 65 78 74 20 69 6e 64 65 | ".........Retrieve.the.next.inde |
40c60 | 78 20 6d 61 74 63 68 69 6e 67 20 6e 69 64 2e 0a 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 | x.matching.nid...........:param. |
40c80 | 6e 69 64 3a 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 65 6e 74 72 79 20 28 61 73 20 6d 32 2e 4e 49 | nid:.name.of.the.entry.(as.m2.NI |
40ca0 | 44 2a 20 63 6f 6e 73 74 61 6e 74 73 29 0a 0a 20 20 20 20 20 20 20 20 3a 72 65 74 75 72 6e 3a 20 | D*.constants)..........:return:. |
40cc0 | 6c 69 73 74 20 6f 66 20 58 35 30 39 5f 4e 61 6d 65 5f 45 6e 74 72 79 20 69 74 65 6d 73 0a 20 20 | list.of.X509_Name_Entry.items... |
40ce0 | 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 72 65 74 20 3d 20 5b 5d 0a 20 20 20 20 20 | ......""".........ret.=.[]...... |
40d00 | 20 20 20 6c 61 73 74 70 6f 73 20 3d 20 2d 31 0a 0a 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 54 | ...lastpos.=.-1..........while.T |
40d20 | 72 75 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 6c 61 73 74 70 6f 73 20 3d 20 6d 32 2e 78 35 | rue:.............lastpos.=.m2.x5 |
40d40 | 30 39 5f 6e 61 6d 65 5f 67 65 74 5f 69 6e 64 65 78 5f 62 79 5f 6e 69 64 28 73 65 6c 66 2e 78 35 | 09_name_get_index_by_nid(self.x5 |
40d60 | 30 39 5f 6e 61 6d 65 2c 20 6e 69 64 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | 09_name,.nid,................... |
40d80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
40da0 | 20 20 6c 61 73 74 70 6f 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 6c 61 73 74 70 6f | ..lastpos).............if.lastpo |
40dc0 | 73 20 3d 3d 20 2d 31 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 0a 0a | s.==.-1:.................break.. |
40de0 | 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 2e 61 70 70 65 6e 64 28 73 65 6c 66 5b 6c 61 73 74 | ............ret.append(self[last |
40e00 | 70 6f 73 5d 29 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 72 65 74 0a 0a 20 20 20 20 64 | pos])..........return.ret......d |
40e20 | 65 66 20 61 73 5f 74 65 78 74 28 73 65 6c 66 2c 20 69 6e 64 65 6e 74 3d 30 2c 20 66 6c 61 67 73 | ef.as_text(self,.indent=0,.flags |
40e40 | 3d 6d 32 2e 58 4e 5f 46 4c 41 47 5f 43 4f 4d 50 41 54 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 | =m2.XN_FLAG_COMPAT):.........#.t |
40e60 | 79 70 65 3a 20 28 69 6e 74 2c 20 69 6e 74 29 20 2d 3e 20 73 74 72 0a 20 20 20 20 20 20 20 20 22 | ype:.(int,.int).->.str........." |
40e80 | 22 22 0a 20 20 20 20 20 20 20 20 61 73 5f 74 65 78 74 20 72 65 74 75 72 6e 73 20 74 68 65 20 6e | "".........as_text.returns.the.n |
40ea0 | 61 6d 65 20 61 73 20 61 20 73 74 72 69 6e 67 2e 0a 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d | ame.as.a.string...........:param |
40ec0 | 20 69 6e 64 65 6e 74 3a 20 45 61 63 68 20 6c 69 6e 65 20 69 6e 20 6d 75 6c 74 69 6c 69 6e 65 20 | .indent:.Each.line.in.multiline. |
40ee0 | 66 6f 72 6d 61 74 20 69 73 20 69 6e 64 65 6e 74 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | format.is.indented.............. |
40f00 | 20 20 20 20 20 20 20 20 20 20 62 79 20 74 68 69 73 20 6d 61 6e 79 20 73 70 61 63 65 73 2e 0a 20 | ..........by.this.many.spaces... |
40f20 | 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 66 6c 61 67 73 3a 20 20 46 6c 61 67 73 20 74 68 61 74 | .......:param.flags:..Flags.that |
40f40 | 20 63 6f 6e 74 72 6f 6c 20 68 6f 77 20 74 68 65 20 6f 75 74 70 75 74 20 73 68 6f 75 6c 64 20 62 | .control.how.the.output.should.b |
40f60 | 65 20 66 6f 72 6d 61 74 74 65 64 2e 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 | e.formatted.........."""........ |
40f80 | 20 61 73 73 65 72 74 20 6d 32 2e 78 35 30 39 5f 6e 61 6d 65 5f 74 79 70 65 5f 63 68 65 63 6b 28 | .assert.m2.x509_name_type_check( |
40fa0 | 73 65 6c 66 2e 78 35 30 39 5f 6e 61 6d 65 29 2c 20 5c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 | self.x509_name),.\............." |
40fc0 | 27 78 35 30 39 5f 6e 61 6d 65 27 20 74 79 70 65 20 65 72 72 6f 72 22 0a 20 20 20 20 20 20 20 20 | 'x509_name'.type.error"......... |
40fe0 | 62 75 66 20 3d 20 42 49 4f 2e 4d 65 6d 6f 72 79 42 75 66 66 65 72 28 29 0a 20 20 20 20 20 20 20 | buf.=.BIO.MemoryBuffer()........ |
41000 | 20 6d 32 2e 78 35 30 39 5f 6e 61 6d 65 5f 70 72 69 6e 74 5f 65 78 28 62 75 66 2e 62 69 6f 5f 70 | .m2.x509_name_print_ex(buf.bio_p |
41020 | 74 72 28 29 2c 20 73 65 6c 66 2e 78 35 30 39 5f 6e 61 6d 65 2c 20 69 6e 64 65 6e 74 2c 20 66 6c | tr(),.self.x509_name,.indent,.fl |
41040 | 61 67 73 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 69 78 2e 65 6e 73 75 72 65 5f 74 | ags).........return.six.ensure_t |
41060 | 65 78 74 28 62 75 66 2e 72 65 61 64 5f 61 6c 6c 28 29 29 0a 0a 20 20 20 20 64 65 66 20 61 73 5f | ext(buf.read_all())......def.as_ |
41080 | 64 65 72 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e | der(self):.........#.type:.().-> |
410a0 | 20 62 79 74 65 73 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 20 6d 32 2e 78 35 30 39 5f 6e 61 | .bytes.........assert.m2.x509_na |
410c0 | 6d 65 5f 74 79 70 65 5f 63 68 65 63 6b 28 73 65 6c 66 2e 78 35 30 39 5f 6e 61 6d 65 29 2c 20 5c | me_type_check(self.x509_name),.\ |
410e0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 27 78 35 30 39 5f 6e 61 6d 65 27 20 74 79 70 65 20 65 | ............."'x509_name'.type.e |
41100 | 72 72 6f 72 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 78 35 30 39 5f 6e 61 6d | rror".........return.m2.x509_nam |
41120 | 65 5f 67 65 74 5f 64 65 72 28 73 65 6c 66 2e 78 35 30 39 5f 6e 61 6d 65 29 0a 0a 20 20 20 20 64 | e_get_der(self.x509_name)......d |
41140 | 65 66 20 61 73 5f 68 61 73 68 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 | ef.as_hash(self):.........#.type |
41160 | 3a 20 28 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 20 6d 32 2e 78 35 | :.().->.int.........assert.m2.x5 |
41180 | 30 39 5f 6e 61 6d 65 5f 74 79 70 65 5f 63 68 65 63 6b 28 73 65 6c 66 2e 78 35 30 39 5f 6e 61 6d | 09_name_type_check(self.x509_nam |
411a0 | 65 29 2c 20 5c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 27 78 35 30 39 5f 6e 61 6d 65 27 20 74 | e),.\............."'x509_name'.t |
411c0 | 79 70 65 20 65 72 72 6f 72 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 78 35 30 | ype.error".........return.m2.x50 |
411e0 | 39 5f 6e 61 6d 65 5f 68 61 73 68 28 73 65 6c 66 2e 78 35 30 39 5f 6e 61 6d 65 29 0a 0a 0a 63 6c | 9_name_hash(self.x509_name)...cl |
41200 | 61 73 73 20 58 35 30 39 28 6f 62 6a 65 63 74 29 3a 0a 20 20 20 20 22 22 22 0a 20 20 20 20 58 2e | ass.X509(object):.....""".....X. |
41220 | 35 30 39 20 43 65 72 74 69 66 69 63 61 74 65 0a 20 20 20 20 22 22 22 0a 0a 20 20 20 20 6d 32 5f | 509.Certificate....."""......m2_ |
41240 | 78 35 30 39 5f 66 72 65 65 20 3d 20 6d 32 2e 78 35 30 39 5f 66 72 65 65 0a 0a 20 20 20 20 64 65 | x509_free.=.m2.x509_free......de |
41260 | 66 20 5f 5f 69 6e 69 74 5f 5f 28 73 65 6c 66 2c 20 78 35 30 39 3d 4e 6f 6e 65 2c 20 5f 70 79 66 | f.__init__(self,.x509=None,._pyf |
41280 | 72 65 65 3d 30 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 4f 70 74 69 6f 6e 61 | ree=0):.........#.type:.(Optiona |
412a0 | 6c 5b 62 79 74 65 73 5d 2c 20 69 6e 74 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 22 | l[bytes],.int).->.None........." |
412c0 | 22 22 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 78 35 30 39 3a 20 62 69 6e 61 72 79 20 72 | "".........:param.x509:.binary.r |
412e0 | 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | epresentation.of................ |
41300 | 74 68 65 20 75 6e 64 65 72 6c 79 69 6e 67 20 4f 70 65 6e 53 53 4c 20 58 35 30 39 20 6f 62 6a 65 | the.underlying.OpenSSL.X509.obje |
41320 | 63 74 2e 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 5f 70 79 66 72 65 65 3a 0a 20 20 20 20 | ct..........:param._pyfree:..... |
41340 | 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 69 66 20 78 35 30 39 20 69 73 20 6e 6f 74 20 4e | ....""".........if.x509.is.not.N |
41360 | 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 61 73 73 65 72 74 20 6d 32 2e 78 35 30 39 5f | one:.............assert.m2.x509_ |
41380 | 74 79 70 65 5f 63 68 65 63 6b 28 78 35 30 39 29 2c 20 22 27 78 35 30 39 27 20 74 79 70 65 20 65 | type_check(x509),."'x509'.type.e |
413a0 | 72 72 6f 72 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 78 35 30 39 20 3d 20 78 35 | rror".............self.x509.=.x5 |
413c0 | 30 39 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 70 79 66 72 65 65 20 3d 20 5f 70 | 09.............self._pyfree.=._p |
413e0 | 79 66 72 65 65 0a 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 | yfree.........else:............. |
41400 | 73 65 6c 66 2e 78 35 30 39 20 3d 20 6d 32 2e 78 35 30 39 5f 6e 65 77 28 29 0a 20 20 20 20 20 20 | self.x509.=.m2.x509_new()....... |
41420 | 20 20 20 20 20 20 73 65 6c 66 2e 5f 70 79 66 72 65 65 20 3d 20 31 0a 0a 20 20 20 20 64 65 66 20 | ......self._pyfree.=.1......def. |
41440 | 5f 5f 64 65 6c 5f 5f 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 | __del__(self):.........#.type:.( |
41460 | 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 69 66 20 67 65 74 61 74 74 72 28 73 65 6c | ).->.None.........if.getattr(sel |
41480 | 66 2c 20 27 5f 70 79 66 72 65 65 27 2c 20 30 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 | f,.'_pyfree',.0):.............se |
414a0 | 6c 66 2e 6d 32 5f 78 35 30 39 5f 66 72 65 65 28 73 65 6c 66 2e 78 35 30 39 29 0a 0a 20 20 20 20 | lf.m2_x509_free(self.x509)...... |
414c0 | 64 65 66 20 5f 70 74 72 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 | def._ptr(self):.........#.type:. |
414e0 | 28 29 20 2d 3e 20 62 79 74 65 73 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 20 6d 32 2e 78 35 | ().->.bytes.........assert.m2.x5 |
41500 | 30 39 5f 74 79 70 65 5f 63 68 65 63 6b 28 73 65 6c 66 2e 78 35 30 39 29 2c 20 22 27 78 35 30 39 | 09_type_check(self.x509),."'x509 |
41520 | 27 20 74 79 70 65 20 65 72 72 6f 72 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c | '.type.error".........return.sel |
41540 | 66 2e 78 35 30 39 0a 0a 20 20 20 20 64 65 66 20 61 73 5f 74 65 78 74 28 73 65 6c 66 29 3a 0a 20 | f.x509......def.as_text(self):.. |
41560 | 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 73 74 72 0a 20 20 20 20 20 20 20 | .......#.type:.().->.str........ |
41580 | 20 61 73 73 65 72 74 20 6d 32 2e 78 35 30 39 5f 74 79 70 65 5f 63 68 65 63 6b 28 73 65 6c 66 2e | .assert.m2.x509_type_check(self. |
415a0 | 78 35 30 39 29 2c 20 22 27 78 35 30 39 27 20 74 79 70 65 20 65 72 72 6f 72 22 0a 20 20 20 20 20 | x509),."'x509'.type.error"...... |
415c0 | 20 20 20 62 75 66 20 3d 20 42 49 4f 2e 4d 65 6d 6f 72 79 42 75 66 66 65 72 28 29 0a 20 20 20 20 | ...buf.=.BIO.MemoryBuffer()..... |
415e0 | 20 20 20 20 6d 32 2e 78 35 30 39 5f 70 72 69 6e 74 28 62 75 66 2e 62 69 6f 5f 70 74 72 28 29 2c | ....m2.x509_print(buf.bio_ptr(), |
41600 | 20 73 65 6c 66 2e 78 35 30 39 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 69 78 2e 65 | .self.x509).........return.six.e |
41620 | 6e 73 75 72 65 5f 74 65 78 74 28 62 75 66 2e 72 65 61 64 5f 61 6c 6c 28 29 29 0a 0a 20 20 20 20 | nsure_text(buf.read_all())...... |
41640 | 64 65 66 20 61 73 5f 64 65 72 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 | def.as_der(self):.........#.type |
41660 | 3a 20 28 29 20 2d 3e 20 62 79 74 65 73 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 20 6d 32 2e | :.().->.bytes.........assert.m2. |
41680 | 78 35 30 39 5f 74 79 70 65 5f 63 68 65 63 6b 28 73 65 6c 66 2e 78 35 30 39 29 2c 20 22 27 78 35 | x509_type_check(self.x509),."'x5 |
416a0 | 30 39 27 20 74 79 70 65 20 65 72 72 6f 72 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d | 09'.type.error".........return.m |
416c0 | 32 2e 69 32 64 5f 78 35 30 39 28 73 65 6c 66 2e 78 35 30 39 29 0a 0a 20 20 20 20 64 65 66 20 61 | 2.i2d_x509(self.x509)......def.a |
416e0 | 73 5f 70 65 6d 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 | s_pem(self):.........#.type:.(). |
41700 | 2d 3e 20 62 79 74 65 73 0a 20 20 20 20 20 20 20 20 62 75 66 20 3d 20 42 49 4f 2e 4d 65 6d 6f 72 | ->.bytes.........buf.=.BIO.Memor |
41720 | 79 42 75 66 66 65 72 28 29 0a 20 20 20 20 20 20 20 20 6d 32 2e 78 35 30 39 5f 77 72 69 74 65 5f | yBuffer().........m2.x509_write_ |
41740 | 70 65 6d 28 62 75 66 2e 62 69 6f 5f 70 74 72 28 29 2c 20 73 65 6c 66 2e 78 35 30 39 29 0a 20 20 | pem(buf.bio_ptr(),.self.x509)... |
41760 | 20 20 20 20 20 20 72 65 74 75 72 6e 20 62 75 66 2e 72 65 61 64 5f 61 6c 6c 28 29 0a 0a 20 20 20 | ......return.buf.read_all()..... |
41780 | 20 64 65 66 20 73 61 76 65 5f 70 65 6d 28 73 65 6c 66 2c 20 66 69 6c 65 6e 61 6d 65 29 3a 0a 20 | .def.save_pem(self,.filename):.. |
417a0 | 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 41 6e 79 53 74 72 29 20 2d 3e 20 69 6e 74 0a 20 | .......#.type:.(AnyStr).->.int.. |
417c0 | 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 66 69 6c 65 6e 61 | .......""".........:param.filena |
417e0 | 6d 65 3a 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 66 69 6c 65 20 74 6f 20 62 65 20 6c 6f 61 64 65 | me:.name.of.the.file.to.be.loade |
41800 | 64 0a 20 20 20 20 20 20 20 20 3a 72 65 74 75 72 6e 3a 20 31 20 66 6f 72 20 73 75 63 63 65 73 73 | d.........:return:.1.for.success |
41820 | 20 6f 72 20 30 20 66 6f 72 20 66 61 69 6c 75 72 65 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 | .or.0.for.failure........."""... |
41840 | 20 20 20 20 20 20 77 69 74 68 20 42 49 4f 2e 6f 70 65 6e 66 69 6c 65 28 66 69 6c 65 6e 61 6d 65 | ......with.BIO.openfile(filename |
41860 | 2c 20 27 77 62 27 29 20 61 73 20 62 69 6f 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 | ,.'wb').as.bio:.............retu |
41880 | 72 6e 20 6d 32 2e 78 35 30 39 5f 77 72 69 74 65 5f 70 65 6d 28 62 69 6f 2e 62 69 6f 5f 70 74 72 | rn.m2.x509_write_pem(bio.bio_ptr |
418a0 | 28 29 2c 20 73 65 6c 66 2e 78 35 30 39 29 0a 0a 20 20 20 20 64 65 66 20 73 61 76 65 28 73 65 6c | (),.self.x509)......def.save(sel |
418c0 | 66 2c 20 66 69 6c 65 6e 61 6d 65 2c 20 66 6f 72 6d 61 74 3d 46 4f 52 4d 41 54 5f 50 45 4d 29 3a | f,.filename,.format=FORMAT_PEM): |
418e0 | 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 41 6e 79 53 74 72 2c 20 69 6e 74 29 20 2d | .........#.type:.(AnyStr,.int).- |
41900 | 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 53 61 76 65 73 20 | >.int.........""".........Saves. |
41920 | 58 2e 35 30 39 20 63 65 72 74 69 66 69 63 61 74 65 20 74 6f 20 61 20 66 69 6c 65 2e 20 44 65 66 | X.509.certificate.to.a.file..Def |
41940 | 61 75 6c 74 20 6f 75 74 70 75 74 0a 20 20 20 20 20 20 20 20 66 6f 72 6d 61 74 20 69 73 20 50 45 | ault.output.........format.is.PE |
41960 | 4d 2e 0a 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 66 69 6c 65 6e 61 6d 65 3a 20 4e 61 6d | M...........:param.filename:.Nam |
41980 | 65 20 6f 66 20 74 68 65 20 66 69 6c 65 20 74 68 65 20 63 65 72 74 20 77 69 6c 6c 20 62 65 20 73 | e.of.the.file.the.cert.will.be.s |
419a0 | 61 76 65 64 20 74 6f 2e 0a 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 66 6f 72 6d 61 74 3a | aved.to...........:param.format: |
419c0 | 20 43 6f 6e 74 72 6f 6c 73 20 77 68 61 74 20 6f 75 74 70 75 74 20 66 6f 72 6d 61 74 20 69 73 20 | .Controls.what.output.format.is. |
419e0 | 75 73 65 64 20 74 6f 20 73 61 76 65 20 74 68 65 20 63 65 72 74 2e 0a 20 20 20 20 20 20 20 20 20 | used.to.save.the.cert........... |
41a00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 69 74 68 65 72 20 46 4f 52 4d 41 54 5f 50 45 4d 20 | ..............Either.FORMAT_PEM. |
41a20 | 6f 72 20 46 4f 52 4d 41 54 5f 44 45 52 20 74 6f 20 73 61 76 65 20 69 6e 20 50 45 4d 20 6f 72 0a | or.FORMAT_DER.to.save.in.PEM.or. |
41a40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 45 52 20 66 6f 72 6d 61 | .......................DER.forma |
41a60 | 74 2e 20 20 52 61 69 73 65 73 20 61 20 56 61 6c 75 65 45 72 72 6f 72 20 69 66 20 61 6e 20 75 6e | t...Raises.a.ValueError.if.an.un |
41a80 | 6b 6e 6f 77 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 6d | know........................form |
41aa0 | 61 74 20 69 73 20 75 73 65 64 2e 0a 0a 20 20 20 20 20 20 20 20 3a 72 65 74 75 72 6e 3a 20 31 20 | at.is.used...........:return:.1. |
41ac0 | 66 6f 72 20 73 75 63 63 65 73 73 20 6f 72 20 30 20 66 6f 72 20 66 61 69 6c 75 72 65 0a 20 20 20 | for.success.or.0.for.failure.... |
41ae0 | 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 77 69 74 68 20 42 49 4f 2e 6f 70 65 6e 66 69 | .....""".........with.BIO.openfi |
41b00 | 6c 65 28 66 69 6c 65 6e 61 6d 65 2c 20 27 77 62 27 29 20 61 73 20 62 69 6f 3a 0a 20 20 20 20 20 | le(filename,.'wb').as.bio:...... |
41b20 | 20 20 20 20 20 20 20 69 66 20 66 6f 72 6d 61 74 20 3d 3d 20 46 4f 52 4d 41 54 5f 50 45 4d 3a 0a | .......if.format.==.FORMAT_PEM:. |
41b40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 78 35 30 39 5f 77 | ................return.m2.x509_w |
41b60 | 72 69 74 65 5f 70 65 6d 28 62 69 6f 2e 62 69 6f 5f 70 74 72 28 29 2c 20 73 65 6c 66 2e 78 35 30 | rite_pem(bio.bio_ptr(),.self.x50 |
41b80 | 39 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 69 66 20 66 6f 72 6d 61 74 20 3d 3d 20 46 4f | 9).............elif.format.==.FO |
41ba0 | 52 4d 41 54 5f 44 45 52 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e | RMAT_DER:.................return |
41bc0 | 20 6d 32 2e 69 32 64 5f 78 35 30 39 5f 62 69 6f 28 62 69 6f 2e 62 69 6f 5f 70 74 72 28 29 2c 20 | .m2.i2d_x509_bio(bio.bio_ptr(),. |
41be0 | 73 65 6c 66 2e 78 35 30 39 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 | self.x509).............else:.... |
41c00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 56 61 6c 75 65 45 72 72 6f 72 28 0a 20 | .............raise.ValueError(.. |
41c20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 55 6e 6b 6e 6f 77 6e 20 66 69 6c 65 | ..................."Unknown.file |
41c40 | 74 79 70 65 2e 20 4d 75 73 74 20 62 65 20 65 69 74 68 65 72 20 46 4f 52 4d 41 54 5f 50 45 4d 20 | type..Must.be.either.FORMAT_PEM. |
41c60 | 6f 72 20 46 4f 52 4d 41 54 5f 44 45 52 22 29 0a 0a 20 20 20 20 64 65 66 20 73 65 74 5f 76 65 72 | or.FORMAT_DER")......def.set_ver |
41c80 | 73 69 6f 6e 28 73 65 6c 66 2c 20 76 65 72 73 69 6f 6e 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 | sion(self,.version):.........#.t |
41ca0 | 79 70 65 3a 20 28 69 6e 74 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 | ype:.(int).->.int........."""... |
41cc0 | 20 20 20 20 20 20 53 65 74 20 76 65 72 73 69 6f 6e 20 6f 66 20 74 68 65 20 63 65 72 74 69 66 69 | ......Set.version.of.the.certifi |
41ce0 | 63 61 74 65 2e 0a 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 76 65 72 73 69 6f 6e 3a 20 56 | cate...........:param.version:.V |
41d00 | 65 72 73 69 6f 6e 20 6e 75 6d 62 65 72 2e 0a 20 20 20 20 20 20 20 20 3a 72 65 74 75 72 6e 3a 20 | ersion.number..........:return:. |
41d20 | 20 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 30 20 6f 6e 20 66 61 69 6c 75 72 65 2e 0a 20 20 20 | .......Returns.0.on.failure..... |
41d40 | 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 20 6d 32 2e 78 35 30 39 5f | .....""".........assert.m2.x509_ |
41d60 | 74 79 70 65 5f 63 68 65 63 6b 28 73 65 6c 66 2e 78 35 30 39 29 2c 20 22 27 78 35 30 39 27 20 74 | type_check(self.x509),."'x509'.t |
41d80 | 79 70 65 20 65 72 72 6f 72 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 78 35 30 | ype.error".........return.m2.x50 |
41da0 | 39 5f 73 65 74 5f 76 65 72 73 69 6f 6e 28 73 65 6c 66 2e 78 35 30 39 2c 20 76 65 72 73 69 6f 6e | 9_set_version(self.x509,.version |
41dc0 | 29 0a 0a 20 20 20 20 64 65 66 20 73 65 74 5f 6e 6f 74 5f 62 65 66 6f 72 65 28 73 65 6c 66 2c 20 | )......def.set_not_before(self,. |
41de0 | 61 73 6e 31 5f 74 69 6d 65 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 41 53 4e | asn1_time):.........#.type:.(ASN |
41e00 | 31 2e 41 53 4e 31 5f 54 49 4d 45 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 22 22 22 0a | 1.ASN1_TIME).->.int.........""". |
41e20 | 20 20 20 20 20 20 20 20 3a 72 65 74 75 72 6e 3a 20 31 20 6f 6e 20 73 75 63 63 65 73 73 2c 20 30 | ........:return:.1.on.success,.0 |
41e40 | 20 6f 6e 20 66 61 69 6c 75 72 65 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 | .on.failure........."""......... |
41e60 | 61 73 73 65 72 74 20 6d 32 2e 78 35 30 39 5f 74 79 70 65 5f 63 68 65 63 6b 28 73 65 6c 66 2e 78 | assert.m2.x509_type_check(self.x |
41e80 | 35 30 39 29 2c 20 22 27 78 35 30 39 27 20 74 79 70 65 20 65 72 72 6f 72 22 0a 20 20 20 20 20 20 | 509),."'x509'.type.error"....... |
41ea0 | 20 20 72 65 74 75 72 6e 20 6d 32 2e 78 35 30 39 5f 73 65 74 5f 6e 6f 74 5f 62 65 66 6f 72 65 28 | ..return.m2.x509_set_not_before( |
41ec0 | 73 65 6c 66 2e 78 35 30 39 2c 20 61 73 6e 31 5f 74 69 6d 65 2e 5f 70 74 72 28 29 29 0a 0a 20 20 | self.x509,.asn1_time._ptr()).... |
41ee0 | 20 20 64 65 66 20 73 65 74 5f 6e 6f 74 5f 61 66 74 65 72 28 73 65 6c 66 2c 20 61 73 6e 31 5f 74 | ..def.set_not_after(self,.asn1_t |
41f00 | 69 6d 65 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 41 53 4e 31 2e 41 53 4e 31 | ime):.........#.type:.(ASN1.ASN1 |
41f20 | 5f 54 49 4d 45 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 | _TIME).->.int........."""....... |
41f40 | 20 20 3a 72 65 74 75 72 6e 3a 20 31 20 6f 6e 20 73 75 63 63 65 73 73 2c 20 30 20 6f 6e 20 66 61 | ..:return:.1.on.success,.0.on.fa |
41f60 | 69 6c 75 72 65 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 | ilure.........""".........assert |
41f80 | 20 6d 32 2e 78 35 30 39 5f 74 79 70 65 5f 63 68 65 63 6b 28 73 65 6c 66 2e 78 35 30 39 29 2c 20 | .m2.x509_type_check(self.x509),. |
41fa0 | 22 27 78 35 30 39 27 20 74 79 70 65 20 65 72 72 6f 72 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 | "'x509'.type.error".........retu |
41fc0 | 72 6e 20 6d 32 2e 78 35 30 39 5f 73 65 74 5f 6e 6f 74 5f 61 66 74 65 72 28 73 65 6c 66 2e 78 35 | rn.m2.x509_set_not_after(self.x5 |
41fe0 | 30 39 2c 20 61 73 6e 31 5f 74 69 6d 65 2e 5f 70 74 72 28 29 29 0a 0a 20 20 20 20 64 65 66 20 73 | 09,.asn1_time._ptr())......def.s |
42000 | 65 74 5f 73 75 62 6a 65 63 74 5f 6e 61 6d 65 28 73 65 6c 66 2c 20 6e 61 6d 65 29 3a 0a 20 20 20 | et_subject_name(self,.name):.... |
42020 | 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 58 35 30 39 5f 4e 61 6d 65 29 20 2d 3e 20 69 6e 74 0a | .....#.type:.(X509_Name).->.int. |
42040 | 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 3a 72 65 74 75 72 6e 3a 20 31 20 6f | ........""".........:return:.1.o |
42060 | 6e 20 73 75 63 63 65 73 73 2c 20 30 20 6f 6e 20 66 61 69 6c 75 72 65 0a 20 20 20 20 20 20 20 20 | n.success,.0.on.failure......... |
42080 | 22 22 22 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 20 6d 32 2e 78 35 30 39 5f 74 79 70 65 5f | """.........assert.m2.x509_type_ |
420a0 | 63 68 65 63 6b 28 73 65 6c 66 2e 78 35 30 39 29 2c 20 22 27 78 35 30 39 27 20 74 79 70 65 20 65 | check(self.x509),."'x509'.type.e |
420c0 | 72 72 6f 72 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 78 35 30 39 5f 73 65 74 | rror".........return.m2.x509_set |
420e0 | 5f 73 75 62 6a 65 63 74 5f 6e 61 6d 65 28 73 65 6c 66 2e 78 35 30 39 2c 20 6e 61 6d 65 2e 78 35 | _subject_name(self.x509,.name.x5 |
42100 | 30 39 5f 6e 61 6d 65 29 0a 0a 20 20 20 20 64 65 66 20 73 65 74 5f 69 73 73 75 65 72 5f 6e 61 6d | 09_name)......def.set_issuer_nam |
42120 | 65 28 73 65 6c 66 2c 20 6e 61 6d 65 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 | e(self,.name):.........#.type:.( |
42140 | 58 35 30 39 5f 4e 61 6d 65 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 | X509_Name).->.int........."""... |
42160 | 20 20 20 20 20 20 3a 72 65 74 75 72 6e 3a 20 31 20 6f 6e 20 73 75 63 63 65 73 73 2c 20 30 20 6f | ......:return:.1.on.success,.0.o |
42180 | 6e 20 66 61 69 6c 75 72 65 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 61 73 | n.failure.........""".........as |
421a0 | 73 65 72 74 20 6d 32 2e 78 35 30 39 5f 74 79 70 65 5f 63 68 65 63 6b 28 73 65 6c 66 2e 78 35 30 | sert.m2.x509_type_check(self.x50 |
421c0 | 39 29 2c 20 22 27 78 35 30 39 27 20 74 79 70 65 20 65 72 72 6f 72 22 0a 20 20 20 20 20 20 20 20 | 9),."'x509'.type.error"......... |
421e0 | 72 65 74 75 72 6e 20 6d 32 2e 78 35 30 39 5f 73 65 74 5f 69 73 73 75 65 72 5f 6e 61 6d 65 28 73 | return.m2.x509_set_issuer_name(s |
42200 | 65 6c 66 2e 78 35 30 39 2c 20 6e 61 6d 65 2e 78 35 30 39 5f 6e 61 6d 65 29 0a 0a 20 20 20 20 64 | elf.x509,.name.x509_name)......d |
42220 | 65 66 20 67 65 74 5f 76 65 72 73 69 6f 6e 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 | ef.get_version(self):.........#. |
42240 | 74 79 70 65 3a 20 28 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 20 6d | type:.().->.int.........assert.m |
42260 | 32 2e 78 35 30 39 5f 74 79 70 65 5f 63 68 65 63 6b 28 73 65 6c 66 2e 78 35 30 39 29 2c 20 22 27 | 2.x509_type_check(self.x509),."' |
42280 | 78 35 30 39 27 20 74 79 70 65 20 65 72 72 6f 72 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e | x509'.type.error".........return |
422a0 | 20 6d 32 2e 78 35 30 39 5f 67 65 74 5f 76 65 72 73 69 6f 6e 28 73 65 6c 66 2e 78 35 30 39 29 0a | .m2.x509_get_version(self.x509). |
422c0 | 0a 20 20 20 20 64 65 66 20 67 65 74 5f 73 65 72 69 61 6c 5f 6e 75 6d 62 65 72 28 73 65 6c 66 29 | .....def.get_serial_number(self) |
422e0 | 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 41 53 4e 31 2e 41 53 4e | :.........#.type:.().->.ASN1.ASN |
42300 | 31 5f 49 6e 74 65 67 65 72 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 20 6d 32 2e 78 35 30 39 | 1_Integer.........assert.m2.x509 |
42320 | 5f 74 79 70 65 5f 63 68 65 63 6b 28 73 65 6c 66 2e 78 35 30 39 29 2c 20 22 27 78 35 30 39 27 20 | _type_check(self.x509),."'x509'. |
42340 | 74 79 70 65 20 65 72 72 6f 72 22 0a 20 20 20 20 20 20 20 20 61 73 6e 31 5f 69 6e 74 65 67 65 72 | type.error".........asn1_integer |
42360 | 20 3d 20 6d 32 2e 78 35 30 39 5f 67 65 74 5f 73 65 72 69 61 6c 5f 6e 75 6d 62 65 72 28 73 65 6c | .=.m2.x509_get_serial_number(sel |
42380 | 66 2e 78 35 30 39 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 61 73 6e 31 5f 69 | f.x509).........return.m2.asn1_i |
423a0 | 6e 74 65 67 65 72 5f 67 65 74 28 61 73 6e 31 5f 69 6e 74 65 67 65 72 29 0a 0a 20 20 20 20 64 65 | nteger_get(asn1_integer)......de |
423c0 | 66 20 73 65 74 5f 73 65 72 69 61 6c 5f 6e 75 6d 62 65 72 28 73 65 6c 66 2c 20 73 65 72 69 61 6c | f.set_serial_number(self,.serial |
423e0 | 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 41 53 4e 31 2e 41 53 4e 31 5f 49 6e | ):.........#.type:.(ASN1.ASN1_In |
42400 | 74 65 67 65 72 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 | teger).->.int........."""....... |
42420 | 20 20 53 65 74 20 73 65 72 69 61 6c 20 6e 75 6d 62 65 72 2e 0a 0a 20 20 20 20 20 20 20 20 3a 70 | ..Set.serial.number...........:p |
42440 | 61 72 61 6d 20 73 65 72 69 61 6c 3a 20 20 53 65 72 69 61 6c 20 6e 75 6d 62 65 72 2e 0a 0a 20 20 | aram.serial:..Serial.number..... |
42460 | 20 20 20 20 20 20 3a 72 65 74 75 72 6e 20 31 20 66 6f 72 20 73 75 63 63 65 73 73 20 61 6e 64 20 | ......:return.1.for.success.and. |
42480 | 30 20 66 6f 72 20 66 61 69 6c 75 72 65 2e 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 | 0.for.failure.........."""...... |
424a0 | 20 20 20 61 73 73 65 72 74 20 6d 32 2e 78 35 30 39 5f 74 79 70 65 5f 63 68 65 63 6b 28 73 65 6c | ...assert.m2.x509_type_check(sel |
424c0 | 66 2e 78 35 30 39 29 2c 20 22 27 78 35 30 39 27 20 74 79 70 65 20 65 72 72 6f 72 22 0a 20 20 20 | f.x509),."'x509'.type.error".... |
424e0 | 20 20 20 20 20 23 20 54 68 69 73 20 22 6d 61 67 69 63 61 6c 6c 79 22 20 63 68 61 6e 67 65 73 20 | .....#.This."magically".changes. |
42500 | 73 65 72 69 61 6c 20 73 69 6e 63 65 20 61 73 6e 31 5f 69 6e 74 65 67 65 72 0a 20 20 20 20 20 20 | serial.since.asn1_integer....... |
42520 | 20 20 23 20 69 73 20 43 20 70 6f 69 6e 74 65 72 20 74 6f 20 78 35 30 39 27 73 20 69 6e 74 65 72 | ..#.is.C.pointer.to.x509's.inter |
42540 | 6e 61 6c 20 73 65 72 69 61 6c 20 6e 75 6d 62 65 72 2e 0a 20 20 20 20 20 20 20 20 61 73 6e 31 5f | nal.serial.number..........asn1_ |
42560 | 69 6e 74 65 67 65 72 20 3d 20 6d 32 2e 78 35 30 39 5f 67 65 74 5f 73 65 72 69 61 6c 5f 6e 75 6d | integer.=.m2.x509_get_serial_num |
42580 | 62 65 72 28 73 65 6c 66 2e 78 35 30 39 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 | ber(self.x509).........return.m2 |
425a0 | 2e 61 73 6e 31 5f 69 6e 74 65 67 65 72 5f 73 65 74 28 61 73 6e 31 5f 69 6e 74 65 67 65 72 2c 20 | .asn1_integer_set(asn1_integer,. |
425c0 | 73 65 72 69 61 6c 29 0a 20 20 20 20 20 20 20 20 23 20 58 58 58 20 4f 72 20 73 68 6f 75 6c 64 20 | serial).........#.XXX.Or.should. |
425e0 | 49 20 64 6f 20 74 68 69 73 3f 0a 20 20 20 20 20 20 20 20 23 20 61 73 6e 31 5f 69 6e 74 65 67 65 | I.do.this?.........#.asn1_intege |
42600 | 72 20 3d 20 6d 32 2e 61 73 6e 31 5f 69 6e 74 65 67 65 72 5f 6e 65 77 28 29 0a 20 20 20 20 20 20 | r.=.m2.asn1_integer_new()....... |
42620 | 20 20 23 20 6d 32 2e 61 73 6e 31 5f 69 6e 74 65 67 65 72 5f 73 65 74 28 61 73 6e 31 5f 69 6e 74 | ..#.m2.asn1_integer_set(asn1_int |
42640 | 65 67 65 72 2c 20 73 65 72 69 61 6c 29 0a 20 20 20 20 20 20 20 20 23 20 72 65 74 75 72 6e 20 6d | eger,.serial).........#.return.m |
42660 | 32 2e 78 35 30 39 5f 73 65 74 5f 73 65 72 69 61 6c 5f 6e 75 6d 62 65 72 28 73 65 6c 66 2e 78 35 | 2.x509_set_serial_number(self.x5 |
42680 | 30 39 2c 20 61 73 6e 31 5f 69 6e 74 65 67 65 72 29 0a 0a 20 20 20 20 64 65 66 20 67 65 74 5f 6e | 09,.asn1_integer)......def.get_n |
426a0 | 6f 74 5f 62 65 66 6f 72 65 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a | ot_before(self):.........#.type: |
426c0 | 20 28 29 20 2d 3e 20 41 53 4e 31 2e 41 53 4e 31 5f 54 49 4d 45 0a 20 20 20 20 20 20 20 20 61 73 | .().->.ASN1.ASN1_TIME.........as |
426e0 | 73 65 72 74 20 6d 32 2e 78 35 30 39 5f 74 79 70 65 5f 63 68 65 63 6b 28 73 65 6c 66 2e 78 35 30 | sert.m2.x509_type_check(self.x50 |
42700 | 39 29 2c 20 22 27 78 35 30 39 27 20 74 79 70 65 20 65 72 72 6f 72 22 0a 20 20 20 20 20 20 20 20 | 9),."'x509'.type.error"......... |
42720 | 72 65 74 75 72 6e 20 41 53 4e 31 2e 41 53 4e 31 5f 54 49 4d 45 28 6d 32 2e 78 35 30 39 5f 67 65 | return.ASN1.ASN1_TIME(m2.x509_ge |
42740 | 74 5f 6e 6f 74 5f 62 65 66 6f 72 65 28 73 65 6c 66 2e 78 35 30 39 29 29 0a 0a 20 20 20 20 64 65 | t_not_before(self.x509))......de |
42760 | 66 20 67 65 74 5f 6e 6f 74 5f 61 66 74 65 72 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 | f.get_not_after(self):.........# |
42780 | 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 41 53 4e 31 2e 41 53 4e 31 5f 54 49 4d 45 0a 20 20 20 20 | .type:.().->.ASN1.ASN1_TIME..... |
427a0 | 20 20 20 20 61 73 73 65 72 74 20 6d 32 2e 78 35 30 39 5f 74 79 70 65 5f 63 68 65 63 6b 28 73 65 | ....assert.m2.x509_type_check(se |
427c0 | 6c 66 2e 78 35 30 39 29 2c 20 22 27 78 35 30 39 27 20 74 79 70 65 20 65 72 72 6f 72 22 0a 20 20 | lf.x509),."'x509'.type.error"... |
427e0 | 20 20 20 20 20 20 6f 75 74 20 3d 20 41 53 4e 31 2e 41 53 4e 31 5f 54 49 4d 45 28 6d 32 2e 78 35 | ......out.=.ASN1.ASN1_TIME(m2.x5 |
42800 | 30 39 5f 67 65 74 5f 6e 6f 74 5f 61 66 74 65 72 28 73 65 6c 66 2e 78 35 30 39 29 29 0a 20 20 20 | 09_get_not_after(self.x509)).... |
42820 | 20 20 20 20 20 69 66 20 27 42 61 64 20 74 69 6d 65 20 76 61 6c 75 65 27 20 69 6e 20 73 74 72 28 | .....if.'Bad.time.value'.in.str( |
42840 | 6f 75 74 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 58 35 30 39 45 72 72 6f | out):.............raise.X509Erro |
42860 | 72 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 27 27 4d 32 43 72 79 70 74 6f 20 63 | r(.................'''M2Crypto.c |
42880 | 61 6e 6e 6f 74 20 68 61 6e 64 6c 65 20 64 61 74 65 73 20 61 66 74 65 72 20 79 65 61 72 20 32 30 | annot.handle.dates.after.year.20 |
428a0 | 35 30 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 65 65 20 52 46 43 20 35 32 38 30 | 50..................See.RFC.5280 |
428c0 | 20 34 2e 31 2e 32 2e 35 20 66 6f 72 20 6d 6f 72 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e 0a 20 | .4.1.2.5.for.more.information... |
428e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 27 27 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 | ...............''').........retu |
42900 | 72 6e 20 6f 75 74 0a 0a 20 20 20 20 64 65 66 20 67 65 74 5f 70 75 62 6b 65 79 28 73 65 6c 66 29 | rn.out......def.get_pubkey(self) |
42920 | 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 45 56 50 2e 50 4b 65 79 | :.........#.type:.().->.EVP.PKey |
42940 | 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 20 6d 32 2e 78 35 30 39 5f 74 79 70 65 5f 63 68 65 | .........assert.m2.x509_type_che |
42960 | 63 6b 28 73 65 6c 66 2e 78 35 30 39 29 2c 20 22 27 78 35 30 39 27 20 74 79 70 65 20 65 72 72 6f | ck(self.x509),."'x509'.type.erro |
42980 | 72 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 45 56 50 2e 50 4b 65 79 28 6d 32 2e 78 35 | r".........return.EVP.PKey(m2.x5 |
429a0 | 30 39 5f 67 65 74 5f 70 75 62 6b 65 79 28 73 65 6c 66 2e 78 35 30 39 29 2c 20 5f 70 79 66 72 65 | 09_get_pubkey(self.x509),._pyfre |
429c0 | 65 3d 31 29 0a 0a 20 20 20 20 64 65 66 20 73 65 74 5f 70 75 62 6b 65 79 28 73 65 6c 66 2c 20 70 | e=1)......def.set_pubkey(self,.p |
429e0 | 6b 65 79 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 45 56 50 2e 50 4b 65 79 29 | key):.........#.type:.(EVP.PKey) |
42a00 | 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 53 65 74 20 | .->.int.........""".........Set. |
42a20 | 74 68 65 20 70 75 62 6c 69 63 20 6b 65 79 20 66 6f 72 20 74 68 65 20 63 65 72 74 69 66 69 63 61 | the.public.key.for.the.certifica |
42a40 | 74 65 0a 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 70 6b 65 79 3a 20 50 75 62 6c 69 63 20 | te..........:param.pkey:.Public. |
42a60 | 6b 65 79 0a 0a 20 20 20 20 20 20 20 20 3a 72 65 74 75 72 6e 20 31 20 66 6f 72 20 73 75 63 63 65 | key..........:return.1.for.succe |
42a80 | 73 73 20 61 6e 64 20 30 20 66 6f 72 20 66 61 69 6c 75 72 65 0a 20 20 20 20 20 20 20 20 22 22 22 | ss.and.0.for.failure.........""" |
42aa0 | 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 20 6d 32 2e 78 35 30 39 5f 74 79 70 65 5f 63 68 65 | .........assert.m2.x509_type_che |
42ac0 | 63 6b 28 73 65 6c 66 2e 78 35 30 39 29 2c 20 22 27 78 35 30 39 27 20 74 79 70 65 20 65 72 72 6f | ck(self.x509),."'x509'.type.erro |
42ae0 | 72 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 78 35 30 39 5f 73 65 74 5f 70 75 | r".........return.m2.x509_set_pu |
42b00 | 62 6b 65 79 28 73 65 6c 66 2e 78 35 30 39 2c 20 70 6b 65 79 2e 70 6b 65 79 29 0a 0a 20 20 20 20 | bkey(self.x509,.pkey.pkey)...... |
42b20 | 64 65 66 20 67 65 74 5f 69 73 73 75 65 72 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 | def.get_issuer(self):.........#. |
42b40 | 74 79 70 65 3a 20 28 29 20 2d 3e 20 58 35 30 39 5f 4e 61 6d 65 0a 20 20 20 20 20 20 20 20 61 73 | type:.().->.X509_Name.........as |
42b60 | 73 65 72 74 20 6d 32 2e 78 35 30 39 5f 74 79 70 65 5f 63 68 65 63 6b 28 73 65 6c 66 2e 78 35 30 | sert.m2.x509_type_check(self.x50 |
42b80 | 39 29 2c 20 22 27 78 35 30 39 27 20 74 79 70 65 20 65 72 72 6f 72 22 0a 20 20 20 20 20 20 20 20 | 9),."'x509'.type.error"......... |
42ba0 | 72 65 74 75 72 6e 20 58 35 30 39 5f 4e 61 6d 65 28 6d 32 2e 78 35 30 39 5f 67 65 74 5f 69 73 73 | return.X509_Name(m2.x509_get_iss |
42bc0 | 75 65 72 5f 6e 61 6d 65 28 73 65 6c 66 2e 78 35 30 39 29 29 0a 0a 20 20 20 20 64 65 66 20 73 65 | uer_name(self.x509))......def.se |
42be0 | 74 5f 69 73 73 75 65 72 28 73 65 6c 66 2c 20 6e 61 6d 65 29 3a 0a 20 20 20 20 20 20 20 20 23 20 | t_issuer(self,.name):.........#. |
42c00 | 74 79 70 65 3a 20 28 58 35 30 39 5f 4e 61 6d 65 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 | type:.(X509_Name).->.int........ |
42c20 | 20 22 22 22 0a 20 20 20 20 20 20 20 20 53 65 74 20 69 73 73 75 65 72 20 6e 61 6d 65 2e 0a 0a 20 | .""".........Set.issuer.name.... |
42c40 | 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 6e 61 6d 65 3a 20 20 20 20 73 75 62 6a 65 63 74 4e 61 | .......:param.name:....subjectNa |
42c60 | 6d 65 20 66 69 65 6c 64 2e 0a 0a 20 20 20 20 20 20 20 20 3a 72 65 74 75 72 6e 20 31 20 66 6f 72 | me.field...........:return.1.for |
42c80 | 20 73 75 63 63 65 73 73 20 61 6e 64 20 30 20 66 6f 72 20 66 61 69 6c 75 72 65 0a 20 20 20 20 20 | .success.and.0.for.failure...... |
42ca0 | 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 20 6d 32 2e 78 35 30 39 5f 74 79 | ...""".........assert.m2.x509_ty |
42cc0 | 70 65 5f 63 68 65 63 6b 28 73 65 6c 66 2e 78 35 30 39 29 2c 20 22 27 78 35 30 39 27 20 74 79 70 | pe_check(self.x509),."'x509'.typ |
42ce0 | 65 20 65 72 72 6f 72 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 78 35 30 39 5f | e.error".........return.m2.x509_ |
42d00 | 73 65 74 5f 69 73 73 75 65 72 5f 6e 61 6d 65 28 73 65 6c 66 2e 78 35 30 39 2c 20 6e 61 6d 65 2e | set_issuer_name(self.x509,.name. |
42d20 | 78 35 30 39 5f 6e 61 6d 65 29 0a 0a 20 20 20 20 64 65 66 20 67 65 74 5f 73 75 62 6a 65 63 74 28 | x509_name)......def.get_subject( |
42d40 | 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 58 35 30 | self):.........#.type:.().->.X50 |
42d60 | 39 5f 4e 61 6d 65 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 20 6d 32 2e 78 35 30 39 5f 74 79 | 9_Name.........assert.m2.x509_ty |
42d80 | 70 65 5f 63 68 65 63 6b 28 73 65 6c 66 2e 78 35 30 39 29 2c 20 22 27 78 35 30 39 27 20 74 79 70 | pe_check(self.x509),."'x509'.typ |
42da0 | 65 20 65 72 72 6f 72 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 58 35 30 39 5f 4e 61 6d | e.error".........return.X509_Nam |
42dc0 | 65 28 6d 32 2e 78 35 30 39 5f 67 65 74 5f 73 75 62 6a 65 63 74 5f 6e 61 6d 65 28 73 65 6c 66 2e | e(m2.x509_get_subject_name(self. |
42de0 | 78 35 30 39 29 29 0a 0a 20 20 20 20 64 65 66 20 73 65 74 5f 73 75 62 6a 65 63 74 28 73 65 6c 66 | x509))......def.set_subject(self |
42e00 | 2c 20 6e 61 6d 65 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 58 35 30 39 5f 4e | ,.name):.........#.type:.(X509_N |
42e20 | 61 6d 65 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 | ame).->.int........."""......... |
42e40 | 53 65 74 20 73 75 62 6a 65 63 74 20 6e 61 6d 65 2e 0a 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 | Set.subject.name...........:para |
42e60 | 6d 20 6e 61 6d 65 3a 20 20 20 20 73 75 62 6a 65 63 74 4e 61 6d 65 20 66 69 65 6c 64 2e 0a 0a 20 | m.name:....subjectName.field.... |
42e80 | 20 20 20 20 20 20 20 3a 72 65 74 75 72 6e 20 31 20 66 6f 72 20 73 75 63 63 65 73 73 20 61 6e 64 | .......:return.1.for.success.and |
42ea0 | 20 30 20 66 6f 72 20 66 61 69 6c 75 72 65 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 | .0.for.failure........."""...... |
42ec0 | 20 20 20 61 73 73 65 72 74 20 6d 32 2e 78 35 30 39 5f 74 79 70 65 5f 63 68 65 63 6b 28 73 65 6c | ...assert.m2.x509_type_check(sel |
42ee0 | 66 2e 78 35 30 39 29 2c 20 22 27 78 35 30 39 27 20 74 79 70 65 20 65 72 72 6f 72 22 0a 20 20 20 | f.x509),."'x509'.type.error".... |
42f00 | 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 78 35 30 39 5f 73 65 74 5f 73 75 62 6a 65 63 74 5f | .....return.m2.x509_set_subject_ |
42f20 | 6e 61 6d 65 28 73 65 6c 66 2e 78 35 30 39 2c 20 6e 61 6d 65 2e 78 35 30 39 5f 6e 61 6d 65 29 0a | name(self.x509,.name.x509_name). |
42f40 | 0a 20 20 20 20 64 65 66 20 61 64 64 5f 65 78 74 28 73 65 6c 66 2c 20 65 78 74 29 3a 0a 20 20 20 | .....def.add_ext(self,.ext):.... |
42f60 | 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 58 35 30 39 5f 45 78 74 65 6e 73 69 6f 6e 29 20 2d 3e | .....#.type:.(X509_Extension).-> |
42f80 | 20 69 6e 74 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 41 64 64 20 58 35 30 | .int.........""".........Add.X50 |
42fa0 | 39 20 65 78 74 65 6e 73 69 6f 6e 20 74 6f 20 74 68 69 73 20 63 65 72 74 69 66 69 63 61 74 65 2e | 9.extension.to.this.certificate. |
42fc0 | 0a 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 65 78 74 3a 20 20 20 20 45 78 74 65 6e 73 69 | ..........:param.ext:....Extensi |
42fe0 | 6f 6e 0a 0a 20 20 20 20 20 20 20 20 3a 72 65 74 75 72 6e 20 31 20 66 6f 72 20 73 75 63 63 65 73 | on..........:return.1.for.succes |
43000 | 73 20 61 6e 64 20 30 20 66 6f 72 20 66 61 69 6c 75 72 65 0a 20 20 20 20 20 20 20 20 22 22 22 0a | s.and.0.for.failure.........""". |
43020 | 20 20 20 20 20 20 20 20 61 73 73 65 72 74 20 6d 32 2e 78 35 30 39 5f 74 79 70 65 5f 63 68 65 63 | ........assert.m2.x509_type_chec |
43040 | 6b 28 73 65 6c 66 2e 78 35 30 39 29 2c 20 22 27 78 35 30 39 27 20 74 79 70 65 20 65 72 72 6f 72 | k(self.x509),."'x509'.type.error |
43060 | 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 78 35 30 39 5f 61 64 64 5f 65 78 74 | ".........return.m2.x509_add_ext |
43080 | 28 73 65 6c 66 2e 78 35 30 39 2c 20 65 78 74 2e 78 35 30 39 5f 65 78 74 2c 20 2d 31 29 0a 0a 20 | (self.x509,.ext.x509_ext,.-1)... |
430a0 | 20 20 20 64 65 66 20 67 65 74 5f 65 78 74 28 73 65 6c 66 2c 20 6e 61 6d 65 29 3a 0a 20 20 20 20 | ...def.get_ext(self,.name):..... |
430c0 | 20 20 20 20 23 20 74 79 70 65 3a 20 28 73 74 72 29 20 2d 3e 20 58 35 30 39 5f 45 78 74 65 6e 73 | ....#.type:.(str).->.X509_Extens |
430e0 | 69 6f 6e 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 47 65 74 20 58 35 30 39 | ion.........""".........Get.X509 |
43100 | 20 65 78 74 65 6e 73 69 6f 6e 20 62 79 20 6e 61 6d 65 2e 0a 0a 20 20 20 20 20 20 20 20 3a 70 61 | .extension.by.name...........:pa |
43120 | 72 61 6d 20 6e 61 6d 65 3a 20 20 20 20 4e 61 6d 65 20 6f 66 20 74 68 65 20 65 78 74 65 6e 73 69 | ram.name:....Name.of.the.extensi |
43140 | 6f 6e 0a 0a 20 20 20 20 20 20 20 20 3a 72 65 74 75 72 6e 3a 20 20 20 20 20 20 20 58 35 30 39 5f | on..........:return:.......X509_ |
43160 | 45 78 74 65 6e 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 23 20 | Extension.........""".........#. |
43180 | 4f 70 74 69 6d 69 7a 61 74 69 6f 6e 73 20 74 6f 20 72 65 64 75 63 65 20 61 74 74 72 69 62 75 74 | Optimizations.to.reduce.attribut |
431a0 | 65 20 61 63 63 65 73 73 65 73 0a 20 20 20 20 20 20 20 20 6d 32 78 35 30 39 5f 67 65 74 5f 65 78 | e.accesses.........m2x509_get_ex |
431c0 | 74 20 3d 20 6d 32 2e 78 35 30 39 5f 67 65 74 5f 65 78 74 0a 20 20 20 20 20 20 20 20 6d 32 78 35 | t.=.m2.x509_get_ext.........m2x5 |
431e0 | 30 39 5f 65 78 74 65 6e 73 69 6f 6e 5f 67 65 74 5f 6e 61 6d 65 20 3d 20 6d 32 2e 78 35 30 39 5f | 09_extension_get_name.=.m2.x509_ |
43200 | 65 78 74 65 6e 73 69 6f 6e 5f 67 65 74 5f 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 78 35 30 39 20 | extension_get_name.........x509. |
43220 | 3d 20 73 65 6c 66 2e 78 35 30 39 0a 0a 20 20 20 20 20 20 20 20 6e 61 6d 65 20 3d 20 73 69 78 2e | =.self.x509..........name.=.six. |
43240 | 65 6e 73 75 72 65 5f 62 69 6e 61 72 79 28 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 66 6f 72 20 | ensure_binary(name).........for. |
43260 | 69 20 69 6e 20 72 61 6e 67 65 28 6d 32 2e 78 35 30 39 5f 67 65 74 5f 65 78 74 5f 63 6f 75 6e 74 | i.in.range(m2.x509_get_ext_count |
43280 | 28 78 35 30 39 29 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 78 74 5f 70 74 72 20 3d 20 6d | (x509)):.............ext_ptr.=.m |
432a0 | 32 78 35 30 39 5f 67 65 74 5f 65 78 74 28 78 35 30 39 2c 20 69 29 0a 20 20 20 20 20 20 20 20 20 | 2x509_get_ext(x509,.i).......... |
432c0 | 20 20 20 69 66 20 6d 32 78 35 30 39 5f 65 78 74 65 6e 73 69 6f 6e 5f 67 65 74 5f 6e 61 6d 65 28 | ...if.m2x509_extension_get_name( |
432e0 | 65 78 74 5f 70 74 72 29 20 3d 3d 20 6e 61 6d 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ext_ptr).==.name:............... |
43300 | 20 20 72 65 74 75 72 6e 20 58 35 30 39 5f 45 78 74 65 6e 73 69 6f 6e 28 65 78 74 5f 70 74 72 2c | ..return.X509_Extension(ext_ptr, |
43320 | 20 5f 70 79 66 72 65 65 3d 30 29 0a 0a 20 20 20 20 20 20 20 20 72 61 69 73 65 20 4c 6f 6f 6b 75 | ._pyfree=0)..........raise.Looku |
43340 | 70 45 72 72 6f 72 0a 0a 20 20 20 20 64 65 66 20 67 65 74 5f 65 78 74 5f 61 74 28 73 65 6c 66 2c | pError......def.get_ext_at(self, |
43360 | 20 69 6e 64 65 78 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 69 6e 74 29 20 2d | .index):.........#.type:.(int).- |
43380 | 3e 20 58 35 30 39 5f 45 78 74 65 6e 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 | >.X509_Extension.........""".... |
433a0 | 20 20 20 20 20 47 65 74 20 58 35 30 39 20 65 78 74 65 6e 73 69 6f 6e 20 62 79 20 69 6e 64 65 78 | .....Get.X509.extension.by.index |
433c0 | 2e 0a 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 69 6e 64 65 78 3a 20 20 20 20 4e 61 6d 65 | ...........:param.index:....Name |
433e0 | 20 6f 66 20 74 68 65 20 65 78 74 65 6e 73 69 6f 6e 0a 0a 20 20 20 20 20 20 20 20 3a 72 65 74 75 | .of.the.extension..........:retu |
43400 | 72 6e 3a 20 20 20 20 20 20 20 20 58 35 30 39 5f 45 78 74 65 6e 73 69 6f 6e 0a 20 20 20 20 20 20 | rn:........X509_Extension....... |
43420 | 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 69 66 20 69 6e 64 65 78 20 3c 20 30 20 6f 72 20 69 6e | ..""".........if.index.<.0.or.in |
43440 | 64 65 78 20 3e 3d 20 73 65 6c 66 2e 67 65 74 5f 65 78 74 5f 63 6f 75 6e 74 28 29 3a 0a 20 20 20 | dex.>=.self.get_ext_count():.... |
43460 | 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 49 6e 64 65 78 45 72 72 6f 72 0a 0a 20 20 20 20 20 | .........raise.IndexError....... |
43480 | 20 20 20 72 65 74 75 72 6e 20 58 35 30 39 5f 45 78 74 65 6e 73 69 6f 6e 28 6d 32 2e 78 35 30 39 | ...return.X509_Extension(m2.x509 |
434a0 | 5f 67 65 74 5f 65 78 74 28 73 65 6c 66 2e 78 35 30 39 2c 20 69 6e 64 65 78 29 2c 0a 20 20 20 20 | _get_ext(self.x509,.index),..... |
434c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5f 70 79 66 72 65 | .........................._pyfre |
434e0 | 65 3d 30 29 0a 0a 20 20 20 20 64 65 66 20 67 65 74 5f 65 78 74 5f 63 6f 75 6e 74 28 73 65 6c 66 | e=0)......def.get_ext_count(self |
43500 | 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 69 6e 74 0a 20 20 20 | ):.........#.type:.().->.int.... |
43520 | 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 47 65 74 20 58 35 30 39 20 65 78 74 65 6e 73 | .....""".........Get.X509.extens |
43540 | 69 6f 6e 20 63 6f 75 6e 74 2e 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 72 | ion.count..........""".........r |
43560 | 65 74 75 72 6e 20 6d 32 2e 78 35 30 39 5f 67 65 74 5f 65 78 74 5f 63 6f 75 6e 74 28 73 65 6c 66 | eturn.m2.x509_get_ext_count(self |
43580 | 2e 78 35 30 39 29 0a 0a 20 20 20 20 64 65 66 20 73 69 67 6e 28 73 65 6c 66 2c 20 70 6b 65 79 2c | .x509)......def.sign(self,.pkey, |
435a0 | 20 6d 64 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 45 56 50 2e 50 4b 65 79 2c | .md):.........#.type:.(EVP.PKey, |
435c0 | 20 73 74 72 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 | .str).->.int........."""........ |
435e0 | 20 53 69 67 6e 20 74 68 65 20 63 65 72 74 69 66 69 63 61 74 65 2e 0a 0a 20 20 20 20 20 20 20 20 | .Sign.the.certificate........... |
43600 | 3a 70 61 72 61 6d 20 70 6b 65 79 3a 20 50 75 62 6c 69 63 20 6b 65 79 0a 0a 20 20 20 20 20 20 20 | :param.pkey:.Public.key......... |
43620 | 20 3a 70 61 72 61 6d 20 6d 64 3a 20 20 20 4d 65 73 73 61 67 65 20 64 69 67 65 73 74 20 61 6c 67 | .:param.md:...Message.digest.alg |
43640 | 6f 72 69 74 68 6d 20 74 6f 20 75 73 65 20 66 6f 72 20 73 69 67 6e 69 6e 67 2c 0a 20 20 20 20 20 | orithm.to.use.for.signing,...... |
43660 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 65 78 61 6d 70 6c 65 20 27 73 68 61 | ................for.example.'sha |
43680 | 31 27 2e 0a 0a 20 20 20 20 20 20 20 20 3a 72 65 74 75 72 6e 20 69 6e 74 0a 20 20 20 20 20 20 20 | 1'...........:return.int........ |
436a0 | 20 22 22 22 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 20 6d 32 2e 78 35 30 39 5f 74 79 70 65 | .""".........assert.m2.x509_type |
436c0 | 5f 63 68 65 63 6b 28 73 65 6c 66 2e 78 35 30 39 29 2c 20 22 27 78 35 30 39 27 20 74 79 70 65 20 | _check(self.x509),."'x509'.type. |
436e0 | 65 72 72 6f 72 22 0a 20 20 20 20 20 20 20 20 6d 64 61 20 3d 20 67 65 74 61 74 74 72 28 6d 32 2c | error".........mda.=.getattr(m2, |
43700 | 20 6d 64 2c 20 4e 6f 6e 65 29 0a 20 20 20 20 20 20 20 20 69 66 20 6d 64 61 20 69 73 20 4e 6f 6e | .md,.None).........if.mda.is.Non |
43720 | 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 56 61 6c 75 65 45 72 72 6f 72 28 | e:.............raise.ValueError( |
43740 | 27 75 6e 6b 6e 6f 77 6e 20 6d 65 73 73 61 67 65 20 64 69 67 65 73 74 27 2c 20 6d 64 29 0a 20 20 | 'unknown.message.digest',.md)... |
43760 | 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 78 35 30 39 5f 73 69 67 6e 28 73 65 6c 66 2e 78 | ......return.m2.x509_sign(self.x |
43780 | 35 30 39 2c 20 70 6b 65 79 2e 70 6b 65 79 2c 20 6d 64 61 28 29 29 0a 0a 20 20 20 20 64 65 66 20 | 509,.pkey.pkey,.mda())......def. |
437a0 | 76 65 72 69 66 79 28 73 65 6c 66 2c 20 70 6b 65 79 3d 4e 6f 6e 65 29 3a 0a 20 20 20 20 20 20 20 | verify(self,.pkey=None):........ |
437c0 | 20 23 20 74 79 70 65 3a 20 28 4f 70 74 69 6f 6e 61 6c 5b 45 56 50 2e 50 4b 65 79 5d 29 20 2d 3e | .#.type:.(Optional[EVP.PKey]).-> |
437e0 | 20 69 6e 74 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 20 6d 32 2e 78 35 30 39 5f 74 79 70 65 | .int.........assert.m2.x509_type |
43800 | 5f 63 68 65 63 6b 28 73 65 6c 66 2e 78 35 30 39 29 2c 20 22 27 78 35 30 39 27 20 74 79 70 65 20 | _check(self.x509),."'x509'.type. |
43820 | 65 72 72 6f 72 22 0a 20 20 20 20 20 20 20 20 69 66 20 70 6b 65 79 3a 0a 20 20 20 20 20 20 20 20 | error".........if.pkey:......... |
43840 | 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 78 35 30 39 5f 76 65 72 69 66 79 28 73 65 6c 66 2e 78 | ....return.m2.x509_verify(self.x |
43860 | 35 30 39 2c 20 70 6b 65 79 2e 70 6b 65 79 29 0a 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 | 509,.pkey.pkey).........else:... |
43880 | 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 78 35 30 39 5f 76 65 72 69 66 79 28 | ..........return.m2.x509_verify( |
438a0 | 73 65 6c 66 2e 78 35 30 39 2c 20 73 65 6c 66 2e 67 65 74 5f 70 75 62 6b 65 79 28 29 2e 70 6b 65 | self.x509,.self.get_pubkey().pke |
438c0 | 79 29 0a 0a 20 20 20 20 64 65 66 20 63 68 65 63 6b 5f 63 61 28 73 65 6c 66 29 3a 0a 20 20 20 20 | y)......def.check_ca(self):..... |
438e0 | 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 22 22 | ....#.type:.().->.int........."" |
43900 | 22 0a 20 20 20 20 20 20 20 20 43 68 65 63 6b 20 69 66 20 74 68 65 20 63 65 72 74 69 66 69 63 61 | ".........Check.if.the.certifica |
43920 | 74 65 20 69 73 20 61 20 43 65 72 74 69 66 69 63 61 74 65 20 41 75 74 68 6f 72 69 74 79 20 28 43 | te.is.a.Certificate.Authority.(C |
43940 | 41 29 20 63 65 72 74 69 66 69 63 61 74 65 2e 0a 0a 20 20 20 20 20 20 20 20 3a 72 65 74 75 72 6e | A).certificate...........:return |
43960 | 3a 20 30 20 69 66 20 74 68 65 20 63 65 72 74 69 66 69 63 61 74 65 20 69 73 20 6e 6f 74 20 43 41 | :.0.if.the.certificate.is.not.CA |
43980 | 2c 20 6e 6f 6e 7a 65 72 6f 20 6f 74 68 65 72 77 69 73 65 2e 0a 0a 20 20 20 20 20 20 20 20 3a 72 | ,.nonzero.otherwise...........:r |
439a0 | 65 71 75 69 72 65 73 3a 20 4f 70 65 6e 53 53 4c 20 30 2e 39 2e 38 20 6f 72 20 6e 65 77 65 72 0a | equires:.OpenSSL.0.9.8.or.newer. |
439c0 | 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 78 35 | ........""".........return.m2.x5 |
439e0 | 30 39 5f 63 68 65 63 6b 5f 63 61 28 73 65 6c 66 2e 78 35 30 39 29 0a 0a 20 20 20 20 64 65 66 20 | 09_check_ca(self.x509)......def. |
43a00 | 63 68 65 63 6b 5f 70 75 72 70 6f 73 65 28 73 65 6c 66 2c 20 69 64 2c 20 63 61 29 3a 0a 20 20 20 | check_purpose(self,.id,.ca):.... |
43a20 | 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 69 6e 74 2c 20 69 6e 74 29 20 2d 3e 20 69 6e 74 0a 20 | .....#.type:.(int,.int).->.int.. |
43a40 | 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 43 68 65 63 6b 20 69 66 20 74 68 65 20 | .......""".........Check.if.the. |
43a60 | 63 65 72 74 69 66 69 63 61 74 65 27 73 20 70 75 72 70 6f 73 65 20 6d 61 74 63 68 65 73 20 74 68 | certificate's.purpose.matches.th |
43a80 | 65 20 61 73 6b 65 64 20 70 75 72 70 6f 73 65 2e 0a 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d | e.asked.purpose...........:param |
43aa0 | 20 69 64 3a 20 50 75 72 70 6f 73 65 20 69 64 2e 20 53 65 65 20 58 35 30 39 5f 50 55 52 50 4f 53 | .id:.Purpose.id..See.X509_PURPOS |
43ac0 | 45 5f 2a 20 63 6f 6e 73 74 61 6e 74 73 2e 0a 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 63 | E_*.constants...........:param.c |
43ae0 | 61 3a 20 31 20 69 66 20 74 68 65 20 63 65 72 74 69 66 69 63 61 74 65 20 73 68 6f 75 6c 64 20 62 | a:.1.if.the.certificate.should.b |
43b00 | 65 20 43 41 2c 20 30 20 6f 74 68 65 72 77 69 73 65 2e 0a 0a 20 20 20 20 20 20 20 20 3a 72 65 74 | e.CA,.0.otherwise...........:ret |
43b20 | 75 72 6e 3a 20 30 20 69 66 20 74 68 65 20 63 65 72 74 69 66 69 63 61 74 65 20 70 75 72 70 6f 73 | urn:.0.if.the.certificate.purpos |
43b40 | 65 20 64 6f 65 73 20 6e 6f 74 20 6d 61 74 63 68 2c 20 6e 6f 6e 7a 65 72 6f 0a 20 20 20 20 20 20 | e.does.not.match,.nonzero....... |
43b60 | 20 20 20 20 20 20 20 20 20 20 20 6f 74 68 65 72 77 69 73 65 2e 0a 20 20 20 20 20 20 20 20 22 22 | ...........otherwise.........."" |
43b80 | 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 78 35 30 39 5f 63 68 65 63 6b 5f 70 | ".........return.m2.x509_check_p |
43ba0 | 75 72 70 6f 73 65 28 73 65 6c 66 2e 78 35 30 39 2c 20 69 64 2c 20 63 61 29 0a 0a 20 20 20 20 64 | urpose(self.x509,.id,.ca)......d |
43bc0 | 65 66 20 67 65 74 5f 66 69 6e 67 65 72 70 72 69 6e 74 28 73 65 6c 66 2c 20 6d 64 3d 27 6d 64 35 | ef.get_fingerprint(self,.md='md5 |
43be0 | 27 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 73 74 72 29 20 2d 3e 20 73 74 72 | '):.........#.type:.(str).->.str |
43c00 | 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 47 65 74 20 74 68 65 20 66 69 6e | .........""".........Get.the.fin |
43c20 | 67 65 72 70 72 69 6e 74 20 6f 66 20 74 68 65 20 63 65 72 74 69 66 69 63 61 74 65 2e 0a 0a 20 20 | gerprint.of.the.certificate..... |
43c40 | 20 20 20 20 20 20 3a 70 61 72 61 6d 20 6d 64 3a 20 4d 65 73 73 61 67 65 20 64 69 67 65 73 74 20 | ......:param.md:.Message.digest. |
43c60 | 61 6c 67 6f 72 69 74 68 6d 20 74 6f 20 75 73 65 2e 0a 0a 20 20 20 20 20 20 20 20 3a 72 65 74 75 | algorithm.to.use...........:retu |
43c80 | 72 6e 3a 20 20 20 53 74 72 69 6e 67 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 20 66 69 6e 67 | rn:...String.containing.the.fing |
43ca0 | 65 72 70 72 69 6e 74 20 69 6e 20 68 65 78 20 66 6f 72 6d 61 74 2e 0a 20 20 20 20 20 20 20 20 22 | erprint.in.hex.format.........." |
43cc0 | 22 22 0a 20 20 20 20 20 20 20 20 64 65 72 20 3d 20 73 65 6c 66 2e 61 73 5f 64 65 72 28 29 0a 20 | "".........der.=.self.as_der().. |
43ce0 | 20 20 20 20 20 20 20 6d 64 20 3d 20 45 56 50 2e 4d 65 73 73 61 67 65 44 69 67 65 73 74 28 6d 64 | .......md.=.EVP.MessageDigest(md |
43d00 | 29 0a 20 20 20 20 20 20 20 20 6d 64 2e 75 70 64 61 74 65 28 64 65 72 29 0a 20 20 20 20 20 20 20 | ).........md.update(der)........ |
43d20 | 20 64 69 67 65 73 74 20 3d 20 6d 64 2e 66 69 6e 61 6c 28 29 0a 20 20 20 20 20 20 20 20 72 65 74 | .digest.=.md.final().........ret |
43d40 | 75 72 6e 20 73 69 78 2e 65 6e 73 75 72 65 5f 74 65 78 74 28 62 69 6e 61 73 63 69 69 2e 68 65 78 | urn.six.ensure_text(binascii.hex |
43d60 | 6c 69 66 79 28 64 69 67 65 73 74 29 2e 75 70 70 65 72 28 29 29 0a 0a 0a 64 65 66 20 6c 6f 61 64 | lify(digest).upper())...def.load |
43d80 | 5f 63 65 72 74 28 66 69 6c 65 2c 20 66 6f 72 6d 61 74 3d 46 4f 52 4d 41 54 5f 50 45 4d 29 3a 0a | _cert(file,.format=FORMAT_PEM):. |
43da0 | 20 20 20 20 23 20 74 79 70 65 3a 20 28 41 6e 79 53 74 72 2c 20 69 6e 74 29 20 2d 3e 20 58 35 30 | ....#.type:.(AnyStr,.int).->.X50 |
43dc0 | 39 0a 20 20 20 20 22 22 22 0a 20 20 20 20 4c 6f 61 64 20 63 65 72 74 69 66 69 63 61 74 65 20 66 | 9.....""".....Load.certificate.f |
43de0 | 72 6f 6d 20 66 69 6c 65 2e 0a 0a 20 20 20 20 3a 70 61 72 61 6d 20 66 69 6c 65 3a 20 4e 61 6d 65 | rom.file.......:param.file:.Name |
43e00 | 20 6f 66 20 66 69 6c 65 20 63 6f 6e 74 61 69 6e 69 6e 67 20 63 65 72 74 69 66 69 63 61 74 65 20 | .of.file.containing.certificate. |
43e20 | 69 6e 20 65 69 74 68 65 72 20 44 45 52 20 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | in.either.DER.or................ |
43e40 | 20 20 50 45 4d 20 66 6f 72 6d 61 74 2e 0a 0a 20 20 20 20 3a 70 61 72 61 6d 20 66 6f 72 6d 61 74 | ..PEM.format.......:param.format |
43e60 | 3a 20 44 65 73 63 72 69 62 65 73 20 74 68 65 20 66 6f 72 6d 61 74 20 6f 66 20 74 68 65 20 66 69 | :.Describes.the.format.of.the.fi |
43e80 | 6c 65 20 74 6f 20 62 65 20 6c 6f 61 64 65 64 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | le.to.be.loaded,................ |
43ea0 | 20 20 20 20 65 69 74 68 65 72 20 50 45 4d 20 6f 72 20 44 45 52 2e 0a 0a 20 20 20 20 3a 72 65 74 | ....either.PEM.or.DER.......:ret |
43ec0 | 75 72 6e 3a 20 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 20 6f 62 6a 65 63 74 2e 0a | urn:.M2Crypto.X509.X509.object.. |
43ee0 | 20 20 20 20 22 22 22 0a 20 20 20 20 77 69 74 68 20 42 49 4f 2e 6f 70 65 6e 66 69 6c 65 28 66 69 | ....""".....with.BIO.openfile(fi |
43f00 | 6c 65 29 20 61 73 20 62 69 6f 3a 0a 20 20 20 20 20 20 20 20 69 66 20 66 6f 72 6d 61 74 20 3d 3d | le).as.bio:.........if.format.== |
43f20 | 20 46 4f 52 4d 41 54 5f 50 45 4d 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 | .FORMAT_PEM:.............return. |
43f40 | 6c 6f 61 64 5f 63 65 72 74 5f 62 69 6f 28 62 69 6f 29 0a 20 20 20 20 20 20 20 20 65 6c 69 66 20 | load_cert_bio(bio).........elif. |
43f60 | 66 6f 72 6d 61 74 20 3d 3d 20 46 4f 52 4d 41 54 5f 44 45 52 3a 0a 20 20 20 20 20 20 20 20 20 20 | format.==.FORMAT_DER:........... |
43f80 | 20 20 63 70 74 72 20 3d 20 6d 32 2e 64 32 69 5f 78 35 30 39 28 62 69 6f 2e 5f 70 74 72 28 29 29 | ..cptr.=.m2.d2i_x509(bio._ptr()) |
43fa0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 58 35 30 39 28 63 70 74 72 2c 20 5f | .............return.X509(cptr,._ |
43fc0 | 70 79 66 72 65 65 3d 31 29 0a 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 | pyfree=1).........else:......... |
43fe0 | 20 20 20 20 72 61 69 73 65 20 56 61 6c 75 65 45 72 72 6f 72 28 0a 20 20 20 20 20 20 20 20 20 20 | ....raise.ValueError(........... |
44000 | 20 20 20 20 20 20 22 55 6e 6b 6e 6f 77 6e 20 66 6f 72 6d 61 74 2e 20 4d 75 73 74 20 62 65 20 65 | ......"Unknown.format..Must.be.e |
44020 | 69 74 68 65 72 20 46 4f 52 4d 41 54 5f 44 45 52 20 6f 72 20 46 4f 52 4d 41 54 5f 50 45 4d 22 29 | ither.FORMAT_DER.or.FORMAT_PEM") |
44040 | 0a 0a 0a 64 65 66 20 6c 6f 61 64 5f 63 65 72 74 5f 62 69 6f 28 62 69 6f 2c 20 66 6f 72 6d 61 74 | ...def.load_cert_bio(bio,.format |
44060 | 3d 46 4f 52 4d 41 54 5f 50 45 4d 29 3a 0a 20 20 20 20 23 20 74 79 70 65 3a 20 28 42 49 4f 2e 42 | =FORMAT_PEM):.....#.type:.(BIO.B |
44080 | 49 4f 2c 20 69 6e 74 29 20 2d 3e 20 58 35 30 39 0a 20 20 20 20 22 22 22 0a 20 20 20 20 4c 6f 61 | IO,.int).->.X509.....""".....Loa |
440a0 | 64 20 63 65 72 74 69 66 69 63 61 74 65 20 66 72 6f 6d 20 61 20 62 69 6f 2e 0a 0a 20 20 20 20 3a | d.certificate.from.a.bio.......: |
440c0 | 70 61 72 61 6d 20 62 69 6f 3a 20 42 49 4f 20 70 6f 69 6e 74 69 6e 67 20 61 74 20 61 20 63 65 72 | param.bio:.BIO.pointing.at.a.cer |
440e0 | 74 69 66 69 63 61 74 65 20 69 6e 20 65 69 74 68 65 72 20 44 45 52 20 6f 72 20 50 45 4d 20 66 6f | tificate.in.either.DER.or.PEM.fo |
44100 | 72 6d 61 74 2e 0a 0a 20 20 20 20 3a 70 61 72 61 6d 20 66 6f 72 6d 61 74 3a 20 44 65 73 63 72 69 | rmat.......:param.format:.Descri |
44120 | 62 65 73 20 74 68 65 20 66 6f 72 6d 61 74 20 6f 66 20 74 68 65 20 63 65 72 74 20 74 6f 20 62 65 | bes.the.format.of.the.cert.to.be |
44140 | 20 6c 6f 61 64 65 64 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 69 74 68 | .loaded,....................eith |
44160 | 65 72 20 50 45 4d 20 6f 72 20 44 45 52 20 28 76 69 61 20 63 6f 6e 73 74 61 6e 74 73 20 46 4f 52 | er.PEM.or.DER.(via.constants.FOR |
44180 | 4d 41 54 5f 50 45 4d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 6e 64 20 46 | MAT_PEM....................and.F |
441a0 | 4f 52 4d 41 54 5f 46 4f 52 4d 41 54 5f 44 45 52 29 0a 0a 20 20 20 20 3a 72 65 74 75 72 6e 3a 20 | ORMAT_FORMAT_DER)......:return:. |
441c0 | 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 20 6f 62 6a 65 63 74 2e 0a 20 20 20 20 22 | M2Crypto.X509.X509.object......" |
441e0 | 22 22 0a 20 20 20 20 69 66 20 66 6f 72 6d 61 74 20 3d 3d 20 46 4f 52 4d 41 54 5f 50 45 4d 3a 0a | "".....if.format.==.FORMAT_PEM:. |
44200 | 20 20 20 20 20 20 20 20 63 70 74 72 20 3d 20 6d 32 2e 78 35 30 39 5f 72 65 61 64 5f 70 65 6d 28 | ........cptr.=.m2.x509_read_pem( |
44220 | 62 69 6f 2e 5f 70 74 72 28 29 29 0a 20 20 20 20 65 6c 69 66 20 66 6f 72 6d 61 74 20 3d 3d 20 46 | bio._ptr()).....elif.format.==.F |
44240 | 4f 52 4d 41 54 5f 44 45 52 3a 0a 20 20 20 20 20 20 20 20 63 70 74 72 20 3d 20 6d 32 2e 64 32 69 | ORMAT_DER:.........cptr.=.m2.d2i |
44260 | 5f 78 35 30 39 28 62 69 6f 2e 5f 70 74 72 28 29 29 0a 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 | _x509(bio._ptr()).....else:..... |
44280 | 20 20 20 20 72 61 69 73 65 20 56 61 6c 75 65 45 72 72 6f 72 28 0a 20 20 20 20 20 20 20 20 20 20 | ....raise.ValueError(........... |
442a0 | 20 20 22 55 6e 6b 6e 6f 77 6e 20 66 6f 72 6d 61 74 2e 20 4d 75 73 74 20 62 65 20 65 69 74 68 65 | .."Unknown.format..Must.be.eithe |
442c0 | 72 20 46 4f 52 4d 41 54 5f 44 45 52 20 6f 72 20 46 4f 52 4d 41 54 5f 50 45 4d 22 29 0a 20 20 20 | r.FORMAT_DER.or.FORMAT_PEM").... |
442e0 | 20 72 65 74 75 72 6e 20 58 35 30 39 28 63 70 74 72 2c 20 5f 70 79 66 72 65 65 3d 31 29 0a 0a 0a | .return.X509(cptr,._pyfree=1)... |
44300 | 64 65 66 20 6c 6f 61 64 5f 63 65 72 74 5f 73 74 72 69 6e 67 28 73 74 72 69 6e 67 2c 20 66 6f 72 | def.load_cert_string(string,.for |
44320 | 6d 61 74 3d 46 4f 52 4d 41 54 5f 50 45 4d 29 3a 0a 20 20 20 20 23 20 74 79 70 65 3a 20 28 41 6e | mat=FORMAT_PEM):.....#.type:.(An |
44340 | 79 53 74 72 2c 20 69 6e 74 29 20 2d 3e 20 58 35 30 39 0a 20 20 20 20 22 22 22 0a 20 20 20 20 4c | yStr,.int).->.X509.....""".....L |
44360 | 6f 61 64 20 63 65 72 74 69 66 69 63 61 74 65 20 66 72 6f 6d 20 61 20 73 74 72 69 6e 67 2e 0a 0a | oad.certificate.from.a.string... |
44380 | 20 20 20 20 3a 70 61 72 61 6d 20 73 74 72 69 6e 67 3a 20 53 74 72 69 6e 67 20 63 6f 6e 74 61 69 | ....:param.string:.String.contai |
443a0 | 6e 69 6e 67 20 61 20 63 65 72 74 69 66 69 63 61 74 65 20 69 6e 20 65 69 74 68 65 72 20 44 45 52 | ning.a.certificate.in.either.DER |
443c0 | 20 6f 72 20 50 45 4d 20 66 6f 72 6d 61 74 2e 0a 0a 20 20 20 20 3a 70 61 72 61 6d 20 66 6f 72 6d | .or.PEM.format.......:param.form |
443e0 | 61 74 3a 20 44 65 73 63 72 69 62 65 73 20 74 68 65 20 66 6f 72 6d 61 74 20 6f 66 20 74 68 65 20 | at:.Describes.the.format.of.the. |
44400 | 63 65 72 74 20 74 6f 20 62 65 20 6c 6f 61 64 65 64 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | cert.to.be.loaded,.............. |
44420 | 20 20 20 20 20 20 65 69 74 68 65 72 20 50 45 4d 20 6f 72 20 44 45 52 20 28 76 69 61 20 63 6f 6e | ......either.PEM.or.DER.(via.con |
44440 | 73 74 61 6e 74 73 20 46 4f 52 4d 41 54 5f 50 45 4d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | stants.FORMAT_PEM............... |
44460 | 20 20 20 20 20 61 6e 64 20 46 4f 52 4d 41 54 5f 46 4f 52 4d 41 54 5f 44 45 52 29 0a 0a 20 20 20 | .....and.FORMAT_FORMAT_DER)..... |
44480 | 20 3a 72 65 74 75 72 6e 3a 20 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 20 6f 62 6a | .:return:.M2Crypto.X509.X509.obj |
444a0 | 65 63 74 2e 0a 20 20 20 20 22 22 22 0a 20 20 20 20 73 74 72 69 6e 67 20 3d 20 73 69 78 2e 65 6e | ect......""".....string.=.six.en |
444c0 | 73 75 72 65 5f 62 69 6e 61 72 79 28 73 74 72 69 6e 67 29 0a 20 20 20 20 62 69 6f 20 3d 20 42 49 | sure_binary(string).....bio.=.BI |
444e0 | 4f 2e 4d 65 6d 6f 72 79 42 75 66 66 65 72 28 73 74 72 69 6e 67 29 0a 20 20 20 20 72 65 74 75 72 | O.MemoryBuffer(string).....retur |
44500 | 6e 20 6c 6f 61 64 5f 63 65 72 74 5f 62 69 6f 28 62 69 6f 2c 20 66 6f 72 6d 61 74 29 0a 0a 0a 64 | n.load_cert_bio(bio,.format)...d |
44520 | 65 66 20 6c 6f 61 64 5f 63 65 72 74 5f 64 65 72 5f 73 74 72 69 6e 67 28 73 74 72 69 6e 67 29 3a | ef.load_cert_der_string(string): |
44540 | 0a 20 20 20 20 23 20 74 79 70 65 3a 20 28 41 6e 79 53 74 72 29 20 2d 3e 20 58 35 30 39 0a 20 20 | .....#.type:.(AnyStr).->.X509... |
44560 | 20 20 22 22 22 0a 20 20 20 20 4c 6f 61 64 20 63 65 72 74 69 66 69 63 61 74 65 20 66 72 6f 6d 20 | ..""".....Load.certificate.from. |
44580 | 61 20 73 74 72 69 6e 67 2e 0a 0a 20 20 20 20 3a 70 61 72 61 6d 20 73 74 72 69 6e 67 3a 20 53 74 | a.string.......:param.string:.St |
445a0 | 72 69 6e 67 20 63 6f 6e 74 61 69 6e 69 6e 67 20 61 20 63 65 72 74 69 66 69 63 61 74 65 20 69 6e | ring.containing.a.certificate.in |
445c0 | 20 44 45 52 20 66 6f 72 6d 61 74 2e 0a 0a 20 20 20 20 3a 72 65 74 75 72 6e 3a 20 4d 32 43 72 79 | .DER.format.......:return:.M2Cry |
445e0 | 70 74 6f 2e 58 35 30 39 2e 58 35 30 39 20 6f 62 6a 65 63 74 2e 0a 20 20 20 20 22 22 22 0a 20 20 | pto.X509.X509.object......"""... |
44600 | 20 20 73 74 72 69 6e 67 20 3d 20 73 69 78 2e 65 6e 73 75 72 65 5f 62 69 6e 61 72 79 28 73 74 72 | ..string.=.six.ensure_binary(str |
44620 | 69 6e 67 29 0a 20 20 20 20 62 69 6f 20 3d 20 42 49 4f 2e 4d 65 6d 6f 72 79 42 75 66 66 65 72 28 | ing).....bio.=.BIO.MemoryBuffer( |
44640 | 73 74 72 69 6e 67 29 0a 20 20 20 20 63 70 74 72 20 3d 20 6d 32 2e 64 32 69 5f 78 35 30 39 28 62 | string).....cptr.=.m2.d2i_x509(b |
44660 | 69 6f 2e 5f 70 74 72 28 29 29 0a 20 20 20 20 72 65 74 75 72 6e 20 58 35 30 39 28 63 70 74 72 2c | io._ptr()).....return.X509(cptr, |
44680 | 20 5f 70 79 66 72 65 65 3d 31 29 0a 0a 0a 63 6c 61 73 73 20 58 35 30 39 5f 53 74 6f 72 65 5f 43 | ._pyfree=1)...class.X509_Store_C |
446a0 | 6f 6e 74 65 78 74 28 6f 62 6a 65 63 74 29 3a 0a 20 20 20 20 22 22 22 0a 20 20 20 20 58 35 30 39 | ontext(object):.....""".....X509 |
446c0 | 20 53 74 6f 72 65 20 43 6f 6e 74 65 78 74 0a 20 20 20 20 22 22 22 0a 0a 20 20 20 20 6d 32 5f 78 | .Store.Context....."""......m2_x |
446e0 | 35 30 39 5f 73 74 6f 72 65 5f 63 74 78 5f 66 72 65 65 20 3d 20 6d 32 2e 78 35 30 39 5f 73 74 6f | 509_store_ctx_free.=.m2.x509_sto |
44700 | 72 65 5f 63 74 78 5f 66 72 65 65 0a 0a 20 20 20 20 64 65 66 20 5f 5f 69 6e 69 74 5f 5f 28 73 65 | re_ctx_free......def.__init__(se |
44720 | 6c 66 2c 20 78 35 30 39 5f 73 74 6f 72 65 5f 63 74 78 2c 20 5f 70 79 66 72 65 65 3d 30 29 3a 0a | lf,.x509_store_ctx,._pyfree=0):. |
44740 | 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 62 79 74 65 73 2c 20 69 6e 74 29 20 2d 3e 20 | ........#.type:.(bytes,.int).->. |
44760 | 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 22 22 22 0a 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d | None........."""..........:param |
44780 | 20 78 35 30 39 5f 73 74 6f 72 65 5f 63 74 78 3a 20 62 69 6e 61 72 79 20 64 61 74 61 20 66 6f 72 | .x509_store_ctx:.binary.data.for |
447a0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4f 70 65 6e 53 53 4c 20 58 35 30 39 5f 53 54 4f 52 | ...............OpenSSL.X509_STOR |
447c0 | 45 5f 43 54 58 20 74 79 70 65 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 73 | E_CTX.type.........""".........s |
447e0 | 65 6c 66 2e 63 74 78 20 3d 20 78 35 30 39 5f 73 74 6f 72 65 5f 63 74 78 0a 20 20 20 20 20 20 20 | elf.ctx.=.x509_store_ctx........ |
44800 | 20 73 65 6c 66 2e 5f 70 79 66 72 65 65 20 3d 20 5f 70 79 66 72 65 65 0a 0a 20 20 20 20 64 65 66 | .self._pyfree.=._pyfree......def |
44820 | 20 5f 5f 64 65 6c 5f 5f 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 | .__del__(self):.........#.type:. |
44840 | 28 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 23 20 73 65 65 20 42 49 4f 2e 70 79 20 | ().->.None.........#.see.BIO.py. |
44860 | 2d 20 75 6e 62 61 6c 61 6e 63 65 64 20 5f 5f 69 6e 69 74 5f 5f 20 2f 20 5f 5f 64 65 6c 5f 5f 0a | -.unbalanced.__init__./.__del__. |
44880 | 20 20 20 20 20 20 20 20 69 66 20 6e 6f 74 20 68 61 73 61 74 74 72 28 73 65 6c 66 2c 20 27 5f 70 | ........if.not.hasattr(self,.'_p |
448a0 | 79 66 72 65 65 27 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 61 73 73 20 20 23 20 70 72 69 | yfree'):.............pass..#.pri |
448c0 | 6e 74 28 22 4f 4f 50 53 22 29 0a 20 20 20 20 20 20 20 20 65 6c 69 66 20 73 65 6c 66 2e 5f 70 79 | nt("OOPS").........elif.self._py |
448e0 | 66 72 65 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 6d 32 5f 78 35 30 39 5f 73 | free:.............self.m2_x509_s |
44900 | 74 6f 72 65 5f 63 74 78 5f 66 72 65 65 28 73 65 6c 66 2e 63 74 78 29 0a 0a 20 20 20 20 64 65 66 | tore_ctx_free(self.ctx)......def |
44920 | 20 5f 70 74 72 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 | ._ptr(self):.........return.self |
44940 | 2e 63 74 78 0a 0a 20 20 20 20 64 65 66 20 67 65 74 5f 63 75 72 72 65 6e 74 5f 63 65 72 74 28 73 | .ctx......def.get_current_cert(s |
44960 | 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 58 35 30 39 | elf):.........#.type:.().->.X509 |
44980 | 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 47 65 74 20 63 75 72 72 65 6e 74 | .........""".........Get.current |
449a0 | 20 58 2e 35 30 39 20 63 65 72 74 69 66 69 63 61 74 65 2e 0a 0a 20 20 20 20 20 20 20 20 3a 77 61 | .X.509.certificate...........:wa |
449c0 | 72 6e 69 6e 67 3a 20 54 68 65 20 72 65 74 75 72 6e 65 64 20 63 65 72 74 69 66 69 63 61 74 65 20 | rning:.The.returned.certificate. |
449e0 | 69 73 20 4e 4f 54 20 72 65 66 63 6f 75 6e 74 65 64 2c 20 73 6f 20 79 6f 75 20 63 61 6e 20 6e 6f | is.NOT.refcounted,.so.you.can.no |
44a00 | 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 6c 79 20 6f 6e 20 69 74 20 62 | t...................rely.on.it.b |
44a20 | 65 69 6e 67 20 76 61 6c 69 64 20 6f 6e 63 65 20 74 68 65 20 73 74 6f 72 65 20 63 6f 6e 74 65 78 | eing.valid.once.the.store.contex |
44a40 | 74 20 67 6f 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 77 61 79 20 6f 72 | t.goes...................away.or |
44a60 | 20 69 73 20 6d 6f 64 69 66 69 65 64 2e 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 | .is.modified.........."""....... |
44a80 | 20 20 72 65 74 75 72 6e 20 58 35 30 39 28 6d 32 2e 78 35 30 39 5f 73 74 6f 72 65 5f 63 74 78 5f | ..return.X509(m2.x509_store_ctx_ |
44aa0 | 67 65 74 5f 63 75 72 72 65 6e 74 5f 63 65 72 74 28 73 65 6c 66 2e 63 74 78 29 2c 20 5f 70 79 66 | get_current_cert(self.ctx),._pyf |
44ac0 | 72 65 65 3d 30 29 0a 0a 20 20 20 20 64 65 66 20 67 65 74 5f 65 72 72 6f 72 28 73 65 6c 66 29 3a | ree=0)......def.get_error(self): |
44ae0 | 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 | .........#.type:.().->.int...... |
44b00 | 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 47 65 74 20 65 72 72 6f 72 20 63 6f 64 65 2e 0a 20 | ...""".........Get.error.code... |
44b20 | 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 78 35 30 | .......""".........return.m2.x50 |
44b40 | 39 5f 73 74 6f 72 65 5f 63 74 78 5f 67 65 74 5f 65 72 72 6f 72 28 73 65 6c 66 2e 63 74 78 29 0a | 9_store_ctx_get_error(self.ctx). |
44b60 | 0a 20 20 20 20 64 65 66 20 67 65 74 5f 65 72 72 6f 72 5f 64 65 70 74 68 28 73 65 6c 66 29 3a 0a | .....def.get_error_depth(self):. |
44b80 | 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 | ........#.type:.().->.int....... |
44ba0 | 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 47 65 74 20 65 72 72 6f 72 20 64 65 70 74 68 2e 0a 20 | ..""".........Get.error.depth... |
44bc0 | 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 78 35 30 | .......""".........return.m2.x50 |
44be0 | 39 5f 73 74 6f 72 65 5f 63 74 78 5f 67 65 74 5f 65 72 72 6f 72 5f 64 65 70 74 68 28 73 65 6c 66 | 9_store_ctx_get_error_depth(self |
44c00 | 2e 63 74 78 29 0a 0a 20 20 20 20 64 65 66 20 67 65 74 31 5f 63 68 61 69 6e 28 73 65 6c 66 29 3a | .ctx)......def.get1_chain(self): |
44c20 | 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 58 35 30 39 5f 53 74 61 63 | .........#.type:.().->.X509_Stac |
44c40 | 6b 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 47 65 74 20 63 65 72 74 69 66 | k.........""".........Get.certif |
44c60 | 69 63 61 74 65 20 63 68 61 69 6e 2e 0a 0a 20 20 20 20 20 20 20 20 3a 72 65 74 75 72 6e 3a 20 52 | icate.chain...........:return:.R |
44c80 | 65 66 65 72 65 6e 63 65 20 63 6f 75 6e 74 65 64 20 28 69 2e 65 2e 20 73 61 66 65 20 74 6f 20 75 | eference.counted.(i.e..safe.to.u |
44ca0 | 73 65 20 65 76 65 6e 20 61 66 74 65 72 20 74 68 65 20 73 74 6f 72 65 0a 20 20 20 20 20 20 20 20 | se.even.after.the.store......... |
44cc0 | 20 20 20 20 20 20 20 20 20 63 6f 6e 74 65 78 74 20 67 6f 65 73 20 61 77 61 79 29 20 73 74 61 63 | .........context.goes.away).stac |
44ce0 | 6b 20 6f 66 20 63 65 72 74 69 66 69 63 61 74 65 73 20 69 6e 20 74 68 65 20 63 68 61 69 6e 2e 0a | k.of.certificates.in.the.chain.. |
44d00 | 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 58 35 30 39 5f | ........""".........return.X509_ |
44d20 | 53 74 61 63 6b 28 6d 32 2e 78 35 30 39 5f 73 74 6f 72 65 5f 63 74 78 5f 67 65 74 31 5f 63 68 61 | Stack(m2.x509_store_ctx_get1_cha |
44d40 | 69 6e 28 73 65 6c 66 2e 63 74 78 29 2c 20 31 2c 20 31 29 0a 0a 0a 63 6c 61 73 73 20 58 35 30 39 | in(self.ctx),.1,.1)...class.X509 |
44d60 | 5f 53 74 6f 72 65 28 6f 62 6a 65 63 74 29 3a 0a 20 20 20 20 22 22 22 0a 20 20 20 20 58 35 30 39 | _Store(object):.....""".....X509 |
44d80 | 20 53 74 6f 72 65 0a 20 20 20 20 22 22 22 0a 0a 20 20 20 20 6d 32 5f 78 35 30 39 5f 73 74 6f 72 | .Store....."""......m2_x509_stor |
44da0 | 65 5f 66 72 65 65 20 3d 20 6d 32 2e 78 35 30 39 5f 73 74 6f 72 65 5f 66 72 65 65 0a 0a 20 20 20 | e_free.=.m2.x509_store_free..... |
44dc0 | 20 64 65 66 20 5f 5f 69 6e 69 74 5f 5f 28 73 65 6c 66 2c 20 73 74 6f 72 65 3d 4e 6f 6e 65 2c 20 | .def.__init__(self,.store=None,. |
44de0 | 5f 70 79 66 72 65 65 3d 30 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 4f 70 74 | _pyfree=0):.........#.type:.(Opt |
44e00 | 69 6f 6e 61 6c 5b 62 79 74 65 73 5d 2c 20 69 6e 74 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 | ional[bytes],.int).->.None...... |
44e20 | 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 73 74 6f 72 65 3a 20 62 69 6e | ...""".........:param.store:.bin |
44e40 | 61 72 79 20 64 61 74 61 20 66 6f 72 20 4f 70 65 6e 53 53 4c 20 58 35 30 39 5f 53 54 4f 52 45 5f | ary.data.for.OpenSSL.X509_STORE_ |
44e60 | 43 54 58 20 74 79 70 65 2e 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 69 66 | CTX.type..........""".........if |
44e80 | 20 73 74 6f 72 65 20 69 73 20 6e 6f 74 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 | .store.is.not.None:............. |
44ea0 | 73 65 6c 66 2e 73 74 6f 72 65 20 3d 20 73 74 6f 72 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 | self.store.=.store.............s |
44ec0 | 65 6c 66 2e 5f 70 79 66 72 65 65 20 3d 20 5f 70 79 66 72 65 65 0a 20 20 20 20 20 20 20 20 65 6c | elf._pyfree.=._pyfree.........el |
44ee0 | 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 74 6f 72 65 20 3d 20 6d 32 2e | se:.............self.store.=.m2. |
44f00 | 78 35 30 39 5f 73 74 6f 72 65 5f 6e 65 77 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c | x509_store_new().............sel |
44f20 | 66 2e 5f 70 79 66 72 65 65 20 3d 20 31 0a 0a 20 20 20 20 64 65 66 20 5f 5f 64 65 6c 5f 5f 28 73 | f._pyfree.=.1......def.__del__(s |
44f40 | 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 4e 6f 6e 65 | elf):.........#.type:.().->.None |
44f60 | 0a 20 20 20 20 20 20 20 20 69 66 20 67 65 74 61 74 74 72 28 73 65 6c 66 2c 20 27 5f 70 79 66 72 | .........if.getattr(self,.'_pyfr |
44f80 | 65 65 27 2c 20 30 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 6d 32 5f 78 35 30 | ee',.0):.............self.m2_x50 |
44fa0 | 39 5f 73 74 6f 72 65 5f 66 72 65 65 28 73 65 6c 66 2e 73 74 6f 72 65 29 0a 0a 20 20 20 20 64 65 | 9_store_free(self.store)......de |
44fc0 | 66 20 5f 70 74 72 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c | f._ptr(self):.........return.sel |
44fe0 | 66 2e 73 74 6f 72 65 0a 0a 20 20 20 20 64 65 66 20 6c 6f 61 64 5f 69 6e 66 6f 28 73 65 6c 66 2c | f.store......def.load_info(self, |
45000 | 20 66 69 6c 65 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 41 6e 79 53 74 72 29 | .file):.........#.type:.(AnyStr) |
45020 | 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 3a 70 61 72 | .->.int.........""".........:par |
45040 | 61 6d 20 66 69 6c 65 3a 20 66 69 6c 65 6e 61 6d 65 0a 0a 20 20 20 20 20 20 20 20 3a 72 65 74 75 | am.file:.filename..........:retu |
45060 | 72 6e 3a 20 31 20 6f 6e 20 73 75 63 63 65 73 73 2c 20 30 20 6f 6e 20 66 61 69 6c 75 72 65 0a 20 | rn:.1.on.success,.0.on.failure.. |
45080 | 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 72 65 74 20 3d 20 6d 32 2e 78 35 30 39 | .......""".........ret.=.m2.x509 |
450a0 | 5f 73 74 6f 72 65 5f 6c 6f 61 64 5f 6c 6f 63 61 74 69 6f 6e 73 28 73 65 6c 66 2e 73 74 6f 72 65 | _store_load_locations(self.store |
450c0 | 2c 20 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 72 65 74 0a 0a 20 20 20 20 | ,.file).........return.ret...... |
450e0 | 6c 6f 61 64 5f 6c 6f 63 61 74 69 6f 6e 73 20 3d 20 6c 6f 61 64 5f 69 6e 66 6f 0a 0a 20 20 20 20 | load_locations.=.load_info...... |
45100 | 64 65 66 20 61 64 64 5f 78 35 30 39 28 73 65 6c 66 2c 20 78 35 30 39 29 3a 0a 20 20 20 20 20 20 | def.add_x509(self,.x509):....... |
45120 | 20 20 23 20 74 79 70 65 3a 20 28 58 35 30 39 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 | ..#.type:.(X509).->.int......... |
45140 | 61 73 73 65 72 74 20 69 73 69 6e 73 74 61 6e 63 65 28 78 35 30 39 2c 20 58 35 30 39 29 0a 20 20 | assert.isinstance(x509,.X509)... |
45160 | 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 78 35 30 39 5f 73 74 6f 72 65 5f 61 64 64 5f 63 | ......return.m2.x509_store_add_c |
45180 | 65 72 74 28 73 65 6c 66 2e 73 74 6f 72 65 2c 20 78 35 30 39 2e 5f 70 74 72 28 29 29 0a 0a 20 20 | ert(self.store,.x509._ptr()).... |
451a0 | 20 20 64 65 66 20 73 65 74 5f 76 65 72 69 66 79 5f 63 62 28 73 65 6c 66 2c 20 63 61 6c 6c 62 61 | ..def.set_verify_cb(self,.callba |
451c0 | 63 6b 3d 4e 6f 6e 65 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 4f 70 74 69 6f | ck=None):.........#.type:.(Optio |
451e0 | 6e 61 6c 5b 63 61 6c 6c 61 62 6c 65 5d 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 22 | nal[callable]).->.None........." |
45200 | 22 22 0a 20 20 20 20 20 20 20 20 53 65 74 20 63 61 6c 6c 62 61 63 6b 20 77 68 69 63 68 20 77 69 | "".........Set.callback.which.wi |
45220 | 6c 6c 20 62 65 20 63 61 6c 6c 65 64 20 77 68 65 6e 20 74 68 65 20 73 74 6f 72 65 20 69 73 20 76 | ll.be.called.when.the.store.is.v |
45240 | 65 72 69 66 69 65 64 2e 0a 20 20 20 20 20 20 20 20 57 72 61 70 70 65 72 20 6f 76 65 72 20 4f 70 | erified..........Wrapper.over.Op |
45260 | 65 6e 53 53 4c 20 58 35 30 39 5f 53 54 4f 52 45 5f 73 65 74 5f 76 65 72 69 66 79 5f 63 62 28 29 | enSSL.X509_STORE_set_verify_cb() |
45280 | 2e 0a 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 63 61 6c 6c 62 61 63 6b 3a 20 20 20 20 43 | ...........:param.callback:....C |
452a0 | 61 6c 6c 61 62 6c 65 20 74 6f 20 73 70 65 63 69 66 79 20 76 65 72 69 66 69 63 61 74 69 6f 6e 20 | allable.to.specify.verification. |
452c0 | 6f 70 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | options......................... |
452e0 | 20 20 20 20 20 54 79 70 65 20 6f 66 20 74 68 65 20 63 61 6c 6c 61 62 6c 65 20 6d 75 73 74 20 62 | .....Type.of.the.callable.must.b |
45300 | 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 | e:.............................( |
45320 | 69 6e 74 2c 20 58 35 30 39 5f 53 74 6f 72 65 5f 43 6f 6e 74 65 78 74 29 20 2d 3e 20 69 6e 74 2e | int,.X509_Store_Context).->.int. |
45340 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 66 20 | .............................If. |
45360 | 4e 6f 6e 65 3a 20 73 65 74 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 6f 70 74 69 6f 6e 73 2e 0a | None:.set.the.standard.options.. |
45380 | 0a 20 20 20 20 20 20 20 20 3a 6e 6f 74 65 3a 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 6f 72 20 | .........:note:.compile-time.or. |
453a0 | 72 75 6e 2d 74 69 6d 65 20 65 72 72 6f 72 73 20 69 6e 20 74 68 65 20 63 61 6c 6c 62 61 63 6b 20 | run-time.errors.in.the.callback. |
453c0 | 77 6f 75 6c 64 20 72 65 73 75 6c 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 20 6d | would.result................in.m |
453e0 | 79 73 74 65 72 69 6f 75 73 20 65 72 72 6f 72 73 20 64 75 72 69 6e 67 20 76 65 72 69 66 69 63 61 | ysterious.errors.during.verifica |
45400 | 74 69 6f 6e 2c 20 77 68 69 63 68 20 63 6f 75 6c 64 20 62 65 20 68 61 72 64 0a 20 20 20 20 20 20 | tion,.which.could.be.hard....... |
45420 | 20 20 20 20 20 20 20 20 20 74 6f 20 74 72 61 63 65 2e 0a 0a 20 20 20 20 20 20 20 20 3a 6e 6f 74 | .........to.trace...........:not |
45440 | 65 3a 20 50 79 74 68 6f 6e 20 65 78 63 65 70 74 69 6f 6e 73 20 72 61 69 73 65 64 20 69 6e 20 63 | e:.Python.exceptions.raised.in.c |
45460 | 61 6c 6c 62 61 63 6b 73 20 64 6f 20 6e 6f 74 20 70 72 6f 70 61 67 61 74 65 20 74 6f 0a 20 20 20 | allbacks.do.not.propagate.to.... |
45480 | 20 20 20 20 20 20 20 20 20 20 20 20 76 65 72 69 66 79 28 29 20 63 61 6c 6c 2e 0a 0a 20 20 20 20 | ............verify().call....... |
454a0 | 20 20 20 20 3a 72 65 74 75 72 6e 3a 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 | ....:return:.None........."""... |
454c0 | 20 20 20 20 20 20 69 66 20 63 61 6c 6c 62 61 63 6b 20 69 73 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 | ......if.callback.is.None:...... |
454e0 | 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 2e 73 65 74 5f 76 65 72 69 66 79 5f 63 62 | .......return.self.set_verify_cb |
45500 | 28 78 35 30 39 5f 73 74 6f 72 65 5f 64 65 66 61 75 6c 74 5f 63 62 29 0a 0a 20 20 20 20 20 20 20 | (x509_store_default_cb)......... |
45520 | 20 69 66 20 6e 6f 74 20 63 61 6c 6c 61 62 6c 65 28 63 61 6c 6c 62 61 63 6b 29 3a 0a 20 20 20 20 | .if.not.callable(callback):..... |
45540 | 20 20 20 20 20 20 20 20 72 61 69 73 65 20 58 35 30 39 45 72 72 6f 72 28 22 73 65 74 5f 76 65 72 | ........raise.X509Error("set_ver |
45560 | 69 66 79 28 29 3a 20 63 61 6c 6c 62 61 63 6b 20 69 73 20 6e 6f 74 20 63 61 6c 6c 61 62 6c 65 22 | ify():.callback.is.not.callable" |
45580 | 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 78 35 30 39 5f 73 74 6f 72 65 5f 73 | ).........return.m2.x509_store_s |
455a0 | 65 74 5f 76 65 72 69 66 79 5f 63 62 28 73 65 6c 66 2e 73 74 6f 72 65 2c 20 63 61 6c 6c 62 61 63 | et_verify_cb(self.store,.callbac |
455c0 | 6b 29 0a 0a 20 20 20 20 61 64 64 5f 63 65 72 74 20 3d 20 61 64 64 5f 78 35 30 39 0a 0a 0a 63 6c | k)......add_cert.=.add_x509...cl |
455e0 | 61 73 73 20 58 35 30 39 5f 53 74 61 63 6b 28 6f 62 6a 65 63 74 29 3a 0a 20 20 20 20 22 22 22 0a | ass.X509_Stack(object):.....""". |
45600 | 20 20 20 20 58 35 30 39 20 53 74 61 63 6b 0a 0a 20 20 20 20 3a 77 61 72 6e 69 6e 67 3a 20 44 6f | ....X509.Stack......:warning:.Do |
45620 | 20 6e 6f 74 20 6d 6f 64 69 66 79 20 74 68 65 20 75 6e 64 65 72 6c 79 69 6e 67 20 4f 70 65 6e 53 | .not.modify.the.underlying.OpenS |
45640 | 53 4c 20 73 74 61 63 6b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 78 63 65 70 74 20 74 68 | SL.stack...............except.th |
45660 | 72 6f 75 67 68 20 74 68 69 73 20 69 6e 74 65 72 66 61 63 65 2c 20 6f 72 20 75 73 65 20 61 6e 79 | rough.this.interface,.or.use.any |
45680 | 20 4f 70 65 6e 53 53 4c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 73 | .OpenSSL...............functions |
456a0 | 20 74 68 61 74 20 64 6f 20 73 6f 20 69 6e 64 69 72 65 63 74 6c 79 2e 20 44 6f 69 6e 67 20 73 6f | .that.do.so.indirectly..Doing.so |
456c0 | 20 77 69 6c 6c 20 67 65 74 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4f 70 65 6e | .will.get.the...............Open |
456e0 | 53 53 4c 20 73 74 61 63 6b 20 61 6e 64 20 74 68 65 20 69 6e 74 65 72 6e 61 6c 20 70 79 73 74 61 | SSL.stack.and.the.internal.pysta |
45700 | 63 6b 20 6f 66 20 74 68 69 73 20 63 6c 61 73 73 20 6f 75 74 0a 20 20 20 20 20 20 20 20 20 20 20 | ck.of.this.class.out............ |
45720 | 20 20 20 6f 66 20 73 79 6e 63 2c 20 6c 65 61 64 69 6e 67 20 74 6f 20 70 79 74 68 6f 6e 20 6d 65 | ...of.sync,.leading.to.python.me |
45740 | 6d 6f 72 79 20 6c 65 61 6b 73 2c 20 65 78 63 65 70 74 69 6f 6e 73 20 6f 72 0a 20 20 20 20 20 20 | mory.leaks,.exceptions.or....... |
45760 | 20 20 20 20 20 20 20 20 65 76 65 6e 20 70 79 74 68 6f 6e 20 63 72 61 73 68 65 73 21 0a 20 20 20 | ........even.python.crashes!.... |
45780 | 20 22 22 22 0a 0a 20 20 20 20 6d 32 5f 73 6b 5f 78 35 30 39 5f 66 72 65 65 20 3d 20 6d 32 2e 73 | ."""......m2_sk_x509_free.=.m2.s |
457a0 | 6b 5f 78 35 30 39 5f 66 72 65 65 0a 0a 20 20 20 20 64 65 66 20 5f 5f 69 6e 69 74 5f 5f 28 73 65 | k_x509_free......def.__init__(se |
457c0 | 6c 66 2c 20 73 74 61 63 6b 3d 4e 6f 6e 65 2c 20 5f 70 79 66 72 65 65 3d 30 2c 20 5f 70 79 66 72 | lf,.stack=None,._pyfree=0,._pyfr |
457e0 | 65 65 5f 78 35 30 39 3d 30 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 62 79 74 | ee_x509=0):.........#.type:.(byt |
45800 | 65 73 2c 20 69 6e 74 2c 20 69 6e 74 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 69 66 | es,.int,.int).->.None.........if |
45820 | 20 73 74 61 63 6b 20 69 73 20 6e 6f 74 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 | .stack.is.not.None:............. |
45840 | 73 65 6c 66 2e 73 74 61 63 6b 20 3d 20 73 74 61 63 6b 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 | self.stack.=.stack.............s |
45860 | 65 6c 66 2e 5f 70 79 66 72 65 65 20 3d 20 5f 70 79 66 72 65 65 0a 20 20 20 20 20 20 20 20 20 20 | elf._pyfree.=._pyfree........... |
45880 | 20 20 73 65 6c 66 2e 70 79 73 74 61 63 6b 20 3d 20 5b 5d 20 20 23 20 54 68 69 73 20 6d 75 73 74 | ..self.pystack.=.[]..#.This.must |
458a0 | 20 62 65 20 6b 65 70 74 20 69 6e 20 73 79 6e 63 20 77 69 74 68 20 73 65 6c 66 2e 73 74 61 63 6b | .be.kept.in.sync.with.self.stack |
458c0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 6e 75 6d 20 3d 20 6d 32 2e 73 6b 5f 78 35 30 39 5f 6e 75 | .............num.=.m2.sk_x509_nu |
458e0 | 6d 28 73 65 6c 66 2e 73 74 61 63 6b 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 69 20 | m(self.stack).............for.i. |
45900 | 69 6e 20 72 61 6e 67 65 28 6e 75 6d 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 | in.range(num):.................s |
45920 | 65 6c 66 2e 70 79 73 74 61 63 6b 2e 61 70 70 65 6e 64 28 58 35 30 39 28 6d 32 2e 73 6b 5f 78 35 | elf.pystack.append(X509(m2.sk_x5 |
45940 | 30 39 5f 76 61 6c 75 65 28 73 65 6c 66 2e 73 74 61 63 6b 2c 20 69 29 2c 0a 20 20 20 20 20 20 20 | 09_value(self.stack,.i),........ |
45960 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
45980 | 20 20 5f 70 79 66 72 65 65 3d 5f 70 79 66 72 65 65 5f 78 35 30 39 29 29 0a 20 20 20 20 20 20 20 | .._pyfree=_pyfree_x509))........ |
459a0 | 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 74 61 63 6b 20 3d 20 | .else:.............self.stack.=. |
459c0 | 6d 32 2e 73 6b 5f 78 35 30 39 5f 6e 65 77 5f 6e 75 6c 6c 28 29 0a 20 20 20 20 20 20 20 20 20 20 | m2.sk_x509_new_null()........... |
459e0 | 20 20 73 65 6c 66 2e 5f 70 79 66 72 65 65 20 3d 20 31 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 | ..self._pyfree.=.1.............s |
45a00 | 65 6c 66 2e 70 79 73 74 61 63 6b 20 3d 20 5b 5d 20 20 23 20 54 68 69 73 20 6d 75 73 74 20 62 65 | elf.pystack.=.[]..#.This.must.be |
45a20 | 20 6b 65 70 74 20 69 6e 20 73 79 6e 63 20 77 69 74 68 20 73 65 6c 66 2e 73 74 61 63 6b 0a 0a 20 | .kept.in.sync.with.self.stack... |
45a40 | 20 20 20 64 65 66 20 5f 5f 64 65 6c 5f 5f 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 | ...def.__del__(self):.........#. |
45a60 | 74 79 70 65 3a 20 28 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 69 66 20 67 65 74 61 | type:.().->.None.........if.geta |
45a80 | 74 74 72 28 73 65 6c 66 2c 20 27 5f 70 79 66 72 65 65 27 2c 20 30 29 3a 0a 20 20 20 20 20 20 20 | ttr(self,.'_pyfree',.0):........ |
45aa0 | 20 20 20 20 20 73 65 6c 66 2e 6d 32 5f 73 6b 5f 78 35 30 39 5f 66 72 65 65 28 73 65 6c 66 2e 73 | .....self.m2_sk_x509_free(self.s |
45ac0 | 74 61 63 6b 29 0a 0a 20 20 20 20 64 65 66 20 5f 5f 6c 65 6e 5f 5f 28 73 65 6c 66 29 3a 0a 20 20 | tack)......def.__len__(self):... |
45ae0 | 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 | ......#.type:.().->.int......... |
45b00 | 61 73 73 65 72 74 20 6d 32 2e 73 6b 5f 78 35 30 39 5f 6e 75 6d 28 73 65 6c 66 2e 73 74 61 63 6b | assert.m2.sk_x509_num(self.stack |
45b20 | 29 20 3d 3d 20 6c 65 6e 28 73 65 6c 66 2e 70 79 73 74 61 63 6b 29 0a 20 20 20 20 20 20 20 20 72 | ).==.len(self.pystack).........r |
45b40 | 65 74 75 72 6e 20 6c 65 6e 28 73 65 6c 66 2e 70 79 73 74 61 63 6b 29 0a 0a 20 20 20 20 64 65 66 | eturn.len(self.pystack)......def |
45b60 | 20 5f 5f 67 65 74 69 74 65 6d 5f 5f 28 73 65 6c 66 2c 20 69 64 78 29 3a 0a 20 20 20 20 20 20 20 | .__getitem__(self,.idx):........ |
45b80 | 20 23 20 74 79 70 65 3a 20 28 69 6e 74 29 20 2d 3e 20 58 35 30 39 0a 20 20 20 20 20 20 20 20 72 | .#.type:.(int).->.X509.........r |
45ba0 | 65 74 75 72 6e 20 73 65 6c 66 2e 70 79 73 74 61 63 6b 5b 69 64 78 5d 0a 0a 20 20 20 20 64 65 66 | eturn.self.pystack[idx]......def |
45bc0 | 20 5f 5f 69 74 65 72 5f 5f 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 | .__iter__(self):.........return. |
45be0 | 69 74 65 72 28 73 65 6c 66 2e 70 79 73 74 61 63 6b 29 0a 0a 20 20 20 20 64 65 66 20 5f 70 74 72 | iter(self.pystack)......def._ptr |
45c00 | 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 2e 73 74 61 63 | (self):.........return.self.stac |
45c20 | 6b 0a 0a 20 20 20 20 64 65 66 20 70 75 73 68 28 73 65 6c 66 2c 20 78 35 30 39 29 3a 0a 20 20 20 | k......def.push(self,.x509):.... |
45c40 | 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 58 35 30 39 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 | .....#.type:.(X509).->.int...... |
45c60 | 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 70 75 73 68 20 61 6e 20 58 35 30 39 20 63 65 72 74 | ...""".........push.an.X509.cert |
45c80 | 69 66 69 63 61 74 65 20 6f 6e 74 6f 20 74 68 65 20 73 74 61 63 6b 2e 0a 0a 20 20 20 20 20 20 20 | ificate.onto.the.stack.......... |
45ca0 | 20 3a 70 61 72 61 6d 20 78 35 30 39 3a 20 58 35 30 39 20 6f 62 6a 65 63 74 2e 0a 0a 20 20 20 20 | .:param.x509:.X509.object....... |
45cc0 | 20 20 20 20 3a 72 65 74 75 72 6e 3a 20 54 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 58 35 30 39 20 | ....:return:.The.number.of.X509. |
45ce0 | 6f 62 6a 65 63 74 73 20 63 75 72 72 65 6e 74 6c 79 20 6f 6e 20 74 68 65 20 73 74 61 63 6b 2e 0a | objects.currently.on.the.stack.. |
45d00 | 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 20 69 73 69 6e 73 | ........""".........assert.isins |
45d20 | 74 61 6e 63 65 28 78 35 30 39 2c 20 58 35 30 39 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 70 | tance(x509,.X509).........self.p |
45d40 | 79 73 74 61 63 6b 2e 61 70 70 65 6e 64 28 78 35 30 39 29 0a 20 20 20 20 20 20 20 20 72 65 74 20 | ystack.append(x509).........ret. |
45d60 | 3d 20 6d 32 2e 73 6b 5f 78 35 30 39 5f 70 75 73 68 28 73 65 6c 66 2e 73 74 61 63 6b 2c 20 78 35 | =.m2.sk_x509_push(self.stack,.x5 |
45d80 | 30 39 2e 5f 70 74 72 28 29 29 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 20 72 65 74 20 3d 3d | 09._ptr()).........assert.ret.== |
45da0 | 20 6c 65 6e 28 73 65 6c 66 2e 70 79 73 74 61 63 6b 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 | .len(self.pystack).........retur |
45dc0 | 6e 20 72 65 74 0a 0a 20 20 20 20 64 65 66 20 70 6f 70 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 | n.ret......def.pop(self):....... |
45de0 | 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 58 35 30 39 0a 20 20 20 20 20 20 20 20 22 22 22 | ..#.type:.().->.X509.........""" |
45e00 | 0a 20 20 20 20 20 20 20 20 70 6f 70 20 61 20 63 65 72 74 69 66 69 63 61 74 65 20 66 72 6f 6d 20 | .........pop.a.certificate.from. |
45e20 | 74 68 65 20 73 74 61 63 6b 2e 0a 0a 20 20 20 20 20 20 20 20 3a 72 65 74 75 72 6e 3a 20 58 35 30 | the.stack...........:return:.X50 |
45e40 | 39 20 6f 62 6a 65 63 74 20 74 68 61 74 20 77 61 73 20 70 6f 70 70 65 64 2c 20 6f 72 20 4e 6f 6e | 9.object.that.was.popped,.or.Non |
45e60 | 65 20 69 66 20 74 68 65 72 65 20 69 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e | e.if.there.is..................n |
45e80 | 6f 74 68 69 6e 67 20 74 6f 20 70 6f 70 2e 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 | othing.to.pop.........."""...... |
45ea0 | 20 20 20 78 35 30 39 5f 70 74 72 20 3d 20 6d 32 2e 73 6b 5f 78 35 30 39 5f 70 6f 70 28 73 65 6c | ...x509_ptr.=.m2.sk_x509_pop(sel |
45ec0 | 66 2e 73 74 61 63 6b 29 0a 20 20 20 20 20 20 20 20 69 66 20 78 35 30 39 5f 70 74 72 20 69 73 20 | f.stack).........if.x509_ptr.is. |
45ee0 | 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 61 73 73 65 72 74 20 6c 65 6e 28 73 65 6c | None:.............assert.len(sel |
45f00 | 66 2e 70 79 73 74 61 63 6b 29 20 3d 3d 20 30 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 | f.pystack).==.0.............retu |
45f20 | 72 6e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 2e 70 79 73 74 | rn.None.........return.self.pyst |
45f40 | 61 63 6b 2e 70 6f 70 28 29 0a 0a 20 20 20 20 64 65 66 20 61 73 5f 64 65 72 28 73 65 6c 66 29 3a | ack.pop()......def.as_der(self): |
45f60 | 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 62 79 74 65 73 0a 20 20 20 | .........#.type:.().->.bytes.... |
45f80 | 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 73 74 61 63 | .....""".........Return.the.stac |
45fa0 | 6b 20 61 73 20 61 20 44 45 52 20 65 6e 63 6f 64 65 64 20 73 74 72 69 6e 67 0a 20 20 20 20 20 20 | k.as.a.DER.encoded.string....... |
45fc0 | 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 67 65 74 5f 64 65 72 5f | ..""".........return.m2.get_der_ |
45fe0 | 65 6e 63 6f 64 69 6e 67 5f 73 74 61 63 6b 28 73 65 6c 66 2e 73 74 61 63 6b 29 0a 0a 0a 64 65 66 | encoding_stack(self.stack)...def |
46000 | 20 6e 65 77 5f 73 74 61 63 6b 5f 66 72 6f 6d 5f 64 65 72 28 64 65 72 5f 73 74 72 69 6e 67 29 3a | .new_stack_from_der(der_string): |
46020 | 0a 20 20 20 20 23 20 74 79 70 65 3a 20 28 62 79 74 65 73 29 20 2d 3e 20 58 35 30 39 5f 53 74 61 | .....#.type:.(bytes).->.X509_Sta |
46040 | 63 6b 0a 20 20 20 20 22 22 22 0a 20 20 20 20 43 72 65 61 74 65 20 61 20 6e 65 77 20 58 35 30 39 | ck.....""".....Create.a.new.X509 |
46060 | 5f 53 74 61 63 6b 20 66 72 6f 6d 20 44 45 52 20 73 74 72 69 6e 67 2e 0a 0a 20 20 20 20 3a 72 65 | _Stack.from.DER.string.......:re |
46080 | 74 75 72 6e 3a 20 58 35 30 39 5f 53 74 61 63 6b 0a 20 20 20 20 22 22 22 0a 20 20 20 20 64 65 72 | turn:.X509_Stack.....""".....der |
460a0 | 5f 73 74 72 69 6e 67 20 3d 20 73 69 78 2e 65 6e 73 75 72 65 5f 62 69 6e 61 72 79 28 64 65 72 5f | _string.=.six.ensure_binary(der_ |
460c0 | 73 74 72 69 6e 67 29 0a 20 20 20 20 73 74 61 63 6b 5f 70 74 72 20 3d 20 6d 32 2e 6d 61 6b 65 5f | string).....stack_ptr.=.m2.make_ |
460e0 | 73 74 61 63 6b 5f 66 72 6f 6d 5f 64 65 72 5f 73 65 71 75 65 6e 63 65 28 64 65 72 5f 73 74 72 69 | stack_from_der_sequence(der_stri |
46100 | 6e 67 29 0a 20 20 20 20 72 65 74 75 72 6e 20 58 35 30 39 5f 53 74 61 63 6b 28 73 74 61 63 6b 5f | ng).....return.X509_Stack(stack_ |
46120 | 70 74 72 2c 20 31 2c 20 31 29 0a 0a 0a 63 6c 61 73 73 20 52 65 71 75 65 73 74 28 6f 62 6a 65 63 | ptr,.1,.1)...class.Request(objec |
46140 | 74 29 3a 0a 20 20 20 20 22 22 22 0a 20 20 20 20 58 35 30 39 20 43 65 72 74 69 66 69 63 61 74 65 | t):.....""".....X509.Certificate |
46160 | 20 52 65 71 75 65 73 74 2e 0a 20 20 20 20 22 22 22 0a 0a 20 20 20 20 6d 32 5f 78 35 30 39 5f 72 | .Request......"""......m2_x509_r |
46180 | 65 71 5f 66 72 65 65 20 3d 20 6d 32 2e 78 35 30 39 5f 72 65 71 5f 66 72 65 65 0a 0a 20 20 20 20 | eq_free.=.m2.x509_req_free...... |
461a0 | 64 65 66 20 5f 5f 69 6e 69 74 5f 5f 28 73 65 6c 66 2c 20 72 65 71 3d 4e 6f 6e 65 2c 20 5f 70 79 | def.__init__(self,.req=None,._py |
461c0 | 66 72 65 65 3d 30 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 4f 70 74 69 6f 6e | free=0):.........#.type:.(Option |
461e0 | 61 6c 5b 69 6e 74 5d 2c 20 69 6e 74 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 69 66 | al[int],.int).->.None.........if |
46200 | 20 72 65 71 20 69 73 20 6e 6f 74 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 | .req.is.not.None:.............se |
46220 | 6c 66 2e 72 65 71 20 3d 20 72 65 71 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 70 | lf.req.=.req.............self._p |
46240 | 79 66 72 65 65 20 3d 20 5f 70 79 66 72 65 65 0a 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 | yfree.=._pyfree.........else:... |
46260 | 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 72 65 71 20 3d 20 6d 32 2e 78 35 30 39 5f 72 65 71 | ..........self.req.=.m2.x509_req |
46280 | 5f 6e 65 77 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 6d 32 2e 78 35 30 39 5f 72 65 71 5f 73 | _new().............m2.x509_req_s |
462a0 | 65 74 5f 76 65 72 73 69 6f 6e 28 73 65 6c 66 2e 72 65 71 2c 20 30 29 0a 20 20 20 20 20 20 20 20 | et_version(self.req,.0)......... |
462c0 | 20 20 20 20 73 65 6c 66 2e 5f 70 79 66 72 65 65 20 3d 20 31 0a 0a 20 20 20 20 64 65 66 20 5f 5f | ....self._pyfree.=.1......def.__ |
462e0 | 64 65 6c 5f 5f 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 | del__(self):.........#.type:.(). |
46300 | 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 69 66 20 67 65 74 61 74 74 72 28 73 65 6c 66 2c | ->.None.........if.getattr(self, |
46320 | 20 27 5f 70 79 66 72 65 65 27 2c 20 30 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 | .'_pyfree',.0):.............self |
46340 | 2e 6d 32 5f 78 35 30 39 5f 72 65 71 5f 66 72 65 65 28 73 65 6c 66 2e 72 65 71 29 0a 0a 20 20 20 | .m2_x509_req_free(self.req)..... |
46360 | 20 64 65 66 20 61 73 5f 74 65 78 74 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 | .def.as_text(self):.........#.ty |
46380 | 70 65 3a 20 28 29 20 2d 3e 20 73 74 72 0a 20 20 20 20 20 20 20 20 62 75 66 20 3d 20 42 49 4f 2e | pe:.().->.str.........buf.=.BIO. |
463a0 | 4d 65 6d 6f 72 79 42 75 66 66 65 72 28 29 0a 20 20 20 20 20 20 20 20 6d 32 2e 78 35 30 39 5f 72 | MemoryBuffer().........m2.x509_r |
463c0 | 65 71 5f 70 72 69 6e 74 28 62 75 66 2e 62 69 6f 5f 70 74 72 28 29 2c 20 73 65 6c 66 2e 72 65 71 | eq_print(buf.bio_ptr(),.self.req |
463e0 | 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 69 78 2e 65 6e 73 75 72 65 5f 74 65 78 74 | ).........return.six.ensure_text |
46400 | 28 62 75 66 2e 72 65 61 64 5f 61 6c 6c 28 29 29 0a 0a 20 20 20 20 64 65 66 20 61 73 5f 70 65 6d | (buf.read_all())......def.as_pem |
46420 | 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 62 79 | (self):.........#.type:.().->.by |
46440 | 74 65 73 0a 20 20 20 20 20 20 20 20 62 75 66 20 3d 20 42 49 4f 2e 4d 65 6d 6f 72 79 42 75 66 66 | tes.........buf.=.BIO.MemoryBuff |
46460 | 65 72 28 29 0a 20 20 20 20 20 20 20 20 6d 32 2e 78 35 30 39 5f 72 65 71 5f 77 72 69 74 65 5f 70 | er().........m2.x509_req_write_p |
46480 | 65 6d 28 62 75 66 2e 62 69 6f 5f 70 74 72 28 29 2c 20 73 65 6c 66 2e 72 65 71 29 0a 20 20 20 20 | em(buf.bio_ptr(),.self.req)..... |
464a0 | 20 20 20 20 72 65 74 75 72 6e 20 62 75 66 2e 72 65 61 64 5f 61 6c 6c 28 29 0a 0a 20 20 20 20 64 | ....return.buf.read_all()......d |
464c0 | 65 66 20 61 73 5f 64 65 72 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a | ef.as_der(self):.........#.type: |
464e0 | 20 28 29 20 2d 3e 20 62 79 74 65 73 0a 20 20 20 20 20 20 20 20 62 75 66 20 3d 20 42 49 4f 2e 4d | .().->.bytes.........buf.=.BIO.M |
46500 | 65 6d 6f 72 79 42 75 66 66 65 72 28 29 0a 20 20 20 20 20 20 20 20 6d 32 2e 69 32 64 5f 78 35 30 | emoryBuffer().........m2.i2d_x50 |
46520 | 39 5f 72 65 71 5f 62 69 6f 28 62 75 66 2e 62 69 6f 5f 70 74 72 28 29 2c 20 73 65 6c 66 2e 72 65 | 9_req_bio(buf.bio_ptr(),.self.re |
46540 | 71 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 62 75 66 2e 72 65 61 64 5f 61 6c 6c 28 29 | q).........return.buf.read_all() |
46560 | 0a 0a 20 20 20 20 64 65 66 20 73 61 76 65 5f 70 65 6d 28 73 65 6c 66 2c 20 66 69 6c 65 6e 61 6d | ......def.save_pem(self,.filenam |
46580 | 65 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 41 6e 79 53 74 72 29 20 2d 3e 20 | e):.........#.type:.(AnyStr).->. |
465a0 | 69 6e 74 0a 20 20 20 20 20 20 20 20 77 69 74 68 20 42 49 4f 2e 6f 70 65 6e 66 69 6c 65 28 66 69 | int.........with.BIO.openfile(fi |
465c0 | 6c 65 6e 61 6d 65 2c 20 27 77 62 27 29 20 61 73 20 62 69 6f 3a 0a 20 20 20 20 20 20 20 20 20 20 | lename,.'wb').as.bio:........... |
465e0 | 20 20 72 65 74 75 72 6e 20 6d 32 2e 78 35 30 39 5f 72 65 71 5f 77 72 69 74 65 5f 70 65 6d 28 62 | ..return.m2.x509_req_write_pem(b |
46600 | 69 6f 2e 62 69 6f 5f 70 74 72 28 29 2c 20 73 65 6c 66 2e 72 65 71 29 0a 0a 20 20 20 20 64 65 66 | io.bio_ptr(),.self.req)......def |
46620 | 20 73 61 76 65 28 73 65 6c 66 2c 20 66 69 6c 65 6e 61 6d 65 2c 20 66 6f 72 6d 61 74 3d 46 4f 52 | .save(self,.filename,.format=FOR |
46640 | 4d 41 54 5f 50 45 4d 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 41 6e 79 53 74 | MAT_PEM):.........#.type:.(AnySt |
46660 | 72 2c 20 69 6e 74 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 | r,.int).->.int........."""...... |
46680 | 20 20 20 53 61 76 65 73 20 58 2e 35 30 39 20 63 65 72 74 69 66 69 63 61 74 65 20 72 65 71 75 65 | ...Saves.X.509.certificate.reque |
466a0 | 73 74 20 74 6f 20 61 20 66 69 6c 65 2e 20 44 65 66 61 75 6c 74 20 6f 75 74 70 75 74 0a 20 20 20 | st.to.a.file..Default.output.... |
466c0 | 20 20 20 20 20 66 6f 72 6d 61 74 20 69 73 20 50 45 4d 2e 0a 0a 20 20 20 20 20 20 20 20 3a 70 61 | .....format.is.PEM...........:pa |
466e0 | 72 61 6d 20 66 69 6c 65 6e 61 6d 65 3a 20 4e 61 6d 65 20 6f 66 20 74 68 65 20 66 69 6c 65 20 74 | ram.filename:.Name.of.the.file.t |
46700 | 68 65 20 72 65 71 75 65 73 74 20 77 69 6c 6c 20 62 65 20 73 61 76 65 64 20 74 6f 2e 0a 0a 20 20 | he.request.will.be.saved.to..... |
46720 | 20 20 20 20 20 20 3a 70 61 72 61 6d 20 66 6f 72 6d 61 74 3a 20 43 6f 6e 74 72 6f 6c 73 20 77 68 | ......:param.format:.Controls.wh |
46740 | 61 74 20 6f 75 74 70 75 74 20 66 6f 72 6d 61 74 20 69 73 20 75 73 65 64 20 74 6f 20 73 61 76 65 | at.output.format.is.used.to.save |
46760 | 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 71 75 | .the........................requ |
46780 | 65 73 74 2e 20 45 69 74 68 65 72 20 46 4f 52 4d 41 54 5f 50 45 4d 20 6f 72 20 46 4f 52 4d 41 54 | est..Either.FORMAT_PEM.or.FORMAT |
467a0 | 5f 44 45 52 20 74 6f 20 73 61 76 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | _DER.to.save.................... |
467c0 | 20 20 20 20 69 6e 20 50 45 4d 20 6f 72 20 44 45 52 20 66 6f 72 6d 61 74 2e 20 52 61 69 73 65 73 | ....in.PEM.or.DER.format..Raises |
467e0 | 20 56 61 6c 75 65 45 72 72 6f 72 20 69 66 20 61 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .ValueError.if.an............... |
46800 | 20 20 20 20 20 20 20 20 20 75 6e 6b 6e 6f 77 6e 20 66 6f 72 6d 61 74 20 69 73 20 75 73 65 64 2e | .........unknown.format.is.used. |
46820 | 0a 0a 20 20 20 20 20 20 20 20 3a 72 65 74 75 72 6e 3a 20 31 20 66 6f 72 20 73 75 63 63 65 73 73 | ..........:return:.1.for.success |
46840 | 2c 20 30 20 66 6f 72 20 66 61 69 6c 75 72 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ,.0.for.failure................. |
46860 | 20 20 54 68 65 20 65 72 72 6f 72 20 63 6f 64 65 20 63 61 6e 20 62 65 20 6f 62 74 61 69 6e 65 64 | ..The.error.code.can.be.obtained |
46880 | 20 62 79 20 45 52 52 5f 67 65 74 5f 65 72 72 6f 72 2e 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 | .by.ERR_get_error..........""".. |
468a0 | 20 20 20 20 20 20 20 77 69 74 68 20 42 49 4f 2e 6f 70 65 6e 66 69 6c 65 28 66 69 6c 65 6e 61 6d | .......with.BIO.openfile(filenam |
468c0 | 65 2c 20 27 77 62 27 29 20 61 73 20 62 69 6f 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 | e,.'wb').as.bio:.............if. |
468e0 | 66 6f 72 6d 61 74 20 3d 3d 20 46 4f 52 4d 41 54 5f 50 45 4d 3a 0a 20 20 20 20 20 20 20 20 20 20 | format.==.FORMAT_PEM:........... |
46900 | 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 78 35 30 39 5f 72 65 71 5f 77 72 69 74 65 5f 70 | ......return.m2.x509_req_write_p |
46920 | 65 6d 28 62 69 6f 2e 62 69 6f 5f 70 74 72 28 29 2c 20 73 65 6c 66 2e 72 65 71 29 0a 20 20 20 20 | em(bio.bio_ptr(),.self.req)..... |
46940 | 20 20 20 20 20 20 20 20 65 6c 69 66 20 66 6f 72 6d 61 74 20 3d 3d 20 46 4f 52 4d 41 54 5f 44 45 | ........elif.format.==.FORMAT_DE |
46960 | 52 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 69 32 64 | R:.................return.m2.i2d |
46980 | 5f 78 35 30 39 5f 72 65 71 5f 62 69 6f 28 62 69 6f 2e 62 69 6f 5f 70 74 72 28 29 2c 20 73 65 6c | _x509_req_bio(bio.bio_ptr(),.sel |
469a0 | 66 2e 72 65 71 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 | f.req).............else:........ |
469c0 | 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 56 61 6c 75 65 45 72 72 6f 72 28 0a 20 20 20 20 20 | .........raise.ValueError(...... |
469e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 55 6e 6b 6e 6f 77 6e 20 66 69 6c 65 74 79 70 65 | ..............."Unknown.filetype |
46a00 | 2e 20 4d 75 73 74 20 62 65 20 65 69 74 68 65 72 20 46 4f 52 4d 41 54 5f 44 45 52 20 6f 72 20 46 | ..Must.be.either.FORMAT_DER.or.F |
46a20 | 4f 52 4d 41 54 5f 50 45 4d 22 29 0a 0a 20 20 20 20 64 65 66 20 67 65 74 5f 70 75 62 6b 65 79 28 | ORMAT_PEM")......def.get_pubkey( |
46a40 | 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 45 56 50 | self):.........#.type:.().->.EVP |
46a60 | 2e 50 4b 65 79 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 47 65 74 20 74 68 | .PKey.........""".........Get.th |
46a80 | 65 20 70 75 62 6c 69 63 20 6b 65 79 20 66 6f 72 20 74 68 65 20 72 65 71 75 65 73 74 2e 0a 0a 20 | e.public.key.for.the.request.... |
46aa0 | 20 20 20 20 20 20 20 3a 72 65 74 75 72 6e 3a 20 20 20 20 20 50 75 62 6c 69 63 20 6b 65 79 20 66 | .......:return:.....Public.key.f |
46ac0 | 72 6f 6d 20 74 68 65 20 72 65 71 75 65 73 74 2e 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 | rom.the.request..........""".... |
46ae0 | 20 20 20 20 20 72 65 74 75 72 6e 20 45 56 50 2e 50 4b 65 79 28 6d 32 2e 78 35 30 39 5f 72 65 71 | .....return.EVP.PKey(m2.x509_req |
46b00 | 5f 67 65 74 5f 70 75 62 6b 65 79 28 73 65 6c 66 2e 72 65 71 29 2c 20 5f 70 79 66 72 65 65 3d 31 | _get_pubkey(self.req),._pyfree=1 |
46b20 | 29 0a 0a 20 20 20 20 64 65 66 20 73 65 74 5f 70 75 62 6b 65 79 28 73 65 6c 66 2c 20 70 6b 65 79 | )......def.set_pubkey(self,.pkey |
46b40 | 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 45 56 50 2e 50 4b 65 79 29 20 2d 3e | ):.........#.type:.(EVP.PKey).-> |
46b60 | 20 69 6e 74 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 53 65 74 20 74 68 65 | .int.........""".........Set.the |
46b80 | 20 70 75 62 6c 69 63 20 6b 65 79 20 66 6f 72 20 74 68 65 20 72 65 71 75 65 73 74 2e 0a 0a 20 20 | .public.key.for.the.request..... |
46ba0 | 20 20 20 20 20 20 3a 70 61 72 61 6d 20 70 6b 65 79 3a 20 50 75 62 6c 69 63 20 6b 65 79 0a 0a 20 | ......:param.pkey:.Public.key... |
46bc0 | 20 20 20 20 20 20 20 3a 72 65 74 75 72 6e 3a 20 20 20 20 20 52 65 74 75 72 6e 20 31 20 66 6f 72 | .......:return:.....Return.1.for |
46be0 | 20 73 75 63 63 65 73 73 20 61 6e 64 20 30 20 66 6f 72 20 66 61 69 6c 75 72 65 2e 0a 20 20 20 20 | .success.and.0.for.failure...... |
46c00 | 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 78 35 30 39 5f 72 | ....""".........return.m2.x509_r |
46c20 | 65 71 5f 73 65 74 5f 70 75 62 6b 65 79 28 73 65 6c 66 2e 72 65 71 2c 20 70 6b 65 79 2e 70 6b 65 | eq_set_pubkey(self.req,.pkey.pke |
46c40 | 79 29 0a 0a 20 20 20 20 64 65 66 20 67 65 74 5f 76 65 72 73 69 6f 6e 28 73 65 6c 66 29 3a 0a 20 | y)......def.get_version(self):.. |
46c60 | 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 | .......#.type:.().->.int........ |
46c80 | 20 22 22 22 0a 20 20 20 20 20 20 20 20 47 65 74 20 76 65 72 73 69 6f 6e 2e 0a 0a 20 20 20 20 20 | .""".........Get.version........ |
46ca0 | 20 20 20 3a 72 65 74 75 72 6e 3a 20 20 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 76 65 72 73 69 | ...:return:........Returns.versi |
46cc0 | 6f 6e 2e 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d | on..........""".........return.m |
46ce0 | 32 2e 78 35 30 39 5f 72 65 71 5f 67 65 74 5f 76 65 72 73 69 6f 6e 28 73 65 6c 66 2e 72 65 71 29 | 2.x509_req_get_version(self.req) |
46d00 | 0a 0a 20 20 20 20 64 65 66 20 73 65 74 5f 76 65 72 73 69 6f 6e 28 73 65 6c 66 2c 20 76 65 72 73 | ......def.set_version(self,.vers |
46d20 | 69 6f 6e 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 69 6e 74 29 20 2d 3e 20 69 | ion):.........#.type:.(int).->.i |
46d40 | 6e 74 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 53 65 74 20 76 65 72 73 69 | nt.........""".........Set.versi |
46d60 | 6f 6e 2e 0a 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 76 65 72 73 69 6f 6e 3a 20 56 65 72 | on...........:param.version:.Ver |
46d80 | 73 69 6f 6e 20 6e 75 6d 62 65 72 2e 0a 20 20 20 20 20 20 20 20 3a 72 65 74 75 72 6e 3a 20 20 20 | sion.number..........:return:... |
46da0 | 20 20 20 20 20 52 65 74 75 72 6e 73 20 30 20 6f 6e 20 66 61 69 6c 75 72 65 2e 0a 20 20 20 20 20 | .....Returns.0.on.failure....... |
46dc0 | 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 78 35 30 39 5f 72 65 | ...""".........return.m2.x509_re |
46de0 | 71 5f 73 65 74 5f 76 65 72 73 69 6f 6e 28 73 65 6c 66 2e 72 65 71 2c 20 76 65 72 73 69 6f 6e 29 | q_set_version(self.req,.version) |
46e00 | 0a 0a 20 20 20 20 64 65 66 20 67 65 74 5f 73 75 62 6a 65 63 74 28 73 65 6c 66 29 3a 0a 20 20 20 | ......def.get_subject(self):.... |
46e20 | 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 58 35 30 39 5f 4e 61 6d 65 0a 20 20 20 | .....#.type:.().->.X509_Name.... |
46e40 | 20 20 20 20 20 72 65 74 75 72 6e 20 58 35 30 39 5f 4e 61 6d 65 28 6d 32 2e 78 35 30 39 5f 72 65 | .....return.X509_Name(m2.x509_re |
46e60 | 71 5f 67 65 74 5f 73 75 62 6a 65 63 74 5f 6e 61 6d 65 28 73 65 6c 66 2e 72 65 71 29 29 0a 0a 20 | q_get_subject_name(self.req))... |
46e80 | 20 20 20 64 65 66 20 73 65 74 5f 73 75 62 6a 65 63 74 5f 6e 61 6d 65 28 73 65 6c 66 2c 20 6e 61 | ...def.set_subject_name(self,.na |
46ea0 | 6d 65 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 58 35 30 39 5f 4e 61 6d 65 29 | me):.........#.type:.(X509_Name) |
46ec0 | 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 53 65 74 20 | .->.int.........""".........Set. |
46ee0 | 73 75 62 6a 65 63 74 20 6e 61 6d 65 2e 0a 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 6e 61 | subject.name...........:param.na |
46f00 | 6d 65 3a 20 20 20 20 73 75 62 6a 65 63 74 4e 61 6d 65 20 66 69 65 6c 64 2e 0a 20 20 20 20 20 20 | me:....subjectName.field........ |
46f20 | 20 20 3a 72 65 74 75 72 6e 3a 20 20 20 20 31 20 66 6f 72 20 73 75 63 63 65 73 73 20 61 6e 64 20 | ..:return:....1.for.success.and. |
46f40 | 30 20 66 6f 72 20 66 61 69 6c 75 72 65 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 | 0.for.failure........."""....... |
46f60 | 20 20 72 65 74 75 72 6e 20 6d 32 2e 78 35 30 39 5f 72 65 71 5f 73 65 74 5f 73 75 62 6a 65 63 74 | ..return.m2.x509_req_set_subject |
46f80 | 5f 6e 61 6d 65 28 73 65 6c 66 2e 72 65 71 2c 20 6e 61 6d 65 2e 78 35 30 39 5f 6e 61 6d 65 29 0a | _name(self.req,.name.x509_name). |
46fa0 | 0a 20 20 20 20 73 65 74 5f 73 75 62 6a 65 63 74 20 3d 20 73 65 74 5f 73 75 62 6a 65 63 74 5f 6e | .....set_subject.=.set_subject_n |
46fc0 | 61 6d 65 0a 0a 20 20 20 20 64 65 66 20 61 64 64 5f 65 78 74 65 6e 73 69 6f 6e 73 28 73 65 6c 66 | ame......def.add_extensions(self |
46fe0 | 2c 20 65 78 74 5f 73 74 61 63 6b 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 58 | ,.ext_stack):.........#.type:.(X |
47000 | 35 30 39 5f 45 78 74 65 6e 73 69 6f 6e 5f 53 74 61 63 6b 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 | 509_Extension_Stack).->.int..... |
47020 | 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 41 64 64 20 58 35 30 39 20 65 78 74 65 6e 73 69 | ....""".........Add.X509.extensi |
47040 | 6f 6e 73 20 74 6f 20 74 68 69 73 20 72 65 71 75 65 73 74 2e 0a 0a 20 20 20 20 20 20 20 20 3a 70 | ons.to.this.request...........:p |
47060 | 61 72 61 6d 20 65 78 74 5f 73 74 61 63 6b 3a 20 53 74 61 63 6b 20 6f 66 20 65 78 74 65 6e 73 69 | aram.ext_stack:.Stack.of.extensi |
47080 | 6f 6e 73 20 74 6f 20 61 64 64 2e 0a 20 20 20 20 20 20 20 20 3a 72 65 74 75 72 6e 3a 20 31 20 66 | ons.to.add..........:return:.1.f |
470a0 | 6f 72 20 73 75 63 63 65 73 73 20 61 6e 64 20 30 20 66 6f 72 20 66 61 69 6c 75 72 65 0a 20 20 20 | or.success.and.0.for.failure.... |
470c0 | 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 78 35 30 39 5f | .....""".........return.m2.x509_ |
470e0 | 72 65 71 5f 61 64 64 5f 65 78 74 65 6e 73 69 6f 6e 73 28 73 65 6c 66 2e 72 65 71 2c 20 65 78 74 | req_add_extensions(self.req,.ext |
47100 | 5f 73 74 61 63 6b 2e 5f 70 74 72 28 29 29 0a 0a 20 20 20 20 64 65 66 20 76 65 72 69 66 79 28 73 | _stack._ptr())......def.verify(s |
47120 | 65 6c 66 2c 20 70 6b 65 79 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 45 56 50 | elf,.pkey):.........#.type:.(EVP |
47140 | 2e 50 4b 65 79 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 22 22 22 0a 0a 20 20 20 20 20 | .PKey).->.int........."""....... |
47160 | 20 20 20 3a 70 61 72 61 6d 20 70 6b 65 79 3a 20 50 4b 65 79 20 74 6f 20 62 65 20 76 65 72 69 66 | ...:param.pkey:.PKey.to.be.verif |
47180 | 69 65 64 0a 20 20 20 20 20 20 20 20 3a 72 65 74 75 72 6e 3a 20 31 20 66 6f 72 20 73 75 63 63 65 | ied.........:return:.1.for.succe |
471a0 | 73 73 20 61 6e 64 20 30 20 66 6f 72 20 66 61 69 6c 75 72 65 0a 20 20 20 20 20 20 20 20 22 22 22 | ss.and.0.for.failure.........""" |
471c0 | 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 78 35 30 39 5f 72 65 71 5f 76 65 72 69 | .........return.m2.x509_req_veri |
471e0 | 66 79 28 73 65 6c 66 2e 72 65 71 2c 20 70 6b 65 79 2e 70 6b 65 79 29 0a 0a 20 20 20 20 64 65 66 | fy(self.req,.pkey.pkey)......def |
47200 | 20 73 69 67 6e 28 73 65 6c 66 2c 20 70 6b 65 79 2c 20 6d 64 29 3a 0a 20 20 20 20 20 20 20 20 23 | .sign(self,.pkey,.md):.........# |
47220 | 20 74 79 70 65 3a 20 28 45 56 50 2e 50 4b 65 79 2c 20 73 74 72 29 20 2d 3e 20 69 6e 74 0a 20 20 | .type:.(EVP.PKey,.str).->.int... |
47240 | 20 20 20 20 20 20 22 22 22 0a 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 70 6b 65 79 3a 20 | ......"""..........:param.pkey:. |
47260 | 50 4b 65 79 20 74 6f 20 62 65 20 73 69 67 6e 65 64 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d | PKey.to.be.signed.........:param |
47280 | 20 6d 64 3a 20 75 73 65 64 20 61 6c 67 6f 72 69 67 74 68 6d 0a 20 20 20 20 20 20 20 20 3a 72 65 | .md:.used.algorigthm.........:re |
472a0 | 74 75 72 6e 3a 20 31 20 66 6f 72 20 73 75 63 63 65 73 73 20 61 6e 64 20 30 20 66 6f 72 20 66 61 | turn:.1.for.success.and.0.for.fa |
472c0 | 69 6c 75 72 65 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 6d 64 61 20 3d 20 | ilure.........""".........mda.=. |
472e0 | 67 65 74 61 74 74 72 28 6d 32 2c 20 6d 64 2c 20 4e 6f 6e 65 29 0a 20 20 20 20 20 20 20 20 69 66 | getattr(m2,.md,.None).........if |
47300 | 20 6d 64 61 20 69 73 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 | .mda.is.None:.............raise. |
47320 | 56 61 6c 75 65 45 72 72 6f 72 28 27 75 6e 6b 6e 6f 77 6e 20 6d 65 73 73 61 67 65 20 64 69 67 65 | ValueError('unknown.message.dige |
47340 | 73 74 27 2c 20 6d 64 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 78 35 30 39 5f | st',.md).........return.m2.x509_ |
47360 | 72 65 71 5f 73 69 67 6e 28 73 65 6c 66 2e 72 65 71 2c 20 70 6b 65 79 2e 70 6b 65 79 2c 20 6d 64 | req_sign(self.req,.pkey.pkey,.md |
47380 | 61 28 29 29 0a 0a 0a 64 65 66 20 6c 6f 61 64 5f 72 65 71 75 65 73 74 28 66 69 6c 65 2c 20 66 6f | a())...def.load_request(file,.fo |
473a0 | 72 6d 61 74 3d 46 4f 52 4d 41 54 5f 50 45 4d 29 3a 0a 20 20 20 20 23 20 74 79 70 65 3a 20 28 41 | rmat=FORMAT_PEM):.....#.type:.(A |
473c0 | 6e 79 53 74 72 2c 20 69 6e 74 29 20 2d 3e 20 52 65 71 75 65 73 74 0a 20 20 20 20 22 22 22 0a 20 | nyStr,.int).->.Request.....""".. |
473e0 | 20 20 20 4c 6f 61 64 20 63 65 72 74 69 66 69 63 61 74 65 20 72 65 71 75 65 73 74 20 66 72 6f 6d | ...Load.certificate.request.from |
47400 | 20 66 69 6c 65 2e 0a 0a 20 20 20 20 3a 70 61 72 61 6d 20 66 69 6c 65 3a 20 4e 61 6d 65 20 6f 66 | .file.......:param.file:.Name.of |
47420 | 20 66 69 6c 65 20 63 6f 6e 74 61 69 6e 69 6e 67 20 63 65 72 74 69 66 69 63 61 74 65 20 72 65 71 | .file.containing.certificate.req |
47440 | 75 65 73 74 20 69 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 69 74 68 65 72 20 | uest.in..................either. |
47460 | 50 45 4d 20 6f 72 20 44 45 52 20 66 6f 72 6d 61 74 2e 0a 20 20 20 20 3a 70 61 72 61 6d 20 66 6f | PEM.or.DER.format......:param.fo |
47480 | 72 6d 61 74 3a 20 44 65 73 63 72 69 62 65 73 20 74 68 65 20 66 6f 72 6d 61 74 20 6f 66 20 74 68 | rmat:.Describes.the.format.of.th |
474a0 | 65 20 66 69 6c 65 20 74 6f 20 62 65 20 6c 6f 61 64 65 64 2c 0a 20 20 20 20 20 20 20 20 20 20 20 | e.file.to.be.loaded,............ |
474c0 | 20 20 20 20 20 20 20 20 65 69 74 68 65 72 20 50 45 4d 20 6f 72 20 44 45 52 2e 20 28 75 73 69 6e | ........either.PEM.or.DER..(usin |
474e0 | 67 20 63 6f 6e 73 74 61 6e 74 73 20 46 4f 52 4d 41 54 5f 50 45 4d 0a 20 20 20 20 20 20 20 20 20 | g.constants.FORMAT_PEM.......... |
47500 | 20 20 20 20 20 20 20 20 20 20 61 6e 64 20 46 4f 52 4d 41 54 5f 44 45 52 29 0a 20 20 20 20 3a 72 | ..........and.FORMAT_DER).....:r |
47520 | 65 74 75 72 6e 3a 20 52 65 71 75 65 73 74 20 6f 62 6a 65 63 74 2e 0a 20 20 20 20 22 22 22 0a 20 | eturn:.Request.object......""".. |
47540 | 20 20 20 77 69 74 68 20 42 49 4f 2e 6f 70 65 6e 66 69 6c 65 28 66 69 6c 65 29 20 61 73 20 66 3a | ...with.BIO.openfile(file).as.f: |
47560 | 0a 20 20 20 20 20 20 20 20 69 66 20 66 6f 72 6d 61 74 20 3d 3d 20 46 4f 52 4d 41 54 5f 50 45 4d | .........if.format.==.FORMAT_PEM |
47580 | 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 70 74 72 20 3d 20 6d 32 2e 78 35 30 39 5f 72 65 71 | :.............cptr.=.m2.x509_req |
475a0 | 5f 72 65 61 64 5f 70 65 6d 28 66 2e 62 69 6f 5f 70 74 72 28 29 29 0a 20 20 20 20 20 20 20 20 65 | _read_pem(f.bio_ptr()).........e |
475c0 | 6c 69 66 20 66 6f 72 6d 61 74 20 3d 3d 20 46 4f 52 4d 41 54 5f 44 45 52 3a 0a 20 20 20 20 20 20 | lif.format.==.FORMAT_DER:....... |
475e0 | 20 20 20 20 20 20 63 70 74 72 20 3d 20 6d 32 2e 64 32 69 5f 78 35 30 39 5f 72 65 71 28 66 2e 62 | ......cptr.=.m2.d2i_x509_req(f.b |
47600 | 69 6f 5f 70 74 72 28 29 29 0a 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 | io_ptr()).........else:......... |
47620 | 20 20 20 20 72 61 69 73 65 20 56 61 6c 75 65 45 72 72 6f 72 28 0a 20 20 20 20 20 20 20 20 20 20 | ....raise.ValueError(........... |
47640 | 20 20 20 20 20 20 22 55 6e 6b 6e 6f 77 6e 20 66 69 6c 65 74 79 70 65 2e 20 4d 75 73 74 20 62 65 | ......"Unknown.filetype..Must.be |
47660 | 20 65 69 74 68 65 72 20 46 4f 52 4d 41 54 5f 50 45 4d 20 6f 72 20 46 4f 52 4d 41 54 5f 44 45 52 | .either.FORMAT_PEM.or.FORMAT_DER |
47680 | 22 29 0a 0a 20 20 20 20 72 65 74 75 72 6e 20 52 65 71 75 65 73 74 28 63 70 74 72 2c 20 31 29 0a | ")......return.Request(cptr,.1). |
476a0 | 0a 0a 64 65 66 20 6c 6f 61 64 5f 72 65 71 75 65 73 74 5f 62 69 6f 28 62 69 6f 2c 20 66 6f 72 6d | ..def.load_request_bio(bio,.form |
476c0 | 61 74 3d 46 4f 52 4d 41 54 5f 50 45 4d 29 3a 0a 20 20 20 20 23 20 74 79 70 65 3a 20 28 42 49 4f | at=FORMAT_PEM):.....#.type:.(BIO |
476e0 | 2e 42 49 4f 2c 20 69 6e 74 29 20 2d 3e 20 52 65 71 75 65 73 74 0a 20 20 20 20 22 22 22 0a 20 20 | .BIO,.int).->.Request....."""... |
47700 | 20 20 4c 6f 61 64 20 63 65 72 74 69 66 69 63 61 74 65 20 72 65 71 75 65 73 74 20 66 72 6f 6d 20 | ..Load.certificate.request.from. |
47720 | 61 20 62 69 6f 2e 0a 0a 20 20 20 20 3a 70 61 72 61 6d 20 62 69 6f 3a 20 42 49 4f 20 70 6f 69 6e | a.bio.......:param.bio:.BIO.poin |
47740 | 74 69 6e 67 20 61 74 20 61 20 63 65 72 74 69 66 69 63 61 74 65 20 72 65 71 75 65 73 74 20 69 6e | ting.at.a.certificate.request.in |
47760 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 69 74 68 65 72 20 44 45 52 20 6f 72 20 50 | .................either.DER.or.P |
47780 | 45 4d 20 66 6f 72 6d 61 74 2e 0a 20 20 20 20 3a 70 61 72 61 6d 20 66 6f 72 6d 61 74 3a 20 44 65 | EM.format......:param.format:.De |
477a0 | 73 63 72 69 62 65 73 20 74 68 65 20 66 6f 72 6d 61 74 20 6f 66 20 74 68 65 20 72 65 71 75 65 73 | scribes.the.format.of.the.reques |
477c0 | 74 20 74 6f 20 62 65 20 6c 6f 61 64 65 64 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | t.to.be.loaded,................. |
477e0 | 20 20 20 65 69 74 68 65 72 20 50 45 4d 20 6f 72 20 44 45 52 2e 20 28 75 73 69 6e 67 20 63 6f 6e | ...either.PEM.or.DER..(using.con |
47800 | 73 74 61 6e 74 73 20 46 4f 52 4d 41 54 5f 50 45 4d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | stants.FORMAT_PEM............... |
47820 | 20 20 20 20 20 61 6e 64 20 46 4f 52 4d 41 54 5f 44 45 52 29 0a 20 20 20 20 3a 72 65 74 75 72 6e | .....and.FORMAT_DER).....:return |
47840 | 3a 20 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 52 65 71 75 65 73 74 20 6f 62 6a 65 63 74 2e 0a | :.M2Crypto.X509.Request.object.. |
47860 | 20 20 20 20 22 22 22 0a 20 20 20 20 69 66 20 66 6f 72 6d 61 74 20 3d 3d 20 46 4f 52 4d 41 54 5f | ....""".....if.format.==.FORMAT_ |
47880 | 50 45 4d 3a 0a 20 20 20 20 20 20 20 20 63 70 74 72 20 3d 20 6d 32 2e 78 35 30 39 5f 72 65 71 5f | PEM:.........cptr.=.m2.x509_req_ |
478a0 | 72 65 61 64 5f 70 65 6d 28 62 69 6f 2e 5f 70 74 72 28 29 29 0a 20 20 20 20 65 6c 69 66 20 66 6f | read_pem(bio._ptr()).....elif.fo |
478c0 | 72 6d 61 74 20 3d 3d 20 46 4f 52 4d 41 54 5f 44 45 52 3a 0a 20 20 20 20 20 20 20 20 63 70 74 72 | rmat.==.FORMAT_DER:.........cptr |
478e0 | 20 3d 20 6d 32 2e 64 32 69 5f 78 35 30 39 5f 72 65 71 28 62 69 6f 2e 5f 70 74 72 28 29 29 0a 20 | .=.m2.d2i_x509_req(bio._ptr()).. |
47900 | 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 72 61 69 73 65 20 56 61 6c 75 65 45 72 72 6f | ...else:.........raise.ValueErro |
47920 | 72 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 55 6e 6b 6e 6f 77 6e 20 66 6f 72 6d 61 74 2e 20 | r(............."Unknown.format.. |
47940 | 4d 75 73 74 20 62 65 20 65 69 74 68 65 72 20 46 4f 52 4d 41 54 5f 44 45 52 20 6f 72 20 46 4f 52 | Must.be.either.FORMAT_DER.or.FOR |
47960 | 4d 41 54 5f 50 45 4d 22 29 0a 0a 20 20 20 20 72 65 74 75 72 6e 20 52 65 71 75 65 73 74 28 63 70 | MAT_PEM")......return.Request(cp |
47980 | 74 72 2c 20 5f 70 79 66 72 65 65 3d 31 29 0a 0a 0a 64 65 66 20 6c 6f 61 64 5f 72 65 71 75 65 73 | tr,._pyfree=1)...def.load_reques |
479a0 | 74 5f 73 74 72 69 6e 67 28 73 74 72 69 6e 67 2c 20 66 6f 72 6d 61 74 3d 46 4f 52 4d 41 54 5f 50 | t_string(string,.format=FORMAT_P |
479c0 | 45 4d 29 3a 0a 20 20 20 20 23 20 74 79 70 65 3a 20 28 41 6e 79 53 74 72 2c 20 69 6e 74 29 20 2d | EM):.....#.type:.(AnyStr,.int).- |
479e0 | 3e 20 52 65 71 75 65 73 74 0a 20 20 20 20 22 22 22 0a 20 20 20 20 4c 6f 61 64 20 63 65 72 74 69 | >.Request.....""".....Load.certi |
47a00 | 66 69 63 61 74 65 20 72 65 71 75 65 73 74 20 66 72 6f 6d 20 61 20 73 74 72 69 6e 67 2e 0a 0a 20 | ficate.request.from.a.string.... |
47a20 | 20 20 20 3a 70 61 72 61 6d 20 73 74 72 69 6e 67 3a 20 53 74 72 69 6e 67 20 63 6f 6e 74 61 69 6e | ...:param.string:.String.contain |
47a40 | 69 6e 67 20 61 20 63 65 72 74 69 66 69 63 61 74 65 20 72 65 71 75 65 73 74 20 69 6e 0a 20 20 20 | ing.a.certificate.request.in.... |
47a60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 69 74 68 65 72 20 44 45 52 20 6f 72 20 50 45 | ................either.DER.or.PE |
47a80 | 4d 20 66 6f 72 6d 61 74 2e 0a 20 20 20 20 3a 70 61 72 61 6d 20 66 6f 72 6d 61 74 3a 20 44 65 73 | M.format......:param.format:.Des |
47aa0 | 63 72 69 62 65 73 20 74 68 65 20 66 6f 72 6d 61 74 20 6f 66 20 74 68 65 20 72 65 71 75 65 73 74 | cribes.the.format.of.the.request |
47ac0 | 20 74 6f 20 62 65 20 6c 6f 61 64 65 64 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .to.be.loaded,.................. |
47ae0 | 20 20 65 69 74 68 65 72 20 50 45 4d 20 6f 72 20 44 45 52 2e 20 28 75 73 69 6e 67 20 63 6f 6e 73 | ..either.PEM.or.DER..(using.cons |
47b00 | 74 61 6e 74 73 20 46 4f 52 4d 41 54 5f 50 45 4d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | tants.FORMAT_PEM................ |
47b20 | 20 20 20 20 61 6e 64 20 46 4f 52 4d 41 54 5f 44 45 52 29 0a 0a 20 20 20 20 3a 72 65 74 75 72 6e | ....and.FORMAT_DER)......:return |
47b40 | 3a 20 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 52 65 71 75 65 73 74 20 6f 62 6a 65 63 74 2e 0a | :.M2Crypto.X509.Request.object.. |
47b60 | 20 20 20 20 22 22 22 0a 20 20 20 20 73 74 72 69 6e 67 20 3d 20 73 69 78 2e 65 6e 73 75 72 65 5f | ....""".....string.=.six.ensure_ |
47b80 | 62 69 6e 61 72 79 28 73 74 72 69 6e 67 29 0a 20 20 20 20 62 69 6f 20 3d 20 42 49 4f 2e 4d 65 6d | binary(string).....bio.=.BIO.Mem |
47ba0 | 6f 72 79 42 75 66 66 65 72 28 73 74 72 69 6e 67 29 0a 20 20 20 20 72 65 74 75 72 6e 20 6c 6f 61 | oryBuffer(string).....return.loa |
47bc0 | 64 5f 72 65 71 75 65 73 74 5f 62 69 6f 28 62 69 6f 2c 20 66 6f 72 6d 61 74 29 0a 0a 0a 64 65 66 | d_request_bio(bio,.format)...def |
47be0 | 20 6c 6f 61 64 5f 72 65 71 75 65 73 74 5f 64 65 72 5f 73 74 72 69 6e 67 28 73 74 72 69 6e 67 29 | .load_request_der_string(string) |
47c00 | 3a 0a 20 20 20 20 23 20 74 79 70 65 3a 20 28 41 6e 79 53 74 72 29 20 2d 3e 20 52 65 71 75 65 73 | :.....#.type:.(AnyStr).->.Reques |
47c20 | 74 0a 20 20 20 20 22 22 22 0a 20 20 20 20 4c 6f 61 64 20 63 65 72 74 69 66 69 63 61 74 65 20 72 | t.....""".....Load.certificate.r |
47c40 | 65 71 75 65 73 74 20 66 72 6f 6d 20 61 20 73 74 72 69 6e 67 2e 0a 0a 20 20 20 20 3a 70 61 72 61 | equest.from.a.string.......:para |
47c60 | 6d 20 73 74 72 69 6e 67 3a 20 53 74 72 69 6e 67 20 63 6f 6e 74 61 69 6e 69 6e 67 20 61 20 63 65 | m.string:.String.containing.a.ce |
47c80 | 72 74 69 66 69 63 61 74 65 20 72 65 71 75 65 73 74 20 69 6e 20 44 45 52 20 66 6f 72 6d 61 74 2e | rtificate.request.in.DER.format. |
47ca0 | 0a 20 20 20 20 3a 72 65 74 75 72 6e 3a 20 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 52 65 71 75 | .....:return:.M2Crypto.X509.Requ |
47cc0 | 65 73 74 20 6f 62 6a 65 63 74 2e 0a 20 20 20 20 22 22 22 0a 20 20 20 20 73 74 72 69 6e 67 20 3d | est.object......""".....string.= |
47ce0 | 20 73 69 78 2e 65 6e 73 75 72 65 5f 62 69 6e 61 72 79 28 73 74 72 69 6e 67 29 0a 20 20 20 20 62 | .six.ensure_binary(string).....b |
47d00 | 69 6f 20 3d 20 42 49 4f 2e 4d 65 6d 6f 72 79 42 75 66 66 65 72 28 73 74 72 69 6e 67 29 0a 20 20 | io.=.BIO.MemoryBuffer(string)... |
47d20 | 20 20 72 65 74 75 72 6e 20 6c 6f 61 64 5f 72 65 71 75 65 73 74 5f 62 69 6f 28 62 69 6f 2c 20 46 | ..return.load_request_bio(bio,.F |
47d40 | 4f 52 4d 41 54 5f 44 45 52 29 0a 0a 0a 63 6c 61 73 73 20 43 52 4c 28 6f 62 6a 65 63 74 29 3a 0a | ORMAT_DER)...class.CRL(object):. |
47d60 | 20 20 20 20 22 22 22 0a 20 20 20 20 58 35 30 39 20 43 65 72 74 69 66 69 63 61 74 65 20 52 65 76 | ....""".....X509.Certificate.Rev |
47d80 | 6f 63 61 74 69 6f 6e 20 4c 69 73 74 0a 20 20 20 20 22 22 22 0a 0a 20 20 20 20 6d 32 5f 78 35 30 | ocation.List....."""......m2_x50 |
47da0 | 39 5f 63 72 6c 5f 66 72 65 65 20 3d 20 6d 32 2e 78 35 30 39 5f 63 72 6c 5f 66 72 65 65 0a 0a 20 | 9_crl_free.=.m2.x509_crl_free... |
47dc0 | 20 20 20 64 65 66 20 5f 5f 69 6e 69 74 5f 5f 28 73 65 6c 66 2c 20 63 72 6c 3d 4e 6f 6e 65 2c 20 | ...def.__init__(self,.crl=None,. |
47de0 | 5f 70 79 66 72 65 65 3d 30 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 4f 70 74 | _pyfree=0):.........#.type:.(Opt |
47e00 | 69 6f 6e 61 6c 5b 62 79 74 65 73 5d 2c 20 69 6e 74 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 | ional[bytes],.int).->.None...... |
47e20 | 20 20 20 22 22 22 0a 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 63 72 6c 3a 20 62 69 6e 61 | ..."""..........:param.crl:.bina |
47e40 | 72 79 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 0a 20 20 20 20 20 20 20 20 20 20 20 | ry.representation.of............ |
47e60 | 20 20 20 20 74 68 65 20 75 6e 64 65 72 6c 79 69 6e 67 20 4f 70 65 6e 53 53 4c 20 58 35 30 39 5f | ....the.underlying.OpenSSL.X509_ |
47e80 | 43 52 4c 20 6f 62 6a 65 63 74 2e 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 | CRL.object.........."""......... |
47ea0 | 69 66 20 63 72 6c 20 69 73 20 6e 6f 74 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 | if.crl.is.not.None:............. |
47ec0 | 73 65 6c 66 2e 63 72 6c 20 3d 20 63 72 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e | self.crl.=.crl.............self. |
47ee0 | 5f 70 79 66 72 65 65 20 3d 20 5f 70 79 66 72 65 65 0a 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a | _pyfree.=._pyfree.........else:. |
47f00 | 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 63 72 6c 20 3d 20 6d 32 2e 78 35 30 39 5f 63 | ............self.crl.=.m2.x509_c |
47f20 | 72 6c 5f 6e 65 77 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 70 79 66 72 65 | rl_new().............self._pyfre |
47f40 | 65 20 3d 20 31 0a 0a 20 20 20 20 64 65 66 20 5f 5f 64 65 6c 5f 5f 28 73 65 6c 66 29 3a 0a 20 20 | e.=.1......def.__del__(self):... |
47f60 | 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 | ......#.type:.().->.None........ |
47f80 | 20 69 66 20 67 65 74 61 74 74 72 28 73 65 6c 66 2c 20 27 5f 70 79 66 72 65 65 27 2c 20 30 29 3a | .if.getattr(self,.'_pyfree',.0): |
47fa0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 6d 32 5f 78 35 30 39 5f 63 72 6c 5f 66 72 | .............self.m2_x509_crl_fr |
47fc0 | 65 65 28 73 65 6c 66 2e 63 72 6c 29 0a 0a 20 20 20 20 64 65 66 20 61 73 5f 74 65 78 74 28 73 65 | ee(self.crl)......def.as_text(se |
47fe0 | 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 73 74 72 0a 20 | lf):.........#.type:.().->.str.. |
48000 | 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 52 65 74 75 72 6e 20 43 52 4c 20 69 6e | .......""".........Return.CRL.in |
48020 | 20 50 45 4d 20 66 6f 72 6d 61 74 20 69 6e 20 61 20 73 74 72 69 6e 67 2e 0a 0a 20 20 20 20 20 20 | .PEM.format.in.a.string......... |
48040 | 20 20 3a 72 65 74 75 72 6e 3a 20 53 74 72 69 6e 67 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 | ..:return:.String.containing.the |
48060 | 20 43 52 4c 20 69 6e 20 50 45 4d 20 66 6f 72 6d 61 74 2e 0a 20 20 20 20 20 20 20 20 22 22 22 0a | .CRL.in.PEM.format..........""". |
48080 | 20 20 20 20 20 20 20 20 62 75 66 20 3d 20 42 49 4f 2e 4d 65 6d 6f 72 79 42 75 66 66 65 72 28 29 | ........buf.=.BIO.MemoryBuffer() |
480a0 | 0a 20 20 20 20 20 20 20 20 6d 32 2e 78 35 30 39 5f 63 72 6c 5f 70 72 69 6e 74 28 62 75 66 2e 62 | .........m2.x509_crl_print(buf.b |
480c0 | 69 6f 5f 70 74 72 28 29 2c 20 73 65 6c 66 2e 63 72 6c 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 | io_ptr(),.self.crl).........retu |
480e0 | 72 6e 20 73 69 78 2e 65 6e 73 75 72 65 5f 74 65 78 74 28 62 75 66 2e 72 65 61 64 5f 61 6c 6c 28 | rn.six.ensure_text(buf.read_all( |
48100 | 29 29 0a 0a 0a 64 65 66 20 6c 6f 61 64 5f 63 72 6c 28 66 69 6c 65 29 3a 0a 20 20 20 20 23 20 74 | ))...def.load_crl(file):.....#.t |
48120 | 79 70 65 3a 20 28 41 6e 79 53 74 72 29 20 2d 3e 20 43 52 4c 0a 20 20 20 20 22 22 22 0a 20 20 20 | ype:.(AnyStr).->.CRL.....""".... |
48140 | 20 4c 6f 61 64 20 43 52 4c 20 66 72 6f 6d 20 66 69 6c 65 2e 0a 0a 20 20 20 20 3a 70 61 72 61 6d | .Load.CRL.from.file.......:param |
48160 | 20 66 69 6c 65 3a 20 4e 61 6d 65 20 6f 66 20 66 69 6c 65 20 63 6f 6e 74 61 69 6e 69 6e 67 20 43 | .file:.Name.of.file.containing.C |
48180 | 52 4c 20 69 6e 20 50 45 4d 20 66 6f 72 6d 61 74 2e 0a 0a 20 20 20 20 3a 72 65 74 75 72 6e 3a 20 | RL.in.PEM.format.......:return:. |
481a0 | 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 2e 43 52 4c 20 6f 62 6a 65 63 74 2e 0a 20 20 20 20 22 22 | M2Crypto.X509.CRL.object......"" |
481c0 | 22 0a 20 20 20 20 77 69 74 68 20 42 49 4f 2e 6f 70 65 6e 66 69 6c 65 28 66 69 6c 65 29 20 61 73 | ".....with.BIO.openfile(file).as |
481e0 | 20 66 3a 0a 20 20 20 20 20 20 20 20 63 70 74 72 20 3d 20 6d 32 2e 78 35 30 39 5f 63 72 6c 5f 72 | .f:.........cptr.=.m2.x509_crl_r |
48200 | 65 61 64 5f 70 65 6d 28 66 2e 62 69 6f 5f 70 74 72 28 29 29 0a 0a 20 20 20 20 72 65 74 75 72 6e | ead_pem(f.bio_ptr())......return |
48220 | 20 43 52 4c 28 63 70 74 72 2c 20 31 29 0a 94 95 f2 7e 00 00 00 00 00 00 7d 94 28 8c 09 58 35 30 | .CRL(cptr,.1)....~......}.(..X50 |
48240 | 39 45 72 72 6f 72 94 6a 7d 1f 00 00 4b 19 4b 1a 87 94 8c 15 78 35 30 39 5f 73 74 6f 72 65 5f 64 | 9Error.j}...K.K.....x509_store_d |
48260 | 65 66 61 75 6c 74 5f 63 62 94 6a 74 1f 00 00 4b 21 4b 23 87 94 8c 0d 6e 65 77 5f 65 78 74 65 6e | efault_cb.jt...K!K#....new_exten |
48280 | 73 69 6f 6e 94 6a 74 1f 00 00 4b 26 4b 36 87 94 8c 17 58 35 30 39 5f 45 78 74 65 6e 73 69 6f 6e | sion.jt...K&K6....X509_Extension |
482a0 | 2e 5f 5f 69 6e 69 74 5f 5f 94 6a 74 1f 00 00 4b 40 4b 43 87 94 8c 16 58 35 30 39 5f 45 78 74 65 | .__init__.jt...K@KC....X509_Exte |
482c0 | 6e 73 69 6f 6e 2e 5f 5f 64 65 6c 5f 5f 94 6a 74 1f 00 00 4b 45 4b 48 87 94 8c 13 58 35 30 39 5f | nsion.__del__.jt...KEKH....X509_ |
482e0 | 45 78 74 65 6e 73 69 6f 6e 2e 5f 70 74 72 94 6a 74 1f 00 00 4b 4a 4b 4c 87 94 8c 1b 58 35 30 39 | Extension._ptr.jt...KJKL....X509 |
48300 | 5f 45 78 74 65 6e 73 69 6f 6e 2e 73 65 74 5f 63 72 69 74 69 63 61 6c 94 6a 74 1f 00 00 4b 4e 4b | _Extension.set_critical.jt...KNK |
48320 | 59 87 94 8c 1b 58 35 30 39 5f 45 78 74 65 6e 73 69 6f 6e 2e 67 65 74 5f 63 72 69 74 69 63 61 6c | Y....X509_Extension.get_critical |
48340 | 94 6a 74 1f 00 00 4b 5b 4b 62 87 94 8c 17 58 35 30 39 5f 45 78 74 65 6e 73 69 6f 6e 2e 67 65 74 | .jt...K[Kb....X509_Extension.get |
48360 | 5f 6e 61 6d 65 94 6a 74 1f 00 00 4b 64 4b 69 87 94 8c 18 58 35 30 39 5f 45 78 74 65 6e 73 69 6f | _name.jt...KdKi....X509_Extensio |
48380 | 6e 2e 67 65 74 5f 76 61 6c 75 65 94 6a 74 1f 00 00 4b 6b 4b 75 87 94 8c 0e 58 35 30 39 5f 45 78 | n.get_value.jt...KkKu....X509_Ex |
483a0 | 74 65 6e 73 69 6f 6e 94 6a 7d 1f 00 00 4b 39 4b 75 87 94 8c 1d 58 35 30 39 5f 45 78 74 65 6e 73 | tension.j}...K9Ku....X509_Extens |
483c0 | 69 6f 6e 5f 53 74 61 63 6b 2e 5f 5f 69 6e 69 74 5f 5f 94 6a 74 1f 00 00 4b 86 4b 93 87 94 8c 1c | ion_Stack.__init__.jt...K.K..... |
483e0 | 58 35 30 39 5f 45 78 74 65 6e 73 69 6f 6e 5f 53 74 61 63 6b 2e 5f 5f 64 65 6c 5f 5f 94 6a 74 1f | X509_Extension_Stack.__del__.jt. |
48400 | 00 00 4b 95 4b 99 87 94 8c 1c 58 35 30 39 5f 45 78 74 65 6e 73 69 6f 6e 5f 53 74 61 63 6b 2e 5f | ..K.K.....X509_Extension_Stack._ |
48420 | 5f 6c 65 6e 5f 5f 94 6a 74 1f 00 00 4b 9b 4b 9e 87 94 8c 20 58 35 30 39 5f 45 78 74 65 6e 73 69 | _len__.jt...K.K.....X509_Extensi |
48440 | 6f 6e 5f 53 74 61 63 6b 2e 5f 5f 67 65 74 69 74 65 6d 5f 5f 94 6a 74 1f 00 00 4b a0 4b a2 87 94 | on_Stack.__getitem__.jt...K.K... |
48460 | 8c 1d 58 35 30 39 5f 45 78 74 65 6e 73 69 6f 6e 5f 53 74 61 63 6b 2e 5f 5f 69 74 65 72 5f 5f 94 | ..X509_Extension_Stack.__iter__. |
48480 | 6a 74 1f 00 00 4b a4 4b a5 87 94 8c 19 58 35 30 39 5f 45 78 74 65 6e 73 69 6f 6e 5f 53 74 61 63 | jt...K.K.....X509_Extension_Stac |
484a0 | 6b 2e 5f 70 74 72 94 6a 74 1f 00 00 4b a7 4b a9 87 94 8c 19 58 35 30 39 5f 45 78 74 65 6e 73 69 | k._ptr.jt...K.K.....X509_Extensi |
484c0 | 6f 6e 5f 53 74 61 63 6b 2e 70 75 73 68 94 6a 74 1f 00 00 4b ab 4b b6 87 94 8c 18 58 35 30 39 5f | on_Stack.push.jt...K.K.....X509_ |
484e0 | 45 78 74 65 6e 73 69 6f 6e 5f 53 74 61 63 6b 2e 70 6f 70 94 6a 74 1f 00 00 4b b8 4b c3 87 94 8c | Extension_Stack.pop.jt...K.K.... |
48500 | 14 58 35 30 39 5f 45 78 74 65 6e 73 69 6f 6e 5f 53 74 61 63 6b 94 6a 7d 1f 00 00 4b 78 4b c3 87 | .X509_Extension_Stack.j}...KxK.. |
48520 | 94 8c 18 58 35 30 39 5f 4e 61 6d 65 5f 45 6e 74 72 79 2e 5f 5f 69 6e 69 74 5f 5f 94 6a 74 1f 00 | ...X509_Name_Entry.__init__.jt.. |
48540 | 00 4b cd 4b d4 87 94 8c 17 58 35 30 39 5f 4e 61 6d 65 5f 45 6e 74 72 79 2e 5f 5f 64 65 6c 5f 5f | .K.K.....X509_Name_Entry.__del__ |
48560 | 94 6a 74 1f 00 00 4b d6 4b d9 87 94 8c 14 58 35 30 39 5f 4e 61 6d 65 5f 45 6e 74 72 79 2e 5f 70 | .jt...K.K.....X509_Name_Entry._p |
48580 | 74 72 94 6a 74 1f 00 00 4b db 4b dd 87 94 8c 1a 58 35 30 39 5f 4e 61 6d 65 5f 45 6e 74 72 79 2e | tr.jt...K.K.....X509_Name_Entry. |
485a0 | 73 65 74 5f 6f 62 6a 65 63 74 94 6a 74 1f 00 00 4b df 4b e8 87 94 8c 18 58 35 30 39 5f 4e 61 6d | set_object.jt...K.K.....X509_Nam |
485c0 | 65 5f 45 6e 74 72 79 2e 73 65 74 5f 64 61 74 61 94 6a 74 1f 00 00 4b ea 4b f2 87 94 8c 1a 58 35 | e_Entry.set_data.jt...K.K.....X5 |
485e0 | 30 39 5f 4e 61 6d 65 5f 45 6e 74 72 79 2e 67 65 74 5f 6f 62 6a 65 63 74 94 6a 74 1f 00 00 4b f4 | 09_Name_Entry.get_object.jt...K. |
48600 | 4b f7 87 94 8c 18 58 35 30 39 5f 4e 61 6d 65 5f 45 6e 74 72 79 2e 67 65 74 5f 64 61 74 61 94 6a | K.....X509_Name_Entry.get_data.j |
48620 | 74 1f 00 00 4b f9 4b fc 87 94 8c 1d 58 35 30 39 5f 4e 61 6d 65 5f 45 6e 74 72 79 2e 63 72 65 61 | t...K.K.....X509_Name_Entry.crea |
48640 | 74 65 5f 62 79 5f 74 78 74 94 6a 74 1f 00 00 4b fe 4d 00 01 87 94 8c 0f 58 35 30 39 5f 4e 61 6d | te_by_txt.jt...K.M......X509_Nam |
48660 | 65 5f 45 6e 74 72 79 94 6a 7d 1f 00 00 4b c6 4d 00 01 87 94 8c 12 58 35 30 39 5f 4e 61 6d 65 2e | e_Entry.j}...K.M......X509_Name. |
48680 | 5f 5f 69 6e 69 74 5f 5f 94 6a 74 1f 00 00 4d 1f 01 4d 2b 01 87 94 8c 11 58 35 30 39 5f 4e 61 6d | __init__.jt...M..M+.....X509_Nam |
486a0 | 65 2e 5f 5f 64 65 6c 5f 5f 94 6a 74 1f 00 00 4d 2d 01 4d 30 01 87 94 8c 11 58 35 30 39 5f 4e 61 | e.__del__.jt...M-.M0.....X509_Na |
486c0 | 6d 65 2e 5f 5f 73 74 72 5f 5f 94 6a 74 1f 00 00 4d 32 01 4d 36 01 87 94 8c 15 58 35 30 39 5f 4e | me.__str__.jt...M2.M6.....X509_N |
486e0 | 61 6d 65 2e 5f 5f 67 65 74 61 74 74 72 5f 5f 94 6a 74 1f 00 00 4d 38 01 4d 42 01 87 94 8c 15 58 | ame.__getattr__.jt...M8.MB.....X |
48700 | 35 30 39 5f 4e 61 6d 65 2e 5f 5f 73 65 74 61 74 74 72 5f 5f 94 6a 74 1f 00 00 4d 44 01 4d 4f 01 | 509_Name.__setattr__.jt...MD.MO. |
48720 | 87 94 8c 11 58 35 30 39 5f 4e 61 6d 65 2e 5f 5f 6c 65 6e 5f 5f 94 6a 74 1f 00 00 4d 51 01 4d 53 | ....X509_Name.__len__.jt...MQ.MS |
48740 | 01 87 94 8c 15 58 35 30 39 5f 4e 61 6d 65 2e 5f 5f 67 65 74 69 74 65 6d 5f 5f 94 6a 74 1f 00 00 | .....X509_Name.__getitem__.jt... |
48760 | 4d 55 01 4d 59 01 87 94 8c 12 58 35 30 39 5f 4e 61 6d 65 2e 5f 5f 69 74 65 72 5f 5f 94 6a 74 1f | MU.MY.....X509_Name.__iter__.jt. |
48780 | 00 00 4d 5b 01 4d 5d 01 87 94 8c 0e 58 35 30 39 5f 4e 61 6d 65 2e 5f 70 74 72 94 6a 74 1f 00 00 | ..M[.M].....X509_Name._ptr.jt... |
487a0 | 4d 5f 01 4d 62 01 87 94 8c 1a 58 35 30 39 5f 4e 61 6d 65 2e 61 64 64 5f 65 6e 74 72 79 5f 62 79 | M_.Mb.....X509_Name.add_entry_by |
487c0 | 5f 74 78 74 94 6a 74 1f 00 00 4d 64 01 4d 83 01 87 94 8c 15 58 35 30 39 5f 4e 61 6d 65 2e 65 6e | _txt.jt...Md.M......X509_Name.en |
487e0 | 74 72 79 5f 63 6f 75 6e 74 94 6a 74 1f 00 00 4d 85 01 4d 87 01 87 94 8c 1c 58 35 30 39 5f 4e 61 | try_count.jt...M..M......X509_Na |
48800 | 6d 65 2e 67 65 74 5f 65 6e 74 72 69 65 73 5f 62 79 5f 6e 69 64 94 6a 74 1f 00 00 4d 89 01 4d 9d | me.get_entries_by_nid.jt...M..M. |
48820 | 01 87 94 8c 11 58 35 30 39 5f 4e 61 6d 65 2e 61 73 5f 74 65 78 74 94 6a 74 1f 00 00 4d 9f 01 4d | .....X509_Name.as_text.jt...M..M |
48840 | ac 01 87 94 8c 10 58 35 30 39 5f 4e 61 6d 65 2e 61 73 5f 64 65 72 94 6a 74 1f 00 00 4d ae 01 4d | ......X509_Name.as_der.jt...M..M |
48860 | b2 01 87 94 8c 11 58 35 30 39 5f 4e 61 6d 65 2e 61 73 5f 68 61 73 68 94 6a 74 1f 00 00 4d b4 01 | ......X509_Name.as_hash.jt...M.. |
48880 | 4d b8 01 87 94 8c 09 58 35 30 39 5f 4e 61 6d 65 94 6a 7d 1f 00 00 4d 03 01 4d b8 01 87 94 8c 0d | M......X509_Name.j}...M..M...... |
488a0 | 58 35 30 39 2e 5f 5f 69 6e 69 74 5f 5f 94 6a 74 1f 00 00 4d c2 01 4d cf 01 87 94 8c 0c 58 35 30 | X509.__init__.jt...M..M......X50 |
488c0 | 39 2e 5f 5f 64 65 6c 5f 5f 94 6a 74 1f 00 00 4d d1 01 4d d4 01 87 94 8c 09 58 35 30 39 2e 5f 70 | 9.__del__.jt...M..M......X509._p |
488e0 | 74 72 94 6a 74 1f 00 00 4d d6 01 4d d9 01 87 94 8c 0c 58 35 30 39 2e 61 73 5f 74 65 78 74 94 6a | tr.jt...M..M......X509.as_text.j |
48900 | 74 1f 00 00 4d db 01 4d e0 01 87 94 8c 0b 58 35 30 39 2e 61 73 5f 64 65 72 94 6a 74 1f 00 00 4d | t...M..M......X509.as_der.jt...M |
48920 | e2 01 4d e5 01 87 94 8c 0b 58 35 30 39 2e 61 73 5f 70 65 6d 94 6a 74 1f 00 00 4d e7 01 4d eb 01 | ..M......X509.as_pem.jt...M..M.. |
48940 | 87 94 8c 0d 58 35 30 39 2e 73 61 76 65 5f 70 65 6d 94 6a 74 1f 00 00 4d ed 01 4d f4 01 87 94 8c | ....X509.save_pem.jt...M..M..... |
48960 | 09 58 35 30 39 2e 73 61 76 65 94 6a 74 1f 00 00 4d f6 01 4d 0c 02 87 94 8c 10 58 35 30 39 2e 73 | .X509.save.jt...M..M......X509.s |
48980 | 65 74 5f 76 65 72 73 69 6f 6e 94 6a 74 1f 00 00 4d 0e 02 4d 17 02 87 94 8c 13 58 35 30 39 2e 73 | et_version.jt...M..M......X509.s |
489a0 | 65 74 5f 6e 6f 74 5f 62 65 66 6f 72 65 94 6a 74 1f 00 00 4d 19 02 4d 1f 02 87 94 8c 12 58 35 30 | et_not_before.jt...M..M......X50 |
489c0 | 39 2e 73 65 74 5f 6e 6f 74 5f 61 66 74 65 72 94 6a 74 1f 00 00 4d 21 02 4d 27 02 87 94 8c 15 58 | 9.set_not_after.jt...M!.M'.....X |
489e0 | 35 30 39 2e 73 65 74 5f 73 75 62 6a 65 63 74 5f 6e 61 6d 65 94 6a 74 1f 00 00 4d 29 02 4d 2f 02 | 509.set_subject_name.jt...M).M/. |
48a00 | 87 94 8c 14 58 35 30 39 2e 73 65 74 5f 69 73 73 75 65 72 5f 6e 61 6d 65 94 6a 74 1f 00 00 4d 31 | ....X509.set_issuer_name.jt...M1 |
48a20 | 02 4d 37 02 87 94 8c 10 58 35 30 39 2e 67 65 74 5f 76 65 72 73 69 6f 6e 94 6a 74 1f 00 00 4d 39 | .M7.....X509.get_version.jt...M9 |
48a40 | 02 4d 3c 02 87 94 8c 16 58 35 30 39 2e 67 65 74 5f 73 65 72 69 61 6c 5f 6e 75 6d 62 65 72 94 6a | .M<.....X509.get_serial_number.j |
48a60 | 74 1f 00 00 4d 3e 02 4d 42 02 87 94 8c 16 58 35 30 39 2e 73 65 74 5f 73 65 72 69 61 6c 5f 6e 75 | t...M>.MB.....X509.set_serial_nu |
48a80 | 6d 62 65 72 94 6a 74 1f 00 00 4d 44 02 4d 51 02 87 94 8c 13 58 35 30 39 2e 67 65 74 5f 6e 6f 74 | mber.jt...MD.MQ.....X509.get_not |
48aa0 | 5f 62 65 66 6f 72 65 94 6a 74 1f 00 00 4d 57 02 4d 5a 02 87 94 8c 12 58 35 30 39 2e 67 65 74 5f | _before.jt...MW.MZ.....X509.get_ |
48ac0 | 6e 6f 74 5f 61 66 74 65 72 94 6a 74 1f 00 00 4d 5c 02 4d 65 02 87 94 8c 0f 58 35 30 39 2e 67 65 | not_after.jt...M\.Me.....X509.ge |
48ae0 | 74 5f 70 75 62 6b 65 79 94 6a 74 1f 00 00 4d 67 02 4d 6a 02 87 94 8c 0f 58 35 30 39 2e 73 65 74 | t_pubkey.jt...Mg.Mj.....X509.set |
48b00 | 5f 70 75 62 6b 65 79 94 6a 74 1f 00 00 4d 6c 02 4d 76 02 87 94 8c 0f 58 35 30 39 2e 67 65 74 5f | _pubkey.jt...Ml.Mv.....X509.get_ |
48b20 | 69 73 73 75 65 72 94 6a 74 1f 00 00 4d 78 02 4d 7b 02 87 94 8c 0f 58 35 30 39 2e 73 65 74 5f 69 | issuer.jt...Mx.M{.....X509.set_i |
48b40 | 73 73 75 65 72 94 6a 74 1f 00 00 4d 7d 02 4d 87 02 87 94 8c 10 58 35 30 39 2e 67 65 74 5f 73 75 | ssuer.jt...M}.M......X509.get_su |
48b60 | 62 6a 65 63 74 94 6a 74 1f 00 00 4d 89 02 4d 8c 02 87 94 8c 10 58 35 30 39 2e 73 65 74 5f 73 75 | bject.jt...M..M......X509.set_su |
48b80 | 62 6a 65 63 74 94 6a 74 1f 00 00 4d 8e 02 4d 98 02 87 94 8c 0c 58 35 30 39 2e 61 64 64 5f 65 78 | bject.jt...M..M......X509.add_ex |
48ba0 | 74 94 6a 74 1f 00 00 4d 9a 02 4d a4 02 87 94 8c 0c 58 35 30 39 2e 67 65 74 5f 65 78 74 94 6a 74 | t.jt...M..M......X509.get_ext.jt |
48bc0 | 1f 00 00 4d a6 02 4d ba 02 87 94 8c 0f 58 35 30 39 2e 67 65 74 5f 65 78 74 5f 61 74 94 6a 74 1f | ...M..M......X509.get_ext_at.jt. |
48be0 | 00 00 4d bc 02 4d c9 02 87 94 8c 12 58 35 30 39 2e 67 65 74 5f 65 78 74 5f 63 6f 75 6e 74 94 6a | ..M..M......X509.get_ext_count.j |
48c00 | 74 1f 00 00 4d cb 02 4d d0 02 87 94 8c 09 58 35 30 39 2e 73 69 67 6e 94 6a 74 1f 00 00 4d d2 02 | t...M..M......X509.sign.jt...M.. |
48c20 | 4d e2 02 87 94 8c 0b 58 35 30 39 2e 76 65 72 69 66 79 94 6a 74 1f 00 00 4d e4 02 4d ea 02 87 94 | M......X509.verify.jt...M..M.... |
48c40 | 8c 0d 58 35 30 39 2e 63 68 65 63 6b 5f 63 61 94 6a 74 1f 00 00 4d ec 02 4d f5 02 87 94 8c 12 58 | ..X509.check_ca.jt...M..M......X |
48c60 | 35 30 39 2e 63 68 65 63 6b 5f 70 75 72 70 6f 73 65 94 6a 74 1f 00 00 4d f7 02 4d 03 03 87 94 8c | 509.check_purpose.jt...M..M..... |
48c80 | 14 58 35 30 39 2e 67 65 74 5f 66 69 6e 67 65 72 70 72 69 6e 74 94 6a 74 1f 00 00 4d 05 03 4d 12 | .X509.get_fingerprint.jt...M..M. |
48ca0 | 03 87 94 8c 04 58 35 30 39 94 6a 7d 1f 00 00 4d bb 01 4d 12 03 87 94 8c 09 6c 6f 61 64 5f 63 65 | .....X509.j}...M..M......load_ce |
48cc0 | 72 74 94 6a 74 1f 00 00 4d 15 03 4d 2a 03 87 94 8c 0d 6c 6f 61 64 5f 63 65 72 74 5f 62 69 6f 94 | rt.jt...M..M*.....load_cert_bio. |
48ce0 | 6a 74 1f 00 00 4d 2d 03 4d 41 03 87 94 8c 10 6c 6f 61 64 5f 63 65 72 74 5f 73 74 72 69 6e 67 94 | jt...M-.MA.....load_cert_string. |
48d00 | 6a 74 1f 00 00 4d 44 03 4d 53 03 87 94 8c 14 6c 6f 61 64 5f 63 65 72 74 5f 64 65 72 5f 73 74 72 | jt...MD.MS.....load_cert_der_str |
48d20 | 69 6e 67 94 6a 74 1f 00 00 4d 56 03 4d 62 03 87 94 8c 1b 58 35 30 39 5f 53 74 6f 72 65 5f 43 6f | ing.jt...MV.Mb.....X509_Store_Co |
48d40 | 6e 74 65 78 74 2e 5f 5f 69 6e 69 74 5f 5f 94 6a 74 1f 00 00 4d 6c 03 4d 74 03 87 94 8c 1a 58 35 | ntext.__init__.jt...Ml.Mt.....X5 |
48d60 | 30 39 5f 53 74 6f 72 65 5f 43 6f 6e 74 65 78 74 2e 5f 5f 64 65 6c 5f 5f 94 6a 74 1f 00 00 4d 76 | 09_Store_Context.__del__.jt...Mv |
48d80 | 03 4d 7c 03 87 94 8c 17 58 35 30 39 5f 53 74 6f 72 65 5f 43 6f 6e 74 65 78 74 2e 5f 70 74 72 94 | .M|.....X509_Store_Context._ptr. |
48da0 | 6a 74 1f 00 00 4d 7e 03 4d 7f 03 87 94 8c 23 58 35 30 39 5f 53 74 6f 72 65 5f 43 6f 6e 74 65 78 | jt...M~.M.....#X509_Store_Contex |
48dc0 | 74 2e 67 65 74 5f 63 75 72 72 65 6e 74 5f 63 65 72 74 94 6a 74 1f 00 00 4d 81 03 4d 8a 03 87 94 | t.get_current_cert.jt...M..M.... |
48de0 | 8c 1c 58 35 30 39 5f 53 74 6f 72 65 5f 43 6f 6e 74 65 78 74 2e 67 65 74 5f 65 72 72 6f 72 94 6a | ..X509_Store_Context.get_error.j |
48e00 | 74 1f 00 00 4d 8c 03 4d 91 03 87 94 8c 22 58 35 30 39 5f 53 74 6f 72 65 5f 43 6f 6e 74 65 78 74 | t...M..M....."X509_Store_Context |
48e20 | 2e 67 65 74 5f 65 72 72 6f 72 5f 64 65 70 74 68 94 6a 74 1f 00 00 4d 93 03 4d 98 03 87 94 8c 1d | .get_error_depth.jt...M..M...... |
48e40 | 58 35 30 39 5f 53 74 6f 72 65 5f 43 6f 6e 74 65 78 74 2e 67 65 74 31 5f 63 68 61 69 6e 94 6a 74 | X509_Store_Context.get1_chain.jt |
48e60 | 1f 00 00 4d 9a 03 4d a2 03 87 94 8c 12 58 35 30 39 5f 53 74 6f 72 65 5f 43 6f 6e 74 65 78 74 94 | ...M..M......X509_Store_Context. |
48e80 | 6a 7d 1f 00 00 4d 65 03 4d a2 03 87 94 8c 13 58 35 30 39 5f 53 74 6f 72 65 2e 5f 5f 69 6e 69 74 | j}...Me.M......X509_Store.__init |
48ea0 | 5f 5f 94 6a 74 1f 00 00 4d ac 03 4d b6 03 87 94 8c 12 58 35 30 39 5f 53 74 6f 72 65 2e 5f 5f 64 | __.jt...M..M......X509_Store.__d |
48ec0 | 65 6c 5f 5f 94 6a 74 1f 00 00 4d b8 03 4d bb 03 87 94 8c 0f 58 35 30 39 5f 53 74 6f 72 65 2e 5f | el__.jt...M..M......X509_Store._ |
48ee0 | 70 74 72 94 6a 74 1f 00 00 4d bd 03 4d be 03 87 94 8c 14 58 35 30 39 5f 53 74 6f 72 65 2e 6c 6f | ptr.jt...M..M......X509_Store.lo |
48f00 | 61 64 5f 69 6e 66 6f 94 6a 74 1f 00 00 4d c0 03 4d c8 03 87 94 8c 13 58 35 30 39 5f 53 74 6f 72 | ad_info.jt...M..M......X509_Stor |
48f20 | 65 2e 61 64 64 5f 78 35 30 39 94 6a 74 1f 00 00 4d cc 03 4d cf 03 87 94 8c 18 58 35 30 39 5f 53 | e.add_x509.jt...M..M......X509_S |
48f40 | 74 6f 72 65 2e 73 65 74 5f 76 65 72 69 66 79 5f 63 62 94 6a 74 1f 00 00 4d d1 03 4d ea 03 87 94 | tore.set_verify_cb.jt...M..M.... |
48f60 | 8c 0a 58 35 30 39 5f 53 74 6f 72 65 94 6a 7d 1f 00 00 4d a5 03 4d ec 03 87 94 8c 13 58 35 30 39 | ..X509_Store.j}...M..M......X509 |
48f80 | 5f 53 74 61 63 6b 2e 5f 5f 69 6e 69 74 5f 5f 94 6a 74 1f 00 00 4d fd 03 4d 0a 04 87 94 8c 12 58 | _Stack.__init__.jt...M..M......X |
48fa0 | 35 30 39 5f 53 74 61 63 6b 2e 5f 5f 64 65 6c 5f 5f 94 6a 74 1f 00 00 4d 0c 04 4d 0f 04 87 94 8c | 509_Stack.__del__.jt...M..M..... |
48fc0 | 12 58 35 30 39 5f 53 74 61 63 6b 2e 5f 5f 6c 65 6e 5f 5f 94 6a 74 1f 00 00 4d 11 04 4d 14 04 87 | .X509_Stack.__len__.jt...M..M... |
48fe0 | 94 8c 16 58 35 30 39 5f 53 74 61 63 6b 2e 5f 5f 67 65 74 69 74 65 6d 5f 5f 94 6a 74 1f 00 00 4d | ...X509_Stack.__getitem__.jt...M |
49000 | 16 04 4d 18 04 87 94 8c 13 58 35 30 39 5f 53 74 61 63 6b 2e 5f 5f 69 74 65 72 5f 5f 94 6a 74 1f | ..M......X509_Stack.__iter__.jt. |
49020 | 00 00 4d 1a 04 4d 1b 04 87 94 8c 0f 58 35 30 39 5f 53 74 61 63 6b 2e 5f 70 74 72 94 6a 74 1f 00 | ..M..M......X509_Stack._ptr.jt.. |
49040 | 00 4d 1d 04 4d 1e 04 87 94 8c 0f 58 35 30 39 5f 53 74 61 63 6b 2e 70 75 73 68 94 6a 74 1f 00 00 | .M..M......X509_Stack.push.jt... |
49060 | 4d 20 04 4d 2d 04 87 94 8c 0e 58 35 30 39 5f 53 74 61 63 6b 2e 70 6f 70 94 6a 74 1f 00 00 4d 2f | M..M-.....X509_Stack.pop.jt...M/ |
49080 | 04 4d 3b 04 87 94 8c 11 58 35 30 39 5f 53 74 61 63 6b 2e 61 73 5f 64 65 72 94 6a 74 1f 00 00 4d | .M;.....X509_Stack.as_der.jt...M |
490a0 | 3d 04 4d 42 04 87 94 8c 0a 58 35 30 39 5f 53 74 61 63 6b 94 6a 7d 1f 00 00 4d ef 03 4d 42 04 87 | =.MB.....X509_Stack.j}...M..MB.. |
490c0 | 94 8c 12 6e 65 77 5f 73 74 61 63 6b 5f 66 72 6f 6d 5f 64 65 72 94 6a 74 1f 00 00 4d 45 04 4d 4e | ...new_stack_from_der.jt...ME.MN |
490e0 | 04 87 94 8c 10 52 65 71 75 65 73 74 2e 5f 5f 69 6e 69 74 5f 5f 94 6a 74 1f 00 00 4d 58 04 4d 60 | .....Request.__init__.jt...MX.M` |
49100 | 04 87 94 8c 0f 52 65 71 75 65 73 74 2e 5f 5f 64 65 6c 5f 5f 94 6a 74 1f 00 00 4d 62 04 4d 65 04 | .....Request.__del__.jt...Mb.Me. |
49120 | 87 94 8c 0f 52 65 71 75 65 73 74 2e 61 73 5f 74 65 78 74 94 6a 74 1f 00 00 4d 67 04 4d 6b 04 87 | ....Request.as_text.jt...Mg.Mk.. |
49140 | 94 8c 0e 52 65 71 75 65 73 74 2e 61 73 5f 70 65 6d 94 6a 74 1f 00 00 4d 6d 04 4d 71 04 87 94 8c | ...Request.as_pem.jt...Mm.Mq.... |
49160 | 0e 52 65 71 75 65 73 74 2e 61 73 5f 64 65 72 94 6a 74 1f 00 00 4d 73 04 4d 77 04 87 94 8c 10 52 | .Request.as_der.jt...Ms.Mw.....R |
49180 | 65 71 75 65 73 74 2e 73 61 76 65 5f 70 65 6d 94 6a 74 1f 00 00 4d 79 04 4d 7c 04 87 94 8c 0c 52 | equest.save_pem.jt...My.M|.....R |
491a0 | 65 71 75 65 73 74 2e 73 61 76 65 94 6a 74 1f 00 00 4d 7e 04 4d 95 04 87 94 8c 12 52 65 71 75 65 | equest.save.jt...M~.M......Reque |
491c0 | 73 74 2e 67 65 74 5f 70 75 62 6b 65 79 94 6a 74 1f 00 00 4d 97 04 4d 9e 04 87 94 8c 12 52 65 71 | st.get_pubkey.jt...M..M......Req |
491e0 | 75 65 73 74 2e 73 65 74 5f 70 75 62 6b 65 79 94 6a 74 1f 00 00 4d a0 04 4d a9 04 87 94 8c 13 52 | uest.set_pubkey.jt...M..M......R |
49200 | 65 71 75 65 73 74 2e 67 65 74 5f 76 65 72 73 69 6f 6e 94 6a 74 1f 00 00 4d ab 04 4d b2 04 87 94 | equest.get_version.jt...M..M.... |
49220 | 8c 13 52 65 71 75 65 73 74 2e 73 65 74 5f 76 65 72 73 69 6f 6e 94 6a 74 1f 00 00 4d b4 04 4d bc | ..Request.set_version.jt...M..M. |
49240 | 04 87 94 8c 13 52 65 71 75 65 73 74 2e 67 65 74 5f 73 75 62 6a 65 63 74 94 6a 74 1f 00 00 4d be | .....Request.get_subject.jt...M. |
49260 | 04 4d c0 04 87 94 8c 18 52 65 71 75 65 73 74 2e 73 65 74 5f 73 75 62 6a 65 63 74 5f 6e 61 6d 65 | .M......Request.set_subject_name |
49280 | 94 6a 74 1f 00 00 4d c2 04 4d ca 04 87 94 8c 16 52 65 71 75 65 73 74 2e 61 64 64 5f 65 78 74 65 | .jt...M..M......Request.add_exte |
492a0 | 6e 73 69 6f 6e 73 94 6a 74 1f 00 00 4d ce 04 4d d6 04 87 94 8c 0e 52 65 71 75 65 73 74 2e 76 65 | nsions.jt...M..M......Request.ve |
492c0 | 72 69 66 79 94 6a 74 1f 00 00 4d d8 04 4d df 04 87 94 8c 0c 52 65 71 75 65 73 74 2e 73 69 67 6e | rify.jt...M..M......Request.sign |
492e0 | 94 6a 74 1f 00 00 4d e1 04 4d ec 04 87 94 8c 07 52 65 71 75 65 73 74 94 6a 7d 1f 00 00 4d 51 04 | .jt...M..M......Request.j}...MQ. |
49300 | 4d ec 04 87 94 8c 0c 6c 6f 61 64 5f 72 65 71 75 65 73 74 94 6a 74 1f 00 00 4d ef 04 4d 04 05 87 | M......load_request.jt...M..M... |
49320 | 94 8c 10 6c 6f 61 64 5f 72 65 71 75 65 73 74 5f 62 69 6f 94 6a 74 1f 00 00 4d 07 05 4d 1b 05 87 | ...load_request_bio.jt...M..M... |
49340 | 94 8c 13 6c 6f 61 64 5f 72 65 71 75 65 73 74 5f 73 74 72 69 6e 67 94 6a 74 1f 00 00 4d 1e 05 4d | ...load_request_string.jt...M..M |
49360 | 2d 05 87 94 8c 17 6c 6f 61 64 5f 72 65 71 75 65 73 74 5f 64 65 72 5f 73 74 72 69 6e 67 94 6a 74 | -.....load_request_der_string.jt |
49380 | 1f 00 00 4d 30 05 4d 3a 05 87 94 8c 0c 43 52 4c 2e 5f 5f 69 6e 69 74 5f 5f 94 6a 74 1f 00 00 4d | ...M0.M:.....CRL.__init__.jt...M |
493a0 | 44 05 4d 50 05 87 94 8c 0b 43 52 4c 2e 5f 5f 64 65 6c 5f 5f 94 6a 74 1f 00 00 4d 52 05 4d 55 05 | D.MP.....CRL.__del__.jt...MR.MU. |
493c0 | 87 94 8c 0b 43 52 4c 2e 61 73 5f 74 65 78 74 94 6a 74 1f 00 00 4d 57 05 4d 60 05 87 94 8c 03 43 | ....CRL.as_text.jt...MW.M`.....C |
493e0 | 52 4c 94 6a 7d 1f 00 00 4d 3d 05 4d 60 05 87 94 8c 08 6c 6f 61 64 5f 63 72 6c 94 6a 74 1f 00 00 | RL.j}...M=.M`.....load_crl.jt... |
49400 | 4d 63 05 4d 6f 05 87 94 75 7d 94 28 8c 03 43 52 4c 94 6a 53 02 00 00 8c 0b 43 52 4c 2e 61 73 5f | Mc.Mo...u}.(..CRL.jS.....CRL.as_ |
49420 | 74 65 78 74 94 6a 53 02 00 00 8c 07 52 65 71 75 65 73 74 94 6a 53 02 00 00 8c 16 52 65 71 75 65 | text.jS.....Request.jS.....Reque |
49440 | 73 74 2e 61 64 64 5f 65 78 74 65 6e 73 69 6f 6e 73 94 6a 53 02 00 00 8c 0e 52 65 71 75 65 73 74 | st.add_extensions.jS.....Request |
49460 | 2e 61 73 5f 64 65 72 94 6a 53 02 00 00 8c 0e 52 65 71 75 65 73 74 2e 61 73 5f 70 65 6d 94 6a 53 | .as_der.jS.....Request.as_pem.jS |
49480 | 02 00 00 8c 0f 52 65 71 75 65 73 74 2e 61 73 5f 74 65 78 74 94 6a 53 02 00 00 8c 12 52 65 71 75 | .....Request.as_text.jS.....Requ |
494a0 | 65 73 74 2e 67 65 74 5f 70 75 62 6b 65 79 94 6a 53 02 00 00 8c 13 52 65 71 75 65 73 74 2e 67 65 | est.get_pubkey.jS.....Request.ge |
494c0 | 74 5f 73 75 62 6a 65 63 74 94 6a 53 02 00 00 8c 13 52 65 71 75 65 73 74 2e 67 65 74 5f 76 65 72 | t_subject.jS.....Request.get_ver |
494e0 | 73 69 6f 6e 94 6a 53 02 00 00 8c 0c 52 65 71 75 65 73 74 2e 73 61 76 65 94 6a 53 02 00 00 8c 10 | sion.jS.....Request.save.jS..... |
49500 | 52 65 71 75 65 73 74 2e 73 61 76 65 5f 70 65 6d 94 6a 53 02 00 00 8c 12 52 65 71 75 65 73 74 2e | Request.save_pem.jS.....Request. |
49520 | 73 65 74 5f 70 75 62 6b 65 79 94 6a 53 02 00 00 8c 18 52 65 71 75 65 73 74 2e 73 65 74 5f 73 75 | set_pubkey.jS.....Request.set_su |
49540 | 62 6a 65 63 74 5f 6e 61 6d 65 94 6a 53 02 00 00 8c 13 52 65 71 75 65 73 74 2e 73 65 74 5f 76 65 | bject_name.jS.....Request.set_ve |
49560 | 72 73 69 6f 6e 94 6a 53 02 00 00 8c 0c 52 65 71 75 65 73 74 2e 73 69 67 6e 94 6a 53 02 00 00 8c | rsion.jS.....Request.sign.jS.... |
49580 | 0e 52 65 71 75 65 73 74 2e 76 65 72 69 66 79 94 6a 53 02 00 00 8c 04 58 35 30 39 94 6a 53 02 00 | .Request.verify.jS.....X509.jS.. |
495a0 | 00 8c 0c 58 35 30 39 2e 61 64 64 5f 65 78 74 94 6a 53 02 00 00 8c 0b 58 35 30 39 2e 61 73 5f 64 | ...X509.add_ext.jS.....X509.as_d |
495c0 | 65 72 94 6a 53 02 00 00 8c 0b 58 35 30 39 2e 61 73 5f 70 65 6d 94 6a 53 02 00 00 8c 0c 58 35 30 | er.jS.....X509.as_pem.jS.....X50 |
495e0 | 39 2e 61 73 5f 74 65 78 74 94 6a 53 02 00 00 8c 0d 58 35 30 39 2e 63 68 65 63 6b 5f 63 61 94 6a | 9.as_text.jS.....X509.check_ca.j |
49600 | 53 02 00 00 8c 12 58 35 30 39 2e 63 68 65 63 6b 5f 70 75 72 70 6f 73 65 94 6a 53 02 00 00 8c 0c | S.....X509.check_purpose.jS..... |
49620 | 58 35 30 39 2e 67 65 74 5f 65 78 74 94 6a 53 02 00 00 8c 0f 58 35 30 39 2e 67 65 74 5f 65 78 74 | X509.get_ext.jS.....X509.get_ext |
49640 | 5f 61 74 94 6a 53 02 00 00 8c 12 58 35 30 39 2e 67 65 74 5f 65 78 74 5f 63 6f 75 6e 74 94 6a 53 | _at.jS.....X509.get_ext_count.jS |
49660 | 02 00 00 8c 14 58 35 30 39 2e 67 65 74 5f 66 69 6e 67 65 72 70 72 69 6e 74 94 6a 53 02 00 00 8c | .....X509.get_fingerprint.jS.... |
49680 | 0f 58 35 30 39 2e 67 65 74 5f 69 73 73 75 65 72 94 6a 53 02 00 00 8c 12 58 35 30 39 2e 67 65 74 | .X509.get_issuer.jS.....X509.get |
496a0 | 5f 6e 6f 74 5f 61 66 74 65 72 94 6a 53 02 00 00 8c 13 58 35 30 39 2e 67 65 74 5f 6e 6f 74 5f 62 | _not_after.jS.....X509.get_not_b |
496c0 | 65 66 6f 72 65 94 6a 53 02 00 00 8c 0f 58 35 30 39 2e 67 65 74 5f 70 75 62 6b 65 79 94 6a 53 02 | efore.jS.....X509.get_pubkey.jS. |
496e0 | 00 00 8c 16 58 35 30 39 2e 67 65 74 5f 73 65 72 69 61 6c 5f 6e 75 6d 62 65 72 94 6a 53 02 00 00 | ....X509.get_serial_number.jS... |
49700 | 8c 10 58 35 30 39 2e 67 65 74 5f 73 75 62 6a 65 63 74 94 6a 53 02 00 00 8c 10 58 35 30 39 2e 67 | ..X509.get_subject.jS.....X509.g |
49720 | 65 74 5f 76 65 72 73 69 6f 6e 94 6a 53 02 00 00 8c 09 58 35 30 39 2e 73 61 76 65 94 6a 53 02 00 | et_version.jS.....X509.save.jS.. |
49740 | 00 8c 0d 58 35 30 39 2e 73 61 76 65 5f 70 65 6d 94 6a 53 02 00 00 8c 0f 58 35 30 39 2e 73 65 74 | ...X509.save_pem.jS.....X509.set |
49760 | 5f 69 73 73 75 65 72 94 6a 53 02 00 00 8c 14 58 35 30 39 2e 73 65 74 5f 69 73 73 75 65 72 5f 6e | _issuer.jS.....X509.set_issuer_n |
49780 | 61 6d 65 94 6a 53 02 00 00 8c 12 58 35 30 39 2e 73 65 74 5f 6e 6f 74 5f 61 66 74 65 72 94 6a 53 | ame.jS.....X509.set_not_after.jS |
497a0 | 02 00 00 8c 13 58 35 30 39 2e 73 65 74 5f 6e 6f 74 5f 62 65 66 6f 72 65 94 6a 53 02 00 00 8c 0f | .....X509.set_not_before.jS..... |
497c0 | 58 35 30 39 2e 73 65 74 5f 70 75 62 6b 65 79 94 6a 53 02 00 00 8c 16 58 35 30 39 2e 73 65 74 5f | X509.set_pubkey.jS.....X509.set_ |
497e0 | 73 65 72 69 61 6c 5f 6e 75 6d 62 65 72 94 6a 53 02 00 00 8c 10 58 35 30 39 2e 73 65 74 5f 73 75 | serial_number.jS.....X509.set_su |
49800 | 62 6a 65 63 74 94 6a 53 02 00 00 8c 15 58 35 30 39 2e 73 65 74 5f 73 75 62 6a 65 63 74 5f 6e 61 | bject.jS.....X509.set_subject_na |
49820 | 6d 65 94 6a 53 02 00 00 8c 10 58 35 30 39 2e 73 65 74 5f 76 65 72 73 69 6f 6e 94 6a 53 02 00 00 | me.jS.....X509.set_version.jS... |
49840 | 8c 09 58 35 30 39 2e 73 69 67 6e 94 6a 53 02 00 00 8c 0b 58 35 30 39 2e 76 65 72 69 66 79 94 6a | ..X509.sign.jS.....X509.verify.j |
49860 | 53 02 00 00 8c 09 58 35 30 39 45 72 72 6f 72 94 6a 53 02 00 00 8c 0e 58 35 30 39 5f 45 78 74 65 | S.....X509Error.jS.....X509_Exte |
49880 | 6e 73 69 6f 6e 94 6a 53 02 00 00 8c 1b 58 35 30 39 5f 45 78 74 65 6e 73 69 6f 6e 2e 67 65 74 5f | nsion.jS.....X509_Extension.get_ |
498a0 | 63 72 69 74 69 63 61 6c 94 6a 53 02 00 00 8c 17 58 35 30 39 5f 45 78 74 65 6e 73 69 6f 6e 2e 67 | critical.jS.....X509_Extension.g |
498c0 | 65 74 5f 6e 61 6d 65 94 6a 53 02 00 00 8c 18 58 35 30 39 5f 45 78 74 65 6e 73 69 6f 6e 2e 67 65 | et_name.jS.....X509_Extension.ge |
498e0 | 74 5f 76 61 6c 75 65 94 6a 53 02 00 00 8c 1b 58 35 30 39 5f 45 78 74 65 6e 73 69 6f 6e 2e 73 65 | t_value.jS.....X509_Extension.se |
49900 | 74 5f 63 72 69 74 69 63 61 6c 94 6a 53 02 00 00 8c 14 58 35 30 39 5f 45 78 74 65 6e 73 69 6f 6e | t_critical.jS.....X509_Extension |
49920 | 5f 53 74 61 63 6b 94 6a 53 02 00 00 8c 18 58 35 30 39 5f 45 78 74 65 6e 73 69 6f 6e 5f 53 74 61 | _Stack.jS.....X509_Extension_Sta |
49940 | 63 6b 2e 70 6f 70 94 6a 53 02 00 00 8c 19 58 35 30 39 5f 45 78 74 65 6e 73 69 6f 6e 5f 53 74 61 | ck.pop.jS.....X509_Extension_Sta |
49960 | 63 6b 2e 70 75 73 68 94 6a 53 02 00 00 8c 09 58 35 30 39 5f 4e 61 6d 65 94 6a 53 02 00 00 8c 1a | ck.push.jS.....X509_Name.jS..... |
49980 | 58 35 30 39 5f 4e 61 6d 65 2e 61 64 64 5f 65 6e 74 72 79 5f 62 79 5f 74 78 74 94 6a 53 02 00 00 | X509_Name.add_entry_by_txt.jS... |
499a0 | 8c 10 58 35 30 39 5f 4e 61 6d 65 2e 61 73 5f 64 65 72 94 6a 53 02 00 00 8c 11 58 35 30 39 5f 4e | ..X509_Name.as_der.jS.....X509_N |
499c0 | 61 6d 65 2e 61 73 5f 68 61 73 68 94 6a 53 02 00 00 8c 11 58 35 30 39 5f 4e 61 6d 65 2e 61 73 5f | ame.as_hash.jS.....X509_Name.as_ |
499e0 | 74 65 78 74 94 6a 53 02 00 00 8c 15 58 35 30 39 5f 4e 61 6d 65 2e 65 6e 74 72 79 5f 63 6f 75 6e | text.jS.....X509_Name.entry_coun |
49a00 | 74 94 6a 53 02 00 00 8c 1c 58 35 30 39 5f 4e 61 6d 65 2e 67 65 74 5f 65 6e 74 72 69 65 73 5f 62 | t.jS.....X509_Name.get_entries_b |
49a20 | 79 5f 6e 69 64 94 6a 53 02 00 00 8c 0f 58 35 30 39 5f 4e 61 6d 65 5f 45 6e 74 72 79 94 6a 53 02 | y_nid.jS.....X509_Name_Entry.jS. |
49a40 | 00 00 8c 1d 58 35 30 39 5f 4e 61 6d 65 5f 45 6e 74 72 79 2e 63 72 65 61 74 65 5f 62 79 5f 74 78 | ....X509_Name_Entry.create_by_tx |
49a60 | 74 94 6a 53 02 00 00 8c 18 58 35 30 39 5f 4e 61 6d 65 5f 45 6e 74 72 79 2e 67 65 74 5f 64 61 74 | t.jS.....X509_Name_Entry.get_dat |
49a80 | 61 94 6a 53 02 00 00 8c 1a 58 35 30 39 5f 4e 61 6d 65 5f 45 6e 74 72 79 2e 67 65 74 5f 6f 62 6a | a.jS.....X509_Name_Entry.get_obj |
49aa0 | 65 63 74 94 6a 53 02 00 00 8c 18 58 35 30 39 5f 4e 61 6d 65 5f 45 6e 74 72 79 2e 73 65 74 5f 64 | ect.jS.....X509_Name_Entry.set_d |
49ac0 | 61 74 61 94 6a 53 02 00 00 8c 1a 58 35 30 39 5f 4e 61 6d 65 5f 45 6e 74 72 79 2e 73 65 74 5f 6f | ata.jS.....X509_Name_Entry.set_o |
49ae0 | 62 6a 65 63 74 94 6a 53 02 00 00 8c 0a 58 35 30 39 5f 53 74 61 63 6b 94 6a 53 02 00 00 8c 11 58 | bject.jS.....X509_Stack.jS.....X |
49b00 | 35 30 39 5f 53 74 61 63 6b 2e 61 73 5f 64 65 72 94 6a 53 02 00 00 8c 0e 58 35 30 39 5f 53 74 61 | 509_Stack.as_der.jS.....X509_Sta |
49b20 | 63 6b 2e 70 6f 70 94 6a 53 02 00 00 8c 0f 58 35 30 39 5f 53 74 61 63 6b 2e 70 75 73 68 94 6a 53 | ck.pop.jS.....X509_Stack.push.jS |
49b40 | 02 00 00 8c 0a 58 35 30 39 5f 53 74 6f 72 65 94 6a 53 02 00 00 8c 13 58 35 30 39 5f 53 74 6f 72 | .....X509_Store.jS.....X509_Stor |
49b60 | 65 2e 61 64 64 5f 78 35 30 39 94 6a 53 02 00 00 8c 14 58 35 30 39 5f 53 74 6f 72 65 2e 6c 6f 61 | e.add_x509.jS.....X509_Store.loa |
49b80 | 64 5f 69 6e 66 6f 94 6a 53 02 00 00 8c 18 58 35 30 39 5f 53 74 6f 72 65 2e 73 65 74 5f 76 65 72 | d_info.jS.....X509_Store.set_ver |
49ba0 | 69 66 79 5f 63 62 94 6a 53 02 00 00 8c 12 58 35 30 39 5f 53 74 6f 72 65 5f 43 6f 6e 74 65 78 74 | ify_cb.jS.....X509_Store_Context |
49bc0 | 94 6a 53 02 00 00 8c 1d 58 35 30 39 5f 53 74 6f 72 65 5f 43 6f 6e 74 65 78 74 2e 67 65 74 31 5f | .jS.....X509_Store_Context.get1_ |
49be0 | 63 68 61 69 6e 94 6a 53 02 00 00 8c 23 58 35 30 39 5f 53 74 6f 72 65 5f 43 6f 6e 74 65 78 74 2e | chain.jS....#X509_Store_Context. |
49c00 | 67 65 74 5f 63 75 72 72 65 6e 74 5f 63 65 72 74 94 6a 53 02 00 00 8c 1c 58 35 30 39 5f 53 74 6f | get_current_cert.jS.....X509_Sto |
49c20 | 72 65 5f 43 6f 6e 74 65 78 74 2e 67 65 74 5f 65 72 72 6f 72 94 6a 53 02 00 00 8c 22 58 35 30 39 | re_Context.get_error.jS...."X509 |
49c40 | 5f 53 74 6f 72 65 5f 43 6f 6e 74 65 78 74 2e 67 65 74 5f 65 72 72 6f 72 5f 64 65 70 74 68 94 6a | _Store_Context.get_error_depth.j |
49c60 | 53 02 00 00 8c 09 6c 6f 61 64 5f 63 65 72 74 94 6a 53 02 00 00 8c 0d 6c 6f 61 64 5f 63 65 72 74 | S.....load_cert.jS.....load_cert |
49c80 | 5f 62 69 6f 94 6a 53 02 00 00 8c 14 6c 6f 61 64 5f 63 65 72 74 5f 64 65 72 5f 73 74 72 69 6e 67 | _bio.jS.....load_cert_der_string |
49ca0 | 94 6a 53 02 00 00 8c 10 6c 6f 61 64 5f 63 65 72 74 5f 73 74 72 69 6e 67 94 6a 53 02 00 00 8c 08 | .jS.....load_cert_string.jS..... |
49cc0 | 6c 6f 61 64 5f 63 72 6c 94 6a 53 02 00 00 8c 0c 6c 6f 61 64 5f 72 65 71 75 65 73 74 94 6a 53 02 | load_crl.jS.....load_request.jS. |
49ce0 | 00 00 8c 10 6c 6f 61 64 5f 72 65 71 75 65 73 74 5f 62 69 6f 94 6a 53 02 00 00 8c 17 6c 6f 61 64 | ....load_request_bio.jS.....load |
49d00 | 5f 72 65 71 75 65 73 74 5f 64 65 72 5f 73 74 72 69 6e 67 94 6a 53 02 00 00 8c 13 6c 6f 61 64 5f | _request_der_string.jS.....load_ |
49d20 | 72 65 71 75 65 73 74 5f 73 74 72 69 6e 67 94 6a 53 02 00 00 8c 0d 6e 65 77 5f 65 78 74 65 6e 73 | request_string.jS.....new_extens |
49d40 | 69 6f 6e 94 6a 53 02 00 00 8c 12 6e 65 77 5f 73 74 61 63 6b 5f 66 72 6f 6d 5f 64 65 72 94 6a 53 | ion.jS.....new_stack_from_der.jS |
49d60 | 02 00 00 8c 15 78 35 30 39 5f 73 74 6f 72 65 5f 64 65 66 61 75 6c 74 5f 63 62 94 6a 53 02 00 00 | .....x509_store_default_cb.jS... |
49d80 | 75 8c 0d 4d 32 43 72 79 70 74 6f 2e 58 35 30 39 94 74 94 8c 10 4d 32 43 72 79 70 74 6f 2e 66 74 | u..M2Crypto.X509.t...M2Crypto.ft |
49da0 | 70 73 6c 69 62 94 28 58 0a 0b 00 00 66 72 6f 6d 20 5f 5f 66 75 74 75 72 65 5f 5f 20 69 6d 70 6f | pslib.(X....from.__future__.impo |
49dc0 | 72 74 20 61 62 73 6f 6c 75 74 65 5f 69 6d 70 6f 72 74 0a 0a 22 22 22 4d 32 43 72 79 70 74 6f 20 | rt.absolute_import.."""M2Crypto. |
49de0 | 63 6c 69 65 6e 74 2d 73 69 64 65 20 46 54 50 2f 54 4c 53 2e 0a 0a 54 68 69 73 20 69 6d 70 6c 65 | client-side.FTP/TLS...This.imple |
49e00 | 6d 65 6e 74 61 74 69 6f 6e 20 63 6f 6d 70 6c 69 65 73 20 77 69 74 68 20 64 72 61 66 74 2d 6d 75 | mentation.complies.with.draft-mu |
49e20 | 72 72 61 79 2d 61 75 74 68 2d 66 74 70 2d 73 73 6c 2d 30 37 2e 74 78 74 2e 0a 0a 45 78 61 6d 70 | rray-auth-ftp-ssl-07.txt...Examp |
49e40 | 6c 65 3a 0a 0a 3e 3e 3e 20 66 72 6f 6d 20 4d 32 43 72 79 70 74 6f 20 69 6d 70 6f 72 74 20 66 74 | le:..>>>.from.M2Crypto.import.ft |
49e60 | 70 73 6c 69 62 0a 3e 3e 3e 20 66 20 3d 20 66 74 70 73 6c 69 62 2e 46 54 50 5f 54 4c 53 28 29 0a | pslib.>>>.f.=.ftpslib.FTP_TLS(). |
49e80 | 3e 3e 3e 20 66 2e 63 6f 6e 6e 65 63 74 28 27 27 2c 20 39 30 32 31 29 0a 27 32 32 30 20 73 70 69 | >>>.f.connect('',.9021).'220.spi |
49ea0 | 6e 6e 61 6b 65 72 2e 64 79 6e 64 6e 73 2e 6f 72 67 20 4d 32 43 72 79 70 74 6f 20 28 4d 65 64 75 | nnaker.dyndns.org.M2Crypto.(Medu |
49ec0 | 73 61 29 20 46 54 50 2f 54 4c 53 20 73 65 72 76 65 72 20 76 30 2e 30 37 20 72 65 61 64 79 2e 27 | sa).FTP/TLS.server.v0.07.ready.' |
49ee0 | 0a 3e 3e 3e 20 66 2e 61 75 74 68 5f 74 6c 73 28 29 0a 3e 3e 3e 20 66 2e 73 65 74 5f 70 61 73 76 | .>>>.f.auth_tls().>>>.f.set_pasv |
49f00 | 28 30 29 0a 3e 3e 3e 20 66 2e 6c 6f 67 69 6e 28 27 66 74 70 27 2c 20 27 6e 67 70 73 40 27 29 0a | (0).>>>.f.login('ftp',.'ngps@'). |
49f20 | 27 32 33 30 20 4f 6b 2e 27 0a 3e 3e 3e 20 66 2e 72 65 74 72 6c 69 6e 65 73 28 27 4c 49 53 54 27 | '230.Ok.'.>>>.f.retrlines('LIST' |
49f40 | 29 0a 2d 72 77 2d 72 77 2d 72 2d 2d 20 20 20 31 20 30 20 20 20 20 20 20 20 20 31 39 38 20 20 20 | ).-rw-rw-r--...1.0........198... |
49f60 | 20 20 20 20 20 20 20 32 33 32 36 20 4a 75 6c 20 20 33 20 20 31 39 39 36 20 61 70 61 63 68 65 5f | .......2326.Jul..3..1996.apache_ |
49f80 | 70 62 2e 67 69 66 0a 64 72 77 78 72 77 78 72 2d 78 20 20 20 37 20 30 20 20 20 20 20 20 20 20 31 | pb.gif.drwxrwxr-x...7.0........1 |
49fa0 | 39 38 20 20 20 20 20 20 20 20 20 20 31 35 33 36 20 4f 63 74 20 31 30 20 20 32 30 30 30 20 6d 61 | 98..........1536.Oct.10..2000.ma |
49fc0 | 6e 75 61 6c 0a 64 72 77 78 72 77 78 72 2d 78 20 20 20 32 20 30 20 20 20 20 20 20 20 20 31 39 38 | nual.drwxrwxr-x...2.0........198 |
49fe0 | 20 20 20 20 20 20 20 20 20 20 20 35 31 32 20 4f 63 74 20 33 31 20 20 32 30 30 30 20 6d 6f 64 70 | ...........512.Oct.31..2000.modp |
4a000 | 79 0a 64 72 77 78 72 77 78 72 2d 78 20 20 20 32 20 30 20 20 20 20 20 20 20 20 31 39 38 20 20 20 | y.drwxrwxr-x...2.0........198... |
4a020 | 20 20 20 20 20 20 20 20 35 31 32 20 4f 63 74 20 33 31 20 20 32 30 30 30 20 62 6f 62 6f 0a 64 72 | ........512.Oct.31..2000.bobo.dr |
4a040 | 77 78 72 2d 78 72 2d 78 20 20 20 32 20 30 20 20 20 20 20 20 20 20 31 39 38 20 20 20 20 20 20 20 | wxr-xr-x...2.0........198....... |
4a060 | 20 20 31 34 33 33 36 20 4d 61 79 20 32 38 20 31 35 3a 35 34 20 70 6f 73 74 67 72 65 73 71 6c 0a | ..14336.May.28.15:54.postgresql. |
4a080 | 64 72 77 78 72 2d 78 72 2d 78 20 20 20 34 20 31 30 30 20 20 20 20 20 20 31 39 38 20 20 20 20 20 | drwxr-xr-x...4.100......198..... |
4a0a0 | 20 20 20 20 20 20 35 31 32 20 4d 61 79 20 31 36 20 31 37 3a 31 39 20 68 6f 6d 65 0a 64 72 77 78 | ......512.May.16.17:19.home.drwx |
4a0c0 | 72 2d 78 72 2d 78 20 20 20 37 20 31 30 30 20 20 20 20 20 20 31 30 30 20 20 20 20 20 20 20 20 20 | r-xr-x...7.100......100......... |
4a0e0 | 20 33 35 38 34 20 53 65 70 20 32 33 20 20 32 30 30 30 20 6f 70 65 6e 61 63 73 0a 64 72 77 78 72 | .3584.Sep.23..2000.openacs.drwxr |
4a100 | 2d 78 72 2d 78 20 20 31 30 20 30 20 20 20 20 20 20 20 20 30 20 20 20 20 20 20 20 20 20 20 20 20 | -xr-x..10.0........0............ |
4a120 | 20 35 31 32 20 41 75 67 20 20 35 20 20 32 30 30 30 20 70 79 74 68 6f 6e 31 2e 35 0a 2d 72 77 2d | .512.Aug..5..2000.python1.5.-rw- |
4a140 | 72 2d 2d 72 2d 2d 20 20 20 31 20 31 30 30 20 20 20 20 20 20 31 39 38 20 20 20 20 20 20 20 20 20 | r--r--...1.100......198......... |
4a160 | 20 20 33 32 36 20 4a 75 6c 20 32 39 20 30 33 3a 32 39 20 69 6e 64 65 78 2e 68 74 6d 6c 0a 64 72 | ..326.Jul.29.03:29.index.html.dr |
4a180 | 77 78 72 2d 78 72 2d 78 20 20 31 32 20 30 20 20 20 20 20 20 20 20 30 20 20 20 20 20 20 20 20 20 | wxr-xr-x..12.0........0......... |
4a1a0 | 20 20 20 20 35 31 32 20 4d 61 79 20 33 31 20 31 37 3a 30 38 20 70 79 74 68 6f 6e 32 2e 31 0a 27 | ....512.May.31.17:08.python2.1.' |
4a1c0 | 32 32 36 20 54 72 61 6e 73 66 65 72 20 63 6f 6d 70 6c 65 74 65 27 0a 3e 3e 3e 20 66 2e 71 75 69 | 226.Transfer.complete'.>>>.f.qui |
4a1e0 | 74 28 29 0a 27 32 32 31 20 47 6f 6f 64 62 79 65 2e 27 0a 3e 3e 3e 0a 0a 0a 43 6f 70 79 72 69 67 | t().'221.Goodbye.'.>>>...Copyrig |
4a200 | 68 74 20 28 63 29 20 31 39 39 39 2d 32 30 30 33 20 4e 67 20 50 68 65 6e 67 20 53 69 6f 6e 67 2e | ht.(c).1999-2003.Ng.Pheng.Siong. |
4a220 | 20 41 6c 6c 20 72 69 67 68 74 73 20 72 65 73 65 72 76 65 64 2e 22 22 22 0a 0a 23 20 57 65 20 77 | .All.rights.reserved."""..#.We.w |
4a240 | 61 6e 74 20 74 6f 20 69 6d 70 6f 72 74 20 77 68 6f 6c 65 20 73 74 64 6c 69 62 20 66 74 70 6c 69 | ant.to.import.whole.stdlib.ftpli |
4a260 | 62 20 6f 62 6a 65 63 74 73 2c 20 62 65 63 61 75 73 65 20 6f 75 72 20 75 73 65 72 73 20 77 61 6e | b.objects,.because.our.users.wan |
4a280 | 74 0a 23 20 74 6f 20 75 73 65 20 74 68 65 6d 2e 0a 66 72 6f 6d 20 66 74 70 6c 69 62 20 69 6d 70 | t.#.to.use.them..from.ftplib.imp |
4a2a0 | 6f 72 74 20 2a 20 20 23 20 6e 6f 71 61 0a 0a 23 20 4d 32 43 72 79 70 74 6f 0a 66 72 6f 6d 20 4d | ort.*..#.noqa..#.M2Crypto.from.M |
4a2c0 | 32 43 72 79 70 74 6f 20 69 6d 70 6f 72 74 20 53 53 4c 0a 0a 0a 63 6c 61 73 73 20 46 54 50 5f 54 | 2Crypto.import.SSL...class.FTP_T |
4a2e0 | 4c 53 28 46 54 50 29 3a 0a 0a 20 20 20 20 22 22 22 50 79 74 68 6f 6e 20 4f 4f 20 69 6e 74 65 72 | LS(FTP):......"""Python.OO.inter |
4a300 | 66 61 63 65 20 74 6f 20 63 6c 69 65 6e 74 2d 73 69 64 65 20 46 54 50 2f 54 4c 53 2e 22 22 22 0a | face.to.client-side.FTP/TLS.""". |
4a320 | 0a 20 20 20 20 64 65 66 20 5f 5f 69 6e 69 74 5f 5f 28 73 65 6c 66 2c 20 68 6f 73 74 3d 4e 6f 6e | .....def.__init__(self,.host=Non |
4a340 | 65 2c 20 73 73 6c 5f 63 74 78 3d 4e 6f 6e 65 29 3a 0a 20 20 20 20 20 20 20 20 22 22 22 49 6e 69 | e,.ssl_ctx=None):........."""Ini |
4a360 | 74 69 61 6c 69 73 65 20 74 68 65 20 63 6c 69 65 6e 74 2e 20 49 66 20 27 68 6f 73 74 27 20 69 73 | tialise.the.client..If.'host'.is |
4a380 | 20 73 75 70 70 6c 69 65 64 2c 20 63 6f 6e 6e 65 63 74 20 74 6f 20 69 74 2e 22 22 22 0a 20 20 20 | .supplied,.connect.to.it.""".... |
4a3a0 | 20 20 20 20 20 69 66 20 73 73 6c 5f 63 74 78 20 69 73 20 6e 6f 74 20 4e 6f 6e 65 3a 0a 20 20 20 | .....if.ssl_ctx.is.not.None:.... |
4a3c0 | 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 73 6c 5f 63 74 78 20 3d 20 73 73 6c 5f 63 74 78 0a | .........self.ssl_ctx.=.ssl_ctx. |
4a3e0 | 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 | ........else:.............self.s |
4a400 | 73 6c 5f 63 74 78 20 3d 20 53 53 4c 2e 43 6f 6e 74 65 78 74 28 29 0a 20 20 20 20 20 20 20 20 46 | sl_ctx.=.SSL.Context().........F |
4a420 | 54 50 2e 5f 5f 69 6e 69 74 5f 5f 28 73 65 6c 66 2c 20 68 6f 73 74 29 0a 20 20 20 20 20 20 20 20 | TP.__init__(self,.host)......... |
4a440 | 73 65 6c 66 2e 70 72 6f 74 20 3d 20 30 0a 0a 20 20 20 20 64 65 66 20 61 75 74 68 5f 74 6c 73 28 | self.prot.=.0......def.auth_tls( |
4a460 | 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 22 22 22 53 65 63 75 72 65 20 74 68 65 20 63 6f 6e | self):........."""Secure.the.con |
4a480 | 74 72 6f 6c 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 70 65 72 20 41 55 54 48 20 54 4c 53 2c 20 61 6b | trol.connection.per.AUTH.TLS,.ak |
4a4a0 | 61 20 41 55 54 48 20 54 4c 53 2d 43 2e 22 22 22 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 76 6f | a.AUTH.TLS-C.""".........self.vo |
4a4c0 | 69 64 63 6d 64 28 27 41 55 54 48 20 54 4c 53 27 29 0a 20 20 20 20 20 20 20 20 73 20 3d 20 53 53 | idcmd('AUTH.TLS').........s.=.SS |
4a4e0 | 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 28 73 65 6c 66 2e 73 73 6c 5f 63 74 78 2c 20 73 65 6c 66 2e | L.Connection(self.ssl_ctx,.self. |
4a500 | 73 6f 63 6b 29 0a 20 20 20 20 20 20 20 20 73 2e 73 65 74 75 70 5f 73 73 6c 28 29 0a 20 20 20 20 | sock).........s.setup_ssl()..... |
4a520 | 20 20 20 20 73 2e 73 65 74 5f 63 6f 6e 6e 65 63 74 5f 73 74 61 74 65 28 29 0a 20 20 20 20 20 20 | ....s.set_connect_state()....... |
4a540 | 20 20 73 2e 63 6f 6e 6e 65 63 74 5f 73 73 6c 28 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 | ..s.connect_ssl().........self.s |
4a560 | 6f 63 6b 20 3d 20 73 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 66 69 6c 65 20 3d 20 73 65 6c 66 | ock.=.s.........self.file.=.self |
4a580 | 2e 73 6f 63 6b 2e 6d 61 6b 65 66 69 6c 65 28 29 0a 0a 20 20 20 20 64 65 66 20 61 75 74 68 5f 73 | .sock.makefile()......def.auth_s |
4a5a0 | 73 6c 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 22 22 22 53 65 63 75 72 65 20 74 68 65 20 | sl(self):........."""Secure.the. |
4a5c0 | 63 6f 6e 74 72 6f 6c 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 70 65 72 20 41 55 54 48 20 53 53 4c 2c | control.connection.per.AUTH.SSL, |
4a5e0 | 20 61 6b 61 20 41 55 54 48 20 54 4c 53 2d 50 2e 22 22 22 0a 20 20 20 20 20 20 20 20 72 61 69 73 | .aka.AUTH.TLS-P.""".........rais |
4a600 | 65 20 4e 6f 74 49 6d 70 6c 65 6d 65 6e 74 65 64 45 72 72 6f 72 0a 0a 20 20 20 20 64 65 66 20 70 | e.NotImplementedError......def.p |
4a620 | 72 6f 74 5f 70 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 22 22 22 53 65 74 20 75 70 20 73 | rot_p(self):........."""Set.up.s |
4a640 | 65 63 75 72 65 20 64 61 74 61 20 63 6f 6e 6e 65 63 74 69 6f 6e 2e 22 22 22 0a 20 20 20 20 20 20 | ecure.data.connection."""....... |
4a660 | 20 20 73 65 6c 66 2e 76 6f 69 64 63 6d 64 28 27 50 42 53 5a 20 30 27 29 0a 20 20 20 20 20 20 20 | ..self.voidcmd('PBSZ.0')........ |
4a680 | 20 73 65 6c 66 2e 76 6f 69 64 63 6d 64 28 27 50 52 4f 54 20 50 27 29 0a 20 20 20 20 20 20 20 20 | .self.voidcmd('PROT.P')......... |
4a6a0 | 73 65 6c 66 2e 70 72 6f 74 20 3d 20 31 0a 0a 20 20 20 20 64 65 66 20 70 72 6f 74 5f 63 28 73 65 | self.prot.=.1......def.prot_c(se |
4a6c0 | 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 22 22 22 53 65 74 20 75 70 20 64 61 74 61 20 63 6f 6e 6e | lf):........."""Set.up.data.conn |
4a6e0 | 65 63 74 69 6f 6e 20 69 6e 20 74 68 65 20 63 6c 65 61 72 2e 22 22 22 0a 20 20 20 20 20 20 20 20 | ection.in.the.clear."""......... |
4a700 | 73 65 6c 66 2e 76 6f 69 64 63 6d 64 28 27 50 52 4f 54 20 43 27 29 0a 20 20 20 20 20 20 20 20 73 | self.voidcmd('PROT.C').........s |
4a720 | 65 6c 66 2e 70 72 6f 74 20 3d 20 30 0a 0a 20 20 20 20 64 65 66 20 6e 74 72 61 6e 73 66 65 72 63 | elf.prot.=.0......def.ntransferc |
4a740 | 6d 64 28 73 65 6c 66 2c 20 63 6d 64 2c 20 72 65 73 74 3d 4e 6f 6e 65 29 3a 0a 20 20 20 20 20 20 | md(self,.cmd,.rest=None):....... |
4a760 | 20 20 22 22 22 49 6e 69 74 69 61 74 65 20 61 20 64 61 74 61 20 74 72 61 6e 73 66 65 72 2e 22 22 | .."""Initiate.a.data.transfer."" |
4a780 | 22 0a 20 20 20 20 20 20 20 20 63 6f 6e 6e 2c 20 73 69 7a 65 20 3d 20 46 54 50 2e 6e 74 72 61 6e | ".........conn,.size.=.FTP.ntran |
4a7a0 | 73 66 65 72 63 6d 64 28 73 65 6c 66 2c 20 63 6d 64 2c 20 72 65 73 74 29 0a 20 20 20 20 20 20 20 | sfercmd(self,.cmd,.rest)........ |
4a7c0 | 20 69 66 20 73 65 6c 66 2e 70 72 6f 74 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 6e 20 | .if.self.prot:.............conn. |
4a7e0 | 3d 20 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 28 73 65 6c 66 2e 73 73 6c 5f 63 74 78 2c 20 63 | =.SSL.Connection(self.ssl_ctx,.c |
4a800 | 6f 6e 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 6e 2e 73 65 74 75 70 5f 73 73 6c 28 | onn).............conn.setup_ssl( |
4a820 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 6e 2e 73 65 74 5f 63 6f 6e 6e 65 63 74 5f 73 | ).............conn.set_connect_s |
4a840 | 74 61 74 65 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 6e 2e 73 65 74 5f 73 65 73 73 | tate().............conn.set_sess |
4a860 | 69 6f 6e 28 73 65 6c 66 2e 73 6f 63 6b 2e 67 65 74 5f 73 65 73 73 69 6f 6e 28 29 29 0a 20 20 20 | ion(self.sock.get_session()).... |
4a880 | 20 20 20 20 20 20 20 20 20 63 6f 6e 6e 2e 63 6f 6e 6e 65 63 74 5f 73 73 6c 28 29 0a 20 20 20 20 | .........conn.connect_ssl()..... |
4a8a0 | 20 20 20 20 72 65 74 75 72 6e 20 63 6f 6e 6e 2c 20 73 69 7a 65 0a 94 7d 94 28 8c 10 46 54 50 5f | ....return.conn,.size..}.(..FTP_ |
4a8c0 | 54 4c 53 2e 5f 5f 69 6e 69 74 5f 5f 94 6a 74 1f 00 00 4b 30 4b 37 87 94 8c 10 46 54 50 5f 54 4c | TLS.__init__.jt...K0K7....FTP_TL |
4a8e0 | 53 2e 61 75 74 68 5f 74 6c 73 94 6a 74 1f 00 00 4b 39 4b 41 87 94 8c 10 46 54 50 5f 54 4c 53 2e | S.auth_tls.jt...K9KA....FTP_TLS. |
4a900 | 61 75 74 68 5f 73 73 6c 94 6a 74 1f 00 00 4b 43 4b 45 87 94 8c 0e 46 54 50 5f 54 4c 53 2e 70 72 | auth_ssl.jt...KCKE....FTP_TLS.pr |
4a920 | 6f 74 5f 70 94 6a 74 1f 00 00 4b 47 4b 4b 87 94 8c 0e 46 54 50 5f 54 4c 53 2e 70 72 6f 74 5f 63 | ot_p.jt...KGKK....FTP_TLS.prot_c |
4a940 | 94 6a 74 1f 00 00 4b 4d 4b 50 87 94 8c 14 46 54 50 5f 54 4c 53 2e 6e 74 72 61 6e 73 66 65 72 63 | .jt...KMKP....FTP_TLS.ntransferc |
4a960 | 6d 64 94 6a 74 1f 00 00 4b 52 4b 5b 87 94 8c 07 46 54 50 5f 54 4c 53 94 6a 7d 1f 00 00 4b 2c 4b | md.jt...KRK[....FTP_TLS.j}...K,K |
4a980 | 5b 87 94 75 7d 94 28 8c 07 46 54 50 5f 54 4c 53 94 6a 53 02 00 00 8c 10 46 54 50 5f 54 4c 53 2e | [..u}.(..FTP_TLS.jS.....FTP_TLS. |
4a9a0 | 61 75 74 68 5f 73 73 6c 94 6a 53 02 00 00 8c 10 46 54 50 5f 54 4c 53 2e 61 75 74 68 5f 74 6c 73 | auth_ssl.jS.....FTP_TLS.auth_tls |
4a9c0 | 94 6a 53 02 00 00 8c 14 46 54 50 5f 54 4c 53 2e 6e 74 72 61 6e 73 66 65 72 63 6d 64 94 6a 53 02 | .jS.....FTP_TLS.ntransfercmd.jS. |
4a9e0 | 00 00 8c 0e 46 54 50 5f 54 4c 53 2e 70 72 6f 74 5f 63 94 6a 53 02 00 00 8c 0e 46 54 50 5f 54 4c | ....FTP_TLS.prot_c.jS.....FTP_TL |
4aa00 | 53 2e 70 72 6f 74 5f 70 94 6a 53 02 00 00 75 8c 10 4d 32 43 72 79 70 74 6f 2e 66 74 70 73 6c 69 | S.prot_p.jS...u..M2Crypto.ftpsli |
4aa20 | 62 94 74 94 8c 11 4d 32 43 72 79 70 74 6f 2e 68 74 74 70 73 6c 69 62 94 28 58 32 28 00 00 66 72 | b.t...M2Crypto.httpslib.(X2(..fr |
4aa40 | 6f 6d 20 5f 5f 66 75 74 75 72 65 5f 5f 20 69 6d 70 6f 72 74 20 61 62 73 6f 6c 75 74 65 5f 69 6d | om.__future__.import.absolute_im |
4aa60 | 70 6f 72 74 0a 0a 69 6d 70 6f 72 74 20 77 61 72 6e 69 6e 67 73 0a 0a 22 22 22 4d 32 43 72 79 70 | port..import.warnings.."""M2Cryp |
4aa80 | 74 6f 20 73 75 70 70 6f 72 74 20 66 6f 72 20 50 79 74 68 6f 6e 27 73 20 68 74 74 70 6c 69 62 2e | to.support.for.Python's.httplib. |
4aaa0 | 0a 0a 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 39 39 2d 32 30 30 34 20 4e 67 20 50 68 65 | ..Copyright.(c).1999-2004.Ng.Phe |
4aac0 | 6e 67 20 53 69 6f 6e 67 2e 20 41 6c 6c 20 72 69 67 68 74 73 20 72 65 73 65 72 76 65 64 2e 22 22 | ng.Siong..All.rights.reserved."" |
4aae0 | 22 0a 0a 69 6d 70 6f 72 74 20 62 61 73 65 36 34 0a 69 6d 70 6f 72 74 20 73 6f 63 6b 65 74 0a 0a | "..import.base64.import.socket.. |
4ab00 | 66 72 6f 6d 20 4d 32 43 72 79 70 74 6f 20 69 6d 70 6f 72 74 20 53 53 4c 2c 20 70 79 32 37 70 6c | from.M2Crypto.import.SSL,.py27pl |
4ab20 | 75 73 2c 20 73 69 78 0a 66 72 6f 6d 20 4d 32 43 72 79 70 74 6f 2e 73 69 78 2e 6d 6f 76 65 73 2e | us,.six.from.M2Crypto.six.moves. |
4ab40 | 75 72 6c 6c 69 62 5f 70 61 72 73 65 20 69 6d 70 6f 72 74 20 75 72 6c 73 70 6c 69 74 2c 20 75 72 | urllib_parse.import.urlsplit,.ur |
4ab60 | 6c 75 6e 73 70 6c 69 74 0a 66 72 6f 6d 20 4d 32 43 72 79 70 74 6f 2e 73 69 78 2e 6d 6f 76 65 73 | lunsplit.from.M2Crypto.six.moves |
4ab80 | 2e 68 74 74 70 5f 63 6c 69 65 6e 74 20 69 6d 70 6f 72 74 20 2a 20 20 23 20 6e 6f 71 61 0a 23 20 | .http_client.import.*..#.noqa.#. |
4aba0 | 54 68 69 73 20 69 73 20 6e 6f 74 20 69 6d 70 6f 72 74 65 64 20 77 69 74 68 20 6a 75 73 74 20 27 | This.is.not.imported.with.just.' |
4abc0 | 2a 27 0a 66 72 6f 6d 20 4d 32 43 72 79 70 74 6f 2e 73 69 78 2e 6d 6f 76 65 73 2e 68 74 74 70 5f | *'.from.M2Crypto.six.moves.http_ |
4abe0 | 63 6c 69 65 6e 74 20 69 6d 70 6f 72 74 20 48 54 54 50 53 5f 50 4f 52 54 0a 69 66 20 70 79 32 37 | client.import.HTTPS_PORT.if.py27 |
4ac00 | 70 6c 75 73 3a 0a 20 20 20 20 66 72 6f 6d 20 74 79 70 69 6e 67 20 69 6d 70 6f 72 74 20 41 6e 79 | plus:.....from.typing.import.Any |
4ac20 | 2c 20 41 6e 79 53 74 72 2c 20 43 61 6c 6c 61 62 6c 65 2c 20 44 69 63 74 2c 20 4c 69 73 74 2c 20 | ,.AnyStr,.Callable,.Dict,.List,. |
4ac40 | 4f 70 74 69 6f 6e 61 6c 20 20 23 20 6e 6f 71 61 0a 0a 0a 63 6c 61 73 73 20 48 54 54 50 53 43 6f | Optional..#.noqa...class.HTTPSCo |
4ac60 | 6e 6e 65 63 74 69 6f 6e 28 48 54 54 50 43 6f 6e 6e 65 63 74 69 6f 6e 29 3a 0a 0a 20 20 20 20 22 | nnection(HTTPConnection):......" |
4ac80 | 22 22 0a 20 20 20 20 54 68 69 73 20 63 6c 61 73 73 20 61 6c 6c 6f 77 73 20 63 6f 6d 6d 75 6e 69 | "".....This.class.allows.communi |
4aca0 | 63 61 74 69 6f 6e 20 76 69 61 20 53 53 4c 20 75 73 69 6e 67 20 4d 32 43 72 79 70 74 6f 2e 0a 20 | cation.via.SSL.using.M2Crypto... |
4acc0 | 20 20 20 22 22 22 0a 0a 20 20 20 20 64 65 66 61 75 6c 74 5f 70 6f 72 74 20 3d 20 48 54 54 50 53 | ..."""......default_port.=.HTTPS |
4ace0 | 5f 50 4f 52 54 0a 0a 20 20 20 20 64 65 66 20 5f 5f 69 6e 69 74 5f 5f 28 73 65 6c 66 2c 20 68 6f | _PORT......def.__init__(self,.ho |
4ad00 | 73 74 2c 20 70 6f 72 74 3d 4e 6f 6e 65 2c 20 73 74 72 69 63 74 3d 4e 6f 6e 65 2c 20 2a 2a 73 73 | st,.port=None,.strict=None,.**ss |
4ad20 | 6c 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 73 74 72 2c 20 4f 70 74 69 6f 6e | l):.........#.type:.(str,.Option |
4ad40 | 61 6c 5b 69 6e 74 5d 2c 20 4f 70 74 69 6f 6e 61 6c 5b 62 6f 6f 6c 5d 2c 20 2a 2a 41 6e 79 29 20 | al[int],.Optional[bool],.**Any). |
4ad60 | 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 52 65 70 72 | ->.None.........""".........Repr |
4ad80 | 65 73 65 6e 74 73 20 6f 6e 65 20 74 72 61 6e 73 61 63 74 69 6f 6e 20 77 69 74 68 20 61 6e 20 48 | esents.one.transaction.with.an.H |
4ada0 | 54 54 50 20 73 65 72 76 65 72 20 6f 76 65 72 20 74 68 65 20 53 53 4c 0a 20 20 20 20 20 20 20 20 | TTP.server.over.the.SSL......... |
4adc0 | 63 6f 6e 6e 65 63 74 69 6f 6e 2e 0a 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 68 6f 73 74 | connection...........:param.host |
4ade0 | 3a 20 68 6f 73 74 20 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 70 6f 72 74 3a | :.host.name.........:param.port: |
4ae00 | 20 70 6f 72 74 20 6e 75 6d 62 65 72 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 73 74 72 69 | .port.number.........:param.stri |
4ae20 | 63 74 3a 20 69 66 20 73 77 69 74 63 68 65 64 20 6f 6e 2c 20 69 74 20 72 61 69 73 65 73 20 42 61 | ct:.if.switched.on,.it.raises.Ba |
4ae40 | 64 53 74 61 74 75 73 4c 69 6e 65 20 74 6f 20 62 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | dStatusLine.to.be............... |
4ae60 | 20 20 20 20 20 20 20 20 20 72 61 69 73 65 64 20 69 66 20 74 68 65 20 73 74 61 74 75 73 20 6c 69 | .........raised.if.the.status.li |
4ae80 | 6e 65 20 63 61 6e 27 74 20 62 65 20 70 61 72 73 65 64 20 61 73 0a 20 20 20 20 20 20 20 20 20 20 | ne.can't.be.parsed.as........... |
4aea0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 61 20 76 61 6c 69 64 20 48 54 54 50 2f 31 2e 30 20 6f 72 | .............a.valid.HTTP/1.0.or |
4aec0 | 20 31 2e 31 20 73 74 61 74 75 73 20 6c 69 6e 65 2e 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d | .1.1.status.line..........:param |
4aee0 | 20 73 73 6c 3a 20 64 69 63 74 20 77 69 74 68 20 61 6c 6c 20 72 65 6d 61 69 6e 69 6e 67 20 6e 61 | .ssl:.dict.with.all.remaining.na |
4af00 | 6d 65 64 20 72 65 61 6c 20 70 61 72 61 6d 65 74 65 72 73 20 6f 66 20 74 68 65 0a 20 20 20 20 20 | med.real.parameters.of.the...... |
4af20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 2e 20 53 70 65 63 69 66 69 | ...............function..Specifi |
4af40 | 63 61 6c 6c 79 2c 20 60 60 73 73 6c 5f 63 6f 6e 74 65 78 74 60 60 20 69 73 20 65 78 70 65 63 74 | cally,.``ssl_context``.is.expect |
4af60 | 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 6f 20 62 65 20 69 6e 63 | ed.....................to.be.inc |
4af80 | 6c 75 64 65 64 20 77 69 74 68 20 53 53 4c 2e 43 6f 6e 74 65 78 74 3b 20 69 66 20 69 74 20 69 73 | luded.with.SSL.Context;.if.it.is |
4afa0 | 20 6e 6f 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65 66 61 75 6c 74 | .not.....................default |
4afc0 | 20 60 60 27 73 73 6c 76 32 33 27 60 60 20 69 73 20 73 75 62 73 74 69 74 75 74 65 64 29 2e 0a 20 | .``'sslv23'``.is.substituted)... |
4afe0 | 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 65 73 73 69 6f 6e 20 | .......""".........self.session. |
4b000 | 3d 20 4e 6f 6e 65 20 20 23 20 74 79 70 65 3a 20 62 79 74 65 73 0a 20 20 20 20 20 20 20 20 73 65 | =.None..#.type:.bytes.........se |
4b020 | 6c 66 2e 68 6f 73 74 20 3d 20 68 6f 73 74 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 70 6f 72 74 | lf.host.=.host.........self.port |
4b040 | 20 3d 20 70 6f 72 74 0a 20 20 20 20 20 20 20 20 6b 65 79 73 20 3d 20 73 65 74 28 73 73 6c 2e 6b | .=.port.........keys.=.set(ssl.k |
4b060 | 65 79 73 28 29 29 20 2d 20 73 65 74 28 28 27 6b 65 79 5f 66 69 6c 65 27 2c 20 27 63 65 72 74 5f | eys()).-.set(('key_file',.'cert_ |
4b080 | 66 69 6c 65 27 2c 20 27 73 73 6c 5f 63 6f 6e 74 65 78 74 27 29 29 0a 20 20 20 20 20 20 20 20 69 | file',.'ssl_context')).........i |
4b0a0 | 66 20 6b 65 79 73 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 56 61 6c 75 65 45 | f.keys:.............raise.ValueE |
4b0c0 | 72 72 6f 72 28 27 75 6e 6b 6e 6f 77 6e 20 6b 65 79 77 6f 72 64 20 61 72 67 75 6d 65 6e 74 3a 20 | rror('unknown.keyword.argument:. |
4b0e0 | 25 73 27 2c 20 6b 65 79 73 29 0a 20 20 20 20 20 20 20 20 74 72 79 3a 0a 20 20 20 20 20 20 20 20 | %s',.keys).........try:......... |
4b100 | 20 20 20 20 73 65 6c 66 2e 73 73 6c 5f 63 74 78 20 3d 20 73 73 6c 5b 27 73 73 6c 5f 63 6f 6e 74 | ....self.ssl_ctx.=.ssl['ssl_cont |
4b120 | 65 78 74 27 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 61 73 73 65 72 74 20 69 73 69 6e 73 74 61 | ext'].............assert.isinsta |
4b140 | 6e 63 65 28 73 65 6c 66 2e 73 73 6c 5f 63 74 78 2c 20 53 53 4c 2e 43 6f 6e 74 65 78 74 29 2c 20 | nce(self.ssl_ctx,.SSL.Context),. |
4b160 | 73 65 6c 66 2e 73 73 6c 5f 63 74 78 0a 20 20 20 20 20 20 20 20 65 78 63 65 70 74 20 4b 65 79 45 | self.ssl_ctx.........except.KeyE |
4b180 | 72 72 6f 72 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 73 6c 5f 63 74 78 20 3d | rror:.............self.ssl_ctx.= |
4b1a0 | 20 53 53 4c 2e 43 6f 6e 74 65 78 74 28 29 0a 20 20 20 20 20 20 20 20 48 54 54 50 43 6f 6e 6e 65 | .SSL.Context().........HTTPConne |
4b1c0 | 63 74 69 6f 6e 2e 5f 5f 69 6e 69 74 5f 5f 28 73 65 6c 66 2c 20 68 6f 73 74 2c 20 70 6f 72 74 2c | ction.__init__(self,.host,.port, |
4b1e0 | 20 73 74 72 69 63 74 29 0a 0a 20 20 20 20 64 65 66 20 63 6f 6e 6e 65 63 74 28 73 65 6c 66 29 3a | .strict)......def.connect(self): |
4b200 | 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 | .........#.type:.().->.None..... |
4b220 | 20 20 20 20 65 72 72 6f 72 20 3d 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 23 20 57 65 20 69 67 | ....error.=.None.........#.We.ig |
4b240 | 6e 6f 72 65 20 74 68 65 20 72 65 74 75 72 6e 65 64 20 73 6f 63 6b 61 64 64 72 20 62 65 63 61 75 | nore.the.returned.sockaddr.becau |
4b260 | 73 65 20 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 63 6f 6e 6e 65 63 74 20 6e 65 65 64 73 0a | se.SSL.Connection.connect.needs. |
4b280 | 20 20 20 20 20 20 20 20 23 20 61 20 68 6f 73 74 20 6e 61 6d 65 2e 0a 20 20 20 20 20 20 20 20 66 | ........#.a.host.name..........f |
4b2a0 | 6f 72 20 28 66 61 6d 69 6c 79 2c 20 5f 2c 20 5f 2c 20 5f 2c 20 5f 29 20 69 6e 20 5c 0a 20 20 20 | or.(family,._,._,._,._).in.\.... |
4b2c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6f 63 6b 65 74 2e 67 65 74 61 64 64 72 69 6e 66 6f 28 | .............socket.getaddrinfo( |
4b2e0 | 73 65 6c 66 2e 68 6f 73 74 2c 20 73 65 6c 66 2e 70 6f 72 74 2c 20 30 2c 0a 20 20 20 20 20 20 20 | self.host,.self.port,.0,........ |
4b300 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6f 63 6b | ............................sock |
4b320 | 65 74 2e 53 4f 43 4b 5f 53 54 52 45 41 4d 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 6f 63 | et.SOCK_STREAM):.............soc |
4b340 | 6b 20 3d 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 72 79 3a 0a 20 20 20 20 20 20 | k.=.None.............try:....... |
4b360 | 20 20 20 20 20 20 20 20 20 20 73 6f 63 6b 20 3d 20 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 28 | ..........sock.=.SSL.Connection( |
4b380 | 73 65 6c 66 2e 73 73 6c 5f 63 74 78 2c 20 66 61 6d 69 6c 79 3d 66 61 6d 69 6c 79 29 0a 0a 20 20 | self.ssl_ctx,.family=family).... |
4b3a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 20 73 65 74 20 53 4e 49 20 73 65 72 76 65 72 20 6e | ..............#.set.SNI.server.n |
4b3c0 | 61 6d 65 20 73 69 6e 63 65 20 77 65 20 6b 6e 6f 77 20 69 74 20 61 74 20 74 68 69 73 20 70 6f 69 | ame.since.we.know.it.at.this.poi |
4b3e0 | 6e 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6f 63 6b 2e 73 65 74 5f 74 6c 73 65 | nt.................sock.set_tlse |
4b400 | 78 74 5f 68 6f 73 74 5f 6e 61 6d 65 28 73 65 6c 66 2e 68 6f 73 74 29 0a 0a 20 20 20 20 20 20 20 | xt_host_name(self.host)......... |
4b420 | 20 20 20 20 20 20 20 20 20 69 66 20 73 65 6c 66 2e 73 65 73 73 69 6f 6e 20 69 73 20 6e 6f 74 20 | .........if.self.session.is.not. |
4b440 | 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6f 63 6b 2e 73 | None:.....................sock.s |
4b460 | 65 74 5f 73 65 73 73 69 6f 6e 28 73 65 6c 66 2e 73 65 73 73 69 6f 6e 29 0a 20 20 20 20 20 20 20 | et_session(self.session)........ |
4b480 | 20 20 20 20 20 20 20 20 20 73 6f 63 6b 2e 63 6f 6e 6e 65 63 74 28 28 73 65 6c 66 2e 68 6f 73 74 | .........sock.connect((self.host |
4b4a0 | 2c 20 73 65 6c 66 2e 70 6f 72 74 29 29 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 | ,.self.port))..................s |
4b4c0 | 65 6c 66 2e 73 6f 63 6b 20 3d 20 73 6f 63 6b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | elf.sock.=.sock................. |
4b4e0 | 73 6f 63 6b 20 3d 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 | sock.=.None.................retu |
4b500 | 72 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 78 63 65 70 74 20 73 6f 63 6b 65 74 2e 65 72 72 | rn.............except.socket.err |
4b520 | 6f 72 20 61 73 20 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 20 4f 74 68 65 72 | or.as.e:.................#.Other |
4b540 | 20 65 78 63 65 70 74 69 6f 6e 20 61 72 65 20 70 72 6f 62 61 62 6c 79 20 53 53 4c 2d 72 65 6c 61 | .exception.are.probably.SSL-rela |
4b560 | 74 65 64 2c 20 69 6e 20 74 68 61 74 20 63 61 73 65 20 77 65 0a 20 20 20 20 20 20 20 20 20 20 20 | ted,.in.that.case.we............ |
4b580 | 20 20 20 20 20 23 20 61 62 6f 72 74 20 61 6e 64 20 74 68 65 20 65 78 63 65 70 74 69 6f 6e 20 69 | .....#.abort.and.the.exception.i |
4b5a0 | 73 20 66 6f 72 77 61 72 64 65 64 20 74 6f 20 74 68 65 20 63 61 6c 6c 65 72 2e 0a 20 20 20 20 20 | s.forwarded.to.the.caller....... |
4b5c0 | 20 20 20 20 20 20 20 20 20 20 20 65 72 72 6f 72 20 3d 20 65 0a 20 20 20 20 20 20 20 20 20 20 20 | ...........error.=.e............ |
4b5e0 | 20 66 69 6e 61 6c 6c 79 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 73 6f 63 | .finally:.................if.soc |
4b600 | 6b 20 69 73 20 6e 6f 74 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | k.is.not.None:.................. |
4b620 | 20 20 20 73 6f 63 6b 2e 63 6c 6f 73 65 28 29 0a 0a 20 20 20 20 20 20 20 20 69 66 20 65 72 72 6f | ...sock.close()..........if.erro |
4b640 | 72 20 69 73 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 41 73 73 | r.is.None:.............raise.Ass |
4b660 | 65 72 74 69 6f 6e 45 72 72 6f 72 28 22 45 6d 70 74 79 20 6c 69 73 74 20 72 65 74 75 72 6e 65 64 | ertionError("Empty.list.returned |
4b680 | 20 62 79 20 67 65 74 61 64 64 72 69 6e 66 6f 22 29 0a 20 20 20 20 20 20 20 20 72 61 69 73 65 20 | .by.getaddrinfo").........raise. |
4b6a0 | 65 72 72 6f 72 0a 0a 20 20 20 20 64 65 66 20 63 6c 6f 73 65 28 73 65 6c 66 29 3a 0a 20 20 20 20 | error......def.close(self):..... |
4b6c0 | 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 23 | ....#.type:.().->.None.........# |
4b6e0 | 20 54 68 69 73 20 6b 6c 75 64 67 65 73 20 61 72 6f 75 6e 64 20 6c 69 6e 65 20 35 34 35 20 6f 66 | .This.kludges.around.line.545.of |
4b700 | 20 68 74 74 70 6c 69 62 2e 70 79 2c 0a 20 20 20 20 20 20 20 20 23 20 77 68 69 63 68 20 63 6c 6f | .httplib.py,.........#.which.clo |
4b720 | 73 65 73 20 74 68 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 69 6e 20 74 68 69 73 20 6f 62 6a 65 63 | ses.the.connection.in.this.objec |
4b740 | 74 3b 0a 20 20 20 20 20 20 20 20 23 20 74 68 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 72 65 6d 61 | t;.........#.the.connection.rema |
4b760 | 69 6e 73 20 6f 70 65 6e 20 69 6e 20 74 68 65 20 72 65 73 70 6f 6e 73 65 0a 20 20 20 20 20 20 20 | ins.open.in.the.response........ |
4b780 | 20 23 20 6f 62 6a 65 63 74 2e 0a 20 20 20 20 20 20 20 20 23 0a 20 20 20 20 20 20 20 20 23 20 4d | .#.object..........#.........#.M |
4b7a0 | 32 43 72 79 70 74 6f 20 64 6f 65 73 6e 27 74 20 63 6c 6f 73 65 2d 68 65 72 65 2d 6b 65 65 70 2d | 2Crypto.doesn't.close-here-keep- |
4b7c0 | 6f 70 65 6e 2d 74 68 65 72 65 2c 0a 20 20 20 20 20 20 20 20 23 20 73 6f 2c 20 69 6e 20 65 66 66 | open-there,.........#.so,.in.eff |
4b7e0 | 65 63 74 2c 20 77 65 20 64 6f 6e 27 74 20 63 6c 6f 73 65 20 75 6e 74 69 6c 20 74 68 65 20 77 68 | ect,.we.don't.close.until.the.wh |
4b800 | 6f 6c 65 0a 20 20 20 20 20 20 20 20 23 20 62 75 73 69 6e 65 73 73 20 69 73 20 6f 76 65 72 20 61 | ole.........#.business.is.over.a |
4b820 | 6e 64 20 67 63 20 6b 69 63 6b 73 20 69 6e 2e 0a 20 20 20 20 20 20 20 20 23 0a 20 20 20 20 20 20 | nd.gc.kicks.in..........#....... |
4b840 | 20 20 23 20 58 58 58 20 4c 6f 6e 67 2d 72 75 6e 6e 69 6e 67 20 63 61 6c 6c 65 72 73 20 62 65 77 | ..#.XXX.Long-running.callers.bew |
4b860 | 61 72 65 20 6c 65 61 6b 61 67 65 2e 0a 20 20 20 20 20 20 20 20 23 0a 20 20 20 20 20 20 20 20 23 | are.leakage..........#.........# |
4b880 | 20 58 58 58 20 30 35 2d 4a 61 6e 2d 32 30 30 32 3a 20 54 68 69 73 20 6d 6f 64 75 6c 65 20 77 6f | .XXX.05-Jan-2002:.This.module.wo |
4b8a0 | 72 6b 73 20 77 69 74 68 20 50 79 74 68 6f 6e 20 32 2e 32 2c 0a 20 20 20 20 20 20 20 20 23 20 58 | rks.with.Python.2.2,.........#.X |
4b8c0 | 58 58 20 62 75 74 20 49 27 76 65 20 6e 6f 74 20 69 6e 76 65 73 74 69 67 61 74 65 64 20 69 66 20 | XX.but.I've.not.investigated.if. |
4b8e0 | 74 68 65 20 61 62 6f 76 65 20 63 6f 6e 64 69 74 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 23 20 58 | the.above.conditions.........#.X |
4b900 | 58 58 20 72 65 6d 61 69 6e 2e 0a 20 20 20 20 20 20 20 20 70 61 73 73 0a 0a 20 20 20 20 64 65 66 | XX.remain..........pass......def |
4b920 | 20 67 65 74 5f 73 65 73 73 69 6f 6e 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 | .get_session(self):.........#.ty |
4b940 | 70 65 3a 20 28 29 20 2d 3e 20 53 53 4c 2e 53 65 73 73 69 6f 6e 2e 53 65 73 73 69 6f 6e 0a 20 20 | pe:.().->.SSL.Session.Session... |
4b960 | 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 2e 73 6f 63 6b 2e 67 65 74 5f 73 65 73 73 69 | ......return.self.sock.get_sessi |
4b980 | 6f 6e 28 29 0a 0a 20 20 20 20 64 65 66 20 73 65 74 5f 73 65 73 73 69 6f 6e 28 73 65 6c 66 2c 20 | on()......def.set_session(self,. |
4b9a0 | 73 65 73 73 69 6f 6e 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 53 53 4c 2e 53 | session):.........#.type:.(SSL.S |
4b9c0 | 65 73 73 69 6f 6e 2e 53 65 73 73 69 6f 6e 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 | ession.Session).->.None......... |
4b9e0 | 73 65 6c 66 2e 73 65 73 73 69 6f 6e 20 3d 20 73 65 73 73 69 6f 6e 0a 0a 0a 63 6c 61 73 73 20 50 | self.session.=.session...class.P |
4ba00 | 72 6f 78 79 48 54 54 50 53 43 6f 6e 6e 65 63 74 69 6f 6e 28 48 54 54 50 53 43 6f 6e 6e 65 63 74 | roxyHTTPSConnection(HTTPSConnect |
4ba20 | 69 6f 6e 29 3a 0a 20 20 20 20 22 22 22 0a 20 20 20 20 41 6e 20 48 54 54 50 53 20 43 6f 6e 6e 65 | ion):.....""".....An.HTTPS.Conne |
4ba40 | 63 74 69 6f 6e 20 74 68 61 74 20 75 73 65 73 20 61 20 70 72 6f 78 79 20 61 6e 64 20 74 68 65 20 | ction.that.uses.a.proxy.and.the. |
4ba60 | 43 4f 4e 4e 45 43 54 20 72 65 71 75 65 73 74 2e 0a 0a 20 20 20 20 57 68 65 6e 20 74 68 65 20 63 | CONNECT.request.......When.the.c |
4ba80 | 6f 6e 6e 65 63 74 69 6f 6e 20 69 73 20 69 6e 69 74 69 61 74 65 64 2c 20 43 4f 4e 4e 45 43 54 20 | onnection.is.initiated,.CONNECT. |
4baa0 | 69 73 20 66 69 72 73 74 20 73 65 6e 74 20 74 6f 20 74 68 65 20 70 72 6f 78 79 20 28 61 6c 6f 6e | is.first.sent.to.the.proxy.(alon |
4bac0 | 67 0a 20 20 20 20 77 69 74 68 20 61 75 74 68 6f 72 69 7a 61 74 69 6f 6e 20 68 65 61 64 65 72 73 | g.....with.authorization.headers |
4bae0 | 2c 20 69 66 20 73 75 70 70 6c 69 65 64 29 2e 20 49 66 20 73 75 63 63 65 73 73 66 75 6c 2c 20 61 | ,.if.supplied)..If.successful,.a |
4bb00 | 6e 20 53 53 4c 20 63 6f 6e 6e 65 63 74 69 6f 6e 0a 20 20 20 20 77 69 6c 6c 20 62 65 20 65 73 74 | n.SSL.connection.....will.be.est |
4bb20 | 61 62 6c 69 73 68 65 64 20 6f 76 65 72 20 74 68 65 20 73 6f 63 6b 65 74 20 74 68 72 6f 75 67 68 | ablished.over.the.socket.through |
4bb40 | 20 74 68 65 20 70 72 6f 78 79 20 61 6e 64 20 74 6f 20 74 68 65 20 74 61 72 67 65 74 0a 20 20 20 | .the.proxy.and.to.the.target.... |
4bb60 | 20 68 6f 73 74 2e 0a 0a 20 20 20 20 46 69 6e 61 6c 6c 79 2c 20 74 68 65 20 61 63 74 75 61 6c 20 | .host.......Finally,.the.actual. |
4bb80 | 72 65 71 75 65 73 74 20 69 73 20 73 65 6e 74 20 6f 76 65 72 20 74 68 65 20 53 53 4c 20 63 6f 6e | request.is.sent.over.the.SSL.con |
4bba0 | 6e 65 63 74 69 6f 6e 20 74 75 6e 6e 65 6c 69 6e 67 0a 20 20 20 20 74 68 72 6f 75 67 68 20 74 68 | nection.tunneling.....through.th |
4bbc0 | 65 20 70 72 6f 78 79 2e 0a 20 20 20 20 22 22 22 0a 0a 20 20 20 20 5f 70 6f 72 74 73 20 3d 20 7b | e.proxy......"""......_ports.=.{ |
4bbe0 | 27 68 74 74 70 27 3a 20 38 30 2c 20 27 68 74 74 70 73 27 3a 20 34 34 33 7d 0a 20 20 20 20 5f 41 | 'http':.80,.'https':.443}....._A |
4bc00 | 55 54 48 5f 48 45 41 44 45 52 20 3d 20 22 50 72 6f 78 79 2d 41 75 74 68 6f 72 69 7a 61 74 69 6f | UTH_HEADER.=."Proxy-Authorizatio |
4bc20 | 6e 22 0a 20 20 20 20 5f 55 41 5f 48 45 41 44 45 52 20 3d 20 22 55 73 65 72 2d 41 67 65 6e 74 22 | n"....._UA_HEADER.=."User-Agent" |
4bc40 | 0a 0a 20 20 20 20 64 65 66 20 5f 5f 69 6e 69 74 5f 5f 28 73 65 6c 66 2c 20 68 6f 73 74 2c 20 70 | ......def.__init__(self,.host,.p |
4bc60 | 6f 72 74 3d 4e 6f 6e 65 2c 20 73 74 72 69 63 74 3d 4e 6f 6e 65 2c 20 75 73 65 72 6e 61 6d 65 3d | ort=None,.strict=None,.username= |
4bc80 | 4e 6f 6e 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 61 73 73 77 6f 72 64 3d | None,..................password= |
4bca0 | 4e 6f 6e 65 2c 20 2a 2a 73 73 6c 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 73 | None,.**ssl):.........#.type:.(s |
4bcc0 | 74 72 2c 20 4f 70 74 69 6f 6e 61 6c 5b 69 6e 74 5d 2c 20 4f 70 74 69 6f 6e 61 6c 5b 62 6f 6f 6c | tr,.Optional[int],.Optional[bool |
4bce0 | 5d 2c 20 4f 70 74 69 6f 6e 61 6c 5b 41 6e 79 53 74 72 5d 2c 20 4f 70 74 69 6f 6e 61 6c 5b 41 6e | ],.Optional[AnyStr],.Optional[An |
4bd00 | 79 53 74 72 5d 2c 20 2a 2a 41 6e 79 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 22 22 | yStr],.**Any).->.None........."" |
4bd20 | 22 0a 20 20 20 20 20 20 20 20 43 72 65 61 74 65 20 74 68 65 20 50 72 6f 78 79 48 54 54 50 53 43 | ".........Create.the.ProxyHTTPSC |
4bd40 | 6f 6e 6e 65 63 74 69 6f 6e 20 6f 62 6a 65 63 74 2e 0a 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 | onnection.object...........:para |
4bd60 | 6d 20 68 6f 73 74 3a 20 68 6f 73 74 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 70 72 6f 78 79 20 73 | m.host:.host.name.of.the.proxy.s |
4bd80 | 65 72 76 65 72 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 70 6f 72 74 3a 20 70 6f 72 74 20 | erver.........:param.port:.port. |
4bda0 | 6e 75 6d 62 65 72 20 6f 66 20 74 68 65 20 70 72 6f 78 79 20 73 65 72 76 65 72 0a 20 20 20 20 20 | number.of.the.proxy.server...... |
4bdc0 | 20 20 20 3a 70 61 72 61 6d 20 73 74 72 69 63 74 3a 20 69 66 20 73 77 69 74 63 68 65 64 20 6f 6e | ...:param.strict:.if.switched.on |
4bde0 | 2c 20 69 74 20 72 61 69 73 65 73 20 42 61 64 53 74 61 74 75 73 4c 69 6e 65 20 74 6f 20 62 65 0a | ,.it.raises.BadStatusLine.to.be. |
4be00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 64 20 69 66 | .......................raised.if |
4be20 | 20 74 68 65 20 73 74 61 74 75 73 20 6c 69 6e 65 20 63 61 6e 27 74 20 62 65 20 70 61 72 73 65 64 | .the.status.line.can't.be.parsed |
4be40 | 20 61 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 20 76 61 6c | .as........................a.val |
4be60 | 69 64 20 48 54 54 50 2f 31 2e 30 20 6f 72 20 31 2e 31 20 73 74 61 74 75 73 20 6c 69 6e 65 2e 0a | id.HTTP/1.0.or.1.1.status.line.. |
4be80 | 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 75 73 65 72 6e 61 6d 65 3a 20 75 73 65 72 6e 61 6d | ........:param.username:.usernam |
4bea0 | 65 20 6f 6e 20 74 68 65 20 70 72 6f 78 79 20 73 65 72 76 65 72 2c 20 77 68 65 6e 20 72 65 71 75 | e.on.the.proxy.server,.when.requ |
4bec0 | 69 72 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 55 73 | ired..........................Us |
4bee0 | 65 72 6e 61 6d 65 20 63 61 6e 20 62 65 20 60 60 73 74 72 60 60 2c 20 62 75 74 20 70 72 65 66 65 | ername.can.be.``str``,.but.prefe |
4bf00 | 72 72 65 64 20 74 79 70 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | rred.type....................... |
4bf20 | 20 20 20 69 73 20 60 60 62 79 74 65 73 60 60 2e 20 4d 32 43 72 79 70 74 6f 20 64 6f 65 73 20 73 | ...is.``bytes``..M2Crypto.does.s |
4bf40 | 6f 6d 65 20 63 6f 6e 76 65 72 73 69 6f 6e 20 74 6f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ome.conversion.to............... |
4bf60 | 20 20 20 20 20 20 20 20 20 20 20 60 60 62 79 74 65 73 60 60 20 77 68 65 6e 20 6e 65 63 65 73 73 | ...........``bytes``.when.necess |
4bf80 | 61 72 79 2c 20 62 75 74 20 69 74 27 73 20 62 65 74 74 65 72 20 77 68 65 6e 0a 20 20 20 20 20 20 | ary,.but.it's.better.when....... |
4bfa0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 65 20 75 73 65 72 20 6f 66 20 74 | ...................the.user.of.t |
4bfc0 | 68 65 20 6c 69 62 72 61 72 79 20 64 6f 65 73 20 69 74 20 6f 6e 20 69 74 73 20 6f 77 6e 2e 0a 20 | he.library.does.it.on.its.own... |
4bfe0 | 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 70 61 73 73 77 6f 72 64 3a 20 70 61 73 73 77 6f 72 64 | .......:param.password:.password |
4c000 | 20 6f 6e 20 74 68 65 20 70 72 6f 78 79 20 73 65 72 76 65 72 2c 20 77 68 65 6e 20 72 65 71 75 69 | .on.the.proxy.server,.when.requi |
4c020 | 72 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 68 65 | red..........................The |
4c040 | 20 73 61 6d 65 20 61 73 20 77 69 74 68 20 60 60 75 73 65 72 6e 61 6d 65 60 60 2c 20 60 60 73 74 | .same.as.with.``username``,.``st |
4c060 | 72 60 60 20 69 73 20 61 63 63 65 70 74 65 64 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | r``.is.accepted,................ |
4c080 | 20 20 20 20 20 20 20 20 20 20 62 75 74 20 60 60 62 79 74 65 73 60 60 20 61 72 65 20 70 72 65 66 | ..........but.``bytes``.are.pref |
4c0a0 | 65 72 72 65 64 2e 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 73 73 6c 3a 20 64 69 63 74 20 | erred..........:param.ssl:.dict. |
4c0c0 | 77 69 74 68 20 61 6c 6c 20 72 65 6d 61 69 6e 69 6e 67 20 6e 61 6d 65 64 20 72 65 61 6c 20 70 61 | with.all.remaining.named.real.pa |
4c0e0 | 72 61 6d 65 74 65 72 73 20 6f 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | rameters.of.the................. |
4c100 | 20 20 20 20 66 75 6e 63 74 69 6f 6e 2e 20 53 70 65 63 69 66 69 63 61 6c 6c 79 2c 20 60 60 73 73 | ....function..Specifically,.``ss |
4c120 | 6c 5f 63 6f 6e 74 65 78 74 60 60 20 69 73 20 65 78 70 65 63 74 65 64 0a 20 20 20 20 20 20 20 20 | l_context``.is.expected......... |
4c140 | 20 20 20 20 20 20 20 20 20 20 20 20 74 6f 20 62 65 20 69 6e 63 6c 75 64 65 64 20 77 69 74 68 20 | ............to.be.included.with. |
4c160 | 53 53 4c 2e 43 6f 6e 74 65 78 74 3b 20 69 66 20 69 74 20 69 73 20 6e 6f 74 0a 20 20 20 20 20 20 | SSL.Context;.if.it.is.not....... |
4c180 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65 66 61 75 6c 74 20 60 60 27 73 73 6c 76 32 33 27 | ..............default.``'sslv23' |
4c1a0 | 60 60 20 69 73 20 73 75 62 73 74 69 74 75 74 65 64 29 2e 0a 20 20 20 20 20 20 20 20 22 22 22 0a | ``.is.substituted)..........""". |
4c1c0 | 20 20 20 20 20 20 20 20 48 54 54 50 53 43 6f 6e 6e 65 63 74 69 6f 6e 2e 5f 5f 69 6e 69 74 5f 5f | ........HTTPSConnection.__init__ |
4c1e0 | 28 73 65 6c 66 2c 20 68 6f 73 74 2c 20 70 6f 72 74 2c 20 73 74 72 69 63 74 2c 20 2a 2a 73 73 6c | (self,.host,.port,.strict,.**ssl |
4c200 | 29 0a 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 75 73 65 72 6e 61 6d 65 20 3d 20 75 73 65 72 | )..........self._username.=.user |
4c220 | 6e 61 6d 65 2e 65 6e 63 6f 64 65 28 27 75 74 66 38 27 29 20 5c 0a 20 20 20 20 20 20 20 20 20 20 | name.encode('utf8').\........... |
4c240 | 20 20 69 66 20 69 73 69 6e 73 74 61 6e 63 65 28 75 73 65 72 6e 61 6d 65 2c 20 73 69 78 2e 73 74 | ..if.isinstance(username,.six.st |
4c260 | 72 69 6e 67 5f 74 79 70 65 73 29 20 65 6c 73 65 20 75 73 65 72 6e 61 6d 65 0a 20 20 20 20 20 20 | ring_types).else.username....... |
4c280 | 20 20 73 65 6c 66 2e 5f 70 61 73 73 77 6f 72 64 20 3d 20 70 61 73 73 77 6f 72 64 2e 65 6e 63 6f | ..self._password.=.password.enco |
4c2a0 | 64 65 28 27 75 74 66 38 27 29 20 5c 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 69 73 69 6e | de('utf8').\.............if.isin |
4c2c0 | 73 74 61 6e 63 65 28 70 61 73 73 77 6f 72 64 2c 20 73 69 78 2e 73 74 72 69 6e 67 5f 74 79 70 65 | stance(password,.six.string_type |
4c2e0 | 73 29 20 65 6c 73 65 20 70 61 73 73 77 6f 72 64 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 70 | s).else.password.........self._p |
4c300 | 72 6f 78 79 5f 61 75 74 68 20 3d 20 4e 6f 6e 65 20 20 23 20 74 79 70 65 3a 20 73 74 72 0a 20 20 | roxy_auth.=.None..#.type:.str... |
4c320 | 20 20 20 20 20 20 73 65 6c 66 2e 5f 70 72 6f 78 79 5f 55 41 20 3d 20 4e 6f 6e 65 20 20 23 20 74 | ......self._proxy_UA.=.None..#.t |
4c340 | 79 70 65 3a 20 73 74 72 0a 0a 20 20 20 20 64 65 66 20 70 75 74 72 65 71 75 65 73 74 28 73 65 6c | ype:.str......def.putrequest(sel |
4c360 | 66 2c 20 6d 65 74 68 6f 64 2c 20 75 72 6c 2c 20 73 6b 69 70 5f 68 6f 73 74 3d 30 2c 20 73 6b 69 | f,.method,.url,.skip_host=0,.ski |
4c380 | 70 5f 61 63 63 65 70 74 5f 65 6e 63 6f 64 69 6e 67 3d 30 29 3a 0a 20 20 20 20 20 20 20 20 23 20 | p_accept_encoding=0):.........#. |
4c3a0 | 74 79 70 65 3a 20 28 41 6e 79 53 74 72 2c 20 41 6e 79 53 74 72 2c 20 69 6e 74 2c 20 69 6e 74 29 | type:.(AnyStr,.AnyStr,.int,.int) |
4c3c0 | 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 70 75 74 | .->.None.........""".........put |
4c3e0 | 72 65 71 75 65 73 74 20 69 73 20 63 61 6c 6c 65 64 20 62 65 66 6f 72 65 20 63 6f 6e 6e 65 63 74 | request.is.called.before.connect |
4c400 | 2c 20 73 6f 20 63 61 6e 20 69 6e 74 65 72 70 72 65 74 20 75 72 6c 20 61 6e 64 20 67 65 74 0a 20 | ,.so.can.interpret.url.and.get.. |
4c420 | 20 20 20 20 20 20 20 72 65 61 6c 20 68 6f 73 74 2f 70 6f 72 74 20 74 6f 20 62 65 20 75 73 65 64 | .......real.host/port.to.be.used |
4c440 | 20 74 6f 20 6d 61 6b 65 20 43 4f 4e 4e 45 43 54 20 72 65 71 75 65 73 74 20 74 6f 20 70 72 6f 78 | .to.make.CONNECT.request.to.prox |
4c460 | 79 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 70 72 6f 74 6f 2c 20 6e 65 74 | y.........""".........proto,.net |
4c480 | 6c 6f 63 2c 20 70 61 74 68 2c 20 71 75 65 72 79 2c 20 66 72 61 67 6d 65 6e 74 20 3d 20 75 72 6c | loc,.path,.query,.fragment.=.url |
4c4a0 | 73 70 6c 69 74 28 75 72 6c 29 0a 20 20 20 20 20 20 20 20 69 66 20 6e 6f 74 20 70 72 6f 74 6f 3a | split(url).........if.not.proto: |
4c4c0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 56 61 6c 75 65 45 72 72 6f 72 28 22 75 | .............raise.ValueError("u |
4c4e0 | 6e 6b 6e 6f 77 6e 20 55 52 4c 20 74 79 70 65 3a 20 25 73 22 20 25 20 75 72 6c 29 0a 0a 20 20 20 | nknown.URL.type:.%s".%.url)..... |
4c500 | 20 20 20 20 20 23 20 67 65 74 20 68 6f 73 74 20 26 20 70 6f 72 74 0a 20 20 20 20 20 20 20 20 74 | .....#.get.host.&.port.........t |
4c520 | 72 79 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 75 73 65 72 6e 61 6d 65 5f 70 61 73 73 77 6f 72 | ry:.............username_passwor |
4c540 | 64 2c 20 68 6f 73 74 5f 70 6f 72 74 20 3d 20 6e 65 74 6c 6f 63 2e 73 70 6c 69 74 28 27 40 27 29 | d,.host_port.=.netloc.split('@') |
4c560 | 0a 20 20 20 20 20 20 20 20 65 78 63 65 70 74 20 56 61 6c 75 65 45 72 72 6f 72 3a 0a 20 20 20 20 | .........except.ValueError:..... |
4c580 | 20 20 20 20 20 20 20 20 68 6f 73 74 5f 70 6f 72 74 20 3d 20 6e 65 74 6c 6f 63 0a 0a 20 20 20 20 | ........host_port.=.netloc...... |
4c5a0 | 20 20 20 20 74 72 79 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 68 6f 73 74 2c 20 70 6f 72 74 5f | ....try:.............host,.port_ |
4c5c0 | 73 20 3d 20 68 6f 73 74 5f 70 6f 72 74 2e 73 70 6c 69 74 28 27 3a 27 29 0a 20 20 20 20 20 20 20 | s.=.host_port.split(':')........ |
4c5e0 | 20 20 20 20 20 70 6f 72 74 20 3d 20 69 6e 74 28 70 6f 72 74 5f 73 29 0a 20 20 20 20 20 20 20 20 | .....port.=.int(port_s)......... |
4c600 | 65 78 63 65 70 74 20 56 61 6c 75 65 45 72 72 6f 72 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 68 | except.ValueError:.............h |
4c620 | 6f 73 74 20 3d 20 68 6f 73 74 5f 70 6f 72 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 23 20 74 72 | ost.=.host_port.............#.tr |
4c640 | 79 20 74 6f 20 67 65 74 20 70 6f 72 74 20 66 72 6f 6d 20 70 72 6f 74 6f 0a 20 20 20 20 20 20 20 | y.to.get.port.from.proto........ |
4c660 | 20 20 20 20 20 74 72 79 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 6f 72 74 20 3d | .....try:.................port.= |
4c680 | 20 73 65 6c 66 2e 5f 70 6f 72 74 73 5b 70 72 6f 74 6f 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 | .self._ports[proto]............. |
4c6a0 | 65 78 63 65 70 74 20 4b 65 79 45 72 72 6f 72 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | except.KeyError:................ |
4c6c0 | 20 72 61 69 73 65 20 56 61 6c 75 65 45 72 72 6f 72 28 22 75 6e 6b 6e 6f 77 6e 20 70 72 6f 74 6f | .raise.ValueError("unknown.proto |
4c6e0 | 63 6f 6c 20 66 6f 72 3a 20 25 73 22 20 25 20 75 72 6c 29 0a 0a 20 20 20 20 20 20 20 20 73 65 6c | col.for:.%s".%.url)..........sel |
4c700 | 66 2e 5f 72 65 61 6c 5f 68 6f 73 74 20 3d 20 68 6f 73 74 20 20 23 20 74 79 70 65 3a 20 73 74 72 | f._real_host.=.host..#.type:.str |
4c720 | 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 72 65 61 6c 5f 70 6f 72 74 20 3d 20 70 6f 72 74 20 | .........self._real_port.=.port. |
4c740 | 20 23 20 74 79 70 65 3a 20 69 6e 74 0a 20 20 20 20 20 20 20 20 72 65 73 74 20 3d 20 75 72 6c 75 | .#.type:.int.........rest.=.urlu |
4c760 | 6e 73 70 6c 69 74 28 28 27 27 2c 20 27 27 2c 20 70 61 74 68 2c 20 71 75 65 72 79 2c 20 66 72 61 | nsplit(('',.'',.path,.query,.fra |
4c780 | 67 6d 65 6e 74 29 29 0a 20 20 20 20 20 20 20 20 48 54 54 50 53 43 6f 6e 6e 65 63 74 69 6f 6e 2e | gment)).........HTTPSConnection. |
4c7a0 | 70 75 74 72 65 71 75 65 73 74 28 73 65 6c 66 2c 20 6d 65 74 68 6f 64 2c 20 72 65 73 74 2c 20 73 | putrequest(self,.method,.rest,.s |
4c7c0 | 6b 69 70 5f 68 6f 73 74 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | kip_host,....................... |
4c7e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 5f 61 63 63 65 70 74 5f 65 6e 63 6f 64 69 6e | .............skip_accept_encodin |
4c800 | 67 29 0a 0a 20 20 20 20 64 65 66 20 70 75 74 68 65 61 64 65 72 28 73 65 6c 66 2c 20 68 65 61 64 | g)......def.putheader(self,.head |
4c820 | 65 72 2c 20 76 61 6c 75 65 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 41 6e 79 | er,.value):.........#.type:.(Any |
4c840 | 53 74 72 2c 20 41 6e 79 53 74 72 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 23 20 53 | Str,.AnyStr).->.None.........#.S |
4c860 | 74 6f 72 65 20 74 68 65 20 61 75 74 68 20 68 65 61 64 65 72 20 69 66 20 70 61 73 73 65 64 20 69 | tore.the.auth.header.if.passed.i |
4c880 | 6e 2e 0a 20 20 20 20 20 20 20 20 69 66 20 68 65 61 64 65 72 2e 6c 6f 77 65 72 28 29 20 3d 3d 20 | n..........if.header.lower().==. |
4c8a0 | 73 65 6c 66 2e 5f 55 41 5f 48 45 41 44 45 52 2e 6c 6f 77 65 72 28 29 3a 0a 20 20 20 20 20 20 20 | self._UA_HEADER.lower():........ |
4c8c0 | 20 20 20 20 20 73 65 6c 66 2e 5f 70 72 6f 78 79 5f 55 41 20 3d 20 76 61 6c 75 65 0a 20 20 20 20 | .....self._proxy_UA.=.value..... |
4c8e0 | 20 20 20 20 69 66 20 68 65 61 64 65 72 2e 6c 6f 77 65 72 28 29 20 3d 3d 20 73 65 6c 66 2e 5f 41 | ....if.header.lower().==.self._A |
4c900 | 55 54 48 5f 48 45 41 44 45 52 2e 6c 6f 77 65 72 28 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 | UTH_HEADER.lower():............. |
4c920 | 73 65 6c 66 2e 5f 70 72 6f 78 79 5f 61 75 74 68 20 3d 20 76 61 6c 75 65 0a 20 20 20 20 20 20 20 | self._proxy_auth.=.value........ |
4c940 | 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 48 54 54 50 53 43 6f 6e 6e 65 63 74 69 | .else:.............HTTPSConnecti |
4c960 | 6f 6e 2e 70 75 74 68 65 61 64 65 72 28 73 65 6c 66 2c 20 68 65 61 64 65 72 2c 20 76 61 6c 75 65 | on.putheader(self,.header,.value |
4c980 | 29 0a 0a 20 20 20 20 64 65 66 20 65 6e 64 68 65 61 64 65 72 73 28 73 65 6c 66 2c 20 2a 61 72 67 | )......def.endheaders(self,.*arg |
4c9a0 | 73 2c 20 2a 2a 6b 77 61 72 67 73 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 2a | s,.**kwargs):.........#.type:.(* |
4c9c0 | 41 6e 79 2c 20 2a 2a 41 6e 79 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 23 20 57 65 | Any,.**Any).->.None.........#.We |
4c9e0 | 27 76 65 20 72 65 63 69 65 76 65 64 20 61 6c 6c 20 6f 66 20 68 74 65 20 68 65 61 64 65 72 73 2e | 've.recieved.all.of.hte.headers. |
4ca00 | 20 55 73 65 20 74 68 65 20 73 75 70 70 6c 69 65 64 20 75 73 65 72 6e 61 6d 65 0a 20 20 20 20 20 | .Use.the.supplied.username...... |
4ca20 | 20 20 20 23 20 61 6e 64 20 70 61 73 73 77 6f 72 64 20 66 6f 72 20 61 75 74 68 6f 72 69 7a 61 74 | ...#.and.password.for.authorizat |
4ca40 | 69 6f 6e 2c 20 70 6f 73 73 69 62 6c 79 20 6f 76 65 72 72 69 64 69 6e 67 20 74 68 65 20 61 75 74 | ion,.possibly.overriding.the.aut |
4ca60 | 68 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 23 20 73 75 70 70 6c 69 65 64 20 69 6e 20 74 68 | hstring.........#.supplied.in.th |
4ca80 | 65 20 68 65 61 64 65 72 73 2e 0a 20 20 20 20 20 20 20 20 69 66 20 6e 6f 74 20 73 65 6c 66 2e 5f | e.headers..........if.not.self._ |
4caa0 | 70 72 6f 78 79 5f 61 75 74 68 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 70 72 | proxy_auth:.............self._pr |
4cac0 | 6f 78 79 5f 61 75 74 68 20 3d 20 73 65 6c 66 2e 5f 65 6e 63 6f 64 65 5f 61 75 74 68 28 29 0a 0a | oxy_auth.=.self._encode_auth().. |
4cae0 | 20 20 20 20 20 20 20 20 48 54 54 50 53 43 6f 6e 6e 65 63 74 69 6f 6e 2e 65 6e 64 68 65 61 64 65 | ........HTTPSConnection.endheade |
4cb00 | 72 73 28 73 65 6c 66 2c 20 2a 61 72 67 73 2c 20 2a 2a 6b 77 61 72 67 73 29 0a 0a 20 20 20 20 64 | rs(self,.*args,.**kwargs)......d |
4cb20 | 65 66 20 63 6f 6e 6e 65 63 74 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 | ef.connect(self):.........#.type |
4cb40 | 3a 20 28 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 48 54 54 50 43 6f 6e 6e 65 63 74 | :.().->.None.........HTTPConnect |
4cb60 | 69 6f 6e 2e 63 6f 6e 6e 65 63 74 28 73 65 6c 66 29 0a 0a 20 20 20 20 20 20 20 20 23 20 73 65 6e | ion.connect(self)..........#.sen |
4cb80 | 64 20 70 72 6f 78 79 20 43 4f 4e 4e 45 43 54 20 72 65 71 75 65 73 74 0a 20 20 20 20 20 20 20 20 | d.proxy.CONNECT.request......... |
4cba0 | 73 65 6c 66 2e 73 6f 63 6b 2e 73 65 6e 64 61 6c 6c 28 73 65 6c 66 2e 5f 67 65 74 5f 63 6f 6e 6e | self.sock.sendall(self._get_conn |
4cbc0 | 65 63 74 5f 6d 73 67 28 29 29 0a 20 20 20 20 20 20 20 20 72 65 73 70 6f 6e 73 65 20 3d 20 48 54 | ect_msg()).........response.=.HT |
4cbe0 | 54 50 52 65 73 70 6f 6e 73 65 28 73 65 6c 66 2e 73 6f 63 6b 29 0a 20 20 20 20 20 20 20 20 72 65 | TPResponse(self.sock).........re |
4cc00 | 73 70 6f 6e 73 65 2e 62 65 67 69 6e 28 29 0a 0a 20 20 20 20 20 20 20 20 63 6f 64 65 20 3d 20 72 | sponse.begin()..........code.=.r |
4cc20 | 65 73 70 6f 6e 73 65 2e 73 74 61 74 75 73 0a 20 20 20 20 20 20 20 20 69 66 20 63 6f 64 65 20 21 | esponse.status.........if.code.! |
4cc40 | 3d 20 32 30 30 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 23 20 70 72 6f 78 79 20 72 65 74 75 72 | =.200:.............#.proxy.retur |
4cc60 | 6e 65 64 20 61 6e 64 20 65 72 72 6f 72 2c 20 61 62 6f 72 74 20 63 6f 6e 6e 65 63 74 69 6f 6e 2c | ned.and.error,.abort.connection, |
4cc80 | 20 61 6e 64 20 72 61 69 73 65 20 65 78 63 65 70 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 | .and.raise.exception............ |
4cca0 | 20 73 65 6c 66 2e 63 6c 6f 73 65 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 | .self.close().............raise. |
4ccc0 | 73 6f 63 6b 65 74 2e 65 72 72 6f 72 28 22 50 72 6f 78 79 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 66 | socket.error("Proxy.connection.f |
4cce0 | 61 69 6c 65 64 3a 20 25 64 22 20 25 20 63 6f 64 65 29 0a 0a 20 20 20 20 20 20 20 20 73 65 6c 66 | ailed:.%d".%.code)..........self |
4cd00 | 2e 5f 73 74 61 72 74 5f 73 73 6c 28 29 0a 0a 20 20 20 20 64 65 66 20 5f 67 65 74 5f 63 6f 6e 6e | ._start_ssl()......def._get_conn |
4cd20 | 65 63 74 5f 6d 73 67 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 | ect_msg(self):.........#.type:.( |
4cd40 | 29 20 2d 3e 20 62 79 74 65 73 0a 20 20 20 20 20 20 20 20 22 22 22 20 52 65 74 75 72 6e 20 61 6e | ).->.bytes.........""".Return.an |
4cd60 | 20 48 54 54 50 20 43 4f 4e 4e 45 43 54 20 72 65 71 75 65 73 74 20 74 6f 20 73 65 6e 64 20 74 6f | .HTTP.CONNECT.request.to.send.to |
4cd80 | 20 74 68 65 20 70 72 6f 78 79 2e 20 22 22 22 0a 20 20 20 20 20 20 20 20 6d 73 67 20 3d 20 22 43 | .the.proxy..""".........msg.=."C |
4cda0 | 4f 4e 4e 45 43 54 20 25 73 3a 25 64 20 48 54 54 50 2f 31 2e 31 5c 72 5c 6e 22 20 25 20 28 73 65 | ONNECT.%s:%d.HTTP/1.1\r\n".%.(se |
4cdc0 | 6c 66 2e 5f 72 65 61 6c 5f 68 6f 73 74 2c 20 73 65 6c 66 2e 5f 72 65 61 6c 5f 70 6f 72 74 29 0a | lf._real_host,.self._real_port). |
4cde0 | 20 20 20 20 20 20 20 20 6d 73 67 20 3d 20 6d 73 67 20 2b 20 22 48 6f 73 74 3a 20 25 73 3a 25 64 | ........msg.=.msg.+."Host:.%s:%d |
4ce00 | 5c 72 5c 6e 22 20 25 20 28 73 65 6c 66 2e 5f 72 65 61 6c 5f 68 6f 73 74 2c 20 73 65 6c 66 2e 5f | \r\n".%.(self._real_host,.self._ |
4ce20 | 72 65 61 6c 5f 70 6f 72 74 29 0a 20 20 20 20 20 20 20 20 69 66 20 73 65 6c 66 2e 5f 70 72 6f 78 | real_port).........if.self._prox |
4ce40 | 79 5f 55 41 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 6d 73 67 20 3d 20 6d 73 67 20 2b 20 22 25 | y_UA:.............msg.=.msg.+."% |
4ce60 | 73 3a 20 25 73 5c 72 5c 6e 22 20 25 20 28 73 65 6c 66 2e 5f 55 41 5f 48 45 41 44 45 52 2c 20 73 | s:.%s\r\n".%.(self._UA_HEADER,.s |
4ce80 | 65 6c 66 2e 5f 70 72 6f 78 79 5f 55 41 29 0a 20 20 20 20 20 20 20 20 69 66 20 73 65 6c 66 2e 5f | elf._proxy_UA).........if.self._ |
4cea0 | 70 72 6f 78 79 5f 61 75 74 68 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 6d 73 67 20 3d 20 6d 73 | proxy_auth:.............msg.=.ms |
4cec0 | 67 20 2b 20 22 25 73 3a 20 25 73 5c 72 5c 6e 22 20 25 20 28 73 65 6c 66 2e 5f 41 55 54 48 5f 48 | g.+."%s:.%s\r\n".%.(self._AUTH_H |
4cee0 | 45 41 44 45 52 2c 20 73 65 6c 66 2e 5f 70 72 6f 78 79 5f 61 75 74 68 29 0a 20 20 20 20 20 20 20 | EADER,.self._proxy_auth)........ |
4cf00 | 20 6d 73 67 20 3d 20 6d 73 67 20 2b 20 22 5c 72 5c 6e 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 | .msg.=.msg.+."\r\n".........retu |
4cf20 | 72 6e 20 73 69 78 2e 65 6e 73 75 72 65 5f 62 69 6e 61 72 79 28 6d 73 67 29 0a 0a 20 20 20 20 64 | rn.six.ensure_binary(msg)......d |
4cf40 | 65 66 20 5f 73 74 61 72 74 5f 73 73 6c 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 | ef._start_ssl(self):.........#.t |
4cf60 | 79 70 65 3a 20 28 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 22 22 22 20 4d 61 6b 65 | ype:.().->.None.........""".Make |
4cf80 | 20 74 68 69 73 20 63 6f 6e 6e 65 63 74 69 6f 6e 27 73 20 73 6f 63 6b 65 74 20 53 53 4c 2d 61 77 | .this.connection's.socket.SSL-aw |
4cfa0 | 61 72 65 2e 20 22 22 22 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 6f 63 6b 20 3d 20 53 53 4c | are..""".........self.sock.=.SSL |
4cfc0 | 2e 43 6f 6e 6e 65 63 74 69 6f 6e 28 73 65 6c 66 2e 73 73 6c 5f 63 74 78 2c 20 73 65 6c 66 2e 73 | .Connection(self.ssl_ctx,.self.s |
4cfe0 | 6f 63 6b 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 6f 63 6b 2e 73 65 74 75 70 5f 73 73 6c | ock).........self.sock.setup_ssl |
4d000 | 28 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 6f 63 6b 2e 73 65 74 5f 63 6f 6e 6e 65 63 74 | ().........self.sock.set_connect |
4d020 | 5f 73 74 61 74 65 28 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 6f 63 6b 2e 63 6f 6e 6e 65 | _state().........self.sock.conne |
4d040 | 63 74 5f 73 73 6c 28 29 0a 0a 20 20 20 20 64 65 66 20 5f 65 6e 63 6f 64 65 5f 61 75 74 68 28 73 | ct_ssl()......def._encode_auth(s |
4d060 | 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 4f 70 74 69 | elf):.........#.type:.().->.Opti |
4d080 | 6f 6e 61 6c 5b 62 79 74 65 73 5d 0a 20 20 20 20 20 20 20 20 22 22 22 20 45 6e 63 6f 64 65 20 74 | onal[bytes].........""".Encode.t |
4d0a0 | 68 65 20 75 73 65 72 6e 61 6d 65 20 61 6e 64 20 70 61 73 73 77 6f 72 64 20 66 6f 72 20 75 73 65 | he.username.and.password.for.use |
4d0c0 | 20 69 6e 20 74 68 65 20 61 75 74 68 20 68 65 61 64 65 72 2e 20 22 22 22 0a 20 20 20 20 20 20 20 | .in.the.auth.header.."""........ |
4d0e0 | 20 69 66 20 6e 6f 74 20 28 73 65 6c 66 2e 5f 75 73 65 72 6e 61 6d 65 20 61 6e 64 20 73 65 6c 66 | .if.not.(self._username.and.self |
4d100 | 2e 5f 70 61 73 73 77 6f 72 64 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 | ._password):.............return. |
4d120 | 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 23 20 41 75 74 68 65 6e 74 69 63 61 74 65 64 20 70 72 6f | None.........#.Authenticated.pro |
4d140 | 78 79 0a 20 20 20 20 20 20 20 20 75 73 65 72 70 61 73 73 20 3d 20 22 25 73 3a 25 73 22 20 25 20 | xy.........userpass.=."%s:%s".%. |
4d160 | 28 73 65 6c 66 2e 5f 75 73 65 72 6e 61 6d 65 2c 20 73 65 6c 66 2e 5f 70 61 73 73 77 6f 72 64 29 | (self._username,.self._password) |
4d180 | 0a 20 20 20 20 20 20 20 20 77 69 74 68 20 77 61 72 6e 69 6e 67 73 2e 63 61 74 63 68 5f 77 61 72 | .........with.warnings.catch_war |
4d1a0 | 6e 69 6e 67 73 28 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 77 61 72 6e 69 6e 67 73 2e 73 69 | nings():.............warnings.si |
4d1c0 | 6d 70 6c 65 66 69 6c 74 65 72 28 22 69 67 6e 6f 72 65 22 2c 20 44 65 70 72 65 63 61 74 69 6f 6e | mplefilter("ignore",.Deprecation |
4d1e0 | 57 61 72 6e 69 6e 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6e 63 5f 75 73 65 72 70 61 73 | Warning).............enc_userpas |
4d200 | 73 20 3d 20 62 61 73 65 36 34 2e 65 6e 63 6f 64 65 73 74 72 69 6e 67 28 75 73 65 72 70 61 73 73 | s.=.base64.encodestring(userpass |
4d220 | 29 2e 72 65 70 6c 61 63 65 28 22 5c 6e 22 2c 20 22 22 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 | ).replace("\n",."").........retu |
4d240 | 72 6e 20 73 69 78 2e 65 6e 73 75 72 65 5f 62 69 6e 61 72 79 28 22 42 61 73 69 63 20 25 73 22 20 | rn.six.ensure_binary("Basic.%s". |
4d260 | 25 20 65 6e 63 5f 75 73 65 72 70 61 73 73 29 0a 94 7d 94 28 8c 18 48 54 54 50 53 43 6f 6e 6e 65 | %.enc_userpass)..}.(..HTTPSConne |
4d280 | 63 74 69 6f 6e 2e 5f 5f 69 6e 69 74 5f 5f 94 6a 74 1f 00 00 4b 1d 4b 38 87 94 8c 17 48 54 54 50 | ction.__init__.jt...K.K8....HTTP |
4d2a0 | 53 43 6f 6e 6e 65 63 74 69 6f 6e 2e 63 6f 6e 6e 65 63 74 94 6a 74 1f 00 00 4b 3a 4b 5a 87 94 8c | SConnection.connect.jt...K:KZ... |
4d2c0 | 15 48 54 54 50 53 43 6f 6e 6e 65 63 74 69 6f 6e 2e 63 6c 6f 73 65 94 6a 74 1f 00 00 4b 5c 4b 6c | .HTTPSConnection.close.jt...K\Kl |
4d2e0 | 87 94 8c 1b 48 54 54 50 53 43 6f 6e 6e 65 63 74 69 6f 6e 2e 67 65 74 5f 73 65 73 73 69 6f 6e 94 | ....HTTPSConnection.get_session. |
4d300 | 6a 74 1f 00 00 4b 6e 4b 70 87 94 8c 1b 48 54 54 50 53 43 6f 6e 6e 65 63 74 69 6f 6e 2e 73 65 74 | jt...KnKp....HTTPSConnection.set |
4d320 | 5f 73 65 73 73 69 6f 6e 94 6a 74 1f 00 00 4b 72 4b 74 87 94 8c 0f 48 54 54 50 53 43 6f 6e 6e 65 | _session.jt...KrKt....HTTPSConne |
4d340 | 63 74 69 6f 6e 94 6a 7d 1f 00 00 4b 15 4b 74 87 94 8c 1d 50 72 6f 78 79 48 54 54 50 53 43 6f 6e | ction.j}...K.Kt....ProxyHTTPSCon |
4d360 | 6e 65 63 74 69 6f 6e 2e 5f 5f 69 6e 69 74 5f 5f 94 6a 74 1f 00 00 4b 88 4b a7 87 94 8c 1f 50 72 | nection.__init__.jt...K.K.....Pr |
4d380 | 6f 78 79 48 54 54 50 53 43 6f 6e 6e 65 63 74 69 6f 6e 2e 70 75 74 72 65 71 75 65 73 74 94 6a 74 | oxyHTTPSConnection.putrequest.jt |
4d3a0 | 1f 00 00 4b a9 4b c8 87 94 8c 1e 50 72 6f 78 79 48 54 54 50 53 43 6f 6e 6e 65 63 74 69 6f 6e 2e | ...K.K.....ProxyHTTPSConnection. |
4d3c0 | 70 75 74 68 65 61 64 65 72 94 6a 74 1f 00 00 4b ca 4b d2 87 94 8c 1f 50 72 6f 78 79 48 54 54 50 | putheader.jt...K.K.....ProxyHTTP |
4d3e0 | 53 43 6f 6e 6e 65 63 74 69 6f 6e 2e 65 6e 64 68 65 61 64 65 72 73 94 6a 74 1f 00 00 4b d4 4b dc | SConnection.endheaders.jt...K.K. |
4d400 | 87 94 8c 1c 50 72 6f 78 79 48 54 54 50 53 43 6f 6e 6e 65 63 74 69 6f 6e 2e 63 6f 6e 6e 65 63 74 | ....ProxyHTTPSConnection.connect |
4d420 | 94 6a 74 1f 00 00 4b de 4b ed 87 94 8c 25 50 72 6f 78 79 48 54 54 50 53 43 6f 6e 6e 65 63 74 69 | .jt...K.K....%ProxyHTTPSConnecti |
4d440 | 6f 6e 2e 5f 67 65 74 5f 63 6f 6e 6e 65 63 74 5f 6d 73 67 94 6a 74 1f 00 00 4b ef 4b f9 87 94 8c | on._get_connect_msg.jt...K.K.... |
4d460 | 1f 50 72 6f 78 79 48 54 54 50 53 43 6f 6e 6e 65 63 74 69 6f 6e 2e 5f 73 74 61 72 74 5f 73 73 6c | .ProxyHTTPSConnection._start_ssl |
4d480 | 94 6a 74 1f 00 00 4b fb 4d 01 01 87 94 8c 21 50 72 6f 78 79 48 54 54 50 53 43 6f 6e 6e 65 63 74 | .jt...K.M.....!ProxyHTTPSConnect |
4d4a0 | 69 6f 6e 2e 5f 65 6e 63 6f 64 65 5f 61 75 74 68 94 6a 74 1f 00 00 4d 03 01 4d 0d 01 87 94 8c 14 | ion._encode_auth.jt...M..M...... |
4d4c0 | 50 72 6f 78 79 48 54 54 50 53 43 6f 6e 6e 65 63 74 69 6f 6e 94 6a 7d 1f 00 00 4b 77 4d 0d 01 87 | ProxyHTTPSConnection.j}...KwM... |
4d4e0 | 94 75 7d 94 28 8c 0f 48 54 54 50 53 43 6f 6e 6e 65 63 74 69 6f 6e 94 6a 53 02 00 00 8c 15 48 54 | .u}.(..HTTPSConnection.jS.....HT |
4d500 | 54 50 53 43 6f 6e 6e 65 63 74 69 6f 6e 2e 63 6c 6f 73 65 94 6a 53 02 00 00 8c 17 48 54 54 50 53 | TPSConnection.close.jS.....HTTPS |
4d520 | 43 6f 6e 6e 65 63 74 69 6f 6e 2e 63 6f 6e 6e 65 63 74 94 6a 53 02 00 00 8c 1b 48 54 54 50 53 43 | Connection.connect.jS.....HTTPSC |
4d540 | 6f 6e 6e 65 63 74 69 6f 6e 2e 67 65 74 5f 73 65 73 73 69 6f 6e 94 6a 53 02 00 00 8c 1b 48 54 54 | onnection.get_session.jS.....HTT |
4d560 | 50 53 43 6f 6e 6e 65 63 74 69 6f 6e 2e 73 65 74 5f 73 65 73 73 69 6f 6e 94 6a 53 02 00 00 8c 14 | PSConnection.set_session.jS..... |
4d580 | 50 72 6f 78 79 48 54 54 50 53 43 6f 6e 6e 65 63 74 69 6f 6e 94 6a 53 02 00 00 8c 1c 50 72 6f 78 | ProxyHTTPSConnection.jS.....Prox |
4d5a0 | 79 48 54 54 50 53 43 6f 6e 6e 65 63 74 69 6f 6e 2e 63 6f 6e 6e 65 63 74 94 6a 53 02 00 00 8c 1f | yHTTPSConnection.connect.jS..... |
4d5c0 | 50 72 6f 78 79 48 54 54 50 53 43 6f 6e 6e 65 63 74 69 6f 6e 2e 65 6e 64 68 65 61 64 65 72 73 94 | ProxyHTTPSConnection.endheaders. |
4d5e0 | 6a 53 02 00 00 8c 1e 50 72 6f 78 79 48 54 54 50 53 43 6f 6e 6e 65 63 74 69 6f 6e 2e 70 75 74 68 | jS.....ProxyHTTPSConnection.puth |
4d600 | 65 61 64 65 72 94 6a 53 02 00 00 8c 1f 50 72 6f 78 79 48 54 54 50 53 43 6f 6e 6e 65 63 74 69 6f | eader.jS.....ProxyHTTPSConnectio |
4d620 | 6e 2e 70 75 74 72 65 71 75 65 73 74 94 6a 53 02 00 00 75 8c 11 4d 32 43 72 79 70 74 6f 2e 68 74 | n.putrequest.jS...u..M2Crypto.ht |
4d640 | 74 70 73 6c 69 62 94 74 94 8c 11 4d 32 43 72 79 70 74 6f 2e 6d 32 75 72 6c 6c 69 62 94 28 58 59 | tpslib.t...M2Crypto.m2urllib.(XY |
4d660 | 10 00 00 66 72 6f 6d 20 5f 5f 66 75 74 75 72 65 5f 5f 20 69 6d 70 6f 72 74 20 61 62 73 6f 6c 75 | ...from.__future__.import.absolu |
4d680 | 74 65 5f 69 6d 70 6f 72 74 2c 20 70 72 69 6e 74 5f 66 75 6e 63 74 69 6f 6e 0a 0a 22 22 22 4d 32 | te_import,.print_function.."""M2 |
4d6a0 | 43 72 79 70 74 6f 20 65 6e 68 61 6e 63 65 6d 65 6e 74 20 74 6f 20 50 79 74 68 6f 6e 27 73 20 75 | Crypto.enhancement.to.Python's.u |
4d6c0 | 72 6c 6c 69 62 20 66 6f 72 20 68 61 6e 64 6c 69 6e 67 0a 27 68 74 74 70 73 27 20 75 72 6c 27 73 | rllib.for.handling.'https'.url's |
4d6e0 | 2e 0a 0a 46 49 58 4d 45 3a 20 69 74 20 69 73 20 71 75 65 73 74 69 6f 6e 61 62 6c 65 20 77 68 65 | ...FIXME:.it.is.questionable.whe |
4d700 | 74 68 65 72 20 77 65 20 6e 65 65 64 20 74 68 69 73 20 6f 6c 64 2d 73 74 79 6c 65 20 6d 6f 64 75 | ther.we.need.this.old-style.modu |
4d720 | 6c 65 20 61 74 20 61 6c 6c 2e 20 75 72 6c 6c 69 62 0a 28 6e 6f 74 20 75 72 6c 6c 69 62 32 29 20 | le.at.all..urllib.(not.urllib2). |
4d740 | 69 73 20 69 6e 20 50 79 74 68 6f 6e 20 33 20 73 75 70 70 6f 72 74 20 6a 75 73 74 20 61 73 20 61 | is.in.Python.3.support.just.as.a |
4d760 | 20 6c 65 67 61 63 79 20 41 50 49 2e 0a 0a 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 39 39 | .legacy.API...Copyright.(c).1999 |
4d780 | 2d 32 30 30 33 20 4e 67 20 50 68 65 6e 67 20 53 69 6f 6e 67 2e 20 41 6c 6c 20 72 69 67 68 74 73 | -2003.Ng.Pheng.Siong..All.rights |
4d7a0 | 20 72 65 73 65 72 76 65 64 2e 22 22 22 0a 0a 69 6d 70 6f 72 74 20 62 61 73 65 36 34 0a 69 6d 70 | .reserved."""..import.base64.imp |
4d7c0 | 6f 72 74 20 77 61 72 6e 69 6e 67 73 0a 0a 66 72 6f 6d 20 4d 32 43 72 79 70 74 6f 20 69 6d 70 6f | ort.warnings..from.M2Crypto.impo |
4d7e0 | 72 74 20 53 53 4c 2c 20 68 74 74 70 73 6c 69 62 2c 20 73 69 78 2c 20 75 74 69 6c 0a 0a 66 72 6f | rt.SSL,.httpslib,.six,.util..fro |
4d800 | 6d 20 4d 32 43 72 79 70 74 6f 2e 73 69 78 2e 6d 6f 76 65 73 2e 75 72 6c 6c 69 62 5f 72 65 73 70 | m.M2Crypto.six.moves.urllib_resp |
4d820 | 6f 6e 73 65 20 69 6d 70 6f 72 74 20 61 64 64 69 6e 66 6f 75 72 6c 0a 69 66 20 75 74 69 6c 2e 70 | onse.import.addinfourl.if.util.p |
4d840 | 79 32 37 70 6c 75 73 3a 0a 20 20 20 20 66 72 6f 6d 20 74 79 70 69 6e 67 20 69 6d 70 6f 72 74 20 | y27plus:.....from.typing.import. |
4d860 | 41 6e 79 53 74 72 2c 20 4f 70 74 69 6f 6e 61 6c 20 20 23 20 6e 6f 71 61 0a 0a 23 20 73 69 78 2e | AnyStr,.Optional..#.noqa..#.six. |
4d880 | 6d 6f 76 65 73 20 64 6f 65 73 6e 27 74 20 73 75 70 70 6f 72 74 20 73 74 61 72 20 69 6d 70 6f 72 | moves.doesn't.support.star.impor |
4d8a0 | 74 73 0a 69 66 20 73 69 78 2e 50 59 33 3a 0a 20 20 20 20 66 72 6f 6d 20 75 72 6c 6c 69 62 2e 72 | ts.if.six.PY3:.....from.urllib.r |
4d8c0 | 65 71 75 65 73 74 20 69 6d 70 6f 72 74 20 2a 20 20 23 20 6e 6f 71 61 20 66 6f 72 20 6f 74 68 65 | equest.import.*..#.noqa.for.othe |
4d8e0 | 72 20 6d 6f 64 75 6c 65 73 20 74 6f 20 69 6d 70 6f 72 74 0a 20 20 20 20 66 72 6f 6d 20 75 72 6c | r.modules.to.import.....from.url |
4d900 | 6c 69 62 2e 70 61 72 73 65 20 69 6d 70 6f 72 74 20 2a 20 20 23 20 6e 6f 71 61 20 66 6f 72 20 6f | lib.parse.import.*..#.noqa.for.o |
4d920 | 74 68 65 72 20 6d 6f 64 75 6c 65 73 20 74 6f 20 69 6d 70 6f 72 74 0a 20 20 20 20 66 72 6f 6d 20 | ther.modules.to.import.....from. |
4d940 | 75 72 6c 6c 69 62 2e 65 72 72 6f 72 20 69 6d 70 6f 72 74 20 2a 20 20 23 20 6e 6f 71 61 20 66 6f | urllib.error.import.*..#.noqa.fo |
4d960 | 72 20 6f 74 68 65 72 20 6d 6f 64 75 6c 65 73 20 74 6f 20 69 6d 70 6f 72 74 0a 65 6c 73 65 3a 0a | r.other.modules.to.import.else:. |
4d980 | 20 20 20 20 66 72 6f 6d 20 75 72 6c 6c 69 62 20 69 6d 70 6f 72 74 20 2a 20 20 23 20 6e 6f 71 61 | ....from.urllib.import.*..#.noqa |
4d9a0 | 0a 0a 0a 64 65 66 20 6f 70 65 6e 5f 68 74 74 70 73 28 73 65 6c 66 2c 20 75 72 6c 2c 20 64 61 74 | ...def.open_https(self,.url,.dat |
4d9c0 | 61 3d 4e 6f 6e 65 2c 20 73 73 6c 5f 63 6f 6e 74 65 78 74 3d 4e 6f 6e 65 29 3a 0a 20 20 20 20 23 | a=None,.ssl_context=None):.....# |
4d9e0 | 20 74 79 70 65 3a 20 28 55 52 4c 4f 70 65 6e 65 72 2c 20 41 6e 79 53 74 72 2c 20 4f 70 74 69 6f | .type:.(URLOpener,.AnyStr,.Optio |
4da00 | 6e 61 6c 5b 62 79 74 65 73 5d 2c 20 4f 70 74 69 6f 6e 61 6c 5b 53 53 4c 2e 43 6f 6e 74 65 78 74 | nal[bytes],.Optional[SSL.Context |
4da20 | 5d 29 20 2d 3e 20 61 64 64 69 6e 66 6f 75 72 6c 0a 20 20 20 20 22 22 22 0a 20 20 20 20 4f 70 65 | ]).->.addinfourl.....""".....Ope |
4da40 | 6e 20 55 52 4c 20 6f 76 65 72 20 74 68 65 20 53 53 4c 20 63 6f 6e 6e 65 63 74 69 6f 6e 2e 0a 0a | n.URL.over.the.SSL.connection... |
4da60 | 20 20 20 20 3a 70 61 72 61 6d 20 75 72 6c 3a 20 55 52 4c 20 74 6f 20 62 65 20 6f 70 65 6e 65 64 | ....:param.url:.URL.to.be.opened |
4da80 | 0a 20 20 20 20 3a 70 61 72 61 6d 20 64 61 74 61 3a 20 64 61 74 61 20 66 6f 72 20 74 68 65 20 50 | .....:param.data:.data.for.the.P |
4daa0 | 4f 53 54 20 72 65 71 75 65 73 74 0a 20 20 20 20 3a 70 61 72 61 6d 20 73 73 6c 5f 63 6f 6e 74 65 | OST.request.....:param.ssl_conte |
4dac0 | 78 74 3a 20 53 53 4c 2e 43 6f 6e 74 65 78 74 20 74 6f 20 62 65 20 75 73 65 64 0a 20 20 20 20 3a | xt:.SSL.Context.to.be.used.....: |
4dae0 | 72 65 74 75 72 6e 3a 0a 20 20 20 20 22 22 22 0a 20 20 20 20 69 66 20 73 69 78 2e 50 59 33 3a 0a | return:.....""".....if.six.PY3:. |
4db00 | 20 20 20 20 20 20 20 20 77 61 72 6e 69 6e 67 73 2e 77 61 72 6e 28 27 55 52 4c 4f 70 65 6e 65 72 | ........warnings.warn('URLOpener |
4db20 | 20 68 61 73 20 62 65 65 6e 20 64 65 70 72 65 63 61 74 65 64 20 69 6e 20 50 79 33 6b 27 2c 20 44 | .has.been.deprecated.in.Py3k',.D |
4db40 | 65 70 72 65 63 61 74 69 6f 6e 57 61 72 6e 69 6e 67 29 0a 0a 20 20 20 20 69 66 20 73 73 6c 5f 63 | eprecationWarning)......if.ssl_c |
4db60 | 6f 6e 74 65 78 74 20 69 73 20 6e 6f 74 20 4e 6f 6e 65 20 61 6e 64 20 69 73 69 6e 73 74 61 6e 63 | ontext.is.not.None.and.isinstanc |
4db80 | 65 28 73 73 6c 5f 63 6f 6e 74 65 78 74 2c 20 53 53 4c 2e 43 6f 6e 74 65 78 74 29 3a 0a 20 20 20 | e(ssl_context,.SSL.Context):.... |
4dba0 | 20 20 20 20 20 73 65 6c 66 2e 63 74 78 20 3d 20 73 73 6c 5f 63 6f 6e 74 65 78 74 0a 20 20 20 20 | .....self.ctx.=.ssl_context..... |
4dbc0 | 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 63 74 78 20 3d 20 53 53 4c 2e 43 6f 6e | else:.........self.ctx.=.SSL.Con |
4dbe0 | 74 65 78 74 28 29 0a 20 20 20 20 75 73 65 72 5f 70 61 73 73 77 64 20 3d 20 4e 6f 6e 65 0a 20 20 | text().....user_passwd.=.None... |
4dc00 | 20 20 69 66 20 69 73 69 6e 73 74 61 6e 63 65 28 75 72 6c 2c 20 73 69 78 2e 73 74 72 69 6e 67 5f | ..if.isinstance(url,.six.string_ |
4dc20 | 74 79 70 65 73 29 3a 0a 20 20 20 20 20 20 20 20 74 72 79 3a 20 20 20 20 20 20 20 20 20 20 20 20 | types):.........try:............ |
4dc40 | 20 20 20 23 20 70 79 74 68 6f 6e 20 32 0a 20 20 20 20 20 20 20 20 20 20 20 20 23 20 68 74 74 70 | ...#.python.2.............#.http |
4dc60 | 3a 2f 2f 70 79 64 6f 63 2e 6f 72 67 2f 32 2e 35 2e 31 2f 75 72 6c 6c 69 62 2e 68 74 6d 6c 0a 20 | ://pydoc.org/2.5.1/urllib.html.. |
4dc80 | 20 20 20 20 20 20 20 20 20 20 20 68 6f 73 74 2c 20 73 65 6c 65 63 74 6f 72 20 3d 20 73 70 6c 69 | ...........host,.selector.=.spli |
4dca0 | 74 68 6f 73 74 28 75 72 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 68 6f 73 74 3a 0a | thost(url).............if.host:. |
4dcc0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 73 65 72 5f 70 61 73 73 77 64 2c 20 68 6f 73 | ................user_passwd,.hos |
4dce0 | 74 20 3d 20 73 70 6c 69 74 75 73 65 72 28 68 6f 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | t.=.splituser(host)............. |
4dd00 | 20 20 20 20 68 6f 73 74 20 3d 20 75 6e 71 75 6f 74 65 28 68 6f 73 74 29 0a 20 20 20 20 20 20 20 | ....host.=.unquote(host)........ |
4dd20 | 20 20 20 20 20 72 65 61 6c 68 6f 73 74 20 3d 20 68 6f 73 74 0a 20 20 20 20 20 20 20 20 65 78 63 | .....realhost.=.host.........exc |
4dd40 | 65 70 74 20 4e 61 6d 65 45 72 72 6f 72 3a 20 20 23 20 70 79 74 68 6f 6e 20 33 20 68 61 73 20 6e | ept.NameError:..#.python.3.has.n |
4dd60 | 6f 20 73 70 6c 69 74 68 6f 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 23 20 68 74 74 70 73 3a | o.splithost.............#.https: |
4dd80 | 2f 2f 64 6f 63 73 2e 70 79 74 68 6f 6e 2e 6f 72 67 2f 33 2f 6c 69 62 72 61 72 79 2f 75 72 6c 6c | //docs.python.org/3/library/urll |
4dda0 | 69 62 2e 70 61 72 73 65 2e 68 74 6d 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 61 72 73 65 64 | ib.parse.html.............parsed |
4ddc0 | 20 3d 20 75 72 6c 70 61 72 73 65 28 75 72 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 68 6f 73 | .=.urlparse(url).............hos |
4dde0 | 74 20 3d 20 70 61 72 73 65 64 2e 68 6f 73 74 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 | t.=.parsed.hostname............. |
4de00 | 69 66 20 70 61 72 73 65 64 2e 70 6f 72 74 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | if.parsed.port:................. |
4de20 | 68 6f 73 74 20 2b 3d 20 22 3a 7b 30 7d 22 2e 66 6f 72 6d 61 74 28 70 61 72 73 65 64 2e 70 6f 72 | host.+=.":{0}".format(parsed.por |
4de40 | 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 75 73 65 72 5f 70 61 73 73 77 64 20 3d 20 70 61 72 | t).............user_passwd.=.par |
4de60 | 73 65 64 2e 70 61 73 73 77 6f 72 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 70 61 72 73 | sed.password.............if.pars |
4de80 | 65 64 2e 70 61 73 73 77 6f 72 64 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 73 65 | ed.password:.................use |
4dea0 | 72 5f 70 61 73 73 77 64 20 2b 3d 20 22 3a 7b 30 7d 22 2e 66 6f 72 6d 61 74 28 70 61 72 73 65 64 | r_passwd.+=.":{0}".format(parsed |
4dec0 | 2e 70 61 73 73 77 6f 72 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 65 63 74 6f 72 20 | .password).............selector. |
4dee0 | 3d 20 70 61 72 73 65 64 2e 70 61 74 68 0a 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 | =.parsed.path.....else:......... |
4df00 | 68 6f 73 74 2c 20 73 65 6c 65 63 74 6f 72 20 3d 20 75 72 6c 0a 20 20 20 20 20 20 20 20 75 72 6c | host,.selector.=.url.........url |
4df20 | 74 79 70 65 2c 20 72 65 73 74 20 3d 20 73 70 6c 69 74 74 79 70 65 28 73 65 6c 65 63 74 6f 72 29 | type,.rest.=.splittype(selector) |
4df40 | 0a 20 20 20 20 20 20 20 20 75 72 6c 20 3d 20 72 65 73 74 0a 20 20 20 20 20 20 20 20 75 73 65 72 | .........url.=.rest.........user |
4df60 | 5f 70 61 73 73 77 64 20 3d 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 69 66 20 75 72 6c 74 79 70 | _passwd.=.None.........if.urltyp |
4df80 | 65 2e 6c 6f 77 65 72 28 29 20 21 3d 20 27 68 74 74 70 27 3a 0a 20 20 20 20 20 20 20 20 20 20 20 | e.lower().!=.'http':............ |
4dfa0 | 20 72 65 61 6c 68 6f 73 74 20 3d 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 | .realhost.=.None.........else:.. |
4dfc0 | 20 20 20 20 20 20 20 20 20 20 20 74 72 79 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 20 | ...........try:...............#. |
4dfe0 | 70 79 74 68 6f 6e 20 32 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 61 6c 68 6f 73 | python.2.................realhos |
4e000 | 74 2c 20 72 65 73 74 20 3d 20 73 70 6c 69 74 68 6f 73 74 28 72 65 73 74 29 0a 20 20 20 20 20 20 | t,.rest.=.splithost(rest)....... |
4e020 | 20 20 20 20 20 20 20 20 20 20 69 66 20 72 65 61 6c 68 6f 73 74 3a 0a 20 20 20 20 20 20 20 20 20 | ..........if.realhost:.......... |
4e040 | 20 20 20 20 20 20 20 20 20 20 20 75 73 65 72 5f 70 61 73 73 77 64 2c 20 72 65 61 6c 68 6f 73 74 | ...........user_passwd,.realhost |
4e060 | 20 3d 20 73 70 6c 69 74 75 73 65 72 28 72 65 61 6c 68 6f 73 74 29 0a 20 20 20 20 20 20 20 20 20 | .=.splituser(realhost).......... |
4e080 | 20 20 20 20 20 20 20 20 20 20 20 69 66 20 75 73 65 72 5f 70 61 73 73 77 64 3a 0a 20 20 20 20 20 | ...........if.user_passwd:...... |
4e0a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 65 63 74 6f 72 20 3d 20 22 25 | ...................selector.=."% |
4e0c0 | 73 3a 2f 2f 25 73 25 73 22 20 25 20 28 75 72 6c 74 79 70 65 2c 20 72 65 61 6c 68 6f 73 74 2c 20 | s://%s%s".%.(urltype,.realhost,. |
4e0e0 | 72 65 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 78 63 65 70 74 20 4e 61 6d 65 45 72 72 | rest).............except.NameErr |
4e100 | 6f 72 3a 20 20 23 20 70 79 74 68 6f 6e 20 33 20 68 61 73 20 6e 6f 20 73 70 6c 69 74 68 6f 73 74 | or:..#.python.3.has.no.splithost |
4e120 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 61 72 73 65 64 20 3d 20 75 72 6c 70 61 72 | .................parsed.=.urlpar |
4e140 | 73 65 28 72 65 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 68 6f 73 74 20 3d 20 | se(rest).................host.=. |
4e160 | 70 61 72 73 65 64 2e 68 6f 73 74 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | parsed.hostname................. |
4e180 | 69 66 20 70 61 72 73 65 64 2e 70 6f 72 74 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | if.parsed.port:................. |
4e1a0 | 20 20 20 20 68 6f 73 74 20 2b 3d 20 22 3a 7b 30 7d 22 2e 66 6f 72 6d 61 74 28 70 61 72 73 65 64 | ....host.+=.":{0}".format(parsed |
4e1c0 | 2e 70 6f 72 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 73 65 72 5f 70 61 73 73 | .port).................user_pass |
4e1e0 | 77 64 20 3d 20 70 61 72 73 65 64 2e 75 73 65 72 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 | wd.=.parsed.username............ |
4e200 | 20 20 20 20 20 69 66 20 70 61 72 73 65 64 2e 70 61 73 73 77 6f 72 64 3a 0a 20 20 20 20 20 20 20 | .....if.parsed.password:........ |
4e220 | 20 20 20 20 20 20 20 20 20 20 20 20 20 75 73 65 72 5f 70 61 73 73 77 64 20 2b 3d 20 22 3a 7b 30 | .............user_passwd.+=.":{0 |
4e240 | 7d 22 2e 66 6f 72 6d 61 74 28 70 61 72 73 65 64 2e 70 61 73 73 77 6f 72 64 29 0a 20 20 20 20 20 | }".format(parsed.password)...... |
4e260 | 20 20 20 23 20 70 72 69 6e 74 28 22 70 72 6f 78 79 20 76 69 61 20 68 74 74 70 3a 22 2c 20 68 6f | ...#.print("proxy.via.http:",.ho |
4e280 | 73 74 2c 20 73 65 6c 65 63 74 6f 72 29 0a 20 20 20 20 69 66 20 6e 6f 74 20 68 6f 73 74 3a 0a 20 | st,.selector).....if.not.host:.. |
4e2a0 | 20 20 20 20 20 20 20 72 61 69 73 65 20 49 4f 45 72 72 6f 72 28 27 68 74 74 70 20 65 72 72 6f 72 | .......raise.IOError('http.error |
4e2c0 | 27 2c 20 27 6e 6f 20 68 6f 73 74 20 67 69 76 65 6e 27 29 0a 20 20 20 20 69 66 20 75 73 65 72 5f | ',.'no.host.given').....if.user_ |
4e2e0 | 70 61 73 73 77 64 3a 0a 20 20 20 20 20 20 20 20 69 66 20 73 69 78 2e 50 59 33 3a 0a 20 20 20 20 | passwd:.........if.six.PY3:..... |
4e300 | 20 20 20 20 20 20 20 20 61 75 74 68 20 3d 20 62 61 73 65 36 34 2e 65 6e 63 6f 64 65 62 79 74 65 | ........auth.=.base64.encodebyte |
4e320 | 73 28 75 73 65 72 5f 70 61 73 73 77 64 29 2e 73 74 72 69 70 28 29 0a 20 20 20 20 20 20 20 20 65 | s(user_passwd).strip().........e |
4e340 | 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 61 75 74 68 20 3d 20 62 61 73 65 36 34 2e 65 | lse:.............auth.=.base64.e |
4e360 | 6e 63 6f 64 65 73 74 72 69 6e 67 28 75 73 65 72 5f 70 61 73 73 77 64 29 2e 73 74 72 69 70 28 29 | ncodestring(user_passwd).strip() |
4e380 | 0a 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 61 75 74 68 20 3d 20 4e 6f 6e 65 0a 20 | .....else:.........auth.=.None.. |
4e3a0 | 20 20 20 23 20 53 74 61 72 74 20 68 65 72 65 21 0a 20 20 20 20 68 20 3d 20 68 74 74 70 73 6c 69 | ...#.Start.here!.....h.=.httpsli |
4e3c0 | 62 2e 48 54 54 50 53 43 6f 6e 6e 65 63 74 69 6f 6e 28 68 6f 73 74 3d 68 6f 73 74 2c 20 73 73 6c | b.HTTPSConnection(host=host,.ssl |
4e3e0 | 5f 63 6f 6e 74 65 78 74 3d 73 65 6c 66 2e 63 74 78 29 0a 20 20 20 20 23 20 68 2e 73 65 74 5f 64 | _context=self.ctx).....#.h.set_d |
4e400 | 65 62 75 67 6c 65 76 65 6c 28 31 29 0a 20 20 20 20 23 20 53 74 6f 70 20 68 65 72 65 21 0a 20 20 | ebuglevel(1).....#.Stop.here!... |
4e420 | 20 20 69 66 20 64 61 74 61 20 69 73 20 6e 6f 74 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 68 | ..if.data.is.not.None:.........h |
4e440 | 2e 70 75 74 72 65 71 75 65 73 74 28 27 50 4f 53 54 27 2c 20 73 65 6c 65 63 74 6f 72 29 0a 20 20 | .putrequest('POST',.selector)... |
4e460 | 20 20 20 20 20 20 68 2e 70 75 74 68 65 61 64 65 72 28 27 43 6f 6e 74 65 6e 74 2d 74 79 70 65 27 | ......h.putheader('Content-type' |
4e480 | 2c 20 27 61 70 70 6c 69 63 61 74 69 6f 6e 2f 78 2d 77 77 77 2d 66 6f 72 6d 2d 75 72 6c 65 6e 63 | ,.'application/x-www-form-urlenc |
4e4a0 | 6f 64 65 64 27 29 0a 20 20 20 20 20 20 20 20 68 2e 70 75 74 68 65 61 64 65 72 28 27 43 6f 6e 74 | oded').........h.putheader('Cont |
4e4c0 | 65 6e 74 2d 6c 65 6e 67 74 68 27 2c 20 27 25 64 27 20 25 20 6c 65 6e 28 64 61 74 61 29 29 0a 20 | ent-length',.'%d'.%.len(data)).. |
4e4e0 | 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 68 2e 70 75 74 72 65 71 75 65 73 74 28 27 47 | ...else:.........h.putrequest('G |
4e500 | 45 54 27 2c 20 73 65 6c 65 63 74 6f 72 29 0a 20 20 20 20 69 66 20 61 75 74 68 3a 0a 20 20 20 20 | ET',.selector).....if.auth:..... |
4e520 | 20 20 20 20 68 2e 70 75 74 68 65 61 64 65 72 28 27 41 75 74 68 6f 72 69 7a 61 74 69 6f 6e 27 2c | ....h.putheader('Authorization', |
4e540 | 20 27 42 61 73 69 63 20 25 73 27 20 25 20 61 75 74 68 29 0a 20 20 20 20 66 6f 72 20 61 72 67 73 | .'Basic.%s'.%.auth).....for.args |
4e560 | 20 69 6e 20 73 65 6c 66 2e 61 64 64 68 65 61 64 65 72 73 3a 0a 20 20 20 20 20 20 20 20 68 2e 70 | .in.self.addheaders:.........h.p |
4e580 | 75 74 68 65 61 64 65 72 28 2a 61 72 67 73 29 20 20 20 23 20 66 6f 72 20 70 79 74 68 6f 6e 33 20 | utheader(*args)...#.for.python3. |
4e5a0 | 2d 20 75 73 65 64 20 74 6f 20 75 73 65 20 61 70 70 6c 79 0a 20 20 20 20 68 2e 65 6e 64 68 65 61 | -.used.to.use.apply.....h.endhea |
4e5c0 | 64 65 72 73 28 29 0a 20 20 20 20 69 66 20 64 61 74 61 20 69 73 20 6e 6f 74 20 4e 6f 6e 65 3a 0a | ders().....if.data.is.not.None:. |
4e5e0 | 20 20 20 20 20 20 20 20 68 2e 73 65 6e 64 28 64 61 74 61 20 2b 20 27 5c 72 5c 6e 27 29 0a 20 20 | ........h.send(data.+.'\r\n')... |
4e600 | 20 20 23 20 48 65 72 65 20 61 67 61 69 6e 21 0a 20 20 20 20 72 65 73 70 20 3d 20 68 2e 67 65 74 | ..#.Here.again!.....resp.=.h.get |
4e620 | 72 65 73 70 6f 6e 73 65 28 29 0a 20 20 20 20 66 70 20 3d 20 72 65 73 70 2e 66 70 0a 20 20 20 20 | response().....fp.=.resp.fp..... |
4e640 | 72 65 74 75 72 6e 20 61 64 64 69 6e 66 6f 75 72 6c 28 66 70 2c 20 72 65 73 70 2e 6d 73 67 2c 20 | return.addinfourl(fp,.resp.msg,. |
4e660 | 22 68 74 74 70 73 3a 22 20 2b 20 75 72 6c 29 0a 20 20 20 20 23 20 53 74 6f 70 20 61 67 61 69 6e | "https:".+.url).....#.Stop.again |
4e680 | 2e 0a 0a 23 20 4d 69 6e 6f 72 20 62 72 61 69 6e 20 73 75 72 67 65 72 79 2e 0a 55 52 4c 6f 70 65 | ...#.Minor.brain.surgery..URLope |
4e6a0 | 6e 65 72 2e 6f 70 65 6e 5f 68 74 74 70 73 20 3d 20 6f 70 65 6e 5f 68 74 74 70 73 0a 94 7d 94 8c | ner.open_https.=.open_https..}.. |
4e6c0 | 0a 6f 70 65 6e 5f 68 74 74 70 73 94 6a 74 1f 00 00 4b 1d 4b 75 87 94 73 7d 94 8c 0a 6f 70 65 6e | .open_https.jt...K.Ku..s}...open |
4e6e0 | 5f 68 74 74 70 73 94 6a 53 02 00 00 73 8c 11 4d 32 43 72 79 70 74 6f 2e 6d 32 75 72 6c 6c 69 62 | _https.jS...s..M2Crypto.m2urllib |
4e700 | 94 74 94 8c 12 4d 32 43 72 79 70 74 6f 2e 6d 32 75 72 6c 6c 69 62 32 94 28 58 f6 18 00 00 66 72 | .t...M2Crypto.m2urllib2.(X....fr |
4e720 | 6f 6d 20 5f 5f 66 75 74 75 72 65 5f 5f 20 69 6d 70 6f 72 74 20 61 62 73 6f 6c 75 74 65 5f 69 6d | om.__future__.import.absolute_im |
4e740 | 70 6f 72 74 0a 0a 22 22 22 0a 4d 32 43 72 79 70 74 6f 20 65 6e 68 61 6e 63 65 6d 65 6e 74 20 74 | port..""".M2Crypto.enhancement.t |
4e760 | 6f 20 50 79 74 68 6f 6e 27 73 20 75 72 6c 6c 69 62 32 20 66 6f 72 20 68 61 6e 64 6c 69 6e 67 0a | o.Python's.urllib2.for.handling. |
4e780 | 27 68 74 74 70 73 27 20 75 72 6c 27 73 2e 0a 0a 43 6f 64 65 20 66 72 6f 6d 20 75 72 6c 6c 69 62 | 'https'.url's...Code.from.urllib |
4e7a0 | 32 20 69 73 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 30 31 2c 20 32 30 30 32 2c 20 32 | 2.is.Copyright.(c).2001,.2002,.2 |
4e7c0 | 30 30 33 2c 20 32 30 30 34 2c 20 32 30 30 35 2c 20 32 30 30 36 2c 20 32 30 30 37 0a 50 79 74 68 | 003,.2004,.2005,.2006,.2007.Pyth |
4e7e0 | 6f 6e 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 3b 20 41 6c 6c 20 52 69 67 68 | on.Software.Foundation;.All.Righ |
4e800 | 74 73 20 52 65 73 65 72 76 65 64 0a 0a 53 75 6d 6d 61 72 79 20 6f 66 20 63 68 61 6e 67 65 73 3a | ts.Reserved..Summary.of.changes: |
4e820 | 0a 20 2d 20 55 73 65 20 61 6e 20 48 54 54 50 53 50 72 6f 78 79 43 6f 6e 6e 65 63 74 69 6f 6e 20 | ..-.Use.an.HTTPSProxyConnection. |
4e840 | 69 66 20 74 68 65 20 72 65 71 75 65 73 74 20 69 73 20 67 6f 69 6e 67 20 74 68 72 6f 75 67 68 20 | if.the.request.is.going.through. |
4e860 | 61 20 70 72 6f 78 79 2e 0a 20 2d 20 41 64 64 20 74 68 65 20 53 53 4c 20 63 6f 6e 74 65 78 74 20 | a.proxy...-.Add.the.SSL.context. |
4e880 | 74 6f 20 74 68 65 20 68 74 74 70 73 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 77 68 65 6e 20 70 65 72 | to.the.https.connection.when.per |
4e8a0 | 66 6f 72 6d 69 6e 67 20 68 74 74 70 73 5f 6f 70 65 6e 2e 0a 20 2d 20 41 64 64 20 74 68 65 20 4d | forming.https_open...-.Add.the.M |
4e8c0 | 32 43 72 79 70 74 6f 20 48 54 54 50 53 48 61 6e 64 6c 65 72 20 77 68 65 6e 20 62 75 69 6c 64 69 | 2Crypto.HTTPSHandler.when.buildi |
4e8e0 | 6e 67 20 61 20 64 65 66 61 75 6c 74 20 6f 70 65 6e 65 72 2e 0a 22 22 22 0a 0a 69 6d 70 6f 72 74 | ng.a.default.opener.."""..import |
4e900 | 20 73 6f 63 6b 65 74 0a 0a 66 72 6f 6d 20 4d 32 43 72 79 70 74 6f 20 69 6d 70 6f 72 74 20 53 53 | .socket..from.M2Crypto.import.SS |
4e920 | 4c 2c 20 68 74 74 70 73 6c 69 62 2c 20 73 69 78 2c 20 75 74 69 6c 0a 0a 66 72 6f 6d 20 4d 32 43 | L,.httpslib,.six,.util..from.M2C |
4e940 | 72 79 70 74 6f 2e 73 69 78 2e 6d 6f 76 65 73 2e 75 72 6c 6c 69 62 5f 70 61 72 73 65 20 69 6d 70 | rypto.six.moves.urllib_parse.imp |
4e960 | 6f 72 74 20 75 72 6c 64 65 66 72 61 67 2c 20 75 72 6c 70 61 72 73 65 20 61 73 20 75 72 6c 5f 70 | ort.urldefrag,.urlparse.as.url_p |
4e980 | 61 72 73 65 0a 66 72 6f 6d 20 4d 32 43 72 79 70 74 6f 2e 73 69 78 2e 6d 6f 76 65 73 2e 75 72 6c | arse.from.M2Crypto.six.moves.url |
4e9a0 | 6c 69 62 5f 72 65 73 70 6f 6e 73 65 20 69 6d 70 6f 72 74 20 61 64 64 69 6e 66 6f 75 72 6c 0a 69 | lib_response.import.addinfourl.i |
4e9c0 | 66 20 75 74 69 6c 2e 70 79 32 37 70 6c 75 73 3a 0a 20 20 20 20 66 72 6f 6d 20 74 79 70 69 6e 67 | f.util.py27plus:.....from.typing |
4e9e0 | 20 69 6d 70 6f 72 74 20 4c 69 73 74 2c 20 4f 70 74 69 6f 6e 61 6c 20 20 23 20 6e 6f 71 61 0a 0a | .import.List,.Optional..#.noqa.. |
4ea00 | 23 20 73 69 78 2e 6d 6f 76 65 73 20 64 6f 65 73 6e 27 74 20 73 75 70 70 6f 72 74 20 73 74 61 72 | #.six.moves.doesn't.support.star |
4ea20 | 20 69 6d 70 6f 72 74 73 0a 69 66 20 73 69 78 2e 50 59 33 3a 0a 20 20 20 20 66 72 6f 6d 20 75 72 | .imports.if.six.PY3:.....from.ur |
4ea40 | 6c 6c 69 62 2e 72 65 71 75 65 73 74 20 69 6d 70 6f 72 74 20 2a 20 20 23 20 6e 6f 71 61 20 6f 74 | llib.request.import.*..#.noqa.ot |
4ea60 | 68 65 72 20 6d 6f 64 75 6c 65 73 20 77 61 6e 74 20 74 6f 20 69 6d 70 6f 72 74 0a 20 20 20 20 66 | her.modules.want.to.import.....f |
4ea80 | 72 6f 6d 20 75 72 6c 6c 69 62 2e 65 72 72 6f 72 20 69 6d 70 6f 72 74 20 2a 20 20 23 20 6e 6f 71 | rom.urllib.error.import.*..#.noq |
4eaa0 | 61 20 6f 74 68 65 72 20 6d 6f 64 75 6c 65 73 20 77 61 6e 74 20 74 6f 20 69 6d 70 6f 72 74 0a 65 | a.other.modules.want.to.import.e |
4eac0 | 6c 73 65 3a 0a 20 20 20 20 66 72 6f 6d 20 75 72 6c 6c 69 62 32 20 69 6d 70 6f 72 74 20 2a 20 20 | lse:.....from.urllib2.import.*.. |
4eae0 | 23 20 6e 6f 71 61 0a 0a 0a 74 72 79 3a 0a 20 20 20 20 6d 6f 74 68 65 72 5f 63 6c 61 73 73 20 3d | #.noqa...try:.....mother_class.= |
4eb00 | 20 73 6f 63 6b 65 74 2e 5f 66 69 6c 65 6f 62 6a 65 63 74 0a 65 78 63 65 70 74 20 41 74 74 72 69 | .socket._fileobject.except.Attri |
4eb20 | 62 75 74 65 45 72 72 6f 72 3a 0a 20 20 20 20 6d 6f 74 68 65 72 5f 63 6c 61 73 73 20 3d 20 73 6f | buteError:.....mother_class.=.so |
4eb40 | 63 6b 65 74 2e 53 6f 63 6b 65 74 49 4f 0a 0a 0a 63 6c 61 73 73 20 5f 63 6c 6f 73 69 6e 67 5f 66 | cket.SocketIO...class._closing_f |
4eb60 | 69 6c 65 6f 62 6a 65 63 74 28 6d 6f 74 68 65 72 5f 63 6c 61 73 73 29 3a 20 20 23 20 6e 6f 71 61 | ileobject(mother_class):..#.noqa |
4eb80 | 0a 20 20 20 20 22 22 22 73 6f 63 6b 65 74 2e 5f 66 69 6c 65 6f 62 6a 65 63 74 20 74 68 61 74 20 | ....."""socket._fileobject.that. |
4eba0 | 70 72 6f 70 61 67 61 74 65 73 20 73 65 6c 66 2e 63 6c 6f 73 65 28 29 20 74 6f 20 74 68 65 20 73 | propagates.self.close().to.the.s |
4ebc0 | 6f 63 6b 65 74 2e 0a 0a 20 20 20 20 50 79 74 68 6f 6e 20 32 2e 35 20 70 72 6f 76 69 64 65 73 20 | ocket.......Python.2.5.provides. |
4ebe0 | 74 68 69 73 20 61 73 20 73 6f 63 6b 65 74 2e 5f 66 69 6c 65 6f 62 6a 65 63 74 28 73 6f 63 6b 2c | this.as.socket._fileobject(sock, |
4ec00 | 20 63 6c 6f 73 65 3d 54 72 75 65 29 2e 0a 20 20 20 20 22 22 22 0a 0a 23 20 66 6f 72 20 70 79 74 | .close=True)......"""..#.for.pyt |
4ec20 | 68 6f 6e 20 33 0a 74 72 79 3a 0a 20 20 20 20 41 62 73 74 72 61 63 74 48 54 54 50 48 61 6e 64 6c | hon.3.try:.....AbstractHTTPHandl |
4ec40 | 65 72 0a 65 78 63 65 70 74 20 4e 61 6d 65 45 72 72 6f 72 3a 0a 20 20 20 20 23 20 73 6f 6d 65 68 | er.except.NameError:.....#.someh |
4ec60 | 6f 77 20 74 68 69 73 20 77 6f 6e 27 74 20 67 65 74 20 69 6d 70 6f 72 74 65 64 20 62 79 20 74 68 | ow.this.won't.get.imported.by.th |
4ec80 | 65 20 69 6d 70 6f 72 74 20 2a 20 61 62 6f 76 65 0a 20 20 20 20 69 6d 70 6f 72 74 20 75 72 6c 6c | e.import.*.above.....import.urll |
4eca0 | 69 62 2e 72 65 71 75 65 73 74 0a 20 20 20 20 41 62 73 74 72 61 63 74 48 54 54 50 48 61 6e 64 6c | ib.request.....AbstractHTTPHandl |
4ecc0 | 65 72 20 3d 20 75 72 6c 6c 69 62 2e 72 65 71 75 65 73 74 2e 41 62 73 74 72 61 63 74 48 54 54 50 | er.=.urllib.request.AbstractHTTP |
4ece0 | 48 61 6e 64 6c 65 72 0a 0a 0a 63 6c 61 73 73 20 48 54 54 50 53 48 61 6e 64 6c 65 72 28 41 62 73 | Handler...class.HTTPSHandler(Abs |
4ed00 | 74 72 61 63 74 48 54 54 50 48 61 6e 64 6c 65 72 29 3a 0a 20 20 20 20 64 65 66 20 5f 5f 69 6e 69 | tractHTTPHandler):.....def.__ini |
4ed20 | 74 5f 5f 28 73 65 6c 66 2c 20 73 73 6c 5f 63 6f 6e 74 65 78 74 3d 4e 6f 6e 65 29 3a 0a 20 20 20 | t__(self,.ssl_context=None):.... |
4ed40 | 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 53 53 4c 2e 43 6f 6e 74 65 78 74 29 20 2d 3e 20 4e 6f | .....#.type:.(SSL.Context).->.No |
4ed60 | 6e 65 0a 20 20 20 20 20 20 20 20 41 62 73 74 72 61 63 74 48 54 54 50 48 61 6e 64 6c 65 72 2e 5f | ne.........AbstractHTTPHandler._ |
4ed80 | 5f 69 6e 69 74 5f 5f 28 73 65 6c 66 29 0a 0a 20 20 20 20 20 20 20 20 69 66 20 73 73 6c 5f 63 6f | _init__(self)..........if.ssl_co |
4eda0 | 6e 74 65 78 74 20 69 73 20 6e 6f 74 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 61 | ntext.is.not.None:.............a |
4edc0 | 73 73 65 72 74 20 69 73 69 6e 73 74 61 6e 63 65 28 73 73 6c 5f 63 6f 6e 74 65 78 74 2c 20 53 53 | ssert.isinstance(ssl_context,.SS |
4ede0 | 4c 2e 43 6f 6e 74 65 78 74 29 2c 20 73 73 6c 5f 63 6f 6e 74 65 78 74 0a 20 20 20 20 20 20 20 20 | L.Context),.ssl_context......... |
4ee00 | 20 20 20 20 73 65 6c 66 2e 63 74 78 20 3d 20 73 73 6c 5f 63 6f 6e 74 65 78 74 0a 20 20 20 20 20 | ....self.ctx.=.ssl_context...... |
4ee20 | 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 63 74 78 20 3d 20 | ...else:.............self.ctx.=. |
4ee40 | 53 53 4c 2e 43 6f 6e 74 65 78 74 28 29 0a 0a 20 20 20 20 23 20 43 6f 70 69 65 64 20 66 72 6f 6d | SSL.Context()......#.Copied.from |
4ee60 | 20 75 72 6c 6c 69 62 32 2c 20 73 6f 20 77 65 20 63 61 6e 20 73 65 74 20 74 68 65 20 73 73 6c 20 | .urllib2,.so.we.can.set.the.ssl. |
4ee80 | 63 6f 6e 74 65 78 74 2e 0a 20 20 20 20 64 65 66 20 68 74 74 70 73 5f 6f 70 65 6e 28 73 65 6c 66 | context......def.https_open(self |
4eea0 | 2c 20 72 65 71 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 52 65 71 75 65 73 74 | ,.req):.........#.type:.(Request |
4eec0 | 29 20 2d 3e 20 61 64 64 69 6e 66 6f 75 72 6c 0a 20 20 20 20 20 20 20 20 22 22 22 52 65 74 75 72 | ).->.addinfourl........."""Retur |
4eee0 | 6e 20 61 6e 20 61 64 64 69 6e 66 6f 75 72 6c 20 6f 62 6a 65 63 74 20 66 6f 72 20 74 68 65 20 72 | n.an.addinfourl.object.for.the.r |
4ef00 | 65 71 75 65 73 74 2c 20 75 73 69 6e 67 20 68 74 74 70 5f 63 6c 61 73 73 2e 0a 0a 20 20 20 20 20 | equest,.using.http_class........ |
4ef20 | 20 20 20 68 74 74 70 5f 63 6c 61 73 73 20 6d 75 73 74 20 69 6d 70 6c 65 6d 65 6e 74 20 74 68 65 | ...http_class.must.implement.the |
4ef40 | 20 48 54 54 50 43 6f 6e 6e 65 63 74 69 6f 6e 20 41 50 49 20 66 72 6f 6d 20 68 74 74 70 6c 69 62 | .HTTPConnection.API.from.httplib |
4ef60 | 2e 0a 20 20 20 20 20 20 20 20 54 68 65 20 61 64 64 69 6e 66 6f 75 72 6c 20 72 65 74 75 72 6e 20 | ..........The.addinfourl.return. |
4ef80 | 76 61 6c 75 65 20 69 73 20 61 20 66 69 6c 65 2d 6c 69 6b 65 20 6f 62 6a 65 63 74 2e 20 20 49 74 | value.is.a.file-like.object...It |
4efa0 | 20 61 6c 73 6f 0a 20 20 20 20 20 20 20 20 68 61 73 20 6d 65 74 68 6f 64 73 20 61 6e 64 20 61 74 | .also.........has.methods.and.at |
4efc0 | 74 72 69 62 75 74 65 73 20 69 6e 63 6c 75 64 69 6e 67 3a 0a 0a 20 20 20 20 20 20 20 20 20 20 20 | tributes.including:............. |
4efe0 | 20 2d 20 69 6e 66 6f 28 29 3a 20 72 65 74 75 72 6e 20 61 20 6d 69 6d 65 74 6f 6f 6c 73 2e 4d 65 | .-.info():.return.a.mimetools.Me |
4f000 | 73 73 61 67 65 20 6f 62 6a 65 63 74 20 66 6f 72 20 74 68 65 20 68 65 61 64 65 72 73 0a 0a 20 20 | ssage.object.for.the.headers.... |
4f020 | 20 20 20 20 20 20 20 20 20 20 2d 20 67 65 74 75 72 6c 28 29 3a 20 72 65 74 75 72 6e 20 74 68 65 | ..........-.geturl():.return.the |
4f040 | 20 6f 72 69 67 69 6e 61 6c 20 72 65 71 75 65 73 74 20 55 52 4c 0a 0a 20 20 20 20 20 20 20 20 20 | .original.request.URL........... |
4f060 | 20 20 20 2d 20 63 6f 64 65 3a 20 48 54 54 50 20 73 74 61 74 75 73 20 63 6f 64 65 0a 20 20 20 20 | ...-.code:.HTTP.status.code..... |
4f080 | 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 23 20 68 74 74 70 73 3a 2f 2f 64 6f 63 73 2e 70 | ....""".........#.https://docs.p |
4f0a0 | 79 74 68 6f 6e 2e 6f 72 67 2f 33 2e 33 2f 6c 69 62 72 61 72 79 2f 75 72 6c 6c 69 62 2e 72 65 71 | ython.org/3.3/library/urllib.req |
4f0c0 | 75 65 73 74 2e 68 74 6d 6c 23 75 72 6c 6c 69 62 2e 72 65 71 75 65 73 74 2e 52 65 71 75 65 73 74 | uest.html#urllib.request.Request |
4f0e0 | 2e 67 65 74 5f 68 6f 73 74 0a 20 20 20 20 20 20 20 20 74 72 79 3a 20 20 20 20 20 23 20 75 70 20 | .get_host.........try:.....#.up. |
4f100 | 74 6f 20 70 79 74 68 6f 6e 2d 33 2e 32 0a 20 20 20 20 20 20 20 20 20 20 20 20 68 6f 73 74 20 3d | to.python-3.2.............host.= |
4f120 | 20 72 65 71 2e 67 65 74 5f 68 6f 73 74 28 29 0a 20 20 20 20 20 20 20 20 65 78 63 65 70 74 20 41 | .req.get_host().........except.A |
4f140 | 74 74 72 69 62 75 74 65 45 72 72 6f 72 3a 20 20 23 20 66 72 6f 6d 20 70 79 74 68 6f 6e 2d 33 2e | ttributeError:..#.from.python-3. |
4f160 | 33 0a 20 20 20 20 20 20 20 20 20 20 20 20 68 6f 73 74 20 3d 20 72 65 71 2e 68 6f 73 74 0a 20 20 | 3.............host.=.req.host... |
4f180 | 20 20 20 20 20 20 69 66 20 6e 6f 74 20 68 6f 73 74 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 | ......if.not.host:.............r |
4f1a0 | 61 69 73 65 20 55 52 4c 45 72 72 6f 72 28 27 6e 6f 20 68 6f 73 74 20 67 69 76 65 6e 27 29 0a 0a | aise.URLError('no.host.given').. |
4f1c0 | 20 20 20 20 20 20 20 20 23 20 4f 75 72 20 63 68 61 6e 67 65 3a 20 43 68 65 63 6b 20 74 6f 20 73 | ........#.Our.change:.Check.to.s |
4f1e0 | 65 65 20 69 66 20 77 65 27 72 65 20 75 73 69 6e 67 20 61 20 70 72 6f 78 79 2e 0a 20 20 20 20 20 | ee.if.we're.using.a.proxy....... |
4f200 | 20 20 20 23 20 54 68 65 6e 20 63 72 65 61 74 65 20 61 6e 20 61 70 70 72 6f 70 72 69 61 74 65 20 | ...#.Then.create.an.appropriate. |
4f220 | 73 73 6c 2d 61 77 61 72 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 66 75 | ssl-aware.connection..........fu |
4f240 | 6c 6c 5f 75 72 6c 20 3d 20 72 65 71 2e 67 65 74 5f 66 75 6c 6c 5f 75 72 6c 28 29 0a 20 20 20 20 | ll_url.=.req.get_full_url()..... |
4f260 | 20 20 20 20 74 61 72 67 65 74 5f 68 6f 73 74 20 3d 20 75 72 6c 5f 70 61 72 73 65 28 66 75 6c 6c | ....target_host.=.url_parse(full |
4f280 | 5f 75 72 6c 29 5b 31 5d 0a 0a 20 20 20 20 20 20 20 20 69 66 20 74 61 72 67 65 74 5f 68 6f 73 74 | _url)[1]..........if.target_host |
4f2a0 | 20 21 3d 20 68 6f 73 74 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 71 75 65 73 74 5f 75 72 | .!=.host:.............request_ur |
4f2c0 | 69 20 3d 20 75 72 6c 64 65 66 72 61 67 28 66 75 6c 6c 5f 75 72 6c 29 5b 30 5d 0a 20 20 20 20 20 | i.=.urldefrag(full_url)[0]...... |
4f2e0 | 20 20 20 20 20 20 20 68 20 3d 20 68 74 74 70 73 6c 69 62 2e 50 72 6f 78 79 48 54 54 50 53 43 6f | .......h.=.httpslib.ProxyHTTPSCo |
4f300 | 6e 6e 65 63 74 69 6f 6e 28 68 6f 73 74 3d 68 6f 73 74 2c 20 73 73 6c 5f 63 6f 6e 74 65 78 74 3d | nnection(host=host,.ssl_context= |
4f320 | 73 65 6c 66 2e 63 74 78 29 0a 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 | self.ctx).........else:......... |
4f340 | 20 20 20 20 74 72 79 3a 20 20 20 20 20 23 20 75 70 20 74 6f 20 70 79 74 68 6f 6e 2d 33 2e 32 0a | ....try:.....#.up.to.python-3.2. |
4f360 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 71 75 65 73 74 5f 75 72 69 20 3d 20 72 65 | ................request_uri.=.re |
4f380 | 71 2e 67 65 74 5f 73 65 6c 65 63 74 6f 72 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 78 63 | q.get_selector().............exc |
4f3a0 | 65 70 74 20 41 74 74 72 69 62 75 74 65 45 72 72 6f 72 3a 20 20 23 20 66 72 6f 6d 20 70 79 74 68 | ept.AttributeError:..#.from.pyth |
4f3c0 | 6f 6e 2d 33 2e 33 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 71 75 65 73 74 5f 75 | on-3.3.................request_u |
4f3e0 | 72 69 20 3d 20 72 65 71 2e 73 65 6c 65 63 74 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 68 20 | ri.=.req.selector.............h. |
4f400 | 3d 20 68 74 74 70 73 6c 69 62 2e 48 54 54 50 53 43 6f 6e 6e 65 63 74 69 6f 6e 28 68 6f 73 74 3d | =.httpslib.HTTPSConnection(host= |
4f420 | 68 6f 73 74 2c 20 73 73 6c 5f 63 6f 6e 74 65 78 74 3d 73 65 6c 66 2e 63 74 78 29 0a 20 20 20 20 | host,.ssl_context=self.ctx)..... |
4f440 | 20 20 20 20 23 20 45 6e 64 20 6f 75 72 20 63 68 61 6e 67 65 0a 20 20 20 20 20 20 20 20 68 2e 73 | ....#.End.our.change.........h.s |
4f460 | 65 74 5f 64 65 62 75 67 6c 65 76 65 6c 28 73 65 6c 66 2e 5f 64 65 62 75 67 6c 65 76 65 6c 29 0a | et_debuglevel(self._debuglevel). |
4f480 | 0a 20 20 20 20 20 20 20 20 68 65 61 64 65 72 73 20 3d 20 64 69 63 74 28 72 65 71 2e 68 65 61 64 | .........headers.=.dict(req.head |
4f4a0 | 65 72 73 29 0a 20 20 20 20 20 20 20 20 68 65 61 64 65 72 73 2e 75 70 64 61 74 65 28 72 65 71 2e | ers).........headers.update(req. |
4f4c0 | 75 6e 72 65 64 69 72 65 63 74 65 64 5f 68 64 72 73 29 0a 20 20 20 20 20 20 20 20 23 20 57 65 20 | unredirected_hdrs).........#.We. |
4f4e0 | 77 61 6e 74 20 74 6f 20 6d 61 6b 65 20 61 6e 20 48 54 54 50 2f 31 2e 31 20 72 65 71 75 65 73 74 | want.to.make.an.HTTP/1.1.request |
4f500 | 2c 20 62 75 74 20 74 68 65 20 61 64 64 69 6e 66 6f 75 72 6c 0a 20 20 20 20 20 20 20 20 23 20 63 | ,.but.the.addinfourl.........#.c |
4f520 | 6c 61 73 73 20 69 73 6e 27 74 20 70 72 65 70 61 72 65 64 20 74 6f 20 64 65 61 6c 20 77 69 74 68 | lass.isn't.prepared.to.deal.with |
4f540 | 20 61 20 70 65 72 73 69 73 74 65 6e 74 20 63 6f 6e 6e 65 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 | .a.persistent.connection........ |
4f560 | 20 20 23 20 49 74 20 77 69 6c 6c 20 74 72 79 20 74 6f 20 72 65 61 64 20 61 6c 6c 20 72 65 6d 61 | ..#.It.will.try.to.read.all.rema |
4f580 | 69 6e 69 6e 67 20 64 61 74 61 20 66 72 6f 6d 20 74 68 65 20 73 6f 63 6b 65 74 2c 0a 20 20 20 20 | ining.data.from.the.socket,..... |
4f5a0 | 20 20 20 20 23 20 77 68 69 63 68 20 77 69 6c 6c 20 62 6c 6f 63 6b 20 77 68 69 6c 65 20 74 68 65 | ....#.which.will.block.while.the |
4f5c0 | 20 73 65 72 76 65 72 20 77 61 69 74 73 20 66 6f 72 20 74 68 65 20 6e 65 78 74 20 72 65 71 75 65 | .server.waits.for.the.next.reque |
4f5e0 | 73 74 2e 0a 20 20 20 20 20 20 20 20 23 20 53 6f 20 6d 61 6b 65 20 73 75 72 65 20 74 68 65 20 63 | st..........#.So.make.sure.the.c |
4f600 | 6f 6e 6e 65 63 74 69 6f 6e 20 67 65 74 73 20 63 6c 6f 73 65 64 20 61 66 74 65 72 20 74 68 65 20 | onnection.gets.closed.after.the. |
4f620 | 28 6f 6e 6c 79 29 0a 20 20 20 20 20 20 20 20 23 20 72 65 71 75 65 73 74 2e 0a 20 20 20 20 20 20 | (only).........#.request........ |
4f640 | 20 20 68 65 61 64 65 72 73 5b 22 43 6f 6e 6e 65 63 74 69 6f 6e 22 5d 20 3d 20 22 63 6c 6f 73 65 | ..headers["Connection"].=."close |
4f660 | 22 0a 20 20 20 20 20 20 20 20 74 72 79 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 68 2e 72 65 71 | ".........try:.............h.req |
4f680 | 75 65 73 74 28 72 65 71 2e 67 65 74 5f 6d 65 74 68 6f 64 28 29 2c 20 72 65 71 75 65 73 74 5f 75 | uest(req.get_method(),.request_u |
4f6a0 | 72 69 2c 20 72 65 71 2e 64 61 74 61 2c 20 68 65 61 64 65 72 73 29 0a 20 20 20 20 20 20 20 20 20 | ri,.req.data,.headers).......... |
4f6c0 | 20 20 20 72 20 3d 20 68 2e 67 65 74 72 65 73 70 6f 6e 73 65 28 29 0a 20 20 20 20 20 20 20 20 65 | ...r.=.h.getresponse().........e |
4f6e0 | 78 63 65 70 74 20 73 6f 63 6b 65 74 2e 65 72 72 6f 72 20 61 73 20 65 72 72 3a 20 20 23 20 58 58 | xcept.socket.error.as.err:..#.XX |
4f700 | 58 20 77 68 61 74 20 65 72 72 6f 72 3f 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 | X.what.error?.............raise. |
4f720 | 55 52 4c 45 72 72 6f 72 28 65 72 72 29 0a 0a 20 20 20 20 20 20 20 20 23 20 50 69 63 6b 20 61 70 | URLError(err)..........#.Pick.ap |
4f740 | 61 72 74 20 74 68 65 20 48 54 54 50 52 65 73 70 6f 6e 73 65 20 6f 62 6a 65 63 74 20 74 6f 20 67 | art.the.HTTPResponse.object.to.g |
4f760 | 65 74 20 74 68 65 20 61 64 64 69 6e 66 6f 75 72 6c 0a 20 20 20 20 20 20 20 20 23 20 6f 62 6a 65 | et.the.addinfourl.........#.obje |
4f780 | 63 74 20 69 6e 69 74 69 61 6c 69 7a 65 64 20 70 72 6f 70 65 72 6c 79 2e 0a 0a 20 20 20 20 20 20 | ct.initialized.properly......... |
4f7a0 | 20 20 23 20 57 72 61 70 20 74 68 65 20 48 54 54 50 52 65 73 70 6f 6e 73 65 20 6f 62 6a 65 63 74 | ..#.Wrap.the.HTTPResponse.object |
4f7c0 | 20 69 6e 20 73 6f 63 6b 65 74 27 73 20 66 69 6c 65 20 6f 62 6a 65 63 74 20 61 64 61 70 74 65 72 | .in.socket's.file.object.adapter |
4f7e0 | 0a 20 20 20 20 20 20 20 20 23 20 66 6f 72 20 57 69 6e 64 6f 77 73 2e 20 20 54 68 61 74 20 61 64 | .........#.for.Windows...That.ad |
4f800 | 61 70 74 65 72 20 63 61 6c 6c 73 20 72 65 63 76 28 29 2c 20 73 6f 20 64 65 6c 65 67 61 74 65 20 | apter.calls.recv(),.so.delegate. |
4f820 | 72 65 63 76 28 29 0a 20 20 20 20 20 20 20 20 23 20 74 6f 20 72 65 61 64 28 29 2e 20 20 54 68 69 | recv().........#.to.read()...Thi |
4f840 | 73 20 77 65 69 72 64 20 77 72 61 70 70 69 6e 67 20 61 6c 6c 6f 77 73 20 74 68 65 20 72 65 74 75 | s.weird.wrapping.allows.the.retu |
4f860 | 72 6e 65 64 20 6f 62 6a 65 63 74 20 74 6f 0a 20 20 20 20 20 20 20 20 23 20 68 61 76 65 20 72 65 | rned.object.to.........#.have.re |
4f880 | 61 64 6c 69 6e 65 28 29 20 61 6e 64 20 72 65 61 64 6c 69 6e 65 73 28 29 20 6d 65 74 68 6f 64 73 | adline().and.readlines().methods |
4f8a0 | 2e 0a 20 20 20 20 20 20 20 20 72 2e 72 65 63 76 20 3d 20 72 2e 72 65 61 64 0a 20 20 20 20 20 20 | ..........r.recv.=.r.read....... |
4f8c0 | 20 20 69 66 20 73 69 78 2e 50 59 32 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 70 20 3d 20 73 | ..if.six.PY2:.............fp.=.s |
4f8e0 | 6f 63 6b 65 74 2e 5f 66 69 6c 65 6f 62 6a 65 63 74 28 72 2c 20 63 6c 6f 73 65 3d 54 72 75 65 29 | ocket._fileobject(r,.close=True) |
4f900 | 0a 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 2e 5f 64 65 | .........else:.............r._de |
4f920 | 63 72 65 66 5f 73 6f 63 6b 65 74 69 6f 73 20 3d 20 6c 61 6d 62 64 61 3a 20 4e 6f 6e 65 0a 20 20 | cref_socketios.=.lambda:.None... |
4f940 | 20 20 20 20 20 20 20 20 20 20 72 2e 73 73 6c 20 3d 20 68 2e 73 6f 63 6b 2e 73 73 6c 0a 20 20 20 | ..........r.ssl.=.h.sock.ssl.... |
4f960 | 20 20 20 20 20 20 20 20 20 72 2e 5f 74 69 6d 65 6f 75 74 20 3d 20 2d 31 2e 30 0a 20 20 20 20 20 | .........r._timeout.=.-1.0...... |
4f980 | 20 20 20 20 20 20 20 72 2e 72 65 63 76 5f 69 6e 74 6f 20 3d 20 72 2e 72 65 61 64 69 6e 74 6f 0a | .......r.recv_into.=.r.readinto. |
4f9a0 | 20 20 20 20 20 20 20 20 20 20 20 20 66 70 20 3d 20 73 6f 63 6b 65 74 2e 53 6f 63 6b 65 74 49 4f | ............fp.=.socket.SocketIO |
4f9c0 | 28 72 2c 20 27 72 62 27 29 0a 0a 20 20 20 20 20 20 20 20 72 65 73 70 20 3d 20 61 64 64 69 6e 66 | (r,.'rb')..........resp.=.addinf |
4f9e0 | 6f 75 72 6c 28 66 70 2c 20 72 2e 6d 73 67 2c 20 72 65 71 2e 67 65 74 5f 66 75 6c 6c 5f 75 72 6c | ourl(fp,.r.msg,.req.get_full_url |
4fa00 | 28 29 29 0a 20 20 20 20 20 20 20 20 72 65 73 70 2e 63 6f 64 65 20 3d 20 72 2e 73 74 61 74 75 73 | ()).........resp.code.=.r.status |
4fa20 | 0a 20 20 20 20 20 20 20 20 72 65 73 70 2e 6d 73 67 20 3d 20 72 2e 72 65 61 73 6f 6e 0a 20 20 20 | .........resp.msg.=.r.reason.... |
4fa40 | 20 20 20 20 20 72 65 74 75 72 6e 20 72 65 73 70 0a 0a 20 20 20 20 68 74 74 70 73 5f 72 65 71 75 | .....return.resp......https_requ |
4fa60 | 65 73 74 20 3d 20 41 62 73 74 72 61 63 74 48 54 54 50 48 61 6e 64 6c 65 72 2e 64 6f 5f 72 65 71 | est.=.AbstractHTTPHandler.do_req |
4fa80 | 75 65 73 74 5f 0a 0a 0a 23 20 43 6f 70 69 65 64 20 66 72 6f 6d 20 75 72 6c 6c 69 62 32 20 77 69 | uest_...#.Copied.from.urllib2.wi |
4faa0 | 74 68 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 73 20 66 6f 72 20 73 73 6c 0a 64 65 66 20 62 75 69 | th.modifications.for.ssl.def.bui |
4fac0 | 6c 64 5f 6f 70 65 6e 65 72 28 73 73 6c 5f 63 6f 6e 74 65 78 74 3d 4e 6f 6e 65 2c 20 2a 68 61 6e | ld_opener(ssl_context=None,.*han |
4fae0 | 64 6c 65 72 73 29 3a 0a 20 20 20 20 23 20 74 79 70 65 3a 20 28 4f 70 74 69 6f 6e 61 6c 5b 53 53 | dlers):.....#.type:.(Optional[SS |
4fb00 | 4c 2e 43 6f 6e 74 65 78 74 5d 2c 20 2a 6f 62 6a 65 63 74 29 20 2d 3e 20 4f 70 65 6e 65 72 44 69 | L.Context],.*object).->.OpenerDi |
4fb20 | 72 65 63 74 6f 72 0a 20 20 20 20 22 22 22 43 72 65 61 74 65 20 61 6e 20 6f 70 65 6e 65 72 20 6f | rector....."""Create.an.opener.o |
4fb40 | 62 6a 65 63 74 20 66 72 6f 6d 20 61 20 6c 69 73 74 20 6f 66 20 68 61 6e 64 6c 65 72 73 2e 0a 0a | bject.from.a.list.of.handlers... |
4fb60 | 20 20 20 20 54 68 65 20 6f 70 65 6e 65 72 20 77 69 6c 6c 20 75 73 65 20 73 65 76 65 72 61 6c 20 | ....The.opener.will.use.several. |
4fb80 | 64 65 66 61 75 6c 74 20 68 61 6e 64 6c 65 72 73 2c 20 69 6e 63 6c 75 64 69 6e 67 20 73 75 70 70 | default.handlers,.including.supp |
4fba0 | 6f 72 74 0a 20 20 20 20 66 6f 72 20 48 54 54 50 20 61 6e 64 20 46 54 50 2e 0a 0a 20 20 20 20 49 | ort.....for.HTTP.and.FTP.......I |
4fbc0 | 66 20 61 6e 79 20 6f 66 20 74 68 65 20 68 61 6e 64 6c 65 72 73 20 70 61 73 73 65 64 20 61 73 20 | f.any.of.the.handlers.passed.as. |
4fbe0 | 61 72 67 75 6d 65 6e 74 73 20 61 72 65 20 73 75 62 63 6c 61 73 73 65 73 20 6f 66 20 74 68 65 0a | arguments.are.subclasses.of.the. |
4fc00 | 20 20 20 20 64 65 66 61 75 6c 74 20 68 61 6e 64 6c 65 72 73 2c 20 74 68 65 20 64 65 66 61 75 6c | ....default.handlers,.the.defaul |
4fc20 | 74 20 68 61 6e 64 6c 65 72 73 20 77 69 6c 6c 20 6e 6f 74 20 62 65 20 75 73 65 64 2e 0a 20 20 20 | t.handlers.will.not.be.used..... |
4fc40 | 20 22 22 22 0a 0a 20 20 20 20 64 65 66 20 69 73 63 6c 61 73 73 28 6f 62 6a 29 3a 0a 20 20 20 20 | ."""......def.isclass(obj):..... |
4fc60 | 20 20 20 20 72 65 74 75 72 6e 20 69 73 69 6e 73 74 61 6e 63 65 28 6f 62 6a 2c 20 74 79 70 65 29 | ....return.isinstance(obj,.type) |
4fc80 | 20 6f 72 20 68 61 73 61 74 74 72 28 6f 62 6a 2c 20 22 5f 5f 62 61 73 65 73 5f 5f 22 29 0a 0a 20 | .or.hasattr(obj,."__bases__")... |
4fca0 | 20 20 20 6f 70 65 6e 65 72 20 3d 20 4f 70 65 6e 65 72 44 69 72 65 63 74 6f 72 28 29 0a 20 20 20 | ...opener.=.OpenerDirector().... |
4fcc0 | 20 64 65 66 61 75 6c 74 5f 63 6c 61 73 73 65 73 20 3d 20 5b 50 72 6f 78 79 48 61 6e 64 6c 65 72 | .default_classes.=.[ProxyHandler |
4fce0 | 2c 20 55 6e 6b 6e 6f 77 6e 48 61 6e 64 6c 65 72 2c 20 48 54 54 50 48 61 6e 64 6c 65 72 2c 0a 20 | ,.UnknownHandler,.HTTPHandler,.. |
4fd00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 48 54 54 50 44 65 66 61 75 6c | ......................HTTPDefaul |
4fd20 | 74 45 72 72 6f 72 48 61 6e 64 6c 65 72 2c 20 48 54 54 50 52 65 64 69 72 65 63 74 48 61 6e 64 6c | tErrorHandler,.HTTPRedirectHandl |
4fd40 | 65 72 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 54 50 48 61 | er,........................FTPHa |
4fd60 | 6e 64 6c 65 72 2c 20 46 69 6c 65 48 61 6e 64 6c 65 72 2c 20 48 54 54 50 45 72 72 6f 72 50 72 6f | ndler,.FileHandler,.HTTPErrorPro |
4fd80 | 63 65 73 73 6f 72 5d 0a 20 20 20 20 73 6b 69 70 20 3d 20 5b 5d 0a 20 20 20 20 66 6f 72 20 6b 6c | cessor].....skip.=.[].....for.kl |
4fda0 | 61 73 73 20 69 6e 20 64 65 66 61 75 6c 74 5f 63 6c 61 73 73 65 73 3a 0a 20 20 20 20 20 20 20 20 | ass.in.default_classes:......... |
4fdc0 | 66 6f 72 20 63 68 65 63 6b 20 69 6e 20 68 61 6e 64 6c 65 72 73 3a 0a 20 20 20 20 20 20 20 20 20 | for.check.in.handlers:.......... |
4fde0 | 20 20 20 69 66 20 69 73 63 6c 61 73 73 28 63 68 65 63 6b 29 3a 0a 20 20 20 20 20 20 20 20 20 20 | ...if.isclass(check):........... |
4fe00 | 20 20 20 20 20 20 69 66 20 69 73 73 75 62 63 6c 61 73 73 28 63 68 65 63 6b 2c 20 6b 6c 61 73 73 | ......if.issubclass(check,.klass |
4fe20 | 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 2e 61 70 70 65 | ):.....................skip.appe |
4fe40 | 6e 64 28 6b 6c 61 73 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 69 66 20 69 73 69 6e 73 | nd(klass).............elif.isins |
4fe60 | 74 61 6e 63 65 28 63 68 65 63 6b 2c 20 6b 6c 61 73 73 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 | tance(check,.klass):............ |
4fe80 | 20 20 20 20 20 73 6b 69 70 2e 61 70 70 65 6e 64 28 6b 6c 61 73 73 29 0a 20 20 20 20 66 6f 72 20 | .....skip.append(klass).....for. |
4fea0 | 6b 6c 61 73 73 20 69 6e 20 73 6b 69 70 3a 0a 20 20 20 20 20 20 20 20 64 65 66 61 75 6c 74 5f 63 | klass.in.skip:.........default_c |
4fec0 | 6c 61 73 73 65 73 2e 72 65 6d 6f 76 65 28 6b 6c 61 73 73 29 0a 0a 20 20 20 20 66 6f 72 20 6b 6c | lasses.remove(klass)......for.kl |
4fee0 | 61 73 73 20 69 6e 20 64 65 66 61 75 6c 74 5f 63 6c 61 73 73 65 73 3a 0a 20 20 20 20 20 20 20 20 | ass.in.default_classes:......... |
4ff00 | 6f 70 65 6e 65 72 2e 61 64 64 5f 68 61 6e 64 6c 65 72 28 6b 6c 61 73 73 28 29 29 0a 0a 20 20 20 | opener.add_handler(klass())..... |
4ff20 | 20 23 20 41 64 64 20 74 68 65 20 48 54 54 50 53 20 68 61 6e 64 6c 65 72 20 77 69 74 68 20 73 73 | .#.Add.the.HTTPS.handler.with.ss |
4ff40 | 6c 5f 63 6f 6e 74 65 78 74 0a 20 20 20 20 69 66 20 48 54 54 50 53 48 61 6e 64 6c 65 72 20 6e 6f | l_context.....if.HTTPSHandler.no |
4ff60 | 74 20 69 6e 20 73 6b 69 70 3a 0a 20 20 20 20 20 20 20 20 6f 70 65 6e 65 72 2e 61 64 64 5f 68 61 | t.in.skip:.........opener.add_ha |
4ff80 | 6e 64 6c 65 72 28 48 54 54 50 53 48 61 6e 64 6c 65 72 28 73 73 6c 5f 63 6f 6e 74 65 78 74 29 29 | ndler(HTTPSHandler(ssl_context)) |
4ffa0 | 0a 0a 20 20 20 20 66 6f 72 20 68 20 69 6e 20 68 61 6e 64 6c 65 72 73 3a 0a 20 20 20 20 20 20 20 | ......for.h.in.handlers:........ |
4ffc0 | 20 69 66 20 69 73 63 6c 61 73 73 28 68 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 68 20 3d 20 | .if.isclass(h):.............h.=. |
4ffe0 | 68 28 29 0a 20 20 20 20 20 20 20 20 6f 70 65 6e 65 72 2e 61 64 64 5f 68 61 6e 64 6c 65 72 28 68 | h().........opener.add_handler(h |
50000 | 29 0a 20 20 20 20 72 65 74 75 72 6e 20 6f 70 65 6e 65 72 0a 94 7d 94 28 8c 13 5f 63 6c 6f 73 69 | ).....return.opener..}.(.._closi |
50020 | 6e 67 5f 66 69 6c 65 6f 62 6a 65 63 74 94 6a 7d 1f 00 00 4b 27 4b 2b 87 94 8c 15 48 54 54 50 53 | ng_fileobject.j}...K'K+....HTTPS |
50040 | 48 61 6e 64 6c 65 72 2e 5f 5f 69 6e 69 74 5f 5f 94 6a 74 1f 00 00 4b 37 4b 3f 87 94 8c 17 48 54 | Handler.__init__.jt...K7K?....HT |
50060 | 54 50 53 48 61 6e 64 6c 65 72 2e 68 74 74 70 73 5f 6f 70 65 6e 94 6a 74 1f 00 00 4b 42 4b 8c 87 | TPSHandler.https_open.jt...KBK.. |
50080 | 94 8c 0c 48 54 54 50 53 48 61 6e 64 6c 65 72 94 6a 7d 1f 00 00 4b 36 4b 8e 87 94 8c 0c 62 75 69 | ...HTTPSHandler.j}...K6K.....bui |
500a0 | 6c 64 5f 6f 70 65 6e 65 72 94 6a 74 1f 00 00 4b 92 4b ba 87 94 75 7d 94 28 8c 0c 48 54 54 50 53 | ld_opener.jt...K.K...u}.(..HTTPS |
500c0 | 48 61 6e 64 6c 65 72 94 6a 53 02 00 00 8c 17 48 54 54 50 53 48 61 6e 64 6c 65 72 2e 68 74 74 70 | Handler.jS.....HTTPSHandler.http |
500e0 | 73 5f 6f 70 65 6e 94 6a 53 02 00 00 8c 0c 62 75 69 6c 64 5f 6f 70 65 6e 65 72 94 6a 53 02 00 00 | s_open.jS.....build_opener.jS... |
50100 | 75 8c 12 4d 32 43 72 79 70 74 6f 2e 6d 32 75 72 6c 6c 69 62 32 94 74 94 8c 0e 75 72 6c 6c 69 62 | u..M2Crypto.m2urllib2.t...urllib |
50120 | 2e 72 65 71 75 65 73 74 94 28 58 50 86 01 00 22 22 22 41 6e 20 65 78 74 65 6e 73 69 62 6c 65 20 | .request.(XP..."""An.extensible. |
50140 | 6c 69 62 72 61 72 79 20 66 6f 72 20 6f 70 65 6e 69 6e 67 20 55 52 4c 73 20 75 73 69 6e 67 20 61 | library.for.opening.URLs.using.a |
50160 | 20 76 61 72 69 65 74 79 20 6f 66 20 70 72 6f 74 6f 63 6f 6c 73 0a 0a 54 68 65 20 73 69 6d 70 6c | .variety.of.protocols..The.simpl |
50180 | 65 73 74 20 77 61 79 20 74 6f 20 75 73 65 20 74 68 69 73 20 6d 6f 64 75 6c 65 20 69 73 20 74 6f | est.way.to.use.this.module.is.to |
501a0 | 20 63 61 6c 6c 20 74 68 65 20 75 72 6c 6f 70 65 6e 20 66 75 6e 63 74 69 6f 6e 2c 0a 77 68 69 63 | .call.the.urlopen.function,.whic |
501c0 | 68 20 61 63 63 65 70 74 73 20 61 20 73 74 72 69 6e 67 20 63 6f 6e 74 61 69 6e 69 6e 67 20 61 20 | h.accepts.a.string.containing.a. |
501e0 | 55 52 4c 20 6f 72 20 61 20 52 65 71 75 65 73 74 20 6f 62 6a 65 63 74 20 28 64 65 73 63 72 69 62 | URL.or.a.Request.object.(describ |
50200 | 65 64 0a 62 65 6c 6f 77 29 2e 20 20 49 74 20 6f 70 65 6e 73 20 74 68 65 20 55 52 4c 20 61 6e 64 | ed.below)...It.opens.the.URL.and |
50220 | 20 72 65 74 75 72 6e 73 20 74 68 65 20 72 65 73 75 6c 74 73 20 61 73 20 66 69 6c 65 2d 6c 69 6b | .returns.the.results.as.file-lik |
50240 | 65 0a 6f 62 6a 65 63 74 3b 20 74 68 65 20 72 65 74 75 72 6e 65 64 20 6f 62 6a 65 63 74 20 68 61 | e.object;.the.returned.object.ha |
50260 | 73 20 73 6f 6d 65 20 65 78 74 72 61 20 6d 65 74 68 6f 64 73 20 64 65 73 63 72 69 62 65 64 20 62 | s.some.extra.methods.described.b |
50280 | 65 6c 6f 77 2e 0a 0a 54 68 65 20 4f 70 65 6e 65 72 44 69 72 65 63 74 6f 72 20 6d 61 6e 61 67 65 | elow...The.OpenerDirector.manage |
502a0 | 73 20 61 20 63 6f 6c 6c 65 63 74 69 6f 6e 20 6f 66 20 48 61 6e 64 6c 65 72 20 6f 62 6a 65 63 74 | s.a.collection.of.Handler.object |
502c0 | 73 20 74 68 61 74 20 64 6f 0a 61 6c 6c 20 74 68 65 20 61 63 74 75 61 6c 20 77 6f 72 6b 2e 20 20 | s.that.do.all.the.actual.work... |
502e0 | 45 61 63 68 20 48 61 6e 64 6c 65 72 20 69 6d 70 6c 65 6d 65 6e 74 73 20 61 20 70 61 72 74 69 63 | Each.Handler.implements.a.partic |
50300 | 75 6c 61 72 20 70 72 6f 74 6f 63 6f 6c 20 6f 72 0a 6f 70 74 69 6f 6e 2e 20 20 54 68 65 20 4f 70 | ular.protocol.or.option...The.Op |
50320 | 65 6e 65 72 44 69 72 65 63 74 6f 72 20 69 73 20 61 20 63 6f 6d 70 6f 73 69 74 65 20 6f 62 6a 65 | enerDirector.is.a.composite.obje |
50340 | 63 74 20 74 68 61 74 20 69 6e 76 6f 6b 65 73 20 74 68 65 0a 48 61 6e 64 6c 65 72 73 20 6e 65 65 | ct.that.invokes.the.Handlers.nee |
50360 | 64 65 64 20 74 6f 20 6f 70 65 6e 20 74 68 65 20 72 65 71 75 65 73 74 65 64 20 55 52 4c 2e 20 20 | ded.to.open.the.requested.URL... |
50380 | 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 74 68 65 0a 48 54 54 50 48 61 6e 64 6c 65 72 20 70 65 72 | For.example,.the.HTTPHandler.per |
503a0 | 66 6f 72 6d 73 20 48 54 54 50 20 47 45 54 20 61 6e 64 20 50 4f 53 54 20 72 65 71 75 65 73 74 73 | forms.HTTP.GET.and.POST.requests |
503c0 | 20 61 6e 64 20 64 65 61 6c 73 20 77 69 74 68 0a 6e 6f 6e 2d 65 72 72 6f 72 20 72 65 74 75 72 6e | .and.deals.with.non-error.return |
503e0 | 73 2e 20 20 54 68 65 20 48 54 54 50 52 65 64 69 72 65 63 74 48 61 6e 64 6c 65 72 20 61 75 74 6f | s...The.HTTPRedirectHandler.auto |
50400 | 6d 61 74 69 63 61 6c 6c 79 20 64 65 61 6c 73 20 77 69 74 68 0a 48 54 54 50 20 33 30 31 2c 20 33 | matically.deals.with.HTTP.301,.3 |
50420 | 30 32 2c 20 33 30 33 20 61 6e 64 20 33 30 37 20 72 65 64 69 72 65 63 74 20 65 72 72 6f 72 73 2c | 02,.303.and.307.redirect.errors, |
50440 | 20 61 6e 64 20 74 68 65 20 48 54 54 50 44 69 67 65 73 74 41 75 74 68 48 61 6e 64 6c 65 72 0a 64 | .and.the.HTTPDigestAuthHandler.d |
50460 | 65 61 6c 73 20 77 69 74 68 20 64 69 67 65 73 74 20 61 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 2e | eals.with.digest.authentication. |
50480 | 0a 0a 75 72 6c 6f 70 65 6e 28 75 72 6c 2c 20 64 61 74 61 3d 4e 6f 6e 65 29 20 2d 2d 20 42 61 73 | ..urlopen(url,.data=None).--.Bas |
504a0 | 69 63 20 75 73 61 67 65 20 69 73 20 74 68 65 20 73 61 6d 65 20 61 73 20 6f 72 69 67 69 6e 61 6c | ic.usage.is.the.same.as.original |
504c0 | 0a 75 72 6c 6c 69 62 2e 20 20 70 61 73 73 20 74 68 65 20 75 72 6c 20 61 6e 64 20 6f 70 74 69 6f | .urllib...pass.the.url.and.optio |
504e0 | 6e 61 6c 6c 79 20 64 61 74 61 20 74 6f 20 70 6f 73 74 20 74 6f 20 61 6e 20 48 54 54 50 20 55 52 | nally.data.to.post.to.an.HTTP.UR |
50500 | 4c 2c 20 61 6e 64 0a 67 65 74 20 61 20 66 69 6c 65 2d 6c 69 6b 65 20 6f 62 6a 65 63 74 20 62 61 | L,.and.get.a.file-like.object.ba |
50520 | 63 6b 2e 20 20 4f 6e 65 20 64 69 66 66 65 72 65 6e 63 65 20 69 73 20 74 68 61 74 20 79 6f 75 20 | ck...One.difference.is.that.you. |
50540 | 63 61 6e 20 61 6c 73 6f 20 70 61 73 73 0a 61 20 52 65 71 75 65 73 74 20 69 6e 73 74 61 6e 63 65 | can.also.pass.a.Request.instance |
50560 | 20 69 6e 73 74 65 61 64 20 6f 66 20 55 52 4c 2e 20 20 52 61 69 73 65 73 20 61 20 55 52 4c 45 72 | .instead.of.URL...Raises.a.URLEr |
50580 | 72 6f 72 20 28 73 75 62 63 6c 61 73 73 20 6f 66 0a 4f 53 45 72 72 6f 72 29 3b 20 66 6f 72 20 48 | ror.(subclass.of.OSError);.for.H |
505a0 | 54 54 50 20 65 72 72 6f 72 73 2c 20 72 61 69 73 65 73 20 61 6e 20 48 54 54 50 45 72 72 6f 72 2c | TTP.errors,.raises.an.HTTPError, |
505c0 | 20 77 68 69 63 68 20 63 61 6e 20 61 6c 73 6f 20 62 65 0a 74 72 65 61 74 65 64 20 61 73 20 61 20 | .which.can.also.be.treated.as.a. |
505e0 | 76 61 6c 69 64 20 72 65 73 70 6f 6e 73 65 2e 0a 0a 62 75 69 6c 64 5f 6f 70 65 6e 65 72 20 2d 2d | valid.response...build_opener.-- |
50600 | 20 46 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 63 72 65 61 74 65 73 20 61 20 6e 65 77 20 4f 70 65 | .Function.that.creates.a.new.Ope |
50620 | 6e 65 72 44 69 72 65 63 74 6f 72 20 69 6e 73 74 61 6e 63 65 2e 0a 57 69 6c 6c 20 69 6e 73 74 61 | nerDirector.instance..Will.insta |
50640 | 6c 6c 20 74 68 65 20 64 65 66 61 75 6c 74 20 68 61 6e 64 6c 65 72 73 2e 20 20 41 63 63 65 70 74 | ll.the.default.handlers...Accept |
50660 | 73 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 48 61 6e 64 6c 65 72 73 20 61 73 0a 61 72 67 75 6d 65 | s.one.or.more.Handlers.as.argume |
50680 | 6e 74 73 2c 20 65 69 74 68 65 72 20 69 6e 73 74 61 6e 63 65 73 20 6f 72 20 48 61 6e 64 6c 65 72 | nts,.either.instances.or.Handler |
506a0 | 20 63 6c 61 73 73 65 73 20 74 68 61 74 20 69 74 20 77 69 6c 6c 0a 69 6e 73 74 61 6e 74 69 61 74 | .classes.that.it.will.instantiat |
506c0 | 65 2e 20 20 49 66 20 6f 6e 65 20 6f 66 20 74 68 65 20 61 72 67 75 6d 65 6e 74 20 69 73 20 61 20 | e...If.one.of.the.argument.is.a. |
506e0 | 73 75 62 63 6c 61 73 73 20 6f 66 20 74 68 65 20 64 65 66 61 75 6c 74 0a 68 61 6e 64 6c 65 72 2c | subclass.of.the.default.handler, |
50700 | 20 74 68 65 20 61 72 67 75 6d 65 6e 74 20 77 69 6c 6c 20 62 65 20 69 6e 73 74 61 6c 6c 65 64 20 | .the.argument.will.be.installed. |
50720 | 69 6e 73 74 65 61 64 20 6f 66 20 74 68 65 20 64 65 66 61 75 6c 74 2e 0a 0a 69 6e 73 74 61 6c 6c | instead.of.the.default...install |
50740 | 5f 6f 70 65 6e 65 72 20 2d 2d 20 49 6e 73 74 61 6c 6c 73 20 61 20 6e 65 77 20 6f 70 65 6e 65 72 | _opener.--.Installs.a.new.opener |
50760 | 20 61 73 20 74 68 65 20 64 65 66 61 75 6c 74 20 6f 70 65 6e 65 72 2e 0a 0a 6f 62 6a 65 63 74 73 | .as.the.default.opener...objects |
50780 | 20 6f 66 20 69 6e 74 65 72 65 73 74 3a 0a 0a 4f 70 65 6e 65 72 44 69 72 65 63 74 6f 72 20 2d 2d | .of.interest:..OpenerDirector.-- |
507a0 | 20 53 65 74 73 20 75 70 20 74 68 65 20 55 73 65 72 20 41 67 65 6e 74 20 61 73 20 74 68 65 20 50 | .Sets.up.the.User.Agent.as.the.P |
507c0 | 79 74 68 6f 6e 2d 75 72 6c 6c 69 62 20 63 6c 69 65 6e 74 20 61 6e 64 20 6d 61 6e 61 67 65 73 0a | ython-urllib.client.and.manages. |
507e0 | 74 68 65 20 48 61 6e 64 6c 65 72 20 63 6c 61 73 73 65 73 2c 20 77 68 69 6c 65 20 64 65 61 6c 69 | the.Handler.classes,.while.deali |
50800 | 6e 67 20 77 69 74 68 20 72 65 71 75 65 73 74 73 20 61 6e 64 20 72 65 73 70 6f 6e 73 65 73 2e 0a | ng.with.requests.and.responses.. |
50820 | 0a 52 65 71 75 65 73 74 20 2d 2d 20 41 6e 20 6f 62 6a 65 63 74 20 74 68 61 74 20 65 6e 63 61 70 | .Request.--.An.object.that.encap |
50840 | 73 75 6c 61 74 65 73 20 74 68 65 20 73 74 61 74 65 20 6f 66 20 61 20 72 65 71 75 65 73 74 2e 20 | sulates.the.state.of.a.request.. |
50860 | 20 54 68 65 0a 73 74 61 74 65 20 63 61 6e 20 62 65 20 61 73 20 73 69 6d 70 6c 65 20 61 73 20 74 | .The.state.can.be.as.simple.as.t |
50880 | 68 65 20 55 52 4c 2e 20 20 49 74 20 63 61 6e 20 61 6c 73 6f 20 69 6e 63 6c 75 64 65 20 65 78 74 | he.URL...It.can.also.include.ext |
508a0 | 72 61 20 48 54 54 50 0a 68 65 61 64 65 72 73 2c 20 65 2e 67 2e 20 61 20 55 73 65 72 2d 41 67 65 | ra.HTTP.headers,.e.g..a.User-Age |
508c0 | 6e 74 2e 0a 0a 42 61 73 65 48 61 6e 64 6c 65 72 20 2d 2d 0a 0a 69 6e 74 65 72 6e 61 6c 73 3a 0a | nt...BaseHandler.--..internals:. |
508e0 | 42 61 73 65 48 61 6e 64 6c 65 72 20 61 6e 64 20 70 61 72 65 6e 74 0a 5f 63 61 6c 6c 5f 63 68 61 | BaseHandler.and.parent._call_cha |
50900 | 69 6e 20 63 6f 6e 76 65 6e 74 69 6f 6e 73 0a 0a 45 78 61 6d 70 6c 65 20 75 73 61 67 65 3a 0a 0a | in.conventions..Example.usage:.. |
50920 | 69 6d 70 6f 72 74 20 75 72 6c 6c 69 62 2e 72 65 71 75 65 73 74 0a 0a 23 20 73 65 74 20 75 70 20 | import.urllib.request..#.set.up. |
50940 | 61 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 20 69 6e 66 6f 0a 61 75 74 68 69 6e 66 6f 20 3d 20 75 | authentication.info.authinfo.=.u |
50960 | 72 6c 6c 69 62 2e 72 65 71 75 65 73 74 2e 48 54 54 50 42 61 73 69 63 41 75 74 68 48 61 6e 64 6c | rllib.request.HTTPBasicAuthHandl |
50980 | 65 72 28 29 0a 61 75 74 68 69 6e 66 6f 2e 61 64 64 5f 70 61 73 73 77 6f 72 64 28 72 65 61 6c 6d | er().authinfo.add_password(realm |
509a0 | 3d 27 50 44 51 20 41 70 70 6c 69 63 61 74 69 6f 6e 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ='PDQ.Application',............. |
509c0 | 20 20 20 20 20 20 20 20 20 20 75 72 69 3d 27 68 74 74 70 73 3a 2f 2f 6d 61 68 6c 65 72 3a 38 30 | ..........uri='https://mahler:80 |
509e0 | 39 32 2f 73 69 74 65 2d 75 70 64 61 74 65 73 2e 70 79 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 | 92/site-updates.py',............ |
50a00 | 20 20 20 20 20 20 20 20 20 20 20 75 73 65 72 3d 27 6b 6c 65 6d 27 2c 0a 20 20 20 20 20 20 20 20 | ...........user='klem',......... |
50a20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 61 73 73 77 64 3d 27 67 65 68 65 69 6d 24 70 61 72 | ..............passwd='geheim$par |
50a40 | 6f 6c 65 27 29 0a 0a 70 72 6f 78 79 5f 73 75 70 70 6f 72 74 20 3d 20 75 72 6c 6c 69 62 2e 72 65 | ole')..proxy_support.=.urllib.re |
50a60 | 71 75 65 73 74 2e 50 72 6f 78 79 48 61 6e 64 6c 65 72 28 7b 22 68 74 74 70 22 20 3a 20 22 68 74 | quest.ProxyHandler({"http".:."ht |
50a80 | 74 70 3a 2f 2f 61 68 61 64 2d 68 61 61 6d 3a 33 31 32 38 22 7d 29 0a 0a 23 20 62 75 69 6c 64 20 | tp://ahad-haam:3128"})..#.build. |
50aa0 | 61 20 6e 65 77 20 6f 70 65 6e 65 72 20 74 68 61 74 20 61 64 64 73 20 61 75 74 68 65 6e 74 69 63 | a.new.opener.that.adds.authentic |
50ac0 | 61 74 69 6f 6e 20 61 6e 64 20 63 61 63 68 69 6e 67 20 46 54 50 20 68 61 6e 64 6c 65 72 73 0a 6f | ation.and.caching.FTP.handlers.o |
50ae0 | 70 65 6e 65 72 20 3d 20 75 72 6c 6c 69 62 2e 72 65 71 75 65 73 74 2e 62 75 69 6c 64 5f 6f 70 65 | pener.=.urllib.request.build_ope |
50b00 | 6e 65 72 28 70 72 6f 78 79 5f 73 75 70 70 6f 72 74 2c 20 61 75 74 68 69 6e 66 6f 2c 0a 20 20 20 | ner(proxy_support,.authinfo,.... |
50b20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
50b40 | 20 20 75 72 6c 6c 69 62 2e 72 65 71 75 65 73 74 2e 43 61 63 68 65 46 54 50 48 61 6e 64 6c 65 72 | ..urllib.request.CacheFTPHandler |
50b60 | 29 0a 0a 23 20 69 6e 73 74 61 6c 6c 20 69 74 0a 75 72 6c 6c 69 62 2e 72 65 71 75 65 73 74 2e 69 | )..#.install.it.urllib.request.i |
50b80 | 6e 73 74 61 6c 6c 5f 6f 70 65 6e 65 72 28 6f 70 65 6e 65 72 29 0a 0a 66 20 3d 20 75 72 6c 6c 69 | nstall_opener(opener)..f.=.urlli |
50ba0 | 62 2e 72 65 71 75 65 73 74 2e 75 72 6c 6f 70 65 6e 28 27 68 74 74 70 3a 2f 2f 77 77 77 2e 70 79 | b.request.urlopen('http://www.py |
50bc0 | 74 68 6f 6e 2e 6f 72 67 2f 27 29 0a 22 22 22 0a 0a 23 20 58 58 58 20 69 73 73 75 65 73 3a 0a 23 | thon.org/')."""..#.XXX.issues:.# |
50be0 | 20 49 66 20 61 6e 20 61 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 20 65 72 72 6f 72 20 68 61 6e 64 | .If.an.authentication.error.hand |
50c00 | 6c 65 72 20 74 68 61 74 20 74 72 69 65 73 20 74 6f 20 70 65 72 66 6f 72 6d 0a 23 20 61 75 74 68 | ler.that.tries.to.perform.#.auth |
50c20 | 65 6e 74 69 63 61 74 69 6f 6e 20 66 6f 72 20 73 6f 6d 65 20 72 65 61 73 6f 6e 20 62 75 74 20 66 | entication.for.some.reason.but.f |
50c40 | 61 69 6c 73 2c 20 68 6f 77 20 73 68 6f 75 6c 64 20 74 68 65 20 65 72 72 6f 72 20 62 65 0a 23 20 | ails,.how.should.the.error.be.#. |
50c60 | 73 69 67 6e 61 6c 6c 65 64 3f 20 20 54 68 65 20 63 6c 69 65 6e 74 20 6e 65 65 64 73 20 74 6f 20 | signalled?..The.client.needs.to. |
50c80 | 6b 6e 6f 77 20 74 68 65 20 48 54 54 50 20 65 72 72 6f 72 20 63 6f 64 65 2e 20 20 42 75 74 20 69 | know.the.HTTP.error.code...But.i |
50ca0 | 66 0a 23 20 74 68 65 20 68 61 6e 64 6c 65 72 20 6b 6e 6f 77 73 20 74 68 61 74 20 74 68 65 20 70 | f.#.the.handler.knows.that.the.p |
50cc0 | 72 6f 62 6c 65 6d 20 77 61 73 2c 20 65 2e 67 2e 2c 20 74 68 61 74 20 69 74 20 64 69 64 6e 27 74 | roblem.was,.e.g.,.that.it.didn't |
50ce0 | 20 6b 6e 6f 77 0a 23 20 74 68 61 74 20 68 61 73 68 20 61 6c 67 6f 20 74 68 61 74 20 72 65 71 75 | .know.#.that.hash.algo.that.requ |
50d00 | 65 73 74 65 64 20 69 6e 20 74 68 65 20 63 68 61 6c 6c 65 6e 67 65 2c 20 69 74 20 77 6f 75 6c 64 | ested.in.the.challenge,.it.would |
50d20 | 20 62 65 20 67 6f 6f 64 20 74 6f 0a 23 20 70 61 73 73 20 74 68 61 74 20 69 6e 66 6f 72 6d 61 74 | .be.good.to.#.pass.that.informat |
50d40 | 69 6f 6e 20 61 6c 6f 6e 67 20 74 6f 20 74 68 65 20 63 6c 69 65 6e 74 2c 20 74 6f 6f 2e 0a 23 20 | ion.along.to.the.client,.too..#. |
50d60 | 66 74 70 20 65 72 72 6f 72 73 20 61 72 65 6e 27 74 20 68 61 6e 64 6c 65 64 20 63 6c 65 61 6e 6c | ftp.errors.aren't.handled.cleanl |
50d80 | 79 0a 23 20 63 68 65 63 6b 20 64 69 67 65 73 74 20 61 67 61 69 6e 73 74 20 63 6f 72 72 65 63 74 | y.#.check.digest.against.correct |
50da0 | 20 28 69 2e 65 2e 20 6e 6f 6e 2d 61 70 61 63 68 65 29 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f | .(i.e..non-apache).implementatio |
50dc0 | 6e 0a 0a 23 20 50 6f 73 73 69 62 6c 65 20 65 78 74 65 6e 73 69 6f 6e 73 3a 0a 23 20 63 6f 6d 70 | n..#.Possible.extensions:.#.comp |
50de0 | 6c 65 78 20 70 72 6f 78 69 65 73 20 20 58 58 58 20 6e 6f 74 20 73 75 72 65 20 77 68 61 74 20 65 | lex.proxies..XXX.not.sure.what.e |
50e00 | 78 61 63 74 6c 79 20 77 61 73 20 6d 65 61 6e 74 20 62 79 20 74 68 69 73 0a 23 20 61 62 73 74 72 | xactly.was.meant.by.this.#.abstr |
50e20 | 61 63 74 20 66 61 63 74 6f 72 79 20 66 6f 72 20 6f 70 65 6e 65 72 0a 0a 69 6d 70 6f 72 74 20 62 | act.factory.for.opener..import.b |
50e40 | 61 73 65 36 34 0a 69 6d 70 6f 72 74 20 62 69 73 65 63 74 0a 69 6d 70 6f 72 74 20 65 6d 61 69 6c | ase64.import.bisect.import.email |
50e60 | 0a 69 6d 70 6f 72 74 20 68 61 73 68 6c 69 62 0a 69 6d 70 6f 72 74 20 68 74 74 70 2e 63 6c 69 65 | .import.hashlib.import.http.clie |
50e80 | 6e 74 0a 69 6d 70 6f 72 74 20 69 6f 0a 69 6d 70 6f 72 74 20 6f 73 0a 69 6d 70 6f 72 74 20 70 6f | nt.import.io.import.os.import.po |
50ea0 | 73 69 78 70 61 74 68 0a 69 6d 70 6f 72 74 20 72 65 0a 69 6d 70 6f 72 74 20 73 6f 63 6b 65 74 0a | sixpath.import.re.import.socket. |
50ec0 | 69 6d 70 6f 72 74 20 73 74 72 69 6e 67 0a 69 6d 70 6f 72 74 20 73 79 73 0a 69 6d 70 6f 72 74 20 | import.string.import.sys.import. |
50ee0 | 74 69 6d 65 0a 69 6d 70 6f 72 74 20 74 65 6d 70 66 69 6c 65 0a 69 6d 70 6f 72 74 20 63 6f 6e 74 | time.import.tempfile.import.cont |
50f00 | 65 78 74 6c 69 62 0a 69 6d 70 6f 72 74 20 77 61 72 6e 69 6e 67 73 0a 0a 0a 66 72 6f 6d 20 75 72 | extlib.import.warnings...from.ur |
50f20 | 6c 6c 69 62 2e 65 72 72 6f 72 20 69 6d 70 6f 72 74 20 55 52 4c 45 72 72 6f 72 2c 20 48 54 54 50 | llib.error.import.URLError,.HTTP |
50f40 | 45 72 72 6f 72 2c 20 43 6f 6e 74 65 6e 74 54 6f 6f 53 68 6f 72 74 45 72 72 6f 72 0a 66 72 6f 6d | Error,.ContentTooShortError.from |
50f60 | 20 75 72 6c 6c 69 62 2e 70 61 72 73 65 20 69 6d 70 6f 72 74 20 28 0a 20 20 20 20 75 72 6c 70 61 | .urllib.parse.import.(.....urlpa |
50f80 | 72 73 65 2c 20 75 72 6c 73 70 6c 69 74 2c 20 75 72 6c 6a 6f 69 6e 2c 20 75 6e 77 72 61 70 2c 20 | rse,.urlsplit,.urljoin,.unwrap,. |
50fa0 | 71 75 6f 74 65 2c 20 75 6e 71 75 6f 74 65 2c 0a 20 20 20 20 73 70 6c 69 74 74 79 70 65 2c 20 73 | quote,.unquote,.....splittype,.s |
50fc0 | 70 6c 69 74 68 6f 73 74 2c 20 73 70 6c 69 74 70 6f 72 74 2c 20 73 70 6c 69 74 75 73 65 72 2c 20 | plithost,.splitport,.splituser,. |
50fe0 | 73 70 6c 69 74 70 61 73 73 77 64 2c 0a 20 20 20 20 73 70 6c 69 74 61 74 74 72 2c 20 73 70 6c 69 | splitpasswd,.....splitattr,.spli |
51000 | 74 71 75 65 72 79 2c 20 73 70 6c 69 74 76 61 6c 75 65 2c 20 73 70 6c 69 74 74 61 67 2c 20 74 6f | tquery,.splitvalue,.splittag,.to |
51020 | 5f 62 79 74 65 73 2c 0a 20 20 20 20 75 6e 71 75 6f 74 65 5f 74 6f 5f 62 79 74 65 73 2c 20 75 72 | _bytes,.....unquote_to_bytes,.ur |
51040 | 6c 75 6e 70 61 72 73 65 29 0a 66 72 6f 6d 20 75 72 6c 6c 69 62 2e 72 65 73 70 6f 6e 73 65 20 69 | lunparse).from.urllib.response.i |
51060 | 6d 70 6f 72 74 20 61 64 64 69 6e 66 6f 75 72 6c 2c 20 61 64 64 63 6c 6f 73 65 68 6f 6f 6b 0a 0a | mport.addinfourl,.addclosehook.. |
51080 | 23 20 63 68 65 63 6b 20 66 6f 72 20 53 53 4c 0a 74 72 79 3a 0a 20 20 20 20 69 6d 70 6f 72 74 20 | #.check.for.SSL.try:.....import. |
510a0 | 73 73 6c 0a 65 78 63 65 70 74 20 49 6d 70 6f 72 74 45 72 72 6f 72 3a 0a 20 20 20 20 5f 68 61 76 | ssl.except.ImportError:....._hav |
510c0 | 65 5f 73 73 6c 20 3d 20 46 61 6c 73 65 0a 65 6c 73 65 3a 0a 20 20 20 20 5f 68 61 76 65 5f 73 73 | e_ssl.=.False.else:....._have_ss |
510e0 | 6c 20 3d 20 54 72 75 65 0a 0a 5f 5f 61 6c 6c 5f 5f 20 3d 20 5b 0a 20 20 20 20 23 20 43 6c 61 73 | l.=.True..__all__.=.[.....#.Clas |
51100 | 73 65 73 0a 20 20 20 20 27 52 65 71 75 65 73 74 27 2c 20 27 4f 70 65 6e 65 72 44 69 72 65 63 74 | ses.....'Request',.'OpenerDirect |
51120 | 6f 72 27 2c 20 27 42 61 73 65 48 61 6e 64 6c 65 72 27 2c 20 27 48 54 54 50 44 65 66 61 75 6c 74 | or',.'BaseHandler',.'HTTPDefault |
51140 | 45 72 72 6f 72 48 61 6e 64 6c 65 72 27 2c 0a 20 20 20 20 27 48 54 54 50 52 65 64 69 72 65 63 74 | ErrorHandler',.....'HTTPRedirect |
51160 | 48 61 6e 64 6c 65 72 27 2c 20 27 48 54 54 50 43 6f 6f 6b 69 65 50 72 6f 63 65 73 73 6f 72 27 2c | Handler',.'HTTPCookieProcessor', |
51180 | 20 27 50 72 6f 78 79 48 61 6e 64 6c 65 72 27 2c 0a 20 20 20 20 27 48 54 54 50 50 61 73 73 77 6f | .'ProxyHandler',.....'HTTPPasswo |
511a0 | 72 64 4d 67 72 27 2c 20 27 48 54 54 50 50 61 73 73 77 6f 72 64 4d 67 72 57 69 74 68 44 65 66 61 | rdMgr',.'HTTPPasswordMgrWithDefa |
511c0 | 75 6c 74 52 65 61 6c 6d 27 2c 0a 20 20 20 20 27 48 54 54 50 50 61 73 73 77 6f 72 64 4d 67 72 57 | ultRealm',.....'HTTPPasswordMgrW |
511e0 | 69 74 68 50 72 69 6f 72 41 75 74 68 27 2c 20 27 41 62 73 74 72 61 63 74 42 61 73 69 63 41 75 74 | ithPriorAuth',.'AbstractBasicAut |
51200 | 68 48 61 6e 64 6c 65 72 27 2c 0a 20 20 20 20 27 48 54 54 50 42 61 73 69 63 41 75 74 68 48 61 6e | hHandler',.....'HTTPBasicAuthHan |
51220 | 64 6c 65 72 27 2c 20 27 50 72 6f 78 79 42 61 73 69 63 41 75 74 68 48 61 6e 64 6c 65 72 27 2c 20 | dler',.'ProxyBasicAuthHandler',. |
51240 | 27 41 62 73 74 72 61 63 74 44 69 67 65 73 74 41 75 74 68 48 61 6e 64 6c 65 72 27 2c 0a 20 20 20 | 'AbstractDigestAuthHandler',.... |
51260 | 20 27 48 54 54 50 44 69 67 65 73 74 41 75 74 68 48 61 6e 64 6c 65 72 27 2c 20 27 50 72 6f 78 79 | .'HTTPDigestAuthHandler',.'Proxy |
51280 | 44 69 67 65 73 74 41 75 74 68 48 61 6e 64 6c 65 72 27 2c 20 27 48 54 54 50 48 61 6e 64 6c 65 72 | DigestAuthHandler',.'HTTPHandler |
512a0 | 27 2c 0a 20 20 20 20 27 46 69 6c 65 48 61 6e 64 6c 65 72 27 2c 20 27 46 54 50 48 61 6e 64 6c 65 | ',.....'FileHandler',.'FTPHandle |
512c0 | 72 27 2c 20 27 43 61 63 68 65 46 54 50 48 61 6e 64 6c 65 72 27 2c 20 27 44 61 74 61 48 61 6e 64 | r',.'CacheFTPHandler',.'DataHand |
512e0 | 6c 65 72 27 2c 0a 20 20 20 20 27 55 6e 6b 6e 6f 77 6e 48 61 6e 64 6c 65 72 27 2c 20 27 48 54 54 | ler',.....'UnknownHandler',.'HTT |
51300 | 50 45 72 72 6f 72 50 72 6f 63 65 73 73 6f 72 27 2c 0a 20 20 20 20 23 20 46 75 6e 63 74 69 6f 6e | PErrorProcessor',.....#.Function |
51320 | 73 0a 20 20 20 20 27 75 72 6c 6f 70 65 6e 27 2c 20 27 69 6e 73 74 61 6c 6c 5f 6f 70 65 6e 65 72 | s.....'urlopen',.'install_opener |
51340 | 27 2c 20 27 62 75 69 6c 64 5f 6f 70 65 6e 65 72 27 2c 0a 20 20 20 20 27 70 61 74 68 6e 61 6d 65 | ',.'build_opener',.....'pathname |
51360 | 32 75 72 6c 27 2c 20 27 75 72 6c 32 70 61 74 68 6e 61 6d 65 27 2c 20 27 67 65 74 70 72 6f 78 69 | 2url',.'url2pathname',.'getproxi |
51380 | 65 73 27 2c 0a 20 20 20 20 23 20 4c 65 67 61 63 79 20 69 6e 74 65 72 66 61 63 65 0a 20 20 20 20 | es',.....#.Legacy.interface..... |
513a0 | 27 75 72 6c 72 65 74 72 69 65 76 65 27 2c 20 27 75 72 6c 63 6c 65 61 6e 75 70 27 2c 20 27 55 52 | 'urlretrieve',.'urlcleanup',.'UR |
513c0 | 4c 6f 70 65 6e 65 72 27 2c 20 27 46 61 6e 63 79 55 52 4c 6f 70 65 6e 65 72 27 2c 0a 5d 0a 0a 23 | Lopener',.'FancyURLopener',.]..# |
513e0 | 20 75 73 65 64 20 69 6e 20 55 73 65 72 2d 41 67 65 6e 74 20 68 65 61 64 65 72 20 73 65 6e 74 0a | .used.in.User-Agent.header.sent. |
51400 | 5f 5f 76 65 72 73 69 6f 6e 5f 5f 20 3d 20 27 25 64 2e 25 64 27 20 25 20 73 79 73 2e 76 65 72 73 | __version__.=.'%d.%d'.%.sys.vers |
51420 | 69 6f 6e 5f 69 6e 66 6f 5b 3a 32 5d 0a 0a 5f 6f 70 65 6e 65 72 20 3d 20 4e 6f 6e 65 0a 64 65 66 | ion_info[:2].._opener.=.None.def |
51440 | 20 75 72 6c 6f 70 65 6e 28 75 72 6c 2c 20 64 61 74 61 3d 4e 6f 6e 65 2c 20 74 69 6d 65 6f 75 74 | .urlopen(url,.data=None,.timeout |
51460 | 3d 73 6f 63 6b 65 74 2e 5f 47 4c 4f 42 41 4c 5f 44 45 46 41 55 4c 54 5f 54 49 4d 45 4f 55 54 2c | =socket._GLOBAL_DEFAULT_TIMEOUT, |
51480 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 2a 2c 20 63 61 66 69 6c 65 3d 4e 6f 6e 65 2c 20 63 61 70 | .............*,.cafile=None,.cap |
514a0 | 61 74 68 3d 4e 6f 6e 65 2c 20 63 61 64 65 66 61 75 6c 74 3d 46 61 6c 73 65 2c 20 63 6f 6e 74 65 | ath=None,.cadefault=False,.conte |
514c0 | 78 74 3d 4e 6f 6e 65 29 3a 0a 20 20 20 20 27 27 27 4f 70 65 6e 20 74 68 65 20 55 52 4c 20 75 72 | xt=None):.....'''Open.the.URL.ur |
514e0 | 6c 2c 20 77 68 69 63 68 20 63 61 6e 20 62 65 20 65 69 74 68 65 72 20 61 20 73 74 72 69 6e 67 20 | l,.which.can.be.either.a.string. |
51500 | 6f 72 20 61 20 52 65 71 75 65 73 74 20 6f 62 6a 65 63 74 2e 0a 0a 20 20 20 20 2a 64 61 74 61 2a | or.a.Request.object.......*data* |
51520 | 20 6d 75 73 74 20 62 65 20 61 6e 20 6f 62 6a 65 63 74 20 73 70 65 63 69 66 79 69 6e 67 20 61 64 | .must.be.an.object.specifying.ad |
51540 | 64 69 74 69 6f 6e 61 6c 20 64 61 74 61 20 74 6f 20 62 65 20 73 65 6e 74 20 74 6f 0a 20 20 20 20 | ditional.data.to.be.sent.to..... |
51560 | 74 68 65 20 73 65 72 76 65 72 2c 20 6f 72 20 4e 6f 6e 65 20 69 66 20 6e 6f 20 73 75 63 68 20 64 | the.server,.or.None.if.no.such.d |
51580 | 61 74 61 20 69 73 20 6e 65 65 64 65 64 2e 20 20 53 65 65 20 52 65 71 75 65 73 74 20 66 6f 72 0a | ata.is.needed...See.Request.for. |
515a0 | 20 20 20 20 64 65 74 61 69 6c 73 2e 0a 0a 20 20 20 20 75 72 6c 6c 69 62 2e 72 65 71 75 65 73 74 | ....details.......urllib.request |
515c0 | 20 6d 6f 64 75 6c 65 20 75 73 65 73 20 48 54 54 50 2f 31 2e 31 20 61 6e 64 20 69 6e 63 6c 75 64 | .module.uses.HTTP/1.1.and.includ |
515e0 | 65 73 20 61 20 22 43 6f 6e 6e 65 63 74 69 6f 6e 3a 63 6c 6f 73 65 22 0a 20 20 20 20 68 65 61 64 | es.a."Connection:close".....head |
51600 | 65 72 20 69 6e 20 69 74 73 20 48 54 54 50 20 72 65 71 75 65 73 74 73 2e 0a 0a 20 20 20 20 54 68 | er.in.its.HTTP.requests.......Th |
51620 | 65 20 6f 70 74 69 6f 6e 61 6c 20 2a 74 69 6d 65 6f 75 74 2a 20 70 61 72 61 6d 65 74 65 72 20 73 | e.optional.*timeout*.parameter.s |
51640 | 70 65 63 69 66 69 65 73 20 61 20 74 69 6d 65 6f 75 74 20 69 6e 20 73 65 63 6f 6e 64 73 20 66 6f | pecifies.a.timeout.in.seconds.fo |
51660 | 72 0a 20 20 20 20 62 6c 6f 63 6b 69 6e 67 20 6f 70 65 72 61 74 69 6f 6e 73 20 6c 69 6b 65 20 74 | r.....blocking.operations.like.t |
51680 | 68 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 61 74 74 65 6d 70 74 20 28 69 66 20 6e 6f 74 20 73 70 | he.connection.attempt.(if.not.sp |
516a0 | 65 63 69 66 69 65 64 2c 20 74 68 65 0a 20 20 20 20 67 6c 6f 62 61 6c 20 64 65 66 61 75 6c 74 20 | ecified,.the.....global.default. |
516c0 | 74 69 6d 65 6f 75 74 20 73 65 74 74 69 6e 67 20 77 69 6c 6c 20 62 65 20 75 73 65 64 29 2e 20 54 | timeout.setting.will.be.used)..T |
516e0 | 68 69 73 20 6f 6e 6c 79 20 77 6f 72 6b 73 20 66 6f 72 20 48 54 54 50 2c 0a 20 20 20 20 48 54 54 | his.only.works.for.HTTP,.....HTT |
51700 | 50 53 20 61 6e 64 20 46 54 50 20 63 6f 6e 6e 65 63 74 69 6f 6e 73 2e 0a 0a 20 20 20 20 49 66 20 | PS.and.FTP.connections.......If. |
51720 | 2a 63 6f 6e 74 65 78 74 2a 20 69 73 20 73 70 65 63 69 66 69 65 64 2c 20 69 74 20 6d 75 73 74 20 | *context*.is.specified,.it.must. |
51740 | 62 65 20 61 20 73 73 6c 2e 53 53 4c 43 6f 6e 74 65 78 74 20 69 6e 73 74 61 6e 63 65 20 64 65 73 | be.a.ssl.SSLContext.instance.des |
51760 | 63 72 69 62 69 6e 67 0a 20 20 20 20 74 68 65 20 76 61 72 69 6f 75 73 20 53 53 4c 20 6f 70 74 69 | cribing.....the.various.SSL.opti |
51780 | 6f 6e 73 2e 20 53 65 65 20 48 54 54 50 53 43 6f 6e 6e 65 63 74 69 6f 6e 20 66 6f 72 20 6d 6f 72 | ons..See.HTTPSConnection.for.mor |
517a0 | 65 20 64 65 74 61 69 6c 73 2e 0a 0a 20 20 20 20 54 68 65 20 6f 70 74 69 6f 6e 61 6c 20 2a 63 61 | e.details.......The.optional.*ca |
517c0 | 66 69 6c 65 2a 20 61 6e 64 20 2a 63 61 70 61 74 68 2a 20 70 61 72 61 6d 65 74 65 72 73 20 73 70 | file*.and.*capath*.parameters.sp |
517e0 | 65 63 69 66 79 20 61 20 73 65 74 20 6f 66 20 74 72 75 73 74 65 64 20 43 41 0a 20 20 20 20 63 65 | ecify.a.set.of.trusted.CA.....ce |
51800 | 72 74 69 66 69 63 61 74 65 73 20 66 6f 72 20 48 54 54 50 53 20 72 65 71 75 65 73 74 73 2e 20 63 | rtificates.for.HTTPS.requests..c |
51820 | 61 66 69 6c 65 20 73 68 6f 75 6c 64 20 70 6f 69 6e 74 20 74 6f 20 61 20 73 69 6e 67 6c 65 20 66 | afile.should.point.to.a.single.f |
51840 | 69 6c 65 0a 20 20 20 20 63 6f 6e 74 61 69 6e 69 6e 67 20 61 20 62 75 6e 64 6c 65 20 6f 66 20 43 | ile.....containing.a.bundle.of.C |
51860 | 41 20 63 65 72 74 69 66 69 63 61 74 65 73 2c 20 77 68 65 72 65 61 73 20 63 61 70 61 74 68 20 73 | A.certificates,.whereas.capath.s |
51880 | 68 6f 75 6c 64 20 70 6f 69 6e 74 20 74 6f 20 61 0a 20 20 20 20 64 69 72 65 63 74 6f 72 79 20 6f | hould.point.to.a.....directory.o |
518a0 | 66 20 68 61 73 68 65 64 20 63 65 72 74 69 66 69 63 61 74 65 20 66 69 6c 65 73 2e 20 4d 6f 72 65 | f.hashed.certificate.files..More |
518c0 | 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 63 61 6e 20 62 65 20 66 6f 75 6e 64 20 69 6e 0a 20 20 20 | .information.can.be.found.in.... |
518e0 | 20 73 73 6c 2e 53 53 4c 43 6f 6e 74 65 78 74 2e 6c 6f 61 64 5f 76 65 72 69 66 79 5f 6c 6f 63 61 | .ssl.SSLContext.load_verify_loca |
51900 | 74 69 6f 6e 73 28 29 2e 0a 0a 20 20 20 20 54 68 65 20 2a 63 61 64 65 66 61 75 6c 74 2a 20 70 61 | tions().......The.*cadefault*.pa |
51920 | 72 61 6d 65 74 65 72 20 69 73 20 69 67 6e 6f 72 65 64 2e 0a 0a 20 20 20 20 54 68 69 73 20 66 75 | rameter.is.ignored.......This.fu |
51940 | 6e 63 74 69 6f 6e 20 61 6c 77 61 79 73 20 72 65 74 75 72 6e 73 20 61 6e 20 6f 62 6a 65 63 74 20 | nction.always.returns.an.object. |
51960 | 77 68 69 63 68 20 63 61 6e 20 77 6f 72 6b 20 61 73 20 61 20 63 6f 6e 74 65 78 74 0a 20 20 20 20 | which.can.work.as.a.context..... |
51980 | 6d 61 6e 61 67 65 72 20 61 6e 64 20 68 61 73 20 6d 65 74 68 6f 64 73 20 73 75 63 68 20 61 73 0a | manager.and.has.methods.such.as. |
519a0 | 0a 20 20 20 20 2a 20 67 65 74 75 72 6c 28 29 20 2d 20 72 65 74 75 72 6e 20 74 68 65 20 55 52 4c | .....*.geturl().-.return.the.URL |
519c0 | 20 6f 66 20 74 68 65 20 72 65 73 6f 75 72 63 65 20 72 65 74 72 69 65 76 65 64 2c 20 63 6f 6d 6d | .of.the.resource.retrieved,.comm |
519e0 | 6f 6e 6c 79 20 75 73 65 64 20 74 6f 0a 20 20 20 20 20 20 64 65 74 65 72 6d 69 6e 65 20 69 66 20 | only.used.to.......determine.if. |
51a00 | 61 20 72 65 64 69 72 65 63 74 20 77 61 73 20 66 6f 6c 6c 6f 77 65 64 0a 0a 20 20 20 20 2a 20 69 | a.redirect.was.followed......*.i |
51a20 | 6e 66 6f 28 29 20 2d 20 72 65 74 75 72 6e 20 74 68 65 20 6d 65 74 61 2d 69 6e 66 6f 72 6d 61 74 | nfo().-.return.the.meta-informat |
51a40 | 69 6f 6e 20 6f 66 20 74 68 65 20 70 61 67 65 2c 20 73 75 63 68 20 61 73 20 68 65 61 64 65 72 73 | ion.of.the.page,.such.as.headers |
51a60 | 2c 20 69 6e 20 74 68 65 0a 20 20 20 20 20 20 66 6f 72 6d 20 6f 66 20 61 6e 20 65 6d 61 69 6c 2e | ,.in.the.......form.of.an.email. |
51a80 | 6d 65 73 73 61 67 65 5f 66 72 6f 6d 5f 73 74 72 69 6e 67 28 29 20 69 6e 73 74 61 6e 63 65 20 28 | message_from_string().instance.( |
51aa0 | 73 65 65 20 51 75 69 63 6b 20 52 65 66 65 72 65 6e 63 65 20 74 6f 0a 20 20 20 20 20 20 48 54 54 | see.Quick.Reference.to.......HTT |
51ac0 | 50 20 48 65 61 64 65 72 73 29 0a 0a 20 20 20 20 2a 20 67 65 74 63 6f 64 65 28 29 20 2d 20 72 65 | P.Headers)......*.getcode().-.re |
51ae0 | 74 75 72 6e 20 74 68 65 20 48 54 54 50 20 73 74 61 74 75 73 20 63 6f 64 65 20 6f 66 20 74 68 65 | turn.the.HTTP.status.code.of.the |
51b00 | 20 72 65 73 70 6f 6e 73 65 2e 20 20 52 61 69 73 65 73 20 55 52 4c 45 72 72 6f 72 0a 20 20 20 20 | .response...Raises.URLError..... |
51b20 | 20 20 6f 6e 20 65 72 72 6f 72 73 2e 0a 0a 20 20 20 20 46 6f 72 20 48 54 54 50 20 61 6e 64 20 48 | ..on.errors.......For.HTTP.and.H |
51b40 | 54 54 50 53 20 55 52 4c 73 2c 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 | TTPS.URLs,.this.function.returns |
51b60 | 20 61 20 68 74 74 70 2e 63 6c 69 65 6e 74 2e 48 54 54 50 52 65 73 70 6f 6e 73 65 0a 20 20 20 20 | .a.http.client.HTTPResponse..... |
51b80 | 6f 62 6a 65 63 74 20 73 6c 69 67 68 74 6c 79 20 6d 6f 64 69 66 69 65 64 2e 20 49 6e 20 61 64 64 | object.slightly.modified..In.add |
51ba0 | 69 74 69 6f 6e 20 74 6f 20 74 68 65 20 74 68 72 65 65 20 6e 65 77 20 6d 65 74 68 6f 64 73 20 61 | ition.to.the.three.new.methods.a |
51bc0 | 62 6f 76 65 2c 20 74 68 65 0a 20 20 20 20 6d 73 67 20 61 74 74 72 69 62 75 74 65 20 63 6f 6e 74 | bove,.the.....msg.attribute.cont |
51be0 | 61 69 6e 73 20 74 68 65 20 73 61 6d 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 73 20 74 68 65 | ains.the.same.information.as.the |
51c00 | 20 72 65 61 73 6f 6e 20 61 74 74 72 69 62 75 74 65 20 2d 2d 2d 0a 20 20 20 20 74 68 65 20 72 65 | .reason.attribute.---.....the.re |
51c20 | 61 73 6f 6e 20 70 68 72 61 73 65 20 72 65 74 75 72 6e 65 64 20 62 79 20 74 68 65 20 73 65 72 76 | ason.phrase.returned.by.the.serv |
51c40 | 65 72 20 2d 2d 2d 20 69 6e 73 74 65 61 64 20 6f 66 20 74 68 65 20 72 65 73 70 6f 6e 73 65 0a 20 | er.---.instead.of.the.response.. |
51c60 | 20 20 20 68 65 61 64 65 72 73 20 61 73 20 69 74 20 69 73 20 73 70 65 63 69 66 69 65 64 20 69 6e | ...headers.as.it.is.specified.in |
51c80 | 20 74 68 65 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 6f 72 20 48 54 54 50 52 65 73 70 6f | .the.documentation.for.HTTPRespo |
51ca0 | 6e 73 65 2e 0a 0a 20 20 20 20 46 6f 72 20 46 54 50 2c 20 66 69 6c 65 2c 20 61 6e 64 20 64 61 74 | nse.......For.FTP,.file,.and.dat |
51cc0 | 61 20 55 52 4c 73 20 61 6e 64 20 72 65 71 75 65 73 74 73 20 65 78 70 6c 69 63 69 74 6c 79 20 68 | a.URLs.and.requests.explicitly.h |
51ce0 | 61 6e 64 6c 65 64 20 62 79 20 6c 65 67 61 63 79 0a 20 20 20 20 55 52 4c 6f 70 65 6e 65 72 20 61 | andled.by.legacy.....URLopener.a |
51d00 | 6e 64 20 46 61 6e 63 79 55 52 4c 6f 70 65 6e 65 72 20 63 6c 61 73 73 65 73 2c 20 74 68 69 73 20 | nd.FancyURLopener.classes,.this. |
51d20 | 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 61 0a 20 20 20 20 75 72 6c 6c 69 62 2e 72 65 | function.returns.a.....urllib.re |
51d40 | 73 70 6f 6e 73 65 2e 61 64 64 69 6e 66 6f 75 72 6c 20 6f 62 6a 65 63 74 2e 0a 0a 20 20 20 20 4e | sponse.addinfourl.object.......N |
51d60 | 6f 74 65 20 74 68 61 74 20 4e 6f 6e 65 20 6d 61 79 20 62 65 20 72 65 74 75 72 6e 65 64 20 69 66 | ote.that.None.may.be.returned.if |
51d80 | 20 6e 6f 20 68 61 6e 64 6c 65 72 20 68 61 6e 64 6c 65 73 20 74 68 65 20 72 65 71 75 65 73 74 20 | .no.handler.handles.the.request. |
51da0 | 28 74 68 6f 75 67 68 0a 20 20 20 20 74 68 65 20 64 65 66 61 75 6c 74 20 69 6e 73 74 61 6c 6c 65 | (though.....the.default.installe |
51dc0 | 64 20 67 6c 6f 62 61 6c 20 4f 70 65 6e 65 72 44 69 72 65 63 74 6f 72 20 75 73 65 73 20 55 6e 6b | d.global.OpenerDirector.uses.Unk |
51de0 | 6e 6f 77 6e 48 61 6e 64 6c 65 72 20 74 6f 20 65 6e 73 75 72 65 0a 20 20 20 20 74 68 69 73 20 6e | nownHandler.to.ensure.....this.n |
51e00 | 65 76 65 72 20 68 61 70 70 65 6e 73 29 2e 0a 0a 20 20 20 20 49 6e 20 61 64 64 69 74 69 6f 6e 2c | ever.happens).......In.addition, |
51e20 | 20 69 66 20 70 72 6f 78 79 20 73 65 74 74 69 6e 67 73 20 61 72 65 20 64 65 74 65 63 74 65 64 20 | .if.proxy.settings.are.detected. |
51e40 | 28 66 6f 72 20 65 78 61 6d 70 6c 65 2c 20 77 68 65 6e 20 61 20 2a 5f 70 72 6f 78 79 0a 20 20 20 | (for.example,.when.a.*_proxy.... |
51e60 | 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 20 6c 69 6b 65 20 68 74 74 70 5f | .environment.variable.like.http_ |
51e80 | 70 72 6f 78 79 20 69 73 20 73 65 74 29 2c 20 50 72 6f 78 79 48 61 6e 64 6c 65 72 20 69 73 20 64 | proxy.is.set),.ProxyHandler.is.d |
51ea0 | 65 66 61 75 6c 74 0a 20 20 20 20 69 6e 73 74 61 6c 6c 65 64 20 61 6e 64 20 6d 61 6b 65 73 20 73 | efault.....installed.and.makes.s |
51ec0 | 75 72 65 20 74 68 65 20 72 65 71 75 65 73 74 73 20 61 72 65 20 68 61 6e 64 6c 65 64 20 74 68 72 | ure.the.requests.are.handled.thr |
51ee0 | 6f 75 67 68 20 74 68 65 20 70 72 6f 78 79 2e 0a 0a 20 20 20 20 27 27 27 0a 20 20 20 20 67 6c 6f | ough.the.proxy.......'''.....glo |
51f00 | 62 61 6c 20 5f 6f 70 65 6e 65 72 0a 20 20 20 20 69 66 20 63 61 66 69 6c 65 20 6f 72 20 63 61 70 | bal._opener.....if.cafile.or.cap |
51f20 | 61 74 68 20 6f 72 20 63 61 64 65 66 61 75 6c 74 3a 0a 20 20 20 20 20 20 20 20 69 6d 70 6f 72 74 | ath.or.cadefault:.........import |
51f40 | 20 77 61 72 6e 69 6e 67 73 0a 20 20 20 20 20 20 20 20 77 61 72 6e 69 6e 67 73 2e 77 61 72 6e 28 | .warnings.........warnings.warn( |
51f60 | 22 63 61 66 69 6c 65 2c 20 63 61 70 61 74 68 20 61 6e 64 20 63 61 64 65 66 61 75 6c 74 20 61 72 | "cafile,.capath.and.cadefault.ar |
51f80 | 65 20 64 65 70 72 65 63 61 74 65 64 2c 20 75 73 65 20 61 20 22 0a 20 20 20 20 20 20 20 20 20 20 | e.deprecated,.use.a."........... |
51fa0 | 20 20 20 20 20 20 20 20 20 20 20 20 22 63 75 73 74 6f 6d 20 63 6f 6e 74 65 78 74 20 69 6e 73 74 | ............"custom.context.inst |
51fc0 | 65 61 64 2e 22 2c 20 44 65 70 72 65 63 61 74 69 6f 6e 57 61 72 6e 69 6e 67 2c 20 32 29 0a 20 20 | ead.",.DeprecationWarning,.2)... |
51fe0 | 20 20 20 20 20 20 69 66 20 63 6f 6e 74 65 78 74 20 69 73 20 6e 6f 74 20 4e 6f 6e 65 3a 0a 20 20 | ......if.context.is.not.None:... |
52000 | 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 56 61 6c 75 65 45 72 72 6f 72 28 0a 20 20 20 20 | ..........raise.ValueError(..... |
52020 | 20 20 20 20 20 20 20 20 20 20 20 20 22 59 6f 75 20 63 61 6e 27 74 20 70 61 73 73 20 62 6f 74 68 | ............"You.can't.pass.both |
52040 | 20 63 6f 6e 74 65 78 74 20 61 6e 64 20 61 6e 79 20 6f 66 20 63 61 66 69 6c 65 2c 20 63 61 70 61 | .context.and.any.of.cafile,.capa |
52060 | 74 68 2c 20 61 6e 64 20 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 63 61 64 65 66 | th,.and."................."cadef |
52080 | 61 75 6c 74 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 29 0a 20 20 20 20 20 20 20 20 69 66 20 6e | ault".............).........if.n |
520a0 | 6f 74 20 5f 68 61 76 65 5f 73 73 6c 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 | ot._have_ssl:.............raise. |
520c0 | 56 61 6c 75 65 45 72 72 6f 72 28 27 53 53 4c 20 73 75 70 70 6f 72 74 20 6e 6f 74 20 61 76 61 69 | ValueError('SSL.support.not.avai |
520e0 | 6c 61 62 6c 65 27 29 0a 20 20 20 20 20 20 20 20 63 6f 6e 74 65 78 74 20 3d 20 73 73 6c 2e 63 72 | lable').........context.=.ssl.cr |
52100 | 65 61 74 65 5f 64 65 66 61 75 6c 74 5f 63 6f 6e 74 65 78 74 28 73 73 6c 2e 50 75 72 70 6f 73 65 | eate_default_context(ssl.Purpose |
52120 | 2e 53 45 52 56 45 52 5f 41 55 54 48 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .SERVER_AUTH,................... |
52140 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 66 69 6c | ...........................cafil |
52160 | 65 3d 63 61 66 69 6c 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | e=cafile,....................... |
52180 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 70 61 74 68 3d 63 61 | .......................capath=ca |
521a0 | 70 61 74 68 29 0a 20 20 20 20 20 20 20 20 68 74 74 70 73 5f 68 61 6e 64 6c 65 72 20 3d 20 48 54 | path).........https_handler.=.HT |
521c0 | 54 50 53 48 61 6e 64 6c 65 72 28 63 6f 6e 74 65 78 74 3d 63 6f 6e 74 65 78 74 29 0a 20 20 20 20 | TPSHandler(context=context)..... |
521e0 | 20 20 20 20 6f 70 65 6e 65 72 20 3d 20 62 75 69 6c 64 5f 6f 70 65 6e 65 72 28 68 74 74 70 73 5f | ....opener.=.build_opener(https_ |
52200 | 68 61 6e 64 6c 65 72 29 0a 20 20 20 20 65 6c 69 66 20 63 6f 6e 74 65 78 74 3a 0a 20 20 20 20 20 | handler).....elif.context:...... |
52220 | 20 20 20 68 74 74 70 73 5f 68 61 6e 64 6c 65 72 20 3d 20 48 54 54 50 53 48 61 6e 64 6c 65 72 28 | ...https_handler.=.HTTPSHandler( |
52240 | 63 6f 6e 74 65 78 74 3d 63 6f 6e 74 65 78 74 29 0a 20 20 20 20 20 20 20 20 6f 70 65 6e 65 72 20 | context=context).........opener. |
52260 | 3d 20 62 75 69 6c 64 5f 6f 70 65 6e 65 72 28 68 74 74 70 73 5f 68 61 6e 64 6c 65 72 29 0a 20 20 | =.build_opener(https_handler)... |
52280 | 20 20 65 6c 69 66 20 5f 6f 70 65 6e 65 72 20 69 73 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 | ..elif._opener.is.None:......... |
522a0 | 5f 6f 70 65 6e 65 72 20 3d 20 6f 70 65 6e 65 72 20 3d 20 62 75 69 6c 64 5f 6f 70 65 6e 65 72 28 | _opener.=.opener.=.build_opener( |
522c0 | 29 0a 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 6f 70 65 6e 65 72 20 3d 20 5f 6f 70 | ).....else:.........opener.=._op |
522e0 | 65 6e 65 72 0a 20 20 20 20 72 65 74 75 72 6e 20 6f 70 65 6e 65 72 2e 6f 70 65 6e 28 75 72 6c 2c | ener.....return.opener.open(url, |
52300 | 20 64 61 74 61 2c 20 74 69 6d 65 6f 75 74 29 0a 0a 64 65 66 20 69 6e 73 74 61 6c 6c 5f 6f 70 65 | .data,.timeout)..def.install_ope |
52320 | 6e 65 72 28 6f 70 65 6e 65 72 29 3a 0a 20 20 20 20 67 6c 6f 62 61 6c 20 5f 6f 70 65 6e 65 72 0a | ner(opener):.....global._opener. |
52340 | 20 20 20 20 5f 6f 70 65 6e 65 72 20 3d 20 6f 70 65 6e 65 72 0a 0a 5f 75 72 6c 5f 74 65 6d 70 66 | ...._opener.=.opener.._url_tempf |
52360 | 69 6c 65 73 20 3d 20 5b 5d 0a 64 65 66 20 75 72 6c 72 65 74 72 69 65 76 65 28 75 72 6c 2c 20 66 | iles.=.[].def.urlretrieve(url,.f |
52380 | 69 6c 65 6e 61 6d 65 3d 4e 6f 6e 65 2c 20 72 65 70 6f 72 74 68 6f 6f 6b 3d 4e 6f 6e 65 2c 20 64 | ilename=None,.reporthook=None,.d |
523a0 | 61 74 61 3d 4e 6f 6e 65 29 3a 0a 20 20 20 20 22 22 22 0a 20 20 20 20 52 65 74 72 69 65 76 65 20 | ata=None):.....""".....Retrieve. |
523c0 | 61 20 55 52 4c 20 69 6e 74 6f 20 61 20 74 65 6d 70 6f 72 61 72 79 20 6c 6f 63 61 74 69 6f 6e 20 | a.URL.into.a.temporary.location. |
523e0 | 6f 6e 20 64 69 73 6b 2e 0a 0a 20 20 20 20 52 65 71 75 69 72 65 73 20 61 20 55 52 4c 20 61 72 67 | on.disk.......Requires.a.URL.arg |
52400 | 75 6d 65 6e 74 2e 20 49 66 20 61 20 66 69 6c 65 6e 61 6d 65 20 69 73 20 70 61 73 73 65 64 2c 20 | ument..If.a.filename.is.passed,. |
52420 | 69 74 20 69 73 20 75 73 65 64 20 61 73 0a 20 20 20 20 74 68 65 20 74 65 6d 70 6f 72 61 72 79 20 | it.is.used.as.....the.temporary. |
52440 | 66 69 6c 65 20 6c 6f 63 61 74 69 6f 6e 2e 20 54 68 65 20 72 65 70 6f 72 74 68 6f 6f 6b 20 61 72 | file.location..The.reporthook.ar |
52460 | 67 75 6d 65 6e 74 20 73 68 6f 75 6c 64 20 62 65 0a 20 20 20 20 61 20 63 61 6c 6c 61 62 6c 65 20 | gument.should.be.....a.callable. |
52480 | 74 68 61 74 20 61 63 63 65 70 74 73 20 61 20 62 6c 6f 63 6b 20 6e 75 6d 62 65 72 2c 20 61 20 72 | that.accepts.a.block.number,.a.r |
524a0 | 65 61 64 20 73 69 7a 65 2c 20 61 6e 64 20 74 68 65 0a 20 20 20 20 74 6f 74 61 6c 20 66 69 6c 65 | ead.size,.and.the.....total.file |
524c0 | 20 73 69 7a 65 20 6f 66 20 74 68 65 20 55 52 4c 20 74 61 72 67 65 74 2e 20 54 68 65 20 64 61 74 | .size.of.the.URL.target..The.dat |
524e0 | 61 20 61 72 67 75 6d 65 6e 74 20 73 68 6f 75 6c 64 20 62 65 0a 20 20 20 20 76 61 6c 69 64 20 55 | a.argument.should.be.....valid.U |
52500 | 52 4c 20 65 6e 63 6f 64 65 64 20 64 61 74 61 2e 0a 0a 20 20 20 20 49 66 20 61 20 66 69 6c 65 6e | RL.encoded.data.......If.a.filen |
52520 | 61 6d 65 20 69 73 20 70 61 73 73 65 64 20 61 6e 64 20 74 68 65 20 55 52 4c 20 70 6f 69 6e 74 73 | ame.is.passed.and.the.URL.points |
52540 | 20 74 6f 20 61 20 6c 6f 63 61 6c 20 72 65 73 6f 75 72 63 65 2c 0a 20 20 20 20 74 68 65 20 72 65 | .to.a.local.resource,.....the.re |
52560 | 73 75 6c 74 20 69 73 20 61 20 63 6f 70 79 20 66 72 6f 6d 20 6c 6f 63 61 6c 20 66 69 6c 65 20 74 | sult.is.a.copy.from.local.file.t |
52580 | 6f 20 6e 65 77 20 66 69 6c 65 2e 0a 0a 20 20 20 20 52 65 74 75 72 6e 73 20 61 20 74 75 70 6c 65 | o.new.file.......Returns.a.tuple |
525a0 | 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 20 70 61 74 68 20 74 6f 20 74 68 65 20 6e 65 77 6c | .containing.the.path.to.the.newl |
525c0 | 79 20 63 72 65 61 74 65 64 0a 20 20 20 20 64 61 74 61 20 66 69 6c 65 20 61 73 20 77 65 6c 6c 20 | y.created.....data.file.as.well. |
525e0 | 61 73 20 74 68 65 20 72 65 73 75 6c 74 69 6e 67 20 48 54 54 50 4d 65 73 73 61 67 65 20 6f 62 6a | as.the.resulting.HTTPMessage.obj |
52600 | 65 63 74 2e 0a 20 20 20 20 22 22 22 0a 20 20 20 20 75 72 6c 5f 74 79 70 65 2c 20 70 61 74 68 20 | ect......""".....url_type,.path. |
52620 | 3d 20 73 70 6c 69 74 74 79 70 65 28 75 72 6c 29 0a 0a 20 20 20 20 77 69 74 68 20 63 6f 6e 74 65 | =.splittype(url)......with.conte |
52640 | 78 74 6c 69 62 2e 63 6c 6f 73 69 6e 67 28 75 72 6c 6f 70 65 6e 28 75 72 6c 2c 20 64 61 74 61 29 | xtlib.closing(urlopen(url,.data) |
52660 | 29 20 61 73 20 66 70 3a 0a 20 20 20 20 20 20 20 20 68 65 61 64 65 72 73 20 3d 20 66 70 2e 69 6e | ).as.fp:.........headers.=.fp.in |
52680 | 66 6f 28 29 0a 0a 20 20 20 20 20 20 20 20 23 20 4a 75 73 74 20 72 65 74 75 72 6e 20 74 68 65 20 | fo()..........#.Just.return.the. |
526a0 | 6c 6f 63 61 6c 20 70 61 74 68 20 61 6e 64 20 74 68 65 20 22 68 65 61 64 65 72 73 22 20 66 6f 72 | local.path.and.the."headers".for |
526c0 | 20 66 69 6c 65 3a 2f 2f 0a 20 20 20 20 20 20 20 20 23 20 55 52 4c 73 2e 20 4e 6f 20 73 65 6e 73 | .file://.........#.URLs..No.sens |
526e0 | 65 20 69 6e 20 70 65 72 66 6f 72 6d 69 6e 67 20 61 20 63 6f 70 79 20 75 6e 6c 65 73 73 20 72 65 | e.in.performing.a.copy.unless.re |
52700 | 71 75 65 73 74 65 64 2e 0a 20 20 20 20 20 20 20 20 69 66 20 75 72 6c 5f 74 79 70 65 20 3d 3d 20 | quested..........if.url_type.==. |
52720 | 22 66 69 6c 65 22 20 61 6e 64 20 6e 6f 74 20 66 69 6c 65 6e 61 6d 65 3a 0a 20 20 20 20 20 20 20 | "file".and.not.filename:........ |
52740 | 20 20 20 20 20 72 65 74 75 72 6e 20 6f 73 2e 70 61 74 68 2e 6e 6f 72 6d 70 61 74 68 28 70 61 74 | .....return.os.path.normpath(pat |
52760 | 68 29 2c 20 68 65 61 64 65 72 73 0a 0a 20 20 20 20 20 20 20 20 23 20 48 61 6e 64 6c 65 20 74 65 | h),.headers..........#.Handle.te |
52780 | 6d 70 6f 72 61 72 79 20 66 69 6c 65 20 73 65 74 75 70 2e 0a 20 20 20 20 20 20 20 20 69 66 20 66 | mporary.file.setup..........if.f |
527a0 | 69 6c 65 6e 61 6d 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 66 70 20 3d 20 6f 70 65 6e 28 | ilename:.............tfp.=.open( |
527c0 | 66 69 6c 65 6e 61 6d 65 2c 20 27 77 62 27 29 0a 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 | filename,.'wb').........else:... |
527e0 | 20 20 20 20 20 20 20 20 20 20 74 66 70 20 3d 20 74 65 6d 70 66 69 6c 65 2e 4e 61 6d 65 64 54 65 | ..........tfp.=.tempfile.NamedTe |
52800 | 6d 70 6f 72 61 72 79 46 69 6c 65 28 64 65 6c 65 74 65 3d 46 61 6c 73 65 29 0a 20 20 20 20 20 20 | mporaryFile(delete=False)....... |
52820 | 20 20 20 20 20 20 66 69 6c 65 6e 61 6d 65 20 3d 20 74 66 70 2e 6e 61 6d 65 0a 20 20 20 20 20 20 | ......filename.=.tfp.name....... |
52840 | 20 20 20 20 20 20 5f 75 72 6c 5f 74 65 6d 70 66 69 6c 65 73 2e 61 70 70 65 6e 64 28 66 69 6c 65 | ......_url_tempfiles.append(file |
52860 | 6e 61 6d 65 29 0a 0a 20 20 20 20 20 20 20 20 77 69 74 68 20 74 66 70 3a 0a 20 20 20 20 20 20 20 | name)..........with.tfp:........ |
52880 | 20 20 20 20 20 72 65 73 75 6c 74 20 3d 20 66 69 6c 65 6e 61 6d 65 2c 20 68 65 61 64 65 72 73 0a | .....result.=.filename,.headers. |
528a0 | 20 20 20 20 20 20 20 20 20 20 20 20 62 73 20 3d 20 31 30 32 34 2a 38 0a 20 20 20 20 20 20 20 20 | ............bs.=.1024*8......... |
528c0 | 20 20 20 20 73 69 7a 65 20 3d 20 2d 31 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 61 64 20 3d | ....size.=.-1.............read.= |
528e0 | 20 30 0a 20 20 20 20 20 20 20 20 20 20 20 20 62 6c 6f 63 6b 6e 75 6d 20 3d 20 30 0a 20 20 20 20 | .0.............blocknum.=.0..... |
52900 | 20 20 20 20 20 20 20 20 69 66 20 22 63 6f 6e 74 65 6e 74 2d 6c 65 6e 67 74 68 22 20 69 6e 20 68 | ........if."content-length".in.h |
52920 | 65 61 64 65 72 73 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 69 7a 65 20 3d 20 69 | eaders:.................size.=.i |
52940 | 6e 74 28 68 65 61 64 65 72 73 5b 22 43 6f 6e 74 65 6e 74 2d 4c 65 6e 67 74 68 22 5d 29 0a 0a 20 | nt(headers["Content-Length"])... |
52960 | 20 20 20 20 20 20 20 20 20 20 20 69 66 20 72 65 70 6f 72 74 68 6f 6f 6b 3a 0a 20 20 20 20 20 20 | ...........if.reporthook:....... |
52980 | 20 20 20 20 20 20 20 20 20 20 72 65 70 6f 72 74 68 6f 6f 6b 28 62 6c 6f 63 6b 6e 75 6d 2c 20 62 | ..........reporthook(blocknum,.b |
529a0 | 73 2c 20 73 69 7a 65 29 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 54 72 75 65 | s,.size)..............while.True |
529c0 | 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 6c 6f 63 6b 20 3d 20 66 70 2e 72 65 61 | :.................block.=.fp.rea |
529e0 | 64 28 62 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 6e 6f 74 20 62 6c 6f | d(bs).................if.not.blo |
52a00 | 63 6b 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 0a 20 20 | ck:.....................break... |
52a20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 61 64 20 2b 3d 20 6c 65 6e 28 62 6c 6f 63 6b 29 | ..............read.+=.len(block) |
52a40 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 66 70 2e 77 72 69 74 65 28 62 6c 6f 63 6b | .................tfp.write(block |
52a60 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 6c 6f 63 6b 6e 75 6d 20 2b 3d 20 31 0a | ).................blocknum.+=.1. |
52a80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 72 65 70 6f 72 74 68 6f 6f 6b 3a 0a 20 | ................if.reporthook:.. |
52aa0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 70 6f 72 74 68 6f 6f 6b 28 62 6c | ...................reporthook(bl |
52ac0 | 6f 63 6b 6e 75 6d 2c 20 62 73 2c 20 73 69 7a 65 29 0a 0a 20 20 20 20 69 66 20 73 69 7a 65 20 3e | ocknum,.bs,.size)......if.size.> |
52ae0 | 3d 20 30 20 61 6e 64 20 72 65 61 64 20 3c 20 73 69 7a 65 3a 0a 20 20 20 20 20 20 20 20 72 61 69 | =.0.and.read.<.size:.........rai |
52b00 | 73 65 20 43 6f 6e 74 65 6e 74 54 6f 6f 53 68 6f 72 74 45 72 72 6f 72 28 0a 20 20 20 20 20 20 20 | se.ContentTooShortError(........ |
52b20 | 20 20 20 20 20 22 72 65 74 72 69 65 76 61 6c 20 69 6e 63 6f 6d 70 6c 65 74 65 3a 20 67 6f 74 20 | ....."retrieval.incomplete:.got. |
52b40 | 6f 6e 6c 79 20 25 69 20 6f 75 74 20 6f 66 20 25 69 20 62 79 74 65 73 22 0a 20 20 20 20 20 20 20 | only.%i.out.of.%i.bytes"........ |
52b60 | 20 20 20 20 20 25 20 28 72 65 61 64 2c 20 73 69 7a 65 29 2c 20 72 65 73 75 6c 74 29 0a 0a 20 20 | .....%.(read,.size),.result).... |
52b80 | 20 20 72 65 74 75 72 6e 20 72 65 73 75 6c 74 0a 0a 64 65 66 20 75 72 6c 63 6c 65 61 6e 75 70 28 | ..return.result..def.urlcleanup( |
52ba0 | 29 3a 0a 20 20 20 20 22 22 22 43 6c 65 61 6e 20 75 70 20 74 65 6d 70 6f 72 61 72 79 20 66 69 6c | ):....."""Clean.up.temporary.fil |
52bc0 | 65 73 20 66 72 6f 6d 20 75 72 6c 72 65 74 72 69 65 76 65 20 63 61 6c 6c 73 2e 22 22 22 0a 20 20 | es.from.urlretrieve.calls."""... |
52be0 | 20 20 66 6f 72 20 74 65 6d 70 5f 66 69 6c 65 20 69 6e 20 5f 75 72 6c 5f 74 65 6d 70 66 69 6c 65 | ..for.temp_file.in._url_tempfile |
52c00 | 73 3a 0a 20 20 20 20 20 20 20 20 74 72 79 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 6f 73 2e 75 | s:.........try:.............os.u |
52c20 | 6e 6c 69 6e 6b 28 74 65 6d 70 5f 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 65 78 63 65 70 74 20 | nlink(temp_file).........except. |
52c40 | 4f 53 45 72 72 6f 72 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 61 73 73 0a 0a 20 20 20 20 64 | OSError:.............pass......d |
52c60 | 65 6c 20 5f 75 72 6c 5f 74 65 6d 70 66 69 6c 65 73 5b 3a 5d 0a 20 20 20 20 67 6c 6f 62 61 6c 20 | el._url_tempfiles[:].....global. |
52c80 | 5f 6f 70 65 6e 65 72 0a 20 20 20 20 69 66 20 5f 6f 70 65 6e 65 72 3a 0a 20 20 20 20 20 20 20 20 | _opener.....if._opener:......... |
52ca0 | 5f 6f 70 65 6e 65 72 20 3d 20 4e 6f 6e 65 0a 0a 23 20 63 6f 70 69 65 64 20 66 72 6f 6d 20 63 6f | _opener.=.None..#.copied.from.co |
52cc0 | 6f 6b 69 65 6c 69 62 2e 70 79 0a 5f 63 75 74 5f 70 6f 72 74 5f 72 65 20 3d 20 72 65 2e 63 6f 6d | okielib.py._cut_port_re.=.re.com |
52ce0 | 70 69 6c 65 28 72 22 3a 5c 64 2b 24 22 2c 20 72 65 2e 41 53 43 49 49 29 0a 64 65 66 20 72 65 71 | pile(r":\d+$",.re.ASCII).def.req |
52d00 | 75 65 73 74 5f 68 6f 73 74 28 72 65 71 75 65 73 74 29 3a 0a 20 20 20 20 22 22 22 52 65 74 75 72 | uest_host(request):....."""Retur |
52d20 | 6e 20 72 65 71 75 65 73 74 2d 68 6f 73 74 2c 20 61 73 20 64 65 66 69 6e 65 64 20 62 79 20 52 46 | n.request-host,.as.defined.by.RF |
52d40 | 43 20 32 39 36 35 2e 0a 0a 20 20 20 20 56 61 72 69 61 74 69 6f 6e 20 66 72 6f 6d 20 52 46 43 3a | C.2965.......Variation.from.RFC: |
52d60 | 20 72 65 74 75 72 6e 65 64 20 76 61 6c 75 65 20 69 73 20 6c 6f 77 65 72 63 61 73 65 64 2c 20 66 | .returned.value.is.lowercased,.f |
52d80 | 6f 72 20 63 6f 6e 76 65 6e 69 65 6e 74 0a 20 20 20 20 63 6f 6d 70 61 72 69 73 6f 6e 2e 0a 0a 20 | or.convenient.....comparison.... |
52da0 | 20 20 20 22 22 22 0a 20 20 20 20 75 72 6c 20 3d 20 72 65 71 75 65 73 74 2e 66 75 6c 6c 5f 75 72 | ...""".....url.=.request.full_ur |
52dc0 | 6c 0a 20 20 20 20 68 6f 73 74 20 3d 20 75 72 6c 70 61 72 73 65 28 75 72 6c 29 5b 31 5d 0a 20 20 | l.....host.=.urlparse(url)[1]... |
52de0 | 20 20 69 66 20 68 6f 73 74 20 3d 3d 20 22 22 3a 0a 20 20 20 20 20 20 20 20 68 6f 73 74 20 3d 20 | ..if.host.==."":.........host.=. |
52e00 | 72 65 71 75 65 73 74 2e 67 65 74 5f 68 65 61 64 65 72 28 22 48 6f 73 74 22 2c 20 22 22 29 0a 0a | request.get_header("Host",."").. |
52e20 | 20 20 20 20 23 20 72 65 6d 6f 76 65 20 70 6f 72 74 2c 20 69 66 20 70 72 65 73 65 6e 74 0a 20 20 | ....#.remove.port,.if.present... |
52e40 | 20 20 68 6f 73 74 20 3d 20 5f 63 75 74 5f 70 6f 72 74 5f 72 65 2e 73 75 62 28 22 22 2c 20 68 6f | ..host.=._cut_port_re.sub("",.ho |
52e60 | 73 74 2c 20 31 29 0a 20 20 20 20 72 65 74 75 72 6e 20 68 6f 73 74 2e 6c 6f 77 65 72 28 29 0a 0a | st,.1).....return.host.lower().. |
52e80 | 63 6c 61 73 73 20 52 65 71 75 65 73 74 3a 0a 0a 20 20 20 20 64 65 66 20 5f 5f 69 6e 69 74 5f 5f | class.Request:......def.__init__ |
52ea0 | 28 73 65 6c 66 2c 20 75 72 6c 2c 20 64 61 74 61 3d 4e 6f 6e 65 2c 20 68 65 61 64 65 72 73 3d 7b | (self,.url,.data=None,.headers={ |
52ec0 | 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 72 69 67 69 6e 5f 72 65 71 5f 68 | },..................origin_req_h |
52ee0 | 6f 73 74 3d 4e 6f 6e 65 2c 20 75 6e 76 65 72 69 66 69 61 62 6c 65 3d 46 61 6c 73 65 2c 0a 20 20 | ost=None,.unverifiable=False,... |
52f00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 65 74 68 6f 64 3d 4e 6f 6e 65 29 3a 0a 20 20 20 | ...............method=None):.... |
52f20 | 20 20 20 20 20 73 65 6c 66 2e 66 75 6c 6c 5f 75 72 6c 20 3d 20 75 72 6c 0a 20 20 20 20 20 20 20 | .....self.full_url.=.url........ |
52f40 | 20 73 65 6c 66 2e 68 65 61 64 65 72 73 20 3d 20 7b 7d 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e | .self.headers.=.{}.........self. |
52f60 | 75 6e 72 65 64 69 72 65 63 74 65 64 5f 68 64 72 73 20 3d 20 7b 7d 0a 20 20 20 20 20 20 20 20 73 | unredirected_hdrs.=.{}.........s |
52f80 | 65 6c 66 2e 5f 64 61 74 61 20 3d 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 64 61 | elf._data.=.None.........self.da |
52fa0 | 74 61 20 3d 20 64 61 74 61 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 74 75 6e 6e 65 6c 5f 68 | ta.=.data.........self._tunnel_h |
52fc0 | 6f 73 74 20 3d 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 66 6f 72 20 6b 65 79 2c 20 76 61 6c 75 | ost.=.None.........for.key,.valu |
52fe0 | 65 20 69 6e 20 68 65 61 64 65 72 73 2e 69 74 65 6d 73 28 29 3a 0a 20 20 20 20 20 20 20 20 20 20 | e.in.headers.items():........... |
53000 | 20 20 73 65 6c 66 2e 61 64 64 5f 68 65 61 64 65 72 28 6b 65 79 2c 20 76 61 6c 75 65 29 0a 20 20 | ..self.add_header(key,.value)... |
53020 | 20 20 20 20 20 20 69 66 20 6f 72 69 67 69 6e 5f 72 65 71 5f 68 6f 73 74 20 69 73 20 4e 6f 6e 65 | ......if.origin_req_host.is.None |
53040 | 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 6f 72 69 67 69 6e 5f 72 65 71 5f 68 6f 73 74 20 3d 20 | :.............origin_req_host.=. |
53060 | 72 65 71 75 65 73 74 5f 68 6f 73 74 28 73 65 6c 66 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e | request_host(self).........self. |
53080 | 6f 72 69 67 69 6e 5f 72 65 71 5f 68 6f 73 74 20 3d 20 6f 72 69 67 69 6e 5f 72 65 71 5f 68 6f 73 | origin_req_host.=.origin_req_hos |
530a0 | 74 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 75 6e 76 65 72 69 66 69 61 62 6c 65 20 3d 20 75 6e | t.........self.unverifiable.=.un |
530c0 | 76 65 72 69 66 69 61 62 6c 65 0a 20 20 20 20 20 20 20 20 69 66 20 6d 65 74 68 6f 64 3a 0a 20 20 | verifiable.........if.method:... |
530e0 | 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 6d 65 74 68 6f 64 20 3d 20 6d 65 74 68 6f 64 0a 0a | ..........self.method.=.method.. |
53100 | 20 20 20 20 40 70 72 6f 70 65 72 74 79 0a 20 20 20 20 64 65 66 20 66 75 6c 6c 5f 75 72 6c 28 73 | ....@property.....def.full_url(s |
53120 | 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 69 66 20 73 65 6c 66 2e 66 72 61 67 6d 65 6e 74 3a 0a | elf):.........if.self.fragment:. |
53140 | 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 27 7b 7d 23 7b 7d 27 2e 66 6f 72 6d 61 | ............return.'{}#{}'.forma |
53160 | 74 28 73 65 6c 66 2e 5f 66 75 6c 6c 5f 75 72 6c 2c 20 73 65 6c 66 2e 66 72 61 67 6d 65 6e 74 29 | t(self._full_url,.self.fragment) |
53180 | 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 2e 5f 66 75 6c 6c 5f 75 72 6c 0a 0a | .........return.self._full_url.. |
531a0 | 20 20 20 20 40 66 75 6c 6c 5f 75 72 6c 2e 73 65 74 74 65 72 0a 20 20 20 20 64 65 66 20 66 75 6c | ....@full_url.setter.....def.ful |
531c0 | 6c 5f 75 72 6c 28 73 65 6c 66 2c 20 75 72 6c 29 3a 0a 20 20 20 20 20 20 20 20 23 20 75 6e 77 72 | l_url(self,.url):.........#.unwr |
531e0 | 61 70 28 27 3c 55 52 4c 3a 74 79 70 65 3a 2f 2f 68 6f 73 74 2f 70 61 74 68 3e 27 29 20 2d 2d 3e | ap('<URL:type://host/path>').--> |
53200 | 20 27 74 79 70 65 3a 2f 2f 68 6f 73 74 2f 70 61 74 68 27 0a 20 20 20 20 20 20 20 20 73 65 6c 66 | .'type://host/path'.........self |
53220 | 2e 5f 66 75 6c 6c 5f 75 72 6c 20 3d 20 75 6e 77 72 61 70 28 75 72 6c 29 0a 20 20 20 20 20 20 20 | ._full_url.=.unwrap(url)........ |
53240 | 20 73 65 6c 66 2e 5f 66 75 6c 6c 5f 75 72 6c 2c 20 73 65 6c 66 2e 66 72 61 67 6d 65 6e 74 20 3d | .self._full_url,.self.fragment.= |
53260 | 20 73 70 6c 69 74 74 61 67 28 73 65 6c 66 2e 5f 66 75 6c 6c 5f 75 72 6c 29 0a 20 20 20 20 20 20 | .splittag(self._full_url)....... |
53280 | 20 20 73 65 6c 66 2e 5f 70 61 72 73 65 28 29 0a 0a 20 20 20 20 40 66 75 6c 6c 5f 75 72 6c 2e 64 | ..self._parse()......@full_url.d |
532a0 | 65 6c 65 74 65 72 0a 20 20 20 20 64 65 66 20 66 75 6c 6c 5f 75 72 6c 28 73 65 6c 66 29 3a 0a 20 | eleter.....def.full_url(self):.. |
532c0 | 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 66 75 6c 6c 5f 75 72 6c 20 3d 20 4e 6f 6e 65 0a 20 20 20 | .......self._full_url.=.None.... |
532e0 | 20 20 20 20 20 73 65 6c 66 2e 66 72 61 67 6d 65 6e 74 20 3d 20 4e 6f 6e 65 0a 20 20 20 20 20 20 | .....self.fragment.=.None....... |
53300 | 20 20 73 65 6c 66 2e 73 65 6c 65 63 74 6f 72 20 3d 20 27 27 0a 0a 20 20 20 20 40 70 72 6f 70 65 | ..self.selector.=.''......@prope |
53320 | 72 74 79 0a 20 20 20 20 64 65 66 20 64 61 74 61 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 | rty.....def.data(self):......... |
53340 | 72 65 74 75 72 6e 20 73 65 6c 66 2e 5f 64 61 74 61 0a 0a 20 20 20 20 40 64 61 74 61 2e 73 65 74 | return.self._data......@data.set |
53360 | 74 65 72 0a 20 20 20 20 64 65 66 20 64 61 74 61 28 73 65 6c 66 2c 20 64 61 74 61 29 3a 0a 20 20 | ter.....def.data(self,.data):... |
53380 | 20 20 20 20 20 20 69 66 20 64 61 74 61 20 21 3d 20 73 65 6c 66 2e 5f 64 61 74 61 3a 0a 20 20 20 | ......if.data.!=.self._data:.... |
533a0 | 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 64 61 74 61 20 3d 20 64 61 74 61 0a 20 20 20 20 20 | .........self._data.=.data...... |
533c0 | 20 20 20 20 20 20 20 23 20 69 73 73 75 65 20 31 36 34 36 34 0a 20 20 20 20 20 20 20 20 20 20 20 | .......#.issue.16464............ |
533e0 | 20 23 20 69 66 20 77 65 20 63 68 61 6e 67 65 20 64 61 74 61 20 77 65 20 6e 65 65 64 20 74 6f 20 | .#.if.we.change.data.we.need.to. |
53400 | 72 65 6d 6f 76 65 20 63 6f 6e 74 65 6e 74 2d 6c 65 6e 67 74 68 20 68 65 61 64 65 72 0a 20 20 20 | remove.content-length.header.... |
53420 | 20 20 20 20 20 20 20 20 20 23 20 28 63 61 75 73 65 20 69 74 27 73 20 6d 6f 73 74 20 70 72 6f 62 | .........#.(cause.it's.most.prob |
53440 | 61 62 6c 79 20 63 61 6c 63 75 6c 61 74 65 64 20 66 6f 72 20 70 72 65 76 69 6f 75 73 20 76 61 6c | ably.calculated.for.previous.val |
53460 | 75 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 73 65 6c 66 2e 68 61 73 5f 68 65 61 64 | ue).............if.self.has_head |
53480 | 65 72 28 22 43 6f 6e 74 65 6e 74 2d 6c 65 6e 67 74 68 22 29 3a 0a 20 20 20 20 20 20 20 20 20 20 | er("Content-length"):........... |
534a0 | 20 20 20 20 20 20 73 65 6c 66 2e 72 65 6d 6f 76 65 5f 68 65 61 64 65 72 28 22 43 6f 6e 74 65 6e | ......self.remove_header("Conten |
534c0 | 74 2d 6c 65 6e 67 74 68 22 29 0a 0a 20 20 20 20 40 64 61 74 61 2e 64 65 6c 65 74 65 72 0a 20 20 | t-length")......@data.deleter... |
534e0 | 20 20 64 65 66 20 64 61 74 61 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 64 | ..def.data(self):.........self.d |
53500 | 61 74 61 20 3d 20 4e 6f 6e 65 0a 0a 20 20 20 20 64 65 66 20 5f 70 61 72 73 65 28 73 65 6c 66 29 | ata.=.None......def._parse(self) |
53520 | 3a 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 74 79 70 65 2c 20 72 65 73 74 20 3d 20 73 70 6c 69 | :.........self.type,.rest.=.spli |
53540 | 74 74 79 70 65 28 73 65 6c 66 2e 5f 66 75 6c 6c 5f 75 72 6c 29 0a 20 20 20 20 20 20 20 20 69 66 | ttype(self._full_url).........if |
53560 | 20 73 65 6c 66 2e 74 79 70 65 20 69 73 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 | .self.type.is.None:............. |
53580 | 72 61 69 73 65 20 56 61 6c 75 65 45 72 72 6f 72 28 22 75 6e 6b 6e 6f 77 6e 20 75 72 6c 20 74 79 | raise.ValueError("unknown.url.ty |
535a0 | 70 65 3a 20 25 72 22 20 25 20 73 65 6c 66 2e 66 75 6c 6c 5f 75 72 6c 29 0a 20 20 20 20 20 20 20 | pe:.%r".%.self.full_url)........ |
535c0 | 20 73 65 6c 66 2e 68 6f 73 74 2c 20 73 65 6c 66 2e 73 65 6c 65 63 74 6f 72 20 3d 20 73 70 6c 69 | .self.host,.self.selector.=.spli |
535e0 | 74 68 6f 73 74 28 72 65 73 74 29 0a 20 20 20 20 20 20 20 20 69 66 20 73 65 6c 66 2e 68 6f 73 74 | thost(rest).........if.self.host |
53600 | 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 68 6f 73 74 20 3d 20 75 6e 71 75 6f 74 | :.............self.host.=.unquot |
53620 | 65 28 73 65 6c 66 2e 68 6f 73 74 29 0a 0a 20 20 20 20 64 65 66 20 67 65 74 5f 6d 65 74 68 6f 64 | e(self.host)......def.get_method |
53640 | 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 22 22 22 52 65 74 75 72 6e 20 61 20 73 74 72 69 | (self):........."""Return.a.stri |
53660 | 6e 67 20 69 6e 64 69 63 61 74 69 6e 67 20 74 68 65 20 48 54 54 50 20 72 65 71 75 65 73 74 20 6d | ng.indicating.the.HTTP.request.m |
53680 | 65 74 68 6f 64 2e 22 22 22 0a 20 20 20 20 20 20 20 20 64 65 66 61 75 6c 74 5f 6d 65 74 68 6f 64 | ethod.""".........default_method |
536a0 | 20 3d 20 22 50 4f 53 54 22 20 69 66 20 73 65 6c 66 2e 64 61 74 61 20 69 73 20 6e 6f 74 20 4e 6f | .=."POST".if.self.data.is.not.No |
536c0 | 6e 65 20 65 6c 73 65 20 22 47 45 54 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 67 65 74 | ne.else."GET".........return.get |
536e0 | 61 74 74 72 28 73 65 6c 66 2c 20 27 6d 65 74 68 6f 64 27 2c 20 64 65 66 61 75 6c 74 5f 6d 65 74 | attr(self,.'method',.default_met |
53700 | 68 6f 64 29 0a 0a 20 20 20 20 64 65 66 20 67 65 74 5f 66 75 6c 6c 5f 75 72 6c 28 73 65 6c 66 29 | hod)......def.get_full_url(self) |
53720 | 3a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 2e 66 75 6c 6c 5f 75 72 6c 0a 0a | :.........return.self.full_url.. |
53740 | 20 20 20 20 64 65 66 20 73 65 74 5f 70 72 6f 78 79 28 73 65 6c 66 2c 20 68 6f 73 74 2c 20 74 79 | ....def.set_proxy(self,.host,.ty |
53760 | 70 65 29 3a 0a 20 20 20 20 20 20 20 20 69 66 20 73 65 6c 66 2e 74 79 70 65 20 3d 3d 20 27 68 74 | pe):.........if.self.type.==.'ht |
53780 | 74 70 73 27 20 61 6e 64 20 6e 6f 74 20 73 65 6c 66 2e 5f 74 75 6e 6e 65 6c 5f 68 6f 73 74 3a 0a | tps'.and.not.self._tunnel_host:. |
537a0 | 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 74 75 6e 6e 65 6c 5f 68 6f 73 74 20 3d 20 | ............self._tunnel_host.=. |
537c0 | 73 65 6c 66 2e 68 6f 73 74 0a 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 | self.host.........else:......... |
537e0 | 20 20 20 20 73 65 6c 66 2e 74 79 70 65 3d 20 74 79 70 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ....self.type=.type............. |
53800 | 73 65 6c 66 2e 73 65 6c 65 63 74 6f 72 20 3d 20 73 65 6c 66 2e 66 75 6c 6c 5f 75 72 6c 0a 20 20 | self.selector.=.self.full_url... |
53820 | 20 20 20 20 20 20 73 65 6c 66 2e 68 6f 73 74 20 3d 20 68 6f 73 74 0a 0a 20 20 20 20 64 65 66 20 | ......self.host.=.host......def. |
53840 | 68 61 73 5f 70 72 6f 78 79 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 | has_proxy(self):.........return. |
53860 | 73 65 6c 66 2e 73 65 6c 65 63 74 6f 72 20 3d 3d 20 73 65 6c 66 2e 66 75 6c 6c 5f 75 72 6c 0a 0a | self.selector.==.self.full_url.. |
53880 | 20 20 20 20 64 65 66 20 61 64 64 5f 68 65 61 64 65 72 28 73 65 6c 66 2c 20 6b 65 79 2c 20 76 61 | ....def.add_header(self,.key,.va |
538a0 | 6c 29 3a 0a 20 20 20 20 20 20 20 20 23 20 75 73 65 66 75 6c 20 66 6f 72 20 73 6f 6d 65 74 68 69 | l):.........#.useful.for.somethi |
538c0 | 6e 67 20 6c 69 6b 65 20 61 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 73 | ng.like.authentication.........s |
538e0 | 65 6c 66 2e 68 65 61 64 65 72 73 5b 6b 65 79 2e 63 61 70 69 74 61 6c 69 7a 65 28 29 5d 20 3d 20 | elf.headers[key.capitalize()].=. |
53900 | 76 61 6c 0a 0a 20 20 20 20 64 65 66 20 61 64 64 5f 75 6e 72 65 64 69 72 65 63 74 65 64 5f 68 65 | val......def.add_unredirected_he |
53920 | 61 64 65 72 28 73 65 6c 66 2c 20 6b 65 79 2c 20 76 61 6c 29 3a 0a 20 20 20 20 20 20 20 20 23 20 | ader(self,.key,.val):.........#. |
53940 | 77 69 6c 6c 20 6e 6f 74 20 62 65 20 61 64 64 65 64 20 74 6f 20 61 20 72 65 64 69 72 65 63 74 65 | will.not.be.added.to.a.redirecte |
53960 | 64 20 72 65 71 75 65 73 74 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 75 6e 72 65 64 69 72 65 63 | d.request.........self.unredirec |
53980 | 74 65 64 5f 68 64 72 73 5b 6b 65 79 2e 63 61 70 69 74 61 6c 69 7a 65 28 29 5d 20 3d 20 76 61 6c | ted_hdrs[key.capitalize()].=.val |
539a0 | 0a 0a 20 20 20 20 64 65 66 20 68 61 73 5f 68 65 61 64 65 72 28 73 65 6c 66 2c 20 68 65 61 64 65 | ......def.has_header(self,.heade |
539c0 | 72 5f 6e 61 6d 65 29 3a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 28 68 65 61 64 65 72 5f | r_name):.........return.(header_ |
539e0 | 6e 61 6d 65 20 69 6e 20 73 65 6c 66 2e 68 65 61 64 65 72 73 20 6f 72 0a 20 20 20 20 20 20 20 20 | name.in.self.headers.or......... |
53a00 | 20 20 20 20 20 20 20 20 68 65 61 64 65 72 5f 6e 61 6d 65 20 69 6e 20 73 65 6c 66 2e 75 6e 72 65 | ........header_name.in.self.unre |
53a20 | 64 69 72 65 63 74 65 64 5f 68 64 72 73 29 0a 0a 20 20 20 20 64 65 66 20 67 65 74 5f 68 65 61 64 | directed_hdrs)......def.get_head |
53a40 | 65 72 28 73 65 6c 66 2c 20 68 65 61 64 65 72 5f 6e 61 6d 65 2c 20 64 65 66 61 75 6c 74 3d 4e 6f | er(self,.header_name,.default=No |
53a60 | 6e 65 29 3a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 2e 68 65 61 64 65 72 73 | ne):.........return.self.headers |
53a80 | 2e 67 65 74 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 68 65 61 64 65 72 5f 6e 61 6d 65 2c 0a 20 | .get(.............header_name,.. |
53aa0 | 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 75 6e 72 65 64 69 72 65 63 74 65 64 5f 68 64 72 | ...........self.unredirected_hdr |
53ac0 | 73 2e 67 65 74 28 68 65 61 64 65 72 5f 6e 61 6d 65 2c 20 64 65 66 61 75 6c 74 29 29 0a 0a 20 20 | s.get(header_name,.default)).... |
53ae0 | 20 20 64 65 66 20 72 65 6d 6f 76 65 5f 68 65 61 64 65 72 28 73 65 6c 66 2c 20 68 65 61 64 65 72 | ..def.remove_header(self,.header |
53b00 | 5f 6e 61 6d 65 29 3a 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 68 65 61 64 65 72 73 2e 70 6f 70 | _name):.........self.headers.pop |
53b20 | 28 68 65 61 64 65 72 5f 6e 61 6d 65 2c 20 4e 6f 6e 65 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 | (header_name,.None).........self |
53b40 | 2e 75 6e 72 65 64 69 72 65 63 74 65 64 5f 68 64 72 73 2e 70 6f 70 28 68 65 61 64 65 72 5f 6e 61 | .unredirected_hdrs.pop(header_na |
53b60 | 6d 65 2c 20 4e 6f 6e 65 29 0a 0a 20 20 20 20 64 65 66 20 68 65 61 64 65 72 5f 69 74 65 6d 73 28 | me,.None)......def.header_items( |
53b80 | 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 68 64 72 73 20 3d 20 73 65 6c 66 2e 75 6e 72 65 64 | self):.........hdrs.=.self.unred |
53ba0 | 69 72 65 63 74 65 64 5f 68 64 72 73 2e 63 6f 70 79 28 29 0a 20 20 20 20 20 20 20 20 68 64 72 73 | irected_hdrs.copy().........hdrs |
53bc0 | 2e 75 70 64 61 74 65 28 73 65 6c 66 2e 68 65 61 64 65 72 73 29 0a 20 20 20 20 20 20 20 20 72 65 | .update(self.headers).........re |
53be0 | 74 75 72 6e 20 6c 69 73 74 28 68 64 72 73 2e 69 74 65 6d 73 28 29 29 0a 0a 63 6c 61 73 73 20 4f | turn.list(hdrs.items())..class.O |
53c00 | 70 65 6e 65 72 44 69 72 65 63 74 6f 72 3a 0a 20 20 20 20 64 65 66 20 5f 5f 69 6e 69 74 5f 5f 28 | penerDirector:.....def.__init__( |
53c20 | 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 63 6c 69 65 6e 74 5f 76 65 72 73 69 6f 6e 20 3d 20 | self):.........client_version.=. |
53c40 | 22 50 79 74 68 6f 6e 2d 75 72 6c 6c 69 62 2f 25 73 22 20 25 20 5f 5f 76 65 72 73 69 6f 6e 5f 5f | "Python-urllib/%s".%.__version__ |
53c60 | 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 64 64 68 65 61 64 65 72 73 20 3d 20 5b 28 27 55 73 | .........self.addheaders.=.[('Us |
53c80 | 65 72 2d 61 67 65 6e 74 27 2c 20 63 6c 69 65 6e 74 5f 76 65 72 73 69 6f 6e 29 5d 0a 20 20 20 20 | er-agent',.client_version)]..... |
53ca0 | 20 20 20 20 23 20 73 65 6c 66 2e 68 61 6e 64 6c 65 72 73 20 69 73 20 72 65 74 61 69 6e 65 64 20 | ....#.self.handlers.is.retained. |
53cc0 | 6f 6e 6c 79 20 66 6f 72 20 62 61 63 6b 77 61 72 64 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 0a | only.for.backward.compatibility. |
53ce0 | 20 20 20 20 20 20 20 20 73 65 6c 66 2e 68 61 6e 64 6c 65 72 73 20 3d 20 5b 5d 0a 20 20 20 20 20 | ........self.handlers.=.[]...... |
53d00 | 20 20 20 23 20 6d 61 6e 61 67 65 20 74 68 65 20 69 6e 64 69 76 69 64 75 61 6c 20 68 61 6e 64 6c | ...#.manage.the.individual.handl |
53d20 | 65 72 73 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 68 61 6e 64 6c 65 5f 6f 70 65 6e 20 3d 20 7b | ers.........self.handle_open.=.{ |
53d40 | 7d 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 68 61 6e 64 6c 65 5f 65 72 72 6f 72 20 3d 20 7b 7d | }.........self.handle_error.=.{} |
53d60 | 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 70 72 6f 63 65 73 73 5f 72 65 73 70 6f 6e 73 65 20 3d | .........self.process_response.= |
53d80 | 20 7b 7d 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 70 72 6f 63 65 73 73 5f 72 65 71 75 65 73 74 | .{}.........self.process_request |
53da0 | 20 3d 20 7b 7d 0a 0a 20 20 20 20 64 65 66 20 61 64 64 5f 68 61 6e 64 6c 65 72 28 73 65 6c 66 2c | .=.{}......def.add_handler(self, |
53dc0 | 20 68 61 6e 64 6c 65 72 29 3a 0a 20 20 20 20 20 20 20 20 69 66 20 6e 6f 74 20 68 61 73 61 74 74 | .handler):.........if.not.hasatt |
53de0 | 72 28 68 61 6e 64 6c 65 72 2c 20 22 61 64 64 5f 70 61 72 65 6e 74 22 29 3a 0a 20 20 20 20 20 20 | r(handler,."add_parent"):....... |
53e00 | 20 20 20 20 20 20 72 61 69 73 65 20 54 79 70 65 45 72 72 6f 72 28 22 65 78 70 65 63 74 65 64 20 | ......raise.TypeError("expected. |
53e20 | 42 61 73 65 48 61 6e 64 6c 65 72 20 69 6e 73 74 61 6e 63 65 2c 20 67 6f 74 20 25 72 22 20 25 0a | BaseHandler.instance,.got.%r".%. |
53e40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 79 70 65 | ............................type |
53e60 | 28 68 61 6e 64 6c 65 72 29 29 0a 0a 20 20 20 20 20 20 20 20 61 64 64 65 64 20 3d 20 46 61 6c 73 | (handler))..........added.=.Fals |
53e80 | 65 0a 20 20 20 20 20 20 20 20 66 6f 72 20 6d 65 74 68 20 69 6e 20 64 69 72 28 68 61 6e 64 6c 65 | e.........for.meth.in.dir(handle |
53ea0 | 72 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 6d 65 74 68 20 69 6e 20 5b 22 72 65 64 | r):.............if.meth.in.["red |
53ec0 | 69 72 65 63 74 5f 72 65 71 75 65 73 74 22 2c 20 22 64 6f 5f 6f 70 65 6e 22 2c 20 22 70 72 6f 78 | irect_request",."do_open",."prox |
53ee0 | 79 5f 6f 70 65 6e 22 5d 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 20 6f 6f 70 73 | y_open"]:.................#.oops |
53f00 | 2c 20 63 6f 69 6e 63 69 64 65 6e 74 61 6c 20 6d 61 74 63 68 0a 20 20 20 20 20 20 20 20 20 20 20 | ,.coincidental.match............ |
53f20 | 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 20 3d 20 6d | .....continue..............i.=.m |
53f40 | 65 74 68 2e 66 69 6e 64 28 22 5f 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 72 6f 74 6f 63 | eth.find("_").............protoc |
53f60 | 6f 6c 20 3d 20 6d 65 74 68 5b 3a 69 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 64 69 74 | ol.=.meth[:i].............condit |
53f80 | 69 6f 6e 20 3d 20 6d 65 74 68 5b 69 2b 31 3a 5d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 | ion.=.meth[i+1:]..............if |
53fa0 | 20 63 6f 6e 64 69 74 69 6f 6e 2e 73 74 61 72 74 73 77 69 74 68 28 22 65 72 72 6f 72 22 29 3a 0a | .condition.startswith("error"):. |
53fc0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6a 20 3d 20 63 6f 6e 64 69 74 69 6f 6e 2e 66 69 | ................j.=.condition.fi |
53fe0 | 6e 64 28 22 5f 22 29 20 2b 20 69 20 2b 20 31 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | nd("_").+.i.+.1................. |
54000 | 6b 69 6e 64 20 3d 20 6d 65 74 68 5b 6a 2b 31 3a 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | kind.=.meth[j+1:]............... |
54020 | 20 20 74 72 79 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6b 69 6e 64 20 | ..try:.....................kind. |
54040 | 3d 20 69 6e 74 28 6b 69 6e 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 78 63 65 | =.int(kind).................exce |
54060 | 70 74 20 56 61 6c 75 65 45 72 72 6f 72 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | pt.ValueError:.................. |
54080 | 20 20 20 70 61 73 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 6f 6f 6b 75 70 20 3d | ...pass.................lookup.= |
540a0 | 20 73 65 6c 66 2e 68 61 6e 64 6c 65 5f 65 72 72 6f 72 2e 67 65 74 28 70 72 6f 74 6f 63 6f 6c 2c | .self.handle_error.get(protocol, |
540c0 | 20 7b 7d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 68 61 6e 64 6c 65 | .{}).................self.handle |
540e0 | 5f 65 72 72 6f 72 5b 70 72 6f 74 6f 63 6f 6c 5d 20 3d 20 6c 6f 6f 6b 75 70 0a 20 20 20 20 20 20 | _error[protocol].=.lookup....... |
54100 | 20 20 20 20 20 20 65 6c 69 66 20 63 6f 6e 64 69 74 69 6f 6e 20 3d 3d 20 22 6f 70 65 6e 22 3a 0a | ......elif.condition.==."open":. |
54120 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6b 69 6e 64 20 3d 20 70 72 6f 74 6f 63 6f 6c 0a | ................kind.=.protocol. |
54140 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 6f 6f 6b 75 70 20 3d 20 73 65 6c 66 2e 68 61 | ................lookup.=.self.ha |
54160 | 6e 64 6c 65 5f 6f 70 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 69 66 20 63 6f 6e 64 69 | ndle_open.............elif.condi |
54180 | 74 69 6f 6e 20 3d 3d 20 22 72 65 73 70 6f 6e 73 65 22 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 | tion.==."response":............. |
541a0 | 20 20 20 20 6b 69 6e 64 20 3d 20 70 72 6f 74 6f 63 6f 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ....kind.=.protocol............. |
541c0 | 20 20 20 20 6c 6f 6f 6b 75 70 20 3d 20 73 65 6c 66 2e 70 72 6f 63 65 73 73 5f 72 65 73 70 6f 6e | ....lookup.=.self.process_respon |
541e0 | 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 69 66 20 63 6f 6e 64 69 74 69 6f 6e 20 3d 3d | se.............elif.condition.== |
54200 | 20 22 72 65 71 75 65 73 74 22 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6b 69 6e 64 | ."request":.................kind |
54220 | 20 3d 20 70 72 6f 74 6f 63 6f 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 6f 6f 6b | .=.protocol.................look |
54240 | 75 70 20 3d 20 73 65 6c 66 2e 70 72 6f 63 65 73 73 5f 72 65 71 75 65 73 74 0a 20 20 20 20 20 20 | up.=.self.process_request....... |
54260 | 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 | ......else:.................cont |
54280 | 69 6e 75 65 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 68 61 6e 64 6c 65 72 73 20 3d 20 6c 6f 6f | inue..............handlers.=.loo |
542a0 | 6b 75 70 2e 73 65 74 64 65 66 61 75 6c 74 28 6b 69 6e 64 2c 20 5b 5d 29 0a 20 20 20 20 20 20 20 | kup.setdefault(kind,.[])........ |
542c0 | 20 20 20 20 20 69 66 20 68 61 6e 64 6c 65 72 73 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .....if.handlers:............... |
542e0 | 20 20 62 69 73 65 63 74 2e 69 6e 73 6f 72 74 28 68 61 6e 64 6c 65 72 73 2c 20 68 61 6e 64 6c 65 | ..bisect.insort(handlers,.handle |
54300 | 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 | r).............else:............ |
54320 | 20 20 20 20 20 68 61 6e 64 6c 65 72 73 2e 61 70 70 65 6e 64 28 68 61 6e 64 6c 65 72 29 0a 20 20 | .....handlers.append(handler)... |
54340 | 20 20 20 20 20 20 20 20 20 20 61 64 64 65 64 20 3d 20 54 72 75 65 0a 0a 20 20 20 20 20 20 20 20 | ..........added.=.True.......... |
54360 | 69 66 20 61 64 64 65 64 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 62 69 73 65 63 74 2e 69 6e 73 | if.added:.............bisect.ins |
54380 | 6f 72 74 28 73 65 6c 66 2e 68 61 6e 64 6c 65 72 73 2c 20 68 61 6e 64 6c 65 72 29 0a 20 20 20 20 | ort(self.handlers,.handler)..... |
543a0 | 20 20 20 20 20 20 20 20 68 61 6e 64 6c 65 72 2e 61 64 64 5f 70 61 72 65 6e 74 28 73 65 6c 66 29 | ........handler.add_parent(self) |
543c0 | 0a 0a 20 20 20 20 64 65 66 20 63 6c 6f 73 65 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 | ......def.close(self):.........# |
543e0 | 20 4f 6e 6c 79 20 65 78 69 73 74 73 20 66 6f 72 20 62 61 63 6b 77 61 72 64 73 20 63 6f 6d 70 61 | .Only.exists.for.backwards.compa |
54400 | 74 69 62 69 6c 69 74 79 2e 0a 20 20 20 20 20 20 20 20 70 61 73 73 0a 0a 20 20 20 20 64 65 66 20 | tibility..........pass......def. |
54420 | 5f 63 61 6c 6c 5f 63 68 61 69 6e 28 73 65 6c 66 2c 20 63 68 61 69 6e 2c 20 6b 69 6e 64 2c 20 6d | _call_chain(self,.chain,.kind,.m |
54440 | 65 74 68 5f 6e 61 6d 65 2c 20 2a 61 72 67 73 29 3a 0a 20 20 20 20 20 20 20 20 23 20 48 61 6e 64 | eth_name,.*args):.........#.Hand |
54460 | 6c 65 72 73 20 72 61 69 73 65 20 61 6e 20 65 78 63 65 70 74 69 6f 6e 20 69 66 20 6e 6f 20 6f 6e | lers.raise.an.exception.if.no.on |
54480 | 65 20 65 6c 73 65 20 73 68 6f 75 6c 64 20 74 72 79 20 74 6f 20 68 61 6e 64 6c 65 0a 20 20 20 20 | e.else.should.try.to.handle..... |
544a0 | 20 20 20 20 23 20 74 68 65 20 72 65 71 75 65 73 74 2c 20 6f 72 20 72 65 74 75 72 6e 20 4e 6f 6e | ....#.the.request,.or.return.Non |
544c0 | 65 20 69 66 20 74 68 65 79 20 63 61 6e 27 74 20 62 75 74 20 61 6e 6f 74 68 65 72 20 68 61 6e 64 | e.if.they.can't.but.another.hand |
544e0 | 6c 65 72 0a 20 20 20 20 20 20 20 20 23 20 63 6f 75 6c 64 2e 20 20 4f 74 68 65 72 77 69 73 65 2c | ler.........#.could...Otherwise, |
54500 | 20 74 68 65 79 20 72 65 74 75 72 6e 20 74 68 65 20 72 65 73 70 6f 6e 73 65 2e 0a 20 20 20 20 20 | .they.return.the.response....... |
54520 | 20 20 20 68 61 6e 64 6c 65 72 73 20 3d 20 63 68 61 69 6e 2e 67 65 74 28 6b 69 6e 64 2c 20 28 29 | ...handlers.=.chain.get(kind,.() |
54540 | 29 0a 20 20 20 20 20 20 20 20 66 6f 72 20 68 61 6e 64 6c 65 72 20 69 6e 20 68 61 6e 64 6c 65 72 | ).........for.handler.in.handler |
54560 | 73 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 75 6e 63 20 3d 20 67 65 74 61 74 74 72 28 68 61 | s:.............func.=.getattr(ha |
54580 | 6e 64 6c 65 72 2c 20 6d 65 74 68 5f 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 | ndler,.meth_name).............re |
545a0 | 73 75 6c 74 20 3d 20 66 75 6e 63 28 2a 61 72 67 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 | sult.=.func(*args).............i |
545c0 | 66 20 72 65 73 75 6c 74 20 69 73 20 6e 6f 74 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 | f.result.is.not.None:........... |
545e0 | 20 20 20 20 20 20 72 65 74 75 72 6e 20 72 65 73 75 6c 74 0a 0a 20 20 20 20 64 65 66 20 6f 70 65 | ......return.result......def.ope |
54600 | 6e 28 73 65 6c 66 2c 20 66 75 6c 6c 75 72 6c 2c 20 64 61 74 61 3d 4e 6f 6e 65 2c 20 74 69 6d 65 | n(self,.fullurl,.data=None,.time |
54620 | 6f 75 74 3d 73 6f 63 6b 65 74 2e 5f 47 4c 4f 42 41 4c 5f 44 45 46 41 55 4c 54 5f 54 49 4d 45 4f | out=socket._GLOBAL_DEFAULT_TIMEO |
54640 | 55 54 29 3a 0a 20 20 20 20 20 20 20 20 23 20 61 63 63 65 70 74 20 61 20 55 52 4c 20 6f 72 20 61 | UT):.........#.accept.a.URL.or.a |
54660 | 20 52 65 71 75 65 73 74 20 6f 62 6a 65 63 74 0a 20 20 20 20 20 20 20 20 69 66 20 69 73 69 6e 73 | .Request.object.........if.isins |
54680 | 74 61 6e 63 65 28 66 75 6c 6c 75 72 6c 2c 20 73 74 72 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 | tance(fullurl,.str):............ |
546a0 | 20 72 65 71 20 3d 20 52 65 71 75 65 73 74 28 66 75 6c 6c 75 72 6c 2c 20 64 61 74 61 29 0a 20 20 | .req.=.Request(fullurl,.data)... |
546c0 | 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 71 20 3d 20 66 75 | ......else:.............req.=.fu |
546e0 | 6c 6c 75 72 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 64 61 74 61 20 69 73 20 6e 6f 74 | llurl.............if.data.is.not |
54700 | 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 71 2e 64 61 74 61 20 | .None:.................req.data. |
54720 | 3d 20 64 61 74 61 0a 0a 20 20 20 20 20 20 20 20 72 65 71 2e 74 69 6d 65 6f 75 74 20 3d 20 74 69 | =.data..........req.timeout.=.ti |
54740 | 6d 65 6f 75 74 0a 20 20 20 20 20 20 20 20 70 72 6f 74 6f 63 6f 6c 20 3d 20 72 65 71 2e 74 79 70 | meout.........protocol.=.req.typ |
54760 | 65 0a 0a 20 20 20 20 20 20 20 20 23 20 70 72 65 2d 70 72 6f 63 65 73 73 20 72 65 71 75 65 73 74 | e..........#.pre-process.request |
54780 | 0a 20 20 20 20 20 20 20 20 6d 65 74 68 5f 6e 61 6d 65 20 3d 20 70 72 6f 74 6f 63 6f 6c 2b 22 5f | .........meth_name.=.protocol+"_ |
547a0 | 72 65 71 75 65 73 74 22 0a 20 20 20 20 20 20 20 20 66 6f 72 20 70 72 6f 63 65 73 73 6f 72 20 69 | request".........for.processor.i |
547c0 | 6e 20 73 65 6c 66 2e 70 72 6f 63 65 73 73 5f 72 65 71 75 65 73 74 2e 67 65 74 28 70 72 6f 74 6f | n.self.process_request.get(proto |
547e0 | 63 6f 6c 2c 20 5b 5d 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 6d 65 74 68 20 3d 20 67 65 74 | col,.[]):.............meth.=.get |
54800 | 61 74 74 72 28 70 72 6f 63 65 73 73 6f 72 2c 20 6d 65 74 68 5f 6e 61 6d 65 29 0a 20 20 20 20 20 | attr(processor,.meth_name)...... |
54820 | 20 20 20 20 20 20 20 72 65 71 20 3d 20 6d 65 74 68 28 72 65 71 29 0a 0a 20 20 20 20 20 20 20 20 | .......req.=.meth(req).......... |
54840 | 72 65 73 70 6f 6e 73 65 20 3d 20 73 65 6c 66 2e 5f 6f 70 65 6e 28 72 65 71 2c 20 64 61 74 61 29 | response.=.self._open(req,.data) |
54860 | 0a 0a 20 20 20 20 20 20 20 20 23 20 70 6f 73 74 2d 70 72 6f 63 65 73 73 20 72 65 73 70 6f 6e 73 | ..........#.post-process.respons |
54880 | 65 0a 20 20 20 20 20 20 20 20 6d 65 74 68 5f 6e 61 6d 65 20 3d 20 70 72 6f 74 6f 63 6f 6c 2b 22 | e.........meth_name.=.protocol+" |
548a0 | 5f 72 65 73 70 6f 6e 73 65 22 0a 20 20 20 20 20 20 20 20 66 6f 72 20 70 72 6f 63 65 73 73 6f 72 | _response".........for.processor |
548c0 | 20 69 6e 20 73 65 6c 66 2e 70 72 6f 63 65 73 73 5f 72 65 73 70 6f 6e 73 65 2e 67 65 74 28 70 72 | .in.self.process_response.get(pr |
548e0 | 6f 74 6f 63 6f 6c 2c 20 5b 5d 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 6d 65 74 68 20 3d 20 | otocol,.[]):.............meth.=. |
54900 | 67 65 74 61 74 74 72 28 70 72 6f 63 65 73 73 6f 72 2c 20 6d 65 74 68 5f 6e 61 6d 65 29 0a 20 20 | getattr(processor,.meth_name)... |
54920 | 20 20 20 20 20 20 20 20 20 20 72 65 73 70 6f 6e 73 65 20 3d 20 6d 65 74 68 28 72 65 71 2c 20 72 | ..........response.=.meth(req,.r |
54940 | 65 73 70 6f 6e 73 65 29 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 72 65 73 70 6f 6e 73 | esponse)..........return.respons |
54960 | 65 0a 0a 20 20 20 20 64 65 66 20 5f 6f 70 65 6e 28 73 65 6c 66 2c 20 72 65 71 2c 20 64 61 74 61 | e......def._open(self,.req,.data |
54980 | 3d 4e 6f 6e 65 29 3a 0a 20 20 20 20 20 20 20 20 72 65 73 75 6c 74 20 3d 20 73 65 6c 66 2e 5f 63 | =None):.........result.=.self._c |
549a0 | 61 6c 6c 5f 63 68 61 69 6e 28 73 65 6c 66 2e 68 61 6e 64 6c 65 5f 6f 70 65 6e 2c 20 27 64 65 66 | all_chain(self.handle_open,.'def |
549c0 | 61 75 6c 74 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ault',.......................... |
549e0 | 20 20 20 20 20 20 20 20 20 27 64 65 66 61 75 6c 74 5f 6f 70 65 6e 27 2c 20 72 65 71 29 0a 20 20 | .........'default_open',.req)... |
54a00 | 20 20 20 20 20 20 69 66 20 72 65 73 75 6c 74 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 | ......if.result:.............ret |
54a20 | 75 72 6e 20 72 65 73 75 6c 74 0a 0a 20 20 20 20 20 20 20 20 70 72 6f 74 6f 63 6f 6c 20 3d 20 72 | urn.result..........protocol.=.r |
54a40 | 65 71 2e 74 79 70 65 0a 20 20 20 20 20 20 20 20 72 65 73 75 6c 74 20 3d 20 73 65 6c 66 2e 5f 63 | eq.type.........result.=.self._c |
54a60 | 61 6c 6c 5f 63 68 61 69 6e 28 73 65 6c 66 2e 68 61 6e 64 6c 65 5f 6f 70 65 6e 2c 20 70 72 6f 74 | all_chain(self.handle_open,.prot |
54a80 | 6f 63 6f 6c 2c 20 70 72 6f 74 6f 63 6f 6c 20 2b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ocol,.protocol.+................ |
54aa0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 5f 6f 70 65 6e 27 2c 20 72 65 71 29 | ...................'_open',.req) |
54ac0 | 0a 20 20 20 20 20 20 20 20 69 66 20 72 65 73 75 6c 74 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 | .........if.result:............. |
54ae0 | 72 65 74 75 72 6e 20 72 65 73 75 6c 74 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 | return.result..........return.se |
54b00 | 6c 66 2e 5f 63 61 6c 6c 5f 63 68 61 69 6e 28 73 65 6c 66 2e 68 61 6e 64 6c 65 5f 6f 70 65 6e 2c | lf._call_chain(self.handle_open, |
54b20 | 20 27 75 6e 6b 6e 6f 77 6e 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .'unknown',..................... |
54b40 | 20 20 20 20 20 20 20 20 20 20 20 20 27 75 6e 6b 6e 6f 77 6e 5f 6f 70 65 6e 27 2c 20 72 65 71 29 | ............'unknown_open',.req) |
54b60 | 0a 0a 20 20 20 20 64 65 66 20 65 72 72 6f 72 28 73 65 6c 66 2c 20 70 72 6f 74 6f 2c 20 2a 61 72 | ......def.error(self,.proto,.*ar |
54b80 | 67 73 29 3a 0a 20 20 20 20 20 20 20 20 69 66 20 70 72 6f 74 6f 20 69 6e 20 28 27 68 74 74 70 27 | gs):.........if.proto.in.('http' |
54ba0 | 2c 20 27 68 74 74 70 73 27 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 23 20 58 58 58 20 68 74 | ,.'https'):.............#.XXX.ht |
54bc0 | 74 70 5b 73 5d 20 70 72 6f 74 6f 63 6f 6c 73 20 61 72 65 20 73 70 65 63 69 61 6c 2d 63 61 73 65 | tp[s].protocols.are.special-case |
54be0 | 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 69 63 74 20 3d 20 73 65 6c 66 2e 68 61 6e 64 6c 65 | d.............dict.=.self.handle |
54c00 | 5f 65 72 72 6f 72 5b 27 68 74 74 70 27 5d 20 23 20 68 74 74 70 73 20 69 73 20 6e 6f 74 20 64 69 | _error['http'].#.https.is.not.di |
54c20 | 66 66 65 72 65 6e 74 20 74 68 61 6e 20 68 74 74 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 72 | fferent.than.http.............pr |
54c40 | 6f 74 6f 20 3d 20 61 72 67 73 5b 32 5d 20 20 23 20 59 55 43 4b 21 0a 20 20 20 20 20 20 20 20 20 | oto.=.args[2]..#.YUCK!.......... |
54c60 | 20 20 20 6d 65 74 68 5f 6e 61 6d 65 20 3d 20 27 68 74 74 70 5f 65 72 72 6f 72 5f 25 73 27 20 25 | ...meth_name.=.'http_error_%s'.% |
54c80 | 20 70 72 6f 74 6f 0a 20 20 20 20 20 20 20 20 20 20 20 20 68 74 74 70 5f 65 72 72 20 3d 20 31 0a | .proto.............http_err.=.1. |
54ca0 | 20 20 20 20 20 20 20 20 20 20 20 20 6f 72 69 67 5f 61 72 67 73 20 3d 20 61 72 67 73 0a 20 20 20 | ............orig_args.=.args.... |
54cc0 | 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 69 63 74 20 3d 20 73 65 | .....else:.............dict.=.se |
54ce0 | 6c 66 2e 68 61 6e 64 6c 65 5f 65 72 72 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 6d 65 74 68 | lf.handle_error.............meth |
54d00 | 5f 6e 61 6d 65 20 3d 20 70 72 6f 74 6f 20 2b 20 27 5f 65 72 72 6f 72 27 0a 20 20 20 20 20 20 20 | _name.=.proto.+.'_error'........ |
54d20 | 20 20 20 20 20 68 74 74 70 5f 65 72 72 20 3d 20 30 0a 20 20 20 20 20 20 20 20 61 72 67 73 20 3d | .....http_err.=.0.........args.= |
54d40 | 20 28 64 69 63 74 2c 20 70 72 6f 74 6f 2c 20 6d 65 74 68 5f 6e 61 6d 65 29 20 2b 20 61 72 67 73 | .(dict,.proto,.meth_name).+.args |
54d60 | 0a 20 20 20 20 20 20 20 20 72 65 73 75 6c 74 20 3d 20 73 65 6c 66 2e 5f 63 61 6c 6c 5f 63 68 61 | .........result.=.self._call_cha |
54d80 | 69 6e 28 2a 61 72 67 73 29 0a 20 20 20 20 20 20 20 20 69 66 20 72 65 73 75 6c 74 3a 0a 20 20 20 | in(*args).........if.result:.... |
54da0 | 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 72 65 73 75 6c 74 0a 0a 20 20 20 20 20 20 20 20 | .........return.result.......... |
54dc0 | 69 66 20 68 74 74 70 5f 65 72 72 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 61 72 67 73 20 3d 20 | if.http_err:.............args.=. |
54de0 | 28 64 69 63 74 2c 20 27 64 65 66 61 75 6c 74 27 2c 20 27 68 74 74 70 5f 65 72 72 6f 72 5f 64 65 | (dict,.'default',.'http_error_de |
54e00 | 66 61 75 6c 74 27 29 20 2b 20 6f 72 69 67 5f 61 72 67 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 | fault').+.orig_args............. |
54e20 | 72 65 74 75 72 6e 20 73 65 6c 66 2e 5f 63 61 6c 6c 5f 63 68 61 69 6e 28 2a 61 72 67 73 29 0a 0a | return.self._call_chain(*args).. |
54e40 | 23 20 58 58 58 20 70 72 6f 62 61 62 6c 79 20 61 6c 73 6f 20 77 61 6e 74 20 61 6e 20 61 62 73 74 | #.XXX.probably.also.want.an.abst |
54e60 | 72 61 63 74 20 66 61 63 74 6f 72 79 20 74 68 61 74 20 6b 6e 6f 77 73 20 77 68 65 6e 20 69 74 20 | ract.factory.that.knows.when.it. |
54e80 | 6d 61 6b 65 73 0a 23 20 73 65 6e 73 65 20 74 6f 20 73 6b 69 70 20 61 20 73 75 70 65 72 63 6c 61 | makes.#.sense.to.skip.a.supercla |
54ea0 | 73 73 20 69 6e 20 66 61 76 6f 72 20 6f 66 20 61 20 73 75 62 63 6c 61 73 73 20 61 6e 64 20 77 68 | ss.in.favor.of.a.subclass.and.wh |
54ec0 | 65 6e 20 69 74 20 6d 69 67 68 74 0a 23 20 6d 61 6b 65 20 73 65 6e 73 65 20 74 6f 20 69 6e 63 6c | en.it.might.#.make.sense.to.incl |
54ee0 | 75 64 65 20 62 6f 74 68 0a 0a 64 65 66 20 62 75 69 6c 64 5f 6f 70 65 6e 65 72 28 2a 68 61 6e 64 | ude.both..def.build_opener(*hand |
54f00 | 6c 65 72 73 29 3a 0a 20 20 20 20 22 22 22 43 72 65 61 74 65 20 61 6e 20 6f 70 65 6e 65 72 20 6f | lers):....."""Create.an.opener.o |
54f20 | 62 6a 65 63 74 20 66 72 6f 6d 20 61 20 6c 69 73 74 20 6f 66 20 68 61 6e 64 6c 65 72 73 2e 0a 0a | bject.from.a.list.of.handlers... |
54f40 | 20 20 20 20 54 68 65 20 6f 70 65 6e 65 72 20 77 69 6c 6c 20 75 73 65 20 73 65 76 65 72 61 6c 20 | ....The.opener.will.use.several. |
54f60 | 64 65 66 61 75 6c 74 20 68 61 6e 64 6c 65 72 73 2c 20 69 6e 63 6c 75 64 69 6e 67 20 73 75 70 70 | default.handlers,.including.supp |
54f80 | 6f 72 74 0a 20 20 20 20 66 6f 72 20 48 54 54 50 2c 20 46 54 50 20 61 6e 64 20 77 68 65 6e 20 61 | ort.....for.HTTP,.FTP.and.when.a |
54fa0 | 70 70 6c 69 63 61 62 6c 65 20 48 54 54 50 53 2e 0a 0a 20 20 20 20 49 66 20 61 6e 79 20 6f 66 20 | pplicable.HTTPS.......If.any.of. |
54fc0 | 74 68 65 20 68 61 6e 64 6c 65 72 73 20 70 61 73 73 65 64 20 61 73 20 61 72 67 75 6d 65 6e 74 73 | the.handlers.passed.as.arguments |
54fe0 | 20 61 72 65 20 73 75 62 63 6c 61 73 73 65 73 20 6f 66 20 74 68 65 0a 20 20 20 20 64 65 66 61 75 | .are.subclasses.of.the.....defau |
55000 | 6c 74 20 68 61 6e 64 6c 65 72 73 2c 20 74 68 65 20 64 65 66 61 75 6c 74 20 68 61 6e 64 6c 65 72 | lt.handlers,.the.default.handler |
55020 | 73 20 77 69 6c 6c 20 6e 6f 74 20 62 65 20 75 73 65 64 2e 0a 20 20 20 20 22 22 22 0a 20 20 20 20 | s.will.not.be.used......"""..... |
55040 | 6f 70 65 6e 65 72 20 3d 20 4f 70 65 6e 65 72 44 69 72 65 63 74 6f 72 28 29 0a 20 20 20 20 64 65 | opener.=.OpenerDirector().....de |
55060 | 66 61 75 6c 74 5f 63 6c 61 73 73 65 73 20 3d 20 5b 50 72 6f 78 79 48 61 6e 64 6c 65 72 2c 20 55 | fault_classes.=.[ProxyHandler,.U |
55080 | 6e 6b 6e 6f 77 6e 48 61 6e 64 6c 65 72 2c 20 48 54 54 50 48 61 6e 64 6c 65 72 2c 0a 20 20 20 20 | nknownHandler,.HTTPHandler,..... |
550a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 48 54 54 50 44 65 66 61 75 6c 74 45 72 | ...................HTTPDefaultEr |
550c0 | 72 6f 72 48 61 6e 64 6c 65 72 2c 20 48 54 54 50 52 65 64 69 72 65 63 74 48 61 6e 64 6c 65 72 2c | rorHandler,.HTTPRedirectHandler, |
550e0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 54 50 48 61 6e 64 6c | ........................FTPHandl |
55100 | 65 72 2c 20 46 69 6c 65 48 61 6e 64 6c 65 72 2c 20 48 54 54 50 45 72 72 6f 72 50 72 6f 63 65 73 | er,.FileHandler,.HTTPErrorProces |
55120 | 73 6f 72 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 61 74 61 | sor,........................Data |
55140 | 48 61 6e 64 6c 65 72 5d 0a 20 20 20 20 69 66 20 68 61 73 61 74 74 72 28 68 74 74 70 2e 63 6c 69 | Handler].....if.hasattr(http.cli |
55160 | 65 6e 74 2c 20 22 48 54 54 50 53 43 6f 6e 6e 65 63 74 69 6f 6e 22 29 3a 0a 20 20 20 20 20 20 20 | ent,."HTTPSConnection"):........ |
55180 | 20 64 65 66 61 75 6c 74 5f 63 6c 61 73 73 65 73 2e 61 70 70 65 6e 64 28 48 54 54 50 53 48 61 6e | .default_classes.append(HTTPSHan |
551a0 | 64 6c 65 72 29 0a 20 20 20 20 73 6b 69 70 20 3d 20 73 65 74 28 29 0a 20 20 20 20 66 6f 72 20 6b | dler).....skip.=.set().....for.k |
551c0 | 6c 61 73 73 20 69 6e 20 64 65 66 61 75 6c 74 5f 63 6c 61 73 73 65 73 3a 0a 20 20 20 20 20 20 20 | lass.in.default_classes:........ |
551e0 | 20 66 6f 72 20 63 68 65 63 6b 20 69 6e 20 68 61 6e 64 6c 65 72 73 3a 0a 20 20 20 20 20 20 20 20 | .for.check.in.handlers:......... |
55200 | 20 20 20 20 69 66 20 69 73 69 6e 73 74 61 6e 63 65 28 63 68 65 63 6b 2c 20 74 79 70 65 29 3a 0a | ....if.isinstance(check,.type):. |
55220 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 69 73 73 75 62 63 6c 61 73 73 28 63 68 | ................if.issubclass(ch |
55240 | 65 63 6b 2c 20 6b 6c 61 73 73 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | eck,.klass):.................... |
55260 | 20 73 6b 69 70 2e 61 64 64 28 6b 6c 61 73 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 69 | .skip.add(klass).............eli |
55280 | 66 20 69 73 69 6e 73 74 61 6e 63 65 28 63 68 65 63 6b 2c 20 6b 6c 61 73 73 29 3a 0a 20 20 20 20 | f.isinstance(check,.klass):..... |
552a0 | 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 2e 61 64 64 28 6b 6c 61 73 73 29 0a 20 20 20 20 | ............skip.add(klass)..... |
552c0 | 66 6f 72 20 6b 6c 61 73 73 20 69 6e 20 73 6b 69 70 3a 0a 20 20 20 20 20 20 20 20 64 65 66 61 75 | for.klass.in.skip:.........defau |
552e0 | 6c 74 5f 63 6c 61 73 73 65 73 2e 72 65 6d 6f 76 65 28 6b 6c 61 73 73 29 0a 0a 20 20 20 20 66 6f | lt_classes.remove(klass)......fo |
55300 | 72 20 6b 6c 61 73 73 20 69 6e 20 64 65 66 61 75 6c 74 5f 63 6c 61 73 73 65 73 3a 0a 20 20 20 20 | r.klass.in.default_classes:..... |
55320 | 20 20 20 20 6f 70 65 6e 65 72 2e 61 64 64 5f 68 61 6e 64 6c 65 72 28 6b 6c 61 73 73 28 29 29 0a | ....opener.add_handler(klass()). |
55340 | 0a 20 20 20 20 66 6f 72 20 68 20 69 6e 20 68 61 6e 64 6c 65 72 73 3a 0a 20 20 20 20 20 20 20 20 | .....for.h.in.handlers:......... |
55360 | 69 66 20 69 73 69 6e 73 74 61 6e 63 65 28 68 2c 20 74 79 70 65 29 3a 0a 20 20 20 20 20 20 20 20 | if.isinstance(h,.type):......... |
55380 | 20 20 20 20 68 20 3d 20 68 28 29 0a 20 20 20 20 20 20 20 20 6f 70 65 6e 65 72 2e 61 64 64 5f 68 | ....h.=.h().........opener.add_h |
553a0 | 61 6e 64 6c 65 72 28 68 29 0a 20 20 20 20 72 65 74 75 72 6e 20 6f 70 65 6e 65 72 0a 0a 63 6c 61 | andler(h).....return.opener..cla |
553c0 | 73 73 20 42 61 73 65 48 61 6e 64 6c 65 72 3a 0a 20 20 20 20 68 61 6e 64 6c 65 72 5f 6f 72 64 65 | ss.BaseHandler:.....handler_orde |
553e0 | 72 20 3d 20 35 30 30 0a 0a 20 20 20 20 64 65 66 20 61 64 64 5f 70 61 72 65 6e 74 28 73 65 6c 66 | r.=.500......def.add_parent(self |
55400 | 2c 20 70 61 72 65 6e 74 29 3a 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 70 61 72 65 6e 74 20 3d | ,.parent):.........self.parent.= |
55420 | 20 70 61 72 65 6e 74 0a 0a 20 20 20 20 64 65 66 20 63 6c 6f 73 65 28 73 65 6c 66 29 3a 0a 20 20 | .parent......def.close(self):... |
55440 | 20 20 20 20 20 20 23 20 4f 6e 6c 79 20 65 78 69 73 74 73 20 66 6f 72 20 62 61 63 6b 77 61 72 64 | ......#.Only.exists.for.backward |
55460 | 73 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 0a 20 20 20 20 20 20 20 20 70 61 73 73 0a 0a 20 20 | s.compatibility.........pass.... |
55480 | 20 20 64 65 66 20 5f 5f 6c 74 5f 5f 28 73 65 6c 66 2c 20 6f 74 68 65 72 29 3a 0a 20 20 20 20 20 | ..def.__lt__(self,.other):...... |
554a0 | 20 20 20 69 66 20 6e 6f 74 20 68 61 73 61 74 74 72 28 6f 74 68 65 72 2c 20 22 68 61 6e 64 6c 65 | ...if.not.hasattr(other,."handle |
554c0 | 72 5f 6f 72 64 65 72 22 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 23 20 54 72 79 20 74 6f 20 | r_order"):.............#.Try.to. |
554e0 | 70 72 65 73 65 72 76 65 20 74 68 65 20 6f 6c 64 20 62 65 68 61 76 69 6f 72 20 6f 66 20 68 61 76 | preserve.the.old.behavior.of.hav |
55500 | 69 6e 67 20 63 75 73 74 6f 6d 20 63 6c 61 73 73 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 23 | ing.custom.classes.............# |
55520 | 20 69 6e 73 65 72 74 65 64 20 61 66 74 65 72 20 64 65 66 61 75 6c 74 20 6f 6e 65 73 20 28 77 6f | .inserted.after.default.ones.(wo |
55540 | 72 6b 73 20 6f 6e 6c 79 20 66 6f 72 20 63 75 73 74 6f 6d 20 75 73 65 72 0a 20 20 20 20 20 20 20 | rks.only.for.custom.user........ |
55560 | 20 20 20 20 20 23 20 63 6c 61 73 73 65 73 20 77 68 69 63 68 20 61 72 65 20 6e 6f 74 20 61 77 61 | .....#.classes.which.are.not.awa |
55580 | 72 65 20 6f 66 20 68 61 6e 64 6c 65 72 5f 6f 72 64 65 72 29 2e 0a 20 20 20 20 20 20 20 20 20 20 | re.of.handler_order)............ |
555a0 | 20 20 72 65 74 75 72 6e 20 54 72 75 65 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c | ..return.True.........return.sel |
555c0 | 66 2e 68 61 6e 64 6c 65 72 5f 6f 72 64 65 72 20 3c 20 6f 74 68 65 72 2e 68 61 6e 64 6c 65 72 5f | f.handler_order.<.other.handler_ |
555e0 | 6f 72 64 65 72 0a 0a 0a 63 6c 61 73 73 20 48 54 54 50 45 72 72 6f 72 50 72 6f 63 65 73 73 6f 72 | order...class.HTTPErrorProcessor |
55600 | 28 42 61 73 65 48 61 6e 64 6c 65 72 29 3a 0a 20 20 20 20 22 22 22 50 72 6f 63 65 73 73 20 48 54 | (BaseHandler):....."""Process.HT |
55620 | 54 50 20 65 72 72 6f 72 20 72 65 73 70 6f 6e 73 65 73 2e 22 22 22 0a 20 20 20 20 68 61 6e 64 6c | TP.error.responses.""".....handl |
55640 | 65 72 5f 6f 72 64 65 72 20 3d 20 31 30 30 30 20 20 23 20 61 66 74 65 72 20 61 6c 6c 20 6f 74 68 | er_order.=.1000..#.after.all.oth |
55660 | 65 72 20 70 72 6f 63 65 73 73 69 6e 67 0a 0a 20 20 20 20 64 65 66 20 68 74 74 70 5f 72 65 73 70 | er.processing......def.http_resp |
55680 | 6f 6e 73 65 28 73 65 6c 66 2c 20 72 65 71 75 65 73 74 2c 20 72 65 73 70 6f 6e 73 65 29 3a 0a 20 | onse(self,.request,.response):.. |
556a0 | 20 20 20 20 20 20 20 63 6f 64 65 2c 20 6d 73 67 2c 20 68 64 72 73 20 3d 20 72 65 73 70 6f 6e 73 | .......code,.msg,.hdrs.=.respons |
556c0 | 65 2e 63 6f 64 65 2c 20 72 65 73 70 6f 6e 73 65 2e 6d 73 67 2c 20 72 65 73 70 6f 6e 73 65 2e 69 | e.code,.response.msg,.response.i |
556e0 | 6e 66 6f 28 29 0a 0a 20 20 20 20 20 20 20 20 23 20 41 63 63 6f 72 64 69 6e 67 20 74 6f 20 52 46 | nfo()..........#.According.to.RF |
55700 | 43 20 32 36 31 36 2c 20 22 32 78 78 22 20 63 6f 64 65 20 69 6e 64 69 63 61 74 65 73 20 74 68 61 | C.2616,."2xx".code.indicates.tha |
55720 | 74 20 74 68 65 20 63 6c 69 65 6e 74 27 73 0a 20 20 20 20 20 20 20 20 23 20 72 65 71 75 65 73 74 | t.the.client's.........#.request |
55740 | 20 77 61 73 20 73 75 63 63 65 73 73 66 75 6c 6c 79 20 72 65 63 65 69 76 65 64 2c 20 75 6e 64 65 | .was.successfully.received,.unde |
55760 | 72 73 74 6f 6f 64 2c 20 61 6e 64 20 61 63 63 65 70 74 65 64 2e 0a 20 20 20 20 20 20 20 20 69 66 | rstood,.and.accepted..........if |
55780 | 20 6e 6f 74 20 28 32 30 30 20 3c 3d 20 63 6f 64 65 20 3c 20 33 30 30 29 3a 0a 20 20 20 20 20 20 | .not.(200.<=.code.<.300):....... |
557a0 | 20 20 20 20 20 20 72 65 73 70 6f 6e 73 65 20 3d 20 73 65 6c 66 2e 70 61 72 65 6e 74 2e 65 72 72 | ......response.=.self.parent.err |
557c0 | 6f 72 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 68 74 74 70 27 2c 20 72 65 71 75 | or(.................'http',.requ |
557e0 | 65 73 74 2c 20 72 65 73 70 6f 6e 73 65 2c 20 63 6f 64 65 2c 20 6d 73 67 2c 20 68 64 72 73 29 0a | est,.response,.code,.msg,.hdrs). |
55800 | 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 72 65 73 70 6f 6e 73 65 0a 0a 20 20 20 20 68 74 | .........return.response......ht |
55820 | 74 70 73 5f 72 65 73 70 6f 6e 73 65 20 3d 20 68 74 74 70 5f 72 65 73 70 6f 6e 73 65 0a 0a 63 6c | tps_response.=.http_response..cl |
55840 | 61 73 73 20 48 54 54 50 44 65 66 61 75 6c 74 45 72 72 6f 72 48 61 6e 64 6c 65 72 28 42 61 73 65 | ass.HTTPDefaultErrorHandler(Base |
55860 | 48 61 6e 64 6c 65 72 29 3a 0a 20 20 20 20 64 65 66 20 68 74 74 70 5f 65 72 72 6f 72 5f 64 65 66 | Handler):.....def.http_error_def |
55880 | 61 75 6c 74 28 73 65 6c 66 2c 20 72 65 71 2c 20 66 70 2c 20 63 6f 64 65 2c 20 6d 73 67 2c 20 68 | ault(self,.req,.fp,.code,.msg,.h |
558a0 | 64 72 73 29 3a 0a 20 20 20 20 20 20 20 20 72 61 69 73 65 20 48 54 54 50 45 72 72 6f 72 28 72 65 | drs):.........raise.HTTPError(re |
558c0 | 71 2e 66 75 6c 6c 5f 75 72 6c 2c 20 63 6f 64 65 2c 20 6d 73 67 2c 20 68 64 72 73 2c 20 66 70 29 | q.full_url,.code,.msg,.hdrs,.fp) |
558e0 | 0a 0a 63 6c 61 73 73 20 48 54 54 50 52 65 64 69 72 65 63 74 48 61 6e 64 6c 65 72 28 42 61 73 65 | ..class.HTTPRedirectHandler(Base |
55900 | 48 61 6e 64 6c 65 72 29 3a 0a 20 20 20 20 23 20 6d 61 78 69 6d 75 6d 20 6e 75 6d 62 65 72 20 6f | Handler):.....#.maximum.number.o |
55920 | 66 20 72 65 64 69 72 65 63 74 69 6f 6e 73 20 74 6f 20 61 6e 79 20 73 69 6e 67 6c 65 20 55 52 4c | f.redirections.to.any.single.URL |
55940 | 0a 20 20 20 20 23 20 74 68 69 73 20 69 73 20 6e 65 65 64 65 64 20 62 65 63 61 75 73 65 20 6f 66 | .....#.this.is.needed.because.of |
55960 | 20 74 68 65 20 73 74 61 74 65 20 74 68 61 74 20 63 6f 6f 6b 69 65 73 20 69 6e 74 72 6f 64 75 63 | .the.state.that.cookies.introduc |
55980 | 65 0a 20 20 20 20 6d 61 78 5f 72 65 70 65 61 74 73 20 3d 20 34 0a 20 20 20 20 23 20 6d 61 78 69 | e.....max_repeats.=.4.....#.maxi |
559a0 | 6d 75 6d 20 74 6f 74 61 6c 20 6e 75 6d 62 65 72 20 6f 66 20 72 65 64 69 72 65 63 74 69 6f 6e 73 | mum.total.number.of.redirections |
559c0 | 20 28 72 65 67 61 72 64 6c 65 73 73 20 6f 66 20 55 52 4c 29 20 62 65 66 6f 72 65 0a 20 20 20 20 | .(regardless.of.URL).before..... |
559e0 | 23 20 61 73 73 75 6d 69 6e 67 20 77 65 27 72 65 20 69 6e 20 61 20 6c 6f 6f 70 0a 20 20 20 20 6d | #.assuming.we're.in.a.loop.....m |
55a00 | 61 78 5f 72 65 64 69 72 65 63 74 69 6f 6e 73 20 3d 20 31 30 0a 0a 20 20 20 20 64 65 66 20 72 65 | ax_redirections.=.10......def.re |
55a20 | 64 69 72 65 63 74 5f 72 65 71 75 65 73 74 28 73 65 6c 66 2c 20 72 65 71 2c 20 66 70 2c 20 63 6f | direct_request(self,.req,.fp,.co |
55a40 | 64 65 2c 20 6d 73 67 2c 20 68 65 61 64 65 72 73 2c 20 6e 65 77 75 72 6c 29 3a 0a 20 20 20 20 20 | de,.msg,.headers,.newurl):...... |
55a60 | 20 20 20 22 22 22 52 65 74 75 72 6e 20 61 20 52 65 71 75 65 73 74 20 6f 72 20 4e 6f 6e 65 20 69 | ..."""Return.a.Request.or.None.i |
55a80 | 6e 20 72 65 73 70 6f 6e 73 65 20 74 6f 20 61 20 72 65 64 69 72 65 63 74 2e 0a 0a 20 20 20 20 20 | n.response.to.a.redirect........ |
55aa0 | 20 20 20 54 68 69 73 20 69 73 20 63 61 6c 6c 65 64 20 62 79 20 74 68 65 20 68 74 74 70 5f 65 72 | ...This.is.called.by.the.http_er |
55ac0 | 72 6f 72 5f 33 30 78 20 6d 65 74 68 6f 64 73 20 77 68 65 6e 20 61 0a 20 20 20 20 20 20 20 20 72 | ror_30x.methods.when.a.........r |
55ae0 | 65 64 69 72 65 63 74 69 6f 6e 20 72 65 73 70 6f 6e 73 65 20 69 73 20 72 65 63 65 69 76 65 64 2e | edirection.response.is.received. |
55b00 | 20 20 49 66 20 61 20 72 65 64 69 72 65 63 74 69 6f 6e 20 73 68 6f 75 6c 64 0a 20 20 20 20 20 20 | ..If.a.redirection.should....... |
55b20 | 20 20 74 61 6b 65 20 70 6c 61 63 65 2c 20 72 65 74 75 72 6e 20 61 20 6e 65 77 20 52 65 71 75 65 | ..take.place,.return.a.new.Reque |
55b40 | 73 74 20 74 6f 20 61 6c 6c 6f 77 20 68 74 74 70 5f 65 72 72 6f 72 5f 33 30 78 20 74 6f 0a 20 20 | st.to.allow.http_error_30x.to... |
55b60 | 20 20 20 20 20 20 70 65 72 66 6f 72 6d 20 74 68 65 20 72 65 64 69 72 65 63 74 2e 20 20 4f 74 68 | ......perform.the.redirect...Oth |
55b80 | 65 72 77 69 73 65 2c 20 72 61 69 73 65 20 48 54 54 50 45 72 72 6f 72 20 69 66 20 6e 6f 2d 6f 6e | erwise,.raise.HTTPError.if.no-on |
55ba0 | 65 0a 20 20 20 20 20 20 20 20 65 6c 73 65 20 73 68 6f 75 6c 64 20 74 72 79 20 74 6f 20 68 61 6e | e.........else.should.try.to.han |
55bc0 | 64 6c 65 20 74 68 69 73 20 75 72 6c 2e 20 20 52 65 74 75 72 6e 20 4e 6f 6e 65 20 69 66 20 79 6f | dle.this.url...Return.None.if.yo |
55be0 | 75 20 63 61 6e 27 74 0a 20 20 20 20 20 20 20 20 62 75 74 20 61 6e 6f 74 68 65 72 20 48 61 6e 64 | u.can't.........but.another.Hand |
55c00 | 6c 65 72 20 6d 69 67 68 74 2e 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 6d | ler.might..........""".........m |
55c20 | 20 3d 20 72 65 71 2e 67 65 74 5f 6d 65 74 68 6f 64 28 29 0a 20 20 20 20 20 20 20 20 69 66 20 28 | .=.req.get_method().........if.( |
55c40 | 6e 6f 74 20 28 63 6f 64 65 20 69 6e 20 28 33 30 31 2c 20 33 30 32 2c 20 33 30 33 2c 20 33 30 37 | not.(code.in.(301,.302,.303,.307 |
55c60 | 29 20 61 6e 64 20 6d 20 69 6e 20 28 22 47 45 54 22 2c 20 22 48 45 41 44 22 29 0a 20 20 20 20 20 | ).and.m.in.("GET",."HEAD")...... |
55c80 | 20 20 20 20 20 20 20 6f 72 20 63 6f 64 65 20 69 6e 20 28 33 30 31 2c 20 33 30 32 2c 20 33 30 33 | .......or.code.in.(301,.302,.303 |
55ca0 | 29 20 61 6e 64 20 6d 20 3d 3d 20 22 50 4f 53 54 22 29 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 | ).and.m.==."POST")):............ |
55cc0 | 20 72 61 69 73 65 20 48 54 54 50 45 72 72 6f 72 28 72 65 71 2e 66 75 6c 6c 5f 75 72 6c 2c 20 63 | .raise.HTTPError(req.full_url,.c |
55ce0 | 6f 64 65 2c 20 6d 73 67 2c 20 68 65 61 64 65 72 73 2c 20 66 70 29 0a 0a 20 20 20 20 20 20 20 20 | ode,.msg,.headers,.fp).......... |
55d00 | 23 20 53 74 72 69 63 74 6c 79 20 28 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 52 46 43 20 32 36 31 | #.Strictly.(according.to.RFC.261 |
55d20 | 36 29 2c 20 33 30 31 20 6f 72 20 33 30 32 20 69 6e 20 72 65 73 70 6f 6e 73 65 20 74 6f 0a 20 20 | 6),.301.or.302.in.response.to... |
55d40 | 20 20 20 20 20 20 23 20 61 20 50 4f 53 54 20 4d 55 53 54 20 4e 4f 54 20 63 61 75 73 65 20 61 20 | ......#.a.POST.MUST.NOT.cause.a. |
55d60 | 72 65 64 69 72 65 63 74 69 6f 6e 20 77 69 74 68 6f 75 74 20 63 6f 6e 66 69 72 6d 61 74 69 6f 6e | redirection.without.confirmation |
55d80 | 0a 20 20 20 20 20 20 20 20 23 20 66 72 6f 6d 20 74 68 65 20 75 73 65 72 20 28 6f 66 20 75 72 6c | .........#.from.the.user.(of.url |
55da0 | 6c 69 62 2e 72 65 71 75 65 73 74 2c 20 69 6e 20 74 68 69 73 20 63 61 73 65 29 2e 20 20 49 6e 20 | lib.request,.in.this.case)...In. |
55dc0 | 70 72 61 63 74 69 63 65 2c 0a 20 20 20 20 20 20 20 20 23 20 65 73 73 65 6e 74 69 61 6c 6c 79 20 | practice,.........#.essentially. |
55de0 | 61 6c 6c 20 63 6c 69 65 6e 74 73 20 64 6f 20 72 65 64 69 72 65 63 74 20 69 6e 20 74 68 69 73 20 | all.clients.do.redirect.in.this. |
55e00 | 63 61 73 65 2c 20 73 6f 20 77 65 20 64 6f 0a 20 20 20 20 20 20 20 20 23 20 74 68 65 20 73 61 6d | case,.so.we.do.........#.the.sam |
55e20 | 65 2e 0a 0a 20 20 20 20 20 20 20 20 23 20 42 65 20 63 6f 6e 63 69 6c 69 61 6e 74 20 77 69 74 68 | e...........#.Be.conciliant.with |
55e40 | 20 55 52 49 73 20 63 6f 6e 74 61 69 6e 69 6e 67 20 61 20 73 70 61 63 65 2e 20 20 54 68 69 73 20 | .URIs.containing.a.space...This. |
55e60 | 69 73 20 6d 61 69 6e 6c 79 0a 20 20 20 20 20 20 20 20 23 20 72 65 64 75 6e 64 61 6e 74 20 77 69 | is.mainly.........#.redundant.wi |
55e80 | 74 68 20 74 68 65 20 6d 6f 72 65 20 63 6f 6d 70 6c 65 74 65 20 65 6e 63 6f 64 69 6e 67 20 64 6f | th.the.more.complete.encoding.do |
55ea0 | 6e 65 20 69 6e 20 68 74 74 70 5f 65 72 72 6f 72 5f 33 30 32 28 29 2c 0a 20 20 20 20 20 20 20 20 | ne.in.http_error_302(),......... |
55ec0 | 23 20 62 75 74 20 69 74 20 69 73 20 6b 65 70 74 20 66 6f 72 20 63 6f 6d 70 61 74 69 62 69 6c 69 | #.but.it.is.kept.for.compatibili |
55ee0 | 74 79 20 77 69 74 68 20 6f 74 68 65 72 20 63 61 6c 6c 65 72 73 2e 0a 20 20 20 20 20 20 20 20 6e | ty.with.other.callers..........n |
55f00 | 65 77 75 72 6c 20 3d 20 6e 65 77 75 72 6c 2e 72 65 70 6c 61 63 65 28 27 20 27 2c 20 27 25 32 30 | ewurl.=.newurl.replace('.',.'%20 |
55f20 | 27 29 0a 0a 20 20 20 20 20 20 20 20 43 4f 4e 54 45 4e 54 5f 48 45 41 44 45 52 53 20 3d 20 28 22 | ')..........CONTENT_HEADERS.=.(" |
55f40 | 63 6f 6e 74 65 6e 74 2d 6c 65 6e 67 74 68 22 2c 20 22 63 6f 6e 74 65 6e 74 2d 74 79 70 65 22 29 | content-length",."content-type") |
55f60 | 0a 20 20 20 20 20 20 20 20 6e 65 77 68 65 61 64 65 72 73 20 3d 20 7b 6b 3a 20 76 20 66 6f 72 20 | .........newheaders.=.{k:.v.for. |
55f80 | 6b 2c 20 76 20 69 6e 20 72 65 71 2e 68 65 61 64 65 72 73 2e 69 74 65 6d 73 28 29 0a 20 20 20 20 | k,.v.in.req.headers.items()..... |
55fa0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 6b 2e 6c 6f 77 65 72 28 29 20 6e | ..................if.k.lower().n |
55fc0 | 6f 74 20 69 6e 20 43 4f 4e 54 45 4e 54 5f 48 45 41 44 45 52 53 7d 0a 20 20 20 20 20 20 20 20 72 | ot.in.CONTENT_HEADERS}.........r |
55fe0 | 65 74 75 72 6e 20 52 65 71 75 65 73 74 28 6e 65 77 75 72 6c 2c 0a 20 20 20 20 20 20 20 20 20 20 | eturn.Request(newurl,........... |
56000 | 20 20 20 20 20 20 20 20 20 20 20 20 20 68 65 61 64 65 72 73 3d 6e 65 77 68 65 61 64 65 72 73 2c | .............headers=newheaders, |
56020 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 72 69 67 69 6e 5f 72 | ........................origin_r |
56040 | 65 71 5f 68 6f 73 74 3d 72 65 71 2e 6f 72 69 67 69 6e 5f 72 65 71 5f 68 6f 73 74 2c 0a 20 20 20 | eq_host=req.origin_req_host,.... |
56060 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 6e 76 65 72 69 66 69 61 62 6c 65 | ....................unverifiable |
56080 | 3d 54 72 75 65 29 0a 0a 20 20 20 20 23 20 49 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 6e 6f 74 | =True)......#.Implementation.not |
560a0 | 65 3a 20 54 6f 20 61 76 6f 69 64 20 74 68 65 20 73 65 72 76 65 72 20 73 65 6e 64 69 6e 67 20 75 | e:.To.avoid.the.server.sending.u |
560c0 | 73 20 69 6e 74 6f 20 61 6e 0a 20 20 20 20 23 20 69 6e 66 69 6e 69 74 65 20 6c 6f 6f 70 2c 20 74 | s.into.an.....#.infinite.loop,.t |
560e0 | 68 65 20 72 65 71 75 65 73 74 20 6f 62 6a 65 63 74 20 6e 65 65 64 73 20 74 6f 20 74 72 61 63 6b | he.request.object.needs.to.track |
56100 | 20 77 68 61 74 20 55 52 4c 73 20 77 65 0a 20 20 20 20 23 20 68 61 76 65 20 61 6c 72 65 61 64 79 | .what.URLs.we.....#.have.already |
56120 | 20 73 65 65 6e 2e 20 20 44 6f 20 74 68 69 73 20 62 79 20 61 64 64 69 6e 67 20 61 20 68 61 6e 64 | .seen...Do.this.by.adding.a.hand |
56140 | 6c 65 72 2d 73 70 65 63 69 66 69 63 0a 20 20 20 20 23 20 61 74 74 72 69 62 75 74 65 20 74 6f 20 | ler-specific.....#.attribute.to. |
56160 | 74 68 65 20 52 65 71 75 65 73 74 20 6f 62 6a 65 63 74 2e 0a 20 20 20 20 64 65 66 20 68 74 74 70 | the.Request.object......def.http |
56180 | 5f 65 72 72 6f 72 5f 33 30 32 28 73 65 6c 66 2c 20 72 65 71 2c 20 66 70 2c 20 63 6f 64 65 2c 20 | _error_302(self,.req,.fp,.code,. |
561a0 | 6d 73 67 2c 20 68 65 61 64 65 72 73 29 3a 0a 20 20 20 20 20 20 20 20 23 20 53 6f 6d 65 20 73 65 | msg,.headers):.........#.Some.se |
561c0 | 72 76 65 72 73 20 28 69 6e 63 6f 72 72 65 63 74 6c 79 29 20 72 65 74 75 72 6e 20 6d 75 6c 74 69 | rvers.(incorrectly).return.multi |
561e0 | 70 6c 65 20 4c 6f 63 61 74 69 6f 6e 20 68 65 61 64 65 72 73 0a 20 20 20 20 20 20 20 20 23 20 28 | ple.Location.headers.........#.( |
56200 | 73 6f 20 70 72 6f 62 61 62 6c 79 20 73 61 6d 65 20 67 6f 65 73 20 66 6f 72 20 55 52 49 29 2e 20 | so.probably.same.goes.for.URI).. |
56220 | 20 55 73 65 20 66 69 72 73 74 20 68 65 61 64 65 72 2e 0a 20 20 20 20 20 20 20 20 69 66 20 22 6c | .Use.first.header..........if."l |
56240 | 6f 63 61 74 69 6f 6e 22 20 69 6e 20 68 65 61 64 65 72 73 3a 0a 20 20 20 20 20 20 20 20 20 20 20 | ocation".in.headers:............ |
56260 | 20 6e 65 77 75 72 6c 20 3d 20 68 65 61 64 65 72 73 5b 22 6c 6f 63 61 74 69 6f 6e 22 5d 0a 20 20 | .newurl.=.headers["location"]... |
56280 | 20 20 20 20 20 20 65 6c 69 66 20 22 75 72 69 22 20 69 6e 20 68 65 61 64 65 72 73 3a 0a 20 20 20 | ......elif."uri".in.headers:.... |
562a0 | 20 20 20 20 20 20 20 20 20 6e 65 77 75 72 6c 20 3d 20 68 65 61 64 65 72 73 5b 22 75 72 69 22 5d | .........newurl.=.headers["uri"] |
562c0 | 0a 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 | .........else:.............retur |
562e0 | 6e 0a 0a 20 20 20 20 20 20 20 20 23 20 66 69 78 20 61 20 70 6f 73 73 69 62 6c 65 20 6d 61 6c 66 | n..........#.fix.a.possible.malf |
56300 | 6f 72 6d 65 64 20 55 52 4c 0a 20 20 20 20 20 20 20 20 75 72 6c 70 61 72 74 73 20 3d 20 75 72 6c | ormed.URL.........urlparts.=.url |
56320 | 70 61 72 73 65 28 6e 65 77 75 72 6c 29 0a 0a 20 20 20 20 20 20 20 20 23 20 46 6f 72 20 73 65 63 | parse(newurl)..........#.For.sec |
56340 | 75 72 69 74 79 20 72 65 61 73 6f 6e 73 20 77 65 20 64 6f 6e 27 74 20 61 6c 6c 6f 77 20 72 65 64 | urity.reasons.we.don't.allow.red |
56360 | 69 72 65 63 74 69 6f 6e 20 74 6f 20 61 6e 79 74 68 69 6e 67 20 6f 74 68 65 72 0a 20 20 20 20 20 | irection.to.anything.other...... |
56380 | 20 20 20 23 20 74 68 61 6e 20 68 74 74 70 2c 20 68 74 74 70 73 20 6f 72 20 66 74 70 2e 0a 0a 20 | ...#.than.http,.https.or.ftp.... |
563a0 | 20 20 20 20 20 20 20 69 66 20 75 72 6c 70 61 72 74 73 2e 73 63 68 65 6d 65 20 6e 6f 74 20 69 6e | .......if.urlparts.scheme.not.in |
563c0 | 20 28 27 68 74 74 70 27 2c 20 27 68 74 74 70 73 27 2c 20 27 66 74 70 27 2c 20 27 27 29 3a 0a 20 | .('http',.'https',.'ftp',.''):.. |
563e0 | 20 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 48 54 54 50 45 72 72 6f 72 28 0a 20 20 20 20 | ...........raise.HTTPError(..... |
56400 | 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 77 75 72 6c 2c 20 63 6f 64 65 2c 0a 20 20 20 20 20 20 | ............newurl,.code,....... |
56420 | 20 20 20 20 20 20 20 20 20 20 22 25 73 20 2d 20 52 65 64 69 72 65 63 74 69 6f 6e 20 74 6f 20 75 | .........."%s.-.Redirection.to.u |
56440 | 72 6c 20 27 25 73 27 20 69 73 20 6e 6f 74 20 61 6c 6c 6f 77 65 64 22 20 25 20 28 6d 73 67 2c 20 | rl.'%s'.is.not.allowed".%.(msg,. |
56460 | 6e 65 77 75 72 6c 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 68 65 61 64 65 72 73 | newurl),.................headers |
56480 | 2c 20 66 70 29 0a 0a 20 20 20 20 20 20 20 20 69 66 20 6e 6f 74 20 75 72 6c 70 61 72 74 73 2e 70 | ,.fp)..........if.not.urlparts.p |
564a0 | 61 74 68 20 61 6e 64 20 75 72 6c 70 61 72 74 73 2e 6e 65 74 6c 6f 63 3a 0a 20 20 20 20 20 20 20 | ath.and.urlparts.netloc:........ |
564c0 | 20 20 20 20 20 75 72 6c 70 61 72 74 73 20 3d 20 6c 69 73 74 28 75 72 6c 70 61 72 74 73 29 0a 20 | .....urlparts.=.list(urlparts).. |
564e0 | 20 20 20 20 20 20 20 20 20 20 20 75 72 6c 70 61 72 74 73 5b 32 5d 20 3d 20 22 2f 22 0a 20 20 20 | ...........urlparts[2].=."/".... |
56500 | 20 20 20 20 20 6e 65 77 75 72 6c 20 3d 20 75 72 6c 75 6e 70 61 72 73 65 28 75 72 6c 70 61 72 74 | .....newurl.=.urlunparse(urlpart |
56520 | 73 29 0a 0a 20 20 20 20 20 20 20 20 23 20 68 74 74 70 2e 63 6c 69 65 6e 74 2e 70 61 72 73 65 5f | s)..........#.http.client.parse_ |
56540 | 68 65 61 64 65 72 73 28 29 20 64 65 63 6f 64 65 73 20 61 73 20 49 53 4f 2d 38 38 35 39 2d 31 2e | headers().decodes.as.ISO-8859-1. |
56560 | 20 20 52 65 63 6f 76 65 72 20 74 68 65 0a 20 20 20 20 20 20 20 20 23 20 6f 72 69 67 69 6e 61 6c | ..Recover.the.........#.original |
56580 | 20 62 79 74 65 73 20 61 6e 64 20 70 65 72 63 65 6e 74 2d 65 6e 63 6f 64 65 20 6e 6f 6e 2d 41 53 | .bytes.and.percent-encode.non-AS |
565a0 | 43 49 49 20 62 79 74 65 73 2c 20 61 6e 64 20 61 6e 79 20 73 70 65 63 69 61 6c 0a 20 20 20 20 20 | CII.bytes,.and.any.special...... |
565c0 | 20 20 20 23 20 63 68 61 72 61 63 74 65 72 73 20 73 75 63 68 20 61 73 20 74 68 65 20 73 70 61 63 | ...#.characters.such.as.the.spac |
565e0 | 65 2e 0a 20 20 20 20 20 20 20 20 6e 65 77 75 72 6c 20 3d 20 71 75 6f 74 65 28 0a 20 20 20 20 20 | e..........newurl.=.quote(...... |
56600 | 20 20 20 20 20 20 20 6e 65 77 75 72 6c 2c 20 65 6e 63 6f 64 69 6e 67 3d 22 69 73 6f 2d 38 38 35 | .......newurl,.encoding="iso-885 |
56620 | 39 2d 31 22 2c 20 73 61 66 65 3d 73 74 72 69 6e 67 2e 70 75 6e 63 74 75 61 74 69 6f 6e 29 0a 20 | 9-1",.safe=string.punctuation).. |
56640 | 20 20 20 20 20 20 20 6e 65 77 75 72 6c 20 3d 20 75 72 6c 6a 6f 69 6e 28 72 65 71 2e 66 75 6c 6c | .......newurl.=.urljoin(req.full |
56660 | 5f 75 72 6c 2c 20 6e 65 77 75 72 6c 29 0a 0a 20 20 20 20 20 20 20 20 23 20 58 58 58 20 50 72 6f | _url,.newurl)..........#.XXX.Pro |
56680 | 62 61 62 6c 79 20 77 61 6e 74 20 74 6f 20 66 6f 72 67 65 74 20 61 62 6f 75 74 20 74 68 65 20 73 | bably.want.to.forget.about.the.s |
566a0 | 74 61 74 65 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 0a 20 20 20 20 20 20 20 20 23 20 72 65 | tate.of.the.current.........#.re |
566c0 | 71 75 65 73 74 2c 20 61 6c 74 68 6f 75 67 68 20 74 68 61 74 20 6d 69 67 68 74 20 69 6e 74 65 72 | quest,.although.that.might.inter |
566e0 | 61 63 74 20 70 6f 6f 72 6c 79 20 77 69 74 68 20 6f 74 68 65 72 0a 20 20 20 20 20 20 20 20 23 20 | act.poorly.with.other.........#. |
56700 | 68 61 6e 64 6c 65 72 73 20 74 68 61 74 20 61 6c 73 6f 20 75 73 65 20 68 61 6e 64 6c 65 72 2d 73 | handlers.that.also.use.handler-s |
56720 | 70 65 63 69 66 69 63 20 72 65 71 75 65 73 74 20 61 74 74 72 69 62 75 74 65 73 0a 20 20 20 20 20 | pecific.request.attributes...... |
56740 | 20 20 20 6e 65 77 20 3d 20 73 65 6c 66 2e 72 65 64 69 72 65 63 74 5f 72 65 71 75 65 73 74 28 72 | ...new.=.self.redirect_request(r |
56760 | 65 71 2c 20 66 70 2c 20 63 6f 64 65 2c 20 6d 73 67 2c 20 68 65 61 64 65 72 73 2c 20 6e 65 77 75 | eq,.fp,.code,.msg,.headers,.newu |
56780 | 72 6c 29 0a 20 20 20 20 20 20 20 20 69 66 20 6e 65 77 20 69 73 20 4e 6f 6e 65 3a 0a 20 20 20 20 | rl).........if.new.is.None:..... |
567a0 | 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 0a 0a 20 20 20 20 20 20 20 20 23 20 6c 6f 6f 70 20 64 | ........return..........#.loop.d |
567c0 | 65 74 65 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 23 20 2e 72 65 64 69 72 65 63 74 5f 64 69 63 | etection.........#..redirect_dic |
567e0 | 74 20 68 61 73 20 61 20 6b 65 79 20 75 72 6c 20 69 66 20 75 72 6c 20 77 61 73 20 70 72 65 76 69 | t.has.a.key.url.if.url.was.previ |
56800 | 6f 75 73 6c 79 20 76 69 73 69 74 65 64 2e 0a 20 20 20 20 20 20 20 20 69 66 20 68 61 73 61 74 74 | ously.visited..........if.hasatt |
56820 | 72 28 72 65 71 2c 20 27 72 65 64 69 72 65 63 74 5f 64 69 63 74 27 29 3a 0a 20 20 20 20 20 20 20 | r(req,.'redirect_dict'):........ |
56840 | 20 20 20 20 20 76 69 73 69 74 65 64 20 3d 20 6e 65 77 2e 72 65 64 69 72 65 63 74 5f 64 69 63 74 | .....visited.=.new.redirect_dict |
56860 | 20 3d 20 72 65 71 2e 72 65 64 69 72 65 63 74 5f 64 69 63 74 0a 20 20 20 20 20 20 20 20 20 20 20 | .=.req.redirect_dict............ |
56880 | 20 69 66 20 28 76 69 73 69 74 65 64 2e 67 65 74 28 6e 65 77 75 72 6c 2c 20 30 29 20 3e 3d 20 73 | .if.(visited.get(newurl,.0).>=.s |
568a0 | 65 6c 66 2e 6d 61 78 5f 72 65 70 65 61 74 73 20 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | elf.max_repeats.or.............. |
568c0 | 20 20 20 6c 65 6e 28 76 69 73 69 74 65 64 29 20 3e 3d 20 73 65 6c 66 2e 6d 61 78 5f 72 65 64 69 | ...len(visited).>=.self.max_redi |
568e0 | 72 65 63 74 69 6f 6e 73 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 | rections):.................raise |
56900 | 20 48 54 54 50 45 72 72 6f 72 28 72 65 71 2e 66 75 6c 6c 5f 75 72 6c 2c 20 63 6f 64 65 2c 0a 20 | .HTTPError(req.full_url,.code,.. |
56920 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 | ...............................s |
56940 | 65 6c 66 2e 69 6e 66 5f 6d 73 67 20 2b 20 6d 73 67 2c 20 68 65 61 64 65 72 73 2c 20 66 70 29 0a | elf.inf_msg.+.msg,.headers,.fp). |
56960 | 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 69 73 69 74 65 | ........else:.............visite |
56980 | 64 20 3d 20 6e 65 77 2e 72 65 64 69 72 65 63 74 5f 64 69 63 74 20 3d 20 72 65 71 2e 72 65 64 69 | d.=.new.redirect_dict.=.req.redi |
569a0 | 72 65 63 74 5f 64 69 63 74 20 3d 20 7b 7d 0a 20 20 20 20 20 20 20 20 76 69 73 69 74 65 64 5b 6e | rect_dict.=.{}.........visited[n |
569c0 | 65 77 75 72 6c 5d 20 3d 20 76 69 73 69 74 65 64 2e 67 65 74 28 6e 65 77 75 72 6c 2c 20 30 29 20 | ewurl].=.visited.get(newurl,.0). |
569e0 | 2b 20 31 0a 0a 20 20 20 20 20 20 20 20 23 20 44 6f 6e 27 74 20 63 6c 6f 73 65 20 74 68 65 20 66 | +.1..........#.Don't.close.the.f |
56a00 | 70 20 75 6e 74 69 6c 20 77 65 20 61 72 65 20 73 75 72 65 20 74 68 61 74 20 77 65 20 77 6f 6e 27 | p.until.we.are.sure.that.we.won' |
56a20 | 74 20 75 73 65 20 69 74 0a 20 20 20 20 20 20 20 20 23 20 77 69 74 68 20 48 54 54 50 45 72 72 6f | t.use.it.........#.with.HTTPErro |
56a40 | 72 2e 0a 20 20 20 20 20 20 20 20 66 70 2e 72 65 61 64 28 29 0a 20 20 20 20 20 20 20 20 66 70 2e | r..........fp.read().........fp. |
56a60 | 63 6c 6f 73 65 28 29 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 2e 70 61 72 | close()..........return.self.par |
56a80 | 65 6e 74 2e 6f 70 65 6e 28 6e 65 77 2c 20 74 69 6d 65 6f 75 74 3d 72 65 71 2e 74 69 6d 65 6f 75 | ent.open(new,.timeout=req.timeou |
56aa0 | 74 29 0a 0a 20 20 20 20 68 74 74 70 5f 65 72 72 6f 72 5f 33 30 31 20 3d 20 68 74 74 70 5f 65 72 | t)......http_error_301.=.http_er |
56ac0 | 72 6f 72 5f 33 30 33 20 3d 20 68 74 74 70 5f 65 72 72 6f 72 5f 33 30 37 20 3d 20 68 74 74 70 5f | ror_303.=.http_error_307.=.http_ |
56ae0 | 65 72 72 6f 72 5f 33 30 32 0a 0a 20 20 20 20 69 6e 66 5f 6d 73 67 20 3d 20 22 54 68 65 20 48 54 | error_302......inf_msg.=."The.HT |
56b00 | 54 50 20 73 65 72 76 65 72 20 72 65 74 75 72 6e 65 64 20 61 20 72 65 64 69 72 65 63 74 20 65 72 | TP.server.returned.a.redirect.er |
56b20 | 72 6f 72 20 74 68 61 74 20 77 6f 75 6c 64 20 22 20 5c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | ror.that.would.".\.............. |
56b40 | 20 22 6c 65 61 64 20 74 6f 20 61 6e 20 69 6e 66 69 6e 69 74 65 20 6c 6f 6f 70 2e 5c 6e 22 20 5c | ."lead.to.an.infinite.loop.\n".\ |
56b60 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 54 68 65 20 6c 61 73 74 20 33 30 78 20 65 72 72 | ..............."The.last.30x.err |
56b80 | 6f 72 20 6d 65 73 73 61 67 65 20 77 61 73 3a 5c 6e 22 0a 0a 0a 64 65 66 20 5f 70 61 72 73 65 5f | or.message.was:\n"...def._parse_ |
56ba0 | 70 72 6f 78 79 28 70 72 6f 78 79 29 3a 0a 20 20 20 20 22 22 22 52 65 74 75 72 6e 20 28 73 63 68 | proxy(proxy):....."""Return.(sch |
56bc0 | 65 6d 65 2c 20 75 73 65 72 2c 20 70 61 73 73 77 6f 72 64 2c 20 68 6f 73 74 2f 70 6f 72 74 29 20 | eme,.user,.password,.host/port). |
56be0 | 67 69 76 65 6e 20 61 20 55 52 4c 20 6f 72 20 61 6e 20 61 75 74 68 6f 72 69 74 79 2e 0a 0a 20 20 | given.a.URL.or.an.authority..... |
56c00 | 20 20 49 66 20 61 20 55 52 4c 20 69 73 20 73 75 70 70 6c 69 65 64 2c 20 69 74 20 6d 75 73 74 20 | ..If.a.URL.is.supplied,.it.must. |
56c20 | 68 61 76 65 20 61 6e 20 61 75 74 68 6f 72 69 74 79 20 28 68 6f 73 74 3a 70 6f 72 74 29 20 63 6f | have.an.authority.(host:port).co |
56c40 | 6d 70 6f 6e 65 6e 74 2e 0a 20 20 20 20 41 63 63 6f 72 64 69 6e 67 20 74 6f 20 52 46 43 20 33 39 | mponent......According.to.RFC.39 |
56c60 | 38 36 2c 20 68 61 76 69 6e 67 20 61 6e 20 61 75 74 68 6f 72 69 74 79 20 63 6f 6d 70 6f 6e 65 6e | 86,.having.an.authority.componen |
56c80 | 74 20 6d 65 61 6e 73 20 74 68 65 20 55 52 4c 20 6d 75 73 74 0a 20 20 20 20 68 61 76 65 20 74 77 | t.means.the.URL.must.....have.tw |
56ca0 | 6f 20 73 6c 61 73 68 65 73 20 61 66 74 65 72 20 74 68 65 20 73 63 68 65 6d 65 2e 0a 20 20 20 20 | o.slashes.after.the.scheme...... |
56cc0 | 22 22 22 0a 20 20 20 20 73 63 68 65 6d 65 2c 20 72 5f 73 63 68 65 6d 65 20 3d 20 73 70 6c 69 74 | """.....scheme,.r_scheme.=.split |
56ce0 | 74 79 70 65 28 70 72 6f 78 79 29 0a 20 20 20 20 69 66 20 6e 6f 74 20 72 5f 73 63 68 65 6d 65 2e | type(proxy).....if.not.r_scheme. |
56d00 | 73 74 61 72 74 73 77 69 74 68 28 22 2f 22 29 3a 0a 20 20 20 20 20 20 20 20 23 20 61 75 74 68 6f | startswith("/"):.........#.autho |
56d20 | 72 69 74 79 0a 20 20 20 20 20 20 20 20 73 63 68 65 6d 65 20 3d 20 4e 6f 6e 65 0a 20 20 20 20 20 | rity.........scheme.=.None...... |
56d40 | 20 20 20 61 75 74 68 6f 72 69 74 79 20 3d 20 70 72 6f 78 79 0a 20 20 20 20 65 6c 73 65 3a 0a 20 | ...authority.=.proxy.....else:.. |
56d60 | 20 20 20 20 20 20 20 23 20 55 52 4c 0a 20 20 20 20 20 20 20 20 69 66 20 6e 6f 74 20 72 5f 73 63 | .......#.URL.........if.not.r_sc |
56d80 | 68 65 6d 65 2e 73 74 61 72 74 73 77 69 74 68 28 22 2f 2f 22 29 3a 0a 20 20 20 20 20 20 20 20 20 | heme.startswith("//"):.......... |
56da0 | 20 20 20 72 61 69 73 65 20 56 61 6c 75 65 45 72 72 6f 72 28 22 70 72 6f 78 79 20 55 52 4c 20 77 | ...raise.ValueError("proxy.URL.w |
56dc0 | 69 74 68 20 6e 6f 20 61 75 74 68 6f 72 69 74 79 3a 20 25 72 22 20 25 20 70 72 6f 78 79 29 0a 20 | ith.no.authority:.%r".%.proxy).. |
56de0 | 20 20 20 20 20 20 20 23 20 57 65 20 68 61 76 65 20 61 6e 20 61 75 74 68 6f 72 69 74 79 2c 20 73 | .......#.We.have.an.authority,.s |
56e00 | 6f 20 66 6f 72 20 52 46 43 20 33 39 38 36 2d 63 6f 6d 70 6c 69 61 6e 74 20 55 52 4c 73 20 28 62 | o.for.RFC.3986-compliant.URLs.(b |
56e20 | 79 20 73 73 20 33 2e 0a 20 20 20 20 20 20 20 20 23 20 61 6e 64 20 33 2e 33 2e 29 2c 20 70 61 74 | y.ss.3..........#.and.3.3.),.pat |
56e40 | 68 20 69 73 20 65 6d 70 74 79 20 6f 72 20 73 74 61 72 74 73 20 77 69 74 68 20 27 2f 27 0a 20 20 | h.is.empty.or.starts.with.'/'... |
56e60 | 20 20 20 20 20 20 65 6e 64 20 3d 20 72 5f 73 63 68 65 6d 65 2e 66 69 6e 64 28 22 2f 22 2c 20 32 | ......end.=.r_scheme.find("/",.2 |
56e80 | 29 0a 20 20 20 20 20 20 20 20 69 66 20 65 6e 64 20 3d 3d 20 2d 31 3a 0a 20 20 20 20 20 20 20 20 | ).........if.end.==.-1:......... |
56ea0 | 20 20 20 20 65 6e 64 20 3d 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 61 75 74 68 6f 72 69 74 79 | ....end.=.None.........authority |
56ec0 | 20 3d 20 72 5f 73 63 68 65 6d 65 5b 32 3a 65 6e 64 5d 0a 20 20 20 20 75 73 65 72 69 6e 66 6f 2c | .=.r_scheme[2:end].....userinfo, |
56ee0 | 20 68 6f 73 74 70 6f 72 74 20 3d 20 73 70 6c 69 74 75 73 65 72 28 61 75 74 68 6f 72 69 74 79 29 | .hostport.=.splituser(authority) |
56f00 | 0a 20 20 20 20 69 66 20 75 73 65 72 69 6e 66 6f 20 69 73 20 6e 6f 74 20 4e 6f 6e 65 3a 0a 20 20 | .....if.userinfo.is.not.None:... |
56f20 | 20 20 20 20 20 20 75 73 65 72 2c 20 70 61 73 73 77 6f 72 64 20 3d 20 73 70 6c 69 74 70 61 73 73 | ......user,.password.=.splitpass |
56f40 | 77 64 28 75 73 65 72 69 6e 66 6f 29 0a 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 75 | wd(userinfo).....else:.........u |
56f60 | 73 65 72 20 3d 20 70 61 73 73 77 6f 72 64 20 3d 20 4e 6f 6e 65 0a 20 20 20 20 72 65 74 75 72 6e | ser.=.password.=.None.....return |
56f80 | 20 73 63 68 65 6d 65 2c 20 75 73 65 72 2c 20 70 61 73 73 77 6f 72 64 2c 20 68 6f 73 74 70 6f 72 | .scheme,.user,.password,.hostpor |
56fa0 | 74 0a 0a 63 6c 61 73 73 20 50 72 6f 78 79 48 61 6e 64 6c 65 72 28 42 61 73 65 48 61 6e 64 6c 65 | t..class.ProxyHandler(BaseHandle |
56fc0 | 72 29 3a 0a 20 20 20 20 23 20 50 72 6f 78 69 65 73 20 6d 75 73 74 20 62 65 20 69 6e 20 66 72 6f | r):.....#.Proxies.must.be.in.fro |
56fe0 | 6e 74 0a 20 20 20 20 68 61 6e 64 6c 65 72 5f 6f 72 64 65 72 20 3d 20 31 30 30 0a 0a 20 20 20 20 | nt.....handler_order.=.100...... |
57000 | 64 65 66 20 5f 5f 69 6e 69 74 5f 5f 28 73 65 6c 66 2c 20 70 72 6f 78 69 65 73 3d 4e 6f 6e 65 29 | def.__init__(self,.proxies=None) |
57020 | 3a 0a 20 20 20 20 20 20 20 20 69 66 20 70 72 6f 78 69 65 73 20 69 73 20 4e 6f 6e 65 3a 0a 20 20 | :.........if.proxies.is.None:... |
57040 | 20 20 20 20 20 20 20 20 20 20 70 72 6f 78 69 65 73 20 3d 20 67 65 74 70 72 6f 78 69 65 73 28 29 | ..........proxies.=.getproxies() |
57060 | 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 20 68 61 73 61 74 74 72 28 70 72 6f 78 69 65 73 2c | .........assert.hasattr(proxies, |
57080 | 20 27 6b 65 79 73 27 29 2c 20 22 70 72 6f 78 69 65 73 20 6d 75 73 74 20 62 65 20 61 20 6d 61 70 | .'keys'),."proxies.must.be.a.map |
570a0 | 70 69 6e 67 22 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 70 72 6f 78 69 65 73 20 3d 20 70 72 6f | ping".........self.proxies.=.pro |
570c0 | 78 69 65 73 0a 20 20 20 20 20 20 20 20 66 6f 72 20 74 79 70 65 2c 20 75 72 6c 20 69 6e 20 70 72 | xies.........for.type,.url.in.pr |
570e0 | 6f 78 69 65 73 2e 69 74 65 6d 73 28 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 74 61 74 | oxies.items():.............setat |
57100 | 74 72 28 73 65 6c 66 2c 20 27 25 73 5f 6f 70 65 6e 27 20 25 20 74 79 70 65 2c 0a 20 20 20 20 20 | tr(self,.'%s_open'.%.type,...... |
57120 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 61 6d 62 64 61 20 72 2c 20 70 72 6f 78 79 3d 75 | ...............lambda.r,.proxy=u |
57140 | 72 6c 2c 20 74 79 70 65 3d 74 79 70 65 2c 20 6d 65 74 68 3d 73 65 6c 66 2e 70 72 6f 78 79 5f 6f | rl,.type=type,.meth=self.proxy_o |
57160 | 70 65 6e 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 65 74 | pen:.........................met |
57180 | 68 28 72 2c 20 70 72 6f 78 79 2c 20 74 79 70 65 29 29 0a 0a 20 20 20 20 64 65 66 20 70 72 6f 78 | h(r,.proxy,.type))......def.prox |
571a0 | 79 5f 6f 70 65 6e 28 73 65 6c 66 2c 20 72 65 71 2c 20 70 72 6f 78 79 2c 20 74 79 70 65 29 3a 0a | y_open(self,.req,.proxy,.type):. |
571c0 | 20 20 20 20 20 20 20 20 6f 72 69 67 5f 74 79 70 65 20 3d 20 72 65 71 2e 74 79 70 65 0a 20 20 20 | ........orig_type.=.req.type.... |
571e0 | 20 20 20 20 20 70 72 6f 78 79 5f 74 79 70 65 2c 20 75 73 65 72 2c 20 70 61 73 73 77 6f 72 64 2c | .....proxy_type,.user,.password, |
57200 | 20 68 6f 73 74 70 6f 72 74 20 3d 20 5f 70 61 72 73 65 5f 70 72 6f 78 79 28 70 72 6f 78 79 29 0a | .hostport.=._parse_proxy(proxy). |
57220 | 20 20 20 20 20 20 20 20 69 66 20 70 72 6f 78 79 5f 74 79 70 65 20 69 73 20 4e 6f 6e 65 3a 0a 20 | ........if.proxy_type.is.None:.. |
57240 | 20 20 20 20 20 20 20 20 20 20 20 70 72 6f 78 79 5f 74 79 70 65 20 3d 20 6f 72 69 67 5f 74 79 70 | ...........proxy_type.=.orig_typ |
57260 | 65 0a 0a 20 20 20 20 20 20 20 20 69 66 20 72 65 71 2e 68 6f 73 74 20 61 6e 64 20 70 72 6f 78 79 | e..........if.req.host.and.proxy |
57280 | 5f 62 79 70 61 73 73 28 72 65 71 2e 68 6f 73 74 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 | _bypass(req.host):.............r |
572a0 | 65 74 75 72 6e 20 4e 6f 6e 65 0a 0a 20 20 20 20 20 20 20 20 69 66 20 75 73 65 72 20 61 6e 64 20 | eturn.None..........if.user.and. |
572c0 | 70 61 73 73 77 6f 72 64 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 75 73 65 72 5f 70 61 73 73 20 | password:.............user_pass. |
572e0 | 3d 20 27 25 73 3a 25 73 27 20 25 20 28 75 6e 71 75 6f 74 65 28 75 73 65 72 29 2c 0a 20 20 20 20 | =.'%s:%s'.%.(unquote(user),..... |
57300 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 | ...............................u |
57320 | 6e 71 75 6f 74 65 28 70 61 73 73 77 6f 72 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 72 | nquote(password)).............cr |
57340 | 65 64 73 20 3d 20 62 61 73 65 36 34 2e 62 36 34 65 6e 63 6f 64 65 28 75 73 65 72 5f 70 61 73 73 | eds.=.base64.b64encode(user_pass |
57360 | 2e 65 6e 63 6f 64 65 28 29 29 2e 64 65 63 6f 64 65 28 22 61 73 63 69 69 22 29 0a 20 20 20 20 20 | .encode()).decode("ascii")...... |
57380 | 20 20 20 20 20 20 20 72 65 71 2e 61 64 64 5f 68 65 61 64 65 72 28 27 50 72 6f 78 79 2d 61 75 74 | .......req.add_header('Proxy-aut |
573a0 | 68 6f 72 69 7a 61 74 69 6f 6e 27 2c 20 27 42 61 73 69 63 20 27 20 2b 20 63 72 65 64 73 29 0a 20 | horization',.'Basic.'.+.creds).. |
573c0 | 20 20 20 20 20 20 20 68 6f 73 74 70 6f 72 74 20 3d 20 75 6e 71 75 6f 74 65 28 68 6f 73 74 70 6f | .......hostport.=.unquote(hostpo |
573e0 | 72 74 29 0a 20 20 20 20 20 20 20 20 72 65 71 2e 73 65 74 5f 70 72 6f 78 79 28 68 6f 73 74 70 6f | rt).........req.set_proxy(hostpo |
57400 | 72 74 2c 20 70 72 6f 78 79 5f 74 79 70 65 29 0a 20 20 20 20 20 20 20 20 69 66 20 6f 72 69 67 5f | rt,.proxy_type).........if.orig_ |
57420 | 74 79 70 65 20 3d 3d 20 70 72 6f 78 79 5f 74 79 70 65 20 6f 72 20 6f 72 69 67 5f 74 79 70 65 20 | type.==.proxy_type.or.orig_type. |
57440 | 3d 3d 20 27 68 74 74 70 73 27 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 23 20 6c 65 74 20 6f 74 | ==.'https':.............#.let.ot |
57460 | 68 65 72 20 68 61 6e 64 6c 65 72 73 20 74 61 6b 65 20 63 61 72 65 20 6f 66 20 69 74 0a 20 20 20 | her.handlers.take.care.of.it.... |
57480 | 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 65 6c 73 | .........return.None.........els |
574a0 | 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 23 20 6e 65 65 64 20 74 6f 20 73 74 61 72 74 20 6f | e:.............#.need.to.start.o |
574c0 | 76 65 72 2c 20 62 65 63 61 75 73 65 20 74 68 65 20 6f 74 68 65 72 20 68 61 6e 64 6c 65 72 73 20 | ver,.because.the.other.handlers. |
574e0 | 64 6f 6e 27 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 23 20 67 72 6f 6b 20 74 68 65 20 70 72 6f | don't.............#.grok.the.pro |
57500 | 78 79 27 73 20 55 52 4c 20 74 79 70 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 23 20 65 2e 67 2e | xy's.URL.type.............#.e.g. |
57520 | 20 69 66 20 77 65 20 68 61 76 65 20 61 20 63 6f 6e 73 74 72 75 63 74 6f 72 20 61 72 67 20 70 72 | .if.we.have.a.constructor.arg.pr |
57540 | 6f 78 69 65 73 20 6c 69 6b 65 20 73 6f 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 23 20 7b 27 68 | oxies.like.so:.............#.{'h |
57560 | 74 74 70 27 3a 20 27 66 74 70 3a 2f 2f 70 72 6f 78 79 2e 65 78 61 6d 70 6c 65 2e 63 6f 6d 27 7d | ttp':.'ftp://proxy.example.com'} |
57580 | 2c 20 77 65 20 6d 61 79 20 65 6e 64 20 75 70 20 74 75 72 6e 69 6e 67 0a 20 20 20 20 20 20 20 20 | ,.we.may.end.up.turning......... |
575a0 | 20 20 20 20 23 20 61 20 72 65 71 75 65 73 74 20 66 6f 72 20 68 74 74 70 3a 2f 2f 61 63 6d 65 2e | ....#.a.request.for.http://acme. |
575c0 | 65 78 61 6d 70 6c 65 2e 63 6f 6d 2f 61 20 69 6e 74 6f 20 6f 6e 65 20 66 6f 72 0a 20 20 20 20 20 | example.com/a.into.one.for...... |
575e0 | 20 20 20 20 20 20 20 23 20 66 74 70 3a 2f 2f 70 72 6f 78 79 2e 65 78 61 6d 70 6c 65 2e 63 6f 6d | .......#.ftp://proxy.example.com |
57600 | 2f 61 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 2e 70 61 72 65 6e | /a.............return.self.paren |
57620 | 74 2e 6f 70 65 6e 28 72 65 71 2c 20 74 69 6d 65 6f 75 74 3d 72 65 71 2e 74 69 6d 65 6f 75 74 29 | t.open(req,.timeout=req.timeout) |
57640 | 0a 0a 63 6c 61 73 73 20 48 54 54 50 50 61 73 73 77 6f 72 64 4d 67 72 3a 0a 0a 20 20 20 20 64 65 | ..class.HTTPPasswordMgr:......de |
57660 | 66 20 5f 5f 69 6e 69 74 5f 5f 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 70 | f.__init__(self):.........self.p |
57680 | 61 73 73 77 64 20 3d 20 7b 7d 0a 0a 20 20 20 20 64 65 66 20 61 64 64 5f 70 61 73 73 77 6f 72 64 | asswd.=.{}......def.add_password |
576a0 | 28 73 65 6c 66 2c 20 72 65 61 6c 6d 2c 20 75 72 69 2c 20 75 73 65 72 2c 20 70 61 73 73 77 64 29 | (self,.realm,.uri,.user,.passwd) |
576c0 | 3a 0a 20 20 20 20 20 20 20 20 23 20 75 72 69 20 63 6f 75 6c 64 20 62 65 20 61 20 73 69 6e 67 6c | :.........#.uri.could.be.a.singl |
576e0 | 65 20 55 52 49 20 6f 72 20 61 20 73 65 71 75 65 6e 63 65 0a 20 20 20 20 20 20 20 20 69 66 20 69 | e.URI.or.a.sequence.........if.i |
57700 | 73 69 6e 73 74 61 6e 63 65 28 75 72 69 2c 20 73 74 72 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 | sinstance(uri,.str):............ |
57720 | 20 75 72 69 20 3d 20 5b 75 72 69 5d 0a 20 20 20 20 20 20 20 20 69 66 20 72 65 61 6c 6d 20 6e 6f | .uri.=.[uri].........if.realm.no |
57740 | 74 20 69 6e 20 73 65 6c 66 2e 70 61 73 73 77 64 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 | t.in.self.passwd:.............se |
57760 | 6c 66 2e 70 61 73 73 77 64 5b 72 65 61 6c 6d 5d 20 3d 20 7b 7d 0a 20 20 20 20 20 20 20 20 66 6f | lf.passwd[realm].=.{}.........fo |
57780 | 72 20 64 65 66 61 75 6c 74 5f 70 6f 72 74 20 69 6e 20 54 72 75 65 2c 20 46 61 6c 73 65 3a 0a 20 | r.default_port.in.True,.False:.. |
577a0 | 20 20 20 20 20 20 20 20 20 20 20 72 65 64 75 63 65 64 5f 75 72 69 20 3d 20 74 75 70 6c 65 28 0a | ...........reduced_uri.=.tuple(. |
577c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 72 65 64 75 63 65 5f 75 72 69 28 | ................self.reduce_uri( |
577e0 | 75 2c 20 64 65 66 61 75 6c 74 5f 70 6f 72 74 29 20 66 6f 72 20 75 20 69 6e 20 75 72 69 29 0a 20 | u,.default_port).for.u.in.uri).. |
57800 | 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 70 61 73 73 77 64 5b 72 65 61 6c 6d 5d 5b 72 65 | ...........self.passwd[realm][re |
57820 | 64 75 63 65 64 5f 75 72 69 5d 20 3d 20 28 75 73 65 72 2c 20 70 61 73 73 77 64 29 0a 0a 20 20 20 | duced_uri].=.(user,.passwd)..... |
57840 | 20 64 65 66 20 66 69 6e 64 5f 75 73 65 72 5f 70 61 73 73 77 6f 72 64 28 73 65 6c 66 2c 20 72 65 | .def.find_user_password(self,.re |
57860 | 61 6c 6d 2c 20 61 75 74 68 75 72 69 29 3a 0a 20 20 20 20 20 20 20 20 64 6f 6d 61 69 6e 73 20 3d | alm,.authuri):.........domains.= |
57880 | 20 73 65 6c 66 2e 70 61 73 73 77 64 2e 67 65 74 28 72 65 61 6c 6d 2c 20 7b 7d 29 0a 20 20 20 20 | .self.passwd.get(realm,.{})..... |
578a0 | 20 20 20 20 66 6f 72 20 64 65 66 61 75 6c 74 5f 70 6f 72 74 20 69 6e 20 54 72 75 65 2c 20 46 61 | ....for.default_port.in.True,.Fa |
578c0 | 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 64 75 63 65 64 5f 61 75 74 68 75 72 69 | lse:.............reduced_authuri |
578e0 | 20 3d 20 73 65 6c 66 2e 72 65 64 75 63 65 5f 75 72 69 28 61 75 74 68 75 72 69 2c 20 64 65 66 61 | .=.self.reduce_uri(authuri,.defa |
57900 | 75 6c 74 5f 70 6f 72 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 75 72 69 73 2c 20 | ult_port).............for.uris,. |
57920 | 61 75 74 68 69 6e 66 6f 20 69 6e 20 64 6f 6d 61 69 6e 73 2e 69 74 65 6d 73 28 29 3a 0a 20 20 20 | authinfo.in.domains.items():.... |
57940 | 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 75 72 69 20 69 6e 20 75 72 69 73 3a 0a 20 20 | .............for.uri.in.uris:... |
57960 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 73 65 6c 66 2e 69 73 5f 73 75 62 | ..................if.self.is_sub |
57980 | 75 72 69 28 75 72 69 2c 20 72 65 64 75 63 65 64 5f 61 75 74 68 75 72 69 29 3a 0a 20 20 20 20 20 | uri(uri,.reduced_authuri):...... |
579a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 61 75 74 68 69 6e | ...................return.authin |
579c0 | 66 6f 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 4e 6f 6e 65 2c 20 4e 6f 6e 65 0a 0a 20 20 | fo.........return.None,.None.... |
579e0 | 20 20 64 65 66 20 72 65 64 75 63 65 5f 75 72 69 28 73 65 6c 66 2c 20 75 72 69 2c 20 64 65 66 61 | ..def.reduce_uri(self,.uri,.defa |
57a00 | 75 6c 74 5f 70 6f 72 74 3d 54 72 75 65 29 3a 0a 20 20 20 20 20 20 20 20 22 22 22 41 63 63 65 70 | ult_port=True):........."""Accep |
57a20 | 74 20 61 75 74 68 6f 72 69 74 79 20 6f 72 20 55 52 49 20 61 6e 64 20 65 78 74 72 61 63 74 20 6f | t.authority.or.URI.and.extract.o |
57a40 | 6e 6c 79 20 74 68 65 20 61 75 74 68 6f 72 69 74 79 20 61 6e 64 20 70 61 74 68 2e 22 22 22 0a 20 | nly.the.authority.and.path.""".. |
57a60 | 20 20 20 20 20 20 20 23 20 6e 6f 74 65 20 48 54 54 50 20 55 52 4c 73 20 64 6f 20 6e 6f 74 20 68 | .......#.note.HTTP.URLs.do.not.h |
57a80 | 61 76 65 20 61 20 75 73 65 72 69 6e 66 6f 20 63 6f 6d 70 6f 6e 65 6e 74 0a 20 20 20 20 20 20 20 | ave.a.userinfo.component........ |
57aa0 | 20 70 61 72 74 73 20 3d 20 75 72 6c 73 70 6c 69 74 28 75 72 69 29 0a 20 20 20 20 20 20 20 20 69 | .parts.=.urlsplit(uri).........i |
57ac0 | 66 20 70 61 72 74 73 5b 31 5d 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 23 20 55 52 49 0a 20 20 | f.parts[1]:.............#.URI... |
57ae0 | 20 20 20 20 20 20 20 20 20 20 73 63 68 65 6d 65 20 3d 20 70 61 72 74 73 5b 30 5d 0a 20 20 20 20 | ..........scheme.=.parts[0]..... |
57b00 | 20 20 20 20 20 20 20 20 61 75 74 68 6f 72 69 74 79 20 3d 20 70 61 72 74 73 5b 31 5d 0a 20 20 20 | ........authority.=.parts[1].... |
57b20 | 20 20 20 20 20 20 20 20 20 70 61 74 68 20 3d 20 70 61 72 74 73 5b 32 5d 20 6f 72 20 27 2f 27 0a | .........path.=.parts[2].or.'/'. |
57b40 | 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 23 20 68 6f 73 74 | ........else:.............#.host |
57b60 | 20 6f 72 20 68 6f 73 74 3a 70 6f 72 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 63 68 65 6d 65 | .or.host:port.............scheme |
57b80 | 20 3d 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 61 75 74 68 6f 72 69 74 79 20 3d 20 | .=.None.............authority.=. |
57ba0 | 75 72 69 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 61 74 68 20 3d 20 27 2f 27 0a 20 20 20 20 20 | uri.............path.=.'/'...... |
57bc0 | 20 20 20 68 6f 73 74 2c 20 70 6f 72 74 20 3d 20 73 70 6c 69 74 70 6f 72 74 28 61 75 74 68 6f 72 | ...host,.port.=.splitport(author |
57be0 | 69 74 79 29 0a 20 20 20 20 20 20 20 20 69 66 20 64 65 66 61 75 6c 74 5f 70 6f 72 74 20 61 6e 64 | ity).........if.default_port.and |
57c00 | 20 70 6f 72 74 20 69 73 20 4e 6f 6e 65 20 61 6e 64 20 73 63 68 65 6d 65 20 69 73 20 6e 6f 74 20 | .port.is.None.and.scheme.is.not. |
57c20 | 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 70 6f 72 74 20 3d 20 7b 22 68 74 74 70 | None:.............dport.=.{"http |
57c40 | 22 3a 20 38 30 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 68 74 74 | ":.80,......................"htt |
57c60 | 70 73 22 3a 20 34 34 33 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d | ps":.443,......................} |
57c80 | 2e 67 65 74 28 73 63 68 65 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 64 70 6f 72 | .get(scheme).............if.dpor |
57ca0 | 74 20 69 73 20 6e 6f 74 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 | t.is.not.None:.................a |
57cc0 | 75 74 68 6f 72 69 74 79 20 3d 20 22 25 73 3a 25 64 22 20 25 20 28 68 6f 73 74 2c 20 64 70 6f 72 | uthority.=."%s:%d".%.(host,.dpor |
57ce0 | 74 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 61 75 74 68 6f 72 69 74 79 2c 20 70 61 74 | t).........return.authority,.pat |
57d00 | 68 0a 0a 20 20 20 20 64 65 66 20 69 73 5f 73 75 62 75 72 69 28 73 65 6c 66 2c 20 62 61 73 65 2c | h......def.is_suburi(self,.base, |
57d20 | 20 74 65 73 74 29 3a 0a 20 20 20 20 20 20 20 20 22 22 22 43 68 65 63 6b 20 69 66 20 74 65 73 74 | .test):........."""Check.if.test |
57d40 | 20 69 73 20 62 65 6c 6f 77 20 62 61 73 65 20 69 6e 20 61 20 55 52 49 20 74 72 65 65 0a 0a 20 20 | .is.below.base.in.a.URI.tree.... |
57d60 | 20 20 20 20 20 20 42 6f 74 68 20 61 72 67 73 20 6d 75 73 74 20 62 65 20 55 52 49 73 20 69 6e 20 | ......Both.args.must.be.URIs.in. |
57d80 | 72 65 64 75 63 65 64 20 66 6f 72 6d 2e 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 | reduced.form.........."""....... |
57da0 | 20 20 69 66 20 62 61 73 65 20 3d 3d 20 74 65 73 74 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 | ..if.base.==.test:.............r |
57dc0 | 65 74 75 72 6e 20 54 72 75 65 0a 20 20 20 20 20 20 20 20 69 66 20 62 61 73 65 5b 30 5d 20 21 3d | eturn.True.........if.base[0].!= |
57de0 | 20 74 65 73 74 5b 30 5d 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 46 61 6c | .test[0]:.............return.Fal |
57e00 | 73 65 0a 20 20 20 20 20 20 20 20 63 6f 6d 6d 6f 6e 20 3d 20 70 6f 73 69 78 70 61 74 68 2e 63 6f | se.........common.=.posixpath.co |
57e20 | 6d 6d 6f 6e 70 72 65 66 69 78 28 28 62 61 73 65 5b 31 5d 2c 20 74 65 73 74 5b 31 5d 29 29 0a 20 | mmonprefix((base[1],.test[1])).. |
57e40 | 20 20 20 20 20 20 20 69 66 20 6c 65 6e 28 63 6f 6d 6d 6f 6e 29 20 3d 3d 20 6c 65 6e 28 62 61 73 | .......if.len(common).==.len(bas |
57e60 | 65 5b 31 5d 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 54 72 75 65 0a 20 | e[1]):.............return.True.. |
57e80 | 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 46 61 6c 73 65 0a 0a 0a 63 6c 61 73 73 20 48 54 54 50 | .......return.False...class.HTTP |
57ea0 | 50 61 73 73 77 6f 72 64 4d 67 72 57 69 74 68 44 65 66 61 75 6c 74 52 65 61 6c 6d 28 48 54 54 50 | PasswordMgrWithDefaultRealm(HTTP |
57ec0 | 50 61 73 73 77 6f 72 64 4d 67 72 29 3a 0a 0a 20 20 20 20 64 65 66 20 66 69 6e 64 5f 75 73 65 72 | PasswordMgr):......def.find_user |
57ee0 | 5f 70 61 73 73 77 6f 72 64 28 73 65 6c 66 2c 20 72 65 61 6c 6d 2c 20 61 75 74 68 75 72 69 29 3a | _password(self,.realm,.authuri): |
57f00 | 0a 20 20 20 20 20 20 20 20 75 73 65 72 2c 20 70 61 73 73 77 6f 72 64 20 3d 20 48 54 54 50 50 61 | .........user,.password.=.HTTPPa |
57f20 | 73 73 77 6f 72 64 4d 67 72 2e 66 69 6e 64 5f 75 73 65 72 5f 70 61 73 73 77 6f 72 64 28 73 65 6c | sswordMgr.find_user_password(sel |
57f40 | 66 2c 20 72 65 61 6c 6d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | f,.realm,....................... |
57f60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
57f80 | 20 20 20 20 20 20 61 75 74 68 75 72 69 29 0a 20 20 20 20 20 20 20 20 69 66 20 75 73 65 72 20 69 | ......authuri).........if.user.i |
57fa0 | 73 20 6e 6f 74 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 75 | s.not.None:.............return.u |
57fc0 | 73 65 72 2c 20 70 61 73 73 77 6f 72 64 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 48 54 54 | ser,.password.........return.HTT |
57fe0 | 50 50 61 73 73 77 6f 72 64 4d 67 72 2e 66 69 6e 64 5f 75 73 65 72 5f 70 61 73 73 77 6f 72 64 28 | PPasswordMgr.find_user_password( |
58000 | 73 65 6c 66 2c 20 4e 6f 6e 65 2c 20 61 75 74 68 75 72 69 29 0a 0a 0a 63 6c 61 73 73 20 48 54 54 | self,.None,.authuri)...class.HTT |
58020 | 50 50 61 73 73 77 6f 72 64 4d 67 72 57 69 74 68 50 72 69 6f 72 41 75 74 68 28 48 54 54 50 50 61 | PPasswordMgrWithPriorAuth(HTTPPa |
58040 | 73 73 77 6f 72 64 4d 67 72 57 69 74 68 44 65 66 61 75 6c 74 52 65 61 6c 6d 29 3a 0a 0a 20 20 20 | sswordMgrWithDefaultRealm):..... |
58060 | 20 64 65 66 20 5f 5f 69 6e 69 74 5f 5f 28 73 65 6c 66 2c 20 2a 61 72 67 73 2c 20 2a 2a 6b 77 61 | .def.__init__(self,.*args,.**kwa |
58080 | 72 67 73 29 3a 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 75 74 68 65 6e 74 69 63 61 74 65 64 | rgs):.........self.authenticated |
580a0 | 20 3d 20 7b 7d 0a 20 20 20 20 20 20 20 20 73 75 70 65 72 28 29 2e 5f 5f 69 6e 69 74 5f 5f 28 2a | .=.{}.........super().__init__(* |
580c0 | 61 72 67 73 2c 20 2a 2a 6b 77 61 72 67 73 29 0a 0a 20 20 20 20 64 65 66 20 61 64 64 5f 70 61 73 | args,.**kwargs)......def.add_pas |
580e0 | 73 77 6f 72 64 28 73 65 6c 66 2c 20 72 65 61 6c 6d 2c 20 75 72 69 2c 20 75 73 65 72 2c 20 70 61 | sword(self,.realm,.uri,.user,.pa |
58100 | 73 73 77 64 2c 20 69 73 5f 61 75 74 68 65 6e 74 69 63 61 74 65 64 3d 46 61 6c 73 65 29 3a 0a 20 | sswd,.is_authenticated=False):.. |
58120 | 20 20 20 20 20 20 20 73 65 6c 66 2e 75 70 64 61 74 65 5f 61 75 74 68 65 6e 74 69 63 61 74 65 64 | .......self.update_authenticated |
58140 | 28 75 72 69 2c 20 69 73 5f 61 75 74 68 65 6e 74 69 63 61 74 65 64 29 0a 20 20 20 20 20 20 20 20 | (uri,.is_authenticated)......... |
58160 | 23 20 41 64 64 20 61 20 64 65 66 61 75 6c 74 20 66 6f 72 20 70 72 69 6f 72 20 61 75 74 68 20 72 | #.Add.a.default.for.prior.auth.r |
58180 | 65 71 75 65 73 74 73 0a 20 20 20 20 20 20 20 20 69 66 20 72 65 61 6c 6d 20 69 73 20 6e 6f 74 20 | equests.........if.realm.is.not. |
581a0 | 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 75 70 65 72 28 29 2e 61 64 64 5f 70 61 | None:.............super().add_pa |
581c0 | 73 73 77 6f 72 64 28 4e 6f 6e 65 2c 20 75 72 69 2c 20 75 73 65 72 2c 20 70 61 73 73 77 64 29 0a | ssword(None,.uri,.user,.passwd). |
581e0 | 20 20 20 20 20 20 20 20 73 75 70 65 72 28 29 2e 61 64 64 5f 70 61 73 73 77 6f 72 64 28 72 65 61 | ........super().add_password(rea |
58200 | 6c 6d 2c 20 75 72 69 2c 20 75 73 65 72 2c 20 70 61 73 73 77 64 29 0a 0a 20 20 20 20 64 65 66 20 | lm,.uri,.user,.passwd)......def. |
58220 | 75 70 64 61 74 65 5f 61 75 74 68 65 6e 74 69 63 61 74 65 64 28 73 65 6c 66 2c 20 75 72 69 2c 20 | update_authenticated(self,.uri,. |
58240 | 69 73 5f 61 75 74 68 65 6e 74 69 63 61 74 65 64 3d 46 61 6c 73 65 29 3a 0a 20 20 20 20 20 20 20 | is_authenticated=False):........ |
58260 | 20 23 20 75 72 69 20 63 6f 75 6c 64 20 62 65 20 61 20 73 69 6e 67 6c 65 20 55 52 49 20 6f 72 20 | .#.uri.could.be.a.single.URI.or. |
58280 | 61 20 73 65 71 75 65 6e 63 65 0a 20 20 20 20 20 20 20 20 69 66 20 69 73 69 6e 73 74 61 6e 63 65 | a.sequence.........if.isinstance |
582a0 | 28 75 72 69 2c 20 73 74 72 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 75 72 69 20 3d 20 5b 75 | (uri,.str):.............uri.=.[u |
582c0 | 72 69 5d 0a 0a 20 20 20 20 20 20 20 20 66 6f 72 20 64 65 66 61 75 6c 74 5f 70 6f 72 74 20 69 6e | ri]..........for.default_port.in |
582e0 | 20 54 72 75 65 2c 20 46 61 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 75 20 | .True,.False:.............for.u. |
58300 | 69 6e 20 75 72 69 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 64 75 63 65 64 5f | in.uri:.................reduced_ |
58320 | 75 72 69 20 3d 20 73 65 6c 66 2e 72 65 64 75 63 65 5f 75 72 69 28 75 2c 20 64 65 66 61 75 6c 74 | uri.=.self.reduce_uri(u,.default |
58340 | 5f 70 6f 72 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 75 74 68 | _port).................self.auth |
58360 | 65 6e 74 69 63 61 74 65 64 5b 72 65 64 75 63 65 64 5f 75 72 69 5d 20 3d 20 69 73 5f 61 75 74 68 | enticated[reduced_uri].=.is_auth |
58380 | 65 6e 74 69 63 61 74 65 64 0a 0a 20 20 20 20 64 65 66 20 69 73 5f 61 75 74 68 65 6e 74 69 63 61 | enticated......def.is_authentica |
583a0 | 74 65 64 28 73 65 6c 66 2c 20 61 75 74 68 75 72 69 29 3a 0a 20 20 20 20 20 20 20 20 66 6f 72 20 | ted(self,.authuri):.........for. |
583c0 | 64 65 66 61 75 6c 74 5f 70 6f 72 74 20 69 6e 20 54 72 75 65 2c 20 46 61 6c 73 65 3a 0a 20 20 20 | default_port.in.True,.False:.... |
583e0 | 20 20 20 20 20 20 20 20 20 72 65 64 75 63 65 64 5f 61 75 74 68 75 72 69 20 3d 20 73 65 6c 66 2e | .........reduced_authuri.=.self. |
58400 | 72 65 64 75 63 65 5f 75 72 69 28 61 75 74 68 75 72 69 2c 20 64 65 66 61 75 6c 74 5f 70 6f 72 74 | reduce_uri(authuri,.default_port |
58420 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 75 72 69 20 69 6e 20 73 65 6c 66 2e 61 75 | ).............for.uri.in.self.au |
58440 | 74 68 65 6e 74 69 63 61 74 65 64 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 | thenticated:.................if. |
58460 | 73 65 6c 66 2e 69 73 5f 73 75 62 75 72 69 28 75 72 69 2c 20 72 65 64 75 63 65 64 5f 61 75 74 68 | self.is_suburi(uri,.reduced_auth |
58480 | 75 72 69 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e | uri):.....................return |
584a0 | 20 73 65 6c 66 2e 61 75 74 68 65 6e 74 69 63 61 74 65 64 5b 75 72 69 5d 0a 0a 0a 63 6c 61 73 73 | .self.authenticated[uri]...class |
584c0 | 20 41 62 73 74 72 61 63 74 42 61 73 69 63 41 75 74 68 48 61 6e 64 6c 65 72 3a 0a 0a 20 20 20 20 | .AbstractBasicAuthHandler:...... |
584e0 | 23 20 58 58 58 20 74 68 69 73 20 61 6c 6c 6f 77 73 20 66 6f 72 20 6d 75 6c 74 69 70 6c 65 20 61 | #.XXX.this.allows.for.multiple.a |
58500 | 75 74 68 2d 73 63 68 65 6d 65 73 2c 20 62 75 74 20 77 69 6c 6c 20 73 74 75 70 69 64 6c 79 20 70 | uth-schemes,.but.will.stupidly.p |
58520 | 69 63 6b 0a 20 20 20 20 23 20 74 68 65 20 6c 61 73 74 20 6f 6e 65 20 77 69 74 68 20 61 20 72 65 | ick.....#.the.last.one.with.a.re |
58540 | 61 6c 6d 20 73 70 65 63 69 66 69 65 64 2e 0a 0a 20 20 20 20 23 20 61 6c 6c 6f 77 20 66 6f 72 20 | alm.specified.......#.allow.for. |
58560 | 64 6f 75 62 6c 65 2d 20 61 6e 64 20 73 69 6e 67 6c 65 2d 71 75 6f 74 65 64 20 72 65 61 6c 6d 20 | double-.and.single-quoted.realm. |
58580 | 76 61 6c 75 65 73 0a 20 20 20 20 23 20 28 73 69 6e 67 6c 65 20 71 75 6f 74 65 73 20 61 72 65 20 | values.....#.(single.quotes.are. |
585a0 | 61 20 76 69 6f 6c 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 52 46 43 2c 20 62 75 74 20 61 70 70 65 | a.violation.of.the.RFC,.but.appe |
585c0 | 61 72 20 69 6e 20 74 68 65 20 77 69 6c 64 29 0a 20 20 20 20 72 78 20 3d 20 72 65 2e 63 6f 6d 70 | ar.in.the.wild).....rx.=.re.comp |
585e0 | 69 6c 65 28 27 28 3f 3a 2e 2a 2c 29 2a 5b 20 5c 74 5d 2a 28 5b 5e 20 5c 74 5d 2b 29 5b 20 5c 74 | ile('(?:.*,)*[.\t]*([^.\t]+)[.\t |
58600 | 5d 2b 27 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 72 65 61 6c 6d 3d 28 | ]+'.....................'realm=( |
58620 | 5b 22 5c 27 5d 3f 29 28 5b 5e 22 5c 27 5d 2a 29 5c 5c 32 27 2c 20 72 65 2e 49 29 0a 0a 20 20 20 | ["\']?)([^"\']*)\\2',.re.I)..... |
58640 | 20 23 20 58 58 58 20 63 6f 75 6c 64 20 70 72 65 2d 65 6d 70 74 69 76 65 6c 79 20 73 65 6e 64 20 | .#.XXX.could.pre-emptively.send. |
58660 | 61 75 74 68 20 69 6e 66 6f 20 61 6c 72 65 61 64 79 20 61 63 63 65 70 74 65 64 20 28 52 46 43 20 | auth.info.already.accepted.(RFC. |
58680 | 32 36 31 37 2c 0a 20 20 20 20 23 20 65 6e 64 20 6f 66 20 73 65 63 74 69 6f 6e 20 32 2c 20 61 6e | 2617,.....#.end.of.section.2,.an |
586a0 | 64 20 73 65 63 74 69 6f 6e 20 31 2e 32 20 69 6d 6d 65 64 69 61 74 65 6c 79 20 61 66 74 65 72 20 | d.section.1.2.immediately.after. |
586c0 | 22 63 72 65 64 65 6e 74 69 61 6c 73 22 0a 20 20 20 20 23 20 70 72 6f 64 75 63 74 69 6f 6e 29 2e | "credentials".....#.production). |
586e0 | 0a 0a 20 20 20 20 64 65 66 20 5f 5f 69 6e 69 74 5f 5f 28 73 65 6c 66 2c 20 70 61 73 73 77 6f 72 | ......def.__init__(self,.passwor |
58700 | 64 5f 6d 67 72 3d 4e 6f 6e 65 29 3a 0a 20 20 20 20 20 20 20 20 69 66 20 70 61 73 73 77 6f 72 64 | d_mgr=None):.........if.password |
58720 | 5f 6d 67 72 20 69 73 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 61 73 73 77 6f | _mgr.is.None:.............passwo |
58740 | 72 64 5f 6d 67 72 20 3d 20 48 54 54 50 50 61 73 73 77 6f 72 64 4d 67 72 28 29 0a 20 20 20 20 20 | rd_mgr.=.HTTPPasswordMgr()...... |
58760 | 20 20 20 73 65 6c 66 2e 70 61 73 73 77 64 20 3d 20 70 61 73 73 77 6f 72 64 5f 6d 67 72 0a 20 20 | ...self.passwd.=.password_mgr... |
58780 | 20 20 20 20 20 20 73 65 6c 66 2e 61 64 64 5f 70 61 73 73 77 6f 72 64 20 3d 20 73 65 6c 66 2e 70 | ......self.add_password.=.self.p |
587a0 | 61 73 73 77 64 2e 61 64 64 5f 70 61 73 73 77 6f 72 64 0a 0a 20 20 20 20 64 65 66 20 68 74 74 70 | asswd.add_password......def.http |
587c0 | 5f 65 72 72 6f 72 5f 61 75 74 68 5f 72 65 71 65 64 28 73 65 6c 66 2c 20 61 75 74 68 72 65 71 2c | _error_auth_reqed(self,.authreq, |
587e0 | 20 68 6f 73 74 2c 20 72 65 71 2c 20 68 65 61 64 65 72 73 29 3a 0a 20 20 20 20 20 20 20 20 23 20 | .host,.req,.headers):.........#. |
58800 | 68 6f 73 74 20 6d 61 79 20 62 65 20 61 6e 20 61 75 74 68 6f 72 69 74 79 20 28 77 69 74 68 6f 75 | host.may.be.an.authority.(withou |
58820 | 74 20 75 73 65 72 69 6e 66 6f 29 20 6f 72 20 61 20 55 52 4c 20 77 69 74 68 20 61 6e 0a 20 20 20 | t.userinfo).or.a.URL.with.an.... |
58840 | 20 20 20 20 20 23 20 61 75 74 68 6f 72 69 74 79 0a 20 20 20 20 20 20 20 20 23 20 58 58 58 20 63 | .....#.authority.........#.XXX.c |
58860 | 6f 75 6c 64 20 62 65 20 6d 75 6c 74 69 70 6c 65 20 68 65 61 64 65 72 73 0a 20 20 20 20 20 20 20 | ould.be.multiple.headers........ |
58880 | 20 61 75 74 68 72 65 71 20 3d 20 68 65 61 64 65 72 73 2e 67 65 74 28 61 75 74 68 72 65 71 2c 20 | .authreq.=.headers.get(authreq,. |
588a0 | 4e 6f 6e 65 29 0a 0a 20 20 20 20 20 20 20 20 69 66 20 61 75 74 68 72 65 71 3a 0a 20 20 20 20 20 | None)..........if.authreq:...... |
588c0 | 20 20 20 20 20 20 20 73 63 68 65 6d 65 20 3d 20 61 75 74 68 72 65 71 2e 73 70 6c 69 74 28 29 5b | .......scheme.=.authreq.split()[ |
588e0 | 30 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 73 63 68 65 6d 65 2e 6c 6f 77 65 72 28 29 | 0].............if.scheme.lower() |
58900 | 20 21 3d 20 27 62 61 73 69 63 27 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 69 | .!=.'basic':.................rai |
58920 | 73 65 20 56 61 6c 75 65 45 72 72 6f 72 28 22 41 62 73 74 72 61 63 74 42 61 73 69 63 41 75 74 68 | se.ValueError("AbstractBasicAuth |
58940 | 48 61 6e 64 6c 65 72 20 64 6f 65 73 20 6e 6f 74 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | Handler.does.not"............... |
58960 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 20 73 75 70 70 6f 72 74 20 74 68 65 | ...................".support.the |
58980 | 20 66 6f 6c 6c 6f 77 69 6e 67 20 73 63 68 65 6d 65 3a 20 27 25 73 27 22 20 25 0a 20 20 20 20 20 | .following.scheme:.'%s'".%...... |
589a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 63 68 65 | ............................sche |
589c0 | 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 | me).............else:........... |
589e0 | 20 20 20 20 20 20 6d 6f 20 3d 20 41 62 73 74 72 61 63 74 42 61 73 69 63 41 75 74 68 48 61 6e 64 | ......mo.=.AbstractBasicAuthHand |
58a00 | 6c 65 72 2e 72 78 2e 73 65 61 72 63 68 28 61 75 74 68 72 65 71 29 0a 20 20 20 20 20 20 20 20 20 | ler.rx.search(authreq).......... |
58a20 | 20 20 20 20 20 20 20 69 66 20 6d 6f 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .......if.mo:................... |
58a40 | 20 20 73 63 68 65 6d 65 2c 20 71 75 6f 74 65 2c 20 72 65 61 6c 6d 20 3d 20 6d 6f 2e 67 72 6f 75 | ..scheme,.quote,.realm.=.mo.grou |
58a60 | 70 73 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 71 75 6f 74 | ps().....................if.quot |
58a80 | 65 20 6e 6f 74 20 69 6e 20 5b 27 22 27 2c 22 27 22 5d 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 | e.not.in.['"',"'"]:............. |
58aa0 | 20 20 20 20 20 20 20 20 20 20 20 20 77 61 72 6e 69 6e 67 73 2e 77 61 72 6e 28 22 42 61 73 69 63 | ............warnings.warn("Basic |
58ac0 | 20 41 75 74 68 20 52 65 61 6c 6d 20 77 61 73 20 75 6e 71 75 6f 74 65 64 22 2c 0a 20 20 20 20 20 | .Auth.Realm.was.unquoted",...... |
58ae0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
58b00 | 20 55 73 65 72 57 61 72 6e 69 6e 67 2c 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .UserWarning,.2)................ |
58b20 | 20 20 20 20 20 69 66 20 73 63 68 65 6d 65 2e 6c 6f 77 65 72 28 29 20 3d 3d 20 27 62 61 73 69 63 | .....if.scheme.lower().==.'basic |
58b40 | 27 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 | ':.........................retur |
58b60 | 6e 20 73 65 6c 66 2e 72 65 74 72 79 5f 68 74 74 70 5f 62 61 73 69 63 5f 61 75 74 68 28 68 6f 73 | n.self.retry_http_basic_auth(hos |
58b80 | 74 2c 20 72 65 71 2c 20 72 65 61 6c 6d 29 0a 0a 20 20 20 20 64 65 66 20 72 65 74 72 79 5f 68 74 | t,.req,.realm)......def.retry_ht |
58ba0 | 74 70 5f 62 61 73 69 63 5f 61 75 74 68 28 73 65 6c 66 2c 20 68 6f 73 74 2c 20 72 65 71 2c 20 72 | tp_basic_auth(self,.host,.req,.r |
58bc0 | 65 61 6c 6d 29 3a 0a 20 20 20 20 20 20 20 20 75 73 65 72 2c 20 70 77 20 3d 20 73 65 6c 66 2e 70 | ealm):.........user,.pw.=.self.p |
58be0 | 61 73 73 77 64 2e 66 69 6e 64 5f 75 73 65 72 5f 70 61 73 73 77 6f 72 64 28 72 65 61 6c 6d 2c 20 | asswd.find_user_password(realm,. |
58c00 | 68 6f 73 74 29 0a 20 20 20 20 20 20 20 20 69 66 20 70 77 20 69 73 20 6e 6f 74 20 4e 6f 6e 65 3a | host).........if.pw.is.not.None: |
58c20 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 61 77 20 3d 20 22 25 73 3a 25 73 22 20 25 20 28 75 73 | .............raw.=."%s:%s".%.(us |
58c40 | 65 72 2c 20 70 77 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 61 75 74 68 20 3d 20 22 42 61 73 69 | er,.pw).............auth.=."Basi |
58c60 | 63 20 22 20 2b 20 62 61 73 65 36 34 2e 62 36 34 65 6e 63 6f 64 65 28 72 61 77 2e 65 6e 63 6f 64 | c.".+.base64.b64encode(raw.encod |
58c80 | 65 28 29 29 2e 64 65 63 6f 64 65 28 22 61 73 63 69 69 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 | e()).decode("ascii")............ |
58ca0 | 20 69 66 20 72 65 71 2e 67 65 74 5f 68 65 61 64 65 72 28 73 65 6c 66 2e 61 75 74 68 5f 68 65 61 | .if.req.get_header(self.auth_hea |
58cc0 | 64 65 72 2c 20 4e 6f 6e 65 29 20 3d 3d 20 61 75 74 68 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 | der,.None).==.auth:............. |
58ce0 | 20 20 20 20 72 65 74 75 72 6e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 71 2e | ....return.None.............req. |
58d00 | 61 64 64 5f 75 6e 72 65 64 69 72 65 63 74 65 64 5f 68 65 61 64 65 72 28 73 65 6c 66 2e 61 75 74 | add_unredirected_header(self.aut |
58d20 | 68 5f 68 65 61 64 65 72 2c 20 61 75 74 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 | h_header,.auth).............retu |
58d40 | 72 6e 20 73 65 6c 66 2e 70 61 72 65 6e 74 2e 6f 70 65 6e 28 72 65 71 2c 20 74 69 6d 65 6f 75 74 | rn.self.parent.open(req,.timeout |
58d60 | 3d 72 65 71 2e 74 69 6d 65 6f 75 74 29 0a 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 | =req.timeout).........else:..... |
58d80 | 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 4e 6f 6e 65 0a 0a 20 20 20 20 64 65 66 20 68 74 74 | ........return.None......def.htt |
58da0 | 70 5f 72 65 71 75 65 73 74 28 73 65 6c 66 2c 20 72 65 71 29 3a 0a 20 20 20 20 20 20 20 20 69 66 | p_request(self,.req):.........if |
58dc0 | 20 28 6e 6f 74 20 68 61 73 61 74 74 72 28 73 65 6c 66 2e 70 61 73 73 77 64 2c 20 27 69 73 5f 61 | .(not.hasattr(self.passwd,.'is_a |
58de0 | 75 74 68 65 6e 74 69 63 61 74 65 64 27 29 20 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 6e 6f 74 | uthenticated').or............not |
58e00 | 20 73 65 6c 66 2e 70 61 73 73 77 64 2e 69 73 5f 61 75 74 68 65 6e 74 69 63 61 74 65 64 28 72 65 | .self.passwd.is_authenticated(re |
58e20 | 71 2e 66 75 6c 6c 5f 75 72 6c 29 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e | q.full_url)):.............return |
58e40 | 20 72 65 71 0a 0a 20 20 20 20 20 20 20 20 69 66 20 6e 6f 74 20 72 65 71 2e 68 61 73 5f 68 65 61 | .req..........if.not.req.has_hea |
58e60 | 64 65 72 28 27 41 75 74 68 6f 72 69 7a 61 74 69 6f 6e 27 29 3a 0a 20 20 20 20 20 20 20 20 20 20 | der('Authorization'):........... |
58e80 | 20 20 75 73 65 72 2c 20 70 61 73 73 77 64 20 3d 20 73 65 6c 66 2e 70 61 73 73 77 64 2e 66 69 6e | ..user,.passwd.=.self.passwd.fin |
58ea0 | 64 5f 75 73 65 72 5f 70 61 73 73 77 6f 72 64 28 4e 6f 6e 65 2c 20 72 65 71 2e 66 75 6c 6c 5f 75 | d_user_password(None,.req.full_u |
58ec0 | 72 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 72 65 64 65 6e 74 69 61 6c 73 20 3d 20 27 7b | rl).............credentials.=.'{ |
58ee0 | 30 7d 3a 7b 31 7d 27 2e 66 6f 72 6d 61 74 28 75 73 65 72 2c 20 70 61 73 73 77 64 29 2e 65 6e 63 | 0}:{1}'.format(user,.passwd).enc |
58f00 | 6f 64 65 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 61 75 74 68 5f 73 74 72 20 3d 20 62 61 73 | ode().............auth_str.=.bas |
58f20 | 65 36 34 2e 73 74 61 6e 64 61 72 64 5f 62 36 34 65 6e 63 6f 64 65 28 63 72 65 64 65 6e 74 69 61 | e64.standard_b64encode(credentia |
58f40 | 6c 73 29 2e 64 65 63 6f 64 65 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 71 2e 61 64 64 | ls).decode().............req.add |
58f60 | 5f 75 6e 72 65 64 69 72 65 63 74 65 64 5f 68 65 61 64 65 72 28 27 41 75 74 68 6f 72 69 7a 61 74 | _unredirected_header('Authorizat |
58f80 | 69 6f 6e 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ion',........................... |
58fa0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 42 61 73 69 63 20 7b 7d 27 2e 66 6f 72 6d 61 74 28 | ..............'Basic.{}'.format( |
58fc0 | 61 75 74 68 5f 73 74 72 2e 73 74 72 69 70 28 29 29 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 | auth_str.strip())).........retur |
58fe0 | 6e 20 72 65 71 0a 0a 20 20 20 20 64 65 66 20 68 74 74 70 5f 72 65 73 70 6f 6e 73 65 28 73 65 6c | n.req......def.http_response(sel |
59000 | 66 2c 20 72 65 71 2c 20 72 65 73 70 6f 6e 73 65 29 3a 0a 20 20 20 20 20 20 20 20 69 66 20 68 61 | f,.req,.response):.........if.ha |
59020 | 73 61 74 74 72 28 73 65 6c 66 2e 70 61 73 73 77 64 2c 20 27 69 73 5f 61 75 74 68 65 6e 74 69 63 | sattr(self.passwd,.'is_authentic |
59040 | 61 74 65 64 27 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 32 30 30 20 3c 3d 20 72 65 | ated'):.............if.200.<=.re |
59060 | 73 70 6f 6e 73 65 2e 63 6f 64 65 20 3c 20 33 30 30 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | sponse.code.<.300:.............. |
59080 | 20 20 20 73 65 6c 66 2e 70 61 73 73 77 64 2e 75 70 64 61 74 65 5f 61 75 74 68 65 6e 74 69 63 61 | ...self.passwd.update_authentica |
590a0 | 74 65 64 28 72 65 71 2e 66 75 6c 6c 5f 75 72 6c 2c 20 54 72 75 65 29 0a 20 20 20 20 20 20 20 20 | ted(req.full_url,.True)......... |
590c0 | 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 70 | ....else:.................self.p |
590e0 | 61 73 73 77 64 2e 75 70 64 61 74 65 5f 61 75 74 68 65 6e 74 69 63 61 74 65 64 28 72 65 71 2e 66 | asswd.update_authenticated(req.f |
59100 | 75 6c 6c 5f 75 72 6c 2c 20 46 61 6c 73 65 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 72 | ull_url,.False).........return.r |
59120 | 65 73 70 6f 6e 73 65 0a 0a 20 20 20 20 68 74 74 70 73 5f 72 65 71 75 65 73 74 20 3d 20 68 74 74 | esponse......https_request.=.htt |
59140 | 70 5f 72 65 71 75 65 73 74 0a 20 20 20 20 68 74 74 70 73 5f 72 65 73 70 6f 6e 73 65 20 3d 20 68 | p_request.....https_response.=.h |
59160 | 74 74 70 5f 72 65 73 70 6f 6e 73 65 0a 0a 0a 0a 63 6c 61 73 73 20 48 54 54 50 42 61 73 69 63 41 | ttp_response....class.HTTPBasicA |
59180 | 75 74 68 48 61 6e 64 6c 65 72 28 41 62 73 74 72 61 63 74 42 61 73 69 63 41 75 74 68 48 61 6e 64 | uthHandler(AbstractBasicAuthHand |
591a0 | 6c 65 72 2c 20 42 61 73 65 48 61 6e 64 6c 65 72 29 3a 0a 0a 20 20 20 20 61 75 74 68 5f 68 65 61 | ler,.BaseHandler):......auth_hea |
591c0 | 64 65 72 20 3d 20 27 41 75 74 68 6f 72 69 7a 61 74 69 6f 6e 27 0a 0a 20 20 20 20 64 65 66 20 68 | der.=.'Authorization'......def.h |
591e0 | 74 74 70 5f 65 72 72 6f 72 5f 34 30 31 28 73 65 6c 66 2c 20 72 65 71 2c 20 66 70 2c 20 63 6f 64 | ttp_error_401(self,.req,.fp,.cod |
59200 | 65 2c 20 6d 73 67 2c 20 68 65 61 64 65 72 73 29 3a 0a 20 20 20 20 20 20 20 20 75 72 6c 20 3d 20 | e,.msg,.headers):.........url.=. |
59220 | 72 65 71 2e 66 75 6c 6c 5f 75 72 6c 0a 20 20 20 20 20 20 20 20 72 65 73 70 6f 6e 73 65 20 3d 20 | req.full_url.........response.=. |
59240 | 73 65 6c 66 2e 68 74 74 70 5f 65 72 72 6f 72 5f 61 75 74 68 5f 72 65 71 65 64 28 27 77 77 77 2d | self.http_error_auth_reqed('www- |
59260 | 61 75 74 68 65 6e 74 69 63 61 74 65 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | authenticate',.................. |
59280 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 72 6c 2c 20 72 65 | .........................url,.re |
592a0 | 71 2c 20 68 65 61 64 65 72 73 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 72 65 73 70 6f | q,.headers).........return.respo |
592c0 | 6e 73 65 0a 0a 0a 63 6c 61 73 73 20 50 72 6f 78 79 42 61 73 69 63 41 75 74 68 48 61 6e 64 6c 65 | nse...class.ProxyBasicAuthHandle |
592e0 | 72 28 41 62 73 74 72 61 63 74 42 61 73 69 63 41 75 74 68 48 61 6e 64 6c 65 72 2c 20 42 61 73 65 | r(AbstractBasicAuthHandler,.Base |
59300 | 48 61 6e 64 6c 65 72 29 3a 0a 0a 20 20 20 20 61 75 74 68 5f 68 65 61 64 65 72 20 3d 20 27 50 72 | Handler):......auth_header.=.'Pr |
59320 | 6f 78 79 2d 61 75 74 68 6f 72 69 7a 61 74 69 6f 6e 27 0a 0a 20 20 20 20 64 65 66 20 68 74 74 70 | oxy-authorization'......def.http |
59340 | 5f 65 72 72 6f 72 5f 34 30 37 28 73 65 6c 66 2c 20 72 65 71 2c 20 66 70 2c 20 63 6f 64 65 2c 20 | _error_407(self,.req,.fp,.code,. |
59360 | 6d 73 67 2c 20 68 65 61 64 65 72 73 29 3a 0a 20 20 20 20 20 20 20 20 23 20 68 74 74 70 5f 65 72 | msg,.headers):.........#.http_er |
59380 | 72 6f 72 5f 61 75 74 68 5f 72 65 71 65 64 20 72 65 71 75 69 72 65 73 20 74 68 61 74 20 74 68 65 | ror_auth_reqed.requires.that.the |
593a0 | 72 65 20 69 73 20 6e 6f 20 75 73 65 72 69 6e 66 6f 20 63 6f 6d 70 6f 6e 65 6e 74 20 69 6e 0a 20 | re.is.no.userinfo.component.in.. |
593c0 | 20 20 20 20 20 20 20 23 20 61 75 74 68 6f 72 69 74 79 2e 20 20 41 73 73 75 6d 65 20 74 68 65 72 | .......#.authority...Assume.ther |
593e0 | 65 20 69 73 6e 27 74 20 6f 6e 65 2c 20 73 69 6e 63 65 20 75 72 6c 6c 69 62 2e 72 65 71 75 65 73 | e.isn't.one,.since.urllib.reques |
59400 | 74 20 64 6f 65 73 20 6e 6f 74 20 28 61 6e 64 0a 20 20 20 20 20 20 20 20 23 20 73 68 6f 75 6c 64 | t.does.not.(and.........#.should |
59420 | 20 6e 6f 74 2c 20 52 46 43 20 33 39 38 36 20 73 2e 20 33 2e 32 2e 31 29 20 73 75 70 70 6f 72 74 | .not,.RFC.3986.s..3.2.1).support |
59440 | 20 72 65 71 75 65 73 74 73 20 66 6f 72 20 55 52 4c 73 20 63 6f 6e 74 61 69 6e 69 6e 67 0a 20 20 | .requests.for.URLs.containing... |
59460 | 20 20 20 20 20 20 23 20 75 73 65 72 69 6e 66 6f 2e 0a 20 20 20 20 20 20 20 20 61 75 74 68 6f 72 | ......#.userinfo..........author |
59480 | 69 74 79 20 3d 20 72 65 71 2e 68 6f 73 74 0a 20 20 20 20 20 20 20 20 72 65 73 70 6f 6e 73 65 20 | ity.=.req.host.........response. |
594a0 | 3d 20 73 65 6c 66 2e 68 74 74 70 5f 65 72 72 6f 72 5f 61 75 74 68 5f 72 65 71 65 64 28 27 70 72 | =.self.http_error_auth_reqed('pr |
594c0 | 6f 78 79 2d 61 75 74 68 65 6e 74 69 63 61 74 65 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | oxy-authenticate',.............. |
594e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 75 74 | .............................aut |
59500 | 68 6f 72 69 74 79 2c 20 72 65 71 2c 20 68 65 61 64 65 72 73 29 0a 20 20 20 20 20 20 20 20 72 65 | hority,.req,.headers).........re |
59520 | 74 75 72 6e 20 72 65 73 70 6f 6e 73 65 0a 0a 0a 23 20 52 65 74 75 72 6e 20 6e 20 72 61 6e 64 6f | turn.response...#.Return.n.rando |
59540 | 6d 20 62 79 74 65 73 2e 0a 5f 72 61 6e 64 6f 6d 62 79 74 65 73 20 3d 20 6f 73 2e 75 72 61 6e 64 | m.bytes.._randombytes.=.os.urand |
59560 | 6f 6d 0a 0a 0a 63 6c 61 73 73 20 41 62 73 74 72 61 63 74 44 69 67 65 73 74 41 75 74 68 48 61 6e | om...class.AbstractDigestAuthHan |
59580 | 64 6c 65 72 3a 0a 20 20 20 20 23 20 44 69 67 65 73 74 20 61 75 74 68 65 6e 74 69 63 61 74 69 6f | dler:.....#.Digest.authenticatio |
595a0 | 6e 20 69 73 20 73 70 65 63 69 66 69 65 64 20 69 6e 20 52 46 43 20 32 36 31 37 2e 0a 0a 20 20 20 | n.is.specified.in.RFC.2617...... |
595c0 | 20 23 20 58 58 58 20 54 68 65 20 63 6c 69 65 6e 74 20 64 6f 65 73 20 6e 6f 74 20 69 6e 73 70 65 | .#.XXX.The.client.does.not.inspe |
595e0 | 63 74 20 74 68 65 20 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 2d 49 6e 66 6f 20 68 65 61 64 65 | ct.the.Authentication-Info.heade |
59600 | 72 0a 20 20 20 20 23 20 69 6e 20 61 20 73 75 63 63 65 73 73 66 75 6c 20 72 65 73 70 6f 6e 73 65 | r.....#.in.a.successful.response |
59620 | 2e 0a 0a 20 20 20 20 23 20 58 58 58 20 49 74 20 73 68 6f 75 6c 64 20 62 65 20 70 6f 73 73 69 62 | .......#.XXX.It.should.be.possib |
59640 | 6c 65 20 74 6f 20 74 65 73 74 20 74 68 69 73 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 61 | le.to.test.this.implementation.a |
59660 | 67 61 69 6e 73 74 0a 20 20 20 20 23 20 61 20 6d 6f 63 6b 20 73 65 72 76 65 72 20 74 68 61 74 20 | gainst.....#.a.mock.server.that. |
59680 | 6a 75 73 74 20 67 65 6e 65 72 61 74 65 73 20 61 20 73 74 61 74 69 63 20 73 65 74 20 6f 66 20 63 | just.generates.a.static.set.of.c |
596a0 | 68 61 6c 6c 65 6e 67 65 73 2e 0a 0a 20 20 20 20 23 20 58 58 58 20 71 6f 70 3d 22 61 75 74 68 2d | hallenges.......#.XXX.qop="auth- |
596c0 | 69 6e 74 22 20 73 75 70 70 6f 72 74 73 20 69 73 20 73 68 61 6b 79 0a 0a 20 20 20 20 64 65 66 20 | int".supports.is.shaky......def. |
596e0 | 5f 5f 69 6e 69 74 5f 5f 28 73 65 6c 66 2c 20 70 61 73 73 77 64 3d 4e 6f 6e 65 29 3a 0a 20 20 20 | __init__(self,.passwd=None):.... |
59700 | 20 20 20 20 20 69 66 20 70 61 73 73 77 64 20 69 73 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 | .....if.passwd.is.None:......... |
59720 | 20 20 20 20 70 61 73 73 77 64 20 3d 20 48 54 54 50 50 61 73 73 77 6f 72 64 4d 67 72 28 29 0a 20 | ....passwd.=.HTTPPasswordMgr().. |
59740 | 20 20 20 20 20 20 20 73 65 6c 66 2e 70 61 73 73 77 64 20 3d 20 70 61 73 73 77 64 0a 20 20 20 20 | .......self.passwd.=.passwd..... |
59760 | 20 20 20 20 73 65 6c 66 2e 61 64 64 5f 70 61 73 73 77 6f 72 64 20 3d 20 73 65 6c 66 2e 70 61 73 | ....self.add_password.=.self.pas |
59780 | 73 77 64 2e 61 64 64 5f 70 61 73 73 77 6f 72 64 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 72 65 | swd.add_password.........self.re |
597a0 | 74 72 69 65 64 20 3d 20 30 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 6e 6f 6e 63 65 5f 63 6f 75 | tried.=.0.........self.nonce_cou |
597c0 | 6e 74 20 3d 20 30 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 6c 61 73 74 5f 6e 6f 6e 63 65 20 3d | nt.=.0.........self.last_nonce.= |
597e0 | 20 4e 6f 6e 65 0a 0a 20 20 20 20 64 65 66 20 72 65 73 65 74 5f 72 65 74 72 79 5f 63 6f 75 6e 74 | .None......def.reset_retry_count |
59800 | 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 72 65 74 72 69 65 64 20 3d 20 30 | (self):.........self.retried.=.0 |
59820 | 0a 0a 20 20 20 20 64 65 66 20 68 74 74 70 5f 65 72 72 6f 72 5f 61 75 74 68 5f 72 65 71 65 64 28 | ......def.http_error_auth_reqed( |
59840 | 73 65 6c 66 2c 20 61 75 74 68 5f 68 65 61 64 65 72 2c 20 68 6f 73 74 2c 20 72 65 71 2c 20 68 65 | self,.auth_header,.host,.req,.he |
59860 | 61 64 65 72 73 29 3a 0a 20 20 20 20 20 20 20 20 61 75 74 68 72 65 71 20 3d 20 68 65 61 64 65 72 | aders):.........authreq.=.header |
59880 | 73 2e 67 65 74 28 61 75 74 68 5f 68 65 61 64 65 72 2c 20 4e 6f 6e 65 29 0a 20 20 20 20 20 20 20 | s.get(auth_header,.None)........ |
598a0 | 20 69 66 20 73 65 6c 66 2e 72 65 74 72 69 65 64 20 3e 20 35 3a 0a 20 20 20 20 20 20 20 20 20 20 | .if.self.retried.>.5:........... |
598c0 | 20 20 23 20 44 6f 6e 27 74 20 66 61 69 6c 20 65 6e 64 6c 65 73 73 6c 79 20 2d 20 69 66 20 77 65 | ..#.Don't.fail.endlessly.-.if.we |
598e0 | 20 66 61 69 6c 65 64 20 6f 6e 63 65 2c 20 77 65 27 6c 6c 20 70 72 6f 62 61 62 6c 79 0a 20 20 20 | .failed.once,.we'll.probably.... |
59900 | 20 20 20 20 20 20 20 20 20 23 20 66 61 69 6c 20 61 20 73 65 63 6f 6e 64 20 74 69 6d 65 2e 20 48 | .........#.fail.a.second.time..H |
59920 | 6d 2e 20 55 6e 6c 65 73 73 20 74 68 65 20 50 61 73 73 77 6f 72 64 20 4d 61 6e 61 67 65 72 20 69 | m..Unless.the.Password.Manager.i |
59940 | 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 23 20 70 72 6f 6d 70 74 69 6e 67 20 66 6f 72 20 74 68 | s.............#.prompting.for.th |
59960 | 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e 20 43 72 61 70 2e 20 54 68 69 73 20 69 73 6e 27 74 20 | e.information..Crap..This.isn't. |
59980 | 67 72 65 61 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 23 20 62 75 74 20 69 74 27 73 20 62 65 74 | great.............#.but.it's.bet |
599a0 | 74 65 72 20 74 68 61 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 27 72 65 70 65 61 74 20 75 6e 74 | ter.than.the.current.'repeat.unt |
599c0 | 69 6c 20 72 65 63 75 72 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 23 20 64 65 70 74 68 | il.recursion.............#.depth |
599e0 | 20 65 78 63 65 65 64 65 64 27 20 61 70 70 72 6f 61 63 68 20 3c 77 69 6e 6b 3e 0a 20 20 20 20 20 | .exceeded'.approach.<wink>...... |
59a00 | 20 20 20 20 20 20 20 72 61 69 73 65 20 48 54 54 50 45 72 72 6f 72 28 72 65 71 2e 66 75 6c 6c 5f | .......raise.HTTPError(req.full_ |
59a20 | 75 72 6c 2c 20 34 30 31 2c 20 22 64 69 67 65 73 74 20 61 75 74 68 20 66 61 69 6c 65 64 22 2c 0a | url,.401,."digest.auth.failed",. |
59a40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 68 65 61 64 | ............................head |
59a60 | 65 72 73 2c 20 4e 6f 6e 65 29 0a 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 | ers,.None).........else:........ |
59a80 | 20 20 20 20 20 73 65 6c 66 2e 72 65 74 72 69 65 64 20 2b 3d 20 31 0a 20 20 20 20 20 20 20 20 69 | .....self.retried.+=.1.........i |
59aa0 | 66 20 61 75 74 68 72 65 71 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 63 68 65 6d 65 20 3d 20 | f.authreq:.............scheme.=. |
59ac0 | 61 75 74 68 72 65 71 2e 73 70 6c 69 74 28 29 5b 30 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 | authreq.split()[0].............i |
59ae0 | 66 20 73 63 68 65 6d 65 2e 6c 6f 77 65 72 28 29 20 3d 3d 20 27 64 69 67 65 73 74 27 3a 0a 20 20 | f.scheme.lower().==.'digest':... |
59b00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 2e 72 65 74 72 79 5f | ..............return.self.retry_ |
59b20 | 68 74 74 70 5f 64 69 67 65 73 74 5f 61 75 74 68 28 72 65 71 2c 20 61 75 74 68 72 65 71 29 0a 20 | http_digest_auth(req,.authreq).. |
59b40 | 20 20 20 20 20 20 20 20 20 20 20 65 6c 69 66 20 73 63 68 65 6d 65 2e 6c 6f 77 65 72 28 29 20 21 | ...........elif.scheme.lower().! |
59b60 | 3d 20 27 62 61 73 69 63 27 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 | =.'basic':.................raise |
59b80 | 20 56 61 6c 75 65 45 72 72 6f 72 28 22 41 62 73 74 72 61 63 74 44 69 67 65 73 74 41 75 74 68 48 | .ValueError("AbstractDigestAuthH |
59ba0 | 61 6e 64 6c 65 72 20 64 6f 65 73 20 6e 6f 74 20 73 75 70 70 6f 72 74 22 0a 20 20 20 20 20 20 20 | andler.does.not.support"........ |
59bc0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 20 74 68 65 20 | ..........................".the. |
59be0 | 66 6f 6c 6c 6f 77 69 6e 67 20 73 63 68 65 6d 65 3a 20 27 25 73 27 22 20 25 20 73 63 68 65 6d 65 | following.scheme:.'%s'".%.scheme |
59c00 | 29 0a 0a 20 20 20 20 64 65 66 20 72 65 74 72 79 5f 68 74 74 70 5f 64 69 67 65 73 74 5f 61 75 74 | )......def.retry_http_digest_aut |
59c20 | 68 28 73 65 6c 66 2c 20 72 65 71 2c 20 61 75 74 68 29 3a 0a 20 20 20 20 20 20 20 20 74 6f 6b 65 | h(self,.req,.auth):.........toke |
59c40 | 6e 2c 20 63 68 61 6c 6c 65 6e 67 65 20 3d 20 61 75 74 68 2e 73 70 6c 69 74 28 27 20 27 2c 20 31 | n,.challenge.=.auth.split('.',.1 |
59c60 | 29 0a 20 20 20 20 20 20 20 20 63 68 61 6c 20 3d 20 70 61 72 73 65 5f 6b 65 71 76 5f 6c 69 73 74 | ).........chal.=.parse_keqv_list |
59c80 | 28 66 69 6c 74 65 72 28 4e 6f 6e 65 2c 20 70 61 72 73 65 5f 68 74 74 70 5f 6c 69 73 74 28 63 68 | (filter(None,.parse_http_list(ch |
59ca0 | 61 6c 6c 65 6e 67 65 29 29 29 0a 20 20 20 20 20 20 20 20 61 75 74 68 20 3d 20 73 65 6c 66 2e 67 | allenge))).........auth.=.self.g |
59cc0 | 65 74 5f 61 75 74 68 6f 72 69 7a 61 74 69 6f 6e 28 72 65 71 2c 20 63 68 61 6c 29 0a 20 20 20 20 | et_authorization(req,.chal)..... |
59ce0 | 20 20 20 20 69 66 20 61 75 74 68 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 61 75 74 68 5f 76 61 | ....if.auth:.............auth_va |
59d00 | 6c 20 3d 20 27 44 69 67 65 73 74 20 25 73 27 20 25 20 61 75 74 68 0a 20 20 20 20 20 20 20 20 20 | l.=.'Digest.%s'.%.auth.......... |
59d20 | 20 20 20 69 66 20 72 65 71 2e 68 65 61 64 65 72 73 2e 67 65 74 28 73 65 6c 66 2e 61 75 74 68 5f | ...if.req.headers.get(self.auth_ |
59d40 | 68 65 61 64 65 72 2c 20 4e 6f 6e 65 29 20 3d 3d 20 61 75 74 68 5f 76 61 6c 3a 0a 20 20 20 20 20 | header,.None).==.auth_val:...... |
59d60 | 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 20 | ...........return.None.......... |
59d80 | 20 20 20 72 65 71 2e 61 64 64 5f 75 6e 72 65 64 69 72 65 63 74 65 64 5f 68 65 61 64 65 72 28 73 | ...req.add_unredirected_header(s |
59da0 | 65 6c 66 2e 61 75 74 68 5f 68 65 61 64 65 72 2c 20 61 75 74 68 5f 76 61 6c 29 0a 20 20 20 20 20 | elf.auth_header,.auth_val)...... |
59dc0 | 20 20 20 20 20 20 20 72 65 73 70 20 3d 20 73 65 6c 66 2e 70 61 72 65 6e 74 2e 6f 70 65 6e 28 72 | .......resp.=.self.parent.open(r |
59de0 | 65 71 2c 20 74 69 6d 65 6f 75 74 3d 72 65 71 2e 74 69 6d 65 6f 75 74 29 0a 20 20 20 20 20 20 20 | eq,.timeout=req.timeout)........ |
59e00 | 20 20 20 20 20 72 65 74 75 72 6e 20 72 65 73 70 0a 0a 20 20 20 20 64 65 66 20 67 65 74 5f 63 6e | .....return.resp......def.get_cn |
59e20 | 6f 6e 63 65 28 73 65 6c 66 2c 20 6e 6f 6e 63 65 29 3a 0a 20 20 20 20 20 20 20 20 23 20 54 68 65 | once(self,.nonce):.........#.The |
59e40 | 20 63 6e 6f 6e 63 65 2d 76 61 6c 75 65 20 69 73 20 61 6e 20 6f 70 61 71 75 65 0a 20 20 20 20 20 | .cnonce-value.is.an.opaque...... |
59e60 | 20 20 20 23 20 71 75 6f 74 65 64 20 73 74 72 69 6e 67 20 76 61 6c 75 65 20 70 72 6f 76 69 64 65 | ...#.quoted.string.value.provide |
59e80 | 64 20 62 79 20 74 68 65 20 63 6c 69 65 6e 74 20 61 6e 64 20 75 73 65 64 20 62 79 20 62 6f 74 68 | d.by.the.client.and.used.by.both |
59ea0 | 20 63 6c 69 65 6e 74 0a 20 20 20 20 20 20 20 20 23 20 61 6e 64 20 73 65 72 76 65 72 20 74 6f 20 | .client.........#.and.server.to. |
59ec0 | 61 76 6f 69 64 20 63 68 6f 73 65 6e 20 70 6c 61 69 6e 74 65 78 74 20 61 74 74 61 63 6b 73 2c 20 | avoid.chosen.plaintext.attacks,. |
59ee0 | 74 6f 20 70 72 6f 76 69 64 65 20 6d 75 74 75 61 6c 0a 20 20 20 20 20 20 20 20 23 20 61 75 74 68 | to.provide.mutual.........#.auth |
59f00 | 65 6e 74 69 63 61 74 69 6f 6e 2c 20 61 6e 64 20 74 6f 20 70 72 6f 76 69 64 65 20 73 6f 6d 65 20 | entication,.and.to.provide.some. |
59f20 | 6d 65 73 73 61 67 65 20 69 6e 74 65 67 72 69 74 79 20 70 72 6f 74 65 63 74 69 6f 6e 2e 0a 20 20 | message.integrity.protection.... |
59f40 | 20 20 20 20 20 20 23 20 54 68 69 73 20 69 73 6e 27 74 20 61 20 66 61 62 75 6c 6f 75 73 20 65 66 | ......#.This.isn't.a.fabulous.ef |
59f60 | 66 6f 72 74 2c 20 62 75 74 20 69 74 27 73 20 70 72 6f 62 61 62 6c 79 20 47 6f 6f 64 20 45 6e 6f | fort,.but.it's.probably.Good.Eno |
59f80 | 75 67 68 2e 0a 20 20 20 20 20 20 20 20 73 20 3d 20 22 25 73 3a 25 73 3a 25 73 3a 22 20 25 20 28 | ugh..........s.=."%s:%s:%s:".%.( |
59fa0 | 73 65 6c 66 2e 6e 6f 6e 63 65 5f 63 6f 75 6e 74 2c 20 6e 6f 6e 63 65 2c 20 74 69 6d 65 2e 63 74 | self.nonce_count,.nonce,.time.ct |
59fc0 | 69 6d 65 28 29 29 0a 20 20 20 20 20 20 20 20 62 20 3d 20 73 2e 65 6e 63 6f 64 65 28 22 61 73 63 | ime()).........b.=.s.encode("asc |
59fe0 | 69 69 22 29 20 2b 20 5f 72 61 6e 64 6f 6d 62 79 74 65 73 28 38 29 0a 20 20 20 20 20 20 20 20 64 | ii").+._randombytes(8).........d |
5a000 | 69 67 20 3d 20 68 61 73 68 6c 69 62 2e 73 68 61 31 28 62 29 2e 68 65 78 64 69 67 65 73 74 28 29 | ig.=.hashlib.sha1(b).hexdigest() |
5a020 | 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 64 69 67 5b 3a 31 36 5d 0a 0a 20 20 20 20 64 65 | .........return.dig[:16]......de |
5a040 | 66 20 67 65 74 5f 61 75 74 68 6f 72 69 7a 61 74 69 6f 6e 28 73 65 6c 66 2c 20 72 65 71 2c 20 63 | f.get_authorization(self,.req,.c |
5a060 | 68 61 6c 29 3a 0a 20 20 20 20 20 20 20 20 74 72 79 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 | hal):.........try:.............r |
5a080 | 65 61 6c 6d 20 3d 20 63 68 61 6c 5b 27 72 65 61 6c 6d 27 5d 0a 20 20 20 20 20 20 20 20 20 20 20 | ealm.=.chal['realm']............ |
5a0a0 | 20 6e 6f 6e 63 65 20 3d 20 63 68 61 6c 5b 27 6e 6f 6e 63 65 27 5d 0a 20 20 20 20 20 20 20 20 20 | .nonce.=.chal['nonce'].......... |
5a0c0 | 20 20 20 71 6f 70 20 3d 20 63 68 61 6c 2e 67 65 74 28 27 71 6f 70 27 29 0a 20 20 20 20 20 20 20 | ...qop.=.chal.get('qop')........ |
5a0e0 | 20 20 20 20 20 61 6c 67 6f 72 69 74 68 6d 20 3d 20 63 68 61 6c 2e 67 65 74 28 27 61 6c 67 6f 72 | .....algorithm.=.chal.get('algor |
5a100 | 69 74 68 6d 27 2c 20 27 4d 44 35 27 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 23 20 6d 6f 64 5f | ithm',.'MD5').............#.mod_ |
5a120 | 64 69 67 65 73 74 20 64 6f 65 73 6e 27 74 20 73 65 6e 64 20 61 6e 20 6f 70 61 71 75 65 2c 20 65 | digest.doesn't.send.an.opaque,.e |
5a140 | 76 65 6e 20 74 68 6f 75 67 68 20 69 74 20 69 73 6e 27 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ven.though.it.isn't............. |
5a160 | 23 20 73 75 70 70 6f 73 65 64 20 74 6f 20 62 65 20 6f 70 74 69 6f 6e 61 6c 0a 20 20 20 20 20 20 | #.supposed.to.be.optional....... |
5a180 | 20 20 20 20 20 20 6f 70 61 71 75 65 20 3d 20 63 68 61 6c 2e 67 65 74 28 27 6f 70 61 71 75 65 27 | ......opaque.=.chal.get('opaque' |
5a1a0 | 2c 20 4e 6f 6e 65 29 0a 20 20 20 20 20 20 20 20 65 78 63 65 70 74 20 4b 65 79 45 72 72 6f 72 3a | ,.None).........except.KeyError: |
5a1c0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 4e 6f 6e 65 0a 0a 20 20 20 20 20 20 | .............return.None........ |
5a1e0 | 20 20 48 2c 20 4b 44 20 3d 20 73 65 6c 66 2e 67 65 74 5f 61 6c 67 6f 72 69 74 68 6d 5f 69 6d 70 | ..H,.KD.=.self.get_algorithm_imp |
5a200 | 6c 73 28 61 6c 67 6f 72 69 74 68 6d 29 0a 20 20 20 20 20 20 20 20 69 66 20 48 20 69 73 20 4e 6f | ls(algorithm).........if.H.is.No |
5a220 | 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 4e 6f 6e 65 0a 0a 20 20 20 | ne:.............return.None..... |
5a240 | 20 20 20 20 20 75 73 65 72 2c 20 70 77 20 3d 20 73 65 6c 66 2e 70 61 73 73 77 64 2e 66 69 6e 64 | .....user,.pw.=.self.passwd.find |
5a260 | 5f 75 73 65 72 5f 70 61 73 73 77 6f 72 64 28 72 65 61 6c 6d 2c 20 72 65 71 2e 66 75 6c 6c 5f 75 | _user_password(realm,.req.full_u |
5a280 | 72 6c 29 0a 20 20 20 20 20 20 20 20 69 66 20 75 73 65 72 20 69 73 20 4e 6f 6e 65 3a 0a 20 20 20 | rl).........if.user.is.None:.... |
5a2a0 | 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 4e 6f 6e 65 0a 0a 20 20 20 20 20 20 20 20 23 20 | .........return.None..........#. |
5a2c0 | 58 58 58 20 6e 6f 74 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 79 65 74 0a 20 20 20 20 20 20 20 20 | XXX.not.implemented.yet......... |
5a2e0 | 69 66 20 72 65 71 2e 64 61 74 61 20 69 73 20 6e 6f 74 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 | if.req.data.is.not.None:........ |
5a300 | 20 20 20 20 20 65 6e 74 64 69 67 20 3d 20 73 65 6c 66 2e 67 65 74 5f 65 6e 74 69 74 79 5f 64 69 | .....entdig.=.self.get_entity_di |
5a320 | 67 65 73 74 28 72 65 71 2e 64 61 74 61 2c 20 63 68 61 6c 29 0a 20 20 20 20 20 20 20 20 65 6c 73 | gest(req.data,.chal).........els |
5a340 | 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6e 74 64 69 67 20 3d 20 4e 6f 6e 65 0a 0a 20 20 | e:.............entdig.=.None.... |
5a360 | 20 20 20 20 20 20 41 31 20 3d 20 22 25 73 3a 25 73 3a 25 73 22 20 25 20 28 75 73 65 72 2c 20 72 | ......A1.=."%s:%s:%s".%.(user,.r |
5a380 | 65 61 6c 6d 2c 20 70 77 29 0a 20 20 20 20 20 20 20 20 41 32 20 3d 20 22 25 73 3a 25 73 22 20 25 | ealm,.pw).........A2.=."%s:%s".% |
5a3a0 | 20 28 72 65 71 2e 67 65 74 5f 6d 65 74 68 6f 64 28 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 | .(req.get_method(),............. |
5a3c0 | 20 20 20 20 20 20 20 20 20 20 20 20 23 20 58 58 58 20 73 65 6c 65 63 74 6f 72 3a 20 77 68 61 74 | ............#.XXX.selector:.what |
5a3e0 | 20 61 62 6f 75 74 20 70 72 6f 78 69 65 73 20 61 6e 64 20 66 75 6c 6c 20 75 72 6c 73 0a 20 20 20 | .about.proxies.and.full.urls.... |
5a400 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 71 2e 73 65 6c 65 63 74 6f | .....................req.selecto |
5a420 | 72 29 0a 20 20 20 20 20 20 20 20 69 66 20 71 6f 70 20 3d 3d 20 27 61 75 74 68 27 3a 0a 20 20 20 | r).........if.qop.==.'auth':.... |
5a440 | 20 20 20 20 20 20 20 20 20 69 66 20 6e 6f 6e 63 65 20 3d 3d 20 73 65 6c 66 2e 6c 61 73 74 5f 6e | .........if.nonce.==.self.last_n |
5a460 | 6f 6e 63 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 6e 6f 6e 63 65 | once:.................self.nonce |
5a480 | 5f 63 6f 75 6e 74 20 2b 3d 20 31 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 | _count.+=.1.............else:... |
5a4a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 6e 6f 6e 63 65 5f 63 6f 75 6e 74 20 3d | ..............self.nonce_count.= |
5a4c0 | 20 31 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 6c 61 73 74 5f 6e 6f 6e | .1.................self.last_non |
5a4e0 | 63 65 20 3d 20 6e 6f 6e 63 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 6e 63 76 61 6c 75 65 20 3d | ce.=.nonce.............ncvalue.= |
5a500 | 20 27 25 30 38 78 27 20 25 20 73 65 6c 66 2e 6e 6f 6e 63 65 5f 63 6f 75 6e 74 0a 20 20 20 20 20 | .'%08x'.%.self.nonce_count...... |
5a520 | 20 20 20 20 20 20 20 63 6e 6f 6e 63 65 20 3d 20 73 65 6c 66 2e 67 65 74 5f 63 6e 6f 6e 63 65 28 | .......cnonce.=.self.get_cnonce( |
5a540 | 6e 6f 6e 63 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 6e 6f 6e 63 65 62 69 74 20 3d 20 22 25 | nonce).............noncebit.=."% |
5a560 | 73 3a 25 73 3a 25 73 3a 25 73 3a 25 73 22 20 25 20 28 6e 6f 6e 63 65 2c 20 6e 63 76 61 6c 75 65 | s:%s:%s:%s:%s".%.(nonce,.ncvalue |
5a580 | 2c 20 63 6e 6f 6e 63 65 2c 20 71 6f 70 2c 20 48 28 41 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 | ,.cnonce,.qop,.H(A2))........... |
5a5a0 | 20 20 72 65 73 70 64 69 67 20 3d 20 4b 44 28 48 28 41 31 29 2c 20 6e 6f 6e 63 65 62 69 74 29 0a | ..respdig.=.KD(H(A1),.noncebit). |
5a5c0 | 20 20 20 20 20 20 20 20 65 6c 69 66 20 71 6f 70 20 69 73 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 | ........elif.qop.is.None:....... |
5a5e0 | 20 20 20 20 20 20 72 65 73 70 64 69 67 20 3d 20 4b 44 28 48 28 41 31 29 2c 20 22 25 73 3a 25 73 | ......respdig.=.KD(H(A1),."%s:%s |
5a600 | 22 20 25 20 28 6e 6f 6e 63 65 2c 20 48 28 41 32 29 29 29 0a 20 20 20 20 20 20 20 20 65 6c 73 65 | ".%.(nonce,.H(A2))).........else |
5a620 | 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 23 20 58 58 58 20 68 61 6e 64 6c 65 20 61 75 74 68 2d | :.............#.XXX.handle.auth- |
5a640 | 69 6e 74 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 55 52 4c 45 72 72 6f 72 28 | int..............raise.URLError( |
5a660 | 22 71 6f 70 20 27 25 73 27 20 69 73 20 6e 6f 74 20 73 75 70 70 6f 72 74 65 64 2e 22 20 25 20 71 | "qop.'%s'.is.not.supported.".%.q |
5a680 | 6f 70 29 0a 0a 20 20 20 20 20 20 20 20 23 20 58 58 58 20 73 68 6f 75 6c 64 20 74 68 65 20 70 61 | op)..........#.XXX.should.the.pa |
5a6a0 | 72 74 69 61 6c 20 64 69 67 65 73 74 73 20 62 65 20 65 6e 63 6f 64 65 64 20 74 6f 6f 3f 0a 0a 20 | rtial.digests.be.encoded.too?... |
5a6c0 | 20 20 20 20 20 20 20 62 61 73 65 20 3d 20 27 75 73 65 72 6e 61 6d 65 3d 22 25 73 22 2c 20 72 65 | .......base.=.'username="%s",.re |
5a6e0 | 61 6c 6d 3d 22 25 73 22 2c 20 6e 6f 6e 63 65 3d 22 25 73 22 2c 20 75 72 69 3d 22 25 73 22 2c 20 | alm="%s",.nonce="%s",.uri="%s",. |
5a700 | 27 20 5c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 72 65 73 70 6f 6e 73 65 3d 22 25 73 | '.\................'response="%s |
5a720 | 22 27 20 25 20 28 75 73 65 72 2c 20 72 65 61 6c 6d 2c 20 6e 6f 6e 63 65 2c 20 72 65 71 2e 73 65 | "'.%.(user,.realm,.nonce,.req.se |
5a740 | 6c 65 63 74 6f 72 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | lector,......................... |
5a760 | 20 20 20 20 20 20 20 20 20 20 72 65 73 70 64 69 67 29 0a 20 20 20 20 20 20 20 20 69 66 20 6f 70 | ..........respdig).........if.op |
5a780 | 61 71 75 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 62 61 73 65 20 2b 3d 20 27 2c 20 6f 70 61 | aque:.............base.+=.',.opa |
5a7a0 | 71 75 65 3d 22 25 73 22 27 20 25 20 6f 70 61 71 75 65 0a 20 20 20 20 20 20 20 20 69 66 20 65 6e | que="%s"'.%.opaque.........if.en |
5a7c0 | 74 64 69 67 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 62 61 73 65 20 2b 3d 20 27 2c 20 64 69 67 | tdig:.............base.+=.',.dig |
5a7e0 | 65 73 74 3d 22 25 73 22 27 20 25 20 65 6e 74 64 69 67 0a 20 20 20 20 20 20 20 20 62 61 73 65 20 | est="%s"'.%.entdig.........base. |
5a800 | 2b 3d 20 27 2c 20 61 6c 67 6f 72 69 74 68 6d 3d 22 25 73 22 27 20 25 20 61 6c 67 6f 72 69 74 68 | +=.',.algorithm="%s"'.%.algorith |
5a820 | 6d 0a 20 20 20 20 20 20 20 20 69 66 20 71 6f 70 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 62 61 | m.........if.qop:.............ba |
5a840 | 73 65 20 2b 3d 20 27 2c 20 71 6f 70 3d 61 75 74 68 2c 20 6e 63 3d 25 73 2c 20 63 6e 6f 6e 63 65 | se.+=.',.qop=auth,.nc=%s,.cnonce |
5a860 | 3d 22 25 73 22 27 20 25 20 28 6e 63 76 61 6c 75 65 2c 20 63 6e 6f 6e 63 65 29 0a 20 20 20 20 20 | ="%s"'.%.(ncvalue,.cnonce)...... |
5a880 | 20 20 20 72 65 74 75 72 6e 20 62 61 73 65 0a 0a 20 20 20 20 64 65 66 20 67 65 74 5f 61 6c 67 6f | ...return.base......def.get_algo |
5a8a0 | 72 69 74 68 6d 5f 69 6d 70 6c 73 28 73 65 6c 66 2c 20 61 6c 67 6f 72 69 74 68 6d 29 3a 0a 20 20 | rithm_impls(self,.algorithm):... |
5a8c0 | 20 20 20 20 20 20 23 20 6c 61 6d 62 64 61 73 20 61 73 73 75 6d 65 20 64 69 67 65 73 74 20 6d 6f | ......#.lambdas.assume.digest.mo |
5a8e0 | 64 75 6c 65 73 20 61 72 65 20 69 6d 70 6f 72 74 65 64 20 61 74 20 74 68 65 20 74 6f 70 20 6c 65 | dules.are.imported.at.the.top.le |
5a900 | 76 65 6c 0a 20 20 20 20 20 20 20 20 69 66 20 61 6c 67 6f 72 69 74 68 6d 20 3d 3d 20 27 4d 44 35 | vel.........if.algorithm.==.'MD5 |
5a920 | 27 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 48 20 3d 20 6c 61 6d 62 64 61 20 78 3a 20 68 61 73 | ':.............H.=.lambda.x:.has |
5a940 | 68 6c 69 62 2e 6d 64 35 28 78 2e 65 6e 63 6f 64 65 28 22 61 73 63 69 69 22 29 29 2e 68 65 78 64 | hlib.md5(x.encode("ascii")).hexd |
5a960 | 69 67 65 73 74 28 29 0a 20 20 20 20 20 20 20 20 65 6c 69 66 20 61 6c 67 6f 72 69 74 68 6d 20 3d | igest().........elif.algorithm.= |
5a980 | 3d 20 27 53 48 41 27 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 48 20 3d 20 6c 61 6d 62 64 61 20 | =.'SHA':.............H.=.lambda. |
5a9a0 | 78 3a 20 68 61 73 68 6c 69 62 2e 73 68 61 31 28 78 2e 65 6e 63 6f 64 65 28 22 61 73 63 69 69 22 | x:.hashlib.sha1(x.encode("ascii" |
5a9c0 | 29 29 2e 68 65 78 64 69 67 65 73 74 28 29 0a 20 20 20 20 20 20 20 20 23 20 58 58 58 20 4d 44 35 | )).hexdigest().........#.XXX.MD5 |
5a9e0 | 2d 73 65 73 73 0a 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 | -sess.........else:............. |
5aa00 | 72 61 69 73 65 20 56 61 6c 75 65 45 72 72 6f 72 28 22 55 6e 73 75 70 70 6f 72 74 65 64 20 64 69 | raise.ValueError("Unsupported.di |
5aa20 | 67 65 73 74 20 61 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 20 22 0a 20 20 20 20 20 20 20 20 20 20 | gest.authentication."........... |
5aa40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 61 6c 67 6f 72 69 74 68 6d 20 25 72 | ..................."algorithm.%r |
5aa60 | 22 20 25 20 61 6c 67 6f 72 69 74 68 6d 29 0a 20 20 20 20 20 20 20 20 4b 44 20 3d 20 6c 61 6d 62 | ".%.algorithm).........KD.=.lamb |
5aa80 | 64 61 20 73 2c 20 64 3a 20 48 28 22 25 73 3a 25 73 22 20 25 20 28 73 2c 20 64 29 29 0a 20 20 20 | da.s,.d:.H("%s:%s".%.(s,.d)).... |
5aaa0 | 20 20 20 20 20 72 65 74 75 72 6e 20 48 2c 20 4b 44 0a 0a 20 20 20 20 64 65 66 20 67 65 74 5f 65 | .....return.H,.KD......def.get_e |
5aac0 | 6e 74 69 74 79 5f 64 69 67 65 73 74 28 73 65 6c 66 2c 20 64 61 74 61 2c 20 63 68 61 6c 29 3a 0a | ntity_digest(self,.data,.chal):. |
5aae0 | 20 20 20 20 20 20 20 20 23 20 58 58 58 20 6e 6f 74 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 79 65 | ........#.XXX.not.implemented.ye |
5ab00 | 74 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 4e 6f 6e 65 0a 0a 0a 63 6c 61 73 73 20 48 54 | t.........return.None...class.HT |
5ab20 | 54 50 44 69 67 65 73 74 41 75 74 68 48 61 6e 64 6c 65 72 28 42 61 73 65 48 61 6e 64 6c 65 72 2c | TPDigestAuthHandler(BaseHandler, |
5ab40 | 20 41 62 73 74 72 61 63 74 44 69 67 65 73 74 41 75 74 68 48 61 6e 64 6c 65 72 29 3a 0a 20 20 20 | .AbstractDigestAuthHandler):.... |
5ab60 | 20 22 22 22 41 6e 20 61 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 20 70 72 6f 74 6f 63 6f 6c 20 64 | ."""An.authentication.protocol.d |
5ab80 | 65 66 69 6e 65 64 20 62 79 20 52 46 43 20 32 30 36 39 0a 0a 20 20 20 20 44 69 67 65 73 74 20 61 | efined.by.RFC.2069......Digest.a |
5aba0 | 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 20 69 6d 70 72 6f 76 65 73 20 6f 6e 20 62 61 73 69 63 20 | uthentication.improves.on.basic. |
5abc0 | 61 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 20 62 65 63 61 75 73 65 20 69 74 0a 20 20 20 20 64 6f | authentication.because.it.....do |
5abe0 | 65 73 20 6e 6f 74 20 74 72 61 6e 73 6d 69 74 20 70 61 73 73 77 6f 72 64 73 20 69 6e 20 74 68 65 | es.not.transmit.passwords.in.the |
5ac00 | 20 63 6c 65 61 72 2e 0a 20 20 20 20 22 22 22 0a 0a 20 20 20 20 61 75 74 68 5f 68 65 61 64 65 72 | .clear......"""......auth_header |
5ac20 | 20 3d 20 27 41 75 74 68 6f 72 69 7a 61 74 69 6f 6e 27 0a 20 20 20 20 68 61 6e 64 6c 65 72 5f 6f | .=.'Authorization'.....handler_o |
5ac40 | 72 64 65 72 20 3d 20 34 39 30 20 20 23 20 62 65 66 6f 72 65 20 42 61 73 69 63 20 61 75 74 68 0a | rder.=.490..#.before.Basic.auth. |
5ac60 | 0a 20 20 20 20 64 65 66 20 68 74 74 70 5f 65 72 72 6f 72 5f 34 30 31 28 73 65 6c 66 2c 20 72 65 | .....def.http_error_401(self,.re |
5ac80 | 71 2c 20 66 70 2c 20 63 6f 64 65 2c 20 6d 73 67 2c 20 68 65 61 64 65 72 73 29 3a 0a 20 20 20 20 | q,.fp,.code,.msg,.headers):..... |
5aca0 | 20 20 20 20 68 6f 73 74 20 3d 20 75 72 6c 70 61 72 73 65 28 72 65 71 2e 66 75 6c 6c 5f 75 72 6c | ....host.=.urlparse(req.full_url |
5acc0 | 29 5b 31 5d 0a 20 20 20 20 20 20 20 20 72 65 74 72 79 20 3d 20 73 65 6c 66 2e 68 74 74 70 5f 65 | )[1].........retry.=.self.http_e |
5ace0 | 72 72 6f 72 5f 61 75 74 68 5f 72 65 71 65 64 28 27 77 77 77 2d 61 75 74 68 65 6e 74 69 63 61 74 | rror_auth_reqed('www-authenticat |
5ad00 | 65 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | e',............................. |
5ad20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 68 6f 73 74 2c 20 72 65 71 2c 20 68 65 61 64 65 72 | ...............host,.req,.header |
5ad40 | 73 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 72 65 73 65 74 5f 72 65 74 72 79 5f 63 6f 75 6e | s).........self.reset_retry_coun |
5ad60 | 74 28 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 72 65 74 72 79 0a 0a 0a 63 6c 61 73 73 | t().........return.retry...class |
5ad80 | 20 50 72 6f 78 79 44 69 67 65 73 74 41 75 74 68 48 61 6e 64 6c 65 72 28 42 61 73 65 48 61 6e 64 | .ProxyDigestAuthHandler(BaseHand |
5ada0 | 6c 65 72 2c 20 41 62 73 74 72 61 63 74 44 69 67 65 73 74 41 75 74 68 48 61 6e 64 6c 65 72 29 3a | ler,.AbstractDigestAuthHandler): |
5adc0 | 0a 0a 20 20 20 20 61 75 74 68 5f 68 65 61 64 65 72 20 3d 20 27 50 72 6f 78 79 2d 41 75 74 68 6f | ......auth_header.=.'Proxy-Autho |
5ade0 | 72 69 7a 61 74 69 6f 6e 27 0a 20 20 20 20 68 61 6e 64 6c 65 72 5f 6f 72 64 65 72 20 3d 20 34 39 | rization'.....handler_order.=.49 |
5ae00 | 30 20 20 23 20 62 65 66 6f 72 65 20 42 61 73 69 63 20 61 75 74 68 0a 0a 20 20 20 20 64 65 66 20 | 0..#.before.Basic.auth......def. |
5ae20 | 68 74 74 70 5f 65 72 72 6f 72 5f 34 30 37 28 73 65 6c 66 2c 20 72 65 71 2c 20 66 70 2c 20 63 6f | http_error_407(self,.req,.fp,.co |
5ae40 | 64 65 2c 20 6d 73 67 2c 20 68 65 61 64 65 72 73 29 3a 0a 20 20 20 20 20 20 20 20 68 6f 73 74 20 | de,.msg,.headers):.........host. |
5ae60 | 3d 20 72 65 71 2e 68 6f 73 74 0a 20 20 20 20 20 20 20 20 72 65 74 72 79 20 3d 20 73 65 6c 66 2e | =.req.host.........retry.=.self. |
5ae80 | 68 74 74 70 5f 65 72 72 6f 72 5f 61 75 74 68 5f 72 65 71 65 64 28 27 70 72 6f 78 79 2d 61 75 74 | http_error_auth_reqed('proxy-aut |
5aea0 | 68 65 6e 74 69 63 61 74 65 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | henticate',..................... |
5aec0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 68 6f 73 74 2c 20 72 65 71 | .......................host,.req |
5aee0 | 2c 20 68 65 61 64 65 72 73 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 72 65 73 65 74 5f 72 65 | ,.headers).........self.reset_re |
5af00 | 74 72 79 5f 63 6f 75 6e 74 28 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 72 65 74 72 79 | try_count().........return.retry |
5af20 | 0a 0a 63 6c 61 73 73 20 41 62 73 74 72 61 63 74 48 54 54 50 48 61 6e 64 6c 65 72 28 42 61 73 65 | ..class.AbstractHTTPHandler(Base |
5af40 | 48 61 6e 64 6c 65 72 29 3a 0a 0a 20 20 20 20 64 65 66 20 5f 5f 69 6e 69 74 5f 5f 28 73 65 6c 66 | Handler):......def.__init__(self |
5af60 | 2c 20 64 65 62 75 67 6c 65 76 65 6c 3d 30 29 3a 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 64 | ,.debuglevel=0):.........self._d |
5af80 | 65 62 75 67 6c 65 76 65 6c 20 3d 20 64 65 62 75 67 6c 65 76 65 6c 0a 0a 20 20 20 20 64 65 66 20 | ebuglevel.=.debuglevel......def. |
5afa0 | 73 65 74 5f 68 74 74 70 5f 64 65 62 75 67 6c 65 76 65 6c 28 73 65 6c 66 2c 20 6c 65 76 65 6c 29 | set_http_debuglevel(self,.level) |
5afc0 | 3a 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 64 65 62 75 67 6c 65 76 65 6c 20 3d 20 6c 65 76 | :.........self._debuglevel.=.lev |
5afe0 | 65 6c 0a 0a 20 20 20 20 64 65 66 20 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 5f 6c 65 6e 67 74 68 28 | el......def._get_content_length( |
5b000 | 73 65 6c 66 2c 20 72 65 71 75 65 73 74 29 3a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 68 | self,.request):.........return.h |
5b020 | 74 74 70 2e 63 6c 69 65 6e 74 2e 48 54 54 50 43 6f 6e 6e 65 63 74 69 6f 6e 2e 5f 67 65 74 5f 63 | ttp.client.HTTPConnection._get_c |
5b040 | 6f 6e 74 65 6e 74 5f 6c 65 6e 67 74 68 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 71 75 65 | ontent_length(.............reque |
5b060 | 73 74 2e 64 61 74 61 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 71 75 65 73 74 2e 67 65 74 | st.data,.............request.get |
5b080 | 5f 6d 65 74 68 6f 64 28 29 29 0a 0a 20 20 20 20 64 65 66 20 64 6f 5f 72 65 71 75 65 73 74 5f 28 | _method())......def.do_request_( |
5b0a0 | 73 65 6c 66 2c 20 72 65 71 75 65 73 74 29 3a 0a 20 20 20 20 20 20 20 20 68 6f 73 74 20 3d 20 72 | self,.request):.........host.=.r |
5b0c0 | 65 71 75 65 73 74 2e 68 6f 73 74 0a 20 20 20 20 20 20 20 20 69 66 20 6e 6f 74 20 68 6f 73 74 3a | equest.host.........if.not.host: |
5b0e0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 55 52 4c 45 72 72 6f 72 28 27 6e 6f 20 | .............raise.URLError('no. |
5b100 | 68 6f 73 74 20 67 69 76 65 6e 27 29 0a 0a 20 20 20 20 20 20 20 20 69 66 20 72 65 71 75 65 73 74 | host.given')..........if.request |
5b120 | 2e 64 61 74 61 20 69 73 20 6e 6f 74 20 4e 6f 6e 65 3a 20 20 23 20 50 4f 53 54 0a 20 20 20 20 20 | .data.is.not.None:..#.POST...... |
5b140 | 20 20 20 20 20 20 20 64 61 74 61 20 3d 20 72 65 71 75 65 73 74 2e 64 61 74 61 0a 20 20 20 20 20 | .......data.=.request.data...... |
5b160 | 20 20 20 20 20 20 20 69 66 20 69 73 69 6e 73 74 61 6e 63 65 28 64 61 74 61 2c 20 73 74 72 29 3a | .......if.isinstance(data,.str): |
5b180 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 73 67 20 3d 20 22 50 4f 53 54 20 64 61 74 | .................msg.=."POST.dat |
5b1a0 | 61 20 73 68 6f 75 6c 64 20 62 65 20 62 79 74 65 73 2c 20 61 6e 20 69 74 65 72 61 62 6c 65 20 6f | a.should.be.bytes,.an.iterable.o |
5b1c0 | 66 20 62 79 74 65 73 2c 20 22 20 5c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | f.bytes,.".\.................... |
5b1e0 | 20 20 20 22 6f 72 20 61 20 66 69 6c 65 20 6f 62 6a 65 63 74 2e 20 49 74 20 63 61 6e 6e 6f 74 20 | ..."or.a.file.object..It.cannot. |
5b200 | 62 65 20 6f 66 20 74 79 70 65 20 73 74 72 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | be.of.type.str."................ |
5b220 | 20 72 61 69 73 65 20 54 79 70 65 45 72 72 6f 72 28 6d 73 67 29 0a 20 20 20 20 20 20 20 20 20 20 | .raise.TypeError(msg)........... |
5b240 | 20 20 69 66 20 6e 6f 74 20 72 65 71 75 65 73 74 2e 68 61 73 5f 68 65 61 64 65 72 28 27 43 6f 6e | ..if.not.request.has_header('Con |
5b260 | 74 65 6e 74 2d 74 79 70 65 27 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 71 | tent-type'):.................req |
5b280 | 75 65 73 74 2e 61 64 64 5f 75 6e 72 65 64 69 72 65 63 74 65 64 5f 68 65 61 64 65 72 28 0a 20 20 | uest.add_unredirected_header(... |
5b2a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 43 6f 6e 74 65 6e 74 2d 74 79 70 65 27 | ..................'Content-type' |
5b2c0 | 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 61 70 70 6c 69 63 61 74 69 | ,.....................'applicati |
5b2e0 | 6f 6e 2f 78 2d 77 77 77 2d 66 6f 72 6d 2d 75 72 6c 65 6e 63 6f 64 65 64 27 29 0a 20 20 20 20 20 | on/x-www-form-urlencoded')...... |
5b300 | 20 20 20 20 20 20 20 69 66 20 28 6e 6f 74 20 72 65 71 75 65 73 74 2e 68 61 73 5f 68 65 61 64 65 | .......if.(not.request.has_heade |
5b320 | 72 28 27 43 6f 6e 74 65 6e 74 2d 6c 65 6e 67 74 68 27 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | r('Content-length')............. |
5b340 | 20 20 20 20 20 20 20 20 61 6e 64 20 6e 6f 74 20 72 65 71 75 65 73 74 2e 68 61 73 5f 68 65 61 64 | ........and.not.request.has_head |
5b360 | 65 72 28 27 54 72 61 6e 73 66 65 72 2d 65 6e 63 6f 64 69 6e 67 27 29 29 3a 0a 20 20 20 20 20 20 | er('Transfer-encoding')):....... |
5b380 | 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 65 6e 74 5f 6c 65 6e 67 74 68 20 3d 20 73 65 6c 66 2e | ..........content_length.=.self. |
5b3a0 | 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 5f 6c 65 6e 67 74 68 28 72 65 71 75 65 73 74 29 0a 20 20 20 | _get_content_length(request).... |
5b3c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 63 6f 6e 74 65 6e 74 5f 6c 65 6e 67 74 68 20 69 | .............if.content_length.i |
5b3e0 | 73 20 6e 6f 74 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | s.not.None:..................... |
5b400 | 72 65 71 75 65 73 74 2e 61 64 64 5f 75 6e 72 65 64 69 72 65 63 74 65 64 5f 68 65 61 64 65 72 28 | request.add_unredirected_header( |
5b420 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 43 6f | .............................'Co |
5b440 | 6e 74 65 6e 74 2d 6c 65 6e 67 74 68 27 2c 20 73 74 72 28 63 6f 6e 74 65 6e 74 5f 6c 65 6e 67 74 | ntent-length',.str(content_lengt |
5b460 | 68 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 | h)).................else:....... |
5b480 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 71 75 65 73 74 2e 61 64 64 5f 75 6e 72 65 64 69 | ..............request.add_unredi |
5b4a0 | 72 65 63 74 65 64 5f 68 65 61 64 65 72 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | rected_header(.................. |
5b4c0 | 20 20 20 20 20 20 20 20 20 20 20 27 54 72 61 6e 73 66 65 72 2d 65 6e 63 6f 64 69 6e 67 27 2c 20 | ...........'Transfer-encoding',. |
5b4e0 | 27 63 68 75 6e 6b 65 64 27 29 0a 0a 20 20 20 20 20 20 20 20 73 65 6c 5f 68 6f 73 74 20 3d 20 68 | 'chunked')..........sel_host.=.h |
5b500 | 6f 73 74 0a 20 20 20 20 20 20 20 20 69 66 20 72 65 71 75 65 73 74 2e 68 61 73 5f 70 72 6f 78 79 | ost.........if.request.has_proxy |
5b520 | 28 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 63 68 65 6d 65 2c 20 73 65 6c 20 3d 20 73 70 | ():.............scheme,.sel.=.sp |
5b540 | 6c 69 74 74 79 70 65 28 72 65 71 75 65 73 74 2e 73 65 6c 65 63 74 6f 72 29 0a 20 20 20 20 20 20 | littype(request.selector)....... |
5b560 | 20 20 20 20 20 20 73 65 6c 5f 68 6f 73 74 2c 20 73 65 6c 5f 70 61 74 68 20 3d 20 73 70 6c 69 74 | ......sel_host,.sel_path.=.split |
5b580 | 68 6f 73 74 28 73 65 6c 29 0a 20 20 20 20 20 20 20 20 69 66 20 6e 6f 74 20 72 65 71 75 65 73 74 | host(sel).........if.not.request |
5b5a0 | 2e 68 61 73 5f 68 65 61 64 65 72 28 27 48 6f 73 74 27 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 | .has_header('Host'):............ |
5b5c0 | 20 72 65 71 75 65 73 74 2e 61 64 64 5f 75 6e 72 65 64 69 72 65 63 74 65 64 5f 68 65 61 64 65 72 | .request.add_unredirected_header |
5b5e0 | 28 27 48 6f 73 74 27 2c 20 73 65 6c 5f 68 6f 73 74 29 0a 20 20 20 20 20 20 20 20 66 6f 72 20 6e | ('Host',.sel_host).........for.n |
5b600 | 61 6d 65 2c 20 76 61 6c 75 65 20 69 6e 20 73 65 6c 66 2e 70 61 72 65 6e 74 2e 61 64 64 68 65 61 | ame,.value.in.self.parent.addhea |
5b620 | 64 65 72 73 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 6e 61 6d 65 20 3d 20 6e 61 6d 65 2e 63 61 | ders:.............name.=.name.ca |
5b640 | 70 69 74 61 6c 69 7a 65 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 6e 6f 74 20 72 65 | pitalize().............if.not.re |
5b660 | 71 75 65 73 74 2e 68 61 73 5f 68 65 61 64 65 72 28 6e 61 6d 65 29 3a 0a 20 20 20 20 20 20 20 20 | quest.has_header(name):......... |
5b680 | 20 20 20 20 20 20 20 20 72 65 71 75 65 73 74 2e 61 64 64 5f 75 6e 72 65 64 69 72 65 63 74 65 64 | ........request.add_unredirected |
5b6a0 | 5f 68 65 61 64 65 72 28 6e 61 6d 65 2c 20 76 61 6c 75 65 29 0a 0a 20 20 20 20 20 20 20 20 72 65 | _header(name,.value)..........re |
5b6c0 | 74 75 72 6e 20 72 65 71 75 65 73 74 0a 0a 20 20 20 20 64 65 66 20 64 6f 5f 6f 70 65 6e 28 73 65 | turn.request......def.do_open(se |
5b6e0 | 6c 66 2c 20 68 74 74 70 5f 63 6c 61 73 73 2c 20 72 65 71 2c 20 2a 2a 68 74 74 70 5f 63 6f 6e 6e | lf,.http_class,.req,.**http_conn |
5b700 | 5f 61 72 67 73 29 3a 0a 20 20 20 20 20 20 20 20 22 22 22 52 65 74 75 72 6e 20 61 6e 20 48 54 54 | _args):........."""Return.an.HTT |
5b720 | 50 52 65 73 70 6f 6e 73 65 20 6f 62 6a 65 63 74 20 66 6f 72 20 74 68 65 20 72 65 71 75 65 73 74 | PResponse.object.for.the.request |
5b740 | 2c 20 75 73 69 6e 67 20 68 74 74 70 5f 63 6c 61 73 73 2e 0a 0a 20 20 20 20 20 20 20 20 68 74 74 | ,.using.http_class...........htt |
5b760 | 70 5f 63 6c 61 73 73 20 6d 75 73 74 20 69 6d 70 6c 65 6d 65 6e 74 20 74 68 65 20 48 54 54 50 43 | p_class.must.implement.the.HTTPC |
5b780 | 6f 6e 6e 65 63 74 69 6f 6e 20 41 50 49 20 66 72 6f 6d 20 68 74 74 70 2e 63 6c 69 65 6e 74 2e 0a | onnection.API.from.http.client.. |
5b7a0 | 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 68 6f 73 74 20 3d 20 72 65 71 2e 68 | ........""".........host.=.req.h |
5b7c0 | 6f 73 74 0a 20 20 20 20 20 20 20 20 69 66 20 6e 6f 74 20 68 6f 73 74 3a 0a 20 20 20 20 20 20 20 | ost.........if.not.host:........ |
5b7e0 | 20 20 20 20 20 72 61 69 73 65 20 55 52 4c 45 72 72 6f 72 28 27 6e 6f 20 68 6f 73 74 20 67 69 76 | .....raise.URLError('no.host.giv |
5b800 | 65 6e 27 29 0a 0a 20 20 20 20 20 20 20 20 23 20 77 69 6c 6c 20 70 61 72 73 65 20 68 6f 73 74 3a | en')..........#.will.parse.host: |
5b820 | 70 6f 72 74 0a 20 20 20 20 20 20 20 20 68 20 3d 20 68 74 74 70 5f 63 6c 61 73 73 28 68 6f 73 74 | port.........h.=.http_class(host |
5b840 | 2c 20 74 69 6d 65 6f 75 74 3d 72 65 71 2e 74 69 6d 65 6f 75 74 2c 20 2a 2a 68 74 74 70 5f 63 6f | ,.timeout=req.timeout,.**http_co |
5b860 | 6e 6e 5f 61 72 67 73 29 0a 20 20 20 20 20 20 20 20 68 2e 73 65 74 5f 64 65 62 75 67 6c 65 76 65 | nn_args).........h.set_debugleve |
5b880 | 6c 28 73 65 6c 66 2e 5f 64 65 62 75 67 6c 65 76 65 6c 29 0a 0a 20 20 20 20 20 20 20 20 68 65 61 | l(self._debuglevel)..........hea |
5b8a0 | 64 65 72 73 20 3d 20 64 69 63 74 28 72 65 71 2e 75 6e 72 65 64 69 72 65 63 74 65 64 5f 68 64 72 | ders.=.dict(req.unredirected_hdr |
5b8c0 | 73 29 0a 20 20 20 20 20 20 20 20 68 65 61 64 65 72 73 2e 75 70 64 61 74 65 28 7b 6b 3a 20 76 20 | s).........headers.update({k:.v. |
5b8e0 | 66 6f 72 20 6b 2c 20 76 20 69 6e 20 72 65 71 2e 68 65 61 64 65 72 73 2e 69 74 65 6d 73 28 29 0a | for.k,.v.in.req.headers.items(). |
5b900 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 6b 20 6e 6f 74 | ........................if.k.not |
5b920 | 20 69 6e 20 68 65 61 64 65 72 73 7d 29 0a 0a 20 20 20 20 20 20 20 20 23 20 54 4f 44 4f 28 6a 68 | .in.headers})..........#.TODO(jh |
5b940 | 79 6c 74 6f 6e 29 3a 20 53 68 6f 75 6c 64 20 74 68 69 73 20 62 65 20 72 65 64 65 73 69 67 6e 65 | ylton):.Should.this.be.redesigne |
5b960 | 64 20 74 6f 20 68 61 6e 64 6c 65 0a 20 20 20 20 20 20 20 20 23 20 70 65 72 73 69 73 74 65 6e 74 | d.to.handle.........#.persistent |
5b980 | 20 63 6f 6e 6e 65 63 74 69 6f 6e 73 3f 0a 0a 20 20 20 20 20 20 20 20 23 20 57 65 20 77 61 6e 74 | .connections?..........#.We.want |
5b9a0 | 20 74 6f 20 6d 61 6b 65 20 61 6e 20 48 54 54 50 2f 31 2e 31 20 72 65 71 75 65 73 74 2c 20 62 75 | .to.make.an.HTTP/1.1.request,.bu |
5b9c0 | 74 20 74 68 65 20 61 64 64 69 6e 66 6f 75 72 6c 0a 20 20 20 20 20 20 20 20 23 20 63 6c 61 73 73 | t.the.addinfourl.........#.class |
5b9e0 | 20 69 73 6e 27 74 20 70 72 65 70 61 72 65 64 20 74 6f 20 64 65 61 6c 20 77 69 74 68 20 61 20 70 | .isn't.prepared.to.deal.with.a.p |
5ba00 | 65 72 73 69 73 74 65 6e 74 20 63 6f 6e 6e 65 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 23 20 | ersistent.connection..........#. |
5ba20 | 49 74 20 77 69 6c 6c 20 74 72 79 20 74 6f 20 72 65 61 64 20 61 6c 6c 20 72 65 6d 61 69 6e 69 6e | It.will.try.to.read.all.remainin |
5ba40 | 67 20 64 61 74 61 20 66 72 6f 6d 20 74 68 65 20 73 6f 63 6b 65 74 2c 0a 20 20 20 20 20 20 20 20 | g.data.from.the.socket,......... |
5ba60 | 23 20 77 68 69 63 68 20 77 69 6c 6c 20 62 6c 6f 63 6b 20 77 68 69 6c 65 20 74 68 65 20 73 65 72 | #.which.will.block.while.the.ser |
5ba80 | 76 65 72 20 77 61 69 74 73 20 66 6f 72 20 74 68 65 20 6e 65 78 74 20 72 65 71 75 65 73 74 2e 0a | ver.waits.for.the.next.request.. |
5baa0 | 20 20 20 20 20 20 20 20 23 20 53 6f 20 6d 61 6b 65 20 73 75 72 65 20 74 68 65 20 63 6f 6e 6e 65 | ........#.So.make.sure.the.conne |
5bac0 | 63 74 69 6f 6e 20 67 65 74 73 20 63 6c 6f 73 65 64 20 61 66 74 65 72 20 74 68 65 20 28 6f 6e 6c | ction.gets.closed.after.the.(onl |
5bae0 | 79 29 0a 20 20 20 20 20 20 20 20 23 20 72 65 71 75 65 73 74 2e 0a 20 20 20 20 20 20 20 20 68 65 | y).........#.request..........he |
5bb00 | 61 64 65 72 73 5b 22 43 6f 6e 6e 65 63 74 69 6f 6e 22 5d 20 3d 20 22 63 6c 6f 73 65 22 0a 20 20 | aders["Connection"].=."close"... |
5bb20 | 20 20 20 20 20 20 68 65 61 64 65 72 73 20 3d 20 7b 6e 61 6d 65 2e 74 69 74 6c 65 28 29 3a 20 76 | ......headers.=.{name.title():.v |
5bb40 | 61 6c 20 66 6f 72 20 6e 61 6d 65 2c 20 76 61 6c 20 69 6e 20 68 65 61 64 65 72 73 2e 69 74 65 6d | al.for.name,.val.in.headers.item |
5bb60 | 73 28 29 7d 0a 0a 20 20 20 20 20 20 20 20 69 66 20 72 65 71 2e 5f 74 75 6e 6e 65 6c 5f 68 6f 73 | s()}..........if.req._tunnel_hos |
5bb80 | 74 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 75 6e 6e 65 6c 5f 68 65 61 64 65 72 73 20 3d 20 | t:.............tunnel_headers.=. |
5bba0 | 7b 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 72 6f 78 79 5f 61 75 74 68 5f 68 64 72 20 3d 20 | {}.............proxy_auth_hdr.=. |
5bbc0 | 22 50 72 6f 78 79 2d 41 75 74 68 6f 72 69 7a 61 74 69 6f 6e 22 0a 20 20 20 20 20 20 20 20 20 20 | "Proxy-Authorization"........... |
5bbe0 | 20 20 69 66 20 70 72 6f 78 79 5f 61 75 74 68 5f 68 64 72 20 69 6e 20 68 65 61 64 65 72 73 3a 0a | ..if.proxy_auth_hdr.in.headers:. |
5bc00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 75 6e 6e 65 6c 5f 68 65 61 64 65 72 73 5b 70 | ................tunnel_headers[p |
5bc20 | 72 6f 78 79 5f 61 75 74 68 5f 68 64 72 5d 20 3d 20 68 65 61 64 65 72 73 5b 70 72 6f 78 79 5f 61 | roxy_auth_hdr].=.headers[proxy_a |
5bc40 | 75 74 68 5f 68 64 72 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 20 50 72 6f 78 79 | uth_hdr].................#.Proxy |
5bc60 | 2d 41 75 74 68 6f 72 69 7a 61 74 69 6f 6e 20 73 68 6f 75 6c 64 20 6e 6f 74 20 62 65 20 73 65 6e | -Authorization.should.not.be.sen |
5bc80 | 74 20 74 6f 20 6f 72 69 67 69 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 20 73 65 | t.to.origin.................#.se |
5bca0 | 72 76 65 72 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65 6c 20 68 65 61 64 65 72 | rver..................del.header |
5bcc0 | 73 5b 70 72 6f 78 79 5f 61 75 74 68 5f 68 64 72 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 68 2e | s[proxy_auth_hdr].............h. |
5bce0 | 73 65 74 5f 74 75 6e 6e 65 6c 28 72 65 71 2e 5f 74 75 6e 6e 65 6c 5f 68 6f 73 74 2c 20 68 65 61 | set_tunnel(req._tunnel_host,.hea |
5bd00 | 64 65 72 73 3d 74 75 6e 6e 65 6c 5f 68 65 61 64 65 72 73 29 0a 0a 20 20 20 20 20 20 20 20 74 72 | ders=tunnel_headers)..........tr |
5bd20 | 79 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 72 79 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 | y:.............try:............. |
5bd40 | 20 20 20 20 68 2e 72 65 71 75 65 73 74 28 72 65 71 2e 67 65 74 5f 6d 65 74 68 6f 64 28 29 2c 20 | ....h.request(req.get_method(),. |
5bd60 | 72 65 71 2e 73 65 6c 65 63 74 6f 72 2c 20 72 65 71 2e 64 61 74 61 2c 20 68 65 61 64 65 72 73 2c | req.selector,.req.data,.headers, |
5bd80 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6e 63 6f 64 | ...........................encod |
5bda0 | 65 5f 63 68 75 6e 6b 65 64 3d 72 65 71 2e 68 61 73 5f 68 65 61 64 65 72 28 27 54 72 61 6e 73 66 | e_chunked=req.has_header('Transf |
5bdc0 | 65 72 2d 65 6e 63 6f 64 69 6e 67 27 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 78 63 65 70 | er-encoding')).............excep |
5bde0 | 74 20 4f 53 45 72 72 6f 72 20 61 73 20 65 72 72 3a 20 23 20 74 69 6d 65 6f 75 74 20 65 72 72 6f | t.OSError.as.err:.#.timeout.erro |
5be00 | 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 55 52 4c 45 72 72 6f 72 | r.................raise.URLError |
5be20 | 28 65 72 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 20 3d 20 68 2e 67 65 74 72 65 73 70 6f | (err).............r.=.h.getrespo |
5be40 | 6e 73 65 28 29 0a 20 20 20 20 20 20 20 20 65 78 63 65 70 74 3a 0a 20 20 20 20 20 20 20 20 20 20 | nse().........except:........... |
5be60 | 20 20 68 2e 63 6c 6f 73 65 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 0a 0a 20 | ..h.close().............raise... |
5be80 | 20 20 20 20 20 20 20 23 20 49 66 20 74 68 65 20 73 65 72 76 65 72 20 64 6f 65 73 20 6e 6f 74 20 | .......#.If.the.server.does.not. |
5bea0 | 73 65 6e 64 20 75 73 20 61 20 27 43 6f 6e 6e 65 63 74 69 6f 6e 3a 20 63 6c 6f 73 65 27 20 68 65 | send.us.a.'Connection:.close'.he |
5bec0 | 61 64 65 72 2c 0a 20 20 20 20 20 20 20 20 23 20 48 54 54 50 43 6f 6e 6e 65 63 74 69 6f 6e 20 61 | ader,.........#.HTTPConnection.a |
5bee0 | 73 73 75 6d 65 73 20 74 68 65 20 73 6f 63 6b 65 74 20 73 68 6f 75 6c 64 20 62 65 20 6c 65 66 74 | ssumes.the.socket.should.be.left |
5bf00 | 20 6f 70 65 6e 2e 20 4d 61 6e 75 61 6c 6c 79 0a 20 20 20 20 20 20 20 20 23 20 6d 61 72 6b 20 74 | .open..Manually.........#.mark.t |
5bf20 | 68 65 20 73 6f 63 6b 65 74 20 74 6f 20 62 65 20 63 6c 6f 73 65 64 20 77 68 65 6e 20 74 68 69 73 | he.socket.to.be.closed.when.this |
5bf40 | 20 72 65 73 70 6f 6e 73 65 20 6f 62 6a 65 63 74 20 67 6f 65 73 20 61 77 61 79 2e 0a 20 20 20 20 | .response.object.goes.away...... |
5bf60 | 20 20 20 20 69 66 20 68 2e 73 6f 63 6b 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 68 2e 73 6f 63 | ....if.h.sock:.............h.soc |
5bf80 | 6b 2e 63 6c 6f 73 65 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 68 2e 73 6f 63 6b 20 3d 20 4e | k.close().............h.sock.=.N |
5bfa0 | 6f 6e 65 0a 0a 20 20 20 20 20 20 20 20 72 2e 75 72 6c 20 3d 20 72 65 71 2e 67 65 74 5f 66 75 6c | one..........r.url.=.req.get_ful |
5bfc0 | 6c 5f 75 72 6c 28 29 0a 20 20 20 20 20 20 20 20 23 20 54 68 69 73 20 6c 69 6e 65 20 72 65 70 6c | l_url().........#.This.line.repl |
5bfe0 | 61 63 65 73 20 74 68 65 20 2e 6d 73 67 20 61 74 74 72 69 62 75 74 65 20 6f 66 20 74 68 65 20 48 | aces.the..msg.attribute.of.the.H |
5c000 | 54 54 50 52 65 73 70 6f 6e 73 65 0a 20 20 20 20 20 20 20 20 23 20 77 69 74 68 20 2e 68 65 61 64 | TTPResponse.........#.with..head |
5c020 | 65 72 73 2c 20 62 65 63 61 75 73 65 20 75 72 6c 6c 69 62 20 63 6c 69 65 6e 74 73 20 65 78 70 65 | ers,.because.urllib.clients.expe |
5c040 | 63 74 20 74 68 65 20 72 65 73 70 6f 6e 73 65 20 74 6f 0a 20 20 20 20 20 20 20 20 23 20 68 61 76 | ct.the.response.to.........#.hav |
5c060 | 65 20 74 68 65 20 72 65 61 73 6f 6e 20 69 6e 20 2e 6d 73 67 2e 20 20 49 74 20 77 6f 75 6c 64 20 | e.the.reason.in..msg...It.would. |
5c080 | 62 65 20 67 6f 6f 64 20 74 6f 20 6d 61 72 6b 20 74 68 69 73 0a 20 20 20 20 20 20 20 20 23 20 61 | be.good.to.mark.this.........#.a |
5c0a0 | 74 74 72 69 62 75 74 65 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 61 6e 64 20 67 65 74 20 74 | ttribute.is.deprecated.and.get.t |
5c0c0 | 68 65 6e 20 74 6f 20 75 73 65 20 69 6e 66 6f 28 29 20 6f 72 0a 20 20 20 20 20 20 20 20 23 20 2e | hen.to.use.info().or.........#.. |
5c0e0 | 68 65 61 64 65 72 73 2e 0a 20 20 20 20 20 20 20 20 72 2e 6d 73 67 20 3d 20 72 2e 72 65 61 73 6f | headers..........r.msg.=.r.reaso |
5c100 | 6e 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 72 0a 0a 0a 63 6c 61 73 73 20 48 54 54 50 48 | n.........return.r...class.HTTPH |
5c120 | 61 6e 64 6c 65 72 28 41 62 73 74 72 61 63 74 48 54 54 50 48 61 6e 64 6c 65 72 29 3a 0a 0a 20 20 | andler(AbstractHTTPHandler):.... |
5c140 | 20 20 64 65 66 20 68 74 74 70 5f 6f 70 65 6e 28 73 65 6c 66 2c 20 72 65 71 29 3a 0a 20 20 20 20 | ..def.http_open(self,.req):..... |
5c160 | 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 2e 64 6f 5f 6f 70 65 6e 28 68 74 74 70 2e 63 6c 69 | ....return.self.do_open(http.cli |
5c180 | 65 6e 74 2e 48 54 54 50 43 6f 6e 6e 65 63 74 69 6f 6e 2c 20 72 65 71 29 0a 0a 20 20 20 20 68 74 | ent.HTTPConnection,.req)......ht |
5c1a0 | 74 70 5f 72 65 71 75 65 73 74 20 3d 20 41 62 73 74 72 61 63 74 48 54 54 50 48 61 6e 64 6c 65 72 | tp_request.=.AbstractHTTPHandler |
5c1c0 | 2e 64 6f 5f 72 65 71 75 65 73 74 5f 0a 0a 69 66 20 68 61 73 61 74 74 72 28 68 74 74 70 2e 63 6c | .do_request_..if.hasattr(http.cl |
5c1e0 | 69 65 6e 74 2c 20 27 48 54 54 50 53 43 6f 6e 6e 65 63 74 69 6f 6e 27 29 3a 0a 0a 20 20 20 20 63 | ient,.'HTTPSConnection'):......c |
5c200 | 6c 61 73 73 20 48 54 54 50 53 48 61 6e 64 6c 65 72 28 41 62 73 74 72 61 63 74 48 54 54 50 48 61 | lass.HTTPSHandler(AbstractHTTPHa |
5c220 | 6e 64 6c 65 72 29 3a 0a 0a 20 20 20 20 20 20 20 20 64 65 66 20 5f 5f 69 6e 69 74 5f 5f 28 73 65 | ndler):..........def.__init__(se |
5c240 | 6c 66 2c 20 64 65 62 75 67 6c 65 76 65 6c 3d 30 2c 20 63 6f 6e 74 65 78 74 3d 4e 6f 6e 65 2c 20 | lf,.debuglevel=0,.context=None,. |
5c260 | 63 68 65 63 6b 5f 68 6f 73 74 6e 61 6d 65 3d 4e 6f 6e 65 29 3a 0a 20 20 20 20 20 20 20 20 20 20 | check_hostname=None):........... |
5c280 | 20 20 41 62 73 74 72 61 63 74 48 54 54 50 48 61 6e 64 6c 65 72 2e 5f 5f 69 6e 69 74 5f 5f 28 73 | ..AbstractHTTPHandler.__init__(s |
5c2a0 | 65 6c 66 2c 20 64 65 62 75 67 6c 65 76 65 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c | elf,.debuglevel).............sel |
5c2c0 | 66 2e 5f 63 6f 6e 74 65 78 74 20 3d 20 63 6f 6e 74 65 78 74 0a 20 20 20 20 20 20 20 20 20 20 20 | f._context.=.context............ |
5c2e0 | 20 73 65 6c 66 2e 5f 63 68 65 63 6b 5f 68 6f 73 74 6e 61 6d 65 20 3d 20 63 68 65 63 6b 5f 68 6f | .self._check_hostname.=.check_ho |
5c300 | 73 74 6e 61 6d 65 0a 0a 20 20 20 20 20 20 20 20 64 65 66 20 68 74 74 70 73 5f 6f 70 65 6e 28 73 | stname..........def.https_open(s |
5c320 | 65 6c 66 2c 20 72 65 71 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 | elf,.req):.............return.se |
5c340 | 6c 66 2e 64 6f 5f 6f 70 65 6e 28 68 74 74 70 2e 63 6c 69 65 6e 74 2e 48 54 54 50 53 43 6f 6e 6e | lf.do_open(http.client.HTTPSConn |
5c360 | 65 63 74 69 6f 6e 2c 20 72 65 71 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e | ection,.req,.................con |
5c380 | 74 65 78 74 3d 73 65 6c 66 2e 5f 63 6f 6e 74 65 78 74 2c 20 63 68 65 63 6b 5f 68 6f 73 74 6e 61 | text=self._context,.check_hostna |
5c3a0 | 6d 65 3d 73 65 6c 66 2e 5f 63 68 65 63 6b 5f 68 6f 73 74 6e 61 6d 65 29 0a 0a 20 20 20 20 20 20 | me=self._check_hostname)........ |
5c3c0 | 20 20 68 74 74 70 73 5f 72 65 71 75 65 73 74 20 3d 20 41 62 73 74 72 61 63 74 48 54 54 50 48 61 | ..https_request.=.AbstractHTTPHa |
5c3e0 | 6e 64 6c 65 72 2e 64 6f 5f 72 65 71 75 65 73 74 5f 0a 0a 20 20 20 20 5f 5f 61 6c 6c 5f 5f 2e 61 | ndler.do_request_......__all__.a |
5c400 | 70 70 65 6e 64 28 27 48 54 54 50 53 48 61 6e 64 6c 65 72 27 29 0a 0a 63 6c 61 73 73 20 48 54 54 | ppend('HTTPSHandler')..class.HTT |
5c420 | 50 43 6f 6f 6b 69 65 50 72 6f 63 65 73 73 6f 72 28 42 61 73 65 48 61 6e 64 6c 65 72 29 3a 0a 20 | PCookieProcessor(BaseHandler):.. |
5c440 | 20 20 20 64 65 66 20 5f 5f 69 6e 69 74 5f 5f 28 73 65 6c 66 2c 20 63 6f 6f 6b 69 65 6a 61 72 3d | ...def.__init__(self,.cookiejar= |
5c460 | 4e 6f 6e 65 29 3a 0a 20 20 20 20 20 20 20 20 69 6d 70 6f 72 74 20 68 74 74 70 2e 63 6f 6f 6b 69 | None):.........import.http.cooki |
5c480 | 65 6a 61 72 0a 20 20 20 20 20 20 20 20 69 66 20 63 6f 6f 6b 69 65 6a 61 72 20 69 73 20 4e 6f 6e | ejar.........if.cookiejar.is.Non |
5c4a0 | 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6f 6b 69 65 6a 61 72 20 3d 20 68 74 74 70 2e | e:.............cookiejar.=.http. |
5c4c0 | 63 6f 6f 6b 69 65 6a 61 72 2e 43 6f 6f 6b 69 65 4a 61 72 28 29 0a 20 20 20 20 20 20 20 20 73 65 | cookiejar.CookieJar().........se |
5c4e0 | 6c 66 2e 63 6f 6f 6b 69 65 6a 61 72 20 3d 20 63 6f 6f 6b 69 65 6a 61 72 0a 0a 20 20 20 20 64 65 | lf.cookiejar.=.cookiejar......de |
5c500 | 66 20 68 74 74 70 5f 72 65 71 75 65 73 74 28 73 65 6c 66 2c 20 72 65 71 75 65 73 74 29 3a 0a 20 | f.http_request(self,.request):.. |
5c520 | 20 20 20 20 20 20 20 73 65 6c 66 2e 63 6f 6f 6b 69 65 6a 61 72 2e 61 64 64 5f 63 6f 6f 6b 69 65 | .......self.cookiejar.add_cookie |
5c540 | 5f 68 65 61 64 65 72 28 72 65 71 75 65 73 74 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 | _header(request).........return. |
5c560 | 72 65 71 75 65 73 74 0a 0a 20 20 20 20 64 65 66 20 68 74 74 70 5f 72 65 73 70 6f 6e 73 65 28 73 | request......def.http_response(s |
5c580 | 65 6c 66 2c 20 72 65 71 75 65 73 74 2c 20 72 65 73 70 6f 6e 73 65 29 3a 0a 20 20 20 20 20 20 20 | elf,.request,.response):........ |
5c5a0 | 20 73 65 6c 66 2e 63 6f 6f 6b 69 65 6a 61 72 2e 65 78 74 72 61 63 74 5f 63 6f 6f 6b 69 65 73 28 | .self.cookiejar.extract_cookies( |
5c5c0 | 72 65 73 70 6f 6e 73 65 2c 20 72 65 71 75 65 73 74 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 | response,.request).........retur |
5c5e0 | 6e 20 72 65 73 70 6f 6e 73 65 0a 0a 20 20 20 20 68 74 74 70 73 5f 72 65 71 75 65 73 74 20 3d 20 | n.response......https_request.=. |
5c600 | 68 74 74 70 5f 72 65 71 75 65 73 74 0a 20 20 20 20 68 74 74 70 73 5f 72 65 73 70 6f 6e 73 65 20 | http_request.....https_response. |
5c620 | 3d 20 68 74 74 70 5f 72 65 73 70 6f 6e 73 65 0a 0a 63 6c 61 73 73 20 55 6e 6b 6e 6f 77 6e 48 61 | =.http_response..class.UnknownHa |
5c640 | 6e 64 6c 65 72 28 42 61 73 65 48 61 6e 64 6c 65 72 29 3a 0a 20 20 20 20 64 65 66 20 75 6e 6b 6e | ndler(BaseHandler):.....def.unkn |
5c660 | 6f 77 6e 5f 6f 70 65 6e 28 73 65 6c 66 2c 20 72 65 71 29 3a 0a 20 20 20 20 20 20 20 20 74 79 70 | own_open(self,.req):.........typ |
5c680 | 65 20 3d 20 72 65 71 2e 74 79 70 65 0a 20 20 20 20 20 20 20 20 72 61 69 73 65 20 55 52 4c 45 72 | e.=.req.type.........raise.URLEr |
5c6a0 | 72 6f 72 28 27 75 6e 6b 6e 6f 77 6e 20 75 72 6c 20 74 79 70 65 3a 20 25 73 27 20 25 20 74 79 70 | ror('unknown.url.type:.%s'.%.typ |
5c6c0 | 65 29 0a 0a 64 65 66 20 70 61 72 73 65 5f 6b 65 71 76 5f 6c 69 73 74 28 6c 29 3a 0a 20 20 20 20 | e)..def.parse_keqv_list(l):..... |
5c6e0 | 22 22 22 50 61 72 73 65 20 6c 69 73 74 20 6f 66 20 6b 65 79 3d 76 61 6c 75 65 20 73 74 72 69 6e | """Parse.list.of.key=value.strin |
5c700 | 67 73 20 77 68 65 72 65 20 6b 65 79 73 20 61 72 65 20 6e 6f 74 20 64 75 70 6c 69 63 61 74 65 64 | gs.where.keys.are.not.duplicated |
5c720 | 2e 22 22 22 0a 20 20 20 20 70 61 72 73 65 64 20 3d 20 7b 7d 0a 20 20 20 20 66 6f 72 20 65 6c 74 | .""".....parsed.=.{}.....for.elt |
5c740 | 20 69 6e 20 6c 3a 0a 20 20 20 20 20 20 20 20 6b 2c 20 76 20 3d 20 65 6c 74 2e 73 70 6c 69 74 28 | .in.l:.........k,.v.=.elt.split( |
5c760 | 27 3d 27 2c 20 31 29 0a 20 20 20 20 20 20 20 20 69 66 20 76 5b 30 5d 20 3d 3d 20 27 22 27 20 61 | '=',.1).........if.v[0].==.'"'.a |
5c780 | 6e 64 20 76 5b 2d 31 5d 20 3d 3d 20 27 22 27 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 20 3d | nd.v[-1].==.'"':.............v.= |
5c7a0 | 20 76 5b 31 3a 2d 31 5d 0a 20 20 20 20 20 20 20 20 70 61 72 73 65 64 5b 6b 5d 20 3d 20 76 0a 20 | .v[1:-1].........parsed[k].=.v.. |
5c7c0 | 20 20 20 72 65 74 75 72 6e 20 70 61 72 73 65 64 0a 0a 64 65 66 20 70 61 72 73 65 5f 68 74 74 70 | ...return.parsed..def.parse_http |
5c7e0 | 5f 6c 69 73 74 28 73 29 3a 0a 20 20 20 20 22 22 22 50 61 72 73 65 20 6c 69 73 74 73 20 61 73 20 | _list(s):....."""Parse.lists.as. |
5c800 | 64 65 73 63 72 69 62 65 64 20 62 79 20 52 46 43 20 32 30 36 38 20 53 65 63 74 69 6f 6e 20 32 2e | described.by.RFC.2068.Section.2. |
5c820 | 0a 0a 20 20 20 20 49 6e 20 70 61 72 74 69 63 75 6c 61 72 2c 20 70 61 72 73 65 20 63 6f 6d 6d 61 | ......In.particular,.parse.comma |
5c840 | 2d 73 65 70 61 72 61 74 65 64 20 6c 69 73 74 73 20 77 68 65 72 65 20 74 68 65 20 65 6c 65 6d 65 | -separated.lists.where.the.eleme |
5c860 | 6e 74 73 20 6f 66 0a 20 20 20 20 74 68 65 20 6c 69 73 74 20 6d 61 79 20 69 6e 63 6c 75 64 65 20 | nts.of.....the.list.may.include. |
5c880 | 71 75 6f 74 65 64 2d 73 74 72 69 6e 67 73 2e 20 20 41 20 71 75 6f 74 65 64 2d 73 74 72 69 6e 67 | quoted-strings...A.quoted-string |
5c8a0 | 20 63 6f 75 6c 64 0a 20 20 20 20 63 6f 6e 74 61 69 6e 20 61 20 63 6f 6d 6d 61 2e 20 20 41 20 6e | .could.....contain.a.comma...A.n |
5c8c0 | 6f 6e 2d 71 75 6f 74 65 64 20 73 74 72 69 6e 67 20 63 6f 75 6c 64 20 68 61 76 65 20 71 75 6f 74 | on-quoted.string.could.have.quot |
5c8e0 | 65 73 20 69 6e 20 74 68 65 0a 20 20 20 20 6d 69 64 64 6c 65 2e 20 20 4e 65 69 74 68 65 72 20 63 | es.in.the.....middle...Neither.c |
5c900 | 6f 6d 6d 61 73 20 6e 6f 72 20 71 75 6f 74 65 73 20 63 6f 75 6e 74 20 69 66 20 74 68 65 79 20 61 | ommas.nor.quotes.count.if.they.a |
5c920 | 72 65 20 65 73 63 61 70 65 64 2e 0a 20 20 20 20 4f 6e 6c 79 20 64 6f 75 62 6c 65 2d 71 75 6f 74 | re.escaped......Only.double-quot |
5c940 | 65 73 20 63 6f 75 6e 74 2c 20 6e 6f 74 20 73 69 6e 67 6c 65 2d 71 75 6f 74 65 73 2e 0a 20 20 20 | es.count,.not.single-quotes..... |
5c960 | 20 22 22 22 0a 20 20 20 20 72 65 73 20 3d 20 5b 5d 0a 20 20 20 20 70 61 72 74 20 3d 20 27 27 0a | .""".....res.=.[].....part.=.''. |
5c980 | 0a 20 20 20 20 65 73 63 61 70 65 20 3d 20 71 75 6f 74 65 20 3d 20 46 61 6c 73 65 0a 20 20 20 20 | .....escape.=.quote.=.False..... |
5c9a0 | 66 6f 72 20 63 75 72 20 69 6e 20 73 3a 0a 20 20 20 20 20 20 20 20 69 66 20 65 73 63 61 70 65 3a | for.cur.in.s:.........if.escape: |
5c9c0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 61 72 74 20 2b 3d 20 63 75 72 0a 20 20 20 20 20 20 20 | .............part.+=.cur........ |
5c9e0 | 20 20 20 20 20 65 73 63 61 70 65 20 3d 20 46 61 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 | .....escape.=.False............. |
5ca00 | 63 6f 6e 74 69 6e 75 65 0a 20 20 20 20 20 20 20 20 69 66 20 71 75 6f 74 65 3a 0a 20 20 20 20 20 | continue.........if.quote:...... |
5ca20 | 20 20 20 20 20 20 20 69 66 20 63 75 72 20 3d 3d 20 27 5c 5c 27 3a 0a 20 20 20 20 20 20 20 20 20 | .......if.cur.==.'\\':.......... |
5ca40 | 20 20 20 20 20 20 20 65 73 63 61 70 65 20 3d 20 54 72 75 65 0a 20 20 20 20 20 20 20 20 20 20 20 | .......escape.=.True............ |
5ca60 | 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 69 66 20 63 | .....continue.............elif.c |
5ca80 | 75 72 20 3d 3d 20 27 22 27 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 71 75 6f 74 65 | ur.==.'"':.................quote |
5caa0 | 20 3d 20 46 61 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 61 72 74 20 2b 3d 20 63 75 72 | .=.False.............part.+=.cur |
5cac0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 0a 0a 20 20 20 20 20 20 20 20 69 | .............continue..........i |
5cae0 | 66 20 63 75 72 20 3d 3d 20 27 2c 27 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 73 2e 61 70 | f.cur.==.',':.............res.ap |
5cb00 | 70 65 6e 64 28 70 61 72 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 61 72 74 20 3d 20 27 27 | pend(part).............part.=.'' |
5cb20 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 0a 0a 20 20 20 20 20 20 20 20 69 | .............continue..........i |
5cb40 | 66 20 63 75 72 20 3d 3d 20 27 22 27 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 71 75 6f 74 65 20 | f.cur.==.'"':.............quote. |
5cb60 | 3d 20 54 72 75 65 0a 0a 20 20 20 20 20 20 20 20 70 61 72 74 20 2b 3d 20 63 75 72 0a 0a 20 20 20 | =.True..........part.+=.cur..... |
5cb80 | 20 23 20 61 70 70 65 6e 64 20 6c 61 73 74 20 70 61 72 74 0a 20 20 20 20 69 66 20 70 61 72 74 3a | .#.append.last.part.....if.part: |
5cba0 | 0a 20 20 20 20 20 20 20 20 72 65 73 2e 61 70 70 65 6e 64 28 70 61 72 74 29 0a 0a 20 20 20 20 72 | .........res.append(part)......r |
5cbc0 | 65 74 75 72 6e 20 5b 70 61 72 74 2e 73 74 72 69 70 28 29 20 66 6f 72 20 70 61 72 74 20 69 6e 20 | eturn.[part.strip().for.part.in. |
5cbe0 | 72 65 73 5d 0a 0a 63 6c 61 73 73 20 46 69 6c 65 48 61 6e 64 6c 65 72 28 42 61 73 65 48 61 6e 64 | res]..class.FileHandler(BaseHand |
5cc00 | 6c 65 72 29 3a 0a 20 20 20 20 23 20 55 73 65 20 6c 6f 63 61 6c 20 66 69 6c 65 20 6f 72 20 46 54 | ler):.....#.Use.local.file.or.FT |
5cc20 | 50 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 66 6f 72 6d 20 6f 66 20 55 52 4c 0a 20 20 20 20 64 | P.depending.on.form.of.URL.....d |
5cc40 | 65 66 20 66 69 6c 65 5f 6f 70 65 6e 28 73 65 6c 66 2c 20 72 65 71 29 3a 0a 20 20 20 20 20 20 20 | ef.file_open(self,.req):........ |
5cc60 | 20 75 72 6c 20 3d 20 72 65 71 2e 73 65 6c 65 63 74 6f 72 0a 20 20 20 20 20 20 20 20 69 66 20 75 | .url.=.req.selector.........if.u |
5cc80 | 72 6c 5b 3a 32 5d 20 3d 3d 20 27 2f 2f 27 20 61 6e 64 20 75 72 6c 5b 32 3a 33 5d 20 21 3d 20 27 | rl[:2].==.'//'.and.url[2:3].!=.' |
5cca0 | 2f 27 20 61 6e 64 20 28 72 65 71 2e 68 6f 73 74 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 | /'.and.(req.host.and............ |
5ccc0 | 20 20 20 20 20 72 65 71 2e 68 6f 73 74 20 21 3d 20 27 6c 6f 63 61 6c 68 6f 73 74 27 29 3a 0a 20 | .....req.host.!=.'localhost'):.. |
5cce0 | 20 20 20 20 20 20 20 20 20 20 20 69 66 20 6e 6f 74 20 72 65 71 2e 68 6f 73 74 20 69 6e 20 73 65 | ...........if.not.req.host.in.se |
5cd00 | 6c 66 2e 67 65 74 5f 6e 61 6d 65 73 28 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | lf.get_names():................. |
5cd20 | 72 61 69 73 65 20 55 52 4c 45 72 72 6f 72 28 22 66 69 6c 65 3a 2f 2f 20 73 63 68 65 6d 65 20 69 | raise.URLError("file://.scheme.i |
5cd40 | 73 20 73 75 70 70 6f 72 74 65 64 20 6f 6e 6c 79 20 6f 6e 20 6c 6f 63 61 6c 68 6f 73 74 22 29 0a | s.supported.only.on.localhost"). |
5cd60 | 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e | ........else:.............return |
5cd80 | 20 73 65 6c 66 2e 6f 70 65 6e 5f 6c 6f 63 61 6c 5f 66 69 6c 65 28 72 65 71 29 0a 0a 20 20 20 20 | .self.open_local_file(req)...... |
5cda0 | 23 20 6e 61 6d 65 73 20 66 6f 72 20 74 68 65 20 6c 6f 63 61 6c 68 6f 73 74 0a 20 20 20 20 6e 61 | #.names.for.the.localhost.....na |
5cdc0 | 6d 65 73 20 3d 20 4e 6f 6e 65 0a 20 20 20 20 64 65 66 20 67 65 74 5f 6e 61 6d 65 73 28 73 65 6c | mes.=.None.....def.get_names(sel |
5cde0 | 66 29 3a 0a 20 20 20 20 20 20 20 20 69 66 20 46 69 6c 65 48 61 6e 64 6c 65 72 2e 6e 61 6d 65 73 | f):.........if.FileHandler.names |
5ce00 | 20 69 73 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 72 79 3a 0a 20 20 20 20 20 | .is.None:.............try:...... |
5ce20 | 20 20 20 20 20 20 20 20 20 20 20 46 69 6c 65 48 61 6e 64 6c 65 72 2e 6e 61 6d 65 73 20 3d 20 74 | ...........FileHandler.names.=.t |
5ce40 | 75 70 6c 65 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6f 63 6b 65 74 | uple(.....................socket |
5ce60 | 2e 67 65 74 68 6f 73 74 62 79 6e 61 6d 65 5f 65 78 28 27 6c 6f 63 61 6c 68 6f 73 74 27 29 5b 32 | .gethostbyname_ex('localhost')[2 |
5ce80 | 5d 20 2b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6f 63 6b 65 74 2e 67 | ].+.....................socket.g |
5cea0 | 65 74 68 6f 73 74 62 79 6e 61 6d 65 5f 65 78 28 73 6f 63 6b 65 74 2e 67 65 74 68 6f 73 74 6e 61 | ethostbyname_ex(socket.gethostna |
5cec0 | 6d 65 28 29 29 5b 32 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 78 63 65 70 74 20 73 6f 63 | me())[2]).............except.soc |
5cee0 | 6b 65 74 2e 67 61 69 65 72 72 6f 72 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 69 | ket.gaierror:.................Fi |
5cf00 | 6c 65 48 61 6e 64 6c 65 72 2e 6e 61 6d 65 73 20 3d 20 28 73 6f 63 6b 65 74 2e 67 65 74 68 6f 73 | leHandler.names.=.(socket.gethos |
5cf20 | 74 62 79 6e 61 6d 65 28 27 6c 6f 63 61 6c 68 6f 73 74 27 29 2c 29 0a 20 20 20 20 20 20 20 20 72 | tbyname('localhost'),).........r |
5cf40 | 65 74 75 72 6e 20 46 69 6c 65 48 61 6e 64 6c 65 72 2e 6e 61 6d 65 73 0a 0a 20 20 20 20 23 20 6e | eturn.FileHandler.names......#.n |
5cf60 | 6f 74 20 65 6e 74 69 72 65 6c 79 20 73 75 72 65 20 77 68 61 74 20 74 68 65 20 72 75 6c 65 73 20 | ot.entirely.sure.what.the.rules. |
5cf80 | 61 72 65 20 68 65 72 65 0a 20 20 20 20 64 65 66 20 6f 70 65 6e 5f 6c 6f 63 61 6c 5f 66 69 6c 65 | are.here.....def.open_local_file |
5cfa0 | 28 73 65 6c 66 2c 20 72 65 71 29 3a 0a 20 20 20 20 20 20 20 20 69 6d 70 6f 72 74 20 65 6d 61 69 | (self,.req):.........import.emai |
5cfc0 | 6c 2e 75 74 69 6c 73 0a 20 20 20 20 20 20 20 20 69 6d 70 6f 72 74 20 6d 69 6d 65 74 79 70 65 73 | l.utils.........import.mimetypes |
5cfe0 | 0a 20 20 20 20 20 20 20 20 68 6f 73 74 20 3d 20 72 65 71 2e 68 6f 73 74 0a 20 20 20 20 20 20 20 | .........host.=.req.host........ |
5d000 | 20 66 69 6c 65 6e 61 6d 65 20 3d 20 72 65 71 2e 73 65 6c 65 63 74 6f 72 0a 20 20 20 20 20 20 20 | .filename.=.req.selector........ |
5d020 | 20 6c 6f 63 61 6c 66 69 6c 65 20 3d 20 75 72 6c 32 70 61 74 68 6e 61 6d 65 28 66 69 6c 65 6e 61 | .localfile.=.url2pathname(filena |
5d040 | 6d 65 29 0a 20 20 20 20 20 20 20 20 74 72 79 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 | me).........try:.............sta |
5d060 | 74 73 20 3d 20 6f 73 2e 73 74 61 74 28 6c 6f 63 61 6c 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 | ts.=.os.stat(localfile)......... |
5d080 | 20 20 20 20 73 69 7a 65 20 3d 20 73 74 61 74 73 2e 73 74 5f 73 69 7a 65 0a 20 20 20 20 20 20 20 | ....size.=.stats.st_size........ |
5d0a0 | 20 20 20 20 20 6d 6f 64 69 66 69 65 64 20 3d 20 65 6d 61 69 6c 2e 75 74 69 6c 73 2e 66 6f 72 6d | .....modified.=.email.utils.form |
5d0c0 | 61 74 64 61 74 65 28 73 74 61 74 73 2e 73 74 5f 6d 74 69 6d 65 2c 20 75 73 65 67 6d 74 3d 54 72 | atdate(stats.st_mtime,.usegmt=Tr |
5d0e0 | 75 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 6d 74 79 70 65 20 3d 20 6d 69 6d 65 74 79 70 65 | ue).............mtype.=.mimetype |
5d100 | 73 2e 67 75 65 73 73 5f 74 79 70 65 28 66 69 6c 65 6e 61 6d 65 29 5b 30 5d 0a 20 20 20 20 20 20 | s.guess_type(filename)[0]....... |
5d120 | 20 20 20 20 20 20 68 65 61 64 65 72 73 20 3d 20 65 6d 61 69 6c 2e 6d 65 73 73 61 67 65 5f 66 72 | ......headers.=.email.message_fr |
5d140 | 6f 6d 5f 73 74 72 69 6e 67 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 43 6f 6e 74 | om_string(.................'Cont |
5d160 | 65 6e 74 2d 74 79 70 65 3a 20 25 73 5c 6e 43 6f 6e 74 65 6e 74 2d 6c 65 6e 67 74 68 3a 20 25 64 | ent-type:.%s\nContent-length:.%d |
5d180 | 5c 6e 4c 61 73 74 2d 6d 6f 64 69 66 69 65 64 3a 20 25 73 5c 6e 27 20 25 0a 20 20 20 20 20 20 20 | \nLast-modified:.%s\n'.%........ |
5d1a0 | 20 20 20 20 20 20 20 20 20 28 6d 74 79 70 65 20 6f 72 20 27 74 65 78 74 2f 70 6c 61 69 6e 27 2c | .........(mtype.or.'text/plain', |
5d1c0 | 20 73 69 7a 65 2c 20 6d 6f 64 69 66 69 65 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 | .size,.modified)).............if |
5d1e0 | 20 68 6f 73 74 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 68 6f 73 74 2c 20 70 6f 72 | .host:.................host,.por |
5d200 | 74 20 3d 20 73 70 6c 69 74 70 6f 72 74 28 68 6f 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | t.=.splitport(host)............. |
5d220 | 69 66 20 6e 6f 74 20 68 6f 73 74 20 6f 72 20 5c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | if.not.host.or.\................ |
5d240 | 20 28 6e 6f 74 20 70 6f 72 74 20 61 6e 64 20 5f 73 61 66 65 5f 67 65 74 68 6f 73 74 62 79 6e 61 | .(not.port.and._safe_gethostbyna |
5d260 | 6d 65 28 68 6f 73 74 29 20 69 6e 20 73 65 6c 66 2e 67 65 74 5f 6e 61 6d 65 73 28 29 29 3a 0a 20 | me(host).in.self.get_names()):.. |
5d280 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 68 6f 73 74 3a 0a 20 20 20 20 20 20 20 20 | ...............if.host:......... |
5d2a0 | 20 20 20 20 20 20 20 20 20 20 20 20 6f 72 69 67 75 72 6c 20 3d 20 27 66 69 6c 65 3a 2f 2f 27 20 | ............origurl.=.'file://'. |
5d2c0 | 2b 20 68 6f 73 74 20 2b 20 66 69 6c 65 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | +.host.+.filename............... |
5d2e0 | 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 72 69 67 | ..else:.....................orig |
5d300 | 75 72 6c 20 3d 20 27 66 69 6c 65 3a 2f 2f 27 20 2b 20 66 69 6c 65 6e 61 6d 65 0a 20 20 20 20 20 | url.=.'file://'.+.filename...... |
5d320 | 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 61 64 64 69 6e 66 6f 75 72 6c 28 6f 70 65 | ...........return.addinfourl(ope |
5d340 | 6e 28 6c 6f 63 61 6c 66 69 6c 65 2c 20 27 72 62 27 29 2c 20 68 65 61 64 65 72 73 2c 20 6f 72 69 | n(localfile,.'rb'),.headers,.ori |
5d360 | 67 75 72 6c 29 0a 20 20 20 20 20 20 20 20 65 78 63 65 70 74 20 4f 53 45 72 72 6f 72 20 61 73 20 | gurl).........except.OSError.as. |
5d380 | 65 78 70 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 55 52 4c 45 72 72 6f 72 28 | exp:.............raise.URLError( |
5d3a0 | 65 78 70 29 0a 20 20 20 20 20 20 20 20 72 61 69 73 65 20 55 52 4c 45 72 72 6f 72 28 27 66 69 6c | exp).........raise.URLError('fil |
5d3c0 | 65 20 6e 6f 74 20 6f 6e 20 6c 6f 63 61 6c 20 68 6f 73 74 27 29 0a 0a 64 65 66 20 5f 73 61 66 65 | e.not.on.local.host')..def._safe |
5d3e0 | 5f 67 65 74 68 6f 73 74 62 79 6e 61 6d 65 28 68 6f 73 74 29 3a 0a 20 20 20 20 74 72 79 3a 0a 20 | _gethostbyname(host):.....try:.. |
5d400 | 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 6f 63 6b 65 74 2e 67 65 74 68 6f 73 74 62 79 6e 61 | .......return.socket.gethostbyna |
5d420 | 6d 65 28 68 6f 73 74 29 0a 20 20 20 20 65 78 63 65 70 74 20 73 6f 63 6b 65 74 2e 67 61 69 65 72 | me(host).....except.socket.gaier |
5d440 | 72 6f 72 3a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 4e 6f 6e 65 0a 0a 63 6c 61 73 73 20 | ror:.........return.None..class. |
5d460 | 46 54 50 48 61 6e 64 6c 65 72 28 42 61 73 65 48 61 6e 64 6c 65 72 29 3a 0a 20 20 20 20 64 65 66 | FTPHandler(BaseHandler):.....def |
5d480 | 20 66 74 70 5f 6f 70 65 6e 28 73 65 6c 66 2c 20 72 65 71 29 3a 0a 20 20 20 20 20 20 20 20 69 6d | .ftp_open(self,.req):.........im |
5d4a0 | 70 6f 72 74 20 66 74 70 6c 69 62 0a 20 20 20 20 20 20 20 20 69 6d 70 6f 72 74 20 6d 69 6d 65 74 | port.ftplib.........import.mimet |
5d4c0 | 79 70 65 73 0a 20 20 20 20 20 20 20 20 68 6f 73 74 20 3d 20 72 65 71 2e 68 6f 73 74 0a 20 20 20 | ypes.........host.=.req.host.... |
5d4e0 | 20 20 20 20 20 69 66 20 6e 6f 74 20 68 6f 73 74 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 61 | .....if.not.host:.............ra |
5d500 | 69 73 65 20 55 52 4c 45 72 72 6f 72 28 27 66 74 70 20 65 72 72 6f 72 3a 20 6e 6f 20 68 6f 73 74 | ise.URLError('ftp.error:.no.host |
5d520 | 20 67 69 76 65 6e 27 29 0a 20 20 20 20 20 20 20 20 68 6f 73 74 2c 20 70 6f 72 74 20 3d 20 73 70 | .given').........host,.port.=.sp |
5d540 | 6c 69 74 70 6f 72 74 28 68 6f 73 74 29 0a 20 20 20 20 20 20 20 20 69 66 20 70 6f 72 74 20 69 73 | litport(host).........if.port.is |
5d560 | 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 6f 72 74 20 3d 20 66 74 70 6c 69 62 | .None:.............port.=.ftplib |
5d580 | 2e 46 54 50 5f 50 4f 52 54 0a 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 | .FTP_PORT.........else:......... |
5d5a0 | 20 20 20 20 70 6f 72 74 20 3d 20 69 6e 74 28 70 6f 72 74 29 0a 0a 20 20 20 20 20 20 20 20 23 20 | ....port.=.int(port)..........#. |
5d5c0 | 75 73 65 72 6e 61 6d 65 2f 70 61 73 73 77 6f 72 64 20 68 61 6e 64 6c 69 6e 67 0a 20 20 20 20 20 | username/password.handling...... |
5d5e0 | 20 20 20 75 73 65 72 2c 20 68 6f 73 74 20 3d 20 73 70 6c 69 74 75 73 65 72 28 68 6f 73 74 29 0a | ...user,.host.=.splituser(host). |
5d600 | 20 20 20 20 20 20 20 20 69 66 20 75 73 65 72 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 75 73 65 | ........if.user:.............use |
5d620 | 72 2c 20 70 61 73 73 77 64 20 3d 20 73 70 6c 69 74 70 61 73 73 77 64 28 75 73 65 72 29 0a 20 20 | r,.passwd.=.splitpasswd(user)... |
5d640 | 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 61 73 73 77 64 20 3d | ......else:.............passwd.= |
5d660 | 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 68 6f 73 74 20 3d 20 75 6e 71 75 6f 74 65 28 68 6f 73 | .None.........host.=.unquote(hos |
5d680 | 74 29 0a 20 20 20 20 20 20 20 20 75 73 65 72 20 3d 20 75 73 65 72 20 6f 72 20 27 27 0a 20 20 20 | t).........user.=.user.or.''.... |
5d6a0 | 20 20 20 20 20 70 61 73 73 77 64 20 3d 20 70 61 73 73 77 64 20 6f 72 20 27 27 0a 0a 20 20 20 20 | .....passwd.=.passwd.or.''...... |
5d6c0 | 20 20 20 20 74 72 79 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 68 6f 73 74 20 3d 20 73 6f 63 6b | ....try:.............host.=.sock |
5d6e0 | 65 74 2e 67 65 74 68 6f 73 74 62 79 6e 61 6d 65 28 68 6f 73 74 29 0a 20 20 20 20 20 20 20 20 65 | et.gethostbyname(host).........e |
5d700 | 78 63 65 70 74 20 4f 53 45 72 72 6f 72 20 61 73 20 6d 73 67 3a 0a 20 20 20 20 20 20 20 20 20 20 | xcept.OSError.as.msg:........... |
5d720 | 20 20 72 61 69 73 65 20 55 52 4c 45 72 72 6f 72 28 6d 73 67 29 0a 20 20 20 20 20 20 20 20 70 61 | ..raise.URLError(msg).........pa |
5d740 | 74 68 2c 20 61 74 74 72 73 20 3d 20 73 70 6c 69 74 61 74 74 72 28 72 65 71 2e 73 65 6c 65 63 74 | th,.attrs.=.splitattr(req.select |
5d760 | 6f 72 29 0a 20 20 20 20 20 20 20 20 64 69 72 73 20 3d 20 70 61 74 68 2e 73 70 6c 69 74 28 27 2f | or).........dirs.=.path.split('/ |
5d780 | 27 29 0a 20 20 20 20 20 20 20 20 64 69 72 73 20 3d 20 6c 69 73 74 28 6d 61 70 28 75 6e 71 75 6f | ').........dirs.=.list(map(unquo |
5d7a0 | 74 65 2c 20 64 69 72 73 29 29 0a 20 20 20 20 20 20 20 20 64 69 72 73 2c 20 66 69 6c 65 20 3d 20 | te,.dirs)).........dirs,.file.=. |
5d7c0 | 64 69 72 73 5b 3a 2d 31 5d 2c 20 64 69 72 73 5b 2d 31 5d 0a 20 20 20 20 20 20 20 20 69 66 20 64 | dirs[:-1],.dirs[-1].........if.d |
5d7e0 | 69 72 73 20 61 6e 64 20 6e 6f 74 20 64 69 72 73 5b 30 5d 3a 0a 20 20 20 20 20 20 20 20 20 20 20 | irs.and.not.dirs[0]:............ |
5d800 | 20 64 69 72 73 20 3d 20 64 69 72 73 5b 31 3a 5d 0a 20 20 20 20 20 20 20 20 74 72 79 3a 0a 20 20 | .dirs.=.dirs[1:].........try:... |
5d820 | 20 20 20 20 20 20 20 20 20 20 66 77 20 3d 20 73 65 6c 66 2e 63 6f 6e 6e 65 63 74 5f 66 74 70 28 | ..........fw.=.self.connect_ftp( |
5d840 | 75 73 65 72 2c 20 70 61 73 73 77 64 2c 20 68 6f 73 74 2c 20 70 6f 72 74 2c 20 64 69 72 73 2c 20 | user,.passwd,.host,.port,.dirs,. |
5d860 | 72 65 71 2e 74 69 6d 65 6f 75 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 79 70 65 20 3d 20 | req.timeout).............type.=. |
5d880 | 66 69 6c 65 20 61 6e 64 20 27 49 27 20 6f 72 20 27 44 27 0a 20 20 20 20 20 20 20 20 20 20 20 20 | file.and.'I'.or.'D'............. |
5d8a0 | 66 6f 72 20 61 74 74 72 20 69 6e 20 61 74 74 72 73 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | for.attr.in.attrs:.............. |
5d8c0 | 20 20 20 61 74 74 72 2c 20 76 61 6c 75 65 20 3d 20 73 70 6c 69 74 76 61 6c 75 65 28 61 74 74 72 | ...attr,.value.=.splitvalue(attr |
5d8e0 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 61 74 74 72 2e 6c 6f 77 65 72 28 | ).................if.attr.lower( |
5d900 | 29 20 3d 3d 20 27 74 79 70 65 27 20 61 6e 64 20 5c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ).==.'type'.and.\............... |
5d920 | 20 20 20 20 20 76 61 6c 75 65 20 69 6e 20 28 27 61 27 2c 20 27 41 27 2c 20 27 69 27 2c 20 27 49 | .....value.in.('a',.'A',.'i',.'I |
5d940 | 27 2c 20 27 64 27 2c 20 27 44 27 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ',.'d',.'D'):................... |
5d960 | 20 20 74 79 70 65 20 3d 20 76 61 6c 75 65 2e 75 70 70 65 72 28 29 0a 20 20 20 20 20 20 20 20 20 | ..type.=.value.upper().......... |
5d980 | 20 20 20 66 70 2c 20 72 65 74 72 6c 65 6e 20 3d 20 66 77 2e 72 65 74 72 66 69 6c 65 28 66 69 6c | ...fp,.retrlen.=.fw.retrfile(fil |
5d9a0 | 65 2c 20 74 79 70 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 68 65 61 64 65 72 73 20 3d 20 22 | e,.type).............headers.=." |
5d9c0 | 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 6d 74 79 70 65 20 3d 20 6d 69 6d 65 74 79 70 65 73 2e | ".............mtype.=.mimetypes. |
5d9e0 | 67 75 65 73 73 5f 74 79 70 65 28 72 65 71 2e 66 75 6c 6c 5f 75 72 6c 29 5b 30 5d 0a 20 20 20 20 | guess_type(req.full_url)[0]..... |
5da00 | 20 20 20 20 20 20 20 20 69 66 20 6d 74 79 70 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ........if.mtype:............... |
5da20 | 20 20 68 65 61 64 65 72 73 20 2b 3d 20 22 43 6f 6e 74 65 6e 74 2d 74 79 70 65 3a 20 25 73 5c 6e | ..headers.+=."Content-type:.%s\n |
5da40 | 22 20 25 20 6d 74 79 70 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 72 65 74 72 6c 65 6e | ".%.mtype.............if.retrlen |
5da60 | 20 69 73 20 6e 6f 74 20 4e 6f 6e 65 20 61 6e 64 20 72 65 74 72 6c 65 6e 20 3e 3d 20 30 3a 0a 20 | .is.not.None.and.retrlen.>=.0:.. |
5da80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 68 65 61 64 65 72 73 20 2b 3d 20 22 43 6f 6e 74 65 | ...............headers.+=."Conte |
5daa0 | 6e 74 2d 6c 65 6e 67 74 68 3a 20 25 64 5c 6e 22 20 25 20 72 65 74 72 6c 65 6e 0a 20 20 20 20 20 | nt-length:.%d\n".%.retrlen...... |
5dac0 | 20 20 20 20 20 20 20 68 65 61 64 65 72 73 20 3d 20 65 6d 61 69 6c 2e 6d 65 73 73 61 67 65 5f 66 | .......headers.=.email.message_f |
5dae0 | 72 6f 6d 5f 73 74 72 69 6e 67 28 68 65 61 64 65 72 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | rom_string(headers)............. |
5db00 | 72 65 74 75 72 6e 20 61 64 64 69 6e 66 6f 75 72 6c 28 66 70 2c 20 68 65 61 64 65 72 73 2c 20 72 | return.addinfourl(fp,.headers,.r |
5db20 | 65 71 2e 66 75 6c 6c 5f 75 72 6c 29 0a 20 20 20 20 20 20 20 20 65 78 63 65 70 74 20 66 74 70 6c | eq.full_url).........except.ftpl |
5db40 | 69 62 2e 61 6c 6c 5f 65 72 72 6f 72 73 20 61 73 20 65 78 70 3a 0a 20 20 20 20 20 20 20 20 20 20 | ib.all_errors.as.exp:........... |
5db60 | 20 20 65 78 63 20 3d 20 55 52 4c 45 72 72 6f 72 28 27 66 74 70 20 65 72 72 6f 72 3a 20 25 72 27 | ..exc.=.URLError('ftp.error:.%r' |
5db80 | 20 25 20 65 78 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 65 78 63 2e 77 69 | .%.exp).............raise.exc.wi |
5dba0 | 74 68 5f 74 72 61 63 65 62 61 63 6b 28 73 79 73 2e 65 78 63 5f 69 6e 66 6f 28 29 5b 32 5d 29 0a | th_traceback(sys.exc_info()[2]). |
5dbc0 | 0a 20 20 20 20 64 65 66 20 63 6f 6e 6e 65 63 74 5f 66 74 70 28 73 65 6c 66 2c 20 75 73 65 72 2c | .....def.connect_ftp(self,.user, |
5dbe0 | 20 70 61 73 73 77 64 2c 20 68 6f 73 74 2c 20 70 6f 72 74 2c 20 64 69 72 73 2c 20 74 69 6d 65 6f | .passwd,.host,.port,.dirs,.timeo |
5dc00 | 75 74 29 3a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 74 70 77 72 61 70 70 65 72 28 75 | ut):.........return.ftpwrapper(u |
5dc20 | 73 65 72 2c 20 70 61 73 73 77 64 2c 20 68 6f 73 74 2c 20 70 6f 72 74 2c 20 64 69 72 73 2c 20 74 | ser,.passwd,.host,.port,.dirs,.t |
5dc40 | 69 6d 65 6f 75 74 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | imeout,......................... |
5dc60 | 20 20 70 65 72 73 69 73 74 65 6e 74 3d 46 61 6c 73 65 29 0a 0a 63 6c 61 73 73 20 43 61 63 68 65 | ..persistent=False)..class.Cache |
5dc80 | 46 54 50 48 61 6e 64 6c 65 72 28 46 54 50 48 61 6e 64 6c 65 72 29 3a 0a 20 20 20 20 23 20 58 58 | FTPHandler(FTPHandler):.....#.XX |
5dca0 | 58 20 77 6f 75 6c 64 20 62 65 20 6e 69 63 65 20 74 6f 20 68 61 76 65 20 70 6c 75 67 67 61 62 6c | X.would.be.nice.to.have.pluggabl |
5dcc0 | 65 20 63 61 63 68 65 20 73 74 72 61 74 65 67 69 65 73 0a 20 20 20 20 23 20 58 58 58 20 74 68 69 | e.cache.strategies.....#.XXX.thi |
5dce0 | 73 20 73 74 75 66 66 20 69 73 20 64 65 66 69 6e 69 74 65 6c 79 20 6e 6f 74 20 74 68 72 65 61 64 | s.stuff.is.definitely.not.thread |
5dd00 | 20 73 61 66 65 0a 20 20 20 20 64 65 66 20 5f 5f 69 6e 69 74 5f 5f 28 73 65 6c 66 29 3a 0a 20 20 | .safe.....def.__init__(self):... |
5dd20 | 20 20 20 20 20 20 73 65 6c 66 2e 63 61 63 68 65 20 3d 20 7b 7d 0a 20 20 20 20 20 20 20 20 73 65 | ......self.cache.=.{}.........se |
5dd40 | 6c 66 2e 74 69 6d 65 6f 75 74 20 3d 20 7b 7d 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 6f 6f | lf.timeout.=.{}.........self.soo |
5dd60 | 6e 65 73 74 20 3d 20 30 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 64 65 6c 61 79 20 3d 20 36 30 | nest.=.0.........self.delay.=.60 |
5dd80 | 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 6d 61 78 5f 63 6f 6e 6e 73 20 3d 20 31 36 0a 0a 20 20 | .........self.max_conns.=.16.... |
5dda0 | 20 20 64 65 66 20 73 65 74 54 69 6d 65 6f 75 74 28 73 65 6c 66 2c 20 74 29 3a 0a 20 20 20 20 20 | ..def.setTimeout(self,.t):...... |
5ddc0 | 20 20 20 73 65 6c 66 2e 64 65 6c 61 79 20 3d 20 74 0a 0a 20 20 20 20 64 65 66 20 73 65 74 4d 61 | ...self.delay.=.t......def.setMa |
5dde0 | 78 43 6f 6e 6e 73 28 73 65 6c 66 2c 20 6d 29 3a 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 6d 61 | xConns(self,.m):.........self.ma |
5de00 | 78 5f 63 6f 6e 6e 73 20 3d 20 6d 0a 0a 20 20 20 20 64 65 66 20 63 6f 6e 6e 65 63 74 5f 66 74 70 | x_conns.=.m......def.connect_ftp |
5de20 | 28 73 65 6c 66 2c 20 75 73 65 72 2c 20 70 61 73 73 77 64 2c 20 68 6f 73 74 2c 20 70 6f 72 74 2c | (self,.user,.passwd,.host,.port, |
5de40 | 20 64 69 72 73 2c 20 74 69 6d 65 6f 75 74 29 3a 0a 20 20 20 20 20 20 20 20 6b 65 79 20 3d 20 75 | .dirs,.timeout):.........key.=.u |
5de60 | 73 65 72 2c 20 68 6f 73 74 2c 20 70 6f 72 74 2c 20 27 2f 27 2e 6a 6f 69 6e 28 64 69 72 73 29 2c | ser,.host,.port,.'/'.join(dirs), |
5de80 | 20 74 69 6d 65 6f 75 74 0a 20 20 20 20 20 20 20 20 69 66 20 6b 65 79 20 69 6e 20 73 65 6c 66 2e | .timeout.........if.key.in.self. |
5dea0 | 63 61 63 68 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 74 69 6d 65 6f 75 74 5b | cache:.............self.timeout[ |
5dec0 | 6b 65 79 5d 20 3d 20 74 69 6d 65 2e 74 69 6d 65 28 29 20 2b 20 73 65 6c 66 2e 64 65 6c 61 79 0a | key].=.time.time().+.self.delay. |
5dee0 | 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 63 | ........else:.............self.c |
5df00 | 61 63 68 65 5b 6b 65 79 5d 20 3d 20 66 74 70 77 72 61 70 70 65 72 28 75 73 65 72 2c 20 70 61 73 | ache[key].=.ftpwrapper(user,.pas |
5df20 | 73 77 64 2c 20 68 6f 73 74 2c 20 70 6f 72 74 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | swd,.host,.port,................ |
5df40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 69 72 73 2c 20 | ..........................dirs,. |
5df60 | 74 69 6d 65 6f 75 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 74 69 6d 65 6f 75 | timeout).............self.timeou |
5df80 | 74 5b 6b 65 79 5d 20 3d 20 74 69 6d 65 2e 74 69 6d 65 28 29 20 2b 20 73 65 6c 66 2e 64 65 6c 61 | t[key].=.time.time().+.self.dela |
5dfa0 | 79 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 63 68 65 63 6b 5f 63 61 63 68 65 28 29 0a 20 20 20 | y.........self.check_cache().... |
5dfc0 | 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 2e 63 61 63 68 65 5b 6b 65 79 5d 0a 0a 20 20 20 | .....return.self.cache[key]..... |
5dfe0 | 20 64 65 66 20 63 68 65 63 6b 5f 63 61 63 68 65 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 | .def.check_cache(self):......... |
5e000 | 23 20 66 69 72 73 74 20 63 68 65 63 6b 20 66 6f 72 20 6f 6c 64 20 6f 6e 65 73 0a 20 20 20 20 20 | #.first.check.for.old.ones...... |
5e020 | 20 20 20 74 20 3d 20 74 69 6d 65 2e 74 69 6d 65 28 29 0a 20 20 20 20 20 20 20 20 69 66 20 73 65 | ...t.=.time.time().........if.se |
5e040 | 6c 66 2e 73 6f 6f 6e 65 73 74 20 3c 3d 20 74 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 | lf.soonest.<=.t:.............for |
5e060 | 20 6b 2c 20 76 20 69 6e 20 6c 69 73 74 28 73 65 6c 66 2e 74 69 6d 65 6f 75 74 2e 69 74 65 6d 73 | .k,.v.in.list(self.timeout.items |
5e080 | 28 29 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 76 20 3c 20 74 3a 0a 20 | ()):.................if.v.<.t:.. |
5e0a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 63 61 63 68 65 5b 6b 5d | ...................self.cache[k] |
5e0c0 | 2e 63 6c 6f 73 65 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65 6c | .close().....................del |
5e0e0 | 20 73 65 6c 66 2e 63 61 63 68 65 5b 6b 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .self.cache[k].................. |
5e100 | 20 20 20 64 65 6c 20 73 65 6c 66 2e 74 69 6d 65 6f 75 74 5b 6b 5d 0a 20 20 20 20 20 20 20 20 73 | ...del.self.timeout[k].........s |
5e120 | 65 6c 66 2e 73 6f 6f 6e 65 73 74 20 3d 20 6d 69 6e 28 6c 69 73 74 28 73 65 6c 66 2e 74 69 6d 65 | elf.soonest.=.min(list(self.time |
5e140 | 6f 75 74 2e 76 61 6c 75 65 73 28 29 29 29 0a 0a 20 20 20 20 20 20 20 20 23 20 74 68 65 6e 20 63 | out.values()))..........#.then.c |
5e160 | 68 65 63 6b 20 74 68 65 20 73 69 7a 65 0a 20 20 20 20 20 20 20 20 69 66 20 6c 65 6e 28 73 65 6c | heck.the.size.........if.len(sel |
5e180 | 66 2e 63 61 63 68 65 29 20 3d 3d 20 73 65 6c 66 2e 6d 61 78 5f 63 6f 6e 6e 73 3a 0a 20 20 20 20 | f.cache).==.self.max_conns:..... |
5e1a0 | 20 20 20 20 20 20 20 20 66 6f 72 20 6b 2c 20 76 20 69 6e 20 6c 69 73 74 28 73 65 6c 66 2e 74 69 | ........for.k,.v.in.list(self.ti |
5e1c0 | 6d 65 6f 75 74 2e 69 74 65 6d 73 28 29 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | meout.items()):................. |
5e1e0 | 69 66 20 76 20 3d 3d 20 73 65 6c 66 2e 73 6f 6f 6e 65 73 74 3a 0a 20 20 20 20 20 20 20 20 20 20 | if.v.==.self.soonest:........... |
5e200 | 20 20 20 20 20 20 20 20 20 20 64 65 6c 20 73 65 6c 66 2e 63 61 63 68 65 5b 6b 5d 0a 20 20 20 20 | ..........del.self.cache[k]..... |
5e220 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65 6c 20 73 65 6c 66 2e 74 69 6d 65 6f 75 74 | ................del.self.timeout |
5e240 | 5b 6b 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 0a 20 20 | [k].....................break... |
5e260 | 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 6f 6f 6e 65 73 74 20 3d 20 6d 69 6e 28 6c 69 73 | ..........self.soonest.=.min(lis |
5e280 | 74 28 73 65 6c 66 2e 74 69 6d 65 6f 75 74 2e 76 61 6c 75 65 73 28 29 29 29 0a 0a 20 20 20 20 64 | t(self.timeout.values()))......d |
5e2a0 | 65 66 20 63 6c 65 61 72 5f 63 61 63 68 65 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 66 6f | ef.clear_cache(self):.........fo |
5e2c0 | 72 20 63 6f 6e 6e 20 69 6e 20 73 65 6c 66 2e 63 61 63 68 65 2e 76 61 6c 75 65 73 28 29 3a 0a 20 | r.conn.in.self.cache.values():.. |
5e2e0 | 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 6e 2e 63 6c 6f 73 65 28 29 0a 20 20 20 20 20 20 20 20 | ...........conn.close()......... |
5e300 | 73 65 6c 66 2e 63 61 63 68 65 2e 63 6c 65 61 72 28 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e | self.cache.clear().........self. |
5e320 | 74 69 6d 65 6f 75 74 2e 63 6c 65 61 72 28 29 0a 0a 63 6c 61 73 73 20 44 61 74 61 48 61 6e 64 6c | timeout.clear()..class.DataHandl |
5e340 | 65 72 28 42 61 73 65 48 61 6e 64 6c 65 72 29 3a 0a 20 20 20 20 64 65 66 20 64 61 74 61 5f 6f 70 | er(BaseHandler):.....def.data_op |
5e360 | 65 6e 28 73 65 6c 66 2c 20 72 65 71 29 3a 0a 20 20 20 20 20 20 20 20 23 20 64 61 74 61 20 55 52 | en(self,.req):.........#.data.UR |
5e380 | 4c 73 20 61 73 20 73 70 65 63 69 66 69 65 64 20 69 6e 20 52 46 43 20 32 33 39 37 2e 0a 20 20 20 | Ls.as.specified.in.RFC.2397..... |
5e3a0 | 20 20 20 20 20 23 0a 20 20 20 20 20 20 20 20 23 20 69 67 6e 6f 72 65 73 20 50 4f 53 54 65 64 20 | .....#.........#.ignores.POSTed. |
5e3c0 | 64 61 74 61 0a 20 20 20 20 20 20 20 20 23 0a 20 20 20 20 20 20 20 20 23 20 73 79 6e 74 61 78 3a | data.........#.........#.syntax: |
5e3e0 | 0a 20 20 20 20 20 20 20 20 23 20 64 61 74 61 75 72 6c 20 20 20 3a 3d 20 22 64 61 74 61 3a 22 20 | .........#.dataurl...:=."data:". |
5e400 | 5b 20 6d 65 64 69 61 74 79 70 65 20 5d 20 5b 20 22 3b 62 61 73 65 36 34 22 20 5d 20 22 2c 22 20 | [.mediatype.].[.";base64".].",". |
5e420 | 64 61 74 61 0a 20 20 20 20 20 20 20 20 23 20 6d 65 64 69 61 74 79 70 65 20 3a 3d 20 5b 20 74 79 | data.........#.mediatype.:=.[.ty |
5e440 | 70 65 20 22 2f 22 20 73 75 62 74 79 70 65 20 5d 20 2a 28 20 22 3b 22 20 70 61 72 61 6d 65 74 65 | pe."/".subtype.].*(.";".paramete |
5e460 | 72 20 29 0a 20 20 20 20 20 20 20 20 23 20 64 61 74 61 20 20 20 20 20 20 3a 3d 20 2a 75 72 6c 63 | r.).........#.data......:=.*urlc |
5e480 | 68 61 72 0a 20 20 20 20 20 20 20 20 23 20 70 61 72 61 6d 65 74 65 72 20 3a 3d 20 61 74 74 72 69 | har.........#.parameter.:=.attri |
5e4a0 | 62 75 74 65 20 22 3d 22 20 76 61 6c 75 65 0a 20 20 20 20 20 20 20 20 75 72 6c 20 3d 20 72 65 71 | bute."=".value.........url.=.req |
5e4c0 | 2e 66 75 6c 6c 5f 75 72 6c 0a 0a 20 20 20 20 20 20 20 20 73 63 68 65 6d 65 2c 20 64 61 74 61 20 | .full_url..........scheme,.data. |
5e4e0 | 3d 20 75 72 6c 2e 73 70 6c 69 74 28 22 3a 22 2c 31 29 0a 20 20 20 20 20 20 20 20 6d 65 64 69 61 | =.url.split(":",1).........media |
5e500 | 74 79 70 65 2c 20 64 61 74 61 20 3d 20 64 61 74 61 2e 73 70 6c 69 74 28 22 2c 22 2c 31 29 0a 0a | type,.data.=.data.split(",",1).. |
5e520 | 20 20 20 20 20 20 20 20 23 20 65 76 65 6e 20 62 61 73 65 36 34 20 65 6e 63 6f 64 65 64 20 64 61 | ........#.even.base64.encoded.da |
5e540 | 74 61 20 55 52 4c 73 20 6d 69 67 68 74 20 62 65 20 71 75 6f 74 65 64 20 73 6f 20 75 6e 71 75 6f | ta.URLs.might.be.quoted.so.unquo |
5e560 | 74 65 20 69 6e 20 61 6e 79 20 63 61 73 65 3a 0a 20 20 20 20 20 20 20 20 64 61 74 61 20 3d 20 75 | te.in.any.case:.........data.=.u |
5e580 | 6e 71 75 6f 74 65 5f 74 6f 5f 62 79 74 65 73 28 64 61 74 61 29 0a 20 20 20 20 20 20 20 20 69 66 | nquote_to_bytes(data).........if |
5e5a0 | 20 6d 65 64 69 61 74 79 70 65 2e 65 6e 64 73 77 69 74 68 28 22 3b 62 61 73 65 36 34 22 29 3a 0a | .mediatype.endswith(";base64"):. |
5e5c0 | 20 20 20 20 20 20 20 20 20 20 20 20 64 61 74 61 20 3d 20 62 61 73 65 36 34 2e 64 65 63 6f 64 65 | ............data.=.base64.decode |
5e5e0 | 62 79 74 65 73 28 64 61 74 61 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 6d 65 64 69 61 74 79 70 | bytes(data).............mediatyp |
5e600 | 65 20 3d 20 6d 65 64 69 61 74 79 70 65 5b 3a 2d 37 5d 0a 0a 20 20 20 20 20 20 20 20 69 66 20 6e | e.=.mediatype[:-7]..........if.n |
5e620 | 6f 74 20 6d 65 64 69 61 74 79 70 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 6d 65 64 69 61 74 | ot.mediatype:.............mediat |
5e640 | 79 70 65 20 3d 20 22 74 65 78 74 2f 70 6c 61 69 6e 3b 63 68 61 72 73 65 74 3d 55 53 2d 41 53 43 | ype.=."text/plain;charset=US-ASC |
5e660 | 49 49 22 0a 0a 20 20 20 20 20 20 20 20 68 65 61 64 65 72 73 20 3d 20 65 6d 61 69 6c 2e 6d 65 73 | II"..........headers.=.email.mes |
5e680 | 73 61 67 65 5f 66 72 6f 6d 5f 73 74 72 69 6e 67 28 22 43 6f 6e 74 65 6e 74 2d 74 79 70 65 3a 20 | sage_from_string("Content-type:. |
5e6a0 | 25 73 5c 6e 43 6f 6e 74 65 6e 74 2d 6c 65 6e 67 74 68 3a 20 25 64 5c 6e 22 20 25 0a 20 20 20 20 | %s\nContent-length:.%d\n".%..... |
5e6c0 | 20 20 20 20 20 20 20 20 28 6d 65 64 69 61 74 79 70 65 2c 20 6c 65 6e 28 64 61 74 61 29 29 29 0a | ........(mediatype,.len(data))). |
5e6e0 | 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 61 64 64 69 6e 66 6f 75 72 6c 28 69 6f 2e 42 79 | .........return.addinfourl(io.By |
5e700 | 74 65 73 49 4f 28 64 61 74 61 29 2c 20 68 65 61 64 65 72 73 2c 20 75 72 6c 29 0a 0a 0a 23 20 43 | tesIO(data),.headers,.url)...#.C |
5e720 | 6f 64 65 20 6d 6f 76 65 20 66 72 6f 6d 20 74 68 65 20 6f 6c 64 20 75 72 6c 6c 69 62 20 6d 6f 64 | ode.move.from.the.old.urllib.mod |
5e740 | 75 6c 65 0a 0a 4d 41 58 46 54 50 43 41 43 48 45 20 3d 20 31 30 20 20 20 20 20 20 20 20 23 20 54 | ule..MAXFTPCACHE.=.10........#.T |
5e760 | 72 69 6d 20 74 68 65 20 66 74 70 20 63 61 63 68 65 20 62 65 79 6f 6e 64 20 74 68 69 73 20 73 69 | rim.the.ftp.cache.beyond.this.si |
5e780 | 7a 65 0a 0a 23 20 48 65 6c 70 65 72 20 66 6f 72 20 6e 6f 6e 2d 75 6e 69 78 20 73 79 73 74 65 6d | ze..#.Helper.for.non-unix.system |
5e7a0 | 73 0a 69 66 20 6f 73 2e 6e 61 6d 65 20 3d 3d 20 27 6e 74 27 3a 0a 20 20 20 20 66 72 6f 6d 20 6e | s.if.os.name.==.'nt':.....from.n |
5e7c0 | 74 75 72 6c 32 70 61 74 68 20 69 6d 70 6f 72 74 20 75 72 6c 32 70 61 74 68 6e 61 6d 65 2c 20 70 | turl2path.import.url2pathname,.p |
5e7e0 | 61 74 68 6e 61 6d 65 32 75 72 6c 0a 65 6c 73 65 3a 0a 20 20 20 20 64 65 66 20 75 72 6c 32 70 61 | athname2url.else:.....def.url2pa |
5e800 | 74 68 6e 61 6d 65 28 70 61 74 68 6e 61 6d 65 29 3a 0a 20 20 20 20 20 20 20 20 22 22 22 4f 53 2d | thname(pathname):........."""OS- |
5e820 | 73 70 65 63 69 66 69 63 20 63 6f 6e 76 65 72 73 69 6f 6e 20 66 72 6f 6d 20 61 20 72 65 6c 61 74 | specific.conversion.from.a.relat |
5e840 | 69 76 65 20 55 52 4c 20 6f 66 20 74 68 65 20 27 66 69 6c 65 27 20 73 63 68 65 6d 65 0a 20 20 20 | ive.URL.of.the.'file'.scheme.... |
5e860 | 20 20 20 20 20 74 6f 20 61 20 66 69 6c 65 20 73 79 73 74 65 6d 20 70 61 74 68 3b 20 6e 6f 74 20 | .....to.a.file.system.path;.not. |
5e880 | 72 65 63 6f 6d 6d 65 6e 64 65 64 20 66 6f 72 20 67 65 6e 65 72 61 6c 20 75 73 65 2e 22 22 22 0a | recommended.for.general.use.""". |
5e8a0 | 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 75 6e 71 75 6f 74 65 28 70 61 74 68 6e 61 6d 65 29 | ........return.unquote(pathname) |
5e8c0 | 0a 0a 20 20 20 20 64 65 66 20 70 61 74 68 6e 61 6d 65 32 75 72 6c 28 70 61 74 68 6e 61 6d 65 29 | ......def.pathname2url(pathname) |
5e8e0 | 3a 0a 20 20 20 20 20 20 20 20 22 22 22 4f 53 2d 73 70 65 63 69 66 69 63 20 63 6f 6e 76 65 72 73 | :........."""OS-specific.convers |
5e900 | 69 6f 6e 20 66 72 6f 6d 20 61 20 66 69 6c 65 20 73 79 73 74 65 6d 20 70 61 74 68 20 74 6f 20 61 | ion.from.a.file.system.path.to.a |
5e920 | 20 72 65 6c 61 74 69 76 65 20 55 52 4c 0a 20 20 20 20 20 20 20 20 6f 66 20 74 68 65 20 27 66 69 | .relative.URL.........of.the.'fi |
5e940 | 6c 65 27 20 73 63 68 65 6d 65 3b 20 6e 6f 74 20 72 65 63 6f 6d 6d 65 6e 64 65 64 20 66 6f 72 20 | le'.scheme;.not.recommended.for. |
5e960 | 67 65 6e 65 72 61 6c 20 75 73 65 2e 22 22 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 71 | general.use.""".........return.q |
5e980 | 75 6f 74 65 28 70 61 74 68 6e 61 6d 65 29 0a 0a 0a 66 74 70 63 61 63 68 65 20 3d 20 7b 7d 0a 0a | uote(pathname)...ftpcache.=.{}.. |
5e9a0 | 0a 63 6c 61 73 73 20 55 52 4c 6f 70 65 6e 65 72 3a 0a 20 20 20 20 22 22 22 43 6c 61 73 73 20 74 | .class.URLopener:....."""Class.t |
5e9c0 | 6f 20 6f 70 65 6e 20 55 52 4c 73 2e 0a 20 20 20 20 54 68 69 73 20 69 73 20 61 20 63 6c 61 73 73 | o.open.URLs......This.is.a.class |
5e9e0 | 20 72 61 74 68 65 72 20 74 68 61 6e 20 6a 75 73 74 20 61 20 73 75 62 72 6f 75 74 69 6e 65 20 62 | .rather.than.just.a.subroutine.b |
5ea00 | 65 63 61 75 73 65 20 77 65 20 6d 61 79 20 6e 65 65 64 0a 20 20 20 20 6d 6f 72 65 20 74 68 61 6e | ecause.we.may.need.....more.than |
5ea20 | 20 6f 6e 65 20 73 65 74 20 6f 66 20 67 6c 6f 62 61 6c 20 70 72 6f 74 6f 63 6f 6c 2d 73 70 65 63 | .one.set.of.global.protocol-spec |
5ea40 | 69 66 69 63 20 6f 70 74 69 6f 6e 73 2e 0a 20 20 20 20 4e 6f 74 65 20 2d 2d 20 74 68 69 73 20 69 | ific.options......Note.--.this.i |
5ea60 | 73 20 61 20 62 61 73 65 20 63 6c 61 73 73 20 66 6f 72 20 74 68 6f 73 65 20 77 68 6f 20 64 6f 6e | s.a.base.class.for.those.who.don |
5ea80 | 27 74 20 77 61 6e 74 20 74 68 65 0a 20 20 20 20 61 75 74 6f 6d 61 74 69 63 20 68 61 6e 64 6c 69 | 't.want.the.....automatic.handli |
5eaa0 | 6e 67 20 6f 66 20 65 72 72 6f 72 73 20 74 79 70 65 20 33 30 32 20 28 72 65 6c 6f 63 61 74 65 64 | ng.of.errors.type.302.(relocated |
5eac0 | 29 20 61 6e 64 20 34 30 31 0a 20 20 20 20 28 61 75 74 68 6f 72 69 7a 61 74 69 6f 6e 20 6e 65 65 | ).and.401.....(authorization.nee |
5eae0 | 64 65 64 29 2e 22 22 22 0a 0a 20 20 20 20 5f 5f 74 65 6d 70 66 69 6c 65 73 20 3d 20 4e 6f 6e 65 | ded)."""......__tempfiles.=.None |
5eb00 | 0a 0a 20 20 20 20 76 65 72 73 69 6f 6e 20 3d 20 22 50 79 74 68 6f 6e 2d 75 72 6c 6c 69 62 2f 25 | ......version.=."Python-urllib/% |
5eb20 | 73 22 20 25 20 5f 5f 76 65 72 73 69 6f 6e 5f 5f 0a 0a 20 20 20 20 23 20 43 6f 6e 73 74 72 75 63 | s".%.__version__......#.Construc |
5eb40 | 74 6f 72 0a 20 20 20 20 64 65 66 20 5f 5f 69 6e 69 74 5f 5f 28 73 65 6c 66 2c 20 70 72 6f 78 69 | tor.....def.__init__(self,.proxi |
5eb60 | 65 73 3d 4e 6f 6e 65 2c 20 2a 2a 78 35 30 39 29 3a 0a 20 20 20 20 20 20 20 20 6d 73 67 20 3d 20 | es=None,.**x509):.........msg.=. |
5eb80 | 22 25 28 63 6c 61 73 73 29 73 20 73 74 79 6c 65 20 6f 66 20 69 6e 76 6f 6b 69 6e 67 20 72 65 71 | "%(class)s.style.of.invoking.req |
5eba0 | 75 65 73 74 73 20 69 73 20 64 65 70 72 65 63 61 74 65 64 2e 20 22 20 5c 0a 20 20 20 20 20 20 20 | uests.is.deprecated..".\........ |
5ebc0 | 20 20 20 20 20 20 20 22 55 73 65 20 6e 65 77 65 72 20 75 72 6c 6f 70 65 6e 20 66 75 6e 63 74 69 | ......."Use.newer.urlopen.functi |
5ebe0 | 6f 6e 73 2f 6d 65 74 68 6f 64 73 22 20 25 20 7b 27 63 6c 61 73 73 27 3a 20 73 65 6c 66 2e 5f 5f | ons/methods".%.{'class':.self.__ |
5ec00 | 63 6c 61 73 73 5f 5f 2e 5f 5f 6e 61 6d 65 5f 5f 7d 0a 20 20 20 20 20 20 20 20 77 61 72 6e 69 6e | class__.__name__}.........warnin |
5ec20 | 67 73 2e 77 61 72 6e 28 6d 73 67 2c 20 44 65 70 72 65 63 61 74 69 6f 6e 57 61 72 6e 69 6e 67 2c | gs.warn(msg,.DeprecationWarning, |
5ec40 | 20 73 74 61 63 6b 6c 65 76 65 6c 3d 33 29 0a 20 20 20 20 20 20 20 20 69 66 20 70 72 6f 78 69 65 | .stacklevel=3).........if.proxie |
5ec60 | 73 20 69 73 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 72 6f 78 69 65 73 20 3d | s.is.None:.............proxies.= |
5ec80 | 20 67 65 74 70 72 6f 78 69 65 73 28 29 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 20 68 61 73 | .getproxies().........assert.has |
5eca0 | 61 74 74 72 28 70 72 6f 78 69 65 73 2c 20 27 6b 65 79 73 27 29 2c 20 22 70 72 6f 78 69 65 73 20 | attr(proxies,.'keys'),."proxies. |
5ecc0 | 6d 75 73 74 20 62 65 20 61 20 6d 61 70 70 69 6e 67 22 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e | must.be.a.mapping".........self. |
5ece0 | 70 72 6f 78 69 65 73 20 3d 20 70 72 6f 78 69 65 73 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 6b | proxies.=.proxies.........self.k |
5ed00 | 65 79 5f 66 69 6c 65 20 3d 20 78 35 30 39 2e 67 65 74 28 27 6b 65 79 5f 66 69 6c 65 27 29 0a 20 | ey_file.=.x509.get('key_file').. |
5ed20 | 20 20 20 20 20 20 20 73 65 6c 66 2e 63 65 72 74 5f 66 69 6c 65 20 3d 20 78 35 30 39 2e 67 65 74 | .......self.cert_file.=.x509.get |
5ed40 | 28 27 63 65 72 74 5f 66 69 6c 65 27 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 64 64 68 65 | ('cert_file').........self.addhe |
5ed60 | 61 64 65 72 73 20 3d 20 5b 28 27 55 73 65 72 2d 41 67 65 6e 74 27 2c 20 73 65 6c 66 2e 76 65 72 | aders.=.[('User-Agent',.self.ver |
5ed80 | 73 69 6f 6e 29 2c 20 28 27 41 63 63 65 70 74 27 2c 20 27 2a 2f 2a 27 29 5d 0a 20 20 20 20 20 20 | sion),.('Accept',.'*/*')]....... |
5eda0 | 20 20 73 65 6c 66 2e 5f 5f 74 65 6d 70 66 69 6c 65 73 20 3d 20 5b 5d 0a 20 20 20 20 20 20 20 20 | ..self.__tempfiles.=.[]......... |
5edc0 | 73 65 6c 66 2e 5f 5f 75 6e 6c 69 6e 6b 20 3d 20 6f 73 2e 75 6e 6c 69 6e 6b 20 23 20 53 65 65 20 | self.__unlink.=.os.unlink.#.See. |
5ede0 | 63 6c 65 61 6e 75 70 28 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 74 65 6d 70 63 61 63 68 65 | cleanup().........self.tempcache |
5ee00 | 20 3d 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 23 20 55 6e 64 6f 63 75 6d 65 6e 74 65 64 20 66 | .=.None.........#.Undocumented.f |
5ee20 | 65 61 74 75 72 65 3a 20 69 66 20 79 6f 75 20 61 73 73 69 67 6e 20 7b 7d 20 74 6f 20 74 65 6d 70 | eature:.if.you.assign.{}.to.temp |
5ee40 | 63 61 63 68 65 2c 0a 20 20 20 20 20 20 20 20 23 20 69 74 20 69 73 20 75 73 65 64 20 74 6f 20 63 | cache,.........#.it.is.used.to.c |
5ee60 | 61 63 68 65 20 66 69 6c 65 73 20 72 65 74 72 69 65 76 65 64 20 77 69 74 68 0a 20 20 20 20 20 20 | ache.files.retrieved.with....... |
5ee80 | 20 20 23 20 73 65 6c 66 2e 72 65 74 72 69 65 76 65 28 29 2e 20 20 54 68 69 73 20 69 73 20 6e 6f | ..#.self.retrieve()...This.is.no |
5eea0 | 74 20 65 6e 61 62 6c 65 64 20 62 79 20 64 65 66 61 75 6c 74 0a 20 20 20 20 20 20 20 20 23 20 73 | t.enabled.by.default.........#.s |
5eec0 | 69 6e 63 65 20 69 74 20 64 6f 65 73 20 6e 6f 74 20 77 6f 72 6b 20 66 6f 72 20 63 68 61 6e 67 69 | ince.it.does.not.work.for.changi |
5eee0 | 6e 67 20 64 6f 63 75 6d 65 6e 74 73 20 28 61 6e 64 20 49 0a 20 20 20 20 20 20 20 20 23 20 68 61 | ng.documents.(and.I.........#.ha |
5ef00 | 76 65 6e 27 74 20 67 6f 74 20 74 68 65 20 6c 6f 67 69 63 20 74 6f 20 63 68 65 63 6b 20 65 78 70 | ven't.got.the.logic.to.check.exp |
5ef20 | 69 72 61 74 69 6f 6e 20 68 65 61 64 65 72 73 0a 20 20 20 20 20 20 20 20 23 20 79 65 74 29 2e 0a | iration.headers.........#.yet).. |
5ef40 | 20 20 20 20 20 20 20 20 73 65 6c 66 2e 66 74 70 63 61 63 68 65 20 3d 20 66 74 70 63 61 63 68 65 | ........self.ftpcache.=.ftpcache |
5ef60 | 0a 20 20 20 20 20 20 20 20 23 20 55 6e 64 6f 63 75 6d 65 6e 74 65 64 20 66 65 61 74 75 72 65 3a | .........#.Undocumented.feature: |
5ef80 | 20 79 6f 75 20 63 61 6e 20 75 73 65 20 61 20 64 69 66 66 65 72 65 6e 74 0a 20 20 20 20 20 20 20 | .you.can.use.a.different........ |
5efa0 | 20 23 20 66 74 70 20 63 61 63 68 65 20 62 79 20 61 73 73 69 67 6e 69 6e 67 20 74 6f 20 74 68 65 | .#.ftp.cache.by.assigning.to.the |
5efc0 | 20 2e 66 74 70 63 61 63 68 65 20 6d 65 6d 62 65 72 3b 0a 20 20 20 20 20 20 20 20 23 20 69 6e 20 | ..ftpcache.member;.........#.in. |
5efe0 | 63 61 73 65 20 79 6f 75 20 77 61 6e 74 20 6c 6f 67 69 63 61 6c 6c 79 20 69 6e 64 65 70 65 6e 64 | case.you.want.logically.independ |
5f000 | 65 6e 74 20 55 52 4c 20 6f 70 65 6e 65 72 73 0a 20 20 20 20 20 20 20 20 23 20 58 58 58 20 54 68 | ent.URL.openers.........#.XXX.Th |
5f020 | 69 73 20 69 73 20 6e 6f 74 20 74 68 72 65 61 64 73 61 66 65 2e 20 20 42 61 68 2e 0a 0a 20 20 20 | is.is.not.threadsafe...Bah...... |
5f040 | 20 64 65 66 20 5f 5f 64 65 6c 5f 5f 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 73 65 6c 66 | .def.__del__(self):.........self |
5f060 | 2e 63 6c 6f 73 65 28 29 0a 0a 20 20 20 20 64 65 66 20 63 6c 6f 73 65 28 73 65 6c 66 29 3a 0a 20 | .close()......def.close(self):.. |
5f080 | 20 20 20 20 20 20 20 73 65 6c 66 2e 63 6c 65 61 6e 75 70 28 29 0a 0a 20 20 20 20 64 65 66 20 63 | .......self.cleanup()......def.c |
5f0a0 | 6c 65 61 6e 75 70 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 54 68 69 73 20 63 6f 64 | leanup(self):.........#.This.cod |
5f0c0 | 65 20 73 6f 6d 65 74 69 6d 65 73 20 72 75 6e 73 20 77 68 65 6e 20 74 68 65 20 72 65 73 74 20 6f | e.sometimes.runs.when.the.rest.o |
5f0e0 | 66 20 74 68 69 73 20 6d 6f 64 75 6c 65 0a 20 20 20 20 20 20 20 20 23 20 68 61 73 20 61 6c 72 65 | f.this.module.........#.has.alre |
5f100 | 61 64 79 20 62 65 65 6e 20 64 65 6c 65 74 65 64 2c 20 73 6f 20 69 74 20 63 61 6e 27 74 20 75 73 | ady.been.deleted,.so.it.can't.us |
5f120 | 65 20 61 6e 79 20 67 6c 6f 62 61 6c 73 0a 20 20 20 20 20 20 20 20 23 20 6f 72 20 69 6d 70 6f 72 | e.any.globals.........#.or.impor |
5f140 | 74 20 61 6e 79 74 68 69 6e 67 2e 0a 20 20 20 20 20 20 20 20 69 66 20 73 65 6c 66 2e 5f 5f 74 65 | t.anything..........if.self.__te |
5f160 | 6d 70 66 69 6c 65 73 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 66 69 6c 65 20 69 6e | mpfiles:.............for.file.in |
5f180 | 20 73 65 6c 66 2e 5f 5f 74 65 6d 70 66 69 6c 65 73 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | .self.__tempfiles:.............. |
5f1a0 | 20 20 20 74 72 79 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 | ...try:.....................self |
5f1c0 | 2e 5f 5f 75 6e 6c 69 6e 6b 28 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .__unlink(file)................. |
5f1e0 | 65 78 63 65 70 74 20 4f 53 45 72 72 6f 72 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | except.OSError:................. |
5f200 | 20 20 20 20 70 61 73 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 65 6c 20 73 65 6c 66 2e 5f 5f | ....pass.............del.self.__ |
5f220 | 74 65 6d 70 66 69 6c 65 73 5b 3a 5d 0a 20 20 20 20 20 20 20 20 69 66 20 73 65 6c 66 2e 74 65 6d | tempfiles[:].........if.self.tem |
5f240 | 70 63 61 63 68 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 74 65 6d 70 63 61 63 | pcache:.............self.tempcac |
5f260 | 68 65 2e 63 6c 65 61 72 28 29 0a 0a 20 20 20 20 64 65 66 20 61 64 64 68 65 61 64 65 72 28 73 65 | he.clear()......def.addheader(se |
5f280 | 6c 66 2c 20 2a 61 72 67 73 29 3a 0a 20 20 20 20 20 20 20 20 22 22 22 41 64 64 20 61 20 68 65 61 | lf,.*args):........."""Add.a.hea |
5f2a0 | 64 65 72 20 74 6f 20 62 65 20 75 73 65 64 20 62 79 20 74 68 65 20 48 54 54 50 20 69 6e 74 65 72 | der.to.be.used.by.the.HTTP.inter |
5f2c0 | 66 61 63 65 20 6f 6e 6c 79 0a 20 20 20 20 20 20 20 20 65 2e 67 2e 20 75 2e 61 64 64 68 65 61 64 | face.only.........e.g..u.addhead |
5f2e0 | 65 72 28 27 41 63 63 65 70 74 27 2c 20 27 73 6f 75 6e 64 2f 62 61 73 69 63 27 29 22 22 22 0a 20 | er('Accept',.'sound/basic')""".. |
5f300 | 20 20 20 20 20 20 20 73 65 6c 66 2e 61 64 64 68 65 61 64 65 72 73 2e 61 70 70 65 6e 64 28 61 72 | .......self.addheaders.append(ar |
5f320 | 67 73 29 0a 0a 20 20 20 20 23 20 45 78 74 65 72 6e 61 6c 20 69 6e 74 65 72 66 61 63 65 0a 20 20 | gs)......#.External.interface... |
5f340 | 20 20 64 65 66 20 6f 70 65 6e 28 73 65 6c 66 2c 20 66 75 6c 6c 75 72 6c 2c 20 64 61 74 61 3d 4e | ..def.open(self,.fullurl,.data=N |
5f360 | 6f 6e 65 29 3a 0a 20 20 20 20 20 20 20 20 22 22 22 55 73 65 20 55 52 4c 6f 70 65 6e 65 72 28 29 | one):........."""Use.URLopener() |
5f380 | 2e 6f 70 65 6e 28 66 69 6c 65 29 20 69 6e 73 74 65 61 64 20 6f 66 20 6f 70 65 6e 28 66 69 6c 65 | .open(file).instead.of.open(file |
5f3a0 | 2c 20 27 72 27 29 2e 22 22 22 0a 20 20 20 20 20 20 20 20 66 75 6c 6c 75 72 6c 20 3d 20 75 6e 77 | ,.'r').""".........fullurl.=.unw |
5f3c0 | 72 61 70 28 74 6f 5f 62 79 74 65 73 28 66 75 6c 6c 75 72 6c 29 29 0a 20 20 20 20 20 20 20 20 66 | rap(to_bytes(fullurl)).........f |
5f3e0 | 75 6c 6c 75 72 6c 20 3d 20 71 75 6f 74 65 28 66 75 6c 6c 75 72 6c 2c 20 73 61 66 65 3d 22 25 2f | ullurl.=.quote(fullurl,.safe="%/ |
5f400 | 3a 3d 26 3f 7e 23 2b 21 24 2c 3b 27 40 28 29 2a 5b 5d 7c 22 29 0a 20 20 20 20 20 20 20 20 69 66 | :=&?~#+!$,;'@()*[]|").........if |
5f420 | 20 73 65 6c 66 2e 74 65 6d 70 63 61 63 68 65 20 61 6e 64 20 66 75 6c 6c 75 72 6c 20 69 6e 20 73 | .self.tempcache.and.fullurl.in.s |
5f440 | 65 6c 66 2e 74 65 6d 70 63 61 63 68 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 69 6c 65 6e | elf.tempcache:.............filen |
5f460 | 61 6d 65 2c 20 68 65 61 64 65 72 73 20 3d 20 73 65 6c 66 2e 74 65 6d 70 63 61 63 68 65 5b 66 75 | ame,.headers.=.self.tempcache[fu |
5f480 | 6c 6c 75 72 6c 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 70 20 3d 20 6f 70 65 6e 28 66 69 6c | llurl].............fp.=.open(fil |
5f4a0 | 65 6e 61 6d 65 2c 20 27 72 62 27 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 | ename,.'rb').............return. |
5f4c0 | 61 64 64 69 6e 66 6f 75 72 6c 28 66 70 2c 20 68 65 61 64 65 72 73 2c 20 66 75 6c 6c 75 72 6c 29 | addinfourl(fp,.headers,.fullurl) |
5f4e0 | 0a 20 20 20 20 20 20 20 20 75 72 6c 74 79 70 65 2c 20 75 72 6c 20 3d 20 73 70 6c 69 74 74 79 70 | .........urltype,.url.=.splittyp |
5f500 | 65 28 66 75 6c 6c 75 72 6c 29 0a 20 20 20 20 20 20 20 20 69 66 20 6e 6f 74 20 75 72 6c 74 79 70 | e(fullurl).........if.not.urltyp |
5f520 | 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 75 72 6c 74 79 70 65 20 3d 20 27 66 69 6c 65 27 0a | e:.............urltype.=.'file'. |
5f540 | 20 20 20 20 20 20 20 20 69 66 20 75 72 6c 74 79 70 65 20 69 6e 20 73 65 6c 66 2e 70 72 6f 78 69 | ........if.urltype.in.self.proxi |
5f560 | 65 73 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 72 6f 78 79 20 3d 20 73 65 6c 66 2e 70 72 6f | es:.............proxy.=.self.pro |
5f580 | 78 69 65 73 5b 75 72 6c 74 79 70 65 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 75 72 6c 74 79 70 | xies[urltype].............urltyp |
5f5a0 | 65 2c 20 70 72 6f 78 79 68 6f 73 74 20 3d 20 73 70 6c 69 74 74 79 70 65 28 70 72 6f 78 79 29 0a | e,.proxyhost.=.splittype(proxy). |
5f5c0 | 20 20 20 20 20 20 20 20 20 20 20 20 68 6f 73 74 2c 20 73 65 6c 65 63 74 6f 72 20 3d 20 73 70 6c | ............host,.selector.=.spl |
5f5e0 | 69 74 68 6f 73 74 28 70 72 6f 78 79 68 6f 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 75 72 | ithost(proxyhost).............ur |
5f600 | 6c 20 3d 20 28 68 6f 73 74 2c 20 66 75 6c 6c 75 72 6c 29 20 23 20 53 69 67 6e 61 6c 20 73 70 65 | l.=.(host,.fullurl).#.Signal.spe |
5f620 | 63 69 61 6c 20 63 61 73 65 20 74 6f 20 6f 70 65 6e 5f 2a 28 29 0a 20 20 20 20 20 20 20 20 65 6c | cial.case.to.open_*().........el |
5f640 | 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 72 6f 78 79 20 3d 20 4e 6f 6e 65 0a 20 20 20 | se:.............proxy.=.None.... |
5f660 | 20 20 20 20 20 6e 61 6d 65 20 3d 20 27 6f 70 65 6e 5f 27 20 2b 20 75 72 6c 74 79 70 65 0a 20 20 | .....name.=.'open_'.+.urltype... |
5f680 | 20 20 20 20 20 20 73 65 6c 66 2e 74 79 70 65 20 3d 20 75 72 6c 74 79 70 65 0a 20 20 20 20 20 20 | ......self.type.=.urltype....... |
5f6a0 | 20 20 6e 61 6d 65 20 3d 20 6e 61 6d 65 2e 72 65 70 6c 61 63 65 28 27 2d 27 2c 20 27 5f 27 29 0a | ..name.=.name.replace('-',.'_'). |
5f6c0 | 20 20 20 20 20 20 20 20 69 66 20 6e 6f 74 20 68 61 73 61 74 74 72 28 73 65 6c 66 2c 20 6e 61 6d | ........if.not.hasattr(self,.nam |
5f6e0 | 65 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 70 72 6f 78 79 3a 0a 20 20 20 20 20 20 | e):.............if.proxy:....... |
5f700 | 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 2e 6f 70 65 6e 5f 75 6e 6b 6e 6f | ..........return.self.open_unkno |
5f720 | 77 6e 5f 70 72 6f 78 79 28 70 72 6f 78 79 2c 20 66 75 6c 6c 75 72 6c 2c 20 64 61 74 61 29 0a 20 | wn_proxy(proxy,.fullurl,.data).. |
5f740 | 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ...........else:................ |
5f760 | 20 72 65 74 75 72 6e 20 73 65 6c 66 2e 6f 70 65 6e 5f 75 6e 6b 6e 6f 77 6e 28 66 75 6c 6c 75 72 | .return.self.open_unknown(fullur |
5f780 | 6c 2c 20 64 61 74 61 29 0a 20 20 20 20 20 20 20 20 74 72 79 3a 0a 20 20 20 20 20 20 20 20 20 20 | l,.data).........try:........... |
5f7a0 | 20 20 69 66 20 64 61 74 61 20 69 73 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | ..if.data.is.None:.............. |
5f7c0 | 20 20 20 72 65 74 75 72 6e 20 67 65 74 61 74 74 72 28 73 65 6c 66 2c 20 6e 61 6d 65 29 28 75 72 | ...return.getattr(self,.name)(ur |
5f7e0 | 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 | l).............else:............ |
5f800 | 20 20 20 20 20 72 65 74 75 72 6e 20 67 65 74 61 74 74 72 28 73 65 6c 66 2c 20 6e 61 6d 65 29 28 | .....return.getattr(self,.name)( |
5f820 | 75 72 6c 2c 20 64 61 74 61 29 0a 20 20 20 20 20 20 20 20 65 78 63 65 70 74 20 28 48 54 54 50 45 | url,.data).........except.(HTTPE |
5f840 | 72 72 6f 72 2c 20 55 52 4c 45 72 72 6f 72 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 61 69 | rror,.URLError):.............rai |
5f860 | 73 65 0a 20 20 20 20 20 20 20 20 65 78 63 65 70 74 20 4f 53 45 72 72 6f 72 20 61 73 20 6d 73 67 | se.........except.OSError.as.msg |
5f880 | 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 4f 53 45 72 72 6f 72 28 27 73 6f 63 | :.............raise.OSError('soc |
5f8a0 | 6b 65 74 20 65 72 72 6f 72 27 2c 20 6d 73 67 29 2e 77 69 74 68 5f 74 72 61 63 65 62 61 63 6b 28 | ket.error',.msg).with_traceback( |
5f8c0 | 73 79 73 2e 65 78 63 5f 69 6e 66 6f 28 29 5b 32 5d 29 0a 0a 20 20 20 20 64 65 66 20 6f 70 65 6e | sys.exc_info()[2])......def.open |
5f8e0 | 5f 75 6e 6b 6e 6f 77 6e 28 73 65 6c 66 2c 20 66 75 6c 6c 75 72 6c 2c 20 64 61 74 61 3d 4e 6f 6e | _unknown(self,.fullurl,.data=Non |
5f900 | 65 29 3a 0a 20 20 20 20 20 20 20 20 22 22 22 4f 76 65 72 72 69 64 61 62 6c 65 20 69 6e 74 65 72 | e):........."""Overridable.inter |
5f920 | 66 61 63 65 20 74 6f 20 6f 70 65 6e 20 75 6e 6b 6e 6f 77 6e 20 55 52 4c 20 74 79 70 65 2e 22 22 | face.to.open.unknown.URL.type."" |
5f940 | 22 0a 20 20 20 20 20 20 20 20 74 79 70 65 2c 20 75 72 6c 20 3d 20 73 70 6c 69 74 74 79 70 65 28 | ".........type,.url.=.splittype( |
5f960 | 66 75 6c 6c 75 72 6c 29 0a 20 20 20 20 20 20 20 20 72 61 69 73 65 20 4f 53 45 72 72 6f 72 28 27 | fullurl).........raise.OSError(' |
5f980 | 75 72 6c 20 65 72 72 6f 72 27 2c 20 27 75 6e 6b 6e 6f 77 6e 20 75 72 6c 20 74 79 70 65 27 2c 20 | url.error',.'unknown.url.type',. |
5f9a0 | 74 79 70 65 29 0a 0a 20 20 20 20 64 65 66 20 6f 70 65 6e 5f 75 6e 6b 6e 6f 77 6e 5f 70 72 6f 78 | type)......def.open_unknown_prox |
5f9c0 | 79 28 73 65 6c 66 2c 20 70 72 6f 78 79 2c 20 66 75 6c 6c 75 72 6c 2c 20 64 61 74 61 3d 4e 6f 6e | y(self,.proxy,.fullurl,.data=Non |
5f9e0 | 65 29 3a 0a 20 20 20 20 20 20 20 20 22 22 22 4f 76 65 72 72 69 64 61 62 6c 65 20 69 6e 74 65 72 | e):........."""Overridable.inter |
5fa00 | 66 61 63 65 20 74 6f 20 6f 70 65 6e 20 75 6e 6b 6e 6f 77 6e 20 55 52 4c 20 74 79 70 65 2e 22 22 | face.to.open.unknown.URL.type."" |
5fa20 | 22 0a 20 20 20 20 20 20 20 20 74 79 70 65 2c 20 75 72 6c 20 3d 20 73 70 6c 69 74 74 79 70 65 28 | ".........type,.url.=.splittype( |
5fa40 | 66 75 6c 6c 75 72 6c 29 0a 20 20 20 20 20 20 20 20 72 61 69 73 65 20 4f 53 45 72 72 6f 72 28 27 | fullurl).........raise.OSError(' |
5fa60 | 75 72 6c 20 65 72 72 6f 72 27 2c 20 27 69 6e 76 61 6c 69 64 20 70 72 6f 78 79 20 66 6f 72 20 25 | url.error',.'invalid.proxy.for.% |
5fa80 | 73 27 20 25 20 74 79 70 65 2c 20 70 72 6f 78 79 29 0a 0a 20 20 20 20 23 20 45 78 74 65 72 6e 61 | s'.%.type,.proxy)......#.Externa |
5faa0 | 6c 20 69 6e 74 65 72 66 61 63 65 0a 20 20 20 20 64 65 66 20 72 65 74 72 69 65 76 65 28 73 65 6c | l.interface.....def.retrieve(sel |
5fac0 | 66 2c 20 75 72 6c 2c 20 66 69 6c 65 6e 61 6d 65 3d 4e 6f 6e 65 2c 20 72 65 70 6f 72 74 68 6f 6f | f,.url,.filename=None,.reporthoo |
5fae0 | 6b 3d 4e 6f 6e 65 2c 20 64 61 74 61 3d 4e 6f 6e 65 29 3a 0a 20 20 20 20 20 20 20 20 22 22 22 72 | k=None,.data=None):........."""r |
5fb00 | 65 74 72 69 65 76 65 28 75 72 6c 29 20 72 65 74 75 72 6e 73 20 28 66 69 6c 65 6e 61 6d 65 2c 20 | etrieve(url).returns.(filename,. |
5fb20 | 68 65 61 64 65 72 73 29 20 66 6f 72 20 61 20 6c 6f 63 61 6c 20 6f 62 6a 65 63 74 0a 20 20 20 20 | headers).for.a.local.object..... |
5fb40 | 20 20 20 20 6f 72 20 28 74 65 6d 70 66 69 6c 65 6e 61 6d 65 2c 20 68 65 61 64 65 72 73 29 20 66 | ....or.(tempfilename,.headers).f |
5fb60 | 6f 72 20 61 20 72 65 6d 6f 74 65 20 6f 62 6a 65 63 74 2e 22 22 22 0a 20 20 20 20 20 20 20 20 75 | or.a.remote.object.""".........u |
5fb80 | 72 6c 20 3d 20 75 6e 77 72 61 70 28 74 6f 5f 62 79 74 65 73 28 75 72 6c 29 29 0a 20 20 20 20 20 | rl.=.unwrap(to_bytes(url))...... |
5fba0 | 20 20 20 69 66 20 73 65 6c 66 2e 74 65 6d 70 63 61 63 68 65 20 61 6e 64 20 75 72 6c 20 69 6e 20 | ...if.self.tempcache.and.url.in. |
5fbc0 | 73 65 6c 66 2e 74 65 6d 70 63 61 63 68 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 | self.tempcache:.............retu |
5fbe0 | 72 6e 20 73 65 6c 66 2e 74 65 6d 70 63 61 63 68 65 5b 75 72 6c 5d 0a 20 20 20 20 20 20 20 20 74 | rn.self.tempcache[url].........t |
5fc00 | 79 70 65 2c 20 75 72 6c 31 20 3d 20 73 70 6c 69 74 74 79 70 65 28 75 72 6c 29 0a 20 20 20 20 20 | ype,.url1.=.splittype(url)...... |
5fc20 | 20 20 20 69 66 20 66 69 6c 65 6e 61 6d 65 20 69 73 20 4e 6f 6e 65 20 61 6e 64 20 28 6e 6f 74 20 | ...if.filename.is.None.and.(not. |
5fc40 | 74 79 70 65 20 6f 72 20 74 79 70 65 20 3d 3d 20 27 66 69 6c 65 27 29 3a 0a 20 20 20 20 20 20 20 | type.or.type.==.'file'):........ |
5fc60 | 20 20 20 20 20 74 72 79 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 70 20 3d 20 73 | .....try:.................fp.=.s |
5fc80 | 65 6c 66 2e 6f 70 65 6e 5f 6c 6f 63 61 6c 5f 66 69 6c 65 28 75 72 6c 31 29 0a 20 20 20 20 20 20 | elf.open_local_file(url1)....... |
5fca0 | 20 20 20 20 20 20 20 20 20 20 68 64 72 73 20 3d 20 66 70 2e 69 6e 66 6f 28 29 0a 20 20 20 20 20 | ..........hdrs.=.fp.info()...... |
5fcc0 | 20 20 20 20 20 20 20 20 20 20 20 66 70 2e 63 6c 6f 73 65 28 29 0a 20 20 20 20 20 20 20 20 20 20 | ...........fp.close()........... |
5fce0 | 20 20 20 20 20 20 72 65 74 75 72 6e 20 75 72 6c 32 70 61 74 68 6e 61 6d 65 28 73 70 6c 69 74 68 | ......return.url2pathname(splith |
5fd00 | 6f 73 74 28 75 72 6c 31 29 5b 31 5d 29 2c 20 68 64 72 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ost(url1)[1]),.hdrs............. |
5fd20 | 65 78 63 65 70 74 20 4f 53 45 72 72 6f 72 20 61 73 20 6d 73 67 3a 0a 20 20 20 20 20 20 20 20 20 | except.OSError.as.msg:.......... |
5fd40 | 20 20 20 20 20 20 20 70 61 73 73 0a 20 20 20 20 20 20 20 20 66 70 20 3d 20 73 65 6c 66 2e 6f 70 | .......pass.........fp.=.self.op |
5fd60 | 65 6e 28 75 72 6c 2c 20 64 61 74 61 29 0a 20 20 20 20 20 20 20 20 74 72 79 3a 0a 20 20 20 20 20 | en(url,.data).........try:...... |
5fd80 | 20 20 20 20 20 20 20 68 65 61 64 65 72 73 20 3d 20 66 70 2e 69 6e 66 6f 28 29 0a 20 20 20 20 20 | .......headers.=.fp.info()...... |
5fda0 | 20 20 20 20 20 20 20 69 66 20 66 69 6c 65 6e 61 6d 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 | .......if.filename:............. |
5fdc0 | 20 20 20 20 74 66 70 20 3d 20 6f 70 65 6e 28 66 69 6c 65 6e 61 6d 65 2c 20 27 77 62 27 29 0a 20 | ....tfp.=.open(filename,.'wb').. |
5fde0 | 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ...........else:................ |
5fe00 | 20 67 61 72 62 61 67 65 2c 20 70 61 74 68 20 3d 20 73 70 6c 69 74 74 79 70 65 28 75 72 6c 29 0a | .garbage,.path.=.splittype(url). |
5fe20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 67 61 72 62 61 67 65 2c 20 70 61 74 68 20 3d 20 | ................garbage,.path.=. |
5fe40 | 73 70 6c 69 74 68 6f 73 74 28 70 61 74 68 20 6f 72 20 22 22 29 0a 20 20 20 20 20 20 20 20 20 20 | splithost(path.or."")........... |
5fe60 | 20 20 20 20 20 20 70 61 74 68 2c 20 67 61 72 62 61 67 65 20 3d 20 73 70 6c 69 74 71 75 65 72 79 | ......path,.garbage.=.splitquery |
5fe80 | 28 70 61 74 68 20 6f 72 20 22 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 61 74 | (path.or."").................pat |
5fea0 | 68 2c 20 67 61 72 62 61 67 65 20 3d 20 73 70 6c 69 74 61 74 74 72 28 70 61 74 68 20 6f 72 20 22 | h,.garbage.=.splitattr(path.or." |
5fec0 | 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 75 66 66 69 78 20 3d 20 6f 73 2e 70 | ").................suffix.=.os.p |
5fee0 | 61 74 68 2e 73 70 6c 69 74 65 78 74 28 70 61 74 68 29 5b 31 5d 0a 20 20 20 20 20 20 20 20 20 20 | ath.splitext(path)[1]........... |
5ff00 | 20 20 20 20 20 20 28 66 64 2c 20 66 69 6c 65 6e 61 6d 65 29 20 3d 20 74 65 6d 70 66 69 6c 65 2e | ......(fd,.filename).=.tempfile. |
5ff20 | 6d 6b 73 74 65 6d 70 28 73 75 66 66 69 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | mkstemp(suffix)................. |
5ff40 | 73 65 6c 66 2e 5f 5f 74 65 6d 70 66 69 6c 65 73 2e 61 70 70 65 6e 64 28 66 69 6c 65 6e 61 6d 65 | self.__tempfiles.append(filename |
5ff60 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 66 70 20 3d 20 6f 73 2e 66 64 6f 70 65 | ).................tfp.=.os.fdope |
5ff80 | 6e 28 66 64 2c 20 27 77 62 27 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 72 79 3a 0a 20 20 20 | n(fd,.'wb').............try:.... |
5ffa0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 73 75 6c 74 20 3d 20 66 69 6c 65 6e 61 6d 65 2c 20 | .............result.=.filename,. |
5ffc0 | 68 65 61 64 65 72 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 73 65 6c 66 2e | headers.................if.self. |
5ffe0 | 74 65 6d 70 63 61 63 68 65 20 69 73 20 6e 6f 74 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 | tempcache.is.not.None:.......... |
60000 | 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 74 65 6d 70 63 61 63 68 65 5b 75 72 6c 5d 20 3d | ...........self.tempcache[url].= |
60020 | 20 72 65 73 75 6c 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 73 20 3d 20 31 30 32 | .result.................bs.=.102 |
60040 | 34 2a 38 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 69 7a 65 20 3d 20 2d 31 0a 20 20 | 4*8.................size.=.-1... |
60060 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 61 64 20 3d 20 30 0a 20 20 20 20 20 20 20 20 20 | ..............read.=.0.......... |
60080 | 20 20 20 20 20 20 20 62 6c 6f 63 6b 6e 75 6d 20 3d 20 30 0a 20 20 20 20 20 20 20 20 20 20 20 20 | .......blocknum.=.0............. |
600a0 | 20 20 20 20 69 66 20 22 63 6f 6e 74 65 6e 74 2d 6c 65 6e 67 74 68 22 20 69 6e 20 68 65 61 64 65 | ....if."content-length".in.heade |
600c0 | 72 73 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 69 7a 65 20 3d 20 69 | rs:.....................size.=.i |
600e0 | 6e 74 28 68 65 61 64 65 72 73 5b 22 43 6f 6e 74 65 6e 74 2d 4c 65 6e 67 74 68 22 5d 29 0a 20 20 | nt(headers["Content-Length"])... |
60100 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 72 65 70 6f 72 74 68 6f 6f 6b 3a 0a 20 20 20 | ..............if.reporthook:.... |
60120 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 70 6f 72 74 68 6f 6f 6b 28 62 6c 6f 63 | .................reporthook(bloc |
60140 | 6b 6e 75 6d 2c 20 62 73 2c 20 73 69 7a 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | knum,.bs,.size)................. |
60160 | 77 68 69 6c 65 20 31 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 6c 6f | while.1:.....................blo |
60180 | 63 6b 20 3d 20 66 70 2e 72 65 61 64 28 62 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ck.=.fp.read(bs)................ |
601a0 | 20 20 20 20 20 69 66 20 6e 6f 74 20 62 6c 6f 63 6b 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | .....if.not.block:.............. |
601c0 | 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ...........break................ |
601e0 | 20 20 20 20 20 72 65 61 64 20 2b 3d 20 6c 65 6e 28 62 6c 6f 63 6b 29 0a 20 20 20 20 20 20 20 20 | .....read.+=.len(block)......... |
60200 | 20 20 20 20 20 20 20 20 20 20 20 20 74 66 70 2e 77 72 69 74 65 28 62 6c 6f 63 6b 29 0a 20 20 20 | ............tfp.write(block).... |
60220 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 6c 6f 63 6b 6e 75 6d 20 2b 3d 20 31 0a 20 | .................blocknum.+=.1.. |
60240 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 72 65 70 6f 72 74 68 6f 6f 6b | ...................if.reporthook |
60260 | 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 70 6f 72 74 | :.........................report |
60280 | 68 6f 6f 6b 28 62 6c 6f 63 6b 6e 75 6d 2c 20 62 73 2c 20 73 69 7a 65 29 0a 20 20 20 20 20 20 20 | hook(blocknum,.bs,.size)........ |
602a0 | 20 20 20 20 20 66 69 6e 61 6c 6c 79 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 66 | .....finally:.................tf |
602c0 | 70 2e 63 6c 6f 73 65 28 29 0a 20 20 20 20 20 20 20 20 66 69 6e 61 6c 6c 79 3a 0a 20 20 20 20 20 | p.close().........finally:...... |
602e0 | 20 20 20 20 20 20 20 66 70 2e 63 6c 6f 73 65 28 29 0a 0a 20 20 20 20 20 20 20 20 23 20 72 61 69 | .......fp.close()..........#.rai |
60300 | 73 65 20 65 78 63 65 70 74 69 6f 6e 20 69 66 20 61 63 74 75 61 6c 20 73 69 7a 65 20 64 6f 65 73 | se.exception.if.actual.size.does |
60320 | 20 6e 6f 74 20 6d 61 74 63 68 20 63 6f 6e 74 65 6e 74 2d 6c 65 6e 67 74 68 20 68 65 61 64 65 72 | .not.match.content-length.header |
60340 | 0a 20 20 20 20 20 20 20 20 69 66 20 73 69 7a 65 20 3e 3d 20 30 20 61 6e 64 20 72 65 61 64 20 3c | .........if.size.>=.0.and.read.< |
60360 | 20 73 69 7a 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 43 6f 6e 74 65 6e 74 | .size:.............raise.Content |
60380 | 54 6f 6f 53 68 6f 72 74 45 72 72 6f 72 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 | TooShortError(................." |
603a0 | 72 65 74 72 69 65 76 61 6c 20 69 6e 63 6f 6d 70 6c 65 74 65 3a 20 67 6f 74 20 6f 6e 6c 79 20 25 | retrieval.incomplete:.got.only.% |
603c0 | 69 20 6f 75 74 20 6f 66 20 25 69 20 62 79 74 65 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | i.out.of.%i.bytes".............. |
603e0 | 20 20 20 25 20 28 72 65 61 64 2c 20 73 69 7a 65 29 2c 20 72 65 73 75 6c 74 29 0a 0a 20 20 20 20 | ...%.(read,.size),.result)...... |
60400 | 20 20 20 20 72 65 74 75 72 6e 20 72 65 73 75 6c 74 0a 0a 20 20 20 20 23 20 45 61 63 68 20 6d 65 | ....return.result......#.Each.me |
60420 | 74 68 6f 64 20 6e 61 6d 65 64 20 6f 70 65 6e 5f 3c 74 79 70 65 3e 20 6b 6e 6f 77 73 20 68 6f 77 | thod.named.open_<type>.knows.how |
60440 | 20 74 6f 20 6f 70 65 6e 20 74 68 61 74 20 74 79 70 65 20 6f 66 20 55 52 4c 0a 0a 20 20 20 20 64 | .to.open.that.type.of.URL......d |
60460 | 65 66 20 5f 6f 70 65 6e 5f 67 65 6e 65 72 69 63 5f 68 74 74 70 28 73 65 6c 66 2c 20 63 6f 6e 6e | ef._open_generic_http(self,.conn |
60480 | 65 63 74 69 6f 6e 5f 66 61 63 74 6f 72 79 2c 20 75 72 6c 2c 20 64 61 74 61 29 3a 0a 20 20 20 20 | ection_factory,.url,.data):..... |
604a0 | 20 20 20 20 22 22 22 4d 61 6b 65 20 61 6e 20 48 54 54 50 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 75 | ...."""Make.an.HTTP.connection.u |
604c0 | 73 69 6e 67 20 63 6f 6e 6e 65 63 74 69 6f 6e 5f 63 6c 61 73 73 2e 0a 0a 20 20 20 20 20 20 20 20 | sing.connection_class........... |
604e0 | 54 68 69 73 20 69 73 20 61 6e 20 69 6e 74 65 72 6e 61 6c 20 6d 65 74 68 6f 64 20 74 68 61 74 20 | This.is.an.internal.method.that. |
60500 | 73 68 6f 75 6c 64 20 62 65 20 63 61 6c 6c 65 64 20 66 72 6f 6d 0a 20 20 20 20 20 20 20 20 6f 70 | should.be.called.from.........op |
60520 | 65 6e 5f 68 74 74 70 28 29 20 6f 72 20 6f 70 65 6e 5f 68 74 74 70 73 28 29 2e 0a 0a 20 20 20 20 | en_http().or.open_https()....... |
60540 | 20 20 20 20 41 72 67 75 6d 65 6e 74 73 3a 0a 20 20 20 20 20 20 20 20 2d 20 63 6f 6e 6e 65 63 74 | ....Arguments:.........-.connect |
60560 | 69 6f 6e 5f 66 61 63 74 6f 72 79 20 73 68 6f 75 6c 64 20 74 61 6b 65 20 61 20 68 6f 73 74 20 6e | ion_factory.should.take.a.host.n |
60580 | 61 6d 65 20 61 6e 64 20 72 65 74 75 72 6e 20 61 6e 0a 20 20 20 20 20 20 20 20 20 20 48 54 54 50 | ame.and.return.an...........HTTP |
605a0 | 43 6f 6e 6e 65 63 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 2e 0a 20 20 20 20 20 20 20 20 2d 20 75 | Connection.instance..........-.u |
605c0 | 72 6c 20 69 73 20 74 68 65 20 75 72 6c 20 74 6f 20 72 65 74 72 69 65 76 61 6c 20 6f 72 20 61 20 | rl.is.the.url.to.retrieval.or.a. |
605e0 | 68 6f 73 74 2c 20 72 65 6c 61 74 69 76 65 2d 70 61 74 68 20 70 61 69 72 2e 0a 20 20 20 20 20 20 | host,.relative-path.pair........ |
60600 | 20 20 2d 20 64 61 74 61 20 69 73 20 70 61 79 6c 6f 61 64 20 66 6f 72 20 61 20 50 4f 53 54 20 72 | ..-.data.is.payload.for.a.POST.r |
60620 | 65 71 75 65 73 74 20 6f 72 20 4e 6f 6e 65 2e 0a 20 20 20 20 20 20 20 20 22 22 22 0a 0a 20 20 20 | equest.or.None.........."""..... |
60640 | 20 20 20 20 20 75 73 65 72 5f 70 61 73 73 77 64 20 3d 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 | .....user_passwd.=.None......... |
60660 | 70 72 6f 78 79 5f 70 61 73 73 77 64 3d 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 69 66 20 69 73 | proxy_passwd=.None.........if.is |
60680 | 69 6e 73 74 61 6e 63 65 28 75 72 6c 2c 20 73 74 72 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 | instance(url,.str):............. |
606a0 | 68 6f 73 74 2c 20 73 65 6c 65 63 74 6f 72 20 3d 20 73 70 6c 69 74 68 6f 73 74 28 75 72 6c 29 0a | host,.selector.=.splithost(url). |
606c0 | 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 68 6f 73 74 3a 0a 20 20 20 20 20 20 20 20 20 20 20 | ............if.host:............ |
606e0 | 20 20 20 20 20 75 73 65 72 5f 70 61 73 73 77 64 2c 20 68 6f 73 74 20 3d 20 73 70 6c 69 74 75 73 | .....user_passwd,.host.=.splitus |
60700 | 65 72 28 68 6f 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 68 6f 73 74 20 3d 20 | er(host).................host.=. |
60720 | 75 6e 71 75 6f 74 65 28 68 6f 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 61 6c 68 6f | unquote(host).............realho |
60740 | 73 74 20 3d 20 68 6f 73 74 0a 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 | st.=.host.........else:......... |
60760 | 20 20 20 20 68 6f 73 74 2c 20 73 65 6c 65 63 74 6f 72 20 3d 20 75 72 6c 0a 20 20 20 20 20 20 20 | ....host,.selector.=.url........ |
60780 | 20 20 20 20 20 23 20 63 68 65 63 6b 20 77 68 65 74 68 65 72 20 74 68 65 20 70 72 6f 78 79 20 63 | .....#.check.whether.the.proxy.c |
607a0 | 6f 6e 74 61 69 6e 73 20 61 75 74 68 6f 72 69 7a 61 74 69 6f 6e 20 69 6e 66 6f 72 6d 61 74 69 6f | ontains.authorization.informatio |
607c0 | 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 72 6f 78 79 5f 70 61 73 73 77 64 2c 20 68 6f 73 74 | n.............proxy_passwd,.host |
607e0 | 20 3d 20 73 70 6c 69 74 75 73 65 72 28 68 6f 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 23 | .=.splituser(host).............# |
60800 | 20 6e 6f 77 20 77 65 20 70 72 6f 63 65 65 64 20 77 69 74 68 20 74 68 65 20 75 72 6c 20 77 65 20 | .now.we.proceed.with.the.url.we. |
60820 | 77 61 6e 74 20 74 6f 20 6f 62 74 61 69 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 75 72 6c 74 79 | want.to.obtain.............urlty |
60840 | 70 65 2c 20 72 65 73 74 20 3d 20 73 70 6c 69 74 74 79 70 65 28 73 65 6c 65 63 74 6f 72 29 0a 20 | pe,.rest.=.splittype(selector).. |
60860 | 20 20 20 20 20 20 20 20 20 20 20 75 72 6c 20 3d 20 72 65 73 74 0a 20 20 20 20 20 20 20 20 20 20 | ...........url.=.rest........... |
60880 | 20 20 75 73 65 72 5f 70 61 73 73 77 64 20 3d 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 20 20 20 | ..user_passwd.=.None............ |
608a0 | 20 69 66 20 75 72 6c 74 79 70 65 2e 6c 6f 77 65 72 28 29 20 21 3d 20 27 68 74 74 70 27 3a 0a 20 | .if.urltype.lower().!=.'http':.. |
608c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 61 6c 68 6f 73 74 20 3d 20 4e 6f 6e 65 0a 20 | ...............realhost.=.None.. |
608e0 | 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ...........else:................ |
60900 | 20 72 65 61 6c 68 6f 73 74 2c 20 72 65 73 74 20 3d 20 73 70 6c 69 74 68 6f 73 74 28 72 65 73 74 | .realhost,.rest.=.splithost(rest |
60920 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 72 65 61 6c 68 6f 73 74 3a 0a 20 | ).................if.realhost:.. |
60940 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 73 65 72 5f 70 61 73 73 77 64 2c 20 | ...................user_passwd,. |
60960 | 72 65 61 6c 68 6f 73 74 20 3d 20 73 70 6c 69 74 75 73 65 72 28 72 65 61 6c 68 6f 73 74 29 0a 20 | realhost.=.splituser(realhost).. |
60980 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 75 73 65 72 5f 70 61 73 73 77 64 3a 0a 20 | ...............if.user_passwd:.. |
609a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 65 63 74 6f 72 20 3d 20 22 25 | ...................selector.=."% |
609c0 | 73 3a 2f 2f 25 73 25 73 22 20 25 20 28 75 72 6c 74 79 70 65 2c 20 72 65 61 6c 68 6f 73 74 2c 20 | s://%s%s".%.(urltype,.realhost,. |
609e0 | 72 65 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 70 72 6f 78 79 5f 62 | rest).................if.proxy_b |
60a00 | 79 70 61 73 73 28 72 65 61 6c 68 6f 73 74 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ypass(realhost):................ |
60a20 | 20 20 20 20 20 68 6f 73 74 20 3d 20 72 65 61 6c 68 6f 73 74 0a 0a 20 20 20 20 20 20 20 20 69 66 | .....host.=.realhost..........if |
60a40 | 20 6e 6f 74 20 68 6f 73 74 3a 20 72 61 69 73 65 20 4f 53 45 72 72 6f 72 28 27 68 74 74 70 20 65 | .not.host:.raise.OSError('http.e |
60a60 | 72 72 6f 72 27 2c 20 27 6e 6f 20 68 6f 73 74 20 67 69 76 65 6e 27 29 0a 0a 20 20 20 20 20 20 20 | rror',.'no.host.given')......... |
60a80 | 20 69 66 20 70 72 6f 78 79 5f 70 61 73 73 77 64 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 72 | .if.proxy_passwd:.............pr |
60aa0 | 6f 78 79 5f 70 61 73 73 77 64 20 3d 20 75 6e 71 75 6f 74 65 28 70 72 6f 78 79 5f 70 61 73 73 77 | oxy_passwd.=.unquote(proxy_passw |
60ac0 | 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 72 6f 78 79 5f 61 75 74 68 20 3d 20 62 61 73 65 | d).............proxy_auth.=.base |
60ae0 | 36 34 2e 62 36 34 65 6e 63 6f 64 65 28 70 72 6f 78 79 5f 70 61 73 73 77 64 2e 65 6e 63 6f 64 65 | 64.b64encode(proxy_passwd.encode |
60b00 | 28 29 29 2e 64 65 63 6f 64 65 28 27 61 73 63 69 69 27 29 0a 20 20 20 20 20 20 20 20 65 6c 73 65 | ()).decode('ascii').........else |
60b20 | 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 72 6f 78 79 5f 61 75 74 68 20 3d 20 4e 6f 6e 65 0a | :.............proxy_auth.=.None. |
60b40 | 0a 20 20 20 20 20 20 20 20 69 66 20 75 73 65 72 5f 70 61 73 73 77 64 3a 0a 20 20 20 20 20 20 20 | .........if.user_passwd:........ |
60b60 | 20 20 20 20 20 75 73 65 72 5f 70 61 73 73 77 64 20 3d 20 75 6e 71 75 6f 74 65 28 75 73 65 72 5f | .....user_passwd.=.unquote(user_ |
60b80 | 70 61 73 73 77 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 61 75 74 68 20 3d 20 62 61 73 65 36 | passwd).............auth.=.base6 |
60ba0 | 34 2e 62 36 34 65 6e 63 6f 64 65 28 75 73 65 72 5f 70 61 73 73 77 64 2e 65 6e 63 6f 64 65 28 29 | 4.b64encode(user_passwd.encode() |
60bc0 | 29 2e 64 65 63 6f 64 65 28 27 61 73 63 69 69 27 29 0a 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a | ).decode('ascii').........else:. |
60be0 | 20 20 20 20 20 20 20 20 20 20 20 20 61 75 74 68 20 3d 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 | ............auth.=.None......... |
60c00 | 68 74 74 70 5f 63 6f 6e 6e 20 3d 20 63 6f 6e 6e 65 63 74 69 6f 6e 5f 66 61 63 74 6f 72 79 28 68 | http_conn.=.connection_factory(h |
60c20 | 6f 73 74 29 0a 20 20 20 20 20 20 20 20 68 65 61 64 65 72 73 20 3d 20 7b 7d 0a 20 20 20 20 20 20 | ost).........headers.=.{}....... |
60c40 | 20 20 69 66 20 70 72 6f 78 79 5f 61 75 74 68 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 68 65 61 | ..if.proxy_auth:.............hea |
60c60 | 64 65 72 73 5b 22 50 72 6f 78 79 2d 41 75 74 68 6f 72 69 7a 61 74 69 6f 6e 22 5d 20 3d 20 22 42 | ders["Proxy-Authorization"].=."B |
60c80 | 61 73 69 63 20 25 73 22 20 25 20 70 72 6f 78 79 5f 61 75 74 68 0a 20 20 20 20 20 20 20 20 69 66 | asic.%s".%.proxy_auth.........if |
60ca0 | 20 61 75 74 68 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 68 65 61 64 65 72 73 5b 22 41 75 74 68 | .auth:.............headers["Auth |
60cc0 | 6f 72 69 7a 61 74 69 6f 6e 22 5d 20 3d 20 20 22 42 61 73 69 63 20 25 73 22 20 25 20 61 75 74 68 | orization"].=.."Basic.%s".%.auth |
60ce0 | 0a 20 20 20 20 20 20 20 20 69 66 20 72 65 61 6c 68 6f 73 74 3a 0a 20 20 20 20 20 20 20 20 20 20 | .........if.realhost:........... |
60d00 | 20 20 68 65 61 64 65 72 73 5b 22 48 6f 73 74 22 5d 20 3d 20 72 65 61 6c 68 6f 73 74 0a 0a 20 20 | ..headers["Host"].=.realhost.... |
60d20 | 20 20 20 20 20 20 23 20 41 64 64 20 43 6f 6e 6e 65 63 74 69 6f 6e 3a 63 6c 6f 73 65 20 61 73 20 | ......#.Add.Connection:close.as. |
60d40 | 77 65 20 64 6f 6e 27 74 20 73 75 70 70 6f 72 74 20 70 65 72 73 69 73 74 65 6e 74 20 63 6f 6e 6e | we.don't.support.persistent.conn |
60d60 | 65 63 74 69 6f 6e 73 20 79 65 74 2e 0a 20 20 20 20 20 20 20 20 23 20 54 68 69 73 20 68 65 6c 70 | ections.yet..........#.This.help |
60d80 | 73 20 69 6e 20 63 6c 6f 73 69 6e 67 20 74 68 65 20 73 6f 63 6b 65 74 20 61 6e 64 20 61 76 6f 69 | s.in.closing.the.socket.and.avoi |
60da0 | 64 69 6e 67 20 52 65 73 6f 75 72 63 65 57 61 72 6e 69 6e 67 0a 0a 20 20 20 20 20 20 20 20 68 65 | ding.ResourceWarning..........he |
60dc0 | 61 64 65 72 73 5b 22 43 6f 6e 6e 65 63 74 69 6f 6e 22 5d 20 3d 20 22 63 6c 6f 73 65 22 0a 0a 20 | aders["Connection"].=."close"... |
60de0 | 20 20 20 20 20 20 20 66 6f 72 20 68 65 61 64 65 72 2c 20 76 61 6c 75 65 20 69 6e 20 73 65 6c 66 | .......for.header,.value.in.self |
60e00 | 2e 61 64 64 68 65 61 64 65 72 73 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 68 65 61 64 65 72 73 | .addheaders:.............headers |
60e20 | 5b 68 65 61 64 65 72 5d 20 3d 20 76 61 6c 75 65 0a 0a 20 20 20 20 20 20 20 20 69 66 20 64 61 74 | [header].=.value..........if.dat |
60e40 | 61 20 69 73 20 6e 6f 74 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 68 65 61 64 65 | a.is.not.None:.............heade |
60e60 | 72 73 5b 22 43 6f 6e 74 65 6e 74 2d 54 79 70 65 22 5d 20 3d 20 22 61 70 70 6c 69 63 61 74 69 6f | rs["Content-Type"].=."applicatio |
60e80 | 6e 2f 78 2d 77 77 77 2d 66 6f 72 6d 2d 75 72 6c 65 6e 63 6f 64 65 64 22 0a 20 20 20 20 20 20 20 | n/x-www-form-urlencoded"........ |
60ea0 | 20 20 20 20 20 68 74 74 70 5f 63 6f 6e 6e 2e 72 65 71 75 65 73 74 28 22 50 4f 53 54 22 2c 20 73 | .....http_conn.request("POST",.s |
60ec0 | 65 6c 65 63 74 6f 72 2c 20 64 61 74 61 2c 20 68 65 61 64 65 72 73 29 0a 20 20 20 20 20 20 20 20 | elector,.data,.headers)......... |
60ee0 | 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 68 74 74 70 5f 63 6f 6e 6e 2e 72 65 71 75 | else:.............http_conn.requ |
60f00 | 65 73 74 28 22 47 45 54 22 2c 20 73 65 6c 65 63 74 6f 72 2c 20 68 65 61 64 65 72 73 3d 68 65 61 | est("GET",.selector,.headers=hea |
60f20 | 64 65 72 73 29 0a 0a 20 20 20 20 20 20 20 20 74 72 79 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ders)..........try:............. |
60f40 | 72 65 73 70 6f 6e 73 65 20 3d 20 68 74 74 70 5f 63 6f 6e 6e 2e 67 65 74 72 65 73 70 6f 6e 73 65 | response.=.http_conn.getresponse |
60f60 | 28 29 0a 20 20 20 20 20 20 20 20 65 78 63 65 70 74 20 68 74 74 70 2e 63 6c 69 65 6e 74 2e 42 61 | ().........except.http.client.Ba |
60f80 | 64 53 74 61 74 75 73 4c 69 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 23 20 73 6f 6d 65 74 | dStatusLine:.............#.somet |
60fa0 | 68 69 6e 67 20 77 65 6e 74 20 77 72 6f 6e 67 20 77 69 74 68 20 74 68 65 20 48 54 54 50 20 73 74 | hing.went.wrong.with.the.HTTP.st |
60fc0 | 61 74 75 73 20 6c 69 6e 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 55 52 4c 45 | atus.line.............raise.URLE |
60fe0 | 72 72 6f 72 28 22 68 74 74 70 20 70 72 6f 74 6f 63 6f 6c 20 65 72 72 6f 72 3a 20 62 61 64 20 73 | rror("http.protocol.error:.bad.s |
61000 | 74 61 74 75 73 20 6c 69 6e 65 22 29 0a 0a 20 20 20 20 20 20 20 20 23 20 41 63 63 6f 72 64 69 6e | tatus.line")..........#.Accordin |
61020 | 67 20 74 6f 20 52 46 43 20 32 36 31 36 2c 20 22 32 78 78 22 20 63 6f 64 65 20 69 6e 64 69 63 61 | g.to.RFC.2616,."2xx".code.indica |
61040 | 74 65 73 20 74 68 61 74 20 74 68 65 20 63 6c 69 65 6e 74 27 73 0a 20 20 20 20 20 20 20 20 23 20 | tes.that.the.client's.........#. |
61060 | 72 65 71 75 65 73 74 20 77 61 73 20 73 75 63 63 65 73 73 66 75 6c 6c 79 20 72 65 63 65 69 76 65 | request.was.successfully.receive |
61080 | 64 2c 20 75 6e 64 65 72 73 74 6f 6f 64 2c 20 61 6e 64 20 61 63 63 65 70 74 65 64 2e 0a 20 20 20 | d,.understood,.and.accepted..... |
610a0 | 20 20 20 20 20 69 66 20 32 30 30 20 3c 3d 20 72 65 73 70 6f 6e 73 65 2e 73 74 61 74 75 73 20 3c | .....if.200.<=.response.status.< |
610c0 | 20 33 30 30 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 61 64 64 69 6e 66 6f | .300:.............return.addinfo |
610e0 | 75 72 6c 28 72 65 73 70 6f 6e 73 65 2c 20 72 65 73 70 6f 6e 73 65 2e 6d 73 67 2c 20 22 68 74 74 | url(response,.response.msg,."htt |
61100 | 70 3a 22 20 2b 20 75 72 6c 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | p:".+.url,...................... |
61120 | 20 20 20 20 20 20 20 20 20 72 65 73 70 6f 6e 73 65 2e 73 74 61 74 75 73 29 0a 20 20 20 20 20 20 | .........response.status)....... |
61140 | 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 2e | ..else:.............return.self. |
61160 | 68 74 74 70 5f 65 72 72 6f 72 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 72 6c 2c | http_error(.................url, |
61180 | 20 72 65 73 70 6f 6e 73 65 2e 66 70 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 | .response.fp,.................re |
611a0 | 73 70 6f 6e 73 65 2e 73 74 61 74 75 73 2c 20 72 65 73 70 6f 6e 73 65 2e 72 65 61 73 6f 6e 2c 20 | sponse.status,.response.reason,. |
611c0 | 72 65 73 70 6f 6e 73 65 2e 6d 73 67 2c 20 64 61 74 61 29 0a 0a 20 20 20 20 64 65 66 20 6f 70 65 | response.msg,.data)......def.ope |
611e0 | 6e 5f 68 74 74 70 28 73 65 6c 66 2c 20 75 72 6c 2c 20 64 61 74 61 3d 4e 6f 6e 65 29 3a 0a 20 20 | n_http(self,.url,.data=None):... |
61200 | 20 20 20 20 20 20 22 22 22 55 73 65 20 48 54 54 50 20 70 72 6f 74 6f 63 6f 6c 2e 22 22 22 0a 20 | ......"""Use.HTTP.protocol.""".. |
61220 | 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 2e 5f 6f 70 65 6e 5f 67 65 6e 65 72 69 63 | .......return.self._open_generic |
61240 | 5f 68 74 74 70 28 68 74 74 70 2e 63 6c 69 65 6e 74 2e 48 54 54 50 43 6f 6e 6e 65 63 74 69 6f 6e | _http(http.client.HTTPConnection |
61260 | 2c 20 75 72 6c 2c 20 64 61 74 61 29 0a 0a 20 20 20 20 64 65 66 20 68 74 74 70 5f 65 72 72 6f 72 | ,.url,.data)......def.http_error |
61280 | 28 73 65 6c 66 2c 20 75 72 6c 2c 20 66 70 2c 20 65 72 72 63 6f 64 65 2c 20 65 72 72 6d 73 67 2c | (self,.url,.fp,.errcode,.errmsg, |
612a0 | 20 68 65 61 64 65 72 73 2c 20 64 61 74 61 3d 4e 6f 6e 65 29 3a 0a 20 20 20 20 20 20 20 20 22 22 | .headers,.data=None):........."" |
612c0 | 22 48 61 6e 64 6c 65 20 68 74 74 70 20 65 72 72 6f 72 73 2e 0a 0a 20 20 20 20 20 20 20 20 44 65 | "Handle.http.errors...........De |
612e0 | 72 69 76 65 64 20 63 6c 61 73 73 20 63 61 6e 20 6f 76 65 72 72 69 64 65 20 74 68 69 73 2c 20 6f | rived.class.can.override.this,.o |
61300 | 72 20 70 72 6f 76 69 64 65 20 73 70 65 63 69 66 69 63 20 68 61 6e 64 6c 65 72 73 0a 20 20 20 20 | r.provide.specific.handlers..... |
61320 | 20 20 20 20 6e 61 6d 65 64 20 68 74 74 70 5f 65 72 72 6f 72 5f 44 44 44 20 77 68 65 72 65 20 44 | ....named.http_error_DDD.where.D |
61340 | 44 44 20 69 73 20 74 68 65 20 33 2d 64 69 67 69 74 20 65 72 72 6f 72 20 63 6f 64 65 2e 22 22 22 | DD.is.the.3-digit.error.code.""" |
61360 | 0a 20 20 20 20 20 20 20 20 23 20 46 69 72 73 74 20 63 68 65 63 6b 20 69 66 20 74 68 65 72 65 27 | .........#.First.check.if.there' |
61380 | 73 20 61 20 73 70 65 63 69 66 69 63 20 68 61 6e 64 6c 65 72 20 66 6f 72 20 74 68 69 73 20 65 72 | s.a.specific.handler.for.this.er |
613a0 | 72 6f 72 0a 20 20 20 20 20 20 20 20 6e 61 6d 65 20 3d 20 27 68 74 74 70 5f 65 72 72 6f 72 5f 25 | ror.........name.=.'http_error_% |
613c0 | 64 27 20 25 20 65 72 72 63 6f 64 65 0a 20 20 20 20 20 20 20 20 69 66 20 68 61 73 61 74 74 72 28 | d'.%.errcode.........if.hasattr( |
613e0 | 73 65 6c 66 2c 20 6e 61 6d 65 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 6d 65 74 68 6f 64 20 | self,.name):.............method. |
61400 | 3d 20 67 65 74 61 74 74 72 28 73 65 6c 66 2c 20 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 | =.getattr(self,.name)........... |
61420 | 20 20 69 66 20 64 61 74 61 20 69 73 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | ..if.data.is.None:.............. |
61440 | 20 20 20 72 65 73 75 6c 74 20 3d 20 6d 65 74 68 6f 64 28 75 72 6c 2c 20 66 70 2c 20 65 72 72 63 | ...result.=.method(url,.fp,.errc |
61460 | 6f 64 65 2c 20 65 72 72 6d 73 67 2c 20 68 65 61 64 65 72 73 29 0a 20 20 20 20 20 20 20 20 20 20 | ode,.errmsg,.headers)........... |
61480 | 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 73 75 6c 74 20 3d | ..else:.................result.= |
614a0 | 20 6d 65 74 68 6f 64 28 75 72 6c 2c 20 66 70 2c 20 65 72 72 63 6f 64 65 2c 20 65 72 72 6d 73 67 | .method(url,.fp,.errcode,.errmsg |
614c0 | 2c 20 68 65 61 64 65 72 73 2c 20 64 61 74 61 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 | ,.headers,.data).............if. |
614e0 | 72 65 73 75 6c 74 3a 20 72 65 74 75 72 6e 20 72 65 73 75 6c 74 0a 20 20 20 20 20 20 20 20 72 65 | result:.return.result.........re |
61500 | 74 75 72 6e 20 73 65 6c 66 2e 68 74 74 70 5f 65 72 72 6f 72 5f 64 65 66 61 75 6c 74 28 75 72 6c | turn.self.http_error_default(url |
61520 | 2c 20 66 70 2c 20 65 72 72 63 6f 64 65 2c 20 65 72 72 6d 73 67 2c 20 68 65 61 64 65 72 73 29 0a | ,.fp,.errcode,.errmsg,.headers). |
61540 | 0a 20 20 20 20 64 65 66 20 68 74 74 70 5f 65 72 72 6f 72 5f 64 65 66 61 75 6c 74 28 73 65 6c 66 | .....def.http_error_default(self |
61560 | 2c 20 75 72 6c 2c 20 66 70 2c 20 65 72 72 63 6f 64 65 2c 20 65 72 72 6d 73 67 2c 20 68 65 61 64 | ,.url,.fp,.errcode,.errmsg,.head |
61580 | 65 72 73 29 3a 0a 20 20 20 20 20 20 20 20 22 22 22 44 65 66 61 75 6c 74 20 65 72 72 6f 72 20 68 | ers):........."""Default.error.h |
615a0 | 61 6e 64 6c 65 72 3a 20 63 6c 6f 73 65 20 74 68 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 61 6e 64 | andler:.close.the.connection.and |
615c0 | 20 72 61 69 73 65 20 4f 53 45 72 72 6f 72 2e 22 22 22 0a 20 20 20 20 20 20 20 20 66 70 2e 63 6c | .raise.OSError.""".........fp.cl |
615e0 | 6f 73 65 28 29 0a 20 20 20 20 20 20 20 20 72 61 69 73 65 20 48 54 54 50 45 72 72 6f 72 28 75 72 | ose().........raise.HTTPError(ur |
61600 | 6c 2c 20 65 72 72 63 6f 64 65 2c 20 65 72 72 6d 73 67 2c 20 68 65 61 64 65 72 73 2c 20 4e 6f 6e | l,.errcode,.errmsg,.headers,.Non |
61620 | 65 29 0a 0a 20 20 20 20 69 66 20 5f 68 61 76 65 5f 73 73 6c 3a 0a 20 20 20 20 20 20 20 20 64 65 | e)......if._have_ssl:.........de |
61640 | 66 20 5f 68 74 74 70 73 5f 63 6f 6e 6e 65 63 74 69 6f 6e 28 73 65 6c 66 2c 20 68 6f 73 74 29 3a | f._https_connection(self,.host): |
61660 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 68 74 74 70 2e 63 6c 69 65 6e 74 2e | .............return.http.client. |
61680 | 48 54 54 50 53 43 6f 6e 6e 65 63 74 69 6f 6e 28 68 6f 73 74 2c 0a 20 20 20 20 20 20 20 20 20 20 | HTTPSConnection(host,........... |
616a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
616c0 | 20 6b 65 79 5f 66 69 6c 65 3d 73 65 6c 66 2e 6b 65 79 5f 66 69 6c 65 2c 0a 20 20 20 20 20 20 20 | .key_file=self.key_file,........ |
616e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
61700 | 20 20 20 20 63 65 72 74 5f 66 69 6c 65 3d 73 65 6c 66 2e 63 65 72 74 5f 66 69 6c 65 29 0a 0a 20 | ....cert_file=self.cert_file)... |
61720 | 20 20 20 20 20 20 20 64 65 66 20 6f 70 65 6e 5f 68 74 74 70 73 28 73 65 6c 66 2c 20 75 72 6c 2c | .......def.open_https(self,.url, |
61740 | 20 64 61 74 61 3d 4e 6f 6e 65 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 22 22 55 73 65 20 | .data=None):............."""Use. |
61760 | 48 54 54 50 53 20 70 72 6f 74 6f 63 6f 6c 2e 22 22 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 | HTTPS.protocol.""".............r |
61780 | 65 74 75 72 6e 20 73 65 6c 66 2e 5f 6f 70 65 6e 5f 67 65 6e 65 72 69 63 5f 68 74 74 70 28 73 65 | eturn.self._open_generic_http(se |
617a0 | 6c 66 2e 5f 68 74 74 70 73 5f 63 6f 6e 6e 65 63 74 69 6f 6e 2c 20 75 72 6c 2c 20 64 61 74 61 29 | lf._https_connection,.url,.data) |
617c0 | 0a 0a 20 20 20 20 64 65 66 20 6f 70 65 6e 5f 66 69 6c 65 28 73 65 6c 66 2c 20 75 72 6c 29 3a 0a | ......def.open_file(self,.url):. |
617e0 | 20 20 20 20 20 20 20 20 22 22 22 55 73 65 20 6c 6f 63 61 6c 20 66 69 6c 65 20 6f 72 20 46 54 50 | ........"""Use.local.file.or.FTP |
61800 | 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 66 6f 72 6d 20 6f 66 20 55 52 4c 2e 22 22 22 0a 20 20 | .depending.on.form.of.URL."""... |
61820 | 20 20 20 20 20 20 69 66 20 6e 6f 74 20 69 73 69 6e 73 74 61 6e 63 65 28 75 72 6c 2c 20 73 74 72 | ......if.not.isinstance(url,.str |
61840 | 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 55 52 4c 45 72 72 6f 72 28 27 66 | ):.............raise.URLError('f |
61860 | 69 6c 65 20 65 72 72 6f 72 3a 20 70 72 6f 78 79 20 73 75 70 70 6f 72 74 20 66 6f 72 20 66 69 6c | ile.error:.proxy.support.for.fil |
61880 | 65 20 70 72 6f 74 6f 63 6f 6c 20 63 75 72 72 65 6e 74 6c 79 20 6e 6f 74 20 69 6d 70 6c 65 6d 65 | e.protocol.currently.not.impleme |
618a0 | 6e 74 65 64 27 29 0a 20 20 20 20 20 20 20 20 69 66 20 75 72 6c 5b 3a 32 5d 20 3d 3d 20 27 2f 2f | nted').........if.url[:2].==.'// |
618c0 | 27 20 61 6e 64 20 75 72 6c 5b 32 3a 33 5d 20 21 3d 20 27 2f 27 20 61 6e 64 20 75 72 6c 5b 32 3a | '.and.url[2:3].!=.'/'.and.url[2: |
618e0 | 31 32 5d 2e 6c 6f 77 65 72 28 29 20 21 3d 20 27 6c 6f 63 61 6c 68 6f 73 74 2f 27 3a 0a 20 20 20 | 12].lower().!=.'localhost/':.... |
61900 | 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 56 61 6c 75 65 45 72 72 6f 72 28 22 66 69 6c 65 3a | .........raise.ValueError("file: |
61920 | 2f 2f 20 73 63 68 65 6d 65 20 69 73 20 73 75 70 70 6f 72 74 65 64 20 6f 6e 6c 79 20 6f 6e 20 6c | //.scheme.is.supported.only.on.l |
61940 | 6f 63 61 6c 68 6f 73 74 22 29 0a 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 | ocalhost").........else:........ |
61960 | 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 2e 6f 70 65 6e 5f 6c 6f 63 61 6c 5f 66 69 6c 65 | .....return.self.open_local_file |
61980 | 28 75 72 6c 29 0a 0a 20 20 20 20 64 65 66 20 6f 70 65 6e 5f 6c 6f 63 61 6c 5f 66 69 6c 65 28 73 | (url)......def.open_local_file(s |
619a0 | 65 6c 66 2c 20 75 72 6c 29 3a 0a 20 20 20 20 20 20 20 20 22 22 22 55 73 65 20 6c 6f 63 61 6c 20 | elf,.url):........."""Use.local. |
619c0 | 66 69 6c 65 2e 22 22 22 0a 20 20 20 20 20 20 20 20 69 6d 70 6f 72 74 20 65 6d 61 69 6c 2e 75 74 | file.""".........import.email.ut |
619e0 | 69 6c 73 0a 20 20 20 20 20 20 20 20 69 6d 70 6f 72 74 20 6d 69 6d 65 74 79 70 65 73 0a 20 20 20 | ils.........import.mimetypes.... |
61a00 | 20 20 20 20 20 68 6f 73 74 2c 20 66 69 6c 65 20 3d 20 73 70 6c 69 74 68 6f 73 74 28 75 72 6c 29 | .....host,.file.=.splithost(url) |
61a20 | 0a 20 20 20 20 20 20 20 20 6c 6f 63 61 6c 6e 61 6d 65 20 3d 20 75 72 6c 32 70 61 74 68 6e 61 6d | .........localname.=.url2pathnam |
61a40 | 65 28 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 74 72 79 3a 0a 20 20 20 20 20 20 20 20 20 20 20 | e(file).........try:............ |
61a60 | 20 73 74 61 74 73 20 3d 20 6f 73 2e 73 74 61 74 28 6c 6f 63 61 6c 6e 61 6d 65 29 0a 20 20 20 20 | .stats.=.os.stat(localname)..... |
61a80 | 20 20 20 20 65 78 63 65 70 74 20 4f 53 45 72 72 6f 72 20 61 73 20 65 3a 0a 20 20 20 20 20 20 20 | ....except.OSError.as.e:........ |
61aa0 | 20 20 20 20 20 72 61 69 73 65 20 55 52 4c 45 72 72 6f 72 28 65 2e 73 74 72 65 72 72 6f 72 2c 20 | .....raise.URLError(e.strerror,. |
61ac0 | 65 2e 66 69 6c 65 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 73 69 7a 65 20 3d 20 73 74 61 74 73 | e.filename).........size.=.stats |
61ae0 | 2e 73 74 5f 73 69 7a 65 0a 20 20 20 20 20 20 20 20 6d 6f 64 69 66 69 65 64 20 3d 20 65 6d 61 69 | .st_size.........modified.=.emai |
61b00 | 6c 2e 75 74 69 6c 73 2e 66 6f 72 6d 61 74 64 61 74 65 28 73 74 61 74 73 2e 73 74 5f 6d 74 69 6d | l.utils.formatdate(stats.st_mtim |
61b20 | 65 2c 20 75 73 65 67 6d 74 3d 54 72 75 65 29 0a 20 20 20 20 20 20 20 20 6d 74 79 70 65 20 3d 20 | e,.usegmt=True).........mtype.=. |
61b40 | 6d 69 6d 65 74 79 70 65 73 2e 67 75 65 73 73 5f 74 79 70 65 28 75 72 6c 29 5b 30 5d 0a 20 20 20 | mimetypes.guess_type(url)[0].... |
61b60 | 20 20 20 20 20 68 65 61 64 65 72 73 20 3d 20 65 6d 61 69 6c 2e 6d 65 73 73 61 67 65 5f 66 72 6f | .....headers.=.email.message_fro |
61b80 | 6d 5f 73 74 72 69 6e 67 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 43 6f 6e 74 65 6e 74 2d 54 | m_string(.............'Content-T |
61ba0 | 79 70 65 3a 20 25 73 5c 6e 43 6f 6e 74 65 6e 74 2d 4c 65 6e 67 74 68 3a 20 25 64 5c 6e 4c 61 73 | ype:.%s\nContent-Length:.%d\nLas |
61bc0 | 74 2d 6d 6f 64 69 66 69 65 64 3a 20 25 73 5c 6e 27 20 25 0a 20 20 20 20 20 20 20 20 20 20 20 20 | t-modified:.%s\n'.%............. |
61be0 | 28 6d 74 79 70 65 20 6f 72 20 27 74 65 78 74 2f 70 6c 61 69 6e 27 2c 20 73 69 7a 65 2c 20 6d 6f | (mtype.or.'text/plain',.size,.mo |
61c00 | 64 69 66 69 65 64 29 29 0a 20 20 20 20 20 20 20 20 69 66 20 6e 6f 74 20 68 6f 73 74 3a 0a 20 20 | dified)).........if.not.host:... |
61c20 | 20 20 20 20 20 20 20 20 20 20 75 72 6c 66 69 6c 65 20 3d 20 66 69 6c 65 0a 20 20 20 20 20 20 20 | ..........urlfile.=.file........ |
61c40 | 20 20 20 20 20 69 66 20 66 69 6c 65 5b 3a 31 5d 20 3d 3d 20 27 2f 27 3a 0a 20 20 20 20 20 20 20 | .....if.file[:1].==.'/':........ |
61c60 | 20 20 20 20 20 20 20 20 20 75 72 6c 66 69 6c 65 20 3d 20 27 66 69 6c 65 3a 2f 2f 27 20 2b 20 66 | .........urlfile.=.'file://'.+.f |
61c80 | 69 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 61 64 64 69 6e 66 6f 75 72 | ile.............return.addinfour |
61ca0 | 6c 28 6f 70 65 6e 28 6c 6f 63 61 6c 6e 61 6d 65 2c 20 27 72 62 27 29 2c 20 68 65 61 64 65 72 73 | l(open(localname,.'rb'),.headers |
61cc0 | 2c 20 75 72 6c 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 68 6f 73 74 2c 20 70 6f 72 74 20 3d 20 | ,.urlfile).........host,.port.=. |
61ce0 | 73 70 6c 69 74 70 6f 72 74 28 68 6f 73 74 29 0a 20 20 20 20 20 20 20 20 69 66 20 28 6e 6f 74 20 | splitport(host).........if.(not. |
61d00 | 70 6f 72 74 0a 20 20 20 20 20 20 20 20 20 20 20 61 6e 64 20 73 6f 63 6b 65 74 2e 67 65 74 68 6f | port............and.socket.getho |
61d20 | 73 74 62 79 6e 61 6d 65 28 68 6f 73 74 29 20 69 6e 20 28 28 6c 6f 63 61 6c 68 6f 73 74 28 29 2c | stbyname(host).in.((localhost(), |
61d40 | 29 20 2b 20 74 68 69 73 68 6f 73 74 28 29 29 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 75 72 | ).+.thishost())):.............ur |
61d60 | 6c 66 69 6c 65 20 3d 20 66 69 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 66 69 6c 65 | lfile.=.file.............if.file |
61d80 | 5b 3a 31 5d 20 3d 3d 20 27 2f 27 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 72 6c | [:1].==.'/':.................url |
61da0 | 66 69 6c 65 20 3d 20 27 66 69 6c 65 3a 2f 2f 27 20 2b 20 66 69 6c 65 0a 20 20 20 20 20 20 20 20 | file.=.'file://'.+.file......... |
61dc0 | 20 20 20 20 65 6c 69 66 20 66 69 6c 65 5b 3a 32 5d 20 3d 3d 20 27 2e 2f 27 3a 0a 20 20 20 20 20 | ....elif.file[:2].==.'./':...... |
61de0 | 20 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 56 61 6c 75 65 45 72 72 6f 72 28 22 6c 6f 63 | ...........raise.ValueError("loc |
61e00 | 61 6c 20 66 69 6c 65 20 75 72 6c 20 6d 61 79 20 73 74 61 72 74 20 77 69 74 68 20 2f 20 6f 72 20 | al.file.url.may.start.with./.or. |
61e20 | 66 69 6c 65 3a 2e 20 55 6e 6b 6e 6f 77 6e 20 75 72 6c 20 6f 66 20 74 79 70 65 3a 20 25 73 22 20 | file:..Unknown.url.of.type:.%s". |
61e40 | 25 20 75 72 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 61 64 64 69 6e 66 | %.url).............return.addinf |
61e60 | 6f 75 72 6c 28 6f 70 65 6e 28 6c 6f 63 61 6c 6e 61 6d 65 2c 20 27 72 62 27 29 2c 20 68 65 61 64 | ourl(open(localname,.'rb'),.head |
61e80 | 65 72 73 2c 20 75 72 6c 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 72 61 69 73 65 20 55 52 4c 45 | ers,.urlfile).........raise.URLE |
61ea0 | 72 72 6f 72 28 27 6c 6f 63 61 6c 20 66 69 6c 65 20 65 72 72 6f 72 3a 20 6e 6f 74 20 6f 6e 20 6c | rror('local.file.error:.not.on.l |
61ec0 | 6f 63 61 6c 20 68 6f 73 74 27 29 0a 0a 20 20 20 20 64 65 66 20 6f 70 65 6e 5f 66 74 70 28 73 65 | ocal.host')......def.open_ftp(se |
61ee0 | 6c 66 2c 20 75 72 6c 29 3a 0a 20 20 20 20 20 20 20 20 22 22 22 55 73 65 20 46 54 50 20 70 72 6f | lf,.url):........."""Use.FTP.pro |
61f00 | 74 6f 63 6f 6c 2e 22 22 22 0a 20 20 20 20 20 20 20 20 69 66 20 6e 6f 74 20 69 73 69 6e 73 74 61 | tocol.""".........if.not.isinsta |
61f20 | 6e 63 65 28 75 72 6c 2c 20 73 74 72 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 | nce(url,.str):.............raise |
61f40 | 20 55 52 4c 45 72 72 6f 72 28 27 66 74 70 20 65 72 72 6f 72 3a 20 70 72 6f 78 79 20 73 75 70 70 | .URLError('ftp.error:.proxy.supp |
61f60 | 6f 72 74 20 66 6f 72 20 66 74 70 20 70 72 6f 74 6f 63 6f 6c 20 63 75 72 72 65 6e 74 6c 79 20 6e | ort.for.ftp.protocol.currently.n |
61f80 | 6f 74 20 69 6d 70 6c 65 6d 65 6e 74 65 64 27 29 0a 20 20 20 20 20 20 20 20 69 6d 70 6f 72 74 20 | ot.implemented').........import. |
61fa0 | 6d 69 6d 65 74 79 70 65 73 0a 20 20 20 20 20 20 20 20 68 6f 73 74 2c 20 70 61 74 68 20 3d 20 73 | mimetypes.........host,.path.=.s |
61fc0 | 70 6c 69 74 68 6f 73 74 28 75 72 6c 29 0a 20 20 20 20 20 20 20 20 69 66 20 6e 6f 74 20 68 6f 73 | plithost(url).........if.not.hos |
61fe0 | 74 3a 20 72 61 69 73 65 20 55 52 4c 45 72 72 6f 72 28 27 66 74 70 20 65 72 72 6f 72 3a 20 6e 6f | t:.raise.URLError('ftp.error:.no |
62000 | 20 68 6f 73 74 20 67 69 76 65 6e 27 29 0a 20 20 20 20 20 20 20 20 68 6f 73 74 2c 20 70 6f 72 74 | .host.given').........host,.port |
62020 | 20 3d 20 73 70 6c 69 74 70 6f 72 74 28 68 6f 73 74 29 0a 20 20 20 20 20 20 20 20 75 73 65 72 2c | .=.splitport(host).........user, |
62040 | 20 68 6f 73 74 20 3d 20 73 70 6c 69 74 75 73 65 72 28 68 6f 73 74 29 0a 20 20 20 20 20 20 20 20 | .host.=.splituser(host)......... |
62060 | 69 66 20 75 73 65 72 3a 20 75 73 65 72 2c 20 70 61 73 73 77 64 20 3d 20 73 70 6c 69 74 70 61 73 | if.user:.user,.passwd.=.splitpas |
62080 | 73 77 64 28 75 73 65 72 29 0a 20 20 20 20 20 20 20 20 65 6c 73 65 3a 20 70 61 73 73 77 64 20 3d | swd(user).........else:.passwd.= |
620a0 | 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 68 6f 73 74 20 3d 20 75 6e 71 75 6f 74 65 28 68 6f 73 | .None.........host.=.unquote(hos |
620c0 | 74 29 0a 20 20 20 20 20 20 20 20 75 73 65 72 20 3d 20 75 6e 71 75 6f 74 65 28 75 73 65 72 20 6f | t).........user.=.unquote(user.o |
620e0 | 72 20 27 27 29 0a 20 20 20 20 20 20 20 20 70 61 73 73 77 64 20 3d 20 75 6e 71 75 6f 74 65 28 70 | r.'').........passwd.=.unquote(p |
62100 | 61 73 73 77 64 20 6f 72 20 27 27 29 0a 20 20 20 20 20 20 20 20 68 6f 73 74 20 3d 20 73 6f 63 6b | asswd.or.'').........host.=.sock |
62120 | 65 74 2e 67 65 74 68 6f 73 74 62 79 6e 61 6d 65 28 68 6f 73 74 29 0a 20 20 20 20 20 20 20 20 69 | et.gethostbyname(host).........i |
62140 | 66 20 6e 6f 74 20 70 6f 72 74 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 6d 70 6f 72 74 20 66 | f.not.port:.............import.f |
62160 | 74 70 6c 69 62 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 6f 72 74 20 3d 20 66 74 70 6c 69 62 2e | tplib.............port.=.ftplib. |
62180 | 46 54 50 5f 50 4f 52 54 0a 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 | FTP_PORT.........else:.......... |
621a0 | 20 20 20 70 6f 72 74 20 3d 20 69 6e 74 28 70 6f 72 74 29 0a 20 20 20 20 20 20 20 20 70 61 74 68 | ...port.=.int(port).........path |
621c0 | 2c 20 61 74 74 72 73 20 3d 20 73 70 6c 69 74 61 74 74 72 28 70 61 74 68 29 0a 20 20 20 20 20 20 | ,.attrs.=.splitattr(path)....... |
621e0 | 20 20 70 61 74 68 20 3d 20 75 6e 71 75 6f 74 65 28 70 61 74 68 29 0a 20 20 20 20 20 20 20 20 64 | ..path.=.unquote(path).........d |
62200 | 69 72 73 20 3d 20 70 61 74 68 2e 73 70 6c 69 74 28 27 2f 27 29 0a 20 20 20 20 20 20 20 20 64 69 | irs.=.path.split('/').........di |
62220 | 72 73 2c 20 66 69 6c 65 20 3d 20 64 69 72 73 5b 3a 2d 31 5d 2c 20 64 69 72 73 5b 2d 31 5d 0a 20 | rs,.file.=.dirs[:-1],.dirs[-1].. |
62240 | 20 20 20 20 20 20 20 69 66 20 64 69 72 73 20 61 6e 64 20 6e 6f 74 20 64 69 72 73 5b 30 5d 3a 20 | .......if.dirs.and.not.dirs[0]:. |
62260 | 64 69 72 73 20 3d 20 64 69 72 73 5b 31 3a 5d 0a 20 20 20 20 20 20 20 20 69 66 20 64 69 72 73 20 | dirs.=.dirs[1:].........if.dirs. |
62280 | 61 6e 64 20 6e 6f 74 20 64 69 72 73 5b 30 5d 3a 20 64 69 72 73 5b 30 5d 20 3d 20 27 2f 27 0a 20 | and.not.dirs[0]:.dirs[0].=.'/'.. |
622a0 | 20 20 20 20 20 20 20 6b 65 79 20 3d 20 75 73 65 72 2c 20 68 6f 73 74 2c 20 70 6f 72 74 2c 20 27 | .......key.=.user,.host,.port,.' |
622c0 | 2f 27 2e 6a 6f 69 6e 28 64 69 72 73 29 0a 20 20 20 20 20 20 20 20 23 20 58 58 58 20 74 68 72 65 | /'.join(dirs).........#.XXX.thre |
622e0 | 61 64 20 75 6e 73 61 66 65 21 0a 20 20 20 20 20 20 20 20 69 66 20 6c 65 6e 28 73 65 6c 66 2e 66 | ad.unsafe!.........if.len(self.f |
62300 | 74 70 63 61 63 68 65 29 20 3e 20 4d 41 58 46 54 50 43 41 43 48 45 3a 0a 20 20 20 20 20 20 20 20 | tpcache).>.MAXFTPCACHE:......... |
62320 | 20 20 20 20 23 20 50 72 75 6e 65 20 74 68 65 20 63 61 63 68 65 2c 20 72 61 74 68 65 72 20 61 72 | ....#.Prune.the.cache,.rather.ar |
62340 | 62 69 74 72 61 72 69 6c 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 6b 20 69 6e 20 6c | bitrarily.............for.k.in.l |
62360 | 69 73 74 28 73 65 6c 66 2e 66 74 70 63 61 63 68 65 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ist(self.ftpcache):............. |
62380 | 20 20 20 20 69 66 20 6b 20 21 3d 20 6b 65 79 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ....if.k.!=.key:................ |
623a0 | 20 20 20 20 20 76 20 3d 20 73 65 6c 66 2e 66 74 70 63 61 63 68 65 5b 6b 5d 0a 20 20 20 20 20 20 | .....v.=.self.ftpcache[k]....... |
623c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65 6c 20 73 65 6c 66 2e 66 74 70 63 61 63 68 65 5b | ..............del.self.ftpcache[ |
623e0 | 6b 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 2e 63 6c 6f 73 65 28 29 | k].....................v.close() |
62400 | 0a 20 20 20 20 20 20 20 20 74 72 79 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 6b 65 79 | .........try:.............if.key |
62420 | 20 6e 6f 74 20 69 6e 20 73 65 6c 66 2e 66 74 70 63 61 63 68 65 3a 0a 20 20 20 20 20 20 20 20 20 | .not.in.self.ftpcache:.......... |
62440 | 20 20 20 20 20 20 20 73 65 6c 66 2e 66 74 70 63 61 63 68 65 5b 6b 65 79 5d 20 3d 20 5c 0a 20 20 | .......self.ftpcache[key].=.\... |
62460 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 74 70 77 72 61 70 70 65 72 28 75 73 65 | ..................ftpwrapper(use |
62480 | 72 2c 20 70 61 73 73 77 64 2c 20 68 6f 73 74 2c 20 70 6f 72 74 2c 20 64 69 72 73 29 0a 20 20 20 | r,.passwd,.host,.port,.dirs).... |
624a0 | 20 20 20 20 20 20 20 20 20 69 66 20 6e 6f 74 20 66 69 6c 65 3a 20 74 79 70 65 20 3d 20 27 44 27 | .........if.not.file:.type.=.'D' |
624c0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 3a 20 74 79 70 65 20 3d 20 27 49 27 0a 20 20 | .............else:.type.=.'I'... |
624e0 | 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 61 74 74 72 20 69 6e 20 61 74 74 72 73 3a 0a 20 20 20 | ..........for.attr.in.attrs:.... |
62500 | 20 20 20 20 20 20 20 20 20 20 20 20 20 61 74 74 72 2c 20 76 61 6c 75 65 20 3d 20 73 70 6c 69 74 | .............attr,.value.=.split |
62520 | 76 61 6c 75 65 28 61 74 74 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 61 | value(attr).................if.a |
62540 | 74 74 72 2e 6c 6f 77 65 72 28 29 20 3d 3d 20 27 74 79 70 65 27 20 61 6e 64 20 5c 0a 20 20 20 20 | ttr.lower().==.'type'.and.\..... |
62560 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 20 69 6e 20 28 27 61 27 2c 20 27 41 | ...............value.in.('a',.'A |
62580 | 27 2c 20 27 69 27 2c 20 27 49 27 2c 20 27 64 27 2c 20 27 44 27 29 3a 0a 20 20 20 20 20 20 20 20 | ',.'i',.'I',.'d',.'D'):......... |
625a0 | 20 20 20 20 20 20 20 20 20 20 20 20 74 79 70 65 20 3d 20 76 61 6c 75 65 2e 75 70 70 65 72 28 29 | ............type.=.value.upper() |
625c0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 66 70 2c 20 72 65 74 72 6c 65 6e 29 20 3d 20 73 65 6c | .............(fp,.retrlen).=.sel |
625e0 | 66 2e 66 74 70 63 61 63 68 65 5b 6b 65 79 5d 2e 72 65 74 72 66 69 6c 65 28 66 69 6c 65 2c 20 74 | f.ftpcache[key].retrfile(file,.t |
62600 | 79 70 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 6d 74 79 70 65 20 3d 20 6d 69 6d 65 74 79 70 | ype).............mtype.=.mimetyp |
62620 | 65 73 2e 67 75 65 73 73 5f 74 79 70 65 28 22 66 74 70 3a 22 20 2b 20 75 72 6c 29 5b 30 5d 0a 20 | es.guess_type("ftp:".+.url)[0].. |
62640 | 20 20 20 20 20 20 20 20 20 20 20 68 65 61 64 65 72 73 20 3d 20 22 22 0a 20 20 20 20 20 20 20 20 | ...........headers.=.""......... |
62660 | 20 20 20 20 69 66 20 6d 74 79 70 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 68 65 | ....if.mtype:.................he |
62680 | 61 64 65 72 73 20 2b 3d 20 22 43 6f 6e 74 65 6e 74 2d 54 79 70 65 3a 20 25 73 5c 6e 22 20 25 20 | aders.+=."Content-Type:.%s\n".%. |
626a0 | 6d 74 79 70 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 72 65 74 72 6c 65 6e 20 69 73 20 | mtype.............if.retrlen.is. |
626c0 | 6e 6f 74 20 4e 6f 6e 65 20 61 6e 64 20 72 65 74 72 6c 65 6e 20 3e 3d 20 30 3a 0a 20 20 20 20 20 | not.None.and.retrlen.>=.0:...... |
626e0 | 20 20 20 20 20 20 20 20 20 20 20 68 65 61 64 65 72 73 20 2b 3d 20 22 43 6f 6e 74 65 6e 74 2d 4c | ...........headers.+=."Content-L |
62700 | 65 6e 67 74 68 3a 20 25 64 5c 6e 22 20 25 20 72 65 74 72 6c 65 6e 0a 20 20 20 20 20 20 20 20 20 | ength:.%d\n".%.retrlen.......... |
62720 | 20 20 20 68 65 61 64 65 72 73 20 3d 20 65 6d 61 69 6c 2e 6d 65 73 73 61 67 65 5f 66 72 6f 6d 5f | ...headers.=.email.message_from_ |
62740 | 73 74 72 69 6e 67 28 68 65 61 64 65 72 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 | string(headers).............retu |
62760 | 72 6e 20 61 64 64 69 6e 66 6f 75 72 6c 28 66 70 2c 20 68 65 61 64 65 72 73 2c 20 22 66 74 70 3a | rn.addinfourl(fp,.headers,."ftp: |
62780 | 22 20 2b 20 75 72 6c 29 0a 20 20 20 20 20 20 20 20 65 78 63 65 70 74 20 66 74 70 65 72 72 6f 72 | ".+.url).........except.ftperror |
627a0 | 73 28 29 20 61 73 20 65 78 70 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 55 52 | s().as.exp:.............raise.UR |
627c0 | 4c 45 72 72 6f 72 28 27 66 74 70 20 65 72 72 6f 72 20 25 72 27 20 25 20 65 78 70 29 2e 77 69 74 | LError('ftp.error.%r'.%.exp).wit |
627e0 | 68 5f 74 72 61 63 65 62 61 63 6b 28 73 79 73 2e 65 78 63 5f 69 6e 66 6f 28 29 5b 32 5d 29 0a 0a | h_traceback(sys.exc_info()[2]).. |
62800 | 20 20 20 20 64 65 66 20 6f 70 65 6e 5f 64 61 74 61 28 73 65 6c 66 2c 20 75 72 6c 2c 20 64 61 74 | ....def.open_data(self,.url,.dat |
62820 | 61 3d 4e 6f 6e 65 29 3a 0a 20 20 20 20 20 20 20 20 22 22 22 55 73 65 20 22 64 61 74 61 22 20 55 | a=None):........."""Use."data".U |
62840 | 52 4c 2e 22 22 22 0a 20 20 20 20 20 20 20 20 69 66 20 6e 6f 74 20 69 73 69 6e 73 74 61 6e 63 65 | RL.""".........if.not.isinstance |
62860 | 28 75 72 6c 2c 20 73 74 72 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 55 52 | (url,.str):.............raise.UR |
62880 | 4c 45 72 72 6f 72 28 27 64 61 74 61 20 65 72 72 6f 72 3a 20 70 72 6f 78 79 20 73 75 70 70 6f 72 | LError('data.error:.proxy.suppor |
628a0 | 74 20 66 6f 72 20 64 61 74 61 20 70 72 6f 74 6f 63 6f 6c 20 63 75 72 72 65 6e 74 6c 79 20 6e 6f | t.for.data.protocol.currently.no |
628c0 | 74 20 69 6d 70 6c 65 6d 65 6e 74 65 64 27 29 0a 20 20 20 20 20 20 20 20 23 20 69 67 6e 6f 72 65 | t.implemented').........#.ignore |
628e0 | 20 50 4f 53 54 65 64 20 64 61 74 61 0a 20 20 20 20 20 20 20 20 23 0a 20 20 20 20 20 20 20 20 23 | .POSTed.data.........#.........# |
62900 | 20 73 79 6e 74 61 78 20 6f 66 20 64 61 74 61 20 55 52 4c 73 3a 0a 20 20 20 20 20 20 20 20 23 20 | .syntax.of.data.URLs:.........#. |
62920 | 64 61 74 61 75 72 6c 20 20 20 3a 3d 20 22 64 61 74 61 3a 22 20 5b 20 6d 65 64 69 61 74 79 70 65 | dataurl...:=."data:".[.mediatype |
62940 | 20 5d 20 5b 20 22 3b 62 61 73 65 36 34 22 20 5d 20 22 2c 22 20 64 61 74 61 0a 20 20 20 20 20 20 | .].[.";base64".].",".data....... |
62960 | 20 20 23 20 6d 65 64 69 61 74 79 70 65 20 3a 3d 20 5b 20 74 79 70 65 20 22 2f 22 20 73 75 62 74 | ..#.mediatype.:=.[.type."/".subt |
62980 | 79 70 65 20 5d 20 2a 28 20 22 3b 22 20 70 61 72 61 6d 65 74 65 72 20 29 0a 20 20 20 20 20 20 20 | ype.].*(.";".parameter.)........ |
629a0 | 20 23 20 64 61 74 61 20 20 20 20 20 20 3a 3d 20 2a 75 72 6c 63 68 61 72 0a 20 20 20 20 20 20 20 | .#.data......:=.*urlchar........ |
629c0 | 20 23 20 70 61 72 61 6d 65 74 65 72 20 3a 3d 20 61 74 74 72 69 62 75 74 65 20 22 3d 22 20 76 61 | .#.parameter.:=.attribute."=".va |
629e0 | 6c 75 65 0a 20 20 20 20 20 20 20 20 74 72 79 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 5b 74 79 | lue.........try:.............[ty |
62a00 | 70 65 2c 20 64 61 74 61 5d 20 3d 20 75 72 6c 2e 73 70 6c 69 74 28 27 2c 27 2c 20 31 29 0a 20 20 | pe,.data].=.url.split(',',.1)... |
62a20 | 20 20 20 20 20 20 65 78 63 65 70 74 20 56 61 6c 75 65 45 72 72 6f 72 3a 0a 20 20 20 20 20 20 20 | ......except.ValueError:........ |
62a40 | 20 20 20 20 20 72 61 69 73 65 20 4f 53 45 72 72 6f 72 28 27 64 61 74 61 20 65 72 72 6f 72 27 2c | .....raise.OSError('data.error', |
62a60 | 20 27 62 61 64 20 64 61 74 61 20 55 52 4c 27 29 0a 20 20 20 20 20 20 20 20 69 66 20 6e 6f 74 20 | .'bad.data.URL').........if.not. |
62a80 | 74 79 70 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 79 70 65 20 3d 20 27 74 65 78 74 2f 70 | type:.............type.=.'text/p |
62aa0 | 6c 61 69 6e 3b 63 68 61 72 73 65 74 3d 55 53 2d 41 53 43 49 49 27 0a 20 20 20 20 20 20 20 20 73 | lain;charset=US-ASCII'.........s |
62ac0 | 65 6d 69 20 3d 20 74 79 70 65 2e 72 66 69 6e 64 28 27 3b 27 29 0a 20 20 20 20 20 20 20 20 69 66 | emi.=.type.rfind(';').........if |
62ae0 | 20 73 65 6d 69 20 3e 3d 20 30 20 61 6e 64 20 27 3d 27 20 6e 6f 74 20 69 6e 20 74 79 70 65 5b 73 | .semi.>=.0.and.'='.not.in.type[s |
62b00 | 65 6d 69 3a 5d 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6e 63 6f 64 69 6e 67 20 3d 20 74 79 | emi:]:.............encoding.=.ty |
62b20 | 70 65 5b 73 65 6d 69 2b 31 3a 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 79 70 65 20 3d 20 74 | pe[semi+1:].............type.=.t |
62b40 | 79 70 65 5b 3a 73 65 6d 69 5d 0a 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 | ype[:semi].........else:........ |
62b60 | 20 20 20 20 20 65 6e 63 6f 64 69 6e 67 20 3d 20 27 27 0a 20 20 20 20 20 20 20 20 6d 73 67 20 3d | .....encoding.=.''.........msg.= |
62b80 | 20 5b 5d 0a 20 20 20 20 20 20 20 20 6d 73 67 2e 61 70 70 65 6e 64 28 27 44 61 74 65 3a 20 25 73 | .[].........msg.append('Date:.%s |
62ba0 | 27 25 74 69 6d 65 2e 73 74 72 66 74 69 6d 65 28 27 25 61 2c 20 25 64 20 25 62 20 25 59 20 25 48 | '%time.strftime('%a,.%d.%b.%Y.%H |
62bc0 | 3a 25 4d 3a 25 53 20 47 4d 54 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | :%M:%S.GMT',.................... |
62be0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 69 6d 65 2e 67 6d | .........................time.gm |
62c00 | 74 69 6d 65 28 74 69 6d 65 2e 74 69 6d 65 28 29 29 29 29 0a 20 20 20 20 20 20 20 20 6d 73 67 2e | time(time.time()))).........msg. |
62c20 | 61 70 70 65 6e 64 28 27 43 6f 6e 74 65 6e 74 2d 74 79 70 65 3a 20 25 73 27 20 25 20 74 79 70 65 | append('Content-type:.%s'.%.type |
62c40 | 29 0a 20 20 20 20 20 20 20 20 69 66 20 65 6e 63 6f 64 69 6e 67 20 3d 3d 20 27 62 61 73 65 36 34 | ).........if.encoding.==.'base64 |
62c60 | 27 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 23 20 58 58 58 20 69 73 20 74 68 69 73 20 65 6e 63 | ':.............#.XXX.is.this.enc |
62c80 | 6f 64 69 6e 67 2f 64 65 63 6f 64 69 6e 67 20 6f 6b 3f 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 | oding/decoding.ok?.............d |
62ca0 | 61 74 61 20 3d 20 62 61 73 65 36 34 2e 64 65 63 6f 64 65 62 79 74 65 73 28 64 61 74 61 2e 65 6e | ata.=.base64.decodebytes(data.en |
62cc0 | 63 6f 64 65 28 27 61 73 63 69 69 27 29 29 2e 64 65 63 6f 64 65 28 27 6c 61 74 69 6e 2d 31 27 29 | code('ascii')).decode('latin-1') |
62ce0 | 0a 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 61 74 61 20 | .........else:.............data. |
62d00 | 3d 20 75 6e 71 75 6f 74 65 28 64 61 74 61 29 0a 20 20 20 20 20 20 20 20 6d 73 67 2e 61 70 70 65 | =.unquote(data).........msg.appe |
62d20 | 6e 64 28 27 43 6f 6e 74 65 6e 74 2d 4c 65 6e 67 74 68 3a 20 25 64 27 20 25 20 6c 65 6e 28 64 61 | nd('Content-Length:.%d'.%.len(da |
62d40 | 74 61 29 29 0a 20 20 20 20 20 20 20 20 6d 73 67 2e 61 70 70 65 6e 64 28 27 27 29 0a 20 20 20 20 | ta)).........msg.append('')..... |
62d60 | 20 20 20 20 6d 73 67 2e 61 70 70 65 6e 64 28 64 61 74 61 29 0a 20 20 20 20 20 20 20 20 6d 73 67 | ....msg.append(data).........msg |
62d80 | 20 3d 20 27 5c 6e 27 2e 6a 6f 69 6e 28 6d 73 67 29 0a 20 20 20 20 20 20 20 20 68 65 61 64 65 72 | .=.'\n'.join(msg).........header |
62da0 | 73 20 3d 20 65 6d 61 69 6c 2e 6d 65 73 73 61 67 65 5f 66 72 6f 6d 5f 73 74 72 69 6e 67 28 6d 73 | s.=.email.message_from_string(ms |
62dc0 | 67 29 0a 20 20 20 20 20 20 20 20 66 20 3d 20 69 6f 2e 53 74 72 69 6e 67 49 4f 28 6d 73 67 29 0a | g).........f.=.io.StringIO(msg). |
62de0 | 20 20 20 20 20 20 20 20 23 66 2e 66 69 6c 65 6e 6f 20 3d 20 4e 6f 6e 65 20 20 20 20 20 23 20 6e | ........#f.fileno.=.None.....#.n |
62e00 | 65 65 64 65 64 20 66 6f 72 20 61 64 64 69 6e 66 6f 75 72 6c 0a 20 20 20 20 20 20 20 20 72 65 74 | eeded.for.addinfourl.........ret |
62e20 | 75 72 6e 20 61 64 64 69 6e 66 6f 75 72 6c 28 66 2c 20 68 65 61 64 65 72 73 2c 20 75 72 6c 29 0a | urn.addinfourl(f,.headers,.url). |
62e40 | 0a 0a 63 6c 61 73 73 20 46 61 6e 63 79 55 52 4c 6f 70 65 6e 65 72 28 55 52 4c 6f 70 65 6e 65 72 | ..class.FancyURLopener(URLopener |
62e60 | 29 3a 0a 20 20 20 20 22 22 22 44 65 72 69 76 65 64 20 63 6c 61 73 73 20 77 69 74 68 20 68 61 6e | ):....."""Derived.class.with.han |
62e80 | 64 6c 65 72 73 20 66 6f 72 20 65 72 72 6f 72 73 20 77 65 20 63 61 6e 20 68 61 6e 64 6c 65 20 28 | dlers.for.errors.we.can.handle.( |
62ea0 | 70 65 72 68 61 70 73 29 2e 22 22 22 0a 0a 20 20 20 20 64 65 66 20 5f 5f 69 6e 69 74 5f 5f 28 73 | perhaps)."""......def.__init__(s |
62ec0 | 65 6c 66 2c 20 2a 61 72 67 73 2c 20 2a 2a 6b 77 61 72 67 73 29 3a 0a 20 20 20 20 20 20 20 20 55 | elf,.*args,.**kwargs):.........U |
62ee0 | 52 4c 6f 70 65 6e 65 72 2e 5f 5f 69 6e 69 74 5f 5f 28 73 65 6c 66 2c 20 2a 61 72 67 73 2c 20 2a | RLopener.__init__(self,.*args,.* |
62f00 | 2a 6b 77 61 72 67 73 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 75 74 68 5f 63 61 63 68 65 | *kwargs).........self.auth_cache |
62f20 | 20 3d 20 7b 7d 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 74 72 69 65 73 20 3d 20 30 0a 20 20 20 | .=.{}.........self.tries.=.0.... |
62f40 | 20 20 20 20 20 73 65 6c 66 2e 6d 61 78 74 72 69 65 73 20 3d 20 31 30 0a 0a 20 20 20 20 64 65 66 | .....self.maxtries.=.10......def |
62f60 | 20 68 74 74 70 5f 65 72 72 6f 72 5f 64 65 66 61 75 6c 74 28 73 65 6c 66 2c 20 75 72 6c 2c 20 66 | .http_error_default(self,.url,.f |
62f80 | 70 2c 20 65 72 72 63 6f 64 65 2c 20 65 72 72 6d 73 67 2c 20 68 65 61 64 65 72 73 29 3a 0a 20 20 | p,.errcode,.errmsg,.headers):... |
62fa0 | 20 20 20 20 20 20 22 22 22 44 65 66 61 75 6c 74 20 65 72 72 6f 72 20 68 61 6e 64 6c 69 6e 67 20 | ......"""Default.error.handling. |
62fc0 | 2d 2d 20 64 6f 6e 27 74 20 72 61 69 73 65 20 61 6e 20 65 78 63 65 70 74 69 6f 6e 2e 22 22 22 0a | --.don't.raise.an.exception.""". |
62fe0 | 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 61 64 64 69 6e 66 6f 75 72 6c 28 66 70 2c 20 68 65 | ........return.addinfourl(fp,.he |
63000 | 61 64 65 72 73 2c 20 22 68 74 74 70 3a 22 20 2b 20 75 72 6c 2c 20 65 72 72 63 6f 64 65 29 0a 0a | aders,."http:".+.url,.errcode).. |
63020 | 20 20 20 20 64 65 66 20 68 74 74 70 5f 65 72 72 6f 72 5f 33 30 32 28 73 65 6c 66 2c 20 75 72 6c | ....def.http_error_302(self,.url |
63040 | 2c 20 66 70 2c 20 65 72 72 63 6f 64 65 2c 20 65 72 72 6d 73 67 2c 20 68 65 61 64 65 72 73 2c 20 | ,.fp,.errcode,.errmsg,.headers,. |
63060 | 64 61 74 61 3d 4e 6f 6e 65 29 3a 0a 20 20 20 20 20 20 20 20 22 22 22 45 72 72 6f 72 20 33 30 32 | data=None):........."""Error.302 |
63080 | 20 2d 2d 20 72 65 6c 6f 63 61 74 65 64 20 28 74 65 6d 70 6f 72 61 72 69 6c 79 29 2e 22 22 22 0a | .--.relocated.(temporarily).""". |
630a0 | 20 20 20 20 20 20 20 20 73 65 6c 66 2e 74 72 69 65 73 20 2b 3d 20 31 0a 20 20 20 20 20 20 20 20 | ........self.tries.+=.1......... |
630c0 | 74 72 79 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 73 65 6c 66 2e 6d 61 78 74 72 69 65 | try:.............if.self.maxtrie |
630e0 | 73 20 61 6e 64 20 73 65 6c 66 2e 74 72 69 65 73 20 3e 3d 20 73 65 6c 66 2e 6d 61 78 74 72 69 65 | s.and.self.tries.>=.self.maxtrie |
63100 | 73 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 68 61 73 61 74 74 72 28 73 65 | s:.................if.hasattr(se |
63120 | 6c 66 2c 20 22 68 74 74 70 5f 65 72 72 6f 72 5f 35 30 30 22 29 3a 0a 20 20 20 20 20 20 20 20 20 | lf,."http_error_500"):.......... |
63140 | 20 20 20 20 20 20 20 20 20 20 20 6d 65 74 68 20 3d 20 73 65 6c 66 2e 68 74 74 70 5f 65 72 72 6f | ...........meth.=.self.http_erro |
63160 | 72 5f 35 30 30 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 | r_500.................else:..... |
63180 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 65 74 68 20 3d 20 73 65 6c 66 2e 68 74 74 70 | ................meth.=.self.http |
631a0 | 5f 65 72 72 6f 72 5f 64 65 66 61 75 6c 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 | _error_default.................r |
631c0 | 65 74 75 72 6e 20 6d 65 74 68 28 75 72 6c 2c 20 66 70 2c 20 35 30 30 2c 0a 20 20 20 20 20 20 20 | eturn.meth(url,.fp,.500,........ |
631e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 49 6e 74 65 72 6e 61 6c 20 53 | ....................."Internal.S |
63200 | 65 72 76 65 72 20 45 72 72 6f 72 3a 20 52 65 64 69 72 65 63 74 20 52 65 63 75 72 73 69 6f 6e 22 | erver.Error:.Redirect.Recursion" |
63220 | 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 68 65 | ,.............................he |
63240 | 61 64 65 72 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 73 75 6c 74 20 3d 20 73 65 6c 66 | aders).............result.=.self |
63260 | 2e 72 65 64 69 72 65 63 74 5f 69 6e 74 65 72 6e 61 6c 28 75 72 6c 2c 20 66 70 2c 20 65 72 72 63 | .redirect_internal(url,.fp,.errc |
63280 | 6f 64 65 2c 20 65 72 72 6d 73 67 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ode,.errmsg,.................... |
632a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 68 65 61 64 65 72 73 | .........................headers |
632c0 | 2c 20 64 61 74 61 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 72 65 73 75 6c | ,.data).............return.resul |
632e0 | 74 0a 20 20 20 20 20 20 20 20 66 69 6e 61 6c 6c 79 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 | t.........finally:.............s |
63300 | 65 6c 66 2e 74 72 69 65 73 20 3d 20 30 0a 0a 20 20 20 20 64 65 66 20 72 65 64 69 72 65 63 74 5f | elf.tries.=.0......def.redirect_ |
63320 | 69 6e 74 65 72 6e 61 6c 28 73 65 6c 66 2c 20 75 72 6c 2c 20 66 70 2c 20 65 72 72 63 6f 64 65 2c | internal(self,.url,.fp,.errcode, |
63340 | 20 65 72 72 6d 73 67 2c 20 68 65 61 64 65 72 73 2c 20 64 61 74 61 29 3a 0a 20 20 20 20 20 20 20 | .errmsg,.headers,.data):........ |
63360 | 20 69 66 20 27 6c 6f 63 61 74 69 6f 6e 27 20 69 6e 20 68 65 61 64 65 72 73 3a 0a 20 20 20 20 20 | .if.'location'.in.headers:...... |
63380 | 20 20 20 20 20 20 20 6e 65 77 75 72 6c 20 3d 20 68 65 61 64 65 72 73 5b 27 6c 6f 63 61 74 69 6f | .......newurl.=.headers['locatio |
633a0 | 6e 27 5d 0a 20 20 20 20 20 20 20 20 65 6c 69 66 20 27 75 72 69 27 20 69 6e 20 68 65 61 64 65 72 | n'].........elif.'uri'.in.header |
633c0 | 73 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 77 75 72 6c 20 3d 20 68 65 61 64 65 72 73 5b | s:.............newurl.=.headers[ |
633e0 | 27 75 72 69 27 5d 0a 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 | 'uri'].........else:............ |
63400 | 20 72 65 74 75 72 6e 0a 20 20 20 20 20 20 20 20 66 70 2e 63 6c 6f 73 65 28 29 0a 0a 20 20 20 20 | .return.........fp.close()...... |
63420 | 20 20 20 20 23 20 49 6e 20 63 61 73 65 20 74 68 65 20 73 65 72 76 65 72 20 73 65 6e 74 20 61 20 | ....#.In.case.the.server.sent.a. |
63440 | 72 65 6c 61 74 69 76 65 20 55 52 4c 2c 20 6a 6f 69 6e 20 77 69 74 68 20 6f 72 69 67 69 6e 61 6c | relative.URL,.join.with.original |
63460 | 3a 0a 20 20 20 20 20 20 20 20 6e 65 77 75 72 6c 20 3d 20 75 72 6c 6a 6f 69 6e 28 73 65 6c 66 2e | :.........newurl.=.urljoin(self. |
63480 | 74 79 70 65 20 2b 20 22 3a 22 20 2b 20 75 72 6c 2c 20 6e 65 77 75 72 6c 29 0a 0a 20 20 20 20 20 | type.+.":".+.url,.newurl)....... |
634a0 | 20 20 20 75 72 6c 70 61 72 74 73 20 3d 20 75 72 6c 70 61 72 73 65 28 6e 65 77 75 72 6c 29 0a 0a | ...urlparts.=.urlparse(newurl).. |
634c0 | 20 20 20 20 20 20 20 20 23 20 46 6f 72 20 73 65 63 75 72 69 74 79 20 72 65 61 73 6f 6e 73 2c 20 | ........#.For.security.reasons,. |
634e0 | 77 65 20 64 6f 6e 27 74 20 61 6c 6c 6f 77 20 72 65 64 69 72 65 63 74 69 6f 6e 20 74 6f 20 61 6e | we.don't.allow.redirection.to.an |
63500 | 79 74 68 69 6e 67 20 6f 74 68 65 72 0a 20 20 20 20 20 20 20 20 23 20 74 68 61 6e 20 68 74 74 70 | ything.other.........#.than.http |
63520 | 2c 20 68 74 74 70 73 20 61 6e 64 20 66 74 70 2e 0a 0a 20 20 20 20 20 20 20 20 23 20 57 65 20 61 | ,.https.and.ftp...........#.We.a |
63540 | 72 65 20 75 73 69 6e 67 20 6e 65 77 65 72 20 48 54 54 50 45 72 72 6f 72 20 77 69 74 68 20 6f 6c | re.using.newer.HTTPError.with.ol |
63560 | 64 65 72 20 72 65 64 69 72 65 63 74 5f 69 6e 74 65 72 6e 61 6c 20 6d 65 74 68 6f 64 0a 20 20 20 | der.redirect_internal.method.... |
63580 | 20 20 20 20 20 23 20 54 68 69 73 20 6f 6c 64 65 72 20 6d 65 74 68 6f 64 20 77 69 6c 6c 20 67 65 | .....#.This.older.method.will.ge |
635a0 | 74 20 64 65 70 72 65 63 61 74 65 64 20 69 6e 20 33 2e 33 0a 0a 20 20 20 20 20 20 20 20 69 66 20 | t.deprecated.in.3.3..........if. |
635c0 | 75 72 6c 70 61 72 74 73 2e 73 63 68 65 6d 65 20 6e 6f 74 20 69 6e 20 28 27 68 74 74 70 27 2c 20 | urlparts.scheme.not.in.('http',. |
635e0 | 27 68 74 74 70 73 27 2c 20 27 66 74 70 27 2c 20 27 27 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 | 'https',.'ftp',.''):............ |
63600 | 20 72 61 69 73 65 20 48 54 54 50 45 72 72 6f 72 28 6e 65 77 75 72 6c 2c 20 65 72 72 63 6f 64 65 | .raise.HTTPError(newurl,.errcode |
63620 | 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 72 | ,.............................er |
63640 | 72 6d 73 67 20 2b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | rmsg.+.......................... |
63660 | 20 20 20 22 20 52 65 64 69 72 65 63 74 69 6f 6e 20 74 6f 20 75 72 6c 20 27 25 73 27 20 69 73 20 | ...".Redirection.to.url.'%s'.is. |
63680 | 6e 6f 74 20 61 6c 6c 6f 77 65 64 2e 22 20 25 20 6e 65 77 75 72 6c 2c 0a 20 20 20 20 20 20 20 20 | not.allowed.".%.newurl,......... |
636a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 68 65 61 64 65 72 73 2c 20 66 70 29 | ....................headers,.fp) |
636c0 | 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 2e 6f 70 65 6e 28 6e 65 77 75 72 | ..........return.self.open(newur |
636e0 | 6c 29 0a 0a 20 20 20 20 64 65 66 20 68 74 74 70 5f 65 72 72 6f 72 5f 33 30 31 28 73 65 6c 66 2c | l)......def.http_error_301(self, |
63700 | 20 75 72 6c 2c 20 66 70 2c 20 65 72 72 63 6f 64 65 2c 20 65 72 72 6d 73 67 2c 20 68 65 61 64 65 | .url,.fp,.errcode,.errmsg,.heade |
63720 | 72 73 2c 20 64 61 74 61 3d 4e 6f 6e 65 29 3a 0a 20 20 20 20 20 20 20 20 22 22 22 45 72 72 6f 72 | rs,.data=None):........."""Error |
63740 | 20 33 30 31 20 2d 2d 20 61 6c 73 6f 20 72 65 6c 6f 63 61 74 65 64 20 28 70 65 72 6d 61 6e 65 6e | .301.--.also.relocated.(permanen |
63760 | 74 6c 79 29 2e 22 22 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 2e 68 74 74 | tly).""".........return.self.htt |
63780 | 70 5f 65 72 72 6f 72 5f 33 30 32 28 75 72 6c 2c 20 66 70 2c 20 65 72 72 63 6f 64 65 2c 20 65 72 | p_error_302(url,.fp,.errcode,.er |
637a0 | 72 6d 73 67 2c 20 68 65 61 64 65 72 73 2c 20 64 61 74 61 29 0a 0a 20 20 20 20 64 65 66 20 68 74 | rmsg,.headers,.data)......def.ht |
637c0 | 74 70 5f 65 72 72 6f 72 5f 33 30 33 28 73 65 6c 66 2c 20 75 72 6c 2c 20 66 70 2c 20 65 72 72 63 | tp_error_303(self,.url,.fp,.errc |
637e0 | 6f 64 65 2c 20 65 72 72 6d 73 67 2c 20 68 65 61 64 65 72 73 2c 20 64 61 74 61 3d 4e 6f 6e 65 29 | ode,.errmsg,.headers,.data=None) |
63800 | 3a 0a 20 20 20 20 20 20 20 20 22 22 22 45 72 72 6f 72 20 33 30 33 20 2d 2d 20 61 6c 73 6f 20 72 | :........."""Error.303.--.also.r |
63820 | 65 6c 6f 63 61 74 65 64 20 28 65 73 73 65 6e 74 69 61 6c 6c 79 20 69 64 65 6e 74 69 63 61 6c 20 | elocated.(essentially.identical. |
63840 | 74 6f 20 33 30 32 29 2e 22 22 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 2e | to.302).""".........return.self. |
63860 | 68 74 74 70 5f 65 72 72 6f 72 5f 33 30 32 28 75 72 6c 2c 20 66 70 2c 20 65 72 72 63 6f 64 65 2c | http_error_302(url,.fp,.errcode, |
63880 | 20 65 72 72 6d 73 67 2c 20 68 65 61 64 65 72 73 2c 20 64 61 74 61 29 0a 0a 20 20 20 20 64 65 66 | .errmsg,.headers,.data)......def |
638a0 | 20 68 74 74 70 5f 65 72 72 6f 72 5f 33 30 37 28 73 65 6c 66 2c 20 75 72 6c 2c 20 66 70 2c 20 65 | .http_error_307(self,.url,.fp,.e |
638c0 | 72 72 63 6f 64 65 2c 20 65 72 72 6d 73 67 2c 20 68 65 61 64 65 72 73 2c 20 64 61 74 61 3d 4e 6f | rrcode,.errmsg,.headers,.data=No |
638e0 | 6e 65 29 3a 0a 20 20 20 20 20 20 20 20 22 22 22 45 72 72 6f 72 20 33 30 37 20 2d 2d 20 72 65 6c | ne):........."""Error.307.--.rel |
63900 | 6f 63 61 74 65 64 2c 20 62 75 74 20 74 75 72 6e 20 50 4f 53 54 20 69 6e 74 6f 20 65 72 72 6f 72 | ocated,.but.turn.POST.into.error |
63920 | 2e 22 22 22 0a 20 20 20 20 20 20 20 20 69 66 20 64 61 74 61 20 69 73 20 4e 6f 6e 65 3a 0a 20 20 | .""".........if.data.is.None:... |
63940 | 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 2e 68 74 74 70 5f 65 72 72 6f 72 | ..........return.self.http_error |
63960 | 5f 33 30 32 28 75 72 6c 2c 20 66 70 2c 20 65 72 72 63 6f 64 65 2c 20 65 72 72 6d 73 67 2c 20 68 | _302(url,.fp,.errcode,.errmsg,.h |
63980 | 65 61 64 65 72 73 2c 20 64 61 74 61 29 0a 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 | eaders,.data).........else:..... |
639a0 | 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 2e 68 74 74 70 5f 65 72 72 6f 72 5f 64 | ........return.self.http_error_d |
639c0 | 65 66 61 75 6c 74 28 75 72 6c 2c 20 66 70 2c 20 65 72 72 63 6f 64 65 2c 20 65 72 72 6d 73 67 2c | efault(url,.fp,.errcode,.errmsg, |
639e0 | 20 68 65 61 64 65 72 73 29 0a 0a 20 20 20 20 64 65 66 20 68 74 74 70 5f 65 72 72 6f 72 5f 34 30 | .headers)......def.http_error_40 |
63a00 | 31 28 73 65 6c 66 2c 20 75 72 6c 2c 20 66 70 2c 20 65 72 72 63 6f 64 65 2c 20 65 72 72 6d 73 67 | 1(self,.url,.fp,.errcode,.errmsg |
63a20 | 2c 20 68 65 61 64 65 72 73 2c 20 64 61 74 61 3d 4e 6f 6e 65 2c 0a 20 20 20 20 20 20 20 20 20 20 | ,.headers,.data=None,........... |
63a40 | 20 20 72 65 74 72 79 3d 46 61 6c 73 65 29 3a 0a 20 20 20 20 20 20 20 20 22 22 22 45 72 72 6f 72 | ..retry=False):........."""Error |
63a60 | 20 34 30 31 20 2d 2d 20 61 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 20 72 65 71 75 69 72 65 64 2e | .401.--.authentication.required. |
63a80 | 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 73 75 70 70 6f 72 74 73 20 | .........This.function.supports. |
63aa0 | 42 61 73 69 63 20 61 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 20 6f 6e 6c 79 2e 22 22 22 0a 20 20 | Basic.authentication.only."""... |
63ac0 | 20 20 20 20 20 20 69 66 20 27 77 77 77 2d 61 75 74 68 65 6e 74 69 63 61 74 65 27 20 6e 6f 74 20 | ......if.'www-authenticate'.not. |
63ae0 | 69 6e 20 68 65 61 64 65 72 73 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 55 52 4c 6f 70 65 6e 65 | in.headers:.............URLopene |
63b00 | 72 2e 68 74 74 70 5f 65 72 72 6f 72 5f 64 65 66 61 75 6c 74 28 73 65 6c 66 2c 20 75 72 6c 2c 20 | r.http_error_default(self,.url,. |
63b20 | 66 70 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | fp,............................. |
63b40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 65 72 72 63 6f 64 65 2c 20 65 72 72 6d 73 67 2c 20 68 65 | .............errcode,.errmsg,.he |
63b60 | 61 64 65 72 73 29 0a 20 20 20 20 20 20 20 20 73 74 75 66 66 20 3d 20 68 65 61 64 65 72 73 5b 27 | aders).........stuff.=.headers[' |
63b80 | 77 77 77 2d 61 75 74 68 65 6e 74 69 63 61 74 65 27 5d 0a 20 20 20 20 20 20 20 20 6d 61 74 63 68 | www-authenticate'].........match |
63ba0 | 20 3d 20 72 65 2e 6d 61 74 63 68 28 27 5b 20 5c 74 5d 2a 28 5b 5e 20 5c 74 5d 2b 29 5b 20 5c 74 | .=.re.match('[.\t]*([^.\t]+)[.\t |
63bc0 | 5d 2b 72 65 61 6c 6d 3d 22 28 5b 5e 22 5d 2a 29 22 27 2c 20 73 74 75 66 66 29 0a 20 20 20 20 20 | ]+realm="([^"]*)"',.stuff)...... |
63be0 | 20 20 20 69 66 20 6e 6f 74 20 6d 61 74 63 68 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 55 52 4c | ...if.not.match:.............URL |
63c00 | 6f 70 65 6e 65 72 2e 68 74 74 70 5f 65 72 72 6f 72 5f 64 65 66 61 75 6c 74 28 73 65 6c 66 2c 20 | opener.http_error_default(self,. |
63c20 | 75 72 6c 2c 20 66 70 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | url,.fp,........................ |
63c40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 72 72 63 6f 64 65 2c 20 65 72 72 6d 73 | ..................errcode,.errms |
63c60 | 67 2c 20 68 65 61 64 65 72 73 29 0a 20 20 20 20 20 20 20 20 73 63 68 65 6d 65 2c 20 72 65 61 6c | g,.headers).........scheme,.real |
63c80 | 6d 20 3d 20 6d 61 74 63 68 2e 67 72 6f 75 70 73 28 29 0a 20 20 20 20 20 20 20 20 69 66 20 73 63 | m.=.match.groups().........if.sc |
63ca0 | 68 65 6d 65 2e 6c 6f 77 65 72 28 29 20 21 3d 20 27 62 61 73 69 63 27 3a 0a 20 20 20 20 20 20 20 | heme.lower().!=.'basic':........ |
63cc0 | 20 20 20 20 20 55 52 4c 6f 70 65 6e 65 72 2e 68 74 74 70 5f 65 72 72 6f 72 5f 64 65 66 61 75 6c | .....URLopener.http_error_defaul |
63ce0 | 74 28 73 65 6c 66 2c 20 75 72 6c 2c 20 66 70 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | t(self,.url,.fp,................ |
63d00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 72 72 63 6f 64 | ..........................errcod |
63d20 | 65 2c 20 65 72 72 6d 73 67 2c 20 68 65 61 64 65 72 73 29 0a 20 20 20 20 20 20 20 20 69 66 20 6e | e,.errmsg,.headers).........if.n |
63d40 | 6f 74 20 72 65 74 72 79 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 55 52 4c 6f 70 65 6e 65 72 2e | ot.retry:.............URLopener. |
63d60 | 68 74 74 70 5f 65 72 72 6f 72 5f 64 65 66 61 75 6c 74 28 73 65 6c 66 2c 20 75 72 6c 2c 20 66 70 | http_error_default(self,.url,.fp |
63d80 | 2c 20 65 72 72 63 6f 64 65 2c 20 65 72 72 6d 73 67 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | ,.errcode,.errmsg,.............. |
63da0 | 20 20 20 20 20 20 20 68 65 61 64 65 72 73 29 0a 20 20 20 20 20 20 20 20 6e 61 6d 65 20 3d 20 27 | .......headers).........name.=.' |
63dc0 | 72 65 74 72 79 5f 27 20 2b 20 73 65 6c 66 2e 74 79 70 65 20 2b 20 27 5f 62 61 73 69 63 5f 61 75 | retry_'.+.self.type.+.'_basic_au |
63de0 | 74 68 27 0a 20 20 20 20 20 20 20 20 69 66 20 64 61 74 61 20 69 73 20 4e 6f 6e 65 3a 0a 20 20 20 | th'.........if.data.is.None:.... |
63e00 | 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 67 65 74 61 74 74 72 28 73 65 6c 66 2c 6e 61 6d | .........return.getattr(self,nam |
63e20 | 65 29 28 75 72 6c 2c 20 72 65 61 6c 6d 29 0a 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 | e)(url,.realm).........else:.... |
63e40 | 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 67 65 74 61 74 74 72 28 73 65 6c 66 2c 6e 61 6d | .........return.getattr(self,nam |
63e60 | 65 29 28 75 72 6c 2c 20 72 65 61 6c 6d 2c 20 64 61 74 61 29 0a 0a 20 20 20 20 64 65 66 20 68 74 | e)(url,.realm,.data)......def.ht |
63e80 | 74 70 5f 65 72 72 6f 72 5f 34 30 37 28 73 65 6c 66 2c 20 75 72 6c 2c 20 66 70 2c 20 65 72 72 63 | tp_error_407(self,.url,.fp,.errc |
63ea0 | 6f 64 65 2c 20 65 72 72 6d 73 67 2c 20 68 65 61 64 65 72 73 2c 20 64 61 74 61 3d 4e 6f 6e 65 2c | ode,.errmsg,.headers,.data=None, |
63ec0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 72 79 3d 46 61 6c 73 65 29 3a 0a 20 20 20 20 20 | .............retry=False):...... |
63ee0 | 20 20 20 22 22 22 45 72 72 6f 72 20 34 30 37 20 2d 2d 20 70 72 6f 78 79 20 61 75 74 68 65 6e 74 | ..."""Error.407.--.proxy.authent |
63f00 | 69 63 61 74 69 6f 6e 20 72 65 71 75 69 72 65 64 2e 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 | ication.required..........This.f |
63f20 | 75 6e 63 74 69 6f 6e 20 73 75 70 70 6f 72 74 73 20 42 61 73 69 63 20 61 75 74 68 65 6e 74 69 63 | unction.supports.Basic.authentic |
63f40 | 61 74 69 6f 6e 20 6f 6e 6c 79 2e 22 22 22 0a 20 20 20 20 20 20 20 20 69 66 20 27 70 72 6f 78 79 | ation.only.""".........if.'proxy |
63f60 | 2d 61 75 74 68 65 6e 74 69 63 61 74 65 27 20 6e 6f 74 20 69 6e 20 68 65 61 64 65 72 73 3a 0a 20 | -authenticate'.not.in.headers:.. |
63f80 | 20 20 20 20 20 20 20 20 20 20 20 55 52 4c 6f 70 65 6e 65 72 2e 68 74 74 70 5f 65 72 72 6f 72 5f | ...........URLopener.http_error_ |
63fa0 | 64 65 66 61 75 6c 74 28 73 65 6c 66 2c 20 75 72 6c 2c 20 66 70 2c 0a 20 20 20 20 20 20 20 20 20 | default(self,.url,.fp,.......... |
63fc0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
63fe0 | 65 72 72 63 6f 64 65 2c 20 65 72 72 6d 73 67 2c 20 68 65 61 64 65 72 73 29 0a 20 20 20 20 20 20 | errcode,.errmsg,.headers)....... |
64000 | 20 20 73 74 75 66 66 20 3d 20 68 65 61 64 65 72 73 5b 27 70 72 6f 78 79 2d 61 75 74 68 65 6e 74 | ..stuff.=.headers['proxy-authent |
64020 | 69 63 61 74 65 27 5d 0a 20 20 20 20 20 20 20 20 6d 61 74 63 68 20 3d 20 72 65 2e 6d 61 74 63 68 | icate'].........match.=.re.match |
64040 | 28 27 5b 20 5c 74 5d 2a 28 5b 5e 20 5c 74 5d 2b 29 5b 20 5c 74 5d 2b 72 65 61 6c 6d 3d 22 28 5b | ('[.\t]*([^.\t]+)[.\t]+realm="([ |
64060 | 5e 22 5d 2a 29 22 27 2c 20 73 74 75 66 66 29 0a 20 20 20 20 20 20 20 20 69 66 20 6e 6f 74 20 6d | ^"]*)"',.stuff).........if.not.m |
64080 | 61 74 63 68 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 55 52 4c 6f 70 65 6e 65 72 2e 68 74 74 70 | atch:.............URLopener.http |
640a0 | 5f 65 72 72 6f 72 5f 64 65 66 61 75 6c 74 28 73 65 6c 66 2c 20 75 72 6c 2c 20 66 70 2c 0a 20 20 | _error_default(self,.url,.fp,... |
640c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
640e0 | 20 20 20 20 20 20 20 65 72 72 63 6f 64 65 2c 20 65 72 72 6d 73 67 2c 20 68 65 61 64 65 72 73 29 | .......errcode,.errmsg,.headers) |
64100 | 0a 20 20 20 20 20 20 20 20 73 63 68 65 6d 65 2c 20 72 65 61 6c 6d 20 3d 20 6d 61 74 63 68 2e 67 | .........scheme,.realm.=.match.g |
64120 | 72 6f 75 70 73 28 29 0a 20 20 20 20 20 20 20 20 69 66 20 73 63 68 65 6d 65 2e 6c 6f 77 65 72 28 | roups().........if.scheme.lower( |
64140 | 29 20 21 3d 20 27 62 61 73 69 63 27 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 55 52 4c 6f 70 65 | ).!=.'basic':.............URLope |
64160 | 6e 65 72 2e 68 74 74 70 5f 65 72 72 6f 72 5f 64 65 66 61 75 6c 74 28 73 65 6c 66 2c 20 75 72 6c | ner.http_error_default(self,.url |
64180 | 2c 20 66 70 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ,.fp,........................... |
641a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 72 72 63 6f 64 65 2c 20 65 72 72 6d 73 67 2c 20 | ...............errcode,.errmsg,. |
641c0 | 68 65 61 64 65 72 73 29 0a 20 20 20 20 20 20 20 20 69 66 20 6e 6f 74 20 72 65 74 72 79 3a 0a 20 | headers).........if.not.retry:.. |
641e0 | 20 20 20 20 20 20 20 20 20 20 20 55 52 4c 6f 70 65 6e 65 72 2e 68 74 74 70 5f 65 72 72 6f 72 5f | ...........URLopener.http_error_ |
64200 | 64 65 66 61 75 6c 74 28 73 65 6c 66 2c 20 75 72 6c 2c 20 66 70 2c 20 65 72 72 63 6f 64 65 2c 20 | default(self,.url,.fp,.errcode,. |
64220 | 65 72 72 6d 73 67 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 68 65 61 64 | errmsg,.....................head |
64240 | 65 72 73 29 0a 20 20 20 20 20 20 20 20 6e 61 6d 65 20 3d 20 27 72 65 74 72 79 5f 70 72 6f 78 79 | ers).........name.=.'retry_proxy |
64260 | 5f 27 20 2b 20 73 65 6c 66 2e 74 79 70 65 20 2b 20 27 5f 62 61 73 69 63 5f 61 75 74 68 27 0a 20 | _'.+.self.type.+.'_basic_auth'.. |
64280 | 20 20 20 20 20 20 20 69 66 20 64 61 74 61 20 69 73 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 | .......if.data.is.None:......... |
642a0 | 20 20 20 20 72 65 74 75 72 6e 20 67 65 74 61 74 74 72 28 73 65 6c 66 2c 6e 61 6d 65 29 28 75 72 | ....return.getattr(self,name)(ur |
642c0 | 6c 2c 20 72 65 61 6c 6d 29 0a 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 | l,.realm).........else:......... |
642e0 | 20 20 20 20 72 65 74 75 72 6e 20 67 65 74 61 74 74 72 28 73 65 6c 66 2c 6e 61 6d 65 29 28 75 72 | ....return.getattr(self,name)(ur |
64300 | 6c 2c 20 72 65 61 6c 6d 2c 20 64 61 74 61 29 0a 0a 20 20 20 20 64 65 66 20 72 65 74 72 79 5f 70 | l,.realm,.data)......def.retry_p |
64320 | 72 6f 78 79 5f 68 74 74 70 5f 62 61 73 69 63 5f 61 75 74 68 28 73 65 6c 66 2c 20 75 72 6c 2c 20 | roxy_http_basic_auth(self,.url,. |
64340 | 72 65 61 6c 6d 2c 20 64 61 74 61 3d 4e 6f 6e 65 29 3a 0a 20 20 20 20 20 20 20 20 68 6f 73 74 2c | realm,.data=None):.........host, |
64360 | 20 73 65 6c 65 63 74 6f 72 20 3d 20 73 70 6c 69 74 68 6f 73 74 28 75 72 6c 29 0a 20 20 20 20 20 | .selector.=.splithost(url)...... |
64380 | 20 20 20 6e 65 77 75 72 6c 20 3d 20 27 68 74 74 70 3a 2f 2f 27 20 2b 20 68 6f 73 74 20 2b 20 73 | ...newurl.=.'http://'.+.host.+.s |
643a0 | 65 6c 65 63 74 6f 72 0a 20 20 20 20 20 20 20 20 70 72 6f 78 79 20 3d 20 73 65 6c 66 2e 70 72 6f | elector.........proxy.=.self.pro |
643c0 | 78 69 65 73 5b 27 68 74 74 70 27 5d 0a 20 20 20 20 20 20 20 20 75 72 6c 74 79 70 65 2c 20 70 72 | xies['http'].........urltype,.pr |
643e0 | 6f 78 79 68 6f 73 74 20 3d 20 73 70 6c 69 74 74 79 70 65 28 70 72 6f 78 79 29 0a 20 20 20 20 20 | oxyhost.=.splittype(proxy)...... |
64400 | 20 20 20 70 72 6f 78 79 68 6f 73 74 2c 20 70 72 6f 78 79 73 65 6c 65 63 74 6f 72 20 3d 20 73 70 | ...proxyhost,.proxyselector.=.sp |
64420 | 6c 69 74 68 6f 73 74 28 70 72 6f 78 79 68 6f 73 74 29 0a 20 20 20 20 20 20 20 20 69 20 3d 20 70 | lithost(proxyhost).........i.=.p |
64440 | 72 6f 78 79 68 6f 73 74 2e 66 69 6e 64 28 27 40 27 29 20 2b 20 31 0a 20 20 20 20 20 20 20 20 70 | roxyhost.find('@').+.1.........p |
64460 | 72 6f 78 79 68 6f 73 74 20 3d 20 70 72 6f 78 79 68 6f 73 74 5b 69 3a 5d 0a 20 20 20 20 20 20 20 | roxyhost.=.proxyhost[i:]........ |
64480 | 20 75 73 65 72 2c 20 70 61 73 73 77 64 20 3d 20 73 65 6c 66 2e 67 65 74 5f 75 73 65 72 5f 70 61 | .user,.passwd.=.self.get_user_pa |
644a0 | 73 73 77 64 28 70 72 6f 78 79 68 6f 73 74 2c 20 72 65 61 6c 6d 2c 20 69 29 0a 20 20 20 20 20 20 | sswd(proxyhost,.realm,.i)....... |
644c0 | 20 20 69 66 20 6e 6f 74 20 28 75 73 65 72 20 6f 72 20 70 61 73 73 77 64 29 3a 20 72 65 74 75 72 | ..if.not.(user.or.passwd):.retur |
644e0 | 6e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 70 72 6f 78 79 68 6f 73 74 20 3d 20 22 25 73 3a 25 | n.None.........proxyhost.=."%s:% |
64500 | 73 40 25 73 22 20 25 20 28 71 75 6f 74 65 28 75 73 65 72 2c 20 73 61 66 65 3d 27 27 29 2c 0a 20 | s@%s".%.(quote(user,.safe=''),.. |
64520 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
64540 | 20 71 75 6f 74 65 28 70 61 73 73 77 64 2c 20 73 61 66 65 3d 27 27 29 2c 20 70 72 6f 78 79 68 6f | .quote(passwd,.safe=''),.proxyho |
64560 | 73 74 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 70 72 6f 78 69 65 73 5b 27 68 74 74 70 27 5d | st).........self.proxies['http'] |
64580 | 20 3d 20 27 68 74 74 70 3a 2f 2f 27 20 2b 20 70 72 6f 78 79 68 6f 73 74 20 2b 20 70 72 6f 78 79 | .=.'http://'.+.proxyhost.+.proxy |
645a0 | 73 65 6c 65 63 74 6f 72 0a 20 20 20 20 20 20 20 20 69 66 20 64 61 74 61 20 69 73 20 4e 6f 6e 65 | selector.........if.data.is.None |
645c0 | 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 2e 6f 70 65 6e 28 6e | :.............return.self.open(n |
645e0 | 65 77 75 72 6c 29 0a 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 | ewurl).........else:............ |
64600 | 20 72 65 74 75 72 6e 20 73 65 6c 66 2e 6f 70 65 6e 28 6e 65 77 75 72 6c 2c 20 64 61 74 61 29 0a | .return.self.open(newurl,.data). |
64620 | 0a 20 20 20 20 64 65 66 20 72 65 74 72 79 5f 70 72 6f 78 79 5f 68 74 74 70 73 5f 62 61 73 69 63 | .....def.retry_proxy_https_basic |
64640 | 5f 61 75 74 68 28 73 65 6c 66 2c 20 75 72 6c 2c 20 72 65 61 6c 6d 2c 20 64 61 74 61 3d 4e 6f 6e | _auth(self,.url,.realm,.data=Non |
64660 | 65 29 3a 0a 20 20 20 20 20 20 20 20 68 6f 73 74 2c 20 73 65 6c 65 63 74 6f 72 20 3d 20 73 70 6c | e):.........host,.selector.=.spl |
64680 | 69 74 68 6f 73 74 28 75 72 6c 29 0a 20 20 20 20 20 20 20 20 6e 65 77 75 72 6c 20 3d 20 27 68 74 | ithost(url).........newurl.=.'ht |
646a0 | 74 70 73 3a 2f 2f 27 20 2b 20 68 6f 73 74 20 2b 20 73 65 6c 65 63 74 6f 72 0a 20 20 20 20 20 20 | tps://'.+.host.+.selector....... |
646c0 | 20 20 70 72 6f 78 79 20 3d 20 73 65 6c 66 2e 70 72 6f 78 69 65 73 5b 27 68 74 74 70 73 27 5d 0a | ..proxy.=.self.proxies['https']. |
646e0 | 20 20 20 20 20 20 20 20 75 72 6c 74 79 70 65 2c 20 70 72 6f 78 79 68 6f 73 74 20 3d 20 73 70 6c | ........urltype,.proxyhost.=.spl |
64700 | 69 74 74 79 70 65 28 70 72 6f 78 79 29 0a 20 20 20 20 20 20 20 20 70 72 6f 78 79 68 6f 73 74 2c | ittype(proxy).........proxyhost, |
64720 | 20 70 72 6f 78 79 73 65 6c 65 63 74 6f 72 20 3d 20 73 70 6c 69 74 68 6f 73 74 28 70 72 6f 78 79 | .proxyselector.=.splithost(proxy |
64740 | 68 6f 73 74 29 0a 20 20 20 20 20 20 20 20 69 20 3d 20 70 72 6f 78 79 68 6f 73 74 2e 66 69 6e 64 | host).........i.=.proxyhost.find |
64760 | 28 27 40 27 29 20 2b 20 31 0a 20 20 20 20 20 20 20 20 70 72 6f 78 79 68 6f 73 74 20 3d 20 70 72 | ('@').+.1.........proxyhost.=.pr |
64780 | 6f 78 79 68 6f 73 74 5b 69 3a 5d 0a 20 20 20 20 20 20 20 20 75 73 65 72 2c 20 70 61 73 73 77 64 | oxyhost[i:].........user,.passwd |
647a0 | 20 3d 20 73 65 6c 66 2e 67 65 74 5f 75 73 65 72 5f 70 61 73 73 77 64 28 70 72 6f 78 79 68 6f 73 | .=.self.get_user_passwd(proxyhos |
647c0 | 74 2c 20 72 65 61 6c 6d 2c 20 69 29 0a 20 20 20 20 20 20 20 20 69 66 20 6e 6f 74 20 28 75 73 65 | t,.realm,.i).........if.not.(use |
647e0 | 72 20 6f 72 20 70 61 73 73 77 64 29 3a 20 72 65 74 75 72 6e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 | r.or.passwd):.return.None....... |
64800 | 20 20 70 72 6f 78 79 68 6f 73 74 20 3d 20 22 25 73 3a 25 73 40 25 73 22 20 25 20 28 71 75 6f 74 | ..proxyhost.=."%s:%s@%s".%.(quot |
64820 | 65 28 75 73 65 72 2c 20 73 61 66 65 3d 27 27 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | e(user,.safe=''),............... |
64840 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 71 75 6f 74 65 28 70 61 73 73 77 64 | ....................quote(passwd |
64860 | 2c 20 73 61 66 65 3d 27 27 29 2c 20 70 72 6f 78 79 68 6f 73 74 29 0a 20 20 20 20 20 20 20 20 73 | ,.safe=''),.proxyhost).........s |
64880 | 65 6c 66 2e 70 72 6f 78 69 65 73 5b 27 68 74 74 70 73 27 5d 20 3d 20 27 68 74 74 70 73 3a 2f 2f | elf.proxies['https'].=.'https:// |
648a0 | 27 20 2b 20 70 72 6f 78 79 68 6f 73 74 20 2b 20 70 72 6f 78 79 73 65 6c 65 63 74 6f 72 0a 20 20 | '.+.proxyhost.+.proxyselector... |
648c0 | 20 20 20 20 20 20 69 66 20 64 61 74 61 20 69 73 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 | ......if.data.is.None:.......... |
648e0 | 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 2e 6f 70 65 6e 28 6e 65 77 75 72 6c 29 0a 20 20 20 20 | ...return.self.open(newurl)..... |
64900 | 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c | ....else:.............return.sel |
64920 | 66 2e 6f 70 65 6e 28 6e 65 77 75 72 6c 2c 20 64 61 74 61 29 0a 0a 20 20 20 20 64 65 66 20 72 65 | f.open(newurl,.data)......def.re |
64940 | 74 72 79 5f 68 74 74 70 5f 62 61 73 69 63 5f 61 75 74 68 28 73 65 6c 66 2c 20 75 72 6c 2c 20 72 | try_http_basic_auth(self,.url,.r |
64960 | 65 61 6c 6d 2c 20 64 61 74 61 3d 4e 6f 6e 65 29 3a 0a 20 20 20 20 20 20 20 20 68 6f 73 74 2c 20 | ealm,.data=None):.........host,. |
64980 | 73 65 6c 65 63 74 6f 72 20 3d 20 73 70 6c 69 74 68 6f 73 74 28 75 72 6c 29 0a 20 20 20 20 20 20 | selector.=.splithost(url)....... |
649a0 | 20 20 69 20 3d 20 68 6f 73 74 2e 66 69 6e 64 28 27 40 27 29 20 2b 20 31 0a 20 20 20 20 20 20 20 | ..i.=.host.find('@').+.1........ |
649c0 | 20 68 6f 73 74 20 3d 20 68 6f 73 74 5b 69 3a 5d 0a 20 20 20 20 20 20 20 20 75 73 65 72 2c 20 70 | .host.=.host[i:].........user,.p |
649e0 | 61 73 73 77 64 20 3d 20 73 65 6c 66 2e 67 65 74 5f 75 73 65 72 5f 70 61 73 73 77 64 28 68 6f 73 | asswd.=.self.get_user_passwd(hos |
64a00 | 74 2c 20 72 65 61 6c 6d 2c 20 69 29 0a 20 20 20 20 20 20 20 20 69 66 20 6e 6f 74 20 28 75 73 65 | t,.realm,.i).........if.not.(use |
64a20 | 72 20 6f 72 20 70 61 73 73 77 64 29 3a 20 72 65 74 75 72 6e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 | r.or.passwd):.return.None....... |
64a40 | 20 20 68 6f 73 74 20 3d 20 22 25 73 3a 25 73 40 25 73 22 20 25 20 28 71 75 6f 74 65 28 75 73 65 | ..host.=."%s:%s@%s".%.(quote(use |
64a60 | 72 2c 20 73 61 66 65 3d 27 27 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | r,.safe=''),.................... |
64a80 | 20 20 20 20 20 20 20 20 20 20 71 75 6f 74 65 28 70 61 73 73 77 64 2c 20 73 61 66 65 3d 27 27 29 | ..........quote(passwd,.safe='') |
64aa0 | 2c 20 68 6f 73 74 29 0a 20 20 20 20 20 20 20 20 6e 65 77 75 72 6c 20 3d 20 27 68 74 74 70 3a 2f | ,.host).........newurl.=.'http:/ |
64ac0 | 2f 27 20 2b 20 68 6f 73 74 20 2b 20 73 65 6c 65 63 74 6f 72 0a 20 20 20 20 20 20 20 20 69 66 20 | /'.+.host.+.selector.........if. |
64ae0 | 64 61 74 61 20 69 73 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e | data.is.None:.............return |
64b00 | 20 73 65 6c 66 2e 6f 70 65 6e 28 6e 65 77 75 72 6c 29 0a 20 20 20 20 20 20 20 20 65 6c 73 65 3a | .self.open(newurl).........else: |
64b20 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 2e 6f 70 65 6e 28 6e 65 | .............return.self.open(ne |
64b40 | 77 75 72 6c 2c 20 64 61 74 61 29 0a 0a 20 20 20 20 64 65 66 20 72 65 74 72 79 5f 68 74 74 70 73 | wurl,.data)......def.retry_https |
64b60 | 5f 62 61 73 69 63 5f 61 75 74 68 28 73 65 6c 66 2c 20 75 72 6c 2c 20 72 65 61 6c 6d 2c 20 64 61 | _basic_auth(self,.url,.realm,.da |
64b80 | 74 61 3d 4e 6f 6e 65 29 3a 0a 20 20 20 20 20 20 20 20 68 6f 73 74 2c 20 73 65 6c 65 63 74 6f 72 | ta=None):.........host,.selector |
64ba0 | 20 3d 20 73 70 6c 69 74 68 6f 73 74 28 75 72 6c 29 0a 20 20 20 20 20 20 20 20 69 20 3d 20 68 6f | .=.splithost(url).........i.=.ho |
64bc0 | 73 74 2e 66 69 6e 64 28 27 40 27 29 20 2b 20 31 0a 20 20 20 20 20 20 20 20 68 6f 73 74 20 3d 20 | st.find('@').+.1.........host.=. |
64be0 | 68 6f 73 74 5b 69 3a 5d 0a 20 20 20 20 20 20 20 20 75 73 65 72 2c 20 70 61 73 73 77 64 20 3d 20 | host[i:].........user,.passwd.=. |
64c00 | 73 65 6c 66 2e 67 65 74 5f 75 73 65 72 5f 70 61 73 73 77 64 28 68 6f 73 74 2c 20 72 65 61 6c 6d | self.get_user_passwd(host,.realm |
64c20 | 2c 20 69 29 0a 20 20 20 20 20 20 20 20 69 66 20 6e 6f 74 20 28 75 73 65 72 20 6f 72 20 70 61 73 | ,.i).........if.not.(user.or.pas |
64c40 | 73 77 64 29 3a 20 72 65 74 75 72 6e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 68 6f 73 74 20 3d | swd):.return.None.........host.= |
64c60 | 20 22 25 73 3a 25 73 40 25 73 22 20 25 20 28 71 75 6f 74 65 28 75 73 65 72 2c 20 73 61 66 65 3d | ."%s:%s@%s".%.(quote(user,.safe= |
64c80 | 27 27 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ''),............................ |
64ca0 | 20 20 71 75 6f 74 65 28 70 61 73 73 77 64 2c 20 73 61 66 65 3d 27 27 29 2c 20 68 6f 73 74 29 0a | ..quote(passwd,.safe=''),.host). |
64cc0 | 20 20 20 20 20 20 20 20 6e 65 77 75 72 6c 20 3d 20 27 68 74 74 70 73 3a 2f 2f 27 20 2b 20 68 6f | ........newurl.=.'https://'.+.ho |
64ce0 | 73 74 20 2b 20 73 65 6c 65 63 74 6f 72 0a 20 20 20 20 20 20 20 20 69 66 20 64 61 74 61 20 69 73 | st.+.selector.........if.data.is |
64d00 | 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 2e 6f | .None:.............return.self.o |
64d20 | 70 65 6e 28 6e 65 77 75 72 6c 29 0a 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 | pen(newurl).........else:....... |
64d40 | 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 2e 6f 70 65 6e 28 6e 65 77 75 72 6c 2c 20 64 | ......return.self.open(newurl,.d |
64d60 | 61 74 61 29 0a 0a 20 20 20 20 64 65 66 20 67 65 74 5f 75 73 65 72 5f 70 61 73 73 77 64 28 73 65 | ata)......def.get_user_passwd(se |
64d80 | 6c 66 2c 20 68 6f 73 74 2c 20 72 65 61 6c 6d 2c 20 63 6c 65 61 72 5f 63 61 63 68 65 3d 30 29 3a | lf,.host,.realm,.clear_cache=0): |
64da0 | 0a 20 20 20 20 20 20 20 20 6b 65 79 20 3d 20 72 65 61 6c 6d 20 2b 20 27 40 27 20 2b 20 68 6f 73 | .........key.=.realm.+.'@'.+.hos |
64dc0 | 74 2e 6c 6f 77 65 72 28 29 0a 20 20 20 20 20 20 20 20 69 66 20 6b 65 79 20 69 6e 20 73 65 6c 66 | t.lower().........if.key.in.self |
64de0 | 2e 61 75 74 68 5f 63 61 63 68 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 63 6c 65 61 | .auth_cache:.............if.clea |
64e00 | 72 5f 63 61 63 68 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65 6c 20 73 65 6c | r_cache:.................del.sel |
64e20 | 66 2e 61 75 74 68 5f 63 61 63 68 65 5b 6b 65 79 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6c | f.auth_cache[key].............el |
64e40 | 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 2e | se:.................return.self. |
64e60 | 61 75 74 68 5f 63 61 63 68 65 5b 6b 65 79 5d 0a 20 20 20 20 20 20 20 20 75 73 65 72 2c 20 70 61 | auth_cache[key].........user,.pa |
64e80 | 73 73 77 64 20 3d 20 73 65 6c 66 2e 70 72 6f 6d 70 74 5f 75 73 65 72 5f 70 61 73 73 77 64 28 68 | sswd.=.self.prompt_user_passwd(h |
64ea0 | 6f 73 74 2c 20 72 65 61 6c 6d 29 0a 20 20 20 20 20 20 20 20 69 66 20 75 73 65 72 20 6f 72 20 70 | ost,.realm).........if.user.or.p |
64ec0 | 61 73 73 77 64 3a 20 73 65 6c 66 2e 61 75 74 68 5f 63 61 63 68 65 5b 6b 65 79 5d 20 3d 20 28 75 | asswd:.self.auth_cache[key].=.(u |
64ee0 | 73 65 72 2c 20 70 61 73 73 77 64 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 75 73 65 72 | ser,.passwd).........return.user |
64f00 | 2c 20 70 61 73 73 77 64 0a 0a 20 20 20 20 64 65 66 20 70 72 6f 6d 70 74 5f 75 73 65 72 5f 70 61 | ,.passwd......def.prompt_user_pa |
64f20 | 73 73 77 64 28 73 65 6c 66 2c 20 68 6f 73 74 2c 20 72 65 61 6c 6d 29 3a 0a 20 20 20 20 20 20 20 | sswd(self,.host,.realm):........ |
64f40 | 20 22 22 22 4f 76 65 72 72 69 64 65 20 74 68 69 73 20 69 6e 20 61 20 47 55 49 20 65 6e 76 69 72 | ."""Override.this.in.a.GUI.envir |
64f60 | 6f 6e 6d 65 6e 74 21 22 22 22 0a 20 20 20 20 20 20 20 20 69 6d 70 6f 72 74 20 67 65 74 70 61 73 | onment!""".........import.getpas |
64f80 | 73 0a 20 20 20 20 20 20 20 20 74 72 79 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 75 73 65 72 20 | s.........try:.............user. |
64fa0 | 3d 20 69 6e 70 75 74 28 22 45 6e 74 65 72 20 75 73 65 72 6e 61 6d 65 20 66 6f 72 20 25 73 20 61 | =.input("Enter.username.for.%s.a |
64fc0 | 74 20 25 73 3a 20 22 20 25 20 28 72 65 61 6c 6d 2c 20 68 6f 73 74 29 29 0a 20 20 20 20 20 20 20 | t.%s:.".%.(realm,.host))........ |
64fe0 | 20 20 20 20 20 70 61 73 73 77 64 20 3d 20 67 65 74 70 61 73 73 2e 67 65 74 70 61 73 73 28 22 45 | .....passwd.=.getpass.getpass("E |
65000 | 6e 74 65 72 20 70 61 73 73 77 6f 72 64 20 66 6f 72 20 25 73 20 69 6e 20 25 73 20 61 74 20 25 73 | nter.password.for.%s.in.%s.at.%s |
65020 | 3a 20 22 20 25 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 73 65 72 2c 20 72 65 61 | :.".%.................(user,.rea |
65040 | 6c 6d 2c 20 68 6f 73 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 75 73 | lm,.host)).............return.us |
65060 | 65 72 2c 20 70 61 73 73 77 64 0a 20 20 20 20 20 20 20 20 65 78 63 65 70 74 20 4b 65 79 62 6f 61 | er,.passwd.........except.Keyboa |
65080 | 72 64 49 6e 74 65 72 72 75 70 74 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 72 69 6e 74 28 29 | rdInterrupt:.............print() |
650a0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 4e 6f 6e 65 2c 20 4e 6f 6e 65 0a 0a | .............return.None,.None.. |
650c0 | 0a 23 20 55 74 69 6c 69 74 79 20 66 75 6e 63 74 69 6f 6e 73 0a 0a 5f 6c 6f 63 61 6c 68 6f 73 74 | .#.Utility.functions.._localhost |
650e0 | 20 3d 20 4e 6f 6e 65 0a 64 65 66 20 6c 6f 63 61 6c 68 6f 73 74 28 29 3a 0a 20 20 20 20 22 22 22 | .=.None.def.localhost():.....""" |
65100 | 52 65 74 75 72 6e 20 74 68 65 20 49 50 20 61 64 64 72 65 73 73 20 6f 66 20 74 68 65 20 6d 61 67 | Return.the.IP.address.of.the.mag |
65120 | 69 63 20 68 6f 73 74 6e 61 6d 65 20 27 6c 6f 63 61 6c 68 6f 73 74 27 2e 22 22 22 0a 20 20 20 20 | ic.hostname.'localhost'."""..... |
65140 | 67 6c 6f 62 61 6c 20 5f 6c 6f 63 61 6c 68 6f 73 74 0a 20 20 20 20 69 66 20 5f 6c 6f 63 61 6c 68 | global._localhost.....if._localh |
65160 | 6f 73 74 20 69 73 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 5f 6c 6f 63 61 6c 68 6f 73 74 20 | ost.is.None:........._localhost. |
65180 | 3d 20 73 6f 63 6b 65 74 2e 67 65 74 68 6f 73 74 62 79 6e 61 6d 65 28 27 6c 6f 63 61 6c 68 6f 73 | =.socket.gethostbyname('localhos |
651a0 | 74 27 29 0a 20 20 20 20 72 65 74 75 72 6e 20 5f 6c 6f 63 61 6c 68 6f 73 74 0a 0a 5f 74 68 69 73 | t').....return._localhost.._this |
651c0 | 68 6f 73 74 20 3d 20 4e 6f 6e 65 0a 64 65 66 20 74 68 69 73 68 6f 73 74 28 29 3a 0a 20 20 20 20 | host.=.None.def.thishost():..... |
651e0 | 22 22 22 52 65 74 75 72 6e 20 74 68 65 20 49 50 20 61 64 64 72 65 73 73 65 73 20 6f 66 20 74 68 | """Return.the.IP.addresses.of.th |
65200 | 65 20 63 75 72 72 65 6e 74 20 68 6f 73 74 2e 22 22 22 0a 20 20 20 20 67 6c 6f 62 61 6c 20 5f 74 | e.current.host.""".....global._t |
65220 | 68 69 73 68 6f 73 74 0a 20 20 20 20 69 66 20 5f 74 68 69 73 68 6f 73 74 20 69 73 20 4e 6f 6e 65 | hishost.....if._thishost.is.None |
65240 | 3a 0a 20 20 20 20 20 20 20 20 74 72 79 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 5f 74 68 69 73 | :.........try:............._this |
65260 | 68 6f 73 74 20 3d 20 74 75 70 6c 65 28 73 6f 63 6b 65 74 2e 67 65 74 68 6f 73 74 62 79 6e 61 6d | host.=.tuple(socket.gethostbynam |
65280 | 65 5f 65 78 28 73 6f 63 6b 65 74 2e 67 65 74 68 6f 73 74 6e 61 6d 65 28 29 29 5b 32 5d 29 0a 20 | e_ex(socket.gethostname())[2]).. |
652a0 | 20 20 20 20 20 20 20 65 78 63 65 70 74 20 73 6f 63 6b 65 74 2e 67 61 69 65 72 72 6f 72 3a 0a 20 | .......except.socket.gaierror:.. |
652c0 | 20 20 20 20 20 20 20 20 20 20 20 5f 74 68 69 73 68 6f 73 74 20 3d 20 74 75 70 6c 65 28 73 6f 63 | ..........._thishost.=.tuple(soc |
652e0 | 6b 65 74 2e 67 65 74 68 6f 73 74 62 79 6e 61 6d 65 5f 65 78 28 27 6c 6f 63 61 6c 68 6f 73 74 27 | ket.gethostbyname_ex('localhost' |
65300 | 29 5b 32 5d 29 0a 20 20 20 20 72 65 74 75 72 6e 20 5f 74 68 69 73 68 6f 73 74 0a 0a 5f 66 74 70 | )[2]).....return._thishost.._ftp |
65320 | 65 72 72 6f 72 73 20 3d 20 4e 6f 6e 65 0a 64 65 66 20 66 74 70 65 72 72 6f 72 73 28 29 3a 0a 20 | errors.=.None.def.ftperrors():.. |
65340 | 20 20 20 22 22 22 52 65 74 75 72 6e 20 74 68 65 20 73 65 74 20 6f 66 20 65 72 72 6f 72 73 20 72 | ..."""Return.the.set.of.errors.r |
65360 | 61 69 73 65 64 20 62 79 20 74 68 65 20 46 54 50 20 63 6c 61 73 73 2e 22 22 22 0a 20 20 20 20 67 | aised.by.the.FTP.class.""".....g |
65380 | 6c 6f 62 61 6c 20 5f 66 74 70 65 72 72 6f 72 73 0a 20 20 20 20 69 66 20 5f 66 74 70 65 72 72 6f | lobal._ftperrors.....if._ftperro |
653a0 | 72 73 20 69 73 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 69 6d 70 6f 72 74 20 66 74 70 6c 69 | rs.is.None:.........import.ftpli |
653c0 | 62 0a 20 20 20 20 20 20 20 20 5f 66 74 70 65 72 72 6f 72 73 20 3d 20 66 74 70 6c 69 62 2e 61 6c | b........._ftperrors.=.ftplib.al |
653e0 | 6c 5f 65 72 72 6f 72 73 0a 20 20 20 20 72 65 74 75 72 6e 20 5f 66 74 70 65 72 72 6f 72 73 0a 0a | l_errors.....return._ftperrors.. |
65400 | 5f 6e 6f 68 65 61 64 65 72 73 20 3d 20 4e 6f 6e 65 0a 64 65 66 20 6e 6f 68 65 61 64 65 72 73 28 | _noheaders.=.None.def.noheaders( |
65420 | 29 3a 0a 20 20 20 20 22 22 22 52 65 74 75 72 6e 20 61 6e 20 65 6d 70 74 79 20 65 6d 61 69 6c 20 | ):....."""Return.an.empty.email. |
65440 | 4d 65 73 73 61 67 65 20 6f 62 6a 65 63 74 2e 22 22 22 0a 20 20 20 20 67 6c 6f 62 61 6c 20 5f 6e | Message.object.""".....global._n |
65460 | 6f 68 65 61 64 65 72 73 0a 20 20 20 20 69 66 20 5f 6e 6f 68 65 61 64 65 72 73 20 69 73 20 4e 6f | oheaders.....if._noheaders.is.No |
65480 | 6e 65 3a 0a 20 20 20 20 20 20 20 20 5f 6e 6f 68 65 61 64 65 72 73 20 3d 20 65 6d 61 69 6c 2e 6d | ne:........._noheaders.=.email.m |
654a0 | 65 73 73 61 67 65 5f 66 72 6f 6d 5f 73 74 72 69 6e 67 28 22 22 29 0a 20 20 20 20 72 65 74 75 72 | essage_from_string("").....retur |
654c0 | 6e 20 5f 6e 6f 68 65 61 64 65 72 73 0a 0a 0a 23 20 55 74 69 6c 69 74 79 20 63 6c 61 73 73 65 73 | n._noheaders...#.Utility.classes |
654e0 | 0a 0a 63 6c 61 73 73 20 66 74 70 77 72 61 70 70 65 72 3a 0a 20 20 20 20 22 22 22 43 6c 61 73 73 | ..class.ftpwrapper:....."""Class |
65500 | 20 75 73 65 64 20 62 79 20 6f 70 65 6e 5f 66 74 70 28 29 20 66 6f 72 20 63 61 63 68 65 20 6f 66 | .used.by.open_ftp().for.cache.of |
65520 | 20 6f 70 65 6e 20 46 54 50 20 63 6f 6e 6e 65 63 74 69 6f 6e 73 2e 22 22 22 0a 0a 20 20 20 20 64 | .open.FTP.connections."""......d |
65540 | 65 66 20 5f 5f 69 6e 69 74 5f 5f 28 73 65 6c 66 2c 20 75 73 65 72 2c 20 70 61 73 73 77 64 2c 20 | ef.__init__(self,.user,.passwd,. |
65560 | 68 6f 73 74 2c 20 70 6f 72 74 2c 20 64 69 72 73 2c 20 74 69 6d 65 6f 75 74 3d 4e 6f 6e 65 2c 0a | host,.port,.dirs,.timeout=None,. |
65580 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 65 72 73 69 73 74 65 6e 74 3d 54 72 75 65 | .................persistent=True |
655a0 | 29 3a 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 75 73 65 72 20 3d 20 75 73 65 72 0a 20 20 20 20 | ):.........self.user.=.user..... |
655c0 | 20 20 20 20 73 65 6c 66 2e 70 61 73 73 77 64 20 3d 20 70 61 73 73 77 64 0a 20 20 20 20 20 20 20 | ....self.passwd.=.passwd........ |
655e0 | 20 73 65 6c 66 2e 68 6f 73 74 20 3d 20 68 6f 73 74 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 70 | .self.host.=.host.........self.p |
65600 | 6f 72 74 20 3d 20 70 6f 72 74 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 64 69 72 73 20 3d 20 64 | ort.=.port.........self.dirs.=.d |
65620 | 69 72 73 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 74 69 6d 65 6f 75 74 20 3d 20 74 69 6d 65 6f | irs.........self.timeout.=.timeo |
65640 | 75 74 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 72 65 66 63 6f 75 6e 74 20 3d 20 30 0a 20 20 20 | ut.........self.refcount.=.0.... |
65660 | 20 20 20 20 20 73 65 6c 66 2e 6b 65 65 70 61 6c 69 76 65 20 3d 20 70 65 72 73 69 73 74 65 6e 74 | .....self.keepalive.=.persistent |
65680 | 0a 20 20 20 20 20 20 20 20 74 72 79 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 69 | .........try:.............self.i |
656a0 | 6e 69 74 28 29 0a 20 20 20 20 20 20 20 20 65 78 63 65 70 74 3a 0a 20 20 20 20 20 20 20 20 20 20 | nit().........except:........... |
656c0 | 20 20 73 65 6c 66 2e 63 6c 6f 73 65 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 | ..self.close().............raise |
656e0 | 0a 0a 20 20 20 20 64 65 66 20 69 6e 69 74 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 69 6d | ......def.init(self):.........im |
65700 | 70 6f 72 74 20 66 74 70 6c 69 62 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 62 75 73 79 20 3d 20 | port.ftplib.........self.busy.=. |
65720 | 30 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 66 74 70 20 3d 20 66 74 70 6c 69 62 2e 46 54 50 28 | 0.........self.ftp.=.ftplib.FTP( |
65740 | 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 66 74 70 2e 63 6f 6e 6e 65 63 74 28 73 65 6c 66 2e | ).........self.ftp.connect(self. |
65760 | 68 6f 73 74 2c 20 73 65 6c 66 2e 70 6f 72 74 2c 20 73 65 6c 66 2e 74 69 6d 65 6f 75 74 29 0a 20 | host,.self.port,.self.timeout).. |
65780 | 20 20 20 20 20 20 20 73 65 6c 66 2e 66 74 70 2e 6c 6f 67 69 6e 28 73 65 6c 66 2e 75 73 65 72 2c | .......self.ftp.login(self.user, |
657a0 | 20 73 65 6c 66 2e 70 61 73 73 77 64 29 0a 20 20 20 20 20 20 20 20 5f 74 61 72 67 65 74 20 3d 20 | .self.passwd)........._target.=. |
657c0 | 27 2f 27 2e 6a 6f 69 6e 28 73 65 6c 66 2e 64 69 72 73 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 | '/'.join(self.dirs).........self |
657e0 | 2e 66 74 70 2e 63 77 64 28 5f 74 61 72 67 65 74 29 0a 0a 20 20 20 20 64 65 66 20 72 65 74 72 66 | .ftp.cwd(_target)......def.retrf |
65800 | 69 6c 65 28 73 65 6c 66 2c 20 66 69 6c 65 2c 20 74 79 70 65 29 3a 0a 20 20 20 20 20 20 20 20 69 | ile(self,.file,.type):.........i |
65820 | 6d 70 6f 72 74 20 66 74 70 6c 69 62 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 65 6e 64 74 72 61 | mport.ftplib.........self.endtra |
65840 | 6e 73 66 65 72 28 29 0a 20 20 20 20 20 20 20 20 69 66 20 74 79 70 65 20 69 6e 20 28 27 64 27 2c | nsfer().........if.type.in.('d', |
65860 | 20 27 44 27 29 3a 20 63 6d 64 20 3d 20 27 54 59 50 45 20 41 27 3b 20 69 73 64 69 72 20 3d 20 31 | .'D'):.cmd.=.'TYPE.A';.isdir.=.1 |
65880 | 0a 20 20 20 20 20 20 20 20 65 6c 73 65 3a 20 63 6d 64 20 3d 20 27 54 59 50 45 20 27 20 2b 20 74 | .........else:.cmd.=.'TYPE.'.+.t |
658a0 | 79 70 65 3b 20 69 73 64 69 72 20 3d 20 30 0a 20 20 20 20 20 20 20 20 74 72 79 3a 0a 20 20 20 20 | ype;.isdir.=.0.........try:..... |
658c0 | 20 20 20 20 20 20 20 20 73 65 6c 66 2e 66 74 70 2e 76 6f 69 64 63 6d 64 28 63 6d 64 29 0a 20 20 | ........self.ftp.voidcmd(cmd)... |
658e0 | 20 20 20 20 20 20 65 78 63 65 70 74 20 66 74 70 6c 69 62 2e 61 6c 6c 5f 65 72 72 6f 72 73 3a 0a | ......except.ftplib.all_errors:. |
65900 | 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 69 6e 69 74 28 29 0a 20 20 20 20 20 20 20 20 | ............self.init()......... |
65920 | 20 20 20 20 73 65 6c 66 2e 66 74 70 2e 76 6f 69 64 63 6d 64 28 63 6d 64 29 0a 20 20 20 20 20 20 | ....self.ftp.voidcmd(cmd)....... |
65940 | 20 20 63 6f 6e 6e 20 3d 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 69 66 20 66 69 6c 65 20 61 6e | ..conn.=.None.........if.file.an |
65960 | 64 20 6e 6f 74 20 69 73 64 69 72 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 23 20 54 72 79 20 74 | d.not.isdir:.............#.Try.t |
65980 | 6f 20 72 65 74 72 69 65 76 65 20 61 73 20 61 20 66 69 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 | o.retrieve.as.a.file............ |
659a0 | 20 74 72 79 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6d 64 20 3d 20 27 52 45 54 | .try:.................cmd.=.'RET |
659c0 | 52 20 27 20 2b 20 66 69 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 6e 2c | R.'.+.file.................conn, |
659e0 | 20 72 65 74 72 6c 65 6e 20 3d 20 73 65 6c 66 2e 66 74 70 2e 6e 74 72 61 6e 73 66 65 72 63 6d 64 | .retrlen.=.self.ftp.ntransfercmd |
65a00 | 28 63 6d 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 78 63 65 70 74 20 66 74 70 6c 69 62 2e | (cmd).............except.ftplib. |
65a20 | 65 72 72 6f 72 5f 70 65 72 6d 20 61 73 20 72 65 61 73 6f 6e 3a 0a 20 20 20 20 20 20 20 20 20 20 | error_perm.as.reason:........... |
65a40 | 20 20 20 20 20 20 69 66 20 73 74 72 28 72 65 61 73 6f 6e 29 5b 3a 33 5d 20 21 3d 20 27 35 35 30 | ......if.str(reason)[:3].!=.'550 |
65a60 | 27 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 55 52 4c | ':.....................raise.URL |
65a80 | 45 72 72 6f 72 28 27 66 74 70 20 65 72 72 6f 72 3a 20 25 72 27 20 25 20 72 65 61 73 6f 6e 29 2e | Error('ftp.error:.%r'.%.reason). |
65aa0 | 77 69 74 68 5f 74 72 61 63 65 62 61 63 6b 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | with_traceback(................. |
65ac0 | 20 20 20 20 20 20 20 20 73 79 73 2e 65 78 63 5f 69 6e 66 6f 28 29 5b 32 5d 29 0a 20 20 20 20 20 | ........sys.exc_info()[2])...... |
65ae0 | 20 20 20 69 66 20 6e 6f 74 20 63 6f 6e 6e 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 23 20 53 65 | ...if.not.conn:.............#.Se |
65b00 | 74 20 74 72 61 6e 73 66 65 72 20 6d 6f 64 65 20 74 6f 20 41 53 43 49 49 21 0a 20 20 20 20 20 20 | t.transfer.mode.to.ASCII!....... |
65b20 | 20 20 20 20 20 20 73 65 6c 66 2e 66 74 70 2e 76 6f 69 64 63 6d 64 28 27 54 59 50 45 20 41 27 29 | ......self.ftp.voidcmd('TYPE.A') |
65b40 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 23 20 54 72 79 20 61 20 64 69 72 65 63 74 6f 72 79 20 6c | .............#.Try.a.directory.l |
65b60 | 69 73 74 69 6e 67 2e 20 56 65 72 69 66 79 20 74 68 61 74 20 64 69 72 65 63 74 6f 72 79 20 65 78 | isting..Verify.that.directory.ex |
65b80 | 69 73 74 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 66 69 6c 65 3a 0a 20 20 20 20 20 | ists..............if.file:...... |
65ba0 | 20 20 20 20 20 20 20 20 20 20 20 70 77 64 20 3d 20 73 65 6c 66 2e 66 74 70 2e 70 77 64 28 29 0a | ...........pwd.=.self.ftp.pwd(). |
65bc0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 72 79 3a 0a 20 20 20 20 20 20 20 20 20 20 20 | ................try:............ |
65be0 | 20 20 20 20 20 20 20 20 20 74 72 79 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .........try:................... |
65c00 | 20 20 20 20 20 20 73 65 6c 66 2e 66 74 70 2e 63 77 64 28 66 69 6c 65 29 0a 20 20 20 20 20 20 20 | ......self.ftp.cwd(file)........ |
65c20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 65 78 63 65 70 74 20 66 74 70 6c 69 62 2e 65 72 72 6f 72 | .............except.ftplib.error |
65c40 | 5f 70 65 72 6d 20 61 73 20 72 65 61 73 6f 6e 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | _perm.as.reason:................ |
65c60 | 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 55 52 4c 45 72 72 6f 72 28 27 66 74 70 20 65 72 72 | .........raise.URLError('ftp.err |
65c80 | 6f 72 3a 20 25 72 27 20 25 20 72 65 61 73 6f 6e 29 20 66 72 6f 6d 20 72 65 61 73 6f 6e 0a 20 20 | or:.%r'.%.reason).from.reason... |
65ca0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 69 6e 61 6c 6c 79 3a 0a 20 20 20 20 20 20 20 20 20 | ..............finally:.......... |
65cc0 | 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 66 74 70 2e 63 77 64 28 70 77 64 29 0a 20 20 20 | ...........self.ftp.cwd(pwd).... |
65ce0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6d 64 20 3d 20 27 4c 49 53 54 20 27 20 2b 20 66 69 6c | .............cmd.=.'LIST.'.+.fil |
65d00 | 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 | e.............else:............. |
65d20 | 20 20 20 20 63 6d 64 20 3d 20 27 4c 49 53 54 27 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e | ....cmd.=.'LIST'.............con |
65d40 | 6e 2c 20 72 65 74 72 6c 65 6e 20 3d 20 73 65 6c 66 2e 66 74 70 2e 6e 74 72 61 6e 73 66 65 72 63 | n,.retrlen.=.self.ftp.ntransferc |
65d60 | 6d 64 28 63 6d 64 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 62 75 73 79 20 3d 20 31 0a 0a 20 | md(cmd).........self.busy.=.1... |
65d80 | 20 20 20 20 20 20 20 66 74 70 6f 62 6a 20 3d 20 61 64 64 63 6c 6f 73 65 68 6f 6f 6b 28 63 6f 6e | .......ftpobj.=.addclosehook(con |
65da0 | 6e 2e 6d 61 6b 65 66 69 6c 65 28 27 72 62 27 29 2c 20 73 65 6c 66 2e 66 69 6c 65 5f 63 6c 6f 73 | n.makefile('rb'),.self.file_clos |
65dc0 | 65 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 72 65 66 63 6f 75 6e 74 20 2b 3d 20 31 0a 20 20 | e).........self.refcount.+=.1... |
65de0 | 20 20 20 20 20 20 63 6f 6e 6e 2e 63 6c 6f 73 65 28 29 0a 20 20 20 20 20 20 20 20 23 20 50 61 73 | ......conn.close().........#.Pas |
65e00 | 73 20 62 61 63 6b 20 62 6f 74 68 20 61 20 73 75 69 74 61 62 6c 79 20 64 65 63 6f 72 61 74 65 64 | s.back.both.a.suitably.decorated |
65e20 | 20 6f 62 6a 65 63 74 20 61 6e 64 20 61 20 72 65 74 72 69 65 76 61 6c 20 6c 65 6e 67 74 68 0a 20 | .object.and.a.retrieval.length.. |
65e40 | 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 28 66 74 70 6f 62 6a 2c 20 72 65 74 72 6c 65 6e 29 0a | .......return.(ftpobj,.retrlen). |
65e60 | 0a 20 20 20 20 64 65 66 20 65 6e 64 74 72 61 6e 73 66 65 72 28 73 65 6c 66 29 3a 0a 20 20 20 20 | .....def.endtransfer(self):..... |
65e80 | 20 20 20 20 73 65 6c 66 2e 62 75 73 79 20 3d 20 30 0a 0a 20 20 20 20 64 65 66 20 63 6c 6f 73 65 | ....self.busy.=.0......def.close |
65ea0 | 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 6b 65 65 70 61 6c 69 76 65 20 3d | (self):.........self.keepalive.= |
65ec0 | 20 46 61 6c 73 65 0a 20 20 20 20 20 20 20 20 69 66 20 73 65 6c 66 2e 72 65 66 63 6f 75 6e 74 20 | .False.........if.self.refcount. |
65ee0 | 3c 3d 20 30 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 72 65 61 6c 5f 63 6c 6f 73 | <=.0:.............self.real_clos |
65f00 | 65 28 29 0a 0a 20 20 20 20 64 65 66 20 66 69 6c 65 5f 63 6c 6f 73 65 28 73 65 6c 66 29 3a 0a 20 | e()......def.file_close(self):.. |
65f20 | 20 20 20 20 20 20 20 73 65 6c 66 2e 65 6e 64 74 72 61 6e 73 66 65 72 28 29 0a 20 20 20 20 20 20 | .......self.endtransfer()....... |
65f40 | 20 20 73 65 6c 66 2e 72 65 66 63 6f 75 6e 74 20 2d 3d 20 31 0a 20 20 20 20 20 20 20 20 69 66 20 | ..self.refcount.-=.1.........if. |
65f60 | 73 65 6c 66 2e 72 65 66 63 6f 75 6e 74 20 3c 3d 20 30 20 61 6e 64 20 6e 6f 74 20 73 65 6c 66 2e | self.refcount.<=.0.and.not.self. |
65f80 | 6b 65 65 70 61 6c 69 76 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 72 65 61 6c | keepalive:.............self.real |
65fa0 | 5f 63 6c 6f 73 65 28 29 0a 0a 20 20 20 20 64 65 66 20 72 65 61 6c 5f 63 6c 6f 73 65 28 73 65 6c | _close()......def.real_close(sel |
65fc0 | 66 29 3a 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 65 6e 64 74 72 61 6e 73 66 65 72 28 29 0a 20 | f):.........self.endtransfer().. |
65fe0 | 20 20 20 20 20 20 20 74 72 79 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 66 74 70 | .......try:.............self.ftp |
66000 | 2e 63 6c 6f 73 65 28 29 0a 20 20 20 20 20 20 20 20 65 78 63 65 70 74 20 66 74 70 65 72 72 6f 72 | .close().........except.ftperror |
66020 | 73 28 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 61 73 73 0a 0a 23 20 50 72 6f 78 79 20 68 | s():.............pass..#.Proxy.h |
66040 | 61 6e 64 6c 69 6e 67 0a 64 65 66 20 67 65 74 70 72 6f 78 69 65 73 5f 65 6e 76 69 72 6f 6e 6d 65 | andling.def.getproxies_environme |
66060 | 6e 74 28 29 3a 0a 20 20 20 20 22 22 22 52 65 74 75 72 6e 20 61 20 64 69 63 74 69 6f 6e 61 72 79 | nt():....."""Return.a.dictionary |
66080 | 20 6f 66 20 73 63 68 65 6d 65 20 2d 3e 20 70 72 6f 78 79 20 73 65 72 76 65 72 20 55 52 4c 20 6d | .of.scheme.->.proxy.server.URL.m |
660a0 | 61 70 70 69 6e 67 73 2e 0a 0a 20 20 20 20 53 63 61 6e 20 74 68 65 20 65 6e 76 69 72 6f 6e 6d 65 | appings.......Scan.the.environme |
660c0 | 6e 74 20 66 6f 72 20 76 61 72 69 61 62 6c 65 73 20 6e 61 6d 65 64 20 3c 73 63 68 65 6d 65 3e 5f | nt.for.variables.named.<scheme>_ |
660e0 | 70 72 6f 78 79 3b 0a 20 20 20 20 74 68 69 73 20 73 65 65 6d 73 20 74 6f 20 62 65 20 74 68 65 20 | proxy;.....this.seems.to.be.the. |
66100 | 73 74 61 6e 64 61 72 64 20 63 6f 6e 76 65 6e 74 69 6f 6e 2e 20 20 49 66 20 79 6f 75 20 6e 65 65 | standard.convention...If.you.nee |
66120 | 64 20 61 0a 20 20 20 20 64 69 66 66 65 72 65 6e 74 20 77 61 79 2c 20 79 6f 75 20 63 61 6e 20 70 | d.a.....different.way,.you.can.p |
66140 | 61 73 73 20 61 20 70 72 6f 78 69 65 73 20 64 69 63 74 69 6f 6e 61 72 79 20 74 6f 20 74 68 65 0a | ass.a.proxies.dictionary.to.the. |
66160 | 20 20 20 20 5b 46 61 6e 63 79 5d 55 52 4c 6f 70 65 6e 65 72 20 63 6f 6e 73 74 72 75 63 74 6f 72 | ....[Fancy]URLopener.constructor |
66180 | 2e 0a 0a 20 20 20 20 22 22 22 0a 20 20 20 20 70 72 6f 78 69 65 73 20 3d 20 7b 7d 0a 20 20 20 20 | .......""".....proxies.=.{}..... |
661a0 | 23 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 70 72 65 66 65 72 20 6c 6f 77 65 72 63 61 73 65 20 76 | #.in.order.to.prefer.lowercase.v |
661c0 | 61 72 69 61 62 6c 65 73 2c 20 70 72 6f 63 65 73 73 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 69 6e | ariables,.process.environment.in |
661e0 | 0a 20 20 20 20 23 20 74 77 6f 20 70 61 73 73 65 73 3a 20 66 69 72 73 74 20 6d 61 74 63 68 65 73 | .....#.two.passes:.first.matches |
66200 | 20 61 6e 79 2c 20 73 65 63 6f 6e 64 20 70 61 73 73 20 6d 61 74 63 68 65 73 20 6c 6f 77 65 72 63 | .any,.second.pass.matches.lowerc |
66220 | 61 73 65 20 6f 6e 6c 79 0a 20 20 20 20 66 6f 72 20 6e 61 6d 65 2c 20 76 61 6c 75 65 20 69 6e 20 | ase.only.....for.name,.value.in. |
66240 | 6f 73 2e 65 6e 76 69 72 6f 6e 2e 69 74 65 6d 73 28 29 3a 0a 20 20 20 20 20 20 20 20 6e 61 6d 65 | os.environ.items():.........name |
66260 | 20 3d 20 6e 61 6d 65 2e 6c 6f 77 65 72 28 29 0a 20 20 20 20 20 20 20 20 69 66 20 76 61 6c 75 65 | .=.name.lower().........if.value |
66280 | 20 61 6e 64 20 6e 61 6d 65 5b 2d 36 3a 5d 20 3d 3d 20 27 5f 70 72 6f 78 79 27 3a 0a 20 20 20 20 | .and.name[-6:].==.'_proxy':..... |
662a0 | 20 20 20 20 20 20 20 20 70 72 6f 78 69 65 73 5b 6e 61 6d 65 5b 3a 2d 36 5d 5d 20 3d 20 76 61 6c | ........proxies[name[:-6]].=.val |
662c0 | 75 65 0a 20 20 20 20 23 20 43 56 45 2d 32 30 31 36 2d 31 30 30 30 31 31 30 20 2d 20 49 66 20 77 | ue.....#.CVE-2016-1000110.-.If.w |
662e0 | 65 20 61 72 65 20 72 75 6e 6e 69 6e 67 20 61 73 20 43 47 49 20 73 63 72 69 70 74 2c 20 66 6f 72 | e.are.running.as.CGI.script,.for |
66300 | 67 65 74 20 48 54 54 50 5f 50 52 4f 58 59 0a 20 20 20 20 23 20 28 6e 6f 6e 2d 61 6c 6c 2d 6c 6f | get.HTTP_PROXY.....#.(non-all-lo |
66320 | 77 65 72 63 61 73 65 29 20 61 73 20 69 74 20 6d 61 79 20 62 65 20 73 65 74 20 66 72 6f 6d 20 74 | wercase).as.it.may.be.set.from.t |
66340 | 68 65 20 77 65 62 20 73 65 72 76 65 72 20 62 79 20 61 20 22 50 72 6f 78 79 3a 22 0a 20 20 20 20 | he.web.server.by.a."Proxy:"..... |
66360 | 23 20 68 65 61 64 65 72 20 66 72 6f 6d 20 74 68 65 20 63 6c 69 65 6e 74 0a 20 20 20 20 23 20 49 | #.header.from.the.client.....#.I |
66380 | 66 20 22 70 72 6f 78 79 22 20 69 73 20 6c 6f 77 65 72 63 61 73 65 2c 20 69 74 20 77 69 6c 6c 20 | f."proxy".is.lowercase,.it.will. |
663a0 | 73 74 69 6c 6c 20 62 65 20 75 73 65 64 20 74 68 61 6e 6b 73 20 74 6f 20 74 68 65 20 6e 65 78 74 | still.be.used.thanks.to.the.next |
663c0 | 20 62 6c 6f 63 6b 0a 20 20 20 20 69 66 20 27 52 45 51 55 45 53 54 5f 4d 45 54 48 4f 44 27 20 69 | .block.....if.'REQUEST_METHOD'.i |
663e0 | 6e 20 6f 73 2e 65 6e 76 69 72 6f 6e 3a 0a 20 20 20 20 20 20 20 20 70 72 6f 78 69 65 73 2e 70 6f | n.os.environ:.........proxies.po |
66400 | 70 28 27 68 74 74 70 27 2c 20 4e 6f 6e 65 29 0a 20 20 20 20 66 6f 72 20 6e 61 6d 65 2c 20 76 61 | p('http',.None).....for.name,.va |
66420 | 6c 75 65 20 69 6e 20 6f 73 2e 65 6e 76 69 72 6f 6e 2e 69 74 65 6d 73 28 29 3a 0a 20 20 20 20 20 | lue.in.os.environ.items():...... |
66440 | 20 20 20 69 66 20 6e 61 6d 65 5b 2d 36 3a 5d 20 3d 3d 20 27 5f 70 72 6f 78 79 27 3a 0a 20 20 20 | ...if.name[-6:].==.'_proxy':.... |
66460 | 20 20 20 20 20 20 20 20 20 6e 61 6d 65 20 3d 20 6e 61 6d 65 2e 6c 6f 77 65 72 28 29 0a 20 20 20 | .........name.=.name.lower().... |
66480 | 20 20 20 20 20 20 20 20 20 69 66 20 76 61 6c 75 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | .........if.value:.............. |
664a0 | 20 20 20 70 72 6f 78 69 65 73 5b 6e 61 6d 65 5b 3a 2d 36 5d 5d 20 3d 20 76 61 6c 75 65 0a 20 20 | ...proxies[name[:-6]].=.value... |
664c0 | 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ..........else:................. |
664e0 | 70 72 6f 78 69 65 73 2e 70 6f 70 28 6e 61 6d 65 5b 3a 2d 36 5d 2c 20 4e 6f 6e 65 29 0a 20 20 20 | proxies.pop(name[:-6],.None).... |
66500 | 20 72 65 74 75 72 6e 20 70 72 6f 78 69 65 73 0a 0a 64 65 66 20 70 72 6f 78 79 5f 62 79 70 61 73 | .return.proxies..def.proxy_bypas |
66520 | 73 5f 65 6e 76 69 72 6f 6e 6d 65 6e 74 28 68 6f 73 74 2c 20 70 72 6f 78 69 65 73 3d 4e 6f 6e 65 | s_environment(host,.proxies=None |
66540 | 29 3a 0a 20 20 20 20 22 22 22 54 65 73 74 20 69 66 20 70 72 6f 78 69 65 73 20 73 68 6f 75 6c 64 | ):....."""Test.if.proxies.should |
66560 | 20 6e 6f 74 20 62 65 20 75 73 65 64 20 66 6f 72 20 61 20 70 61 72 74 69 63 75 6c 61 72 20 68 6f | .not.be.used.for.a.particular.ho |
66580 | 73 74 2e 0a 0a 20 20 20 20 43 68 65 63 6b 73 20 74 68 65 20 70 72 6f 78 79 20 64 69 63 74 20 66 | st.......Checks.the.proxy.dict.f |
665a0 | 6f 72 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 6e 6f 5f 70 72 6f 78 79 2c 20 77 68 69 63 68 20 | or.the.value.of.no_proxy,.which. |
665c0 | 73 68 6f 75 6c 64 0a 20 20 20 20 62 65 20 61 20 6c 69 73 74 20 6f 66 20 63 6f 6d 6d 61 20 73 65 | should.....be.a.list.of.comma.se |
665e0 | 70 61 72 61 74 65 64 20 44 4e 53 20 73 75 66 66 69 78 65 73 2c 20 6f 72 20 27 2a 27 20 66 6f 72 | parated.DNS.suffixes,.or.'*'.for |
66600 | 20 61 6c 6c 20 68 6f 73 74 73 2e 0a 0a 20 20 20 20 22 22 22 0a 20 20 20 20 69 66 20 70 72 6f 78 | .all.hosts.......""".....if.prox |
66620 | 69 65 73 20 69 73 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 70 72 6f 78 69 65 73 20 3d 20 67 | ies.is.None:.........proxies.=.g |
66640 | 65 74 70 72 6f 78 69 65 73 5f 65 6e 76 69 72 6f 6e 6d 65 6e 74 28 29 0a 20 20 20 20 23 20 64 6f | etproxies_environment().....#.do |
66660 | 6e 27 74 20 62 79 70 61 73 73 2c 20 69 66 20 6e 6f 5f 70 72 6f 78 79 20 69 73 6e 27 74 20 73 70 | n't.bypass,.if.no_proxy.isn't.sp |
66680 | 65 63 69 66 69 65 64 0a 20 20 20 20 74 72 79 3a 0a 20 20 20 20 20 20 20 20 6e 6f 5f 70 72 6f 78 | ecified.....try:.........no_prox |
666a0 | 79 20 3d 20 70 72 6f 78 69 65 73 5b 27 6e 6f 27 5d 0a 20 20 20 20 65 78 63 65 70 74 20 4b 65 79 | y.=.proxies['no'].....except.Key |
666c0 | 45 72 72 6f 72 3a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 30 0a 20 20 20 20 23 20 27 2a | Error:.........return.0.....#.'* |
666e0 | 27 20 69 73 20 73 70 65 63 69 61 6c 20 63 61 73 65 20 66 6f 72 20 61 6c 77 61 79 73 20 62 79 70 | '.is.special.case.for.always.byp |
66700 | 61 73 73 0a 20 20 20 20 69 66 20 6e 6f 5f 70 72 6f 78 79 20 3d 3d 20 27 2a 27 3a 0a 20 20 20 20 | ass.....if.no_proxy.==.'*':..... |
66720 | 20 20 20 20 72 65 74 75 72 6e 20 31 0a 20 20 20 20 23 20 73 74 72 69 70 20 70 6f 72 74 20 6f 66 | ....return.1.....#.strip.port.of |
66740 | 66 20 68 6f 73 74 0a 20 20 20 20 68 6f 73 74 6f 6e 6c 79 2c 20 70 6f 72 74 20 3d 20 73 70 6c 69 | f.host.....hostonly,.port.=.spli |
66760 | 74 70 6f 72 74 28 68 6f 73 74 29 0a 20 20 20 20 23 20 63 68 65 63 6b 20 69 66 20 74 68 65 20 68 | tport(host).....#.check.if.the.h |
66780 | 6f 73 74 20 65 6e 64 73 20 77 69 74 68 20 61 6e 79 20 6f 66 20 74 68 65 20 44 4e 53 20 73 75 66 | ost.ends.with.any.of.the.DNS.suf |
667a0 | 66 69 78 65 73 0a 20 20 20 20 6e 6f 5f 70 72 6f 78 79 5f 6c 69 73 74 20 3d 20 5b 70 72 6f 78 79 | fixes.....no_proxy_list.=.[proxy |
667c0 | 2e 73 74 72 69 70 28 29 20 66 6f 72 20 70 72 6f 78 79 20 69 6e 20 6e 6f 5f 70 72 6f 78 79 2e 73 | .strip().for.proxy.in.no_proxy.s |
667e0 | 70 6c 69 74 28 27 2c 27 29 5d 0a 20 20 20 20 66 6f 72 20 6e 61 6d 65 20 69 6e 20 6e 6f 5f 70 72 | plit(',')].....for.name.in.no_pr |
66800 | 6f 78 79 5f 6c 69 73 74 3a 0a 20 20 20 20 20 20 20 20 69 66 20 6e 61 6d 65 3a 0a 20 20 20 20 20 | oxy_list:.........if.name:...... |
66820 | 20 20 20 20 20 20 20 6e 61 6d 65 20 3d 20 6e 61 6d 65 2e 6c 73 74 72 69 70 28 27 2e 27 29 20 20 | .......name.=.name.lstrip('.').. |
66840 | 23 20 69 67 6e 6f 72 65 20 6c 65 61 64 69 6e 67 20 64 6f 74 73 0a 20 20 20 20 20 20 20 20 20 20 | #.ignore.leading.dots........... |
66860 | 20 20 6e 61 6d 65 20 3d 20 72 65 2e 65 73 63 61 70 65 28 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 | ..name.=.re.escape(name)........ |
66880 | 20 20 20 20 20 70 61 74 74 65 72 6e 20 3d 20 72 27 28 2e 2b 5c 2e 29 3f 25 73 24 27 20 25 20 6e | .....pattern.=.r'(.+\.)?%s$'.%.n |
668a0 | 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 72 65 2e 6d 61 74 63 68 28 70 61 74 | ame.............if.(re.match(pat |
668c0 | 74 65 72 6e 2c 20 68 6f 73 74 6f 6e 6c 79 2c 20 72 65 2e 49 29 0a 20 20 20 20 20 20 20 20 20 20 | tern,.hostonly,.re.I)........... |
668e0 | 20 20 20 20 20 20 20 20 20 20 6f 72 20 72 65 2e 6d 61 74 63 68 28 70 61 74 74 65 72 6e 2c 20 68 | ..........or.re.match(pattern,.h |
66900 | 6f 73 74 2c 20 72 65 2e 49 29 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 | ost,.re.I)):.................ret |
66920 | 75 72 6e 20 31 0a 20 20 20 20 23 20 6f 74 68 65 72 77 69 73 65 2c 20 64 6f 6e 27 74 20 62 79 70 | urn.1.....#.otherwise,.don't.byp |
66940 | 61 73 73 0a 20 20 20 20 72 65 74 75 72 6e 20 30 0a 0a 0a 23 20 54 68 69 73 20 63 6f 64 65 20 74 | ass.....return.0...#.This.code.t |
66960 | 65 73 74 73 20 61 6e 20 4f 53 58 20 73 70 65 63 69 66 69 63 20 64 61 74 61 20 73 74 72 75 63 74 | ests.an.OSX.specific.data.struct |
66980 | 75 72 65 20 62 75 74 20 69 73 20 74 65 73 74 61 62 6c 65 20 6f 6e 20 61 6c 6c 0a 23 20 70 6c 61 | ure.but.is.testable.on.all.#.pla |
669a0 | 74 66 6f 72 6d 73 0a 64 65 66 20 5f 70 72 6f 78 79 5f 62 79 70 61 73 73 5f 6d 61 63 6f 73 78 5f | tforms.def._proxy_bypass_macosx_ |
669c0 | 73 79 73 63 6f 6e 66 28 68 6f 73 74 2c 20 70 72 6f 78 79 5f 73 65 74 74 69 6e 67 73 29 3a 0a 20 | sysconf(host,.proxy_settings):.. |
669e0 | 20 20 20 22 22 22 0a 20 20 20 20 52 65 74 75 72 6e 20 54 72 75 65 20 69 66 66 20 74 68 69 73 20 | ...""".....Return.True.iff.this. |
66a00 | 68 6f 73 74 20 73 68 6f 75 6c 64 6e 27 74 20 62 65 20 61 63 63 65 73 73 65 64 20 75 73 69 6e 67 | host.shouldn't.be.accessed.using |
66a20 | 20 61 20 70 72 6f 78 79 0a 0a 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 75 73 65 73 | .a.proxy......This.function.uses |
66a40 | 20 74 68 65 20 4d 61 63 4f 53 58 20 66 72 61 6d 65 77 6f 72 6b 20 53 79 73 74 65 6d 43 6f 6e 66 | .the.MacOSX.framework.SystemConf |
66a60 | 69 67 75 72 61 74 69 6f 6e 0a 20 20 20 20 74 6f 20 66 65 74 63 68 20 74 68 65 20 70 72 6f 78 79 | iguration.....to.fetch.the.proxy |
66a80 | 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e 0a 0a 20 20 20 20 70 72 6f 78 79 5f 73 65 74 74 69 6e 67 | .information.......proxy_setting |
66aa0 | 73 20 63 6f 6d 65 20 66 72 6f 6d 20 5f 73 63 70 72 6f 78 79 2e 5f 67 65 74 5f 70 72 6f 78 79 5f | s.come.from._scproxy._get_proxy_ |
66ac0 | 73 65 74 74 69 6e 67 73 20 6f 72 20 67 65 74 20 6d 6f 63 6b 65 64 20 69 65 3a 0a 20 20 20 20 7b | settings.or.get.mocked.ie:.....{ |
66ae0 | 20 27 65 78 63 6c 75 64 65 5f 73 69 6d 70 6c 65 27 3a 20 62 6f 6f 6c 2c 0a 20 20 20 20 20 20 27 | .'exclude_simple':.bool,.......' |
66b00 | 65 78 63 65 70 74 69 6f 6e 73 27 3a 20 5b 27 66 6f 6f 2e 62 61 72 27 2c 20 27 2a 2e 62 61 72 2e | exceptions':.['foo.bar',.'*.bar. |
66b20 | 63 6f 6d 27 2c 20 27 31 32 37 2e 30 2e 30 2e 31 27 2c 20 27 31 30 2e 31 27 2c 20 27 31 30 2e 30 | com',.'127.0.0.1',.'10.1',.'10.0 |
66b40 | 2f 31 36 27 5d 0a 20 20 20 20 7d 0a 20 20 20 20 22 22 22 0a 20 20 20 20 66 72 6f 6d 20 66 6e 6d | /16'].....}.....""".....from.fnm |
66b60 | 61 74 63 68 20 69 6d 70 6f 72 74 20 66 6e 6d 61 74 63 68 0a 0a 20 20 20 20 68 6f 73 74 6f 6e 6c | atch.import.fnmatch......hostonl |
66b80 | 79 2c 20 70 6f 72 74 20 3d 20 73 70 6c 69 74 70 6f 72 74 28 68 6f 73 74 29 0a 0a 20 20 20 20 64 | y,.port.=.splitport(host)......d |
66ba0 | 65 66 20 69 70 32 6e 75 6d 28 69 70 41 64 64 72 29 3a 0a 20 20 20 20 20 20 20 20 70 61 72 74 73 | ef.ip2num(ipAddr):.........parts |
66bc0 | 20 3d 20 69 70 41 64 64 72 2e 73 70 6c 69 74 28 27 2e 27 29 0a 20 20 20 20 20 20 20 20 70 61 72 | .=.ipAddr.split('.').........par |
66be0 | 74 73 20 3d 20 6c 69 73 74 28 6d 61 70 28 69 6e 74 2c 20 70 61 72 74 73 29 29 0a 20 20 20 20 20 | ts.=.list(map(int,.parts))...... |
66c00 | 20 20 20 69 66 20 6c 65 6e 28 70 61 72 74 73 29 20 21 3d 20 34 3a 0a 20 20 20 20 20 20 20 20 20 | ...if.len(parts).!=.4:.......... |
66c20 | 20 20 20 70 61 72 74 73 20 3d 20 28 70 61 72 74 73 20 2b 20 5b 30 2c 20 30 2c 20 30 2c 20 30 5d | ...parts.=.(parts.+.[0,.0,.0,.0] |
66c40 | 29 5b 3a 34 5d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 28 70 61 72 74 73 5b 30 5d 20 3c | )[:4].........return.(parts[0].< |
66c60 | 3c 20 32 34 29 20 7c 20 28 70 61 72 74 73 5b 31 5d 20 3c 3c 20 31 36 29 20 7c 20 28 70 61 72 74 | <.24).|.(parts[1].<<.16).|.(part |
66c80 | 73 5b 32 5d 20 3c 3c 20 38 29 20 7c 20 70 61 72 74 73 5b 33 5d 0a 0a 20 20 20 20 23 20 43 68 65 | s[2].<<.8).|.parts[3]......#.Che |
66ca0 | 63 6b 20 66 6f 72 20 73 69 6d 70 6c 65 20 68 6f 73 74 20 6e 61 6d 65 73 3a 0a 20 20 20 20 69 66 | ck.for.simple.host.names:.....if |
66cc0 | 20 27 2e 27 20 6e 6f 74 20 69 6e 20 68 6f 73 74 3a 0a 20 20 20 20 20 20 20 20 69 66 20 70 72 6f | .'.'.not.in.host:.........if.pro |
66ce0 | 78 79 5f 73 65 74 74 69 6e 67 73 5b 27 65 78 63 6c 75 64 65 5f 73 69 6d 70 6c 65 27 5d 3a 0a 20 | xy_settings['exclude_simple']:.. |
66d00 | 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 54 72 75 65 0a 0a 20 20 20 20 68 6f 73 74 | ...........return.True......host |
66d20 | 49 50 20 3d 20 4e 6f 6e 65 0a 0a 20 20 20 20 66 6f 72 20 76 61 6c 75 65 20 69 6e 20 70 72 6f 78 | IP.=.None......for.value.in.prox |
66d40 | 79 5f 73 65 74 74 69 6e 67 73 2e 67 65 74 28 27 65 78 63 65 70 74 69 6f 6e 73 27 2c 20 28 29 29 | y_settings.get('exceptions',.()) |
66d60 | 3a 0a 20 20 20 20 20 20 20 20 23 20 49 74 65 6d 73 20 69 6e 20 74 68 65 20 6c 69 73 74 20 61 72 | :.........#.Items.in.the.list.ar |
66d80 | 65 20 73 74 72 69 6e 67 73 20 6c 69 6b 65 20 74 68 65 73 65 3a 20 2a 2e 6c 6f 63 61 6c 2c 20 31 | e.strings.like.these:.*.local,.1 |
66da0 | 36 39 2e 32 35 34 2f 31 36 0a 20 20 20 20 20 20 20 20 69 66 20 6e 6f 74 20 76 61 6c 75 65 3a 20 | 69.254/16.........if.not.value:. |
66dc0 | 63 6f 6e 74 69 6e 75 65 0a 0a 20 20 20 20 20 20 20 20 6d 20 3d 20 72 65 2e 6d 61 74 63 68 28 72 | continue..........m.=.re.match(r |
66de0 | 22 28 5c 64 2b 28 3f 3a 5c 2e 5c 64 2b 29 2a 29 28 2f 5c 64 2b 29 3f 22 2c 20 76 61 6c 75 65 29 | "(\d+(?:\.\d+)*)(/\d+)?",.value) |
66e00 | 0a 20 20 20 20 20 20 20 20 69 66 20 6d 20 69 73 20 6e 6f 74 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 | .........if.m.is.not.None:...... |
66e20 | 20 20 20 20 20 20 20 69 66 20 68 6f 73 74 49 50 20 69 73 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 | .......if.hostIP.is.None:....... |
66e40 | 20 20 20 20 20 20 20 20 20 20 74 72 79 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ..........try:.................. |
66e60 | 20 20 20 68 6f 73 74 49 50 20 3d 20 73 6f 63 6b 65 74 2e 67 65 74 68 6f 73 74 62 79 6e 61 6d 65 | ...hostIP.=.socket.gethostbyname |
66e80 | 28 68 6f 73 74 6f 6e 6c 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 68 | (hostonly).....................h |
66ea0 | 6f 73 74 49 50 20 3d 20 69 70 32 6e 75 6d 28 68 6f 73 74 49 50 29 0a 20 20 20 20 20 20 20 20 20 | ostIP.=.ip2num(hostIP).......... |
66ec0 | 20 20 20 20 20 20 20 65 78 63 65 70 74 20 4f 53 45 72 72 6f 72 3a 0a 20 20 20 20 20 20 20 20 20 | .......except.OSError:.......... |
66ee0 | 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 0a 0a 20 20 20 20 20 20 20 20 20 20 20 | ...........continue............. |
66f00 | 20 62 61 73 65 20 3d 20 69 70 32 6e 75 6d 28 6d 2e 67 72 6f 75 70 28 31 29 29 0a 20 20 20 20 20 | .base.=.ip2num(m.group(1))...... |
66f20 | 20 20 20 20 20 20 20 6d 61 73 6b 20 3d 20 6d 2e 67 72 6f 75 70 28 32 29 0a 20 20 20 20 20 20 20 | .......mask.=.m.group(2)........ |
66f40 | 20 20 20 20 20 69 66 20 6d 61 73 6b 20 69 73 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 | .....if.mask.is.None:........... |
66f60 | 20 20 20 20 20 20 6d 61 73 6b 20 3d 20 38 20 2a 20 28 6d 2e 67 72 6f 75 70 28 31 29 2e 63 6f 75 | ......mask.=.8.*.(m.group(1).cou |
66f80 | 6e 74 28 27 2e 27 29 20 2b 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 | nt('.').+.1).............else:.. |
66fa0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 73 6b 20 3d 20 69 6e 74 28 6d 61 73 6b 5b 31 | ...............mask.=.int(mask[1 |
66fc0 | 3a 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 73 6b 20 3d 20 33 32 20 2d 20 6d 61 73 6b | :]).............mask.=.32.-.mask |
66fe0 | 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 68 6f 73 74 49 50 20 3e 3e 20 6d 61 73 6b | ..............if.(hostIP.>>.mask |
67000 | 29 20 3d 3d 20 28 62 61 73 65 20 3e 3e 20 6d 61 73 6b 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 | ).==.(base.>>.mask):............ |
67020 | 20 20 20 20 20 72 65 74 75 72 6e 20 54 72 75 65 0a 0a 20 20 20 20 20 20 20 20 65 6c 69 66 20 66 | .....return.True..........elif.f |
67040 | 6e 6d 61 74 63 68 28 68 6f 73 74 2c 20 76 61 6c 75 65 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 | nmatch(host,.value):............ |
67060 | 20 72 65 74 75 72 6e 20 54 72 75 65 0a 0a 20 20 20 20 72 65 74 75 72 6e 20 46 61 6c 73 65 0a 0a | .return.True......return.False.. |
67080 | 0a 69 66 20 73 79 73 2e 70 6c 61 74 66 6f 72 6d 20 3d 3d 20 27 64 61 72 77 69 6e 27 3a 0a 20 20 | .if.sys.platform.==.'darwin':... |
670a0 | 20 20 66 72 6f 6d 20 5f 73 63 70 72 6f 78 79 20 69 6d 70 6f 72 74 20 5f 67 65 74 5f 70 72 6f 78 | ..from._scproxy.import._get_prox |
670c0 | 79 5f 73 65 74 74 69 6e 67 73 2c 20 5f 67 65 74 5f 70 72 6f 78 69 65 73 0a 0a 20 20 20 20 64 65 | y_settings,._get_proxies......de |
670e0 | 66 20 70 72 6f 78 79 5f 62 79 70 61 73 73 5f 6d 61 63 6f 73 78 5f 73 79 73 63 6f 6e 66 28 68 6f | f.proxy_bypass_macosx_sysconf(ho |
67100 | 73 74 29 3a 0a 20 20 20 20 20 20 20 20 70 72 6f 78 79 5f 73 65 74 74 69 6e 67 73 20 3d 20 5f 67 | st):.........proxy_settings.=._g |
67120 | 65 74 5f 70 72 6f 78 79 5f 73 65 74 74 69 6e 67 73 28 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 | et_proxy_settings().........retu |
67140 | 72 6e 20 5f 70 72 6f 78 79 5f 62 79 70 61 73 73 5f 6d 61 63 6f 73 78 5f 73 79 73 63 6f 6e 66 28 | rn._proxy_bypass_macosx_sysconf( |
67160 | 68 6f 73 74 2c 20 70 72 6f 78 79 5f 73 65 74 74 69 6e 67 73 29 0a 0a 20 20 20 20 64 65 66 20 67 | host,.proxy_settings)......def.g |
67180 | 65 74 70 72 6f 78 69 65 73 5f 6d 61 63 6f 73 78 5f 73 79 73 63 6f 6e 66 28 29 3a 0a 20 20 20 20 | etproxies_macosx_sysconf():..... |
671a0 | 20 20 20 20 22 22 22 52 65 74 75 72 6e 20 61 20 64 69 63 74 69 6f 6e 61 72 79 20 6f 66 20 73 63 | ...."""Return.a.dictionary.of.sc |
671c0 | 68 65 6d 65 20 2d 3e 20 70 72 6f 78 79 20 73 65 72 76 65 72 20 55 52 4c 20 6d 61 70 70 69 6e 67 | heme.->.proxy.server.URL.mapping |
671e0 | 73 2e 0a 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 75 73 65 73 20 74 | s...........This.function.uses.t |
67200 | 68 65 20 4d 61 63 4f 53 58 20 66 72 61 6d 65 77 6f 72 6b 20 53 79 73 74 65 6d 43 6f 6e 66 69 67 | he.MacOSX.framework.SystemConfig |
67220 | 75 72 61 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 74 6f 20 66 65 74 63 68 20 74 68 65 20 70 72 6f | uration.........to.fetch.the.pro |
67240 | 78 79 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 | xy.information.........."""..... |
67260 | 20 20 20 20 72 65 74 75 72 6e 20 5f 67 65 74 5f 70 72 6f 78 69 65 73 28 29 0a 0a 0a 0a 20 20 20 | ....return._get_proxies()....... |
67280 | 20 64 65 66 20 70 72 6f 78 79 5f 62 79 70 61 73 73 28 68 6f 73 74 29 3a 0a 20 20 20 20 20 20 20 | .def.proxy_bypass(host):........ |
672a0 | 20 22 22 22 52 65 74 75 72 6e 20 54 72 75 65 2c 20 69 66 20 68 6f 73 74 20 73 68 6f 75 6c 64 20 | ."""Return.True,.if.host.should. |
672c0 | 62 65 20 62 79 70 61 73 73 65 64 2e 0a 0a 20 20 20 20 20 20 20 20 43 68 65 63 6b 73 20 70 72 6f | be.bypassed...........Checks.pro |
672e0 | 78 79 20 73 65 74 74 69 6e 67 73 20 67 61 74 68 65 72 65 64 20 66 72 6f 6d 20 74 68 65 20 65 6e | xy.settings.gathered.from.the.en |
67300 | 76 69 72 6f 6e 6d 65 6e 74 2c 20 69 66 20 73 70 65 63 69 66 69 65 64 2c 0a 20 20 20 20 20 20 20 | vironment,.if.specified,........ |
67320 | 20 6f 72 20 66 72 6f 6d 20 74 68 65 20 4d 61 63 4f 53 58 20 66 72 61 6d 65 77 6f 72 6b 20 53 79 | .or.from.the.MacOSX.framework.Sy |
67340 | 73 74 65 6d 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e 2e 0a 0a 20 20 20 20 20 20 20 20 22 22 22 0a | stemConfiguration...........""". |
67360 | 20 20 20 20 20 20 20 20 70 72 6f 78 69 65 73 20 3d 20 67 65 74 70 72 6f 78 69 65 73 5f 65 6e 76 | ........proxies.=.getproxies_env |
67380 | 69 72 6f 6e 6d 65 6e 74 28 29 0a 20 20 20 20 20 20 20 20 69 66 20 70 72 6f 78 69 65 73 3a 0a 20 | ironment().........if.proxies:.. |
673a0 | 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 70 72 6f 78 79 5f 62 79 70 61 73 73 5f 65 | ...........return.proxy_bypass_e |
673c0 | 6e 76 69 72 6f 6e 6d 65 6e 74 28 68 6f 73 74 2c 20 70 72 6f 78 69 65 73 29 0a 20 20 20 20 20 20 | nvironment(host,.proxies)....... |
673e0 | 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 70 72 6f 78 79 | ..else:.............return.proxy |
67400 | 5f 62 79 70 61 73 73 5f 6d 61 63 6f 73 78 5f 73 79 73 63 6f 6e 66 28 68 6f 73 74 29 0a 0a 20 20 | _bypass_macosx_sysconf(host).... |
67420 | 20 20 64 65 66 20 67 65 74 70 72 6f 78 69 65 73 28 29 3a 0a 20 20 20 20 20 20 20 20 72 65 74 75 | ..def.getproxies():.........retu |
67440 | 72 6e 20 67 65 74 70 72 6f 78 69 65 73 5f 65 6e 76 69 72 6f 6e 6d 65 6e 74 28 29 20 6f 72 20 67 | rn.getproxies_environment().or.g |
67460 | 65 74 70 72 6f 78 69 65 73 5f 6d 61 63 6f 73 78 5f 73 79 73 63 6f 6e 66 28 29 0a 0a 0a 65 6c 69 | etproxies_macosx_sysconf()...eli |
67480 | 66 20 6f 73 2e 6e 61 6d 65 20 3d 3d 20 27 6e 74 27 3a 0a 20 20 20 20 64 65 66 20 67 65 74 70 72 | f.os.name.==.'nt':.....def.getpr |
674a0 | 6f 78 69 65 73 5f 72 65 67 69 73 74 72 79 28 29 3a 0a 20 20 20 20 20 20 20 20 22 22 22 52 65 74 | oxies_registry():........."""Ret |
674c0 | 75 72 6e 20 61 20 64 69 63 74 69 6f 6e 61 72 79 20 6f 66 20 73 63 68 65 6d 65 20 2d 3e 20 70 72 | urn.a.dictionary.of.scheme.->.pr |
674e0 | 6f 78 79 20 73 65 72 76 65 72 20 55 52 4c 20 6d 61 70 70 69 6e 67 73 2e 0a 0a 20 20 20 20 20 20 | oxy.server.URL.mappings......... |
67500 | 20 20 57 69 6e 33 32 20 75 73 65 73 20 74 68 65 20 72 65 67 69 73 74 72 79 20 74 6f 20 73 74 6f | ..Win32.uses.the.registry.to.sto |
67520 | 72 65 20 70 72 6f 78 69 65 73 2e 0a 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 | re.proxies..........."""........ |
67540 | 20 70 72 6f 78 69 65 73 20 3d 20 7b 7d 0a 20 20 20 20 20 20 20 20 74 72 79 3a 0a 20 20 20 20 20 | .proxies.=.{}.........try:...... |
67560 | 20 20 20 20 20 20 20 69 6d 70 6f 72 74 20 77 69 6e 72 65 67 0a 20 20 20 20 20 20 20 20 65 78 63 | .......import.winreg.........exc |
67580 | 65 70 74 20 49 6d 70 6f 72 74 45 72 72 6f 72 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 23 20 53 | ept.ImportError:.............#.S |
675a0 | 74 64 20 6d 6f 64 75 6c 65 2c 20 73 6f 20 73 68 6f 75 6c 64 20 62 65 20 61 72 6f 75 6e 64 20 2d | td.module,.so.should.be.around.- |
675c0 | 20 62 75 74 20 79 6f 75 20 6e 65 76 65 72 20 6b 6e 6f 77 21 0a 20 20 20 20 20 20 20 20 20 20 20 | .but.you.never.know!............ |
675e0 | 20 72 65 74 75 72 6e 20 70 72 6f 78 69 65 73 0a 20 20 20 20 20 20 20 20 74 72 79 3a 0a 20 20 20 | .return.proxies.........try:.... |
67600 | 20 20 20 20 20 20 20 20 20 69 6e 74 65 72 6e 65 74 53 65 74 74 69 6e 67 73 20 3d 20 77 69 6e 72 | .........internetSettings.=.winr |
67620 | 65 67 2e 4f 70 65 6e 4b 65 79 28 77 69 6e 72 65 67 2e 48 4b 45 59 5f 43 55 52 52 45 4e 54 5f 55 | eg.OpenKey(winreg.HKEY_CURRENT_U |
67640 | 53 45 52 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 27 53 6f 66 74 77 61 72 65 5c | SER,.................r'Software\ |
67660 | 4d 69 63 72 6f 73 6f 66 74 5c 57 69 6e 64 6f 77 73 5c 43 75 72 72 65 6e 74 56 65 72 73 69 6f 6e | Microsoft\Windows\CurrentVersion |
67680 | 5c 49 6e 74 65 72 6e 65 74 20 53 65 74 74 69 6e 67 73 27 29 0a 20 20 20 20 20 20 20 20 20 20 20 | \Internet.Settings')............ |
676a0 | 20 70 72 6f 78 79 45 6e 61 62 6c 65 20 3d 20 77 69 6e 72 65 67 2e 51 75 65 72 79 56 61 6c 75 65 | .proxyEnable.=.winreg.QueryValue |
676c0 | 45 78 28 69 6e 74 65 72 6e 65 74 53 65 74 74 69 6e 67 73 2c 0a 20 20 20 20 20 20 20 20 20 20 20 | Ex(internetSettings,............ |
676e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
67700 | 20 20 20 20 27 50 72 6f 78 79 45 6e 61 62 6c 65 27 29 5b 30 5d 0a 20 20 20 20 20 20 20 20 20 20 | ....'ProxyEnable')[0]........... |
67720 | 20 20 69 66 20 70 72 6f 78 79 45 6e 61 62 6c 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ..if.proxyEnable:............... |
67740 | 20 20 23 20 52 65 74 75 72 6e 65 64 20 61 73 20 55 6e 69 63 6f 64 65 20 62 75 74 20 70 72 6f 62 | ..#.Returned.as.Unicode.but.prob |
67760 | 6c 65 6d 73 20 69 66 20 6e 6f 74 20 63 6f 6e 76 65 72 74 65 64 20 74 6f 20 41 53 43 49 49 0a 20 | lems.if.not.converted.to.ASCII.. |
67780 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 6f 78 79 53 65 72 76 65 72 20 3d 20 73 74 72 | ...............proxyServer.=.str |
677a0 | 28 77 69 6e 72 65 67 2e 51 75 65 72 79 56 61 6c 75 65 45 78 28 69 6e 74 65 72 6e 65 74 53 65 74 | (winreg.QueryValueEx(internetSet |
677c0 | 74 69 6e 67 73 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | tings,.......................... |
677e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 50 | ..............................'P |
67800 | 72 6f 78 79 53 65 72 76 65 72 27 29 5b 30 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | roxyServer')[0])................ |
67820 | 20 69 66 20 27 3d 27 20 69 6e 20 70 72 6f 78 79 53 65 72 76 65 72 3a 0a 20 20 20 20 20 20 20 20 | .if.'='.in.proxyServer:......... |
67840 | 20 20 20 20 20 20 20 20 20 20 20 20 23 20 50 65 72 2d 70 72 6f 74 6f 63 6f 6c 20 73 65 74 74 69 | ............#.Per-protocol.setti |
67860 | 6e 67 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 70 20 69 6e | ngs.....................for.p.in |
67880 | 20 70 72 6f 78 79 53 65 72 76 65 72 2e 73 70 6c 69 74 28 27 3b 27 29 3a 0a 20 20 20 20 20 20 20 | .proxyServer.split(';'):........ |
678a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 6f 74 6f 63 6f 6c 2c 20 61 64 64 72 65 | .................protocol,.addre |
678c0 | 73 73 20 3d 20 70 2e 73 70 6c 69 74 28 27 3d 27 2c 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 | ss.=.p.split('=',.1)............ |
678e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 23 20 53 65 65 20 69 66 20 61 64 64 72 65 73 73 20 68 61 | .............#.See.if.address.ha |
67900 | 73 20 61 20 74 79 70 65 3a 2f 2f 20 70 72 65 66 69 78 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | s.a.type://.prefix.............. |
67920 | 20 20 20 20 20 20 20 20 20 20 20 69 66 20 6e 6f 74 20 72 65 2e 6d 61 74 63 68 28 27 5e 28 5b 5e | ...........if.not.re.match('^([^ |
67940 | 2f 3a 5d 2b 29 3a 2f 2f 27 2c 20 61 64 64 72 65 73 73 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 | /:]+)://',.address):............ |
67960 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 64 64 72 65 73 73 20 3d 20 27 25 73 3a 2f | .................address.=.'%s:/ |
67980 | 2f 25 73 27 20 25 20 28 70 72 6f 74 6f 63 6f 6c 2c 20 61 64 64 72 65 73 73 29 0a 20 20 20 20 20 | /%s'.%.(protocol,.address)...... |
679a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 6f 78 69 65 73 5b 70 72 6f 74 6f | ...................proxies[proto |
679c0 | 63 6f 6c 5d 20 3d 20 61 64 64 72 65 73 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 | col].=.address.................e |
679e0 | 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 20 55 73 65 20 6f | lse:.....................#.Use.o |
67a00 | 6e 65 20 73 65 74 74 69 6e 67 20 66 6f 72 20 61 6c 6c 20 70 72 6f 74 6f 63 6f 6c 73 0a 20 20 20 | ne.setting.for.all.protocols.... |
67a20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 70 72 6f 78 79 53 65 72 76 65 72 5b | .................if.proxyServer[ |
67a40 | 3a 35 5d 20 3d 3d 20 27 68 74 74 70 3a 27 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | :5].==.'http:':................. |
67a60 | 20 20 20 20 20 20 20 20 70 72 6f 78 69 65 73 5b 27 68 74 74 70 27 5d 20 3d 20 70 72 6f 78 79 53 | ........proxies['http'].=.proxyS |
67a80 | 65 72 76 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a | erver.....................else:. |
67aa0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 6f 78 69 65 73 5b | ........................proxies[ |
67ac0 | 27 68 74 74 70 27 5d 20 3d 20 27 68 74 74 70 3a 2f 2f 25 73 27 20 25 20 70 72 6f 78 79 53 65 72 | 'http'].=.'http://%s'.%.proxySer |
67ae0 | 76 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 6f 78 | ver.........................prox |
67b00 | 69 65 73 5b 27 68 74 74 70 73 27 5d 20 3d 20 27 68 74 74 70 73 3a 2f 2f 25 73 27 20 25 20 70 72 | ies['https'].=.'https://%s'.%.pr |
67b20 | 6f 78 79 53 65 72 76 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | oxyServer....................... |
67b40 | 20 20 70 72 6f 78 69 65 73 5b 27 66 74 70 27 5d 20 3d 20 27 66 74 70 3a 2f 2f 25 73 27 20 25 20 | ..proxies['ftp'].=.'ftp://%s'.%. |
67b60 | 70 72 6f 78 79 53 65 72 76 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 65 72 6e 65 74 | proxyServer.............internet |
67b80 | 53 65 74 74 69 6e 67 73 2e 43 6c 6f 73 65 28 29 0a 20 20 20 20 20 20 20 20 65 78 63 65 70 74 20 | Settings.Close().........except. |
67ba0 | 28 4f 53 45 72 72 6f 72 2c 20 56 61 6c 75 65 45 72 72 6f 72 2c 20 54 79 70 65 45 72 72 6f 72 29 | (OSError,.ValueError,.TypeError) |
67bc0 | 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 23 20 45 69 74 68 65 72 20 72 65 67 69 73 74 72 79 20 | :.............#.Either.registry. |
67be0 | 6b 65 79 20 6e 6f 74 20 66 6f 75 6e 64 20 65 74 63 2c 20 6f 72 20 74 68 65 20 76 61 6c 75 65 20 | key.not.found.etc,.or.the.value. |
67c00 | 69 6e 20 61 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 23 20 75 6e 65 78 70 65 63 74 65 64 20 66 | in.an.............#.unexpected.f |
67c20 | 6f 72 6d 61 74 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 23 20 70 72 6f 78 69 65 73 20 61 6c 72 | ormat..............#.proxies.alr |
67c40 | 65 61 64 79 20 73 65 74 20 75 70 20 74 6f 20 62 65 20 65 6d 70 74 79 20 73 6f 20 6e 6f 74 68 69 | eady.set.up.to.be.empty.so.nothi |
67c60 | 6e 67 20 74 6f 20 64 6f 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 61 73 73 0a 20 20 20 20 20 20 | ng.to.do.............pass....... |
67c80 | 20 20 72 65 74 75 72 6e 20 70 72 6f 78 69 65 73 0a 0a 20 20 20 20 64 65 66 20 67 65 74 70 72 6f | ..return.proxies......def.getpro |
67ca0 | 78 69 65 73 28 29 3a 0a 20 20 20 20 20 20 20 20 22 22 22 52 65 74 75 72 6e 20 61 20 64 69 63 74 | xies():........."""Return.a.dict |
67cc0 | 69 6f 6e 61 72 79 20 6f 66 20 73 63 68 65 6d 65 20 2d 3e 20 70 72 6f 78 79 20 73 65 72 76 65 72 | ionary.of.scheme.->.proxy.server |
67ce0 | 20 55 52 4c 20 6d 61 70 70 69 6e 67 73 2e 0a 0a 20 20 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 | .URL.mappings...........Returns. |
67d00 | 73 65 74 74 69 6e 67 73 20 67 61 74 68 65 72 65 64 20 66 72 6f 6d 20 74 68 65 20 65 6e 76 69 72 | settings.gathered.from.the.envir |
67d20 | 6f 6e 6d 65 6e 74 2c 20 69 66 20 73 70 65 63 69 66 69 65 64 2c 0a 20 20 20 20 20 20 20 20 6f 72 | onment,.if.specified,.........or |
67d40 | 20 74 68 65 20 72 65 67 69 73 74 72 79 2e 0a 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 | .the.registry..........."""..... |
67d60 | 20 20 20 20 72 65 74 75 72 6e 20 67 65 74 70 72 6f 78 69 65 73 5f 65 6e 76 69 72 6f 6e 6d 65 6e | ....return.getproxies_environmen |
67d80 | 74 28 29 20 6f 72 20 67 65 74 70 72 6f 78 69 65 73 5f 72 65 67 69 73 74 72 79 28 29 0a 0a 20 20 | t().or.getproxies_registry().... |
67da0 | 20 20 64 65 66 20 70 72 6f 78 79 5f 62 79 70 61 73 73 5f 72 65 67 69 73 74 72 79 28 68 6f 73 74 | ..def.proxy_bypass_registry(host |
67dc0 | 29 3a 0a 20 20 20 20 20 20 20 20 74 72 79 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 6d 70 6f | ):.........try:.............impo |
67de0 | 72 74 20 77 69 6e 72 65 67 0a 20 20 20 20 20 20 20 20 65 78 63 65 70 74 20 49 6d 70 6f 72 74 45 | rt.winreg.........except.ImportE |
67e00 | 72 72 6f 72 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 23 20 53 74 64 20 6d 6f 64 75 6c 65 73 2c | rror:.............#.Std.modules, |
67e20 | 20 73 6f 20 73 68 6f 75 6c 64 20 62 65 20 61 72 6f 75 6e 64 20 2d 20 62 75 74 20 79 6f 75 20 6e | .so.should.be.around.-.but.you.n |
67e40 | 65 76 65 72 20 6b 6e 6f 77 21 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 30 0a | ever.know!.............return.0. |
67e60 | 20 20 20 20 20 20 20 20 74 72 79 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 65 72 6e 65 | ........try:.............interne |
67e80 | 74 53 65 74 74 69 6e 67 73 20 3d 20 77 69 6e 72 65 67 2e 4f 70 65 6e 4b 65 79 28 77 69 6e 72 65 | tSettings.=.winreg.OpenKey(winre |
67ea0 | 67 2e 48 4b 45 59 5f 43 55 52 52 45 4e 54 5f 55 53 45 52 2c 0a 20 20 20 20 20 20 20 20 20 20 20 | g.HKEY_CURRENT_USER,............ |
67ec0 | 20 20 20 20 20 72 27 53 6f 66 74 77 61 72 65 5c 4d 69 63 72 6f 73 6f 66 74 5c 57 69 6e 64 6f 77 | .....r'Software\Microsoft\Window |
67ee0 | 73 5c 43 75 72 72 65 6e 74 56 65 72 73 69 6f 6e 5c 49 6e 74 65 72 6e 65 74 20 53 65 74 74 69 6e | s\CurrentVersion\Internet.Settin |
67f00 | 67 73 27 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 72 6f 78 79 45 6e 61 62 6c 65 20 3d 20 77 | gs').............proxyEnable.=.w |
67f20 | 69 6e 72 65 67 2e 51 75 65 72 79 56 61 6c 75 65 45 78 28 69 6e 74 65 72 6e 65 74 53 65 74 74 69 | inreg.QueryValueEx(internetSetti |
67f40 | 6e 67 73 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ngs,............................ |
67f60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 50 72 6f 78 79 45 6e 61 62 6c 65 | ....................'ProxyEnable |
67f80 | 27 29 5b 30 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 72 6f 78 79 4f 76 65 72 72 69 64 65 20 | ')[0].............proxyOverride. |
67fa0 | 3d 20 73 74 72 28 77 69 6e 72 65 67 2e 51 75 65 72 79 56 61 6c 75 65 45 78 28 69 6e 74 65 72 6e | =.str(winreg.QueryValueEx(intern |
67fc0 | 65 74 53 65 74 74 69 6e 67 73 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | etSettings,..................... |
67fe0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
68000 | 20 27 50 72 6f 78 79 4f 76 65 72 72 69 64 65 27 29 5b 30 5d 29 0a 20 20 20 20 20 20 20 20 20 20 | .'ProxyOverride')[0])........... |
68020 | 20 20 23 20 5e 5e 5e 5e 20 52 65 74 75 72 6e 65 64 20 61 73 20 55 6e 69 63 6f 64 65 20 62 75 74 | ..#.^^^^.Returned.as.Unicode.but |
68040 | 20 70 72 6f 62 6c 65 6d 73 20 69 66 20 6e 6f 74 20 63 6f 6e 76 65 72 74 65 64 20 74 6f 20 41 53 | .problems.if.not.converted.to.AS |
68060 | 43 49 49 0a 20 20 20 20 20 20 20 20 65 78 63 65 70 74 20 4f 53 45 72 72 6f 72 3a 0a 20 20 20 20 | CII.........except.OSError:..... |
68080 | 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 30 0a 20 20 20 20 20 20 20 20 69 66 20 6e 6f 74 20 | ........return.0.........if.not. |
680a0 | 70 72 6f 78 79 45 6e 61 62 6c 65 20 6f 72 20 6e 6f 74 20 70 72 6f 78 79 4f 76 65 72 72 69 64 65 | proxyEnable.or.not.proxyOverride |
680c0 | 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 30 0a 20 20 20 20 20 20 20 20 23 | :.............return.0.........# |
680e0 | 20 74 72 79 20 74 6f 20 6d 61 6b 65 20 61 20 68 6f 73 74 20 6c 69 73 74 20 66 72 6f 6d 20 6e 61 | .try.to.make.a.host.list.from.na |
68100 | 6d 65 20 61 6e 64 20 49 50 20 61 64 64 72 65 73 73 2e 0a 20 20 20 20 20 20 20 20 72 61 77 48 6f | me.and.IP.address..........rawHo |
68120 | 73 74 2c 20 70 6f 72 74 20 3d 20 73 70 6c 69 74 70 6f 72 74 28 68 6f 73 74 29 0a 20 20 20 20 20 | st,.port.=.splitport(host)...... |
68140 | 20 20 20 68 6f 73 74 20 3d 20 5b 72 61 77 48 6f 73 74 5d 0a 20 20 20 20 20 20 20 20 74 72 79 3a | ...host.=.[rawHost].........try: |
68160 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 61 64 64 72 20 3d 20 73 6f 63 6b 65 74 2e 67 65 74 68 6f | .............addr.=.socket.getho |
68180 | 73 74 62 79 6e 61 6d 65 28 72 61 77 48 6f 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 | stbyname(rawHost).............if |
681a0 | 20 61 64 64 72 20 21 3d 20 72 61 77 48 6f 73 74 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .addr.!=.rawHost:............... |
681c0 | 20 20 68 6f 73 74 2e 61 70 70 65 6e 64 28 61 64 64 72 29 0a 20 20 20 20 20 20 20 20 65 78 63 65 | ..host.append(addr).........exce |
681e0 | 70 74 20 4f 53 45 72 72 6f 72 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 61 73 73 0a 20 20 20 | pt.OSError:.............pass.... |
68200 | 20 20 20 20 20 74 72 79 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 71 64 6e 20 3d 20 73 6f 63 | .....try:.............fqdn.=.soc |
68220 | 6b 65 74 2e 67 65 74 66 71 64 6e 28 72 61 77 48 6f 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 | ket.getfqdn(rawHost)............ |
68240 | 20 69 66 20 66 71 64 6e 20 21 3d 20 72 61 77 48 6f 73 74 3a 0a 20 20 20 20 20 20 20 20 20 20 20 | .if.fqdn.!=.rawHost:............ |
68260 | 20 20 20 20 20 68 6f 73 74 2e 61 70 70 65 6e 64 28 66 71 64 6e 29 0a 20 20 20 20 20 20 20 20 65 | .....host.append(fqdn).........e |
68280 | 78 63 65 70 74 20 4f 53 45 72 72 6f 72 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 61 73 73 0a | xcept.OSError:.............pass. |
682a0 | 20 20 20 20 20 20 20 20 23 20 6d 61 6b 65 20 61 20 63 68 65 63 6b 20 76 61 6c 75 65 20 6c 69 73 | ........#.make.a.check.value.lis |
682c0 | 74 20 66 72 6f 6d 20 74 68 65 20 72 65 67 69 73 74 72 79 20 65 6e 74 72 79 3a 20 72 65 70 6c 61 | t.from.the.registry.entry:.repla |
682e0 | 63 65 20 74 68 65 0a 20 20 20 20 20 20 20 20 23 20 27 3c 6c 6f 63 61 6c 3e 27 20 73 74 72 69 6e | ce.the.........#.'<local>'.strin |
68300 | 67 20 62 79 20 74 68 65 20 6c 6f 63 61 6c 68 6f 73 74 20 65 6e 74 72 79 20 61 6e 64 20 74 68 65 | g.by.the.localhost.entry.and.the |
68320 | 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 0a 20 20 20 20 20 20 20 20 23 20 63 61 6e 6f 6e 69 63 | .corresponding.........#.canonic |
68340 | 61 6c 20 65 6e 74 72 79 2e 0a 20 20 20 20 20 20 20 20 70 72 6f 78 79 4f 76 65 72 72 69 64 65 20 | al.entry..........proxyOverride. |
68360 | 3d 20 70 72 6f 78 79 4f 76 65 72 72 69 64 65 2e 73 70 6c 69 74 28 27 3b 27 29 0a 20 20 20 20 20 | =.proxyOverride.split(';')...... |
68380 | 20 20 20 23 20 6e 6f 77 20 63 68 65 63 6b 20 69 66 20 77 65 20 6d 61 74 63 68 20 6f 6e 65 20 6f | ...#.now.check.if.we.match.one.o |
683a0 | 66 20 74 68 65 20 72 65 67 69 73 74 72 79 20 76 61 6c 75 65 73 2e 0a 20 20 20 20 20 20 20 20 66 | f.the.registry.values..........f |
683c0 | 6f 72 20 74 65 73 74 20 69 6e 20 70 72 6f 78 79 4f 76 65 72 72 69 64 65 3a 0a 20 20 20 20 20 20 | or.test.in.proxyOverride:....... |
683e0 | 20 20 20 20 20 20 69 66 20 74 65 73 74 20 3d 3d 20 27 3c 6c 6f 63 61 6c 3e 27 3a 0a 20 20 20 20 | ......if.test.==.'<local>':..... |
68400 | 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 27 2e 27 20 6e 6f 74 20 69 6e 20 72 61 77 48 6f 73 | ............if.'.'.not.in.rawHos |
68420 | 74 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 31 0a | t:.....................return.1. |
68440 | 20 20 20 20 20 20 20 20 20 20 20 20 74 65 73 74 20 3d 20 74 65 73 74 2e 72 65 70 6c 61 63 65 28 | ............test.=.test.replace( |
68460 | 22 2e 22 2c 20 72 22 5c 2e 22 29 20 20 20 20 20 23 20 6d 61 73 6b 20 64 6f 74 73 0a 20 20 20 20 | ".",.r"\.").....#.mask.dots..... |
68480 | 20 20 20 20 20 20 20 20 74 65 73 74 20 3d 20 74 65 73 74 2e 72 65 70 6c 61 63 65 28 22 2a 22 2c | ........test.=.test.replace("*", |
684a0 | 20 72 22 2e 2a 22 29 20 20 20 20 20 23 20 63 68 61 6e 67 65 20 67 6c 6f 62 20 73 65 71 75 65 6e | .r".*").....#.change.glob.sequen |
684c0 | 63 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 65 73 74 20 3d 20 74 65 73 74 2e 72 65 70 6c 61 | ce.............test.=.test.repla |
684e0 | 63 65 28 22 3f 22 2c 20 72 22 2e 22 29 20 20 20 20 20 20 23 20 63 68 61 6e 67 65 20 67 6c 6f 62 | ce("?",.r".")......#.change.glob |
68500 | 20 63 68 61 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 76 61 6c 20 69 6e 20 68 6f 73 | .char.............for.val.in.hos |
68520 | 74 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 72 65 2e 6d 61 74 63 68 28 74 | t:.................if.re.match(t |
68540 | 65 73 74 2c 20 76 61 6c 2c 20 72 65 2e 49 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | est,.val,.re.I):................ |
68560 | 20 20 20 20 20 72 65 74 75 72 6e 20 31 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 30 0a 0a | .....return.1.........return.0.. |
68580 | 20 20 20 20 64 65 66 20 70 72 6f 78 79 5f 62 79 70 61 73 73 28 68 6f 73 74 29 3a 0a 20 20 20 20 | ....def.proxy_bypass(host):..... |
685a0 | 20 20 20 20 22 22 22 52 65 74 75 72 6e 20 54 72 75 65 2c 20 69 66 20 68 6f 73 74 20 73 68 6f 75 | ...."""Return.True,.if.host.shou |
685c0 | 6c 64 20 62 65 20 62 79 70 61 73 73 65 64 2e 0a 0a 20 20 20 20 20 20 20 20 43 68 65 63 6b 73 20 | ld.be.bypassed...........Checks. |
685e0 | 70 72 6f 78 79 20 73 65 74 74 69 6e 67 73 20 67 61 74 68 65 72 65 64 20 66 72 6f 6d 20 74 68 65 | proxy.settings.gathered.from.the |
68600 | 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2c 20 69 66 20 73 70 65 63 69 66 69 65 64 2c 0a 20 20 20 20 | .environment,.if.specified,..... |
68620 | 20 20 20 20 6f 72 20 74 68 65 20 72 65 67 69 73 74 72 79 2e 0a 0a 20 20 20 20 20 20 20 20 22 22 | ....or.the.registry..........."" |
68640 | 22 0a 20 20 20 20 20 20 20 20 70 72 6f 78 69 65 73 20 3d 20 67 65 74 70 72 6f 78 69 65 73 5f 65 | ".........proxies.=.getproxies_e |
68660 | 6e 76 69 72 6f 6e 6d 65 6e 74 28 29 0a 20 20 20 20 20 20 20 20 69 66 20 70 72 6f 78 69 65 73 3a | nvironment().........if.proxies: |
68680 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 70 72 6f 78 79 5f 62 79 70 61 73 73 | .............return.proxy_bypass |
686a0 | 5f 65 6e 76 69 72 6f 6e 6d 65 6e 74 28 68 6f 73 74 2c 20 70 72 6f 78 69 65 73 29 0a 20 20 20 20 | _environment(host,.proxies)..... |
686c0 | 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 70 72 6f | ....else:.............return.pro |
686e0 | 78 79 5f 62 79 70 61 73 73 5f 72 65 67 69 73 74 72 79 28 68 6f 73 74 29 0a 0a 65 6c 73 65 3a 0a | xy_bypass_registry(host)..else:. |
68700 | 20 20 20 20 23 20 42 79 20 64 65 66 61 75 6c 74 20 75 73 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 | ....#.By.default.use.environment |
68720 | 20 76 61 72 69 61 62 6c 65 73 0a 20 20 20 20 67 65 74 70 72 6f 78 69 65 73 20 3d 20 67 65 74 70 | .variables.....getproxies.=.getp |
68740 | 72 6f 78 69 65 73 5f 65 6e 76 69 72 6f 6e 6d 65 6e 74 0a 20 20 20 20 70 72 6f 78 79 5f 62 79 70 | roxies_environment.....proxy_byp |
68760 | 61 73 73 20 3d 20 70 72 6f 78 79 5f 62 79 70 61 73 73 5f 65 6e 76 69 72 6f 6e 6d 65 6e 74 0a 95 | ass.=.proxy_bypass_environment.. |
68780 | b7 20 01 00 00 00 00 00 94 7d 94 28 8c 07 75 72 6c 6f 70 65 6e 94 6a 74 1f 00 00 4b 8b 4b de 87 | .........}.(..urlopen.jt...K.K.. |
687a0 | 94 8c 0e 69 6e 73 74 61 6c 6c 5f 6f 70 65 6e 65 72 94 6a 74 1f 00 00 4b e0 4b e2 87 94 8c 0b 75 | ...install_opener.jt...K.K.....u |
687c0 | 72 6c 72 65 74 72 69 65 76 65 94 6a 74 1f 00 00 4b e5 4d 22 01 87 94 8c 0a 75 72 6c 63 6c 65 61 | rlretrieve.jt...K.M".....urlclea |
687e0 | 6e 75 70 94 6a 74 1f 00 00 4d 24 01 4d 2f 01 87 94 8c 0c 72 65 71 75 65 73 74 5f 68 6f 73 74 94 | nup.jt...M$.M/.....request_host. |
68800 | 6a 74 1f 00 00 4d 33 01 4d 41 01 87 94 8c 10 52 65 71 75 65 73 74 2e 5f 5f 69 6e 69 74 5f 5f 94 | jt...M3.MA.....Request.__init__. |
68820 | 6a 74 1f 00 00 4d 45 01 4d 55 01 87 94 8c 10 52 65 71 75 65 73 74 2e 66 75 6c 6c 5f 75 72 6c 94 | jt...ME.MU.....Request.full_url. |
68840 | 6a 74 1f 00 00 4d 64 01 4d 68 01 87 94 8c 0c 52 65 71 75 65 73 74 2e 64 61 74 61 94 6a 74 1f 00 | jt...Md.Mh.....Request.data.jt.. |
68860 | 00 4d 78 01 4d 7a 01 87 94 8c 0e 52 65 71 75 65 73 74 2e 5f 70 61 72 73 65 94 6a 74 1f 00 00 4d | .Mx.Mz.....Request._parse.jt...M |
68880 | 7c 01 4d 82 01 87 94 8c 12 52 65 71 75 65 73 74 2e 67 65 74 5f 6d 65 74 68 6f 64 94 6a 74 1f 00 | |.M......Request.get_method.jt.. |
688a0 | 00 4d 84 01 4d 87 01 87 94 8c 14 52 65 71 75 65 73 74 2e 67 65 74 5f 66 75 6c 6c 5f 75 72 6c 94 | .M..M......Request.get_full_url. |
688c0 | 6a 74 1f 00 00 4d 89 01 4d 8a 01 87 94 8c 11 52 65 71 75 65 73 74 2e 73 65 74 5f 70 72 6f 78 79 | jt...M..M......Request.set_proxy |
688e0 | 94 6a 74 1f 00 00 4d 8c 01 4d 92 01 87 94 8c 11 52 65 71 75 65 73 74 2e 68 61 73 5f 70 72 6f 78 | .jt...M..M......Request.has_prox |
68900 | 79 94 6a 74 1f 00 00 4d 94 01 4d 95 01 87 94 8c 12 52 65 71 75 65 73 74 2e 61 64 64 5f 68 65 61 | y.jt...M..M......Request.add_hea |
68920 | 64 65 72 94 6a 74 1f 00 00 4d 97 01 4d 99 01 87 94 8c 1f 52 65 71 75 65 73 74 2e 61 64 64 5f 75 | der.jt...M..M......Request.add_u |
68940 | 6e 72 65 64 69 72 65 63 74 65 64 5f 68 65 61 64 65 72 94 6a 74 1f 00 00 4d 9b 01 4d 9d 01 87 94 | nredirected_header.jt...M..M.... |
68960 | 8c 12 52 65 71 75 65 73 74 2e 68 61 73 5f 68 65 61 64 65 72 94 6a 74 1f 00 00 4d 9f 01 4d a1 01 | ..Request.has_header.jt...M..M.. |
68980 | 87 94 8c 12 52 65 71 75 65 73 74 2e 67 65 74 5f 68 65 61 64 65 72 94 6a 74 1f 00 00 4d a3 01 4d | ....Request.get_header.jt...M..M |
689a0 | a6 01 87 94 8c 15 52 65 71 75 65 73 74 2e 72 65 6d 6f 76 65 5f 68 65 61 64 65 72 94 6a 74 1f 00 | ......Request.remove_header.jt.. |
689c0 | 00 4d a8 01 4d aa 01 87 94 8c 14 52 65 71 75 65 73 74 2e 68 65 61 64 65 72 5f 69 74 65 6d 73 94 | .M..M......Request.header_items. |
689e0 | 6a 74 1f 00 00 4d ac 01 4d af 01 87 94 8c 07 52 65 71 75 65 73 74 94 6a 7d 1f 00 00 4d 43 01 4d | jt...M..M......Request.j}...MC.M |
68a00 | af 01 87 94 8c 17 4f 70 65 6e 65 72 44 69 72 65 63 74 6f 72 2e 5f 5f 69 6e 69 74 5f 5f 94 6a 74 | ......OpenerDirector.__init__.jt |
68a20 | 1f 00 00 4d b2 01 4d bb 01 87 94 8c 1a 4f 70 65 6e 65 72 44 69 72 65 63 74 6f 72 2e 61 64 64 5f | ...M..M......OpenerDirector.add_ |
68a40 | 68 61 6e 64 6c 65 72 94 6a 74 1f 00 00 4d bd 01 4d ea 01 87 94 8c 14 4f 70 65 6e 65 72 44 69 72 | handler.jt...M..M......OpenerDir |
68a60 | 65 63 74 6f 72 2e 63 6c 6f 73 65 94 6a 74 1f 00 00 4d ec 01 4d ee 01 87 94 8c 1a 4f 70 65 6e 65 | ector.close.jt...M..M......Opene |
68a80 | 72 44 69 72 65 63 74 6f 72 2e 5f 63 61 6c 6c 5f 63 68 61 69 6e 94 6a 74 1f 00 00 4d f0 01 4d f9 | rDirector._call_chain.jt...M..M. |
68aa0 | 01 87 94 8c 13 4f 70 65 6e 65 72 44 69 72 65 63 74 6f 72 2e 6f 70 65 6e 94 6a 74 1f 00 00 4d fb | .....OpenerDirector.open.jt...M. |
68ac0 | 01 4d 15 02 87 94 8c 14 4f 70 65 6e 65 72 44 69 72 65 63 74 6f 72 2e 5f 6f 70 65 6e 94 6a 74 1f | .M......OpenerDirector._open.jt. |
68ae0 | 00 00 4d 17 02 4d 24 02 87 94 8c 14 4f 70 65 6e 65 72 44 69 72 65 63 74 6f 72 2e 65 72 72 6f 72 | ..M..M$.....OpenerDirector.error |
68b00 | 94 6a 74 1f 00 00 4d 26 02 4d 39 02 87 94 8c 0e 4f 70 65 6e 65 72 44 69 72 65 63 74 6f 72 94 6a | .jt...M&.M9.....OpenerDirector.j |
68b20 | 7d 1f 00 00 4d b1 01 4d 39 02 87 94 8c 0c 62 75 69 6c 64 5f 6f 70 65 6e 65 72 94 6a 74 1f 00 00 | }...M..M9.....build_opener.jt... |
68b40 | 4d 3f 02 4d 61 02 87 94 8c 16 42 61 73 65 48 61 6e 64 6c 65 72 2e 61 64 64 5f 70 61 72 65 6e 74 | M?.Ma.....BaseHandler.add_parent |
68b60 | 94 6a 74 1f 00 00 4d 66 02 4d 67 02 87 94 8c 11 42 61 73 65 48 61 6e 64 6c 65 72 2e 63 6c 6f 73 | .jt...Mf.Mg.....BaseHandler.clos |
68b80 | 65 94 6a 74 1f 00 00 4d 69 02 4d 6b 02 87 94 8c 12 42 61 73 65 48 61 6e 64 6c 65 72 2e 5f 5f 6c | e.jt...Mi.Mk.....BaseHandler.__l |
68ba0 | 74 5f 5f 94 6a 74 1f 00 00 4d 6d 02 4d 73 02 87 94 8c 0b 42 61 73 65 48 61 6e 64 6c 65 72 94 6a | t__.jt...Mm.Ms.....BaseHandler.j |
68bc0 | 7d 1f 00 00 4d 63 02 4d 73 02 87 94 8c 20 48 54 54 50 45 72 72 6f 72 50 72 6f 63 65 73 73 6f 72 | }...Mc.Ms.....HTTPErrorProcessor |
68be0 | 2e 68 74 74 70 5f 72 65 73 70 6f 6e 73 65 94 6a 74 1f 00 00 4d 7a 02 4d 83 02 87 94 8c 12 48 54 | .http_response.jt...Mz.M......HT |
68c00 | 54 50 45 72 72 6f 72 50 72 6f 63 65 73 73 6f 72 94 6a 7d 1f 00 00 4d 76 02 4d 85 02 87 94 8c 2a | TPErrorProcessor.j}...Mv.M.....* |
68c20 | 48 54 54 50 44 65 66 61 75 6c 74 45 72 72 6f 72 48 61 6e 64 6c 65 72 2e 68 74 74 70 5f 65 72 72 | HTTPDefaultErrorHandler.http_err |
68c40 | 6f 72 5f 64 65 66 61 75 6c 74 94 6a 74 1f 00 00 4d 88 02 4d 89 02 87 94 8c 17 48 54 54 50 44 65 | or_default.jt...M..M......HTTPDe |
68c60 | 66 61 75 6c 74 45 72 72 6f 72 48 61 6e 64 6c 65 72 94 6a 7d 1f 00 00 4d 87 02 4d 89 02 87 94 8c | faultErrorHandler.j}...M..M..... |
68c80 | 24 48 54 54 50 52 65 64 69 72 65 63 74 48 61 6e 64 6c 65 72 2e 72 65 64 69 72 65 63 74 5f 72 65 | $HTTPRedirectHandler.redirect_re |
68ca0 | 71 75 65 73 74 94 6a 74 1f 00 00 4d 93 02 4d b3 02 87 94 8c 22 48 54 54 50 52 65 64 69 72 65 63 | quest.jt...M..M....."HTTPRedirec |
68cc0 | 74 48 61 6e 64 6c 65 72 2e 68 74 74 70 5f 65 72 72 6f 72 5f 33 30 32 94 6a 74 1f 00 00 4d b9 02 | tHandler.http_error_302.jt...M.. |
68ce0 | 4d f3 02 87 94 8c 13 48 54 54 50 52 65 64 69 72 65 63 74 48 61 6e 64 6c 65 72 94 6a 7d 1f 00 00 | M......HTTPRedirectHandler.j}... |
68d00 | 4d 8b 02 4d f9 02 87 94 8c 0c 5f 70 61 72 73 65 5f 70 72 6f 78 79 94 6a 74 1f 00 00 4d fc 02 4d | M..M......_parse_proxy.jt...M..M |
68d20 | 17 03 87 94 8c 15 50 72 6f 78 79 48 61 6e 64 6c 65 72 2e 5f 5f 69 6e 69 74 5f 5f 94 6a 74 1f 00 | ......ProxyHandler.__init__.jt.. |
68d40 | 00 4d 1d 03 4d 25 03 87 94 8c 17 50 72 6f 78 79 48 61 6e 64 6c 65 72 2e 70 72 6f 78 79 5f 6f 70 | .M..M%.....ProxyHandler.proxy_op |
68d60 | 65 6e 94 6a 74 1f 00 00 4d 27 03 4d 41 03 87 94 8c 0c 50 72 6f 78 79 48 61 6e 64 6c 65 72 94 6a | en.jt...M'.MA.....ProxyHandler.j |
68d80 | 7d 1f 00 00 4d 19 03 4d 41 03 87 94 8c 18 48 54 54 50 50 61 73 73 77 6f 72 64 4d 67 72 2e 5f 5f | }...M..MA.....HTTPPasswordMgr.__ |
68da0 | 69 6e 69 74 5f 5f 94 6a 74 1f 00 00 4d 45 03 4d 46 03 87 94 8c 1c 48 54 54 50 50 61 73 73 77 6f | init__.jt...ME.MF.....HTTPPasswo |
68dc0 | 72 64 4d 67 72 2e 61 64 64 5f 70 61 73 73 77 6f 72 64 94 6a 74 1f 00 00 4d 48 03 4d 51 03 87 94 | rdMgr.add_password.jt...MH.MQ... |
68de0 | 8c 22 48 54 54 50 50 61 73 73 77 6f 72 64 4d 67 72 2e 66 69 6e 64 5f 75 73 65 72 5f 70 61 73 73 | ."HTTPPasswordMgr.find_user_pass |
68e00 | 77 6f 72 64 94 6a 74 1f 00 00 4d 53 03 4d 5b 03 87 94 8c 1a 48 54 54 50 50 61 73 73 77 6f 72 64 | word.jt...MS.M[.....HTTPPassword |
68e20 | 4d 67 72 2e 72 65 64 75 63 65 5f 75 72 69 94 6a 74 1f 00 00 4d 5d 03 4d 72 03 87 94 8c 19 48 54 | Mgr.reduce_uri.jt...M].Mr.....HT |
68e40 | 54 50 50 61 73 73 77 6f 72 64 4d 67 72 2e 69 73 5f 73 75 62 75 72 69 94 6a 74 1f 00 00 4d 74 03 | TPPasswordMgr.is_suburi.jt...Mt. |
68e60 | 4d 80 03 87 94 8c 0f 48 54 54 50 50 61 73 73 77 6f 72 64 4d 67 72 94 6a 7d 1f 00 00 4d 43 03 4d | M......HTTPPasswordMgr.j}...MC.M |
68e80 | 80 03 87 94 8c 32 48 54 54 50 50 61 73 73 77 6f 72 64 4d 67 72 57 69 74 68 44 65 66 61 75 6c 74 | .....2HTTPPasswordMgrWithDefault |
68ea0 | 52 65 61 6c 6d 2e 66 69 6e 64 5f 75 73 65 72 5f 70 61 73 73 77 6f 72 64 94 6a 74 1f 00 00 4d 85 | Realm.find_user_password.jt...M. |
68ec0 | 03 4d 8a 03 87 94 8c 1f 48 54 54 50 50 61 73 73 77 6f 72 64 4d 67 72 57 69 74 68 44 65 66 61 75 | .M......HTTPPasswordMgrWithDefau |
68ee0 | 6c 74 52 65 61 6c 6d 94 6a 7d 1f 00 00 4d 83 03 4d 8a 03 87 94 8c 25 48 54 54 50 50 61 73 73 77 | ltRealm.j}...M..M.....%HTTPPassw |
68f00 | 6f 72 64 4d 67 72 57 69 74 68 50 72 69 6f 72 41 75 74 68 2e 5f 5f 69 6e 69 74 5f 5f 94 6a 74 1f | ordMgrWithPriorAuth.__init__.jt. |
68f20 | 00 00 4d 8f 03 4d 91 03 87 94 8c 29 48 54 54 50 50 61 73 73 77 6f 72 64 4d 67 72 57 69 74 68 50 | ..M..M.....)HTTPPasswordMgrWithP |
68f40 | 72 69 6f 72 41 75 74 68 2e 61 64 64 5f 70 61 73 73 77 6f 72 64 94 6a 74 1f 00 00 4d 93 03 4d 98 | riorAuth.add_password.jt...M..M. |
68f60 | 03 87 94 8c 31 48 54 54 50 50 61 73 73 77 6f 72 64 4d 67 72 57 69 74 68 50 72 69 6f 72 41 75 74 | ....1HTTPPasswordMgrWithPriorAut |
68f80 | 68 2e 75 70 64 61 74 65 5f 61 75 74 68 65 6e 74 69 63 61 74 65 64 94 6a 74 1f 00 00 4d 9a 03 4d | h.update_authenticated.jt...M..M |
68fa0 | a2 03 87 94 8c 2d 48 54 54 50 50 61 73 73 77 6f 72 64 4d 67 72 57 69 74 68 50 72 69 6f 72 41 75 | .....-HTTPPasswordMgrWithPriorAu |
68fc0 | 74 68 2e 69 73 5f 61 75 74 68 65 6e 74 69 63 61 74 65 64 94 6a 74 1f 00 00 4d a4 03 4d a9 03 87 | th.is_authenticated.jt...M..M... |
68fe0 | 94 8c 1c 48 54 54 50 50 61 73 73 77 6f 72 64 4d 67 72 57 69 74 68 50 72 69 6f 72 41 75 74 68 94 | ...HTTPPasswordMgrWithPriorAuth. |
69000 | 6a 7d 1f 00 00 4d 8d 03 4d a9 03 87 94 8c 21 41 62 73 74 72 61 63 74 42 61 73 69 63 41 75 74 68 | j}...M..M.....!AbstractBasicAuth |
69020 | 48 61 6e 64 6c 65 72 2e 5f 5f 69 6e 69 74 5f 5f 94 6a 74 1f 00 00 4d ba 03 4d be 03 87 94 8c 2e | Handler.__init__.jt...M..M...... |
69040 | 41 62 73 74 72 61 63 74 42 61 73 69 63 41 75 74 68 48 61 6e 64 6c 65 72 2e 68 74 74 70 5f 65 72 | AbstractBasicAuthHandler.http_er |
69060 | 72 6f 72 5f 61 75 74 68 5f 72 65 71 65 64 94 6a 74 1f 00 00 4d c0 03 4d d4 03 87 94 8c 2e 41 62 | ror_auth_reqed.jt...M..M......Ab |
69080 | 73 74 72 61 63 74 42 61 73 69 63 41 75 74 68 48 61 6e 64 6c 65 72 2e 72 65 74 72 79 5f 68 74 74 | stractBasicAuthHandler.retry_htt |
690a0 | 70 5f 62 61 73 69 63 5f 61 75 74 68 94 6a 74 1f 00 00 4d d6 03 4d e0 03 87 94 8c 25 41 62 73 74 | p_basic_auth.jt...M..M.....%Abst |
690c0 | 72 61 63 74 42 61 73 69 63 41 75 74 68 48 61 6e 64 6c 65 72 2e 68 74 74 70 5f 72 65 71 75 65 73 | ractBasicAuthHandler.http_reques |
690e0 | 74 94 6a 74 1f 00 00 4d e2 03 4d ed 03 87 94 8c 26 41 62 73 74 72 61 63 74 42 61 73 69 63 41 75 | t.jt...M..M.....&AbstractBasicAu |
69100 | 74 68 48 61 6e 64 6c 65 72 2e 68 74 74 70 5f 72 65 73 70 6f 6e 73 65 94 6a 74 1f 00 00 4d ef 03 | thHandler.http_response.jt...M.. |
69120 | 4d f5 03 87 94 8c 18 41 62 73 74 72 61 63 74 42 61 73 69 63 41 75 74 68 48 61 6e 64 6c 65 72 94 | M......AbstractBasicAuthHandler. |
69140 | 6a 7d 1f 00 00 4d ac 03 4d f8 03 87 94 8c 23 48 54 54 50 42 61 73 69 63 41 75 74 68 48 61 6e 64 | j}...M..M.....#HTTPBasicAuthHand |
69160 | 6c 65 72 2e 68 74 74 70 5f 65 72 72 6f 72 5f 34 30 31 94 6a 74 1f 00 00 4d 00 04 4d 04 04 87 94 | ler.http_error_401.jt...M..M.... |
69180 | 8c 14 48 54 54 50 42 61 73 69 63 41 75 74 68 48 61 6e 64 6c 65 72 94 6a 7d 1f 00 00 4d fc 03 4d | ..HTTPBasicAuthHandler.j}...M..M |
691a0 | 04 04 87 94 8c 24 50 72 6f 78 79 42 61 73 69 63 41 75 74 68 48 61 6e 64 6c 65 72 2e 68 74 74 70 | .....$ProxyBasicAuthHandler.http |
691c0 | 5f 65 72 72 6f 72 5f 34 30 37 94 6a 74 1f 00 00 4d 0b 04 4d 13 04 87 94 8c 15 50 72 6f 78 79 42 | _error_407.jt...M..M......ProxyB |
691e0 | 61 73 69 63 41 75 74 68 48 61 6e 64 6c 65 72 94 6a 7d 1f 00 00 4d 07 04 4d 13 04 87 94 8c 22 41 | asicAuthHandler.j}...M..M....."A |
69200 | 62 73 74 72 61 63 74 44 69 67 65 73 74 41 75 74 68 48 61 6e 64 6c 65 72 2e 5f 5f 69 6e 69 74 5f | bstractDigestAuthHandler.__init_ |
69220 | 5f 94 6a 74 1f 00 00 4d 25 04 4d 2c 04 87 94 8c 2b 41 62 73 74 72 61 63 74 44 69 67 65 73 74 41 | _.jt...M%.M,....+AbstractDigestA |
69240 | 75 74 68 48 61 6e 64 6c 65 72 2e 72 65 73 65 74 5f 72 65 74 72 79 5f 63 6f 75 6e 74 94 6a 74 1f | uthHandler.reset_retry_count.jt. |
69260 | 00 00 4d 2e 04 4d 2f 04 87 94 8c 2f 41 62 73 74 72 61 63 74 44 69 67 65 73 74 41 75 74 68 48 61 | ..M..M/..../AbstractDigestAuthHa |
69280 | 6e 64 6c 65 72 2e 68 74 74 70 5f 65 72 72 6f 72 5f 61 75 74 68 5f 72 65 71 65 64 94 6a 74 1f 00 | ndler.http_error_auth_reqed.jt.. |
692a0 | 00 4d 31 04 4d 43 04 87 94 8c 30 41 62 73 74 72 61 63 74 44 69 67 65 73 74 41 75 74 68 48 61 6e | .M1.MC....0AbstractDigestAuthHan |
692c0 | 64 6c 65 72 2e 72 65 74 72 79 5f 68 74 74 70 5f 64 69 67 65 73 74 5f 61 75 74 68 94 6a 74 1f 00 | dler.retry_http_digest_auth.jt.. |
692e0 | 00 4d 45 04 4d 4f 04 87 94 8c 24 41 62 73 74 72 61 63 74 44 69 67 65 73 74 41 75 74 68 48 61 6e | .ME.MO....$AbstractDigestAuthHan |
69300 | 64 6c 65 72 2e 67 65 74 5f 63 6e 6f 6e 63 65 94 6a 74 1f 00 00 4d 51 04 4d 5a 04 87 94 8c 2b 41 | dler.get_cnonce.jt...MQ.MZ....+A |
69320 | 62 73 74 72 61 63 74 44 69 67 65 73 74 41 75 74 68 48 61 6e 64 6c 65 72 2e 67 65 74 5f 61 75 74 | bstractDigestAuthHandler.get_aut |
69340 | 68 6f 72 69 7a 61 74 69 6f 6e 94 6a 74 1f 00 00 4d 5c 04 4d 96 04 87 94 8c 2d 41 62 73 74 72 61 | horization.jt...M\.M.....-Abstra |
69360 | 63 74 44 69 67 65 73 74 41 75 74 68 48 61 6e 64 6c 65 72 2e 67 65 74 5f 61 6c 67 6f 72 69 74 68 | ctDigestAuthHandler.get_algorith |
69380 | 6d 5f 69 6d 70 6c 73 94 6a 74 1f 00 00 4d 98 04 4d a3 04 87 94 8c 2b 41 62 73 74 72 61 63 74 44 | m_impls.jt...M..M.....+AbstractD |
693a0 | 69 67 65 73 74 41 75 74 68 48 61 6e 64 6c 65 72 2e 67 65 74 5f 65 6e 74 69 74 79 5f 64 69 67 65 | igestAuthHandler.get_entity_dige |
693c0 | 73 74 94 6a 74 1f 00 00 4d a5 04 4d a7 04 87 94 8c 19 41 62 73 74 72 61 63 74 44 69 67 65 73 74 | st.jt...M..M......AbstractDigest |
693e0 | 41 75 74 68 48 61 6e 64 6c 65 72 94 6a 7d 1f 00 00 4d 1a 04 4d a7 04 87 94 8c 24 48 54 54 50 44 | AuthHandler.j}...M..M.....$HTTPD |
69400 | 69 67 65 73 74 41 75 74 68 48 61 6e 64 6c 65 72 2e 68 74 74 70 5f 65 72 72 6f 72 5f 34 30 31 94 | igestAuthHandler.http_error_401. |
69420 | 6a 74 1f 00 00 4d b4 04 4d b9 04 87 94 8c 15 48 54 54 50 44 69 67 65 73 74 41 75 74 68 48 61 6e | jt...M..M......HTTPDigestAuthHan |
69440 | 64 6c 65 72 94 6a 7d 1f 00 00 4d aa 04 4d b9 04 87 94 8c 25 50 72 6f 78 79 44 69 67 65 73 74 41 | dler.j}...M..M.....%ProxyDigestA |
69460 | 75 74 68 48 61 6e 64 6c 65 72 2e 68 74 74 70 5f 65 72 72 6f 72 5f 34 30 37 94 6a 74 1f 00 00 4d | uthHandler.http_error_407.jt...M |
69480 | c1 04 4d c6 04 87 94 8c 16 50 72 6f 78 79 44 69 67 65 73 74 41 75 74 68 48 61 6e 64 6c 65 72 94 | ..M......ProxyDigestAuthHandler. |
694a0 | 6a 7d 1f 00 00 4d bc 04 4d c6 04 87 94 8c 1c 41 62 73 74 72 61 63 74 48 54 54 50 48 61 6e 64 6c | j}...M..M......AbstractHTTPHandl |
694c0 | 65 72 2e 5f 5f 69 6e 69 74 5f 5f 94 6a 74 1f 00 00 4d ca 04 4d cb 04 87 94 8c 27 41 62 73 74 72 | er.__init__.jt...M..M.....'Abstr |
694e0 | 61 63 74 48 54 54 50 48 61 6e 64 6c 65 72 2e 73 65 74 5f 68 74 74 70 5f 64 65 62 75 67 6c 65 76 | actHTTPHandler.set_http_debuglev |
69500 | 65 6c 94 6a 74 1f 00 00 4d cd 04 4d ce 04 87 94 8c 27 41 62 73 74 72 61 63 74 48 54 54 50 48 61 | el.jt...M..M.....'AbstractHTTPHa |
69520 | 6e 64 6c 65 72 2e 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 5f 6c 65 6e 67 74 68 94 6a 74 1f 00 00 4d | ndler._get_content_length.jt...M |
69540 | d0 04 4d d3 04 87 94 8c 1f 41 62 73 74 72 61 63 74 48 54 54 50 48 61 6e 64 6c 65 72 2e 64 6f 5f | ..M......AbstractHTTPHandler.do_ |
69560 | 72 65 71 75 65 73 74 5f 94 6a 74 1f 00 00 4d d5 04 4d f9 04 87 94 8c 1b 41 62 73 74 72 61 63 74 | request_.jt...M..M......Abstract |
69580 | 48 54 54 50 48 61 6e 64 6c 65 72 2e 64 6f 5f 6f 70 65 6e 94 6a 74 1f 00 00 4d fb 04 4d 3b 05 87 | HTTPHandler.do_open.jt...M..M;.. |
695a0 | 94 8c 13 41 62 73 74 72 61 63 74 48 54 54 50 48 61 6e 64 6c 65 72 94 6a 7d 1f 00 00 4d c8 04 4d | ...AbstractHTTPHandler.j}...M..M |
695c0 | 3b 05 87 94 8c 15 48 54 54 50 48 61 6e 64 6c 65 72 2e 68 74 74 70 5f 6f 70 65 6e 94 6a 74 1f 00 | ;.....HTTPHandler.http_open.jt.. |
695e0 | 00 4d 40 05 4d 41 05 87 94 8c 0b 48 54 54 50 48 61 6e 64 6c 65 72 94 6a 7d 1f 00 00 4d 3e 05 4d | .M@.MA.....HTTPHandler.j}...M>.M |
69600 | 43 05 87 94 8c 15 48 54 54 50 53 48 61 6e 64 6c 65 72 2e 5f 5f 69 6e 69 74 5f 5f 94 6a 74 1f 00 | C.....HTTPSHandler.__init__.jt.. |
69620 | 00 4d 49 05 4d 4c 05 87 94 8c 17 48 54 54 50 53 48 61 6e 64 6c 65 72 2e 68 74 74 70 73 5f 6f 70 | .MI.ML.....HTTPSHandler.https_op |
69640 | 65 6e 94 6a 74 1f 00 00 4d 4e 05 4d 50 05 87 94 8c 0c 48 54 54 50 53 48 61 6e 64 6c 65 72 94 6a | en.jt...MN.MP.....HTTPSHandler.j |
69660 | 7d 1f 00 00 4d 47 05 4d 52 05 87 94 8c 1c 48 54 54 50 43 6f 6f 6b 69 65 50 72 6f 63 65 73 73 6f | }...MG.MR.....HTTPCookieProcesso |
69680 | 72 2e 5f 5f 69 6e 69 74 5f 5f 94 6a 74 1f 00 00 4d 57 05 4d 5b 05 87 94 8c 20 48 54 54 50 43 6f | r.__init__.jt...MW.M[.....HTTPCo |
696a0 | 6f 6b 69 65 50 72 6f 63 65 73 73 6f 72 2e 68 74 74 70 5f 72 65 71 75 65 73 74 94 6a 74 1f 00 00 | okieProcessor.http_request.jt... |
696c0 | 4d 5d 05 4d 5f 05 87 94 8c 21 48 54 54 50 43 6f 6f 6b 69 65 50 72 6f 63 65 73 73 6f 72 2e 68 74 | M].M_....!HTTPCookieProcessor.ht |
696e0 | 74 70 5f 72 65 73 70 6f 6e 73 65 94 6a 74 1f 00 00 4d 61 05 4d 63 05 87 94 8c 13 48 54 54 50 43 | tp_response.jt...Ma.Mc.....HTTPC |
69700 | 6f 6f 6b 69 65 50 72 6f 63 65 73 73 6f 72 94 6a 7d 1f 00 00 4d 56 05 4d 66 05 87 94 8c 1b 55 6e | ookieProcessor.j}...MV.Mf.....Un |
69720 | 6b 6e 6f 77 6e 48 61 6e 64 6c 65 72 2e 75 6e 6b 6e 6f 77 6e 5f 6f 70 65 6e 94 6a 74 1f 00 00 4d | knownHandler.unknown_open.jt...M |
69740 | 69 05 4d 6b 05 87 94 8c 0e 55 6e 6b 6e 6f 77 6e 48 61 6e 64 6c 65 72 94 6a 7d 1f 00 00 4d 68 05 | i.Mk.....UnknownHandler.j}...Mh. |
69760 | 4d 6b 05 87 94 8c 0f 70 61 72 73 65 5f 6b 65 71 76 5f 6c 69 73 74 94 6a 74 1f 00 00 4d 6d 05 4d | Mk.....parse_keqv_list.jt...Mm.M |
69780 | 75 05 87 94 8c 0f 70 61 72 73 65 5f 68 74 74 70 5f 6c 69 73 74 94 6a 74 1f 00 00 4d 77 05 4d a0 | u.....parse_http_list.jt...Mw.M. |
697a0 | 05 87 94 8c 15 46 69 6c 65 48 61 6e 64 6c 65 72 2e 66 69 6c 65 5f 6f 70 65 6e 94 6a 74 1f 00 00 | .....FileHandler.file_open.jt... |
697c0 | 4d a4 05 4d ab 05 87 94 8c 15 46 69 6c 65 48 61 6e 64 6c 65 72 2e 67 65 74 5f 6e 61 6d 65 73 94 | M..M......FileHandler.get_names. |
697e0 | 6a 74 1f 00 00 4d af 05 4d b7 05 87 94 8c 1b 46 69 6c 65 48 61 6e 64 6c 65 72 2e 6f 70 65 6e 5f | jt...M..M......FileHandler.open_ |
69800 | 6c 6f 63 61 6c 5f 66 69 6c 65 94 6a 74 1f 00 00 4d ba 05 4d d3 05 87 94 8c 0b 46 69 6c 65 48 61 | local_file.jt...M..M......FileHa |
69820 | 6e 64 6c 65 72 94 6a 7d 1f 00 00 4d a2 05 4d d3 05 87 94 8c 13 5f 73 61 66 65 5f 67 65 74 68 6f | ndler.j}...M..M......_safe_getho |
69840 | 73 74 62 79 6e 61 6d 65 94 6a 74 1f 00 00 4d d5 05 4d d9 05 87 94 8c 13 46 54 50 48 61 6e 64 6c | stbyname.jt...M..M......FTPHandl |
69860 | 65 72 2e 66 74 70 5f 6f 70 65 6e 94 6a 74 1f 00 00 4d dc 05 4d 0f 06 87 94 8c 16 46 54 50 48 61 | er.ftp_open.jt...M..M......FTPHa |
69880 | 6e 64 6c 65 72 2e 63 6f 6e 6e 65 63 74 5f 66 74 70 94 6a 74 1f 00 00 4d 11 06 4d 13 06 87 94 8c | ndler.connect_ftp.jt...M..M..... |
698a0 | 0a 46 54 50 48 61 6e 64 6c 65 72 94 6a 7d 1f 00 00 4d db 05 4d 13 06 87 94 8c 18 43 61 63 68 65 | .FTPHandler.j}...M..M......Cache |
698c0 | 46 54 50 48 61 6e 64 6c 65 72 2e 5f 5f 69 6e 69 74 5f 5f 94 6a 74 1f 00 00 4d 18 06 4d 1d 06 87 | FTPHandler.__init__.jt...M..M... |
698e0 | 94 8c 1a 43 61 63 68 65 46 54 50 48 61 6e 64 6c 65 72 2e 73 65 74 54 69 6d 65 6f 75 74 94 6a 74 | ...CacheFTPHandler.setTimeout.jt |
69900 | 1f 00 00 4d 1f 06 4d 20 06 87 94 8c 1b 43 61 63 68 65 46 54 50 48 61 6e 64 6c 65 72 2e 73 65 74 | ...M..M......CacheFTPHandler.set |
69920 | 4d 61 78 43 6f 6e 6e 73 94 6a 74 1f 00 00 4d 22 06 4d 23 06 87 94 8c 1b 43 61 63 68 65 46 54 50 | MaxConns.jt...M".M#.....CacheFTP |
69940 | 48 61 6e 64 6c 65 72 2e 63 6f 6e 6e 65 63 74 5f 66 74 70 94 6a 74 1f 00 00 4d 25 06 4d 2e 06 87 | Handler.connect_ftp.jt...M%.M... |
69960 | 94 8c 1b 43 61 63 68 65 46 54 50 48 61 6e 64 6c 65 72 2e 63 68 65 63 6b 5f 63 61 63 68 65 94 6a | ...CacheFTPHandler.check_cache.j |
69980 | 74 1f 00 00 4d 30 06 4d 42 06 87 94 8c 1b 43 61 63 68 65 46 54 50 48 61 6e 64 6c 65 72 2e 63 6c | t...M0.MB.....CacheFTPHandler.cl |
699a0 | 65 61 72 5f 63 61 63 68 65 94 6a 74 1f 00 00 4d 44 06 4d 48 06 87 94 8c 0f 43 61 63 68 65 46 54 | ear_cache.jt...MD.MH.....CacheFT |
699c0 | 50 48 61 6e 64 6c 65 72 94 6a 7d 1f 00 00 4d 15 06 4d 48 06 87 94 8c 15 44 61 74 61 48 61 6e 64 | PHandler.j}...M..MH.....DataHand |
699e0 | 6c 65 72 2e 64 61 74 61 5f 6f 70 65 6e 94 6a 74 1f 00 00 4d 4b 06 4d 66 06 87 94 8c 0b 44 61 74 | ler.data_open.jt...MK.Mf.....Dat |
69a00 | 61 48 61 6e 64 6c 65 72 94 6a 7d 1f 00 00 4d 4a 06 4d 66 06 87 94 8c 0c 75 72 6c 32 70 61 74 68 | aHandler.j}...MJ.Mf.....url2path |
69a20 | 6e 61 6d 65 94 6a 74 1f 00 00 4d 71 06 4d 74 06 87 94 8c 0c 70 61 74 68 6e 61 6d 65 32 75 72 6c | name.jt...Mq.Mt.....pathname2url |
69a40 | 94 6a 74 1f 00 00 4d 76 06 4d 79 06 87 94 8c 12 55 52 4c 6f 70 65 6e 65 72 2e 5f 5f 69 6e 69 74 | .jt...Mv.My.....URLopener.__init |
69a60 | 5f 5f 94 6a 74 1f 00 00 4d 8c 06 4d a0 06 87 94 8c 11 55 52 4c 6f 70 65 6e 65 72 2e 5f 5f 64 65 | __.jt...M..M......URLopener.__de |
69a80 | 6c 5f 5f 94 6a 74 1f 00 00 4d a6 06 4d a7 06 87 94 8c 0f 55 52 4c 6f 70 65 6e 65 72 2e 63 6c 6f | l__.jt...M..M......URLopener.clo |
69aa0 | 73 65 94 6a 74 1f 00 00 4d a9 06 4d aa 06 87 94 8c 11 55 52 4c 6f 70 65 6e 65 72 2e 63 6c 65 61 | se.jt...M..M......URLopener.clea |
69ac0 | 6e 75 70 94 6a 74 1f 00 00 4d ac 06 4d b8 06 87 94 8c 13 55 52 4c 6f 70 65 6e 65 72 2e 61 64 64 | nup.jt...M..M......URLopener.add |
69ae0 | 68 65 61 64 65 72 94 6a 74 1f 00 00 4d ba 06 4d bd 06 87 94 8c 0e 55 52 4c 6f 70 65 6e 65 72 2e | header.jt...M..M......URLopener. |
69b00 | 6f 70 65 6e 94 6a 74 1f 00 00 4d c0 06 4d e2 06 87 94 8c 16 55 52 4c 6f 70 65 6e 65 72 2e 6f 70 | open.jt...M..M......URLopener.op |
69b20 | 65 6e 5f 75 6e 6b 6e 6f 77 6e 94 6a 74 1f 00 00 4d e4 06 4d e7 06 87 94 8c 1c 55 52 4c 6f 70 65 | en_unknown.jt...M..M......URLope |
69b40 | 6e 65 72 2e 6f 70 65 6e 5f 75 6e 6b 6e 6f 77 6e 5f 70 72 6f 78 79 94 6a 74 1f 00 00 4d e9 06 4d | ner.open_unknown_proxy.jt...M..M |
69b60 | ec 06 87 94 8c 12 55 52 4c 6f 70 65 6e 65 72 2e 72 65 74 72 69 65 76 65 94 6a 74 1f 00 00 4d ef | ......URLopener.retrieve.jt...M. |
69b80 | 06 4d 2c 07 87 94 8c 1c 55 52 4c 6f 70 65 6e 65 72 2e 5f 6f 70 65 6e 5f 67 65 6e 65 72 69 63 5f | .M,.....URLopener._open_generic_ |
69ba0 | 68 74 74 70 94 6a 74 1f 00 00 4d 30 07 4d 8a 07 87 94 8c 13 55 52 4c 6f 70 65 6e 65 72 2e 6f 70 | http.jt...M0.M......URLopener.op |
69bc0 | 65 6e 5f 68 74 74 70 94 6a 74 1f 00 00 4d 8c 07 4d 8e 07 87 94 8c 14 55 52 4c 6f 70 65 6e 65 72 | en_http.jt...M..M......URLopener |
69be0 | 2e 68 74 74 70 5f 65 72 72 6f 72 94 6a 74 1f 00 00 4d 90 07 4d 9e 07 87 94 8c 1c 55 52 4c 6f 70 | .http_error.jt...M..M......URLop |
69c00 | 65 6e 65 72 2e 68 74 74 70 5f 65 72 72 6f 72 5f 64 65 66 61 75 6c 74 94 6a 74 1f 00 00 4d a0 07 | ener.http_error_default.jt...M.. |
69c20 | 4d a3 07 87 94 8c 1b 55 52 4c 6f 70 65 6e 65 72 2e 5f 68 74 74 70 73 5f 63 6f 6e 6e 65 63 74 69 | M......URLopener._https_connecti |
69c40 | 6f 6e 94 6a 74 1f 00 00 4d a6 07 4d a9 07 87 94 8c 14 55 52 4c 6f 70 65 6e 65 72 2e 6f 70 65 6e | on.jt...M..M......URLopener.open |
69c60 | 5f 68 74 74 70 73 94 6a 74 1f 00 00 4d ab 07 4d ad 07 87 94 8c 13 55 52 4c 6f 70 65 6e 65 72 2e | _https.jt...M..M......URLopener. |
69c80 | 6f 70 65 6e 5f 66 69 6c 65 94 6a 74 1f 00 00 4d af 07 4d b6 07 87 94 8c 19 55 52 4c 6f 70 65 6e | open_file.jt...M..M......URLopen |
69ca0 | 65 72 2e 6f 70 65 6e 5f 6c 6f 63 61 6c 5f 66 69 6c 65 94 6a 74 1f 00 00 4d b8 07 4d d6 07 87 94 | er.open_local_file.jt...M..M.... |
69cc0 | 8c 12 55 52 4c 6f 70 65 6e 65 72 2e 6f 70 65 6e 5f 66 74 70 94 6a 74 1f 00 00 4d d8 07 4d 10 08 | ..URLopener.open_ftp.jt...M..M.. |
69ce0 | 87 94 8c 13 55 52 4c 6f 70 65 6e 65 72 2e 6f 70 65 6e 5f 64 61 74 61 94 6a 74 1f 00 00 4d 12 08 | ....URLopener.open_data.jt...M.. |
69d00 | 4d 39 08 87 94 8c 09 55 52 4c 6f 70 65 6e 65 72 94 6a 7d 1f 00 00 4d 7f 06 4d 39 08 87 94 8c 17 | M9.....URLopener.j}...M..M9..... |
69d20 | 46 61 6e 63 79 55 52 4c 6f 70 65 6e 65 72 2e 5f 5f 69 6e 69 74 5f 5f 94 6a 74 1f 00 00 4d 3f 08 | FancyURLopener.__init__.jt...M?. |
69d40 | 4d 43 08 87 94 8c 21 46 61 6e 63 79 55 52 4c 6f 70 65 6e 65 72 2e 68 74 74 70 5f 65 72 72 6f 72 | MC....!FancyURLopener.http_error |
69d60 | 5f 64 65 66 61 75 6c 74 94 6a 74 1f 00 00 4d 45 08 4d 47 08 87 94 8c 1d 46 61 6e 63 79 55 52 4c | _default.jt...ME.MG.....FancyURL |
69d80 | 6f 70 65 6e 65 72 2e 68 74 74 70 5f 65 72 72 6f 72 5f 33 30 32 94 6a 74 1f 00 00 4d 49 08 4d 59 | opener.http_error_302.jt...MI.MY |
69da0 | 08 87 94 8c 20 46 61 6e 63 79 55 52 4c 6f 70 65 6e 65 72 2e 72 65 64 69 72 65 63 74 5f 69 6e 74 | .....FancyURLopener.redirect_int |
69dc0 | 65 72 6e 61 6c 94 6a 74 1f 00 00 4d 5b 08 4d 75 08 87 94 8c 1d 46 61 6e 63 79 55 52 4c 6f 70 65 | ernal.jt...M[.Mu.....FancyURLope |
69de0 | 6e 65 72 2e 68 74 74 70 5f 65 72 72 6f 72 5f 33 30 31 94 6a 74 1f 00 00 4d 77 08 4d 79 08 87 94 | ner.http_error_301.jt...Mw.My... |
69e00 | 8c 1d 46 61 6e 63 79 55 52 4c 6f 70 65 6e 65 72 2e 68 74 74 70 5f 65 72 72 6f 72 5f 33 30 33 94 | ..FancyURLopener.http_error_303. |
69e20 | 6a 74 1f 00 00 4d 7b 08 4d 7d 08 87 94 8c 1d 46 61 6e 63 79 55 52 4c 6f 70 65 6e 65 72 2e 68 74 | jt...M{.M}.....FancyURLopener.ht |
69e40 | 74 70 5f 65 72 72 6f 72 5f 33 30 37 94 6a 74 1f 00 00 4d 7f 08 4d 84 08 87 94 8c 1d 46 61 6e 63 | tp_error_307.jt...M..M......Fanc |
69e60 | 79 55 52 4c 6f 70 65 6e 65 72 2e 68 74 74 70 5f 65 72 72 6f 72 5f 34 30 31 94 6a 74 1f 00 00 4d | yURLopener.http_error_401.jt...M |
69e80 | 86 08 4d 9d 08 87 94 8c 1d 46 61 6e 63 79 55 52 4c 6f 70 65 6e 65 72 2e 68 74 74 70 5f 65 72 72 | ..M......FancyURLopener.http_err |
69ea0 | 6f 72 5f 34 30 37 94 6a 74 1f 00 00 4d 9f 08 4d b6 08 87 94 8c 2a 46 61 6e 63 79 55 52 4c 6f 70 | or_407.jt...M..M.....*FancyURLop |
69ec0 | 65 6e 65 72 2e 72 65 74 72 79 5f 70 72 6f 78 79 5f 68 74 74 70 5f 62 61 73 69 63 5f 61 75 74 68 | ener.retry_proxy_http_basic_auth |
69ee0 | 94 6a 74 1f 00 00 4d b8 08 4d c8 08 87 94 8c 2b 46 61 6e 63 79 55 52 4c 6f 70 65 6e 65 72 2e 72 | .jt...M..M.....+FancyURLopener.r |
69f00 | 65 74 72 79 5f 70 72 6f 78 79 5f 68 74 74 70 73 5f 62 61 73 69 63 5f 61 75 74 68 94 6a 74 1f 00 | etry_proxy_https_basic_auth.jt.. |
69f20 | 00 4d ca 08 4d da 08 87 94 8c 24 46 61 6e 63 79 55 52 4c 6f 70 65 6e 65 72 2e 72 65 74 72 79 5f | .M..M.....$FancyURLopener.retry_ |
69f40 | 68 74 74 70 5f 62 61 73 69 63 5f 61 75 74 68 94 6a 74 1f 00 00 4d dc 08 4d e8 08 87 94 8c 25 46 | http_basic_auth.jt...M..M.....%F |
69f60 | 61 6e 63 79 55 52 4c 6f 70 65 6e 65 72 2e 72 65 74 72 79 5f 68 74 74 70 73 5f 62 61 73 69 63 5f | ancyURLopener.retry_https_basic_ |
69f80 | 61 75 74 68 94 6a 74 1f 00 00 4d ea 08 4d f6 08 87 94 8c 1e 46 61 6e 63 79 55 52 4c 6f 70 65 6e | auth.jt...M..M......FancyURLopen |
69fa0 | 65 72 2e 67 65 74 5f 75 73 65 72 5f 70 61 73 73 77 64 94 6a 74 1f 00 00 4d f8 08 4d 01 09 87 94 | er.get_user_passwd.jt...M..M.... |
69fc0 | 8c 21 46 61 6e 63 79 55 52 4c 6f 70 65 6e 65 72 2e 70 72 6f 6d 70 74 5f 75 73 65 72 5f 70 61 73 | .!FancyURLopener.prompt_user_pas |
69fe0 | 73 77 64 94 6a 74 1f 00 00 4d 03 09 4d 0d 09 87 94 8c 0e 46 61 6e 63 79 55 52 4c 6f 70 65 6e 65 | swd.jt...M..M......FancyURLopene |
6a000 | 72 94 6a 7d 1f 00 00 4d 3c 08 4d 0d 09 87 94 8c 09 6c 6f 63 61 6c 68 6f 73 74 94 6a 74 1f 00 00 | r.j}...M<.M......localhost.jt... |
6a020 | 4d 13 09 4d 18 09 87 94 8c 08 74 68 69 73 68 6f 73 74 94 6a 74 1f 00 00 4d 1b 09 4d 23 09 87 94 | M..M......thishost.jt...M..M#... |
6a040 | 8c 09 66 74 70 65 72 72 6f 72 73 94 6a 74 1f 00 00 4d 26 09 4d 2c 09 87 94 8c 09 6e 6f 68 65 61 | ..ftperrors.jt...M&.M,.....nohea |
6a060 | 64 65 72 73 94 6a 74 1f 00 00 4d 2f 09 4d 34 09 87 94 8c 13 66 74 70 77 72 61 70 70 65 72 2e 5f | ders.jt...M/.M4.....ftpwrapper._ |
6a080 | 5f 69 6e 69 74 5f 5f 94 6a 74 1f 00 00 4d 3c 09 4d 4a 09 87 94 8c 0f 66 74 70 77 72 61 70 70 65 | _init__.jt...M<.MJ.....ftpwrappe |
6a0a0 | 72 2e 69 6e 69 74 94 6a 74 1f 00 00 4d 4c 09 4d 53 09 87 94 8c 13 66 74 70 77 72 61 70 70 65 72 | r.init.jt...ML.MS.....ftpwrapper |
6a0c0 | 2e 72 65 74 72 66 69 6c 65 94 6a 74 1f 00 00 4d 55 09 4d 80 09 87 94 8c 16 66 74 70 77 72 61 70 | .retrfile.jt...MU.M......ftpwrap |
6a0e0 | 70 65 72 2e 65 6e 64 74 72 61 6e 73 66 65 72 94 6a 74 1f 00 00 4d 82 09 4d 83 09 87 94 8c 10 66 | per.endtransfer.jt...M..M......f |
6a100 | 74 70 77 72 61 70 70 65 72 2e 63 6c 6f 73 65 94 6a 74 1f 00 00 4d 85 09 4d 88 09 87 94 8c 15 66 | tpwrapper.close.jt...M..M......f |
6a120 | 74 70 77 72 61 70 70 65 72 2e 66 69 6c 65 5f 63 6c 6f 73 65 94 6a 74 1f 00 00 4d 8a 09 4d 8e 09 | tpwrapper.file_close.jt...M..M.. |
6a140 | 87 94 8c 15 66 74 70 77 72 61 70 70 65 72 2e 72 65 61 6c 5f 63 6c 6f 73 65 94 6a 74 1f 00 00 4d | ....ftpwrapper.real_close.jt...M |
6a160 | 90 09 4d 95 09 87 94 8c 0a 66 74 70 77 72 61 70 70 65 72 94 6a 7d 1f 00 00 4d 39 09 4d 95 09 87 | ..M......ftpwrapper.j}...M9.M... |
6a180 | 94 8c 16 67 65 74 70 72 6f 78 69 65 73 5f 65 6e 76 69 72 6f 6e 6d 65 6e 74 94 6a 74 1f 00 00 4d | ...getproxies_environment.jt...M |
6a1a0 | 98 09 4d b5 09 87 94 8c 18 70 72 6f 78 79 5f 62 79 70 61 73 73 5f 65 6e 76 69 72 6f 6e 6d 65 6e | ..M......proxy_bypass_environmen |
6a1c0 | 74 94 6a 74 1f 00 00 4d b7 09 4d d5 09 87 94 8c 1c 5f 70 72 6f 78 79 5f 62 79 70 61 73 73 5f 6d | t.jt...M..M......_proxy_bypass_m |
6a1e0 | 61 63 6f 73 78 5f 73 79 73 63 6f 6e 66 94 6a 74 1f 00 00 4d da 09 4d 13 0a 87 94 8c 1b 70 72 6f | acosx_sysconf.jt...M..M......pro |
6a200 | 78 79 5f 62 79 70 61 73 73 5f 6d 61 63 6f 73 78 5f 73 79 73 63 6f 6e 66 94 6a 74 1f 00 00 4d 19 | xy_bypass_macosx_sysconf.jt...M. |
6a220 | 0a 4d 1b 0a 87 94 8c 19 67 65 74 70 72 6f 78 69 65 73 5f 6d 61 63 6f 73 78 5f 73 79 73 63 6f 6e | .M......getproxies_macosx_syscon |
6a240 | 66 94 6a 74 1f 00 00 4d 1d 0a 4d 23 0a 87 94 8c 0c 70 72 6f 78 79 5f 62 79 70 61 73 73 94 6a 74 | f.jt...M..M#.....proxy_bypass.jt |
6a260 | 1f 00 00 4d a1 0a 4d ac 0a 87 94 8c 0a 67 65 74 70 72 6f 78 69 65 73 94 6a 74 1f 00 00 4d 66 0a | ...M..M......getproxies.jt...Mf. |
6a280 | 4d 6d 0a 87 94 8c 13 67 65 74 70 72 6f 78 69 65 73 5f 72 65 67 69 73 74 72 79 94 6a 74 1f 00 00 | Mm.....getproxies_registry.jt... |
6a2a0 | 4d 39 0a 4d 64 0a 87 94 8c 15 70 72 6f 78 79 5f 62 79 70 61 73 73 5f 72 65 67 69 73 74 72 79 94 | M9.Md.....proxy_bypass_registry. |
6a2c0 | 6a 74 1f 00 00 4d 6f 0a 4d 9f 0a 87 94 75 7d 94 8c 12 4d 32 43 72 79 70 74 6f 2e 6d 32 75 72 6c | jt...Mo.M....u}...M2Crypto.m2url |
6a2e0 | 6c 69 62 32 94 74 94 8c 14 4d 32 43 72 79 70 74 6f 2e 6d 32 78 6d 6c 72 70 63 6c 69 62 94 28 58 | lib2.t...M2Crypto.m2xmlrpclib.(X |
6a300 | 4e 09 00 00 66 72 6f 6d 20 5f 5f 66 75 74 75 72 65 5f 5f 20 69 6d 70 6f 72 74 20 61 62 73 6f 6c | N...from.__future__.import.absol |
6a320 | 75 74 65 5f 69 6d 70 6f 72 74 0a 0a 22 22 22 4d 32 43 72 79 70 74 6f 20 65 6e 68 61 6e 63 65 6d | ute_import.."""M2Crypto.enhancem |
6a340 | 65 6e 74 20 74 6f 20 78 6d 6c 72 70 63 6c 69 62 2e 0a 0a 43 6f 70 79 72 69 67 68 74 20 28 63 29 | ent.to.xmlrpclib...Copyright.(c) |
6a360 | 20 31 39 39 39 2d 32 30 30 33 20 4e 67 20 50 68 65 6e 67 20 53 69 6f 6e 67 2e 20 41 6c 6c 20 72 | .1999-2003.Ng.Pheng.Siong..All.r |
6a380 | 69 67 68 74 73 20 72 65 73 65 72 76 65 64 2e 22 22 22 0a 0a 69 6d 70 6f 72 74 20 62 61 73 65 36 | ights.reserved."""..import.base6 |
6a3a0 | 34 0a 0a 69 6d 70 6f 72 74 20 4d 32 43 72 79 70 74 6f 0a 0a 66 72 6f 6d 20 4d 32 43 72 79 70 74 | 4..import.M2Crypto..from.M2Crypt |
6a3c0 | 6f 20 69 6d 70 6f 72 74 20 53 53 4c 2c 20 68 74 74 70 73 6c 69 62 2c 20 6d 32 75 72 6c 6c 69 62 | o.import.SSL,.httpslib,.m2urllib |
6a3e0 | 2c 20 73 69 78 2c 20 75 74 69 6c 0a 69 66 20 75 74 69 6c 2e 70 79 32 37 70 6c 75 73 3a 0a 20 20 | ,.six,.util.if.util.py27plus:... |
6a400 | 20 20 66 72 6f 6d 20 74 79 70 69 6e 67 20 69 6d 70 6f 72 74 20 41 6e 79 2c 20 41 6e 79 53 74 72 | ..from.typing.import.Any,.AnyStr |
6a420 | 2c 20 43 61 6c 6c 61 62 6c 65 2c 20 4f 70 74 69 6f 6e 61 6c 20 20 23 20 6e 6f 71 61 0a 0a 66 72 | ,.Callable,.Optional..#.noqa..fr |
6a440 | 6f 6d 20 4d 32 43 72 79 70 74 6f 2e 73 69 78 2e 6d 6f 76 65 73 2e 78 6d 6c 72 70 63 5f 63 6c 69 | om.M2Crypto.six.moves.xmlrpc_cli |
6a460 | 65 6e 74 20 69 6d 70 6f 72 74 20 50 72 6f 74 6f 63 6f 6c 45 72 72 6f 72 2c 20 54 72 61 6e 73 70 | ent.import.ProtocolError,.Transp |
6a480 | 6f 72 74 0a 23 20 73 69 78 2e 6d 6f 76 65 73 20 64 6f 65 73 6e 27 74 20 73 75 70 70 6f 72 74 20 | ort.#.six.moves.doesn't.support. |
6a4a0 | 73 74 61 72 20 69 6d 70 6f 72 74 73 0a 69 66 20 73 69 78 2e 50 59 33 3a 0a 20 20 20 20 66 72 6f | star.imports.if.six.PY3:.....fro |
6a4c0 | 6d 20 78 6d 6c 72 70 63 2e 63 6c 69 65 6e 74 20 69 6d 70 6f 72 74 20 2a 20 20 23 20 6e 6f 71 61 | m.xmlrpc.client.import.*..#.noqa |
6a4e0 | 0a 65 6c 73 65 3a 0a 20 20 20 20 66 72 6f 6d 20 78 6d 6c 72 70 63 6c 69 62 20 69 6d 70 6f 72 74 | .else:.....from.xmlrpclib.import |
6a500 | 20 2a 20 20 23 20 6e 6f 71 61 0a 0a 5f 5f 76 65 72 73 69 6f 6e 5f 5f 20 3d 20 4d 32 43 72 79 70 | .*..#.noqa..__version__.=.M2Cryp |
6a520 | 74 6f 2e 5f 5f 76 65 72 73 69 6f 6e 5f 5f 0a 0a 0a 63 6c 61 73 73 20 53 53 4c 5f 54 72 61 6e 73 | to.__version__...class.SSL_Trans |
6a540 | 70 6f 72 74 28 54 72 61 6e 73 70 6f 72 74 29 3a 0a 0a 20 20 20 20 75 73 65 72 5f 61 67 65 6e 74 | port(Transport):......user_agent |
6a560 | 20 3d 20 22 4d 32 43 72 79 70 74 6f 5f 58 4d 4c 52 50 43 2f 25 73 20 2d 20 25 73 22 20 25 20 28 | .=."M2Crypto_XMLRPC/%s.-.%s".%.( |
6a580 | 5f 5f 76 65 72 73 69 6f 6e 5f 5f 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | __version__,.................... |
6a5a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 72 61 6e 73 | ...........................Trans |
6a5c0 | 70 6f 72 74 2e 75 73 65 72 5f 61 67 65 6e 74 29 0a 0a 20 20 20 20 64 65 66 20 5f 5f 69 6e 69 74 | port.user_agent)......def.__init |
6a5e0 | 5f 5f 28 73 65 6c 66 2c 20 73 73 6c 5f 63 6f 6e 74 65 78 74 3d 4e 6f 6e 65 2c 20 2a 61 72 67 73 | __(self,.ssl_context=None,.*args |
6a600 | 2c 20 2a 2a 6b 77 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 4f 70 74 69 6f 6e | ,.**kw):.........#.type:.(Option |
6a620 | 61 6c 5b 53 53 4c 2e 43 6f 6e 74 65 78 74 5d 2c 20 2a 41 6e 79 2c 20 2a 2a 41 6e 79 29 20 2d 3e | al[SSL.Context],.*Any,.**Any).-> |
6a640 | 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 54 72 61 6e 73 70 6f 72 74 2e 5f 5f 69 6e 69 74 5f 5f | .None.........Transport.__init__ |
6a660 | 28 73 65 6c 66 2c 20 2a 61 72 67 73 2c 20 2a 2a 6b 77 29 0a 20 20 20 20 20 20 20 20 69 66 20 73 | (self,.*args,.**kw).........if.s |
6a680 | 73 6c 5f 63 6f 6e 74 65 78 74 20 69 73 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 | sl_context.is.None:............. |
6a6a0 | 73 65 6c 66 2e 73 73 6c 5f 63 74 78 20 3d 20 53 53 4c 2e 43 6f 6e 74 65 78 74 28 29 0a 20 20 20 | self.ssl_ctx.=.SSL.Context().... |
6a6c0 | 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 73 6c 5f | .....else:.............self.ssl_ |
6a6e0 | 63 74 78 20 3d 20 73 73 6c 5f 63 6f 6e 74 65 78 74 0a 0a 20 20 20 20 64 65 66 20 72 65 71 75 65 | ctx.=.ssl_context......def.reque |
6a700 | 73 74 28 73 65 6c 66 2c 20 68 6f 73 74 2c 20 68 61 6e 64 6c 65 72 2c 20 72 65 71 75 65 73 74 5f | st(self,.host,.handler,.request_ |
6a720 | 62 6f 64 79 2c 20 76 65 72 62 6f 73 65 3d 30 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 | body,.verbose=0):.........#.type |
6a740 | 3a 20 28 41 6e 79 53 74 72 2c 20 43 61 6c 6c 61 62 6c 65 2c 20 62 79 74 65 73 2c 20 69 6e 74 29 | :.(AnyStr,.Callable,.bytes,.int) |
6a760 | 20 2d 3e 20 6f 62 6a 65 63 74 0a 20 20 20 20 20 20 20 20 23 20 48 61 6e 64 6c 65 20 75 73 65 72 | .->.object.........#.Handle.user |
6a780 | 6e 61 6d 65 20 61 6e 64 20 70 61 73 73 77 6f 72 64 2e 0a 20 20 20 20 20 20 20 20 75 73 65 72 5f | name.and.password..........user_ |
6a7a0 | 70 61 73 73 77 64 2c 20 68 6f 73 74 5f 70 6f 72 74 20 3d 20 6d 32 75 72 6c 6c 69 62 2e 73 70 6c | passwd,.host_port.=.m2urllib.spl |
6a7c0 | 69 74 75 73 65 72 28 68 6f 73 74 29 0a 20 20 20 20 20 20 20 20 5f 68 6f 73 74 2c 20 5f 70 6f 72 | ituser(host)........._host,._por |
6a7e0 | 74 20 3d 20 6d 32 75 72 6c 6c 69 62 2e 73 70 6c 69 74 70 6f 72 74 28 68 6f 73 74 5f 70 6f 72 74 | t.=.m2urllib.splitport(host_port |
6a800 | 29 0a 20 20 20 20 20 20 20 20 68 20 3d 20 68 74 74 70 73 6c 69 62 2e 48 54 54 50 53 43 6f 6e 6e | ).........h.=.httpslib.HTTPSConn |
6a820 | 65 63 74 69 6f 6e 28 5f 68 6f 73 74 2c 20 69 6e 74 28 5f 70 6f 72 74 29 2c 0a 20 20 20 20 20 20 | ection(_host,.int(_port),....... |
6a840 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 | ...............................s |
6a860 | 73 6c 5f 63 6f 6e 74 65 78 74 3d 73 65 6c 66 2e 73 73 6c 5f 63 74 78 29 0a 20 20 20 20 20 20 20 | sl_context=self.ssl_ctx)........ |
6a880 | 20 69 66 20 76 65 72 62 6f 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 68 2e 73 65 74 5f 64 | .if.verbose:.............h.set_d |
6a8a0 | 65 62 75 67 6c 65 76 65 6c 28 31 29 0a 0a 20 20 20 20 20 20 20 20 23 20 57 68 61 74 20 66 6f 6c | ebuglevel(1)..........#.What.fol |
6a8c0 | 6c 6f 77 73 20 69 73 20 61 73 20 69 6e 20 78 6d 6c 72 70 63 6c 69 62 2e 54 72 61 6e 73 70 6f 72 | lows.is.as.in.xmlrpclib.Transpor |
6a8e0 | 74 2e 20 28 45 78 63 65 70 74 20 74 68 65 20 61 75 74 68 7a 20 62 69 74 2e 29 0a 20 20 20 20 20 | t..(Except.the.authz.bit.)...... |
6a900 | 20 20 20 68 2e 70 75 74 72 65 71 75 65 73 74 28 22 50 4f 53 54 22 2c 20 68 61 6e 64 6c 65 72 29 | ...h.putrequest("POST",.handler) |
6a920 | 0a 0a 20 20 20 20 20 20 20 20 23 20 72 65 71 75 69 72 65 64 20 62 79 20 48 54 54 50 2f 31 2e 31 | ..........#.required.by.HTTP/1.1 |
6a940 | 0a 20 20 20 20 20 20 20 20 68 2e 70 75 74 68 65 61 64 65 72 28 22 48 6f 73 74 22 2c 20 5f 68 6f | .........h.putheader("Host",._ho |
6a960 | 73 74 29 0a 0a 20 20 20 20 20 20 20 20 23 20 72 65 71 75 69 72 65 64 20 62 79 20 58 4d 4c 2d 52 | st)..........#.required.by.XML-R |
6a980 | 50 43 0a 20 20 20 20 20 20 20 20 68 2e 70 75 74 68 65 61 64 65 72 28 22 55 73 65 72 2d 41 67 65 | PC.........h.putheader("User-Age |
6a9a0 | 6e 74 22 2c 20 73 65 6c 66 2e 75 73 65 72 5f 61 67 65 6e 74 29 0a 20 20 20 20 20 20 20 20 68 2e | nt",.self.user_agent).........h. |
6a9c0 | 70 75 74 68 65 61 64 65 72 28 22 43 6f 6e 74 65 6e 74 2d 54 79 70 65 22 2c 20 22 74 65 78 74 2f | putheader("Content-Type",."text/ |
6a9e0 | 78 6d 6c 22 29 0a 20 20 20 20 20 20 20 20 68 2e 70 75 74 68 65 61 64 65 72 28 22 43 6f 6e 74 65 | xml").........h.putheader("Conte |
6aa00 | 6e 74 2d 4c 65 6e 67 74 68 22 2c 20 73 74 72 28 6c 65 6e 28 72 65 71 75 65 73 74 5f 62 6f 64 79 | nt-Length",.str(len(request_body |
6aa20 | 29 29 29 0a 0a 20 20 20 20 20 20 20 20 23 20 41 75 74 68 6f 72 69 73 61 74 69 6f 6e 2e 0a 20 20 | )))..........#.Authorisation.... |
6aa40 | 20 20 20 20 20 20 69 66 20 75 73 65 72 5f 70 61 73 73 77 64 20 69 73 20 6e 6f 74 20 4e 6f 6e 65 | ......if.user_passwd.is.not.None |
6aa60 | 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 61 75 74 68 20 3d 20 62 61 73 65 36 34 2e 65 6e 63 6f | :.............auth.=.base64.enco |
6aa80 | 64 65 73 74 72 69 6e 67 28 75 73 65 72 5f 70 61 73 73 77 64 29 2e 73 74 72 69 70 28 29 0a 20 20 | destring(user_passwd).strip()... |
6aaa0 | 20 20 20 20 20 20 20 20 20 20 68 2e 70 75 74 68 65 61 64 65 72 28 27 41 75 74 68 6f 72 69 7a 61 | ..........h.putheader('Authoriza |
6aac0 | 74 69 6f 6e 27 2c 20 27 42 61 73 69 63 20 25 73 27 20 25 20 61 75 74 68 29 0a 0a 20 20 20 20 20 | tion',.'Basic.%s'.%.auth)....... |
6aae0 | 20 20 20 68 2e 65 6e 64 68 65 61 64 65 72 73 28 29 0a 0a 20 20 20 20 20 20 20 20 69 66 20 72 65 | ...h.endheaders()..........if.re |
6ab00 | 71 75 65 73 74 5f 62 6f 64 79 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 68 2e 73 65 6e 64 28 72 | quest_body:.............h.send(r |
6ab20 | 65 71 75 65 73 74 5f 62 6f 64 79 29 0a 0a 20 20 20 20 20 20 20 20 65 72 72 63 6f 64 65 2c 20 65 | equest_body)..........errcode,.e |
6ab40 | 72 72 6d 73 67 2c 20 68 65 61 64 65 72 73 20 3d 20 68 2e 67 65 74 72 65 70 6c 79 28 29 0a 0a 20 | rrmsg,.headers.=.h.getreply()... |
6ab60 | 20 20 20 20 20 20 20 69 66 20 65 72 72 63 6f 64 65 20 21 3d 20 32 30 30 3a 0a 20 20 20 20 20 20 | .......if.errcode.!=.200:....... |
6ab80 | 20 20 20 20 20 20 72 61 69 73 65 20 50 72 6f 74 6f 63 6f 6c 45 72 72 6f 72 28 0a 20 20 20 20 20 | ......raise.ProtocolError(...... |
6aba0 | 20 20 20 20 20 20 20 20 20 20 20 68 6f 73 74 20 2b 20 68 61 6e 64 6c 65 72 2c 0a 20 20 20 20 20 | ...........host.+.handler,...... |
6abc0 | 20 20 20 20 20 20 20 20 20 20 20 65 72 72 63 6f 64 65 2c 20 65 72 72 6d 73 67 2c 0a 20 20 20 20 | ...........errcode,.errmsg,..... |
6abe0 | 20 20 20 20 20 20 20 20 20 20 20 20 68 65 61 64 65 72 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ............headers............. |
6ac00 | 29 0a 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 76 65 72 62 6f 73 65 20 3d 20 76 65 72 62 6f 73 | )..........self.verbose.=.verbos |
6ac20 | 65 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 2e 70 61 72 73 65 5f 72 65 73 70 | e.........return.self.parse_resp |
6ac40 | 6f 6e 73 65 28 68 2e 67 65 74 66 69 6c 65 28 29 29 0a 94 7d 94 28 8c 16 53 53 4c 5f 54 72 61 6e | onse(h.getfile())..}.(..SSL_Tran |
6ac60 | 73 70 6f 72 74 2e 5f 5f 69 6e 69 74 5f 5f 94 6a 74 1f 00 00 4b 1e 4b 24 87 94 8c 15 53 53 4c 5f | sport.__init__.jt...K.K$....SSL_ |
6ac80 | 54 72 61 6e 73 70 6f 72 74 2e 72 65 71 75 65 73 74 94 6a 74 1f 00 00 4b 26 4b 4f 87 94 8c 0d 53 | Transport.request.jt...K&KO....S |
6aca0 | 53 4c 5f 54 72 61 6e 73 70 6f 72 74 94 6a 7d 1f 00 00 4b 19 4b 4f 87 94 75 7d 94 28 8c 0d 53 53 | SL_Transport.j}...K.KO..u}.(..SS |
6acc0 | 4c 5f 54 72 61 6e 73 70 6f 72 74 94 6a 53 02 00 00 8c 15 53 53 4c 5f 54 72 61 6e 73 70 6f 72 74 | L_Transport.jS.....SSL_Transport |
6ace0 | 2e 72 65 71 75 65 73 74 94 6a 53 02 00 00 75 8c 14 4d 32 43 72 79 70 74 6f 2e 6d 32 78 6d 6c 72 | .request.jS...u..M2Crypto.m2xmlr |
6ad00 | 70 63 6c 69 62 94 74 94 8c 12 4d 32 43 72 79 70 74 6f 2e 74 68 72 65 61 64 69 6e 67 94 28 58 bf | pclib.t...M2Crypto.threading.(X. |
6ad20 | 01 00 00 66 72 6f 6d 20 5f 5f 66 75 74 75 72 65 5f 5f 20 69 6d 70 6f 72 74 20 61 62 73 6f 6c 75 | ...from.__future__.import.absolu |
6ad40 | 74 65 5f 69 6d 70 6f 72 74 0a 0a 22 22 22 0a 4d 32 43 72 79 70 74 6f 20 74 68 72 65 61 64 69 6e | te_import..""".M2Crypto.threadin |
6ad60 | 67 20 73 75 70 70 6f 72 74 2c 20 72 65 71 75 69 72 65 64 20 66 6f 72 20 6d 75 6c 74 69 74 68 72 | g.support,.required.for.multithr |
6ad80 | 65 61 64 65 64 20 61 70 70 6c 69 63 61 74 69 6f 6e 73 2e 0a 0a 43 6f 70 79 72 69 67 68 74 20 28 | eaded.applications...Copyright.( |
6ada0 | 63 29 20 31 39 39 39 2d 32 30 30 33 20 4e 67 20 50 68 65 6e 67 20 53 69 6f 6e 67 2e 20 41 6c 6c | c).1999-2003.Ng.Pheng.Siong..All |
6adc0 | 20 72 69 67 68 74 73 20 72 65 73 65 72 76 65 64 2e 22 22 22 0a 0a 23 20 4d 32 43 72 79 70 74 6f | .rights.reserved."""..#.M2Crypto |
6ade0 | 0a 66 72 6f 6d 20 4d 32 43 72 79 70 74 6f 20 69 6d 70 6f 72 74 20 6d 32 0a 0a 0a 64 65 66 20 69 | .from.M2Crypto.import.m2...def.i |
6ae00 | 6e 69 74 28 29 3a 0a 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 | nit():.....#.type:.().->.None... |
6ae20 | 20 20 22 22 22 0a 20 20 20 20 49 6e 69 74 69 61 6c 69 7a 65 20 74 68 72 65 61 64 69 6e 67 20 73 | ..""".....Initialize.threading.s |
6ae40 | 75 70 70 6f 72 74 2e 0a 20 20 20 20 22 22 22 0a 20 20 20 20 6d 32 2e 74 68 72 65 61 64 69 6e 67 | upport......""".....m2.threading |
6ae60 | 5f 69 6e 69 74 28 29 0a 0a 0a 64 65 66 20 63 6c 65 61 6e 75 70 28 29 3a 0a 20 20 20 20 23 20 74 | _init()...def.cleanup():.....#.t |
6ae80 | 79 70 65 3a 20 28 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 22 22 22 0a 20 20 20 20 45 6e 64 20 | ype:.().->.None.....""".....End. |
6aea0 | 61 6e 64 20 63 6c 65 61 6e 75 70 20 74 68 72 65 61 64 69 6e 67 20 73 75 70 70 6f 72 74 2e 0a 20 | and.cleanup.threading.support... |
6aec0 | 20 20 20 22 22 22 0a 20 20 20 20 6d 32 2e 74 68 72 65 61 64 69 6e 67 5f 63 6c 65 61 6e 75 70 28 | ...""".....m2.threading_cleanup( |
6aee0 | 29 0a 94 7d 94 28 8c 04 69 6e 69 74 94 6a 74 1f 00 00 4b 0c 4b 11 87 94 8c 07 63 6c 65 61 6e 75 | )..}.(..init.jt...K.K.....cleanu |
6af00 | 70 94 6a 74 1f 00 00 4b 14 4b 19 87 94 75 7d 94 28 8c 07 63 6c 65 61 6e 75 70 94 6a 53 02 00 00 | p.jt...K.K...u}.(..cleanup.jS... |
6af20 | 8c 04 69 6e 69 74 94 6a 53 02 00 00 75 8c 12 4d 32 43 72 79 70 74 6f 2e 74 68 72 65 61 64 69 6e | ..init.jS...u..M2Crypto.threadin |
6af40 | 67 94 74 94 8c 0d 4d 32 43 72 79 70 74 6f 2e 75 74 69 6c 94 28 58 fd 07 00 00 66 72 6f 6d 20 5f | g.t...M2Crypto.util.(X....from._ |
6af60 | 5f 66 75 74 75 72 65 5f 5f 20 69 6d 70 6f 72 74 20 61 62 73 6f 6c 75 74 65 5f 69 6d 70 6f 72 74 | _future__.import.absolute_import |
6af80 | 0a 22 22 22 0a 20 20 20 20 4d 32 43 72 79 70 74 6f 20 75 74 69 6c 69 74 79 20 72 6f 75 74 69 6e | .""".....M2Crypto.utility.routin |
6afa0 | 65 73 2e 0a 0a 20 20 20 20 4e 4f 54 48 49 4e 47 20 49 4e 20 54 48 49 53 20 4d 4f 44 55 4c 45 20 | es.......NOTHING.IN.THIS.MODULE. |
6afc0 | 49 53 20 47 55 41 52 41 4e 54 45 45 44 20 54 4f 20 42 45 20 53 54 41 42 4c 45 2c 20 55 53 45 44 | IS.GUARANTEED.TO.BE.STABLE,.USED |
6afe0 | 20 4f 4e 4c 59 20 46 4f 52 0a 20 20 20 20 49 4e 54 45 52 4e 41 4c 20 50 55 52 50 4f 53 45 53 20 | .ONLY.FOR.....INTERNAL.PURPOSES. |
6b000 | 4f 46 20 4d 32 43 52 59 50 54 4f 2e 0a 0a 20 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 | OF.M2CRYPTO.......Copyright.(c). |
6b020 | 31 39 39 39 2d 32 30 30 34 20 4e 67 20 50 68 65 6e 67 20 53 69 6f 6e 67 2e 20 41 6c 6c 20 72 69 | 1999-2004.Ng.Pheng.Siong..All.ri |
6b040 | 67 68 74 73 20 72 65 73 65 72 76 65 64 2e 0a 0a 20 20 20 20 50 6f 72 74 69 6f 6e 73 20 63 72 65 | ghts.reserved.......Portions.cre |
6b060 | 61 74 65 64 20 62 79 20 4f 70 65 6e 20 53 6f 75 72 63 65 20 41 70 70 6c 69 63 61 74 69 6f 6e 73 | ated.by.Open.Source.Applications |
6b080 | 20 46 6f 75 6e 64 61 74 69 6f 6e 20 28 4f 53 41 46 29 20 61 72 65 0a 20 20 20 20 43 6f 70 79 72 | .Foundation.(OSAF).are.....Copyr |
6b0a0 | 69 67 68 74 20 28 43 29 20 32 30 30 34 20 4f 53 41 46 2e 20 41 6c 6c 20 52 69 67 68 74 73 20 52 | ight.(C).2004.OSAF..All.Rights.R |
6b0c0 | 65 73 65 72 76 65 64 2e 0a 22 22 22 0a 0a 69 6d 70 6f 72 74 20 62 69 6e 61 73 63 69 69 0a 69 6d | eserved.."""..import.binascii.im |
6b0e0 | 70 6f 72 74 20 6c 6f 67 67 69 6e 67 0a 69 6d 70 6f 72 74 20 73 79 73 0a 0a 66 72 6f 6d 20 4d 32 | port.logging.import.sys..from.M2 |
6b100 | 43 72 79 70 74 6f 20 69 6d 70 6f 72 74 20 6d 32 2c 20 70 79 32 37 70 6c 75 73 2c 20 73 69 78 0a | Crypto.import.m2,.py27plus,.six. |
6b120 | 69 66 20 70 79 32 37 70 6c 75 73 3a 0a 20 20 20 20 66 72 6f 6d 20 74 79 70 69 6e 67 20 69 6d 70 | if.py27plus:.....from.typing.imp |
6b140 | 6f 72 74 20 41 6e 79 2c 20 41 6e 79 53 74 72 2c 20 4f 70 74 69 6f 6e 61 6c 2c 20 54 75 70 6c 65 | ort.Any,.AnyStr,.Optional,.Tuple |
6b160 | 2c 20 55 6e 69 6f 6e 20 20 23 20 6e 6f 71 61 0a 20 20 20 20 23 20 73 65 65 20 68 74 74 70 73 3a | ,.Union..#.noqa.....#.see.https: |
6b180 | 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 70 79 74 68 6f 6e 2f 74 79 70 65 73 68 65 64 2f 69 73 73 | //github.com/python/typeshed/iss |
6b1a0 | 75 65 73 2f 32 32 32 0a 20 20 20 20 41 64 64 72 54 79 70 65 20 3d 20 55 6e 69 6f 6e 5b 54 75 70 | ues/222.....AddrType.=.Union[Tup |
6b1c0 | 6c 65 5b 73 74 72 2c 20 69 6e 74 5d 2c 20 73 74 72 5d 0a 0a 6c 6f 67 20 3d 20 6c 6f 67 67 69 6e | le[str,.int],.str]..log.=.loggin |
6b1e0 | 67 2e 67 65 74 4c 6f 67 67 65 72 28 27 75 74 69 6c 27 29 0a 0a 0a 63 6c 61 73 73 20 55 74 69 6c | g.getLogger('util')...class.Util |
6b200 | 45 72 72 6f 72 28 45 78 63 65 70 74 69 6f 6e 29 3a 0a 20 20 20 20 70 61 73 73 0a 0a 6d 32 2e 75 | Error(Exception):.....pass..m2.u |
6b220 | 74 69 6c 5f 69 6e 69 74 28 55 74 69 6c 45 72 72 6f 72 29 0a 0a 0a 64 65 66 20 70 6b 63 73 35 5f | til_init(UtilError)...def.pkcs5_ |
6b240 | 70 61 64 28 64 61 74 61 2c 20 62 6c 6b 6c 65 6e 3d 38 29 3a 0a 20 20 20 20 23 20 74 79 70 65 3a | pad(data,.blklen=8):.....#.type: |
6b260 | 20 28 73 74 72 2c 20 69 6e 74 29 20 2d 3e 20 73 74 72 0a 20 20 20 20 70 61 64 20 3d 20 28 38 20 | .(str,.int).->.str.....pad.=.(8. |
6b280 | 2d 20 28 6c 65 6e 28 64 61 74 61 29 20 25 20 38 29 29 0a 20 20 20 20 72 65 74 75 72 6e 20 64 61 | -.(len(data).%.8)).....return.da |
6b2a0 | 74 61 20 2b 20 63 68 72 28 70 61 64 29 20 2a 20 70 61 64 0a 0a 0a 64 65 66 20 70 6b 63 73 37 5f | ta.+.chr(pad).*.pad...def.pkcs7_ |
6b2c0 | 70 61 64 28 64 61 74 61 2c 20 62 6c 6b 6c 65 6e 29 3a 0a 20 20 20 20 23 20 74 79 70 65 3a 20 28 | pad(data,.blklen):.....#.type:.( |
6b2e0 | 73 74 72 2c 20 69 6e 74 29 20 2d 3e 20 73 74 72 0a 20 20 20 20 69 66 20 62 6c 6b 6c 65 6e 20 3e | str,.int).->.str.....if.blklen.> |
6b300 | 20 32 35 35 3a 0a 20 20 20 20 20 20 20 20 72 61 69 73 65 20 56 61 6c 75 65 45 72 72 6f 72 28 27 | .255:.........raise.ValueError(' |
6b320 | 69 6c 6c 65 67 61 6c 20 62 6c 6f 63 6b 20 73 69 7a 65 27 29 0a 20 20 20 20 70 61 64 20 3d 20 28 | illegal.block.size').....pad.=.( |
6b340 | 62 6c 6b 6c 65 6e 20 2d 20 28 6c 65 6e 28 64 61 74 61 29 20 25 20 62 6c 6b 6c 65 6e 29 29 0a 20 | blklen.-.(len(data).%.blklen)).. |
6b360 | 20 20 20 72 65 74 75 72 6e 20 64 61 74 61 20 2b 20 63 68 72 28 70 61 64 29 20 2a 20 70 61 64 0a | ...return.data.+.chr(pad).*.pad. |
6b380 | 0a 0a 64 65 66 20 62 69 6e 5f 74 6f 5f 68 65 78 28 62 29 3a 0a 20 20 20 20 23 20 74 79 70 65 3a | ..def.bin_to_hex(b):.....#.type: |
6b3a0 | 20 28 62 79 74 65 73 29 20 2d 3e 20 73 74 72 0a 20 20 20 20 72 65 74 75 72 6e 20 73 69 78 2e 65 | .(bytes).->.str.....return.six.e |
6b3c0 | 6e 73 75 72 65 5f 74 65 78 74 28 62 69 6e 61 73 63 69 69 2e 62 32 61 5f 62 61 73 65 36 34 28 62 | nsure_text(binascii.b2a_base64(b |
6b3e0 | 29 5b 3a 2d 31 5d 29 0a 0a 0a 64 65 66 20 6f 63 74 78 5f 74 6f 5f 6e 75 6d 28 78 29 3a 0a 20 20 | )[:-1])...def.octx_to_num(x):... |
6b400 | 20 20 23 20 74 79 70 65 3a 20 28 62 79 74 65 73 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 72 65 74 | ..#.type:.(bytes).->.int.....ret |
6b420 | 75 72 6e 20 69 6e 74 28 62 69 6e 61 73 63 69 69 2e 68 65 78 6c 69 66 79 28 78 29 2c 20 31 36 29 | urn.int(binascii.hexlify(x),.16) |
6b440 | 0a 0a 0a 64 65 66 20 67 65 6e 70 61 72 61 6d 5f 63 61 6c 6c 62 61 63 6b 28 70 2c 20 6e 2c 20 6f | ...def.genparam_callback(p,.n,.o |
6b460 | 75 74 3d 73 79 73 2e 73 74 64 6f 75 74 29 3a 0a 20 20 20 20 23 20 74 79 70 65 3a 20 28 69 6e 74 | ut=sys.stdout):.....#.type:.(int |
6b480 | 2c 20 41 6e 79 2c 20 66 69 6c 65 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 63 68 20 3d 20 5b 27 | ,.Any,.file).->.None.....ch.=.[' |
6b4a0 | 2e 27 2c 20 27 2b 27 2c 20 27 2a 27 2c 20 27 5c 6e 27 5d 0a 20 20 20 20 6f 75 74 2e 77 72 69 74 | .',.'+',.'*',.'\n'].....out.writ |
6b4c0 | 65 28 63 68 5b 70 5d 29 0a 20 20 20 20 6f 75 74 2e 66 6c 75 73 68 28 29 0a 0a 0a 64 65 66 20 71 | e(ch[p]).....out.flush()...def.q |
6b4e0 | 75 69 65 74 5f 67 65 6e 70 61 72 61 6d 5f 63 61 6c 6c 62 61 63 6b 28 70 2c 20 6e 2c 20 6f 75 74 | uiet_genparam_callback(p,.n,.out |
6b500 | 29 3a 0a 20 20 20 20 23 20 74 79 70 65 3a 20 28 41 6e 79 2c 20 41 6e 79 2c 20 41 6e 79 29 20 2d | ):.....#.type:.(Any,.Any,.Any).- |
6b520 | 3e 20 4e 6f 6e 65 0a 20 20 20 20 70 61 73 73 0a 0a 0a 64 65 66 20 70 61 73 73 70 68 72 61 73 65 | >.None.....pass...def.passphrase |
6b540 | 5f 63 61 6c 6c 62 61 63 6b 28 76 2c 20 70 72 6f 6d 70 74 31 3d 27 45 6e 74 65 72 20 70 61 73 73 | _callback(v,.prompt1='Enter.pass |
6b560 | 70 68 72 61 73 65 3a 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | phrase:',....................... |
6b580 | 20 20 70 72 6f 6d 70 74 32 3d 27 56 65 72 69 66 79 20 70 61 73 73 70 68 72 61 73 65 3a 27 29 3a | ..prompt2='Verify.passphrase:'): |
6b5a0 | 0a 20 20 20 20 23 20 74 79 70 65 3a 20 28 62 6f 6f 6c 2c 20 73 74 72 2c 20 73 74 72 29 20 2d 3e | .....#.type:.(bool,.str,.str).-> |
6b5c0 | 20 4f 70 74 69 6f 6e 61 6c 5b 73 74 72 5d 0a 20 20 20 20 66 72 6f 6d 20 67 65 74 70 61 73 73 20 | .Optional[str].....from.getpass. |
6b5e0 | 69 6d 70 6f 72 74 20 67 65 74 70 61 73 73 0a 20 20 20 20 77 68 69 6c 65 20 31 3a 0a 20 20 20 20 | import.getpass.....while.1:..... |
6b600 | 20 20 20 20 74 72 79 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 31 20 3d 20 67 65 74 70 61 73 | ....try:.............p1.=.getpas |
6b620 | 73 28 70 72 6f 6d 70 74 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 76 3a 0a 20 20 20 | s(prompt1).............if.v:.... |
6b640 | 20 20 20 20 20 20 20 20 20 20 20 20 20 70 32 20 3d 20 67 65 74 70 61 73 73 28 70 72 6f 6d 70 74 | .............p2.=.getpass(prompt |
6b660 | 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 70 31 20 3d 3d 20 70 32 3a 0a | 2).................if.p1.==.p2:. |
6b680 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 0a 20 20 20 20 20 20 | ....................break....... |
6b6a0 | 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 | ......else:.................brea |
6b6c0 | 6b 0a 20 20 20 20 20 20 20 20 65 78 63 65 70 74 20 4b 65 79 62 6f 61 72 64 49 6e 74 65 72 72 75 | k.........except.KeyboardInterru |
6b6e0 | 70 74 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 4e 6f 6e 65 0a 20 20 20 20 | pt:.............return.None..... |
6b700 | 72 65 74 75 72 6e 20 70 31 0a 0a 0a 64 65 66 20 6e 6f 5f 70 61 73 73 70 68 72 61 73 65 5f 63 61 | return.p1...def.no_passphrase_ca |
6b720 | 6c 6c 62 61 63 6b 28 2a 61 72 67 73 29 3a 0a 20 20 20 20 23 20 74 79 70 65 3a 20 28 2a 41 6e 79 | llback(*args):.....#.type:.(*Any |
6b740 | 29 20 2d 3e 20 73 74 72 0a 20 20 20 20 72 65 74 75 72 6e 20 27 27 0a 94 7d 94 28 8c 09 55 74 69 | ).->.str.....return.''..}.(..Uti |
6b760 | 6c 45 72 72 6f 72 94 6a 7d 1f 00 00 4b 1b 4b 1c 87 94 8c 09 70 6b 63 73 35 5f 70 61 64 94 6a 74 | lError.j}...K.K.....pkcs5_pad.jt |
6b780 | 1f 00 00 4b 21 4b 24 87 94 8c 09 70 6b 63 73 37 5f 70 61 64 94 6a 74 1f 00 00 4b 27 4b 2c 87 94 | ...K!K$....pkcs7_pad.jt...K'K,.. |
6b7a0 | 8c 0a 62 69 6e 5f 74 6f 5f 68 65 78 94 6a 74 1f 00 00 4b 2f 4b 31 87 94 8c 0b 6f 63 74 78 5f 74 | ..bin_to_hex.jt...K/K1....octx_t |
6b7c0 | 6f 5f 6e 75 6d 94 6a 74 1f 00 00 4b 34 4b 36 87 94 8c 11 67 65 6e 70 61 72 61 6d 5f 63 61 6c 6c | o_num.jt...K4K6....genparam_call |
6b7e0 | 62 61 63 6b 94 6a 74 1f 00 00 4b 39 4b 3d 87 94 8c 17 71 75 69 65 74 5f 67 65 6e 70 61 72 61 6d | back.jt...K9K=....quiet_genparam |
6b800 | 5f 63 61 6c 6c 62 61 63 6b 94 6a 74 1f 00 00 4b 40 4b 42 87 94 8c 13 70 61 73 73 70 68 72 61 73 | _callback.jt...K@KB....passphras |
6b820 | 65 5f 63 61 6c 6c 62 61 63 6b 94 6a 74 1f 00 00 4b 45 4b 54 87 94 8c 16 6e 6f 5f 70 61 73 73 70 | e_callback.jt...KEKT....no_passp |
6b840 | 68 72 61 73 65 5f 63 61 6c 6c 62 61 63 6b 94 6a 74 1f 00 00 4b 57 4b 59 87 94 75 7d 94 28 8c 09 | hrase_callback.jt...KWKY..u}.(.. |
6b860 | 55 74 69 6c 45 72 72 6f 72 94 6a 53 02 00 00 8c 0a 62 69 6e 5f 74 6f 5f 68 65 78 94 6a 53 02 00 | UtilError.jS.....bin_to_hex.jS.. |
6b880 | 00 8c 11 67 65 6e 70 61 72 61 6d 5f 63 61 6c 6c 62 61 63 6b 94 6a 53 02 00 00 8c 16 6e 6f 5f 70 | ...genparam_callback.jS.....no_p |
6b8a0 | 61 73 73 70 68 72 61 73 65 5f 63 61 6c 6c 62 61 63 6b 94 6a 53 02 00 00 8c 0b 6f 63 74 78 5f 74 | assphrase_callback.jS.....octx_t |
6b8c0 | 6f 5f 6e 75 6d 94 6a 53 02 00 00 8c 13 70 61 73 73 70 68 72 61 73 65 5f 63 61 6c 6c 62 61 63 6b | o_num.jS.....passphrase_callback |
6b8e0 | 94 6a 53 02 00 00 8c 09 70 6b 63 73 35 5f 70 61 64 94 6a 53 02 00 00 8c 09 70 6b 63 73 37 5f 70 | .jS.....pkcs5_pad.jS.....pkcs7_p |
6b900 | 61 64 94 6a 53 02 00 00 8c 17 71 75 69 65 74 5f 67 65 6e 70 61 72 61 6d 5f 63 61 6c 6c 62 61 63 | ad.jS.....quiet_genparam_callbac |
6b920 | 6b 94 6a 53 02 00 00 75 8c 0d 4d 32 43 72 79 70 74 6f 2e 75 74 69 6c 94 74 94 8c 0c 4d 32 43 72 | k.jS...u..M2Crypto.util.t...M2Cr |
6b940 | 79 70 74 6f 2e 53 53 4c 94 28 58 aa 04 00 00 66 72 6f 6d 20 5f 5f 66 75 74 75 72 65 5f 5f 20 69 | ypto.SSL.(X....from.__future__.i |
6b960 | 6d 70 6f 72 74 20 61 62 73 6f 6c 75 74 65 5f 69 6d 70 6f 72 74 0a 0a 22 22 22 4d 32 43 72 79 70 | mport.absolute_import.."""M2Cryp |
6b980 | 74 6f 20 53 53 4c 20 73 65 72 76 69 63 65 73 2e 0a 0a 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 | to.SSL.services...Copyright.(c). |
6b9a0 | 31 39 39 39 2d 32 30 30 34 20 4e 67 20 50 68 65 6e 67 20 53 69 6f 6e 67 2e 20 41 6c 6c 20 72 69 | 1999-2004.Ng.Pheng.Siong..All.ri |
6b9c0 | 67 68 74 73 20 72 65 73 65 72 76 65 64 2e 22 22 22 0a 0a 69 6d 70 6f 72 74 20 73 6f 63 6b 65 74 | ghts.reserved."""..import.socket |
6b9e0 | 2c 20 6f 73 0a 0a 23 20 4d 32 43 72 79 70 74 6f 0a 66 72 6f 6d 20 4d 32 43 72 79 70 74 6f 20 69 | ,.os..#.M2Crypto.from.M2Crypto.i |
6ba00 | 6d 70 6f 72 74 20 5f 6d 32 63 72 79 70 74 6f 20 61 73 20 6d 32 0a 0a 0a 63 6c 61 73 73 20 53 53 | mport._m2crypto.as.m2...class.SS |
6ba20 | 4c 45 72 72 6f 72 28 45 78 63 65 70 74 69 6f 6e 29 3a 0a 20 20 20 20 70 61 73 73 0a 0a 0a 63 6c | LError(Exception):.....pass...cl |
6ba40 | 61 73 73 20 53 53 4c 54 69 6d 65 6f 75 74 45 72 72 6f 72 28 53 53 4c 45 72 72 6f 72 2c 20 73 6f | ass.SSLTimeoutError(SSLError,.so |
6ba60 | 63 6b 65 74 2e 74 69 6d 65 6f 75 74 29 3a 0a 20 20 20 20 70 61 73 73 0a 0a 6d 32 2e 73 73 6c 5f | cket.timeout):.....pass..m2.ssl_ |
6ba80 | 69 6e 69 74 28 53 53 4c 45 72 72 6f 72 2c 20 53 53 4c 54 69 6d 65 6f 75 74 45 72 72 6f 72 29 0a | init(SSLError,.SSLTimeoutError). |
6baa0 | 0a 23 20 4d 32 43 72 79 70 74 6f 2e 53 53 4c 0a 66 72 6f 6d 20 4d 32 43 72 79 70 74 6f 2e 53 53 | .#.M2Crypto.SSL.from.M2Crypto.SS |
6bac0 | 4c 2e 43 69 70 68 65 72 20 69 6d 70 6f 72 74 20 43 69 70 68 65 72 2c 20 43 69 70 68 65 72 5f 53 | L.Cipher.import.Cipher,.Cipher_S |
6bae0 | 74 61 63 6b 0a 66 72 6f 6d 20 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f | tack.from.M2Crypto.SSL.Connectio |
6bb00 | 6e 20 69 6d 70 6f 72 74 20 43 6f 6e 6e 65 63 74 69 6f 6e 0a 66 72 6f 6d 20 4d 32 43 72 79 70 74 | n.import.Connection.from.M2Crypt |
6bb20 | 6f 2e 53 53 4c 2e 43 6f 6e 74 65 78 74 20 69 6d 70 6f 72 74 20 43 6f 6e 74 65 78 74 0a 66 72 6f | o.SSL.Context.import.Context.fro |
6bb40 | 6d 20 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 53 53 4c 53 65 72 76 65 72 20 69 6d 70 6f 72 74 20 | m.M2Crypto.SSL.SSLServer.import. |
6bb60 | 53 53 4c 53 65 72 76 65 72 2c 20 54 68 72 65 61 64 69 6e 67 53 53 4c 53 65 72 76 65 72 0a 69 66 | SSLServer,.ThreadingSSLServer.if |
6bb80 | 20 6f 73 2e 6e 61 6d 65 20 21 3d 20 27 6e 74 27 3a 0a 20 20 20 20 66 72 6f 6d 20 4d 32 43 72 79 | .os.name.!=.'nt':.....from.M2Cry |
6bba0 | 70 74 6f 2e 53 53 4c 2e 53 53 4c 53 65 72 76 65 72 20 69 6d 70 6f 72 74 20 46 6f 72 6b 69 6e 67 | pto.SSL.SSLServer.import.Forking |
6bbc0 | 53 53 4c 53 65 72 76 65 72 0a 66 72 6f 6d 20 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 73 73 6c 5f | SSLServer.from.M2Crypto.SSL.ssl_ |
6bbe0 | 64 69 73 70 61 74 63 68 65 72 20 69 6d 70 6f 72 74 20 73 73 6c 5f 64 69 73 70 61 74 63 68 65 72 | dispatcher.import.ssl_dispatcher |
6bc00 | 0a 66 72 6f 6d 20 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 74 69 6d 65 6f 75 74 20 69 6d 70 6f 72 | .from.M2Crypto.SSL.timeout.impor |
6bc20 | 74 20 74 69 6d 65 6f 75 74 2c 20 73 74 72 75 63 74 5f 74 6f 5f 74 69 6d 65 6f 75 74 2c 20 73 74 | t.timeout,.struct_to_timeout,.st |
6bc40 | 72 75 63 74 5f 73 69 7a 65 0a 0a 76 65 72 69 66 79 5f 6e 6f 6e 65 20 3d 20 6d 32 2e 53 53 4c 5f | ruct_size..verify_none.=.m2.SSL_ |
6bc60 | 56 45 52 49 46 59 5f 4e 4f 4e 45 20 20 23 20 74 79 70 65 3a 20 69 6e 74 0a 76 65 72 69 66 79 5f | VERIFY_NONE..#.type:.int.verify_ |
6bc80 | 70 65 65 72 20 3d 20 6d 32 2e 53 53 4c 5f 56 45 52 49 46 59 5f 50 45 45 52 20 20 23 20 74 79 70 | peer.=.m2.SSL_VERIFY_PEER..#.typ |
6bca0 | 65 3a 20 69 6e 74 0a 76 65 72 69 66 79 5f 66 61 69 6c 5f 69 66 5f 6e 6f 5f 70 65 65 72 5f 63 65 | e:.int.verify_fail_if_no_peer_ce |
6bcc0 | 72 74 20 3d 20 6d 32 2e 53 53 4c 5f 56 45 52 49 46 59 5f 46 41 49 4c 5f 49 46 5f 4e 4f 5f 50 45 | rt.=.m2.SSL_VERIFY_FAIL_IF_NO_PE |
6bce0 | 45 52 5f 43 45 52 54 20 20 23 20 74 79 70 65 3a 20 69 6e 74 0a 76 65 72 69 66 79 5f 63 6c 69 65 | ER_CERT..#.type:.int.verify_clie |
6bd00 | 6e 74 5f 6f 6e 63 65 20 3d 20 6d 32 2e 53 53 4c 5f 56 45 52 49 46 59 5f 43 4c 49 45 4e 54 5f 4f | nt_once.=.m2.SSL_VERIFY_CLIENT_O |
6bd20 | 4e 43 45 20 20 23 20 74 79 70 65 3a 20 69 6e 74 0a 0a 53 53 4c 5f 53 45 4e 54 5f 53 48 55 54 44 | NCE..#.type:.int..SSL_SENT_SHUTD |
6bd40 | 4f 57 4e 20 3d 20 6d 32 2e 53 53 4c 5f 53 45 4e 54 5f 53 48 55 54 44 4f 57 4e 20 20 23 20 74 79 | OWN.=.m2.SSL_SENT_SHUTDOWN..#.ty |
6bd60 | 70 65 3a 20 69 6e 74 0a 53 53 4c 5f 52 45 43 45 49 56 45 44 5f 53 48 55 54 44 4f 57 4e 20 3d 20 | pe:.int.SSL_RECEIVED_SHUTDOWN.=. |
6bd80 | 6d 32 2e 53 53 4c 5f 52 45 43 45 49 56 45 44 5f 53 48 55 54 44 4f 57 4e 20 20 23 20 74 79 70 65 | m2.SSL_RECEIVED_SHUTDOWN..#.type |
6bda0 | 3a 20 69 6e 74 0a 0a 6f 70 5f 61 6c 6c 20 3d 20 6d 32 2e 53 53 4c 5f 4f 50 5f 41 4c 4c 20 20 23 | :.int..op_all.=.m2.SSL_OP_ALL..# |
6bdc0 | 20 74 79 70 65 3a 20 69 6e 74 0a 6f 70 5f 6e 6f 5f 73 73 6c 76 32 20 3d 20 6d 32 2e 53 53 4c 5f | .type:.int.op_no_sslv2.=.m2.SSL_ |
6bde0 | 4f 50 5f 4e 4f 5f 53 53 4c 76 32 20 20 23 20 74 79 70 65 3a 20 69 6e 74 0a 94 7d 94 28 8c 08 53 | OP_NO_SSLv2..#.type:.int..}.(..S |
6be00 | 53 4c 45 72 72 6f 72 94 6a 7d 1f 00 00 4b 0d 4b 0e 87 94 8c 0f 53 53 4c 54 69 6d 65 6f 75 74 45 | SLError.j}...K.K.....SSLTimeoutE |
6be20 | 72 72 6f 72 94 6a 7d 1f 00 00 4b 11 4b 12 87 94 75 7d 94 28 6a 38 1a 00 00 6a 5c 02 00 00 6a 3a | rror.j}...K.K...u}.(j8...j\...j: |
6be40 | 1a 00 00 6a 5c 02 00 00 75 8c 0c 4d 32 43 72 79 70 74 6f 2e 53 53 4c 94 74 94 8c 14 4d 32 43 72 | ...j\...u..M2Crypto.SSL.t...M2Cr |
6be60 | 79 70 74 6f 2e 53 53 4c 2e 43 68 65 63 6b 65 72 94 28 58 3b 2b 00 00 22 22 22 0a 53 53 4c 20 70 | ypto.SSL.Checker.(X;+..""".SSL.p |
6be80 | 65 65 72 20 63 65 72 74 69 66 69 63 61 74 65 20 63 68 65 63 6b 69 6e 67 20 72 6f 75 74 69 6e 65 | eer.certificate.checking.routine |
6bea0 | 73 0a 0a 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 30 34 2d 32 30 30 37 20 4f 70 65 6e 20 | s..Copyright.(c).2004-2007.Open. |
6bec0 | 53 6f 75 72 63 65 20 41 70 70 6c 69 63 61 74 69 6f 6e 73 20 46 6f 75 6e 64 61 74 69 6f 6e 2e 0a | Source.Applications.Foundation.. |
6bee0 | 41 6c 6c 20 72 69 67 68 74 73 20 72 65 73 65 72 76 65 64 2e 0a 0a 43 6f 70 79 72 69 67 68 74 20 | All.rights.reserved...Copyright. |
6bf00 | 32 30 30 38 20 48 65 69 6b 6b 69 20 54 6f 69 76 6f 6e 65 6e 2e 20 41 6c 6c 20 72 69 67 68 74 73 | 2008.Heikki.Toivonen..All.rights |
6bf20 | 20 72 65 73 65 72 76 65 64 2e 0a 22 22 22 0a 0a 5f 5f 61 6c 6c 5f 5f 20 3d 20 5b 27 53 53 4c 56 | .reserved.."""..__all__.=.['SSLV |
6bf40 | 65 72 69 66 69 63 61 74 69 6f 6e 45 72 72 6f 72 27 2c 20 27 4e 6f 43 65 72 74 69 66 69 63 61 74 | erificationError',.'NoCertificat |
6bf60 | 65 27 2c 20 27 57 72 6f 6e 67 43 65 72 74 69 66 69 63 61 74 65 27 2c 0a 20 20 20 20 20 20 20 20 | e',.'WrongCertificate',......... |
6bf80 | 20 20 20 27 57 72 6f 6e 67 48 6f 73 74 27 2c 20 27 43 68 65 63 6b 65 72 27 5d 0a 0a 69 6d 70 6f | ...'WrongHost',.'Checker']..impo |
6bfa0 | 72 74 20 72 65 0a 69 6d 70 6f 72 74 20 73 6f 63 6b 65 74 0a 0a 66 72 6f 6d 20 4d 32 43 72 79 70 | rt.re.import.socket..from.M2Cryp |
6bfc0 | 74 6f 20 69 6d 70 6f 72 74 20 58 35 30 39 2c 20 6d 32 2c 20 73 69 78 2c 20 75 74 69 6c 20 20 23 | to.import.X509,.m2,.six,.util..# |
6bfe0 | 20 6e 6f 71 61 0a 69 66 20 75 74 69 6c 2e 70 79 32 37 70 6c 75 73 3a 0a 20 20 20 20 66 72 6f 6d | .noqa.if.util.py27plus:.....from |
6c000 | 20 74 79 70 69 6e 67 20 69 6d 70 6f 72 74 20 41 6e 79 53 74 72 2c 20 4f 70 74 69 6f 6e 61 6c 20 | .typing.import.AnyStr,.Optional. |
6c020 | 20 23 20 6e 6f 71 61 0a 0a 0a 63 6c 61 73 73 20 53 53 4c 56 65 72 69 66 69 63 61 74 69 6f 6e 45 | .#.noqa...class.SSLVerificationE |
6c040 | 72 72 6f 72 28 45 78 63 65 70 74 69 6f 6e 29 3a 0a 20 20 20 20 70 61 73 73 0a 0a 0a 63 6c 61 73 | rror(Exception):.....pass...clas |
6c060 | 73 20 4e 6f 43 65 72 74 69 66 69 63 61 74 65 28 53 53 4c 56 65 72 69 66 69 63 61 74 69 6f 6e 45 | s.NoCertificate(SSLVerificationE |
6c080 | 72 72 6f 72 29 3a 0a 20 20 20 20 70 61 73 73 0a 0a 0a 63 6c 61 73 73 20 57 72 6f 6e 67 43 65 72 | rror):.....pass...class.WrongCer |
6c0a0 | 74 69 66 69 63 61 74 65 28 53 53 4c 56 65 72 69 66 69 63 61 74 69 6f 6e 45 72 72 6f 72 29 3a 0a | tificate(SSLVerificationError):. |
6c0c0 | 20 20 20 20 70 61 73 73 0a 0a 0a 63 6c 61 73 73 20 57 72 6f 6e 67 48 6f 73 74 28 53 53 4c 56 65 | ....pass...class.WrongHost(SSLVe |
6c0e0 | 72 69 66 69 63 61 74 69 6f 6e 45 72 72 6f 72 29 3a 0a 20 20 20 20 64 65 66 20 5f 5f 69 6e 69 74 | rificationError):.....def.__init |
6c100 | 5f 5f 28 73 65 6c 66 2c 20 65 78 70 65 63 74 65 64 48 6f 73 74 2c 20 61 63 74 75 61 6c 48 6f 73 | __(self,.expectedHost,.actualHos |
6c120 | 74 2c 20 66 69 65 6c 64 4e 61 6d 65 3d 27 63 6f 6d 6d 6f 6e 4e 61 6d 65 27 29 3a 0a 20 20 20 20 | t,.fieldName='commonName'):..... |
6c140 | 20 20 20 20 23 20 74 79 70 65 3a 20 28 73 74 72 2c 20 41 6e 79 53 74 72 2c 20 73 74 72 29 20 2d | ....#.type:.(str,.AnyStr,.str).- |
6c160 | 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 | >.None.........""".........This. |
6c180 | 65 78 63 65 70 74 69 6f 6e 20 77 69 6c 6c 20 62 65 20 72 61 69 73 65 64 20 69 66 20 74 68 65 20 | exception.will.be.raised.if.the. |
6c1a0 | 63 65 72 74 69 66 69 63 61 74 65 20 72 65 74 75 72 6e 65 64 20 62 79 20 74 68 65 0a 20 20 20 20 | certificate.returned.by.the..... |
6c1c0 | 20 20 20 20 70 65 65 72 20 77 61 73 20 69 73 73 75 65 64 20 66 6f 72 20 61 20 64 69 66 66 65 72 | ....peer.was.issued.for.a.differ |
6c1e0 | 65 6e 74 20 68 6f 73 74 20 74 68 61 6e 20 77 65 20 74 72 69 65 64 20 74 6f 20 63 6f 6e 6e 65 63 | ent.host.than.we.tried.to.connec |
6c200 | 74 20 74 6f 2e 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 63 6f 75 6c 64 20 62 65 20 64 75 65 20 | t.to..........This.could.be.due. |
6c220 | 74 6f 20 61 20 73 65 72 76 65 72 20 6d 69 73 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 6f 72 20 | to.a.server.misconfiguration.or. |
6c240 | 61 6e 20 61 63 74 69 76 65 20 61 74 74 61 63 6b 2e 0a 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 | an.active.attack...........:para |
6c260 | 6d 20 65 78 70 65 63 74 65 64 48 6f 73 74 3a 20 54 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 | m.expectedHost:.The.name.of.the. |
6c280 | 68 6f 73 74 20 77 65 20 65 78 70 65 63 74 65 64 20 74 6f 20 66 69 6e 64 20 69 6e 20 74 68 65 0a | host.we.expected.to.find.in.the. |
6c2a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 65 72 | .............................cer |
6c2c0 | 74 69 66 69 63 61 74 65 2e 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 61 63 74 75 61 6c 48 | tificate..........:param.actualH |
6c2e0 | 6f 73 74 3a 20 20 20 54 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 68 6f 73 74 20 77 65 20 61 | ost:...The.name.of.the.host.we.a |
6c300 | 63 74 75 61 6c 6c 79 20 66 6f 75 6e 64 20 69 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 | ctually.found.in.the............ |
6c320 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 65 72 74 69 66 69 63 61 74 65 2e 0a 20 | ..................certificate... |
6c340 | 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 66 69 65 6c 64 4e 61 6d 65 3a 20 20 20 20 54 68 65 20 | .......:param.fieldName:....The. |
6c360 | 66 69 65 6c 64 20 6e 61 6d 65 20 77 68 65 72 65 20 77 65 20 6e 6f 74 69 63 65 64 20 74 68 65 20 | field.name.where.we.noticed.the. |
6c380 | 65 72 72 6f 72 2e 20 54 68 69 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | error..This..................... |
6c3a0 | 20 20 20 20 20 20 20 20 20 73 68 6f 75 6c 64 20 62 65 20 65 69 74 68 65 72 20 27 63 6f 6d 6d 6f | .........should.be.either.'commo |
6c3c0 | 6e 4e 61 6d 65 27 20 6f 72 20 27 73 75 62 6a 65 63 74 41 6c 74 4e 61 6d 65 27 2e 0a 20 20 20 20 | nName'.or.'subjectAltName'...... |
6c3e0 | 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 69 66 20 66 69 65 6c 64 4e 61 6d 65 20 6e 6f 74 | ....""".........if.fieldName.not |
6c400 | 20 69 6e 20 28 27 63 6f 6d 6d 6f 6e 4e 61 6d 65 27 2c 20 27 73 75 62 6a 65 63 74 41 6c 74 4e 61 | .in.('commonName',.'subjectAltNa |
6c420 | 6d 65 27 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 56 61 6c 75 65 45 72 72 | me'):.............raise.ValueErr |
6c440 | 6f 72 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 55 6e 6b 6e 6f 77 6e 20 66 69 65 | or(.................'Unknown.fie |
6c460 | 6c 64 4e 61 6d 65 2c 20 73 68 6f 75 6c 64 20 62 65 20 65 69 74 68 65 72 20 63 6f 6d 6d 6f 6e 4e | ldName,.should.be.either.commonN |
6c480 | 61 6d 65 20 27 20 2b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 6f 72 20 73 75 62 6a | ame.'.+.................'or.subj |
6c4a0 | 65 63 74 41 6c 74 4e 61 6d 65 27 29 0a 0a 20 20 20 20 20 20 20 20 53 53 4c 56 65 72 69 66 69 63 | ectAltName')..........SSLVerific |
6c4c0 | 61 74 69 6f 6e 45 72 72 6f 72 2e 5f 5f 69 6e 69 74 5f 5f 28 73 65 6c 66 29 0a 20 20 20 20 20 20 | ationError.__init__(self)....... |
6c4e0 | 20 20 73 65 6c 66 2e 65 78 70 65 63 74 65 64 48 6f 73 74 20 3d 20 65 78 70 65 63 74 65 64 48 6f | ..self.expectedHost.=.expectedHo |
6c500 | 73 74 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 75 61 6c 48 6f 73 74 20 3d 20 61 63 74 | st.........self.actualHost.=.act |
6c520 | 75 61 6c 48 6f 73 74 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 66 69 65 6c 64 4e 61 6d 65 20 3d | ualHost.........self.fieldName.= |
6c540 | 20 66 69 65 6c 64 4e 61 6d 65 0a 0a 20 20 20 20 64 65 66 20 5f 5f 73 74 72 5f 5f 28 73 65 6c 66 | .fieldName......def.__str__(self |
6c560 | 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 73 74 72 0a 20 20 20 | ):.........#.type:.().->.str.... |
6c580 | 20 20 20 20 20 73 20 3d 20 27 50 65 65 72 20 63 65 72 74 69 66 69 63 61 74 65 20 25 73 20 64 6f | .....s.=.'Peer.certificate.%s.do |
6c5a0 | 65 73 20 6e 6f 74 20 6d 61 74 63 68 20 68 6f 73 74 2c 20 65 78 70 65 63 74 65 64 20 25 73 2c 20 | es.not.match.host,.expected.%s,. |
6c5c0 | 67 6f 74 20 25 73 27 20 5c 0a 20 20 20 20 20 20 20 20 20 20 20 20 25 20 28 73 65 6c 66 2e 66 69 | got.%s'.\.............%.(self.fi |
6c5e0 | 65 6c 64 4e 61 6d 65 2c 20 73 65 6c 66 2e 65 78 70 65 63 74 65 64 48 6f 73 74 2c 20 73 65 6c 66 | eldName,.self.expectedHost,.self |
6c600 | 2e 61 63 74 75 61 6c 48 6f 73 74 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 69 78 2e | .actualHost).........return.six. |
6c620 | 65 6e 73 75 72 65 5f 74 65 78 74 28 73 29 0a 0a 0a 63 6c 61 73 73 20 43 68 65 63 6b 65 72 28 6f | ensure_text(s)...class.Checker(o |
6c640 | 62 6a 65 63 74 29 3a 0a 0a 20 20 20 20 6e 75 6d 65 72 69 63 49 70 4d 61 74 63 68 20 3d 20 72 65 | bject):......numericIpMatch.=.re |
6c660 | 2e 63 6f 6d 70 69 6c 65 28 27 5e 5b 30 2d 39 5d 2b 28 5c 2e 5b 30 2d 39 5d 2b 29 2a 24 27 29 0a | .compile('^[0-9]+(\.[0-9]+)*$'). |
6c680 | 0a 20 20 20 20 64 65 66 20 5f 5f 69 6e 69 74 5f 5f 28 73 65 6c 66 2c 20 68 6f 73 74 3d 4e 6f 6e | .....def.__init__(self,.host=Non |
6c6a0 | 65 2c 20 70 65 65 72 43 65 72 74 48 61 73 68 3d 4e 6f 6e 65 2c 20 70 65 65 72 43 65 72 74 44 69 | e,.peerCertHash=None,.peerCertDi |
6c6c0 | 67 65 73 74 3d 27 73 68 61 31 27 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 4f | gest='sha1'):.........#.type:.(O |
6c6e0 | 70 74 69 6f 6e 61 6c 5b 73 74 72 5d 2c 20 4f 70 74 69 6f 6e 61 6c 5b 62 79 74 65 73 5d 2c 20 73 | ptional[str],.Optional[bytes],.s |
6c700 | 74 72 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 68 6f 73 74 20 3d 20 | tr).->.None.........self.host.=. |
6c720 | 68 6f 73 74 0a 20 20 20 20 20 20 20 20 69 66 20 70 65 65 72 43 65 72 74 48 61 73 68 20 69 73 20 | host.........if.peerCertHash.is. |
6c740 | 6e 6f 74 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 65 65 72 43 65 72 74 48 61 | not.None:.............peerCertHa |
6c760 | 73 68 20 3d 20 73 69 78 2e 65 6e 73 75 72 65 5f 62 69 6e 61 72 79 28 70 65 65 72 43 65 72 74 48 | sh.=.six.ensure_binary(peerCertH |
6c780 | 61 73 68 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 66 69 6e 67 65 72 70 72 69 6e 74 20 3d 20 | ash).........self.fingerprint.=. |
6c7a0 | 70 65 65 72 43 65 72 74 48 61 73 68 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 64 69 67 65 73 74 | peerCertHash.........self.digest |
6c7c0 | 20 3d 20 70 65 65 72 43 65 72 74 44 69 67 65 73 74 20 20 23 20 74 79 70 65 3a 20 73 74 72 0a 0a | .=.peerCertDigest..#.type:.str.. |
6c7e0 | 20 20 20 20 64 65 66 20 5f 5f 63 61 6c 6c 5f 5f 28 73 65 6c 66 2c 20 70 65 65 72 43 65 72 74 2c | ....def.__call__(self,.peerCert, |
6c800 | 20 68 6f 73 74 3d 4e 6f 6e 65 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 58 35 | .host=None):.........#.type:.(X5 |
6c820 | 30 39 2e 58 35 30 39 2c 20 4f 70 74 69 6f 6e 61 6c 5b 73 74 72 5d 29 20 2d 3e 20 62 6f 6f 6c 0a | 09.X509,.Optional[str]).->.bool. |
6c840 | 20 20 20 20 20 20 20 20 69 66 20 70 65 65 72 43 65 72 74 20 69 73 20 4e 6f 6e 65 3a 0a 20 20 20 | ........if.peerCert.is.None:.... |
6c860 | 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 4e 6f 43 65 72 74 69 66 69 63 61 74 65 28 27 70 65 | .........raise.NoCertificate('pe |
6c880 | 65 72 20 64 69 64 20 6e 6f 74 20 72 65 74 75 72 6e 20 63 65 72 74 69 66 69 63 61 74 65 27 29 0a | er.did.not.return.certificate'). |
6c8a0 | 0a 20 20 20 20 20 20 20 20 69 66 20 68 6f 73 74 20 69 73 20 6e 6f 74 20 4e 6f 6e 65 3a 0a 20 20 | .........if.host.is.not.None:... |
6c8c0 | 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 68 6f 73 74 20 3d 20 68 6f 73 74 20 20 23 20 74 79 | ..........self.host.=.host..#.ty |
6c8e0 | 70 65 3a 20 73 74 72 0a 0a 20 20 20 20 20 20 20 20 69 66 20 73 65 6c 66 2e 66 69 6e 67 65 72 70 | pe:.str..........if.self.fingerp |
6c900 | 72 69 6e 74 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 73 65 6c 66 2e 64 69 67 65 73 74 | rint:.............if.self.digest |
6c920 | 20 6e 6f 74 20 69 6e 20 28 27 73 68 61 31 27 2c 20 27 6d 64 35 27 29 3a 0a 20 20 20 20 20 20 20 | .not.in.('sha1',.'md5'):........ |
6c940 | 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 56 61 6c 75 65 45 72 72 6f 72 28 27 75 6e 73 75 70 | .........raise.ValueError('unsup |
6c960 | 70 6f 72 74 65 64 20 64 69 67 65 73 74 20 22 25 73 22 27 20 25 20 73 65 6c 66 2e 64 69 67 65 73 | ported.digest."%s"'.%.self.diges |
6c980 | 74 29 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 73 65 6c 66 2e 64 69 67 65 73 74 20 3d | t)..............if.self.digest.= |
6c9a0 | 3d 20 27 73 68 61 31 27 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 78 70 65 63 74 | =.'sha1':.................expect |
6c9c0 | 65 64 5f 6c 65 6e 20 3d 20 34 30 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 69 66 20 73 65 6c | ed_len.=.40.............elif.sel |
6c9e0 | 66 2e 64 69 67 65 73 74 20 3d 3d 20 27 6d 64 35 27 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | f.digest.==.'md5':.............. |
6ca00 | 20 20 20 65 78 70 65 63 74 65 64 5f 6c 65 6e 20 3d 20 33 32 0a 20 20 20 20 20 20 20 20 20 20 20 | ...expected_len.=.32............ |
6ca20 | 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 56 61 6c | .else:.................raise.Val |
6ca40 | 75 65 45 72 72 6f 72 28 27 55 6e 65 78 70 65 63 74 65 64 20 64 69 67 65 73 74 20 7b 30 7d 27 2e | ueError('Unexpected.digest.{0}'. |
6ca60 | 66 6f 72 6d 61 74 28 73 65 6c 66 2e 64 69 67 65 73 74 29 29 0a 0a 20 20 20 20 20 20 20 20 20 20 | format(self.digest))............ |
6ca80 | 20 20 69 66 20 6c 65 6e 28 73 65 6c 66 2e 66 69 6e 67 65 72 70 72 69 6e 74 29 20 21 3d 20 65 78 | ..if.len(self.fingerprint).!=.ex |
6caa0 | 70 65 63 74 65 64 5f 6c 65 6e 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 69 73 | pected_len:.................rais |
6cac0 | 65 20 57 72 6f 6e 67 43 65 72 74 69 66 69 63 61 74 65 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 | e.WrongCertificate(............. |
6cae0 | 20 20 20 20 20 20 20 20 28 27 70 65 65 72 20 63 65 72 74 69 66 69 63 61 74 65 20 66 69 6e 67 65 | ........('peer.certificate.finge |
6cb00 | 72 70 72 69 6e 74 20 6c 65 6e 67 74 68 20 64 6f 65 73 20 6e 6f 74 20 6d 61 74 63 68 5c 6e 27 20 | rprint.length.does.not.match\n'. |
6cb20 | 2b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 66 69 6e 67 65 72 70 72 | +......................'fingerpr |
6cb40 | 69 6e 74 3a 20 7b 30 7d 5c 6e 65 78 70 65 63 74 65 64 20 3d 20 7b 31 7d 5c 6e 27 20 2b 0a 20 20 | int:.{0}\nexpected.=.{1}\n'.+... |
6cb60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 6f 62 73 65 72 76 65 64 20 3d 20 7b | ...................'observed.=.{ |
6cb80 | 32 7d 27 29 2e 66 6f 72 6d 61 74 28 73 65 6c 66 2e 66 69 6e 67 65 72 70 72 69 6e 74 2c 0a 20 20 | 2}').format(self.fingerprint,... |
6cba0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
6cbc0 | 20 20 20 20 20 20 20 20 20 20 20 20 65 78 70 65 63 74 65 64 5f 6c 65 6e 2c 0a 20 20 20 20 20 20 | ............expected_len,....... |
6cbe0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
6cc00 | 20 20 20 20 20 20 20 20 6c 65 6e 28 73 65 6c 66 2e 66 69 6e 67 65 72 70 72 69 6e 74 29 29 29 0a | ........len(self.fingerprint))). |
6cc20 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 78 70 65 63 74 65 64 5f 66 69 6e 67 65 72 70 72 69 6e | .............expected_fingerprin |
6cc40 | 74 20 3d 20 73 69 78 2e 65 6e 73 75 72 65 5f 74 65 78 74 28 73 65 6c 66 2e 66 69 6e 67 65 72 70 | t.=.six.ensure_text(self.fingerp |
6cc60 | 72 69 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 6f 62 73 65 72 76 65 64 5f 66 69 6e 67 65 | rint).............observed_finge |
6cc80 | 72 70 72 69 6e 74 20 3d 20 70 65 65 72 43 65 72 74 2e 67 65 74 5f 66 69 6e 67 65 72 70 72 69 6e | rprint.=.peerCert.get_fingerprin |
6cca0 | 74 28 6d 64 3d 73 65 6c 66 2e 64 69 67 65 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 | t(md=self.digest).............if |
6ccc0 | 20 6f 62 73 65 72 76 65 64 5f 66 69 6e 67 65 72 70 72 69 6e 74 20 21 3d 20 65 78 70 65 63 74 65 | .observed_fingerprint.!=.expecte |
6cce0 | 64 5f 66 69 6e 67 65 72 70 72 69 6e 74 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 | d_fingerprint:.................r |
6cd00 | 61 69 73 65 20 57 72 6f 6e 67 43 65 72 74 69 66 69 63 61 74 65 28 0a 20 20 20 20 20 20 20 20 20 | aise.WrongCertificate(.......... |
6cd20 | 20 20 20 20 20 20 20 20 20 20 20 28 27 70 65 65 72 20 63 65 72 74 69 66 69 63 61 74 65 20 66 69 | ...........('peer.certificate.fi |
6cd40 | 6e 67 65 72 70 72 69 6e 74 20 64 6f 65 73 20 6e 6f 74 20 6d 61 74 63 68 5c 6e 27 20 2b 0a 20 20 | ngerprint.does.not.match\n'.+... |
6cd60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 65 78 70 65 63 74 65 64 20 3d 20 7b | ...................'expected.=.{ |
6cd80 | 30 7d 2c 5c 6e 27 20 2b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 6f | 0},\n'.+......................'o |
6cda0 | 62 73 65 72 76 65 64 20 3d 20 7b 31 7d 27 29 2e 66 6f 72 6d 61 74 28 65 78 70 65 63 74 65 64 5f | bserved.=.{1}').format(expected_ |
6cdc0 | 66 69 6e 67 65 72 70 72 69 6e 74 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | fingerprint,.................... |
6cde0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 62 73 65 72 | ...........................obser |
6ce00 | 76 65 64 5f 66 69 6e 67 65 72 70 72 69 6e 74 29 29 0a 0a 20 20 20 20 20 20 20 20 69 66 20 73 65 | ved_fingerprint))..........if.se |
6ce20 | 6c 66 2e 68 6f 73 74 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 68 6f 73 74 56 61 6c 69 64 61 74 | lf.host:.............hostValidat |
6ce40 | 69 6f 6e 50 61 73 73 65 64 20 3d 20 46 61 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 | ionPassed.=.False.............se |
6ce60 | 6c 66 2e 75 73 65 53 75 62 6a 65 63 74 41 6c 74 4e 61 6d 65 4f 6e 6c 79 20 3d 20 46 61 6c 73 65 | lf.useSubjectAltNameOnly.=.False |
6ce80 | 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 23 20 73 75 62 6a 65 63 74 41 6c 74 4e 61 6d 65 3d 44 | ..............#.subjectAltName=D |
6cea0 | 4e 53 3a 73 6f 6d 65 68 6f 73 74 5b 2c 20 2e 2e 2e 5d 2a 0a 20 20 20 20 20 20 20 20 20 20 20 20 | NS:somehost[,....]*............. |
6cec0 | 74 72 79 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 75 62 6a 65 63 74 41 6c 74 4e | try:.................subjectAltN |
6cee0 | 61 6d 65 20 3d 20 70 65 65 72 43 65 72 74 2e 67 65 74 5f 65 78 74 28 27 73 75 62 6a 65 63 74 41 | ame.=.peerCert.get_ext('subjectA |
6cf00 | 6c 74 4e 61 6d 65 27 29 2e 67 65 74 5f 76 61 6c 75 65 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 | ltName').get_value()............ |
6cf20 | 20 20 20 20 20 69 66 20 73 65 6c 66 2e 5f 73 70 6c 69 74 53 75 62 6a 65 63 74 41 6c 74 4e 61 6d | .....if.self._splitSubjectAltNam |
6cf40 | 65 28 73 65 6c 66 2e 68 6f 73 74 2c 20 73 75 62 6a 65 63 74 41 6c 74 4e 61 6d 65 29 3a 0a 20 20 | e(self.host,.subjectAltName):... |
6cf60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 68 6f 73 74 56 61 6c 69 64 61 74 69 6f 6e | ..................hostValidation |
6cf80 | 50 61 73 73 65 64 20 3d 20 54 72 75 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6c | Passed.=.True.................el |
6cfa0 | 69 66 20 73 65 6c 66 2e 75 73 65 53 75 62 6a 65 63 74 41 6c 74 4e 61 6d 65 4f 6e 6c 79 3a 0a 20 | if.self.useSubjectAltNameOnly:.. |
6cfc0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 57 72 6f 6e 67 48 6f | ...................raise.WrongHo |
6cfe0 | 73 74 28 65 78 70 65 63 74 65 64 48 6f 73 74 3d 73 65 6c 66 2e 68 6f 73 74 2c 0a 20 20 20 20 20 | st(expectedHost=self.host,...... |
6d000 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 | ...............................a |
6d020 | 63 74 75 61 6c 48 6f 73 74 3d 73 75 62 6a 65 63 74 41 6c 74 4e 61 6d 65 2c 0a 20 20 20 20 20 20 | ctualHost=subjectAltName,....... |
6d040 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 69 | ..............................fi |
6d060 | 65 6c 64 4e 61 6d 65 3d 27 73 75 62 6a 65 63 74 41 6c 74 4e 61 6d 65 27 29 0a 20 20 20 20 20 20 | eldName='subjectAltName')....... |
6d080 | 20 20 20 20 20 20 65 78 63 65 70 74 20 4c 6f 6f 6b 75 70 45 72 72 6f 72 3a 0a 20 20 20 20 20 20 | ......except.LookupError:....... |
6d0a0 | 20 20 20 20 20 20 20 20 20 20 70 61 73 73 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 23 20 63 6f | ..........pass..............#.co |
6d0c0 | 6d 6d 6f 6e 4e 61 6d 65 3d 73 6f 6d 65 68 6f 73 74 5b 2c 20 2e 2e 2e 5d 2a 0a 20 20 20 20 20 20 | mmonName=somehost[,....]*....... |
6d0e0 | 20 20 20 20 20 20 69 66 20 6e 6f 74 20 68 6f 73 74 56 61 6c 69 64 61 74 69 6f 6e 50 61 73 73 65 | ......if.not.hostValidationPasse |
6d100 | 64 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 68 61 73 43 6f 6d 6d 6f 6e 4e 61 6d 65 | d:.................hasCommonName |
6d120 | 20 3d 20 46 61 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6d 6d 6f 6e 4e | .=.False.................commonN |
6d140 | 61 6d 65 73 20 3d 20 27 27 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 65 6e | ames.=.''.................for.en |
6d160 | 74 72 79 20 69 6e 20 70 65 65 72 43 65 72 74 2e 67 65 74 5f 73 75 62 6a 65 63 74 28 29 2e 67 65 | try.in.peerCert.get_subject().ge |
6d180 | 74 5f 65 6e 74 72 69 65 73 5f 62 79 5f 6e 69 64 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | t_entries_by_nid(............... |
6d1a0 | 20 20 20 20 20 20 20 20 20 20 6d 32 2e 4e 49 44 5f 63 6f 6d 6d 6f 6e 4e 61 6d 65 29 3a 0a 20 20 | ..........m2.NID_commonName):... |
6d1c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 68 61 73 43 6f 6d 6d 6f 6e 4e 61 6d 65 20 | ..................hasCommonName. |
6d1e0 | 3d 20 54 72 75 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6d 6d 6f | =.True.....................commo |
6d200 | 6e 4e 61 6d 65 20 3d 20 65 6e 74 72 79 2e 67 65 74 5f 64 61 74 61 28 29 2e 61 73 5f 74 65 78 74 | nName.=.entry.get_data().as_text |
6d220 | 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 6e 6f 74 20 63 6f | ().....................if.not.co |
6d240 | 6d 6d 6f 6e 4e 61 6d 65 73 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | mmonNames:...................... |
6d260 | 20 20 20 63 6f 6d 6d 6f 6e 4e 61 6d 65 73 20 3d 20 63 6f 6d 6d 6f 6e 4e 61 6d 65 0a 20 20 20 20 | ...commonNames.=.commonName..... |
6d280 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 | ................else:........... |
6d2a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6d 6d 6f 6e 4e 61 6d 65 73 20 2b 3d 20 27 2c 27 | ..............commonNames.+=.',' |
6d2c0 | 20 2b 20 63 6f 6d 6d 6f 6e 4e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .+.commonName................... |
6d2e0 | 20 20 69 66 20 73 65 6c 66 2e 5f 6d 61 74 63 68 28 73 65 6c 66 2e 68 6f 73 74 2c 20 63 6f 6d 6d | ..if.self._match(self.host,.comm |
6d300 | 6f 6e 4e 61 6d 65 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | onName):........................ |
6d320 | 20 68 6f 73 74 56 61 6c 69 64 61 74 69 6f 6e 50 61 73 73 65 64 20 3d 20 54 72 75 65 0a 20 20 20 | .hostValidationPassed.=.True.... |
6d340 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 0a 0a 20 20 20 20 | .....................break...... |
6d360 | 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 6e 6f 74 20 68 61 73 43 6f 6d 6d 6f 6e 4e 61 6d 65 | ............if.not.hasCommonName |
6d380 | 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 57 72 6f 6e | :.....................raise.Wron |
6d3a0 | 67 43 65 72 74 69 66 69 63 61 74 65 28 27 6e 6f 20 63 6f 6d 6d 6f 6e 4e 61 6d 65 20 69 6e 20 70 | gCertificate('no.commonName.in.p |
6d3c0 | 65 65 72 20 63 65 72 74 69 66 69 63 61 74 65 27 29 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | eer.certificate')............... |
6d3e0 | 20 20 20 69 66 20 6e 6f 74 20 68 6f 73 74 56 61 6c 69 64 61 74 69 6f 6e 50 61 73 73 65 64 3a 0a | ...if.not.hostValidationPassed:. |
6d400 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 57 72 6f 6e 67 48 | ....................raise.WrongH |
6d420 | 6f 73 74 28 65 78 70 65 63 74 65 64 48 6f 73 74 3d 73 65 6c 66 2e 68 6f 73 74 2c 0a 20 20 20 20 | ost(expectedHost=self.host,..... |
6d440 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
6d460 | 61 63 74 75 61 6c 48 6f 73 74 3d 63 6f 6d 6d 6f 6e 4e 61 6d 65 73 2c 0a 20 20 20 20 20 20 20 20 | actualHost=commonNames,......... |
6d480 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 69 65 6c | ............................fiel |
6d4a0 | 64 4e 61 6d 65 3d 27 63 6f 6d 6d 6f 6e 4e 61 6d 65 27 29 0a 0a 20 20 20 20 20 20 20 20 72 65 74 | dName='commonName')..........ret |
6d4c0 | 75 72 6e 20 54 72 75 65 0a 0a 20 20 20 20 64 65 66 20 5f 73 70 6c 69 74 53 75 62 6a 65 63 74 41 | urn.True......def._splitSubjectA |
6d4e0 | 6c 74 4e 61 6d 65 28 73 65 6c 66 2c 20 68 6f 73 74 2c 20 73 75 62 6a 65 63 74 41 6c 74 4e 61 6d | ltName(self,.host,.subjectAltNam |
6d500 | 65 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 41 6e 79 53 74 72 2c 20 41 6e 79 | e):.........#.type:.(AnyStr,.Any |
6d520 | 53 74 72 29 20 2d 3e 20 62 6f 6f 6c 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 | Str).->.bool........."""........ |
6d540 | 20 3e 3e 3e 20 63 68 65 63 6b 20 3d 20 43 68 65 63 6b 65 72 28 29 0a 20 20 20 20 20 20 20 20 3e | .>>>.check.=.Checker().........> |
6d560 | 3e 3e 20 63 68 65 63 6b 2e 5f 73 70 6c 69 74 53 75 62 6a 65 63 74 41 6c 74 4e 61 6d 65 28 68 6f | >>.check._splitSubjectAltName(ho |
6d580 | 73 74 3d 27 6d 79 2e 65 78 61 6d 70 6c 65 2e 63 6f 6d 27 2c 0a 20 20 20 20 20 20 20 20 2e 2e 2e | st='my.example.com',............ |
6d5a0 | 20 20 20 20 20 73 75 62 6a 65 63 74 41 6c 74 4e 61 6d 65 3d 27 44 4e 53 3a 6d 79 2e 65 78 61 6d | .....subjectAltName='DNS:my.exam |
6d5c0 | 70 6c 65 2e 63 6f 6d 27 29 0a 20 20 20 20 20 20 20 20 54 72 75 65 0a 20 20 20 20 20 20 20 20 3e | ple.com').........True.........> |
6d5e0 | 3e 3e 20 63 68 65 63 6b 2e 5f 73 70 6c 69 74 53 75 62 6a 65 63 74 41 6c 74 4e 61 6d 65 28 68 6f | >>.check._splitSubjectAltName(ho |
6d600 | 73 74 3d 27 6d 79 2e 65 78 61 6d 70 6c 65 2e 63 6f 6d 27 2c 0a 20 20 20 20 20 20 20 20 2e 2e 2e | st='my.example.com',............ |
6d620 | 20 20 20 20 20 73 75 62 6a 65 63 74 41 6c 74 4e 61 6d 65 3d 27 44 4e 53 3a 2a 2e 65 78 61 6d 70 | .....subjectAltName='DNS:*.examp |
6d640 | 6c 65 2e 63 6f 6d 27 29 0a 20 20 20 20 20 20 20 20 54 72 75 65 0a 20 20 20 20 20 20 20 20 3e 3e | le.com').........True.........>> |
6d660 | 3e 20 63 68 65 63 6b 2e 5f 73 70 6c 69 74 53 75 62 6a 65 63 74 41 6c 74 4e 61 6d 65 28 68 6f 73 | >.check._splitSubjectAltName(hos |
6d680 | 74 3d 27 6d 79 2e 65 78 61 6d 70 6c 65 2e 63 6f 6d 27 2c 0a 20 20 20 20 20 20 20 20 2e 2e 2e 20 | t='my.example.com',............. |
6d6a0 | 20 20 20 20 73 75 62 6a 65 63 74 41 6c 74 4e 61 6d 65 3d 27 44 4e 53 3a 6d 2a 2e 65 78 61 6d 70 | ....subjectAltName='DNS:m*.examp |
6d6c0 | 6c 65 2e 63 6f 6d 27 29 0a 20 20 20 20 20 20 20 20 54 72 75 65 0a 20 20 20 20 20 20 20 20 3e 3e | le.com').........True.........>> |
6d6e0 | 3e 20 63 68 65 63 6b 2e 5f 73 70 6c 69 74 53 75 62 6a 65 63 74 41 6c 74 4e 61 6d 65 28 68 6f 73 | >.check._splitSubjectAltName(hos |
6d700 | 74 3d 27 6d 79 2e 65 78 61 6d 70 6c 65 2e 63 6f 6d 27 2c 0a 20 20 20 20 20 20 20 20 2e 2e 2e 20 | t='my.example.com',............. |
6d720 | 20 20 20 20 73 75 62 6a 65 63 74 41 6c 74 4e 61 6d 65 3d 27 44 4e 53 3a 6d 2a 61 6d 70 6c 65 2e | ....subjectAltName='DNS:m*ample. |
6d740 | 63 6f 6d 27 29 0a 20 20 20 20 20 20 20 20 46 61 6c 73 65 0a 20 20 20 20 20 20 20 20 3e 3e 3e 20 | com').........False.........>>>. |
6d760 | 63 68 65 63 6b 2e 75 73 65 53 75 62 6a 65 63 74 41 6c 74 4e 61 6d 65 4f 6e 6c 79 0a 20 20 20 20 | check.useSubjectAltNameOnly..... |
6d780 | 20 20 20 20 54 72 75 65 0a 20 20 20 20 20 20 20 20 3e 3e 3e 20 63 68 65 63 6b 2e 5f 73 70 6c 69 | ....True.........>>>.check._spli |
6d7a0 | 74 53 75 62 6a 65 63 74 41 6c 74 4e 61 6d 65 28 68 6f 73 74 3d 27 6d 79 2e 65 78 61 6d 70 6c 65 | tSubjectAltName(host='my.example |
6d7c0 | 2e 63 6f 6d 27 2c 0a 20 20 20 20 20 20 20 20 2e 2e 2e 20 20 20 20 20 73 75 62 6a 65 63 74 41 6c | .com',.................subjectAl |
6d7e0 | 74 4e 61 6d 65 3d 27 44 4e 53 3a 6d 2a 61 6d 70 6c 65 2e 63 6f 6d 2c 20 6f 74 68 65 72 6e 61 6d | tName='DNS:m*ample.com,.othernam |
6d800 | 65 3a 3c 75 6e 73 75 70 70 6f 72 74 65 64 3e 27 29 0a 20 20 20 20 20 20 20 20 46 61 6c 73 65 0a | e:<unsupported>').........False. |
6d820 | 20 20 20 20 20 20 20 20 3e 3e 3e 20 63 68 65 63 6b 2e 5f 73 70 6c 69 74 53 75 62 6a 65 63 74 41 | ........>>>.check._splitSubjectA |
6d840 | 6c 74 4e 61 6d 65 28 68 6f 73 74 3d 27 6d 79 2e 65 78 61 6d 70 6c 65 2e 63 6f 6d 27 2c 0a 20 20 | ltName(host='my.example.com',... |
6d860 | 20 20 20 20 20 20 2e 2e 2e 20 20 20 20 20 73 75 62 6a 65 63 74 41 6c 74 4e 61 6d 65 3d 27 44 4e | ..............subjectAltName='DN |
6d880 | 53 3a 6d 2a 61 6d 70 6c 65 2e 63 6f 6d 2c 20 44 4e 53 3a 6d 79 2e 65 78 61 6d 70 6c 65 2e 6f 72 | S:m*ample.com,.DNS:my.example.or |
6d8a0 | 67 27 29 0a 20 20 20 20 20 20 20 20 46 61 6c 73 65 0a 20 20 20 20 20 20 20 20 3e 3e 3e 20 63 68 | g').........False.........>>>.ch |
6d8c0 | 65 63 6b 2e 5f 73 70 6c 69 74 53 75 62 6a 65 63 74 41 6c 74 4e 61 6d 65 28 68 6f 73 74 3d 27 6d | eck._splitSubjectAltName(host='m |
6d8e0 | 79 2e 65 78 61 6d 70 6c 65 2e 63 6f 6d 27 2c 0a 20 20 20 20 20 20 20 20 2e 2e 2e 20 20 20 20 20 | y.example.com',................. |
6d900 | 73 75 62 6a 65 63 74 41 6c 74 4e 61 6d 65 3d 27 44 4e 53 3a 6d 2a 61 6d 70 6c 65 2e 63 6f 6d 2c | subjectAltName='DNS:m*ample.com, |
6d920 | 20 44 4e 53 3a 6d 79 2e 65 78 61 6d 70 6c 65 2e 63 6f 6d 27 29 0a 20 20 20 20 20 20 20 20 54 72 | .DNS:my.example.com').........Tr |
6d940 | 75 65 0a 20 20 20 20 20 20 20 20 3e 3e 3e 20 63 68 65 63 6b 2e 5f 73 70 6c 69 74 53 75 62 6a 65 | ue.........>>>.check._splitSubje |
6d960 | 63 74 41 6c 74 4e 61 6d 65 28 68 6f 73 74 3d 27 6d 79 2e 65 78 61 6d 70 6c 65 2e 63 6f 6d 27 2c | ctAltName(host='my.example.com', |
6d980 | 0a 20 20 20 20 20 20 20 20 2e 2e 2e 20 20 20 20 20 73 75 62 6a 65 63 74 41 6c 74 4e 61 6d 65 3d | .................subjectAltName= |
6d9a0 | 27 44 4e 53 3a 6d 79 2e 65 78 61 6d 70 6c 65 2e 63 6f 6d 2c 20 44 4e 53 3a 6d 79 2e 65 78 61 6d | 'DNS:my.example.com,.DNS:my.exam |
6d9c0 | 70 6c 65 2e 6f 72 67 27 29 0a 20 20 20 20 20 20 20 20 54 72 75 65 0a 20 20 20 20 20 20 20 20 3e | ple.org').........True.........> |
6d9e0 | 3e 3e 20 63 68 65 63 6b 2e 75 73 65 53 75 62 6a 65 63 74 41 6c 74 4e 61 6d 65 4f 6e 6c 79 0a 20 | >>.check.useSubjectAltNameOnly.. |
6da00 | 20 20 20 20 20 20 20 54 72 75 65 0a 20 20 20 20 20 20 20 20 3e 3e 3e 20 63 68 65 63 6b 2e 5f 73 | .......True.........>>>.check._s |
6da20 | 70 6c 69 74 53 75 62 6a 65 63 74 41 6c 74 4e 61 6d 65 28 68 6f 73 74 3d 27 6d 79 2e 65 78 61 6d | plitSubjectAltName(host='my.exam |
6da40 | 70 6c 65 2e 63 6f 6d 27 2c 0a 20 20 20 20 20 20 20 20 2e 2e 2e 20 20 20 20 20 73 75 62 6a 65 63 | ple.com',.................subjec |
6da60 | 74 41 6c 74 4e 61 6d 65 3d 27 27 29 0a 20 20 20 20 20 20 20 20 46 61 6c 73 65 0a 20 20 20 20 20 | tAltName='').........False...... |
6da80 | 20 20 20 3e 3e 3e 20 63 68 65 63 6b 2e 5f 73 70 6c 69 74 53 75 62 6a 65 63 74 41 6c 74 4e 61 6d | ...>>>.check._splitSubjectAltNam |
6daa0 | 65 28 68 6f 73 74 3d 27 6d 79 2e 65 78 61 6d 70 6c 65 2e 63 6f 6d 27 2c 0a 20 20 20 20 20 20 20 | e(host='my.example.com',........ |
6dac0 | 20 2e 2e 2e 20 20 20 20 20 73 75 62 6a 65 63 74 41 6c 74 4e 61 6d 65 3d 27 6f 74 68 65 72 6e 61 | .........subjectAltName='otherna |
6dae0 | 6d 65 3a 3c 75 6e 73 75 70 70 6f 72 74 65 64 3e 27 29 0a 20 20 20 20 20 20 20 20 46 61 6c 73 65 | me:<unsupported>').........False |
6db00 | 0a 20 20 20 20 20 20 20 20 3e 3e 3e 20 63 68 65 63 6b 2e 75 73 65 53 75 62 6a 65 63 74 41 6c 74 | .........>>>.check.useSubjectAlt |
6db20 | 4e 61 6d 65 4f 6e 6c 79 0a 20 20 20 20 20 20 20 20 46 61 6c 73 65 0a 20 20 20 20 20 20 20 20 22 | NameOnly.........False........." |
6db40 | 22 22 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 75 73 65 53 75 62 6a 65 63 74 41 6c 74 4e 61 6d | "".........self.useSubjectAltNam |
6db60 | 65 4f 6e 6c 79 20 3d 20 46 61 6c 73 65 0a 20 20 20 20 20 20 20 20 66 6f 72 20 63 65 72 74 48 6f | eOnly.=.False.........for.certHo |
6db80 | 73 74 20 69 6e 20 73 75 62 6a 65 63 74 41 6c 74 4e 61 6d 65 2e 73 70 6c 69 74 28 27 2c 27 29 3a | st.in.subjectAltName.split(','): |
6dba0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 65 72 74 48 6f 73 74 20 3d 20 63 65 72 74 48 6f 73 74 | .............certHost.=.certHost |
6dbc0 | 2e 6c 6f 77 65 72 28 29 2e 73 74 72 69 70 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 | .lower().strip().............if. |
6dbe0 | 63 65 72 74 48 6f 73 74 5b 3a 34 5d 20 3d 3d 20 27 64 6e 73 3a 27 3a 0a 20 20 20 20 20 20 20 20 | certHost[:4].==.'dns:':......... |
6dc00 | 20 20 20 20 20 20 20 20 73 65 6c 66 2e 75 73 65 53 75 62 6a 65 63 74 41 6c 74 4e 61 6d 65 4f 6e | ........self.useSubjectAltNameOn |
6dc20 | 6c 79 20 3d 20 54 72 75 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 73 65 6c | ly.=.True.................if.sel |
6dc40 | 66 2e 5f 6d 61 74 63 68 28 68 6f 73 74 2c 20 63 65 72 74 48 6f 73 74 5b 34 3a 5d 29 3a 0a 20 20 | f._match(host,.certHost[4:]):... |
6dc60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 54 72 75 65 0a 20 20 | ..................return.True... |
6dc80 | 20 20 20 20 20 20 20 20 20 20 65 6c 69 66 20 63 65 72 74 48 6f 73 74 5b 3a 31 31 5d 20 3d 3d 20 | ..........elif.certHost[:11].==. |
6dca0 | 27 69 70 20 61 64 64 72 65 73 73 3a 27 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 | 'ip.address:':.................s |
6dcc0 | 65 6c 66 2e 75 73 65 53 75 62 6a 65 63 74 41 6c 74 4e 61 6d 65 4f 6e 6c 79 20 3d 20 54 72 75 65 | elf.useSubjectAltNameOnly.=.True |
6dce0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 73 65 6c 66 2e 5f 6d 61 74 63 68 49 | .................if.self._matchI |
6dd00 | 50 41 64 64 72 65 73 73 28 68 6f 73 74 2c 20 63 65 72 74 48 6f 73 74 5b 31 31 3a 5d 29 3a 0a 20 | PAddress(host,.certHost[11:]):.. |
6dd20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 54 72 75 65 0a 20 | ...................return.True.. |
6dd40 | 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 46 61 6c 73 65 0a 0a 20 20 20 20 64 65 66 20 5f 6d 61 | .......return.False......def._ma |
6dd60 | 74 63 68 28 73 65 6c 66 2c 20 68 6f 73 74 2c 20 63 65 72 74 48 6f 73 74 29 3a 0a 20 20 20 20 20 | tch(self,.host,.certHost):...... |
6dd80 | 20 20 20 23 20 74 79 70 65 3a 20 28 73 74 72 2c 20 73 74 72 29 20 2d 3e 20 62 6f 6f 6c 0a 20 20 | ...#.type:.(str,.str).->.bool... |
6dda0 | 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 3e 3e 3e 20 63 68 65 63 6b 20 3d 20 43 68 | ......""".........>>>.check.=.Ch |
6ddc0 | 65 63 6b 65 72 28 29 0a 20 20 20 20 20 20 20 20 3e 3e 3e 20 63 68 65 63 6b 2e 5f 6d 61 74 63 68 | ecker().........>>>.check._match |
6dde0 | 28 68 6f 73 74 3d 27 6d 79 2e 65 78 61 6d 70 6c 65 2e 63 6f 6d 27 2c 20 63 65 72 74 48 6f 73 74 | (host='my.example.com',.certHost |
6de00 | 3d 27 6d 79 2e 65 78 61 6d 70 6c 65 2e 63 6f 6d 27 29 0a 20 20 20 20 20 20 20 20 54 72 75 65 0a | ='my.example.com').........True. |
6de20 | 20 20 20 20 20 20 20 20 3e 3e 3e 20 63 68 65 63 6b 2e 5f 6d 61 74 63 68 28 68 6f 73 74 3d 27 6d | ........>>>.check._match(host='m |
6de40 | 79 2e 65 78 61 6d 70 6c 65 2e 63 6f 6d 27 2c 20 63 65 72 74 48 6f 73 74 3d 27 2a 2e 65 78 61 6d | y.example.com',.certHost='*.exam |
6de60 | 70 6c 65 2e 63 6f 6d 27 29 0a 20 20 20 20 20 20 20 20 54 72 75 65 0a 20 20 20 20 20 20 20 20 3e | ple.com').........True.........> |
6de80 | 3e 3e 20 63 68 65 63 6b 2e 5f 6d 61 74 63 68 28 68 6f 73 74 3d 27 6d 79 2e 65 78 61 6d 70 6c 65 | >>.check._match(host='my.example |
6dea0 | 2e 63 6f 6d 27 2c 20 63 65 72 74 48 6f 73 74 3d 27 6d 2a 2e 65 78 61 6d 70 6c 65 2e 63 6f 6d 27 | .com',.certHost='m*.example.com' |
6dec0 | 29 0a 20 20 20 20 20 20 20 20 54 72 75 65 0a 20 20 20 20 20 20 20 20 3e 3e 3e 20 63 68 65 63 6b | ).........True.........>>>.check |
6dee0 | 2e 5f 6d 61 74 63 68 28 68 6f 73 74 3d 27 6d 79 2e 65 78 61 6d 70 6c 65 2e 63 6f 6d 27 2c 20 63 | ._match(host='my.example.com',.c |
6df00 | 65 72 74 48 6f 73 74 3d 27 6d 2a 2e 45 58 41 4d 50 4c 45 2e 63 6f 6d 27 29 0a 20 20 20 20 20 20 | ertHost='m*.EXAMPLE.com')....... |
6df20 | 20 20 54 72 75 65 0a 20 20 20 20 20 20 20 20 3e 3e 3e 20 63 68 65 63 6b 2e 5f 6d 61 74 63 68 28 | ..True.........>>>.check._match( |
6df40 | 68 6f 73 74 3d 27 6d 79 2e 65 78 61 6d 70 6c 65 2e 63 6f 6d 27 2c 20 63 65 72 74 48 6f 73 74 3d | host='my.example.com',.certHost= |
6df60 | 27 6d 2a 61 6d 70 6c 65 2e 63 6f 6d 27 29 0a 20 20 20 20 20 20 20 20 46 61 6c 73 65 0a 20 20 20 | 'm*ample.com').........False.... |
6df80 | 20 20 20 20 20 3e 3e 3e 20 63 68 65 63 6b 2e 5f 6d 61 74 63 68 28 68 6f 73 74 3d 27 6d 79 2e 65 | .....>>>.check._match(host='my.e |
6dfa0 | 78 61 6d 70 6c 65 2e 63 6f 6d 27 2c 20 63 65 72 74 48 6f 73 74 3d 27 2a 2e 2a 2e 63 6f 6d 27 29 | xample.com',.certHost='*.*.com') |
6dfc0 | 0a 20 20 20 20 20 20 20 20 46 61 6c 73 65 0a 20 20 20 20 20 20 20 20 3e 3e 3e 20 63 68 65 63 6b | .........False.........>>>.check |
6dfe0 | 2e 5f 6d 61 74 63 68 28 68 6f 73 74 3d 27 31 2e 32 2e 33 2e 34 27 2c 20 63 65 72 74 48 6f 73 74 | ._match(host='1.2.3.4',.certHost |
6e000 | 3d 27 31 2e 32 2e 33 2e 34 27 29 0a 20 20 20 20 20 20 20 20 54 72 75 65 0a 20 20 20 20 20 20 20 | ='1.2.3.4').........True........ |
6e020 | 20 3e 3e 3e 20 63 68 65 63 6b 2e 5f 6d 61 74 63 68 28 68 6f 73 74 3d 27 31 2e 32 2e 33 2e 34 27 | .>>>.check._match(host='1.2.3.4' |
6e040 | 2c 20 63 65 72 74 48 6f 73 74 3d 27 2a 2e 32 2e 33 2e 34 27 29 0a 20 20 20 20 20 20 20 20 46 61 | ,.certHost='*.2.3.4').........Fa |
6e060 | 6c 73 65 0a 20 20 20 20 20 20 20 20 3e 3e 3e 20 63 68 65 63 6b 2e 5f 6d 61 74 63 68 28 68 6f 73 | lse.........>>>.check._match(hos |
6e080 | 74 3d 27 31 32 33 34 27 2c 20 63 65 72 74 48 6f 73 74 3d 27 31 32 33 34 27 29 0a 20 20 20 20 20 | t='1234',.certHost='1234')...... |
6e0a0 | 20 20 20 54 72 75 65 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 23 20 58 58 | ...True.........""".........#.XX |
6e0c0 | 58 20 53 65 65 20 52 46 43 20 32 38 31 38 20 61 6e 64 20 33 32 38 30 20 66 6f 72 20 6d 61 74 63 | X.See.RFC.2818.and.3280.for.matc |
6e0e0 | 68 69 6e 67 20 72 75 6c 65 73 2c 20 74 68 69 73 20 69 73 20 6d 61 79 20 6e 6f 74 0a 20 20 20 20 | hing.rules,.this.is.may.not..... |
6e100 | 20 20 20 20 23 20 58 58 58 20 79 65 74 20 62 65 20 63 6f 6d 70 6c 65 74 65 2e 0a 0a 20 20 20 20 | ....#.XXX.yet.be.complete....... |
6e120 | 20 20 20 20 68 6f 73 74 20 3d 20 68 6f 73 74 2e 6c 6f 77 65 72 28 29 0a 20 20 20 20 20 20 20 20 | ....host.=.host.lower()......... |
6e140 | 63 65 72 74 48 6f 73 74 20 3d 20 63 65 72 74 48 6f 73 74 2e 6c 6f 77 65 72 28 29 0a 0a 20 20 20 | certHost.=.certHost.lower()..... |
6e160 | 20 20 20 20 20 69 66 20 68 6f 73 74 20 3d 3d 20 63 65 72 74 48 6f 73 74 3a 0a 20 20 20 20 20 20 | .....if.host.==.certHost:....... |
6e180 | 20 20 20 20 20 20 72 65 74 75 72 6e 20 54 72 75 65 0a 0a 20 20 20 20 20 20 20 20 69 66 20 63 65 | ......return.True..........if.ce |
6e1a0 | 72 74 48 6f 73 74 2e 63 6f 75 6e 74 28 27 2a 27 29 20 3e 20 31 3a 0a 20 20 20 20 20 20 20 20 20 | rtHost.count('*').>.1:.......... |
6e1c0 | 20 20 20 23 20 4e 6f 74 20 73 75 72 65 20 61 62 6f 75 74 20 74 68 69 73 2c 20 62 75 74 20 62 65 | ...#.Not.sure.about.this,.but.be |
6e1e0 | 69 6e 67 20 63 6f 6e 73 65 72 76 61 74 69 76 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 | ing.conservative.............ret |
6e200 | 75 72 6e 20 46 61 6c 73 65 0a 0a 20 20 20 20 20 20 20 20 69 66 20 73 65 6c 66 2e 6e 75 6d 65 72 | urn.False..........if.self.numer |
6e220 | 69 63 49 70 4d 61 74 63 68 2e 6d 61 74 63 68 28 68 6f 73 74 29 20 6f 72 20 5c 0a 20 20 20 20 20 | icIpMatch.match(host).or.\...... |
6e240 | 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 6e 75 6d 65 72 69 63 49 70 4d 61 74 63 68 2e 6d | ...........self.numericIpMatch.m |
6e260 | 61 74 63 68 28 63 65 72 74 48 6f 73 74 2e 72 65 70 6c 61 63 65 28 27 2a 27 2c 20 27 27 29 29 3a | atch(certHost.replace('*',.'')): |
6e280 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 23 20 4e 6f 74 20 73 75 72 65 20 69 66 20 2a 20 61 6c 6c | .............#.Not.sure.if.*.all |
6e2a0 | 6f 77 65 64 20 69 6e 20 6e 75 6d 65 72 69 63 20 49 50 2c 20 62 75 74 20 74 68 69 6e 6b 20 6e 6f | owed.in.numeric.IP,.but.think.no |
6e2c0 | 74 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 46 61 6c 73 65 0a 0a 20 20 20 | t..............return.False..... |
6e2e0 | 20 20 20 20 20 69 66 20 63 65 72 74 48 6f 73 74 2e 66 69 6e 64 28 27 5c 5c 27 29 20 3e 20 2d 31 | .....if.certHost.find('\\').>.-1 |
6e300 | 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 23 20 4e 6f 74 20 73 75 72 65 20 61 62 6f 75 74 20 74 | :.............#.Not.sure.about.t |
6e320 | 68 69 73 2c 20 6d 61 79 62 65 20 73 6f 6d 65 20 65 6e 63 6f 64 69 6e 67 20 6d 69 67 68 74 20 68 | his,.maybe.some.encoding.might.h |
6e340 | 61 76 65 20 74 68 65 73 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 23 20 42 75 74 20 62 65 69 | ave.these..............#.But.bei |
6e360 | 6e 67 20 63 6f 6e 73 65 72 76 61 74 69 76 65 20 66 6f 72 20 6e 6f 77 2c 20 62 65 63 61 75 73 65 | ng.conservative.for.now,.because |
6e380 | 20 72 65 67 65 78 20 62 65 6c 6f 77 20 72 65 6c 69 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 | .regex.below.relies............. |
6e3a0 | 23 20 6f 6e 20 74 68 69 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 46 61 | #.on.this..............return.Fa |
6e3c0 | 6c 73 65 0a 0a 20 20 20 20 20 20 20 20 23 20 4d 61 73 73 61 67 65 20 63 65 72 74 48 6f 73 74 20 | lse..........#.Massage.certHost. |
6e3e0 | 73 6f 20 74 68 61 74 20 69 74 20 63 61 6e 20 62 65 20 75 73 65 64 20 69 6e 20 72 65 67 65 78 0a | so.that.it.can.be.used.in.regex. |
6e400 | 20 20 20 20 20 20 20 20 63 65 72 74 48 6f 73 74 20 3d 20 63 65 72 74 48 6f 73 74 2e 72 65 70 6c | ........certHost.=.certHost.repl |
6e420 | 61 63 65 28 27 2e 27 2c 20 27 5c 2e 27 29 0a 20 20 20 20 20 20 20 20 63 65 72 74 48 6f 73 74 20 | ace('.',.'\.').........certHost. |
6e440 | 3d 20 63 65 72 74 48 6f 73 74 2e 72 65 70 6c 61 63 65 28 27 2a 27 2c 20 27 5b 5e 5c 2e 5d 2a 27 | =.certHost.replace('*',.'[^\.]*' |
6e460 | 29 0a 20 20 20 20 20 20 20 20 69 66 20 72 65 2e 63 6f 6d 70 69 6c 65 28 27 5e 25 73 24 27 20 25 | ).........if.re.compile('^%s$'.% |
6e480 | 20 63 65 72 74 48 6f 73 74 29 2e 6d 61 74 63 68 28 68 6f 73 74 29 3a 0a 20 20 20 20 20 20 20 20 | .certHost).match(host):......... |
6e4a0 | 20 20 20 20 72 65 74 75 72 6e 20 54 72 75 65 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 | ....return.True..........return. |
6e4c0 | 46 61 6c 73 65 0a 0a 20 20 20 20 64 65 66 20 5f 6d 61 74 63 68 49 50 41 64 64 72 65 73 73 28 73 | False......def._matchIPAddress(s |
6e4e0 | 65 6c 66 2c 20 68 6f 73 74 2c 20 63 65 72 74 48 6f 73 74 29 3a 0a 20 20 20 20 20 20 20 20 23 20 | elf,.host,.certHost):.........#. |
6e500 | 74 79 70 65 3a 20 28 41 6e 79 53 74 72 2c 20 41 6e 79 53 74 72 29 20 2d 3e 20 62 6f 6f 6c 0a 20 | type:.(AnyStr,.AnyStr).->.bool.. |
6e520 | 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 3e 3e 3e 20 63 68 65 63 6b 20 3d 20 43 | .......""".........>>>.check.=.C |
6e540 | 68 65 63 6b 65 72 28 29 0a 20 20 20 20 20 20 20 20 3e 3e 3e 20 63 68 65 63 6b 2e 5f 6d 61 74 63 | hecker().........>>>.check._matc |
6e560 | 68 49 50 41 64 64 72 65 73 73 28 68 6f 73 74 3d 27 6d 79 2e 65 78 61 6d 70 6c 65 2e 63 6f 6d 27 | hIPAddress(host='my.example.com' |
6e580 | 2c 0a 20 20 20 20 20 20 20 20 2e 2e 2e 20 20 20 20 20 63 65 72 74 48 6f 73 74 3d 27 6d 79 2e 65 | ,.................certHost='my.e |
6e5a0 | 78 61 6d 70 6c 65 2e 63 6f 6d 27 29 0a 20 20 20 20 20 20 20 20 46 61 6c 73 65 0a 20 20 20 20 20 | xample.com').........False...... |
6e5c0 | 20 20 20 3e 3e 3e 20 63 68 65 63 6b 2e 5f 6d 61 74 63 68 49 50 41 64 64 72 65 73 73 28 68 6f 73 | ...>>>.check._matchIPAddress(hos |
6e5e0 | 74 3d 27 31 2e 32 2e 33 2e 34 27 2c 20 63 65 72 74 48 6f 73 74 3d 27 31 2e 32 2e 33 2e 34 27 29 | t='1.2.3.4',.certHost='1.2.3.4') |
6e600 | 0a 20 20 20 20 20 20 20 20 54 72 75 65 0a 20 20 20 20 20 20 20 20 3e 3e 3e 20 63 68 65 63 6b 2e | .........True.........>>>.check. |
6e620 | 5f 6d 61 74 63 68 49 50 41 64 64 72 65 73 73 28 68 6f 73 74 3d 27 31 2e 32 2e 33 2e 34 27 2c 20 | _matchIPAddress(host='1.2.3.4',. |
6e640 | 63 65 72 74 48 6f 73 74 3d 27 2a 2e 32 2e 33 2e 34 27 29 0a 20 20 20 20 20 20 20 20 46 61 6c 73 | certHost='*.2.3.4').........Fals |
6e660 | 65 0a 20 20 20 20 20 20 20 20 3e 3e 3e 20 63 68 65 63 6b 2e 5f 6d 61 74 63 68 49 50 41 64 64 72 | e.........>>>.check._matchIPAddr |
6e680 | 65 73 73 28 68 6f 73 74 3d 27 31 2e 32 2e 33 2e 34 27 2c 20 63 65 72 74 48 6f 73 74 3d 27 31 2e | ess(host='1.2.3.4',.certHost='1. |
6e6a0 | 32 2e 33 2e 34 30 27 29 0a 20 20 20 20 20 20 20 20 46 61 6c 73 65 0a 20 20 20 20 20 20 20 20 3e | 2.3.40').........False.........> |
6e6c0 | 3e 3e 20 63 68 65 63 6b 2e 5f 6d 61 74 63 68 49 50 41 64 64 72 65 73 73 28 68 6f 73 74 3d 27 3a | >>.check._matchIPAddress(host=': |
6e6e0 | 3a 31 27 2c 20 63 65 72 74 48 6f 73 74 3d 27 3a 3a 31 27 29 0a 20 20 20 20 20 20 20 20 54 72 75 | :1',.certHost='::1').........Tru |
6e700 | 65 0a 20 20 20 20 20 20 20 20 3e 3e 3e 20 63 68 65 63 6b 2e 5f 6d 61 74 63 68 49 50 41 64 64 72 | e.........>>>.check._matchIPAddr |
6e720 | 65 73 73 28 68 6f 73 74 3d 27 3a 3a 31 27 2c 20 63 65 72 74 48 6f 73 74 3d 27 30 3a 30 3a 30 3a | ess(host='::1',.certHost='0:0:0: |
6e740 | 30 3a 30 3a 30 3a 30 3a 31 27 29 0a 20 20 20 20 20 20 20 20 54 72 75 65 0a 20 20 20 20 20 20 20 | 0:0:0:0:1').........True........ |
6e760 | 20 3e 3e 3e 20 63 68 65 63 6b 2e 5f 6d 61 74 63 68 49 50 41 64 64 72 65 73 73 28 68 6f 73 74 3d | .>>>.check._matchIPAddress(host= |
6e780 | 27 3a 3a 31 27 2c 20 63 65 72 74 48 6f 73 74 3d 27 3a 3a 32 27 29 0a 20 20 20 20 20 20 20 20 46 | '::1',.certHost='::2').........F |
6e7a0 | 61 6c 73 65 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 74 72 79 3a 0a 20 20 | alse.........""".........try:... |
6e7c0 | 20 20 20 20 20 20 20 20 20 20 63 61 6e 6f 6e 69 63 61 6c 20 3d 20 73 6f 63 6b 65 74 2e 67 65 74 | ..........canonical.=.socket.get |
6e7e0 | 61 64 64 72 69 6e 66 6f 28 68 6f 73 74 2c 20 30 2c 20 30 2c 20 73 6f 63 6b 65 74 2e 53 4f 43 4b | addrinfo(host,.0,.0,.socket.SOCK |
6e800 | 5f 53 54 52 45 41 4d 2c 20 30 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | _STREAM,.0,..................... |
6e820 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6f 63 6b 65 74 2e 41 49 | .......................socket.AI |
6e840 | 5f 4e 55 4d 45 52 49 43 48 4f 53 54 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 65 72 74 43 61 | _NUMERICHOST).............certCa |
6e860 | 6e 6f 6e 69 63 61 6c 20 3d 20 73 6f 63 6b 65 74 2e 67 65 74 61 64 64 72 69 6e 66 6f 28 63 65 72 | nonical.=.socket.getaddrinfo(cer |
6e880 | 74 48 6f 73 74 2c 20 30 2c 20 30 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | tHost,.0,.0,.................... |
6e8a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6f 63 6b | ............................sock |
6e8c0 | 65 74 2e 53 4f 43 4b 5f 53 54 52 45 41 4d 2c 20 30 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | et.SOCK_STREAM,.0,.............. |
6e8e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
6e900 | 20 20 73 6f 63 6b 65 74 2e 41 49 5f 4e 55 4d 45 52 49 43 48 4f 53 54 29 0a 20 20 20 20 20 20 20 | ..socket.AI_NUMERICHOST)........ |
6e920 | 20 65 78 63 65 70 74 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 46 61 6c 73 | .except:.............return.Fals |
6e940 | 65 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 63 61 6e 6f 6e 69 63 61 6c 20 3d 3d 20 63 65 | e.........return.canonical.==.ce |
6e960 | 72 74 43 61 6e 6f 6e 69 63 61 6c 0a 0a 0a 69 66 20 5f 5f 6e 61 6d 65 5f 5f 20 3d 3d 20 27 5f 5f | rtCanonical...if.__name__.==.'__ |
6e980 | 6d 61 69 6e 5f 5f 27 3a 0a 20 20 20 20 69 6d 70 6f 72 74 20 64 6f 63 74 65 73 74 0a 20 20 20 20 | main__':.....import.doctest..... |
6e9a0 | 64 6f 63 74 65 73 74 2e 74 65 73 74 6d 6f 64 28 29 0a 94 7d 94 28 8c 14 53 53 4c 56 65 72 69 66 | doctest.testmod()..}.(..SSLVerif |
6e9c0 | 69 63 61 74 69 6f 6e 45 72 72 6f 72 94 6a 7d 1f 00 00 4b 15 4b 16 87 94 8c 0d 4e 6f 43 65 72 74 | icationError.j}...K.K.....NoCert |
6e9e0 | 69 66 69 63 61 74 65 94 6a 7d 1f 00 00 4b 19 4b 1a 87 94 8c 10 57 72 6f 6e 67 43 65 72 74 69 66 | ificate.j}...K.K.....WrongCertif |
6ea00 | 69 63 61 74 65 94 6a 7d 1f 00 00 4b 1d 4b 1e 87 94 8c 12 57 72 6f 6e 67 48 6f 73 74 2e 5f 5f 69 | icate.j}...K.K.....WrongHost.__i |
6ea20 | 6e 69 74 5f 5f 94 6a 74 1f 00 00 4b 22 4b 38 87 94 8c 11 57 72 6f 6e 67 48 6f 73 74 2e 5f 5f 73 | nit__.jt...K"K8....WrongHost.__s |
6ea40 | 74 72 5f 5f 94 6a 74 1f 00 00 4b 3a 4b 3e 87 94 8c 09 57 72 6f 6e 67 48 6f 73 74 94 6a 7d 1f 00 | tr__.jt...K:K>....WrongHost.j}.. |
6ea60 | 00 4b 21 4b 3e 87 94 8c 10 43 68 65 63 6b 65 72 2e 5f 5f 69 6e 69 74 5f 5f 94 6a 74 1f 00 00 4b | .K!K>....Checker.__init__.jt...K |
6ea80 | 45 4b 4b 87 94 8c 10 43 68 65 63 6b 65 72 2e 5f 5f 63 61 6c 6c 5f 5f 94 6a 74 1f 00 00 4b 4d 4b | EKK....Checker.__call__.jt...KMK |
6eaa0 | 99 87 94 8c 1c 43 68 65 63 6b 65 72 2e 5f 73 70 6c 69 74 53 75 62 6a 65 63 74 41 6c 74 4e 61 6d | .....Checker._splitSubjectAltNam |
6eac0 | 65 94 6a 74 1f 00 00 4b 9b 4b cf 87 94 8c 0e 43 68 65 63 6b 65 72 2e 5f 6d 61 74 63 68 94 6a 74 | e.jt...K.K.....Checker._match.jt |
6eae0 | 1f 00 00 4b d1 4d 06 01 87 94 8c 17 43 68 65 63 6b 65 72 2e 5f 6d 61 74 63 68 49 50 41 64 64 72 | ...K.M......Checker._matchIPAddr |
6eb00 | 65 73 73 94 6a 74 1f 00 00 4d 08 01 4d 24 01 87 94 8c 07 43 68 65 63 6b 65 72 94 6a 7d 1f 00 00 | ess.jt...M..M$.....Checker.j}... |
6eb20 | 4b 41 4d 24 01 87 94 75 7d 94 28 6a 3f 1a 00 00 6a 5c 02 00 00 6a 41 1a 00 00 6a 5c 02 00 00 6a | KAM$...u}.(j?...j\...jA...j\...j |
6eb40 | 43 1a 00 00 6a 5c 02 00 00 6a 45 1a 00 00 6a 5c 02 00 00 8c 07 43 68 65 63 6b 65 72 94 6a 5c 02 | C...j\...jE...j\.....Checker.j\. |
6eb60 | 00 00 75 8c 14 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 68 65 63 6b 65 72 94 74 94 8c 13 4d 32 | ..u..M2Crypto.SSL.Checker.t...M2 |
6eb80 | 43 72 79 70 74 6f 2e 53 53 4c 2e 43 69 70 68 65 72 94 28 58 14 06 00 00 22 22 22 53 53 4c 20 43 | Crypto.SSL.Cipher.(X...."""SSL.C |
6eba0 | 69 70 68 65 72 73 0a 0a 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 39 39 2d 32 30 30 33 20 | iphers..Copyright.(c).1999-2003. |
6ebc0 | 4e 67 20 50 68 65 6e 67 20 53 69 6f 6e 67 2e 20 41 6c 6c 20 72 69 67 68 74 73 20 72 65 73 65 72 | Ng.Pheng.Siong..All.rights.reser |
6ebe0 | 76 65 64 2e 22 22 22 0a 0a 5f 5f 61 6c 6c 5f 5f 20 3d 20 5b 27 43 69 70 68 65 72 27 2c 20 27 43 | ved."""..__all__.=.['Cipher',.'C |
6ec00 | 69 70 68 65 72 5f 53 74 61 63 6b 27 5d 0a 0a 66 72 6f 6d 20 4d 32 43 72 79 70 74 6f 20 69 6d 70 | ipher_Stack']..from.M2Crypto.imp |
6ec20 | 6f 72 74 20 6d 32 2c 20 70 79 32 37 70 6c 75 73 2c 20 73 69 78 0a 69 66 20 70 79 32 37 70 6c 75 | ort.m2,.py27plus,.six.if.py27plu |
6ec40 | 73 3a 0a 20 20 20 20 66 72 6f 6d 20 74 79 70 69 6e 67 20 69 6d 70 6f 72 74 20 49 74 65 72 61 62 | s:.....from.typing.import.Iterab |
6ec60 | 6c 65 20 20 23 20 6e 6f 71 61 0a 0a 0a 63 6c 61 73 73 20 43 69 70 68 65 72 28 6f 62 6a 65 63 74 | le..#.noqa...class.Cipher(object |
6ec80 | 29 3a 0a 20 20 20 20 64 65 66 20 5f 5f 69 6e 69 74 5f 5f 28 73 65 6c 66 2c 20 63 69 70 68 65 72 | ):.....def.__init__(self,.cipher |
6eca0 | 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 73 74 72 29 20 2d 3e 20 4e 6f 6e 65 | ):.........#.type:.(str).->.None |
6ecc0 | 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 63 69 70 68 65 72 20 3d 20 63 69 70 68 65 72 0a 0a 20 | .........self.cipher.=.cipher... |
6ece0 | 20 20 20 64 65 66 20 5f 5f 6c 65 6e 5f 5f 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 | ...def.__len__(self):.........#. |
6ed00 | 74 79 70 65 3a 20 28 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d | type:.().->.int.........return.m |
6ed20 | 32 2e 73 73 6c 5f 63 69 70 68 65 72 5f 67 65 74 5f 62 69 74 73 28 73 65 6c 66 2e 63 69 70 68 65 | 2.ssl_cipher_get_bits(self.ciphe |
6ed40 | 72 29 0a 0a 20 20 20 20 64 65 66 20 5f 5f 72 65 70 72 5f 5f 28 73 65 6c 66 29 3a 0a 20 20 20 20 | r)......def.__repr__(self):..... |
6ed60 | 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 73 74 72 0a 20 20 20 20 20 20 20 20 72 65 | ....#.type:.().->.str.........re |
6ed80 | 74 75 72 6e 20 22 25 73 2d 25 73 22 20 25 20 28 73 65 6c 66 2e 6e 61 6d 65 28 29 2c 20 6c 65 6e | turn."%s-%s".%.(self.name(),.len |
6eda0 | 28 73 65 6c 66 29 29 0a 0a 20 20 20 20 64 65 66 20 5f 5f 73 74 72 5f 5f 28 73 65 6c 66 29 3a 0a | (self))......def.__str__(self):. |
6edc0 | 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 73 74 72 0a 20 20 20 20 20 20 | ........#.type:.().->.str....... |
6ede0 | 20 20 72 65 74 75 72 6e 20 22 25 73 2d 25 73 22 20 25 20 28 73 65 6c 66 2e 6e 61 6d 65 28 29 2c | ..return."%s-%s".%.(self.name(), |
6ee00 | 20 6c 65 6e 28 73 65 6c 66 29 29 0a 0a 20 20 20 20 64 65 66 20 76 65 72 73 69 6f 6e 28 73 65 6c | .len(self))......def.version(sel |
6ee20 | 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 69 6e 74 0a 20 20 | f):.........#.type:.().->.int... |
6ee40 | 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 73 73 6c 5f 63 69 70 68 65 72 5f 67 65 74 5f 76 | ......return.m2.ssl_cipher_get_v |
6ee60 | 65 72 73 69 6f 6e 28 73 65 6c 66 2e 63 69 70 68 65 72 29 0a 0a 20 20 20 20 64 65 66 20 6e 61 6d | ersion(self.cipher)......def.nam |
6ee80 | 65 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 73 | e(self):.........#.type:.().->.s |
6eea0 | 74 72 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 69 78 2e 65 6e 73 75 72 65 5f 74 65 78 | tr.........return.six.ensure_tex |
6eec0 | 74 28 6d 32 2e 73 73 6c 5f 63 69 70 68 65 72 5f 67 65 74 5f 6e 61 6d 65 28 73 65 6c 66 2e 63 69 | t(m2.ssl_cipher_get_name(self.ci |
6eee0 | 70 68 65 72 29 29 0a 0a 0a 63 6c 61 73 73 20 43 69 70 68 65 72 5f 53 74 61 63 6b 28 6f 62 6a 65 | pher))...class.Cipher_Stack(obje |
6ef00 | 63 74 29 3a 0a 20 20 20 20 64 65 66 20 5f 5f 69 6e 69 74 5f 5f 28 73 65 6c 66 2c 20 73 74 61 63 | ct):.....def.__init__(self,.stac |
6ef20 | 6b 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 62 79 74 65 73 29 20 2d 3e 20 4e | k):.........#.type:.(bytes).->.N |
6ef40 | 6f 6e 65 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 73 | one.........""".........:param.s |
6ef60 | 74 61 63 6b 3a 20 62 69 6e 61 72 79 20 6f 66 20 74 68 65 20 43 2d 74 79 70 65 20 53 54 41 43 4b | tack:.binary.of.the.C-type.STACK |
6ef80 | 5f 4f 46 28 53 53 4c 5f 43 49 50 48 45 52 29 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 | _OF(SSL_CIPHER)........."""..... |
6efa0 | 20 20 20 20 73 65 6c 66 2e 73 74 61 63 6b 20 3d 20 73 74 61 63 6b 0a 0a 20 20 20 20 64 65 66 20 | ....self.stack.=.stack......def. |
6efc0 | 5f 5f 6c 65 6e 5f 5f 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 | __len__(self):.........#.type:.( |
6efe0 | 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 73 6b 5f 73 73 | ).->.int.........return.m2.sk_ss |
6f000 | 6c 5f 63 69 70 68 65 72 5f 6e 75 6d 28 73 65 6c 66 2e 73 74 61 63 6b 29 0a 0a 20 20 20 20 64 65 | l_cipher_num(self.stack)......de |
6f020 | 66 20 5f 5f 67 65 74 69 74 65 6d 5f 5f 28 73 65 6c 66 2c 20 69 64 78 29 3a 0a 20 20 20 20 20 20 | f.__getitem__(self,.idx):....... |
6f040 | 20 20 23 20 74 79 70 65 3a 20 28 69 6e 74 29 20 2d 3e 20 43 69 70 68 65 72 0a 20 20 20 20 20 20 | ..#.type:.(int).->.Cipher....... |
6f060 | 20 20 69 66 20 6e 6f 74 20 30 20 3c 3d 20 69 64 78 20 3c 20 6d 32 2e 73 6b 5f 73 73 6c 5f 63 69 | ..if.not.0.<=.idx.<.m2.sk_ssl_ci |
6f080 | 70 68 65 72 5f 6e 75 6d 28 73 65 6c 66 2e 73 74 61 63 6b 29 3a 0a 20 20 20 20 20 20 20 20 20 20 | pher_num(self.stack):........... |
6f0a0 | 20 20 72 61 69 73 65 20 49 6e 64 65 78 45 72 72 6f 72 28 27 69 6e 64 65 78 20 6f 75 74 20 6f 66 | ..raise.IndexError('index.out.of |
6f0c0 | 20 72 61 6e 67 65 27 29 0a 20 20 20 20 20 20 20 20 76 20 3d 20 6d 32 2e 73 6b 5f 73 73 6c 5f 63 | .range').........v.=.m2.sk_ssl_c |
6f0e0 | 69 70 68 65 72 5f 76 61 6c 75 65 28 73 65 6c 66 2e 73 74 61 63 6b 2c 20 69 64 78 29 0a 20 20 20 | ipher_value(self.stack,.idx).... |
6f100 | 20 20 20 20 20 72 65 74 75 72 6e 20 43 69 70 68 65 72 28 76 29 0a 0a 20 20 20 20 64 65 66 20 5f | .....return.Cipher(v)......def._ |
6f120 | 5f 69 74 65 72 5f 5f 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 | _iter__(self):.........#.type:.( |
6f140 | 29 20 2d 3e 20 49 74 65 72 61 62 6c 65 0a 20 20 20 20 20 20 20 20 66 6f 72 20 69 20 69 6e 20 73 | ).->.Iterable.........for.i.in.s |
6f160 | 69 78 2e 6d 6f 76 65 73 2e 72 61 6e 67 65 28 6d 32 2e 73 6b 5f 73 73 6c 5f 63 69 70 68 65 72 5f | ix.moves.range(m2.sk_ssl_cipher_ |
6f180 | 6e 75 6d 28 73 65 6c 66 2e 73 74 61 63 6b 29 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 79 69 | num(self.stack)):.............yi |
6f1a0 | 65 6c 64 20 73 65 6c 66 5b 69 5d 0a 94 7d 94 28 8c 0f 43 69 70 68 65 72 2e 5f 5f 69 6e 69 74 5f | eld.self[i]..}.(..Cipher.__init_ |
6f1c0 | 5f 94 6a 74 1f 00 00 4b 0d 4b 0f 87 94 8c 0e 43 69 70 68 65 72 2e 5f 5f 6c 65 6e 5f 5f 94 6a 74 | _.jt...K.K.....Cipher.__len__.jt |
6f1e0 | 1f 00 00 4b 11 4b 13 87 94 8c 0f 43 69 70 68 65 72 2e 5f 5f 72 65 70 72 5f 5f 94 6a 74 1f 00 00 | ...K.K.....Cipher.__repr__.jt... |
6f200 | 4b 15 4b 17 87 94 8c 0e 43 69 70 68 65 72 2e 5f 5f 73 74 72 5f 5f 94 6a 74 1f 00 00 4b 19 4b 1b | K.K.....Cipher.__str__.jt...K.K. |
6f220 | 87 94 8c 0e 43 69 70 68 65 72 2e 76 65 72 73 69 6f 6e 94 6a 74 1f 00 00 4b 1d 4b 1f 87 94 8c 0b | ....Cipher.version.jt...K.K..... |
6f240 | 43 69 70 68 65 72 2e 6e 61 6d 65 94 6a 74 1f 00 00 4b 21 4b 23 87 94 8c 06 43 69 70 68 65 72 94 | Cipher.name.jt...K!K#....Cipher. |
6f260 | 6a 7d 1f 00 00 4b 0c 4b 23 87 94 8c 15 43 69 70 68 65 72 5f 53 74 61 63 6b 2e 5f 5f 69 6e 69 74 | j}...K.K#....Cipher_Stack.__init |
6f280 | 5f 5f 94 6a 74 1f 00 00 4b 27 4b 2c 87 94 8c 14 43 69 70 68 65 72 5f 53 74 61 63 6b 2e 5f 5f 6c | __.jt...K'K,....Cipher_Stack.__l |
6f2a0 | 65 6e 5f 5f 94 6a 74 1f 00 00 4b 2e 4b 30 87 94 8c 18 43 69 70 68 65 72 5f 53 74 61 63 6b 2e 5f | en__.jt...K.K0....Cipher_Stack._ |
6f2c0 | 5f 67 65 74 69 74 65 6d 5f 5f 94 6a 74 1f 00 00 4b 32 4b 37 87 94 8c 15 43 69 70 68 65 72 5f 53 | _getitem__.jt...K2K7....Cipher_S |
6f2e0 | 74 61 63 6b 2e 5f 5f 69 74 65 72 5f 5f 94 6a 74 1f 00 00 4b 39 4b 3c 87 94 8c 0c 43 69 70 68 65 | tack.__iter__.jt...K9K<....Ciphe |
6f300 | 72 5f 53 74 61 63 6b 94 6a 7d 1f 00 00 4b 26 4b 3c 87 94 75 7d 94 28 8c 06 43 69 70 68 65 72 94 | r_Stack.j}...K&K<..u}.(..Cipher. |
6f320 | 6a 5c 02 00 00 8c 0b 43 69 70 68 65 72 2e 6e 61 6d 65 94 6a 5c 02 00 00 8c 0e 43 69 70 68 65 72 | j\.....Cipher.name.j\.....Cipher |
6f340 | 2e 76 65 72 73 69 6f 6e 94 6a 5c 02 00 00 8c 0c 43 69 70 68 65 72 5f 53 74 61 63 6b 94 6a 5c 02 | .version.j\.....Cipher_Stack.j\. |
6f360 | 00 00 75 8c 13 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 69 70 68 65 72 94 74 94 8c 17 4d 32 43 | ..u..M2Crypto.SSL.Cipher.t...M2C |
6f380 | 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 94 28 58 30 60 00 00 66 72 6f 6d 20 | rypto.SSL.Connection.(X0`..from. |
6f3a0 | 5f 5f 66 75 74 75 72 65 5f 5f 20 69 6d 70 6f 72 74 20 61 62 73 6f 6c 75 74 65 5f 69 6d 70 6f 72 | __future__.import.absolute_impor |
6f3c0 | 74 0a 0a 22 22 22 53 53 4c 20 43 6f 6e 6e 65 63 74 69 6f 6e 20 61 6b 61 20 73 6f 63 6b 65 74 0a | t.."""SSL.Connection.aka.socket. |
6f3e0 | 0a 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 39 39 2d 32 30 30 34 20 4e 67 20 50 68 65 6e | .Copyright.(c).1999-2004.Ng.Phen |
6f400 | 67 20 53 69 6f 6e 67 2e 20 41 6c 6c 20 72 69 67 68 74 73 20 72 65 73 65 72 76 65 64 2e 0a 0a 50 | g.Siong..All.rights.reserved...P |
6f420 | 6f 72 74 69 6f 6e 73 20 63 72 65 61 74 65 64 20 62 79 20 4f 70 65 6e 20 53 6f 75 72 63 65 20 41 | ortions.created.by.Open.Source.A |
6f440 | 70 70 6c 69 63 61 74 69 6f 6e 73 20 46 6f 75 6e 64 61 74 69 6f 6e 20 28 4f 53 41 46 29 20 61 72 | pplications.Foundation.(OSAF).ar |
6f460 | 65 0a 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 34 2d 32 30 30 37 20 4f 53 41 46 2e 20 | e.Copyright.(C).2004-2007.OSAF.. |
6f480 | 41 6c 6c 20 52 69 67 68 74 73 20 52 65 73 65 72 76 65 64 2e 0a 0a 43 6f 70 79 72 69 67 68 74 20 | All.Rights.Reserved...Copyright. |
6f4a0 | 32 30 30 38 20 48 65 69 6b 6b 69 20 54 6f 69 76 6f 6e 65 6e 2e 20 41 6c 6c 20 72 69 67 68 74 73 | 2008.Heikki.Toivonen..All.rights |
6f4c0 | 20 72 65 73 65 72 76 65 64 2e 0a 22 22 22 0a 0a 69 6d 70 6f 72 74 20 6c 6f 67 67 69 6e 67 0a 69 | .reserved.."""..import.logging.i |
6f4e0 | 6d 70 6f 72 74 20 73 6f 63 6b 65 74 0a 0a 66 72 6f 6d 20 4d 32 43 72 79 70 74 6f 20 69 6d 70 6f | mport.socket..from.M2Crypto.impo |
6f500 | 72 74 20 42 49 4f 2c 20 45 72 72 2c 20 58 35 30 39 2c 20 6d 32 2c 20 70 79 32 37 70 6c 75 73 2c | rt.BIO,.Err,.X509,.m2,.py27plus, |
6f520 | 20 73 69 78 2c 20 75 74 69 6c 20 20 23 20 6e 6f 71 61 0a 66 72 6f 6d 20 4d 32 43 72 79 70 74 6f | .six,.util..#.noqa.from.M2Crypto |
6f540 | 2e 53 53 4c 20 69 6d 70 6f 72 74 20 43 68 65 63 6b 65 72 2c 20 43 6f 6e 74 65 78 74 2c 20 74 69 | .SSL.import.Checker,.Context,.ti |
6f560 | 6d 65 6f 75 74 20 20 23 20 6e 6f 71 61 0a 66 72 6f 6d 20 4d 32 43 72 79 70 74 6f 2e 53 53 4c 20 | meout..#.noqa.from.M2Crypto.SSL. |
6f580 | 69 6d 70 6f 72 74 20 53 53 4c 45 72 72 6f 72 0a 66 72 6f 6d 20 4d 32 43 72 79 70 74 6f 2e 53 53 | import.SSLError.from.M2Crypto.SS |
6f5a0 | 4c 2e 43 69 70 68 65 72 20 69 6d 70 6f 72 74 20 43 69 70 68 65 72 2c 20 43 69 70 68 65 72 5f 53 | L.Cipher.import.Cipher,.Cipher_S |
6f5c0 | 74 61 63 6b 0a 66 72 6f 6d 20 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 53 65 73 73 69 6f 6e 20 69 | tack.from.M2Crypto.SSL.Session.i |
6f5e0 | 6d 70 6f 72 74 20 53 65 73 73 69 6f 6e 0a 69 66 20 70 79 32 37 70 6c 75 73 3a 0a 20 20 20 20 66 | mport.Session.if.py27plus:.....f |
6f600 | 72 6f 6d 20 74 79 70 69 6e 67 20 69 6d 70 6f 72 74 20 41 6e 79 2c 20 41 6e 79 53 74 72 2c 20 43 | rom.typing.import.Any,.AnyStr,.C |
6f620 | 61 6c 6c 61 62 6c 65 2c 20 44 69 63 74 2c 20 4c 69 73 74 2c 20 4f 70 74 69 6f 6e 61 6c 2c 20 54 | allable,.Dict,.List,.Optional,.T |
6f640 | 75 70 6c 65 2c 20 55 6e 69 6f 6e 20 20 23 20 6e 6f 71 61 0a 0a 5f 5f 61 6c 6c 5f 5f 20 3d 20 5b | uple,.Union..#.noqa..__all__.=.[ |
6f660 | 27 43 6f 6e 6e 65 63 74 69 6f 6e 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 27 74 69 6d 65 6f 75 | 'Connection',............'timeou |
6f680 | 74 27 2c 20 20 23 20 58 58 58 20 4e 6f 74 20 72 65 61 6c 6c 79 2c 20 62 75 74 20 66 6f 72 20 64 | t',..#.XXX.Not.really,.but.for.d |
6f6a0 | 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 70 75 72 70 6f 73 65 73 0a 20 20 20 20 20 20 20 20 20 20 | ocumentation.purposes........... |
6f6c0 | 20 5d 0a 0a 6c 6f 67 20 3d 20 6c 6f 67 67 69 6e 67 2e 67 65 74 4c 6f 67 67 65 72 28 5f 5f 6e 61 | .]..log.=.logging.getLogger(__na |
6f6e0 | 6d 65 5f 5f 29 0a 0a 0a 64 65 66 20 5f 73 65 72 76 65 72 50 6f 73 74 43 6f 6e 6e 65 63 74 69 6f | me__)...def._serverPostConnectio |
6f700 | 6e 43 68 65 63 6b 28 2a 61 72 67 73 2c 20 2a 2a 6b 77 29 3a 0a 20 20 20 20 23 20 74 79 70 65 3a | nCheck(*args,.**kw):.....#.type: |
6f720 | 20 28 2a 41 6e 79 2c 20 2a 2a 41 6e 79 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 72 65 74 75 72 6e | .(*Any,.**Any).->.int.....return |
6f740 | 20 31 0a 0a 0a 63 6c 61 73 73 20 43 6f 6e 6e 65 63 74 69 6f 6e 28 6f 62 6a 65 63 74 29 3a 0a 20 | .1...class.Connection(object):.. |
6f760 | 20 20 20 22 22 22 41 6e 20 53 53 4c 20 63 6f 6e 6e 65 63 74 69 6f 6e 2e 22 22 22 0a 0a 20 20 20 | ..."""An.SSL.connection."""..... |
6f780 | 20 63 6c 69 65 6e 74 50 6f 73 74 43 6f 6e 6e 65 63 74 69 6f 6e 43 68 65 63 6b 20 3d 20 43 68 65 | .clientPostConnectionCheck.=.Che |
6f7a0 | 63 6b 65 72 2e 43 68 65 63 6b 65 72 28 29 0a 20 20 20 20 73 65 72 76 65 72 50 6f 73 74 43 6f 6e | cker.Checker().....serverPostCon |
6f7c0 | 6e 65 63 74 69 6f 6e 43 68 65 63 6b 20 3d 20 5f 73 65 72 76 65 72 50 6f 73 74 43 6f 6e 6e 65 63 | nectionCheck.=._serverPostConnec |
6f7e0 | 74 69 6f 6e 43 68 65 63 6b 0a 0a 20 20 20 20 6d 32 5f 62 69 6f 5f 66 72 65 65 20 3d 20 6d 32 2e | tionCheck......m2_bio_free.=.m2. |
6f800 | 62 69 6f 5f 66 72 65 65 0a 20 20 20 20 6d 32 5f 73 73 6c 5f 66 72 65 65 20 3d 20 6d 32 2e 73 73 | bio_free.....m2_ssl_free.=.m2.ss |
6f820 | 6c 5f 66 72 65 65 0a 20 20 20 20 6d 32 5f 62 69 6f 5f 6e 6f 63 6c 6f 73 65 20 3d 20 6d 32 2e 62 | l_free.....m2_bio_noclose.=.m2.b |
6f840 | 69 6f 5f 6e 6f 63 6c 6f 73 65 0a 0a 20 20 20 20 64 65 66 20 5f 5f 69 6e 69 74 5f 5f 28 73 65 6c | io_noclose......def.__init__(sel |
6f860 | 66 2c 20 63 74 78 2c 20 73 6f 63 6b 3d 4e 6f 6e 65 2c 20 66 61 6d 69 6c 79 3d 73 6f 63 6b 65 74 | f,.ctx,.sock=None,.family=socket |
6f880 | 2e 41 46 5f 49 4e 45 54 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 43 6f 6e 74 | .AF_INET):.........#.type:.(Cont |
6f8a0 | 65 78 74 2c 20 73 6f 63 6b 65 74 2e 73 6f 63 6b 65 74 2c 20 69 6e 74 29 20 2d 3e 20 4e 6f 6e 65 | ext,.socket.socket,.int).->.None |
6f8c0 | 0a 20 20 20 20 20 20 20 20 22 22 22 0a 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 63 74 78 | ........."""..........:param.ctx |
6f8e0 | 3a 20 53 53 4c 2e 43 6f 6e 74 65 78 74 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 73 6f 63 | :.SSL.Context.........:param.soc |
6f900 | 6b 3a 20 73 6f 63 6b 65 74 20 74 6f 20 62 65 20 75 73 65 64 0a 20 20 20 20 20 20 20 20 3a 70 61 | k:.socket.to.be.used.........:pa |
6f920 | 72 61 6d 20 66 61 6d 69 6c 79 3a 20 73 6f 63 6b 65 74 20 66 61 6d 69 6c 79 0a 20 20 20 20 20 20 | ram.family:.socket.family....... |
6f940 | 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 63 74 78 20 3d 20 63 74 78 0a 20 20 20 | ..""".........self.ctx.=.ctx.... |
6f960 | 20 20 20 20 20 73 65 6c 66 2e 73 73 6c 20 3d 20 6d 32 2e 73 73 6c 5f 6e 65 77 28 73 65 6c 66 2e | .....self.ssl.=.m2.ssl_new(self. |
6f980 | 63 74 78 2e 63 74 78 29 20 20 23 20 74 79 70 65 3a 20 62 79 74 65 73 0a 20 20 20 20 20 20 20 20 | ctx.ctx)..#.type:.bytes......... |
6f9a0 | 69 66 20 73 6f 63 6b 20 69 73 20 6e 6f 74 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 | if.sock.is.not.None:............ |
6f9c0 | 20 73 65 6c 66 2e 73 6f 63 6b 65 74 20 3d 20 73 6f 63 6b 0a 20 20 20 20 20 20 20 20 65 6c 73 65 | .self.socket.=.sock.........else |
6f9e0 | 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 6f 63 6b 65 74 20 3d 20 73 6f 63 6b | :.............self.socket.=.sock |
6fa00 | 65 74 2e 73 6f 63 6b 65 74 28 66 61 6d 69 6c 79 2c 20 73 6f 63 6b 65 74 2e 53 4f 43 4b 5f 53 54 | et.socket(family,.socket.SOCK_ST |
6fa20 | 52 45 41 4d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 6f 63 6b 65 74 2e 73 65 | REAM).............self.socket.se |
6fa40 | 74 73 6f 63 6b 6f 70 74 28 73 6f 63 6b 65 74 2e 53 4f 4c 5f 53 4f 43 4b 45 54 2c 20 73 6f 63 6b | tsockopt(socket.SOL_SOCKET,.sock |
6fa60 | 65 74 2e 53 4f 5f 52 45 55 53 45 41 44 44 52 2c 20 31 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 | et.SO_REUSEADDR,.1).........self |
6fa80 | 2e 5f 66 69 6c 65 6e 6f 20 3d 20 73 65 6c 66 2e 73 6f 63 6b 65 74 2e 66 69 6c 65 6e 6f 28 29 0a | ._fileno.=.self.socket.fileno(). |
6faa0 | 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 74 69 6d 65 6f 75 74 20 3d 20 73 65 6c 66 2e 73 6f | .........self._timeout.=.self.so |
6fac0 | 63 6b 65 74 2e 67 65 74 74 69 6d 65 6f 75 74 28 29 0a 20 20 20 20 20 20 20 20 69 66 20 73 65 6c | cket.gettimeout().........if.sel |
6fae0 | 66 2e 5f 74 69 6d 65 6f 75 74 20 69 73 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 | f._timeout.is.None:............. |
6fb00 | 73 65 6c 66 2e 5f 74 69 6d 65 6f 75 74 20 3d 20 2d 31 2e 30 0a 0a 20 20 20 20 20 20 20 20 73 65 | self._timeout.=.-1.0..........se |
6fb20 | 6c 66 2e 73 73 6c 5f 63 6c 6f 73 65 5f 66 6c 61 67 20 3d 20 6d 32 2e 62 69 6f 5f 6e 6f 63 6c 6f | lf.ssl_close_flag.=.m2.bio_noclo |
6fb40 | 73 65 0a 0a 20 20 20 20 20 20 20 20 69 66 20 73 65 6c 66 2e 63 74 78 2e 70 6f 73 74 5f 63 6f 6e | se..........if.self.ctx.post_con |
6fb60 | 6e 65 63 74 69 6f 6e 5f 63 68 65 63 6b 20 69 73 20 6e 6f 74 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 | nection_check.is.not.None:...... |
6fb80 | 20 20 20 20 20 20 20 73 65 6c 66 2e 73 65 74 5f 70 6f 73 74 5f 63 6f 6e 6e 65 63 74 69 6f 6e 5f | .......self.set_post_connection_ |
6fba0 | 63 68 65 63 6b 5f 63 61 6c 6c 62 61 63 6b 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | check_callback(................. |
6fbc0 | 73 65 6c 66 2e 63 74 78 2e 70 6f 73 74 5f 63 6f 6e 6e 65 63 74 69 6f 6e 5f 63 68 65 63 6b 29 0a | self.ctx.post_connection_check). |
6fbe0 | 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 68 6f 73 74 20 3d 20 4e 6f 6e 65 0a 0a 20 20 20 20 64 | .........self.host.=.None......d |
6fc00 | 65 66 20 5f 5f 64 65 6c 5f 5f 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 | ef.__del__(self):.........#.type |
6fc20 | 3a 20 28 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 23 20 4e 6f 74 69 63 65 20 74 68 | :.().->.None.........#.Notice.th |
6fc40 | 61 74 20 4d 32 43 72 79 70 74 6f 20 64 6f 65 73 6e 27 74 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c | at.M2Crypto.doesn't.automaticall |
6fc60 | 79 20 73 68 75 74 73 20 64 6f 77 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 23 20 63 6f 6e 6e 65 | y.shuts.down.the.........#.conne |
6fc80 | 63 74 69 6f 6e 20 68 65 72 65 2e 20 59 6f 75 20 68 61 76 65 20 74 6f 20 63 61 6c 6c 20 73 65 6c | ction.here..You.have.to.call.sel |
6fca0 | 66 2e 63 6c 6f 73 65 28 29 20 69 6e 20 79 6f 75 72 0a 20 20 20 20 20 20 20 20 23 20 70 72 6f 67 | f.close().in.your.........#.prog |
6fcc0 | 72 61 6d 2c 20 4d 32 43 72 79 70 74 6f 20 77 6f 6e 27 74 20 64 6f 20 69 74 20 61 75 74 6f 6d 61 | ram,.M2Crypto.won't.do.it.automa |
6fce0 | 74 69 63 61 6c 6c 79 20 66 6f 72 20 79 6f 75 2e 0a 20 20 20 20 20 20 20 20 69 66 20 67 65 74 61 | tically.for.you..........if.geta |
6fd00 | 74 74 72 28 73 65 6c 66 2c 20 27 73 73 6c 62 69 6f 27 2c 20 4e 6f 6e 65 29 3a 0a 20 20 20 20 20 | ttr(self,.'sslbio',.None):...... |
6fd20 | 20 20 20 20 20 20 20 73 65 6c 66 2e 6d 32 5f 62 69 6f 5f 66 72 65 65 28 73 65 6c 66 2e 73 73 6c | .......self.m2_bio_free(self.ssl |
6fd40 | 62 69 6f 29 0a 20 20 20 20 20 20 20 20 69 66 20 67 65 74 61 74 74 72 28 73 65 6c 66 2c 20 27 73 | bio).........if.getattr(self,.'s |
6fd60 | 6f 63 6b 62 69 6f 27 2c 20 4e 6f 6e 65 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 | ockbio',.None):.............self |
6fd80 | 2e 6d 32 5f 62 69 6f 5f 66 72 65 65 28 73 65 6c 66 2e 73 6f 63 6b 62 69 6f 29 0a 20 20 20 20 20 | .m2_bio_free(self.sockbio)...... |
6fda0 | 20 20 20 69 66 20 73 65 6c 66 2e 73 73 6c 5f 63 6c 6f 73 65 5f 66 6c 61 67 20 3d 3d 20 73 65 6c | ...if.self.ssl_close_flag.==.sel |
6fdc0 | 66 2e 6d 32 5f 62 69 6f 5f 6e 6f 63 6c 6f 73 65 20 61 6e 64 20 5c 0a 20 20 20 20 20 20 20 20 20 | f.m2_bio_noclose.and.\.......... |
6fde0 | 20 20 20 20 20 20 20 67 65 74 61 74 74 72 28 73 65 6c 66 2c 20 27 73 73 6c 27 2c 20 4e 6f 6e 65 | .......getattr(self,.'ssl',.None |
6fe00 | 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 6d 32 5f 73 73 6c 5f 66 72 65 65 28 | ):.............self.m2_ssl_free( |
6fe20 | 73 65 6c 66 2e 73 73 6c 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 6f 63 6b 65 74 2e 63 6c | self.ssl).........self.socket.cl |
6fe40 | 6f 73 65 28 29 0a 0a 20 20 20 20 64 65 66 20 63 6c 6f 73 65 28 73 65 6c 66 29 3a 0a 20 20 20 20 | ose()......def.close(self):..... |
6fe60 | 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 6d | ....#.type:.().->.None.........m |
6fe80 | 32 2e 73 73 6c 5f 73 68 75 74 64 6f 77 6e 28 73 65 6c 66 2e 73 73 6c 29 0a 0a 20 20 20 20 64 65 | 2.ssl_shutdown(self.ssl)......de |
6fea0 | 66 20 63 6c 65 61 72 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 | f.clear(self):.........#.type:.( |
6fec0 | 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 49 66 20 | ).->.int.........""".........If. |
6fee0 | 74 68 65 72 65 20 77 65 72 65 20 65 72 72 6f 72 73 20 69 6e 20 74 68 69 73 20 63 6f 6e 6e 65 63 | there.were.errors.in.this.connec |
6ff00 | 74 69 6f 6e 2c 20 63 61 6c 6c 20 63 6c 65 61 72 28 29 20 72 61 74 68 65 72 0a 20 20 20 20 20 20 | tion,.call.clear().rather....... |
6ff20 | 20 20 74 68 61 6e 20 63 6c 6f 73 65 28 29 20 74 6f 20 65 6e 64 20 69 74 2c 20 73 6f 20 74 68 61 | ..than.close().to.end.it,.so.tha |
6ff40 | 74 20 62 61 64 20 73 65 73 73 69 6f 6e 73 20 77 69 6c 6c 20 62 65 20 63 6c 65 61 72 65 64 0a 20 | t.bad.sessions.will.be.cleared.. |
6ff60 | 20 20 20 20 20 20 20 66 72 6f 6d 20 63 61 63 68 65 2e 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 | .......from.cache..........""".. |
6ff80 | 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 73 73 6c 5f 63 6c 65 61 72 28 73 65 6c 66 2e | .......return.m2.ssl_clear(self. |
6ffa0 | 73 73 6c 29 0a 0a 20 20 20 20 64 65 66 20 73 65 74 5f 73 68 75 74 64 6f 77 6e 28 73 65 6c 66 2c | ssl)......def.set_shutdown(self, |
6ffc0 | 20 6d 6f 64 65 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 69 6e 74 29 20 2d 3e | .mode):.........#.type:.(int).-> |
6ffe0 | 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 22 22 22 53 65 74 73 20 74 68 65 20 73 68 75 74 64 6f | .None........."""Sets.the.shutdo |
70000 | 77 6e 20 73 74 61 74 65 20 6f 66 20 74 68 65 20 43 6f 6e 6e 65 63 74 69 6f 6e 20 74 6f 20 6d 6f | wn.state.of.the.Connection.to.mo |
70020 | 64 65 2e 0a 0a 20 20 20 20 20 20 20 20 54 68 65 20 73 68 75 74 64 6f 77 6e 20 73 74 61 74 65 20 | de...........The.shutdown.state. |
70040 | 6f 66 20 61 6e 20 73 73 6c 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 69 73 20 61 20 62 69 74 6d 61 73 | of.an.ssl.connection.is.a.bitmas |
70060 | 6b 20 6f 66 20 28 75 73 65 0a 20 20 20 20 20 20 20 20 6d 32 2e 53 53 4c 5f 2a 20 63 6f 6e 73 74 | k.of.(use.........m2.SSL_*.const |
70080 | 61 6e 74 73 29 3a 0a 0a 20 20 20 20 20 20 20 20 30 20 20 20 4e 6f 20 73 68 75 74 64 6f 77 6e 20 | ants):..........0...No.shutdown. |
700a0 | 73 65 74 74 69 6e 67 2c 20 79 65 74 2e 0a 0a 20 20 20 20 20 20 20 20 53 53 4c 5f 53 45 4e 54 5f | setting,.yet...........SSL_SENT_ |
700c0 | 53 48 55 54 44 4f 57 4e 0a 20 20 20 20 20 20 20 20 20 20 20 20 41 20 22 63 6c 6f 73 65 20 6e 6f | SHUTDOWN.............A."close.no |
700e0 | 74 69 66 79 22 20 73 68 75 74 64 6f 77 6e 20 61 6c 65 72 74 20 77 61 73 20 73 65 6e 74 20 74 6f | tify".shutdown.alert.was.sent.to |
70100 | 20 74 68 65 20 70 65 65 72 2c 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 6e 65 | .the.peer,.the.............conne |
70120 | 63 74 69 6f 6e 20 69 73 20 62 65 69 6e 67 20 63 6f 6e 73 69 64 65 72 65 64 20 63 6c 6f 73 65 64 | ction.is.being.considered.closed |
70140 | 20 61 6e 64 20 74 68 65 20 73 65 73 73 69 6f 6e 20 69 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 | .and.the.session.is............. |
70160 | 63 6c 6f 73 65 64 20 61 6e 64 20 63 6f 72 72 65 63 74 2e 0a 0a 20 20 20 20 20 20 20 20 53 53 4c | closed.and.correct...........SSL |
70180 | 5f 52 45 43 45 49 56 45 44 5f 53 48 55 54 44 4f 57 4e 0a 20 20 20 20 20 20 20 20 20 20 20 20 41 | _RECEIVED_SHUTDOWN.............A |
701a0 | 20 73 68 75 74 64 6f 77 6e 20 61 6c 65 72 74 20 77 61 73 20 72 65 63 65 69 76 65 64 20 66 6f 72 | .shutdown.alert.was.received.for |
701c0 | 6d 20 74 68 65 20 70 65 65 72 2c 20 65 69 74 68 65 72 20 61 20 6e 6f 72 6d 61 6c 0a 20 20 20 20 | m.the.peer,.either.a.normal..... |
701e0 | 20 20 20 20 20 20 20 20 22 63 6c 6f 73 65 20 6e 6f 74 69 66 79 22 20 6f 72 20 61 20 66 61 74 61 | ........"close.notify".or.a.fata |
70200 | 6c 20 65 72 72 6f 72 2e 0a 0a 20 20 20 20 20 20 20 20 53 53 4c 5f 53 45 4e 54 5f 53 48 55 54 44 | l.error...........SSL_SENT_SHUTD |
70220 | 4f 57 4e 20 61 6e 64 20 53 53 4c 5f 52 45 43 45 49 56 45 44 5f 53 48 55 54 44 4f 57 4e 20 63 61 | OWN.and.SSL_RECEIVED_SHUTDOWN.ca |
70240 | 6e 20 62 65 20 73 65 74 20 61 74 20 74 68 65 0a 20 20 20 20 20 20 20 20 73 61 6d 65 20 74 69 6d | n.be.set.at.the.........same.tim |
70260 | 65 2e 0a 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 6d 6f 64 65 3a 20 73 65 74 20 74 68 65 | e...........:param.mode:.set.the |
70280 | 20 6d 6f 64 65 20 62 69 74 6d 61 73 6b 2e 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 | .mode.bitmask.........."""...... |
702a0 | 20 20 20 6d 32 2e 73 73 6c 5f 73 65 74 5f 73 68 75 74 64 6f 77 6e 31 28 73 65 6c 66 2e 73 73 6c | ...m2.ssl_set_shutdown1(self.ssl |
702c0 | 2c 20 6d 6f 64 65 29 0a 0a 20 20 20 20 64 65 66 20 67 65 74 5f 73 68 75 74 64 6f 77 6e 28 73 65 | ,.mode)......def.get_shutdown(se |
702e0 | 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 4e 6f 6e 65 0a | lf):.........#.type:.().->.None. |
70300 | 20 20 20 20 20 20 20 20 22 22 22 47 65 74 20 74 68 65 20 63 75 72 72 65 6e 74 20 73 68 75 74 64 | ........"""Get.the.current.shutd |
70320 | 6f 77 6e 20 6d 6f 64 65 20 6f 66 20 74 68 65 20 43 6f 6e 6e 65 63 74 69 6f 6e 2e 22 22 22 0a 20 | own.mode.of.the.Connection.""".. |
70340 | 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 73 73 6c 5f 67 65 74 5f 73 68 75 74 64 6f 77 | .......return.m2.ssl_get_shutdow |
70360 | 6e 28 73 65 6c 66 2e 73 73 6c 29 0a 0a 20 20 20 20 64 65 66 20 62 69 6e 64 28 73 65 6c 66 2c 20 | n(self.ssl)......def.bind(self,. |
70380 | 61 64 64 72 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 75 74 69 6c 2e 41 64 64 | addr):.........#.type:.(util.Add |
703a0 | 72 54 79 70 65 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 6f 63 6b | rType).->.None.........self.sock |
703c0 | 65 74 2e 62 69 6e 64 28 61 64 64 72 29 0a 0a 20 20 20 20 64 65 66 20 6c 69 73 74 65 6e 28 73 65 | et.bind(addr)......def.listen(se |
703e0 | 6c 66 2c 20 71 6c 65 6e 3d 35 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 69 6e | lf,.qlen=5):.........#.type:.(in |
70400 | 74 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 6f 63 6b 65 74 2e 6c | t).->.None.........self.socket.l |
70420 | 69 73 74 65 6e 28 71 6c 65 6e 29 0a 0a 20 20 20 20 64 65 66 20 73 73 6c 5f 67 65 74 5f 65 72 72 | isten(qlen)......def.ssl_get_err |
70440 | 6f 72 28 73 65 6c 66 2c 20 72 65 74 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 | or(self,.ret):.........#.type:.( |
70460 | 69 6e 74 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 73 73 | int).->.int.........return.m2.ss |
70480 | 6c 5f 67 65 74 5f 65 72 72 6f 72 28 73 65 6c 66 2e 73 73 6c 2c 20 72 65 74 29 0a 0a 20 20 20 20 | l_get_error(self.ssl,.ret)...... |
704a0 | 64 65 66 20 73 65 74 5f 62 69 6f 28 73 65 6c 66 2c 20 72 65 61 64 62 69 6f 2c 20 77 72 69 74 65 | def.set_bio(self,.readbio,.write |
704c0 | 62 69 6f 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 42 49 4f 2e 42 49 4f 2c 20 | bio):.........#.type:.(BIO.BIO,. |
704e0 | 42 49 4f 2e 42 49 4f 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 22 22 22 45 78 70 6c | BIO.BIO).->.None........."""Expl |
70500 | 69 63 69 74 6c 79 20 73 65 74 20 72 65 61 64 20 61 6e 64 20 77 72 69 74 65 20 62 69 6f 73 0a 0a | icitly.set.read.and.write.bios.. |
70520 | 20 20 20 20 20 20 20 20 43 6f 6e 6e 65 63 74 73 20 74 68 65 20 42 49 4f 73 20 66 6f 72 20 74 68 | ........Connects.the.BIOs.for.th |
70540 | 65 20 72 65 61 64 20 61 6e 64 20 77 72 69 74 65 20 6f 70 65 72 61 74 69 6f 6e 73 20 6f 66 20 74 | e.read.and.write.operations.of.t |
70560 | 68 65 0a 20 20 20 20 20 20 20 20 54 4c 53 2f 53 53 4c 20 28 65 6e 63 72 79 70 74 65 64 29 20 73 | he.........TLS/SSL.(encrypted).s |
70580 | 69 64 65 20 6f 66 20 73 73 6c 2e 0a 0a 20 20 20 20 20 20 20 20 54 68 65 20 53 53 4c 20 65 6e 67 | ide.of.ssl...........The.SSL.eng |
705a0 | 69 6e 65 20 69 6e 68 65 72 69 74 73 20 74 68 65 20 62 65 68 61 76 69 6f 75 72 20 6f 66 20 62 6f | ine.inherits.the.behaviour.of.bo |
705c0 | 74 68 20 42 49 4f 20 6f 62 6a 65 63 74 73 2c 0a 20 20 20 20 20 20 20 20 72 65 73 70 65 63 74 69 | th.BIO.objects,.........respecti |
705e0 | 76 65 6c 79 2e 20 49 66 20 61 20 42 49 4f 20 69 73 20 6e 6f 6e 2d 62 6c 6f 63 6b 69 6e 67 2c 20 | vely..If.a.BIO.is.non-blocking,. |
70600 | 74 68 65 20 43 6f 6e 6e 65 63 74 69 6f 6e 20 77 69 6c 6c 20 61 6c 73 6f 0a 20 20 20 20 20 20 20 | the.Connection.will.also........ |
70620 | 20 68 61 76 65 20 6e 6f 6e 2d 62 6c 6f 63 6b 69 6e 67 20 62 65 68 61 76 69 6f 75 72 2e 0a 0a 20 | .have.non-blocking.behaviour.... |
70640 | 20 20 20 20 20 20 20 49 66 20 74 68 65 72 65 20 77 61 73 20 61 6c 72 65 61 64 79 20 61 20 42 49 | .......If.there.was.already.a.BI |
70660 | 4f 20 63 6f 6e 6e 65 63 74 65 64 20 74 6f 20 43 6f 6e 6e 65 63 74 69 6f 6e 2c 20 42 49 4f 5f 66 | O.connected.to.Connection,.BIO_f |
70680 | 72 65 65 28 29 0a 20 20 20 20 20 20 20 20 77 69 6c 6c 20 62 65 20 63 61 6c 6c 65 64 20 28 66 6f | ree().........will.be.called.(fo |
706a0 | 72 20 62 6f 74 68 20 74 68 65 20 72 65 61 64 69 6e 67 20 61 6e 64 20 77 72 69 74 69 6e 67 20 73 | r.both.the.reading.and.writing.s |
706c0 | 69 64 65 2c 20 69 66 0a 20 20 20 20 20 20 20 20 64 69 66 66 65 72 65 6e 74 29 2e 0a 0a 20 20 20 | ide,.if.........different)...... |
706e0 | 20 20 20 20 20 3a 70 61 72 61 6d 20 72 65 61 64 62 69 6f 3a 20 42 49 4f 20 66 6f 72 20 72 65 61 | .....:param.readbio:.BIO.for.rea |
70700 | 64 69 6e 67 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 77 72 69 74 65 62 69 6f 3a 20 42 49 | ding.........:param.writebio:.BI |
70720 | 4f 20 66 6f 72 20 77 72 69 74 69 6e 67 2e 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 | O.for.writing.........."""...... |
70740 | 20 20 20 6d 32 2e 73 73 6c 5f 73 65 74 5f 62 69 6f 28 73 65 6c 66 2e 73 73 6c 2c 20 72 65 61 64 | ...m2.ssl_set_bio(self.ssl,.read |
70760 | 62 69 6f 2e 5f 70 74 72 28 29 2c 20 77 72 69 74 65 62 69 6f 2e 5f 70 74 72 28 29 29 0a 0a 20 20 | bio._ptr(),.writebio._ptr()).... |
70780 | 20 20 64 65 66 20 73 65 74 5f 63 6c 69 65 6e 74 5f 43 41 5f 6c 69 73 74 5f 66 72 6f 6d 5f 66 69 | ..def.set_client_CA_list_from_fi |
707a0 | 6c 65 28 73 65 6c 66 2c 20 63 61 66 69 6c 65 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 | le(self,.cafile):.........#.type |
707c0 | 3a 20 28 41 6e 79 53 74 72 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 22 22 22 53 65 | :.(AnyStr).->.None........."""Se |
707e0 | 74 20 74 68 65 20 61 63 63 65 70 74 61 62 6c 65 20 63 6c 69 65 6e 74 20 43 41 20 6c 69 73 74 2e | t.the.acceptable.client.CA.list. |
70800 | 0a 0a 20 20 20 20 20 20 20 20 49 66 20 74 68 65 20 63 6c 69 65 6e 74 20 72 65 74 75 72 6e 73 20 | ..........If.the.client.returns. |
70820 | 61 20 63 65 72 74 69 66 69 63 61 74 65 2c 20 69 74 20 6d 75 73 74 20 68 61 76 65 20 62 65 65 6e | a.certificate,.it.must.have.been |
70840 | 20 69 73 73 75 65 64 20 62 79 0a 20 20 20 20 20 20 20 20 6f 6e 65 20 6f 66 20 74 68 65 20 43 41 | .issued.by.........one.of.the.CA |
70860 | 73 20 6c 69 73 74 65 64 20 69 6e 20 63 61 66 69 6c 65 2e 0a 0a 20 20 20 20 20 20 20 20 4d 61 6b | s.listed.in.cafile...........Mak |
70880 | 65 73 20 73 65 6e 73 65 20 6f 6e 6c 79 20 66 6f 72 20 73 65 72 76 65 72 73 2e 0a 0a 20 20 20 20 | es.sense.only.for.servers....... |
708a0 | 20 20 20 20 3a 70 61 72 61 6d 20 63 61 66 69 6c 65 3a 20 46 69 6c 65 6e 61 6d 65 20 66 72 6f 6d | ....:param.cafile:.Filename.from |
708c0 | 20 77 68 69 63 68 20 74 6f 20 6c 6f 61 64 20 74 68 65 20 43 41 20 6c 69 73 74 2e 0a 0a 20 20 20 | .which.to.load.the.CA.list...... |
708e0 | 20 20 20 20 20 3a 72 65 74 75 72 6e 3a 20 30 20 41 20 66 61 69 6c 75 72 65 20 77 68 69 6c 65 20 | .....:return:.0.A.failure.while. |
70900 | 6d 61 6e 69 70 75 6c 61 74 69 6e 67 20 74 68 65 20 53 54 41 43 4b 5f 4f 46 28 58 35 30 39 5f 4e | manipulating.the.STACK_OF(X509_N |
70920 | 41 4d 45 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 62 6a 65 63 74 20 6f | AME)....................object.o |
70940 | 63 63 75 72 72 65 64 20 6f 72 20 74 68 65 20 58 35 30 39 5f 4e 41 4d 45 20 63 6f 75 6c 64 20 6e | ccurred.or.the.X509_NAME.could.n |
70960 | 6f 74 20 62 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 78 74 72 61 63 74 | ot.be....................extract |
70980 | 65 64 20 66 72 6f 6d 20 63 61 63 65 72 74 2e 20 43 68 65 63 6b 20 74 68 65 20 65 72 72 6f 72 20 | ed.from.cacert..Check.the.error. |
709a0 | 73 74 61 63 6b 20 74 6f 20 66 69 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | stack.to.find................... |
709c0 | 20 6f 75 74 20 74 68 65 20 72 65 61 73 6f 6e 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .out.the.reason................. |
709e0 | 20 20 20 31 20 54 68 65 20 6f 70 65 72 61 74 69 6f 6e 20 73 75 63 63 65 65 64 65 64 2e 0a 20 20 | ...1.The.operation.succeeded.... |
70a00 | 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 6d 32 2e 73 73 6c 5f 73 65 74 5f 63 6c 69 | ......""".........m2.ssl_set_cli |
70a20 | 65 6e 74 5f 43 41 5f 6c 69 73 74 5f 66 72 6f 6d 5f 66 69 6c 65 28 73 65 6c 66 2e 73 73 6c 2c 20 | ent_CA_list_from_file(self.ssl,. |
70a40 | 63 61 66 69 6c 65 29 0a 0a 20 20 20 20 64 65 66 20 73 65 74 5f 63 6c 69 65 6e 74 5f 43 41 5f 6c | cafile)......def.set_client_CA_l |
70a60 | 69 73 74 5f 66 72 6f 6d 5f 63 6f 6e 74 65 78 74 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 | ist_from_context(self):......... |
70a80 | 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 | #.type:.().->.None.........""".. |
70aa0 | 20 20 20 20 20 20 20 53 65 74 20 74 68 65 20 61 63 63 65 70 74 61 62 6c 65 20 63 6c 69 65 6e 74 | .......Set.the.acceptable.client |
70ac0 | 20 43 41 20 6c 69 73 74 2e 20 49 66 20 74 68 65 20 63 6c 69 65 6e 74 0a 20 20 20 20 20 20 20 20 | .CA.list..If.the.client......... |
70ae0 | 72 65 74 75 72 6e 73 20 61 20 63 65 72 74 69 66 69 63 61 74 65 2c 20 69 74 20 6d 75 73 74 20 68 | returns.a.certificate,.it.must.h |
70b00 | 61 76 65 20 62 65 65 6e 20 69 73 73 75 65 64 20 62 79 0a 20 20 20 20 20 20 20 20 6f 6e 65 20 6f | ave.been.issued.by.........one.o |
70b20 | 66 20 74 68 65 20 43 41 73 20 6c 69 73 74 65 64 20 69 6e 20 63 6f 6e 74 65 78 74 2e 0a 0a 20 20 | f.the.CAs.listed.in.context..... |
70b40 | 20 20 20 20 20 20 4d 61 6b 65 73 20 73 65 6e 73 65 20 6f 6e 6c 79 20 66 6f 72 20 73 65 72 76 65 | ......Makes.sense.only.for.serve |
70b60 | 72 73 2e 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 6d 32 2e 73 73 6c 5f 73 | rs..........""".........m2.ssl_s |
70b80 | 65 74 5f 63 6c 69 65 6e 74 5f 43 41 5f 6c 69 73 74 5f 66 72 6f 6d 5f 63 6f 6e 74 65 78 74 28 73 | et_client_CA_list_from_context(s |
70ba0 | 65 6c 66 2e 73 73 6c 2c 20 73 65 6c 66 2e 63 74 78 2e 63 74 78 29 0a 0a 20 20 20 20 64 65 66 20 | elf.ssl,.self.ctx.ctx)......def. |
70bc0 | 73 65 74 75 70 5f 61 64 64 72 28 73 65 6c 66 2c 20 61 64 64 72 29 3a 0a 20 20 20 20 20 20 20 20 | setup_addr(self,.addr):......... |
70be0 | 23 20 74 79 70 65 3a 20 28 75 74 69 6c 2e 41 64 64 72 54 79 70 65 29 20 2d 3e 20 4e 6f 6e 65 0a | #.type:.(util.AddrType).->.None. |
70c00 | 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 64 64 72 20 3d 20 61 64 64 72 0a 0a 20 20 20 20 64 65 | ........self.addr.=.addr......de |
70c20 | 66 20 73 65 74 5f 73 73 6c 5f 63 6c 6f 73 65 5f 66 6c 61 67 28 73 65 6c 66 2c 20 66 6c 61 67 29 | f.set_ssl_close_flag(self,.flag) |
70c40 | 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 69 6e 74 29 20 2d 3e 20 4e 6f 6e 65 0a | :.........#.type:.(int).->.None. |
70c60 | 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 42 79 20 64 65 66 61 75 6c 74 2c 20 | ........""".........By.default,. |
70c80 | 53 53 4c 20 73 74 72 75 63 74 20 77 69 6c 6c 20 62 65 20 66 72 65 65 64 20 69 6e 20 5f 5f 64 65 | SSL.struct.will.be.freed.in.__de |
70ca0 | 6c 5f 5f 2e 20 43 61 6c 6c 20 77 69 74 68 0a 20 20 20 20 20 20 20 20 6d 32 2e 62 69 6f 5f 63 6c | l__..Call.with.........m2.bio_cl |
70cc0 | 6f 73 65 20 74 6f 20 6f 76 65 72 72 69 64 65 20 74 68 69 73 20 64 65 66 61 75 6c 74 2e 0a 0a 20 | ose.to.override.this.default.... |
70ce0 | 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 66 6c 61 67 3a 20 65 69 74 68 65 72 20 6d 32 2e 62 69 | .......:param.flag:.either.m2.bi |
70d00 | 6f 5f 63 6c 6f 73 65 20 6f 72 20 6d 32 2e 62 69 6f 5f 6e 6f 63 6c 6f 73 65 0a 20 20 20 20 20 20 | o_close.or.m2.bio_noclose....... |
70d20 | 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 69 66 20 66 6c 61 67 20 6e 6f 74 20 69 6e 20 28 6d 32 | ..""".........if.flag.not.in.(m2 |
70d40 | 2e 62 69 6f 5f 63 6c 6f 73 65 2c 20 6d 32 2e 62 69 6f 5f 6e 6f 63 6c 6f 73 65 29 3a 0a 20 20 20 | .bio_close,.m2.bio_noclose):.... |
70d60 | 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 56 61 6c 75 65 45 72 72 6f 72 28 22 66 6c 61 67 20 | .........raise.ValueError("flag. |
70d80 | 6d 75 73 74 20 62 65 20 6d 32 2e 62 69 6f 5f 63 6c 6f 73 65 20 6f 72 20 6d 32 2e 62 69 6f 5f 6e | must.be.m2.bio_close.or.m2.bio_n |
70da0 | 6f 63 6c 6f 73 65 22 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 73 6c 5f 63 6c 6f 73 65 5f | oclose").........self.ssl_close_ |
70dc0 | 66 6c 61 67 20 3d 20 66 6c 61 67 0a 0a 20 20 20 20 64 65 66 20 73 65 74 75 70 5f 73 73 6c 28 73 | flag.=.flag......def.setup_ssl(s |
70de0 | 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 4e 6f 6e 65 | elf):.........#.type:.().->.None |
70e00 | 0a 20 20 20 20 20 20 20 20 23 20 4d 61 6b 65 20 61 20 42 49 4f 5f 73 5f 73 6f 63 6b 65 74 2e 0a | .........#.Make.a.BIO_s_socket.. |
70e20 | 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 6f 63 6b 62 69 6f 20 3d 20 6d 32 2e 62 69 6f 5f 6e 65 | ........self.sockbio.=.m2.bio_ne |
70e40 | 77 5f 73 6f 63 6b 65 74 28 73 65 6c 66 2e 73 6f 63 6b 65 74 2e 66 69 6c 65 6e 6f 28 29 2c 20 30 | w_socket(self.socket.fileno(),.0 |
70e60 | 29 0a 20 20 20 20 20 20 20 20 23 20 4c 69 6e 6b 20 53 53 4c 20 73 74 72 75 63 74 20 77 69 74 68 | ).........#.Link.SSL.struct.with |
70e80 | 20 74 68 65 20 42 49 4f 5f 73 6f 63 6b 65 74 2e 0a 20 20 20 20 20 20 20 20 6d 32 2e 73 73 6c 5f | .the.BIO_socket..........m2.ssl_ |
70ea0 | 73 65 74 5f 62 69 6f 28 73 65 6c 66 2e 73 73 6c 2c 20 73 65 6c 66 2e 73 6f 63 6b 62 69 6f 2c 20 | set_bio(self.ssl,.self.sockbio,. |
70ec0 | 73 65 6c 66 2e 73 6f 63 6b 62 69 6f 29 0a 20 20 20 20 20 20 20 20 23 20 4d 61 6b 65 20 61 20 42 | self.sockbio).........#.Make.a.B |
70ee0 | 49 4f 5f 66 5f 73 73 6c 2e 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 73 6c 62 69 6f 20 3d 20 | IO_f_ssl..........self.sslbio.=. |
70f00 | 6d 32 2e 62 69 6f 5f 6e 65 77 28 6d 32 2e 62 69 6f 5f 66 5f 73 73 6c 28 29 29 0a 20 20 20 20 20 | m2.bio_new(m2.bio_f_ssl())...... |
70f20 | 20 20 20 23 20 4c 69 6e 6b 20 42 49 4f 5f 66 5f 73 73 6c 20 77 69 74 68 20 74 68 65 20 53 53 4c | ...#.Link.BIO_f_ssl.with.the.SSL |
70f40 | 20 73 74 72 75 63 74 2e 0a 20 20 20 20 20 20 20 20 6d 32 2e 62 69 6f 5f 73 65 74 5f 73 73 6c 28 | .struct..........m2.bio_set_ssl( |
70f60 | 73 65 6c 66 2e 73 73 6c 62 69 6f 2c 20 73 65 6c 66 2e 73 73 6c 2c 20 6d 32 2e 62 69 6f 5f 6e 6f | self.sslbio,.self.ssl,.m2.bio_no |
70f80 | 63 6c 6f 73 65 29 0a 0a 20 20 20 20 64 65 66 20 5f 73 65 74 75 70 5f 73 73 6c 28 73 65 6c 66 2c | close)......def._setup_ssl(self, |
70fa0 | 20 61 64 64 72 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 75 74 69 6c 2e 41 64 | .addr):.........#.type:.(util.Ad |
70fc0 | 64 72 54 79 70 65 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 22 22 22 44 65 70 72 65 | drType).->.None........."""Depre |
70fe0 | 63 61 74 65 64 22 22 22 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 65 74 75 70 5f 61 64 64 72 | cated""".........self.setup_addr |
71000 | 28 61 64 64 72 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 65 74 75 70 5f 73 73 6c 28 29 0a | (addr).........self.setup_ssl(). |
71020 | 0a 20 20 20 20 64 65 66 20 73 65 74 5f 61 63 63 65 70 74 5f 73 74 61 74 65 28 73 65 6c 66 29 3a | .....def.set_accept_state(self): |
71040 | 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 | .........#.type:.().->.None..... |
71060 | 20 20 20 20 22 22 22 53 65 74 73 20 43 6f 6e 6e 65 63 74 69 6f 6e 20 74 6f 20 77 6f 72 6b 20 69 | ...."""Sets.Connection.to.work.i |
71080 | 6e 20 74 68 65 20 73 65 72 76 65 72 20 6d 6f 64 65 2e 22 22 22 0a 20 20 20 20 20 20 20 20 6d 32 | n.the.server.mode.""".........m2 |
710a0 | 2e 73 73 6c 5f 73 65 74 5f 61 63 63 65 70 74 5f 73 74 61 74 65 28 73 65 6c 66 2e 73 73 6c 29 0a | .ssl_set_accept_state(self.ssl). |
710c0 | 0a 20 20 20 20 64 65 66 20 61 63 63 65 70 74 5f 73 73 6c 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 | .....def.accept_ssl(self):...... |
710e0 | 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 4f 70 74 69 6f 6e 61 6c 5b 69 6e 74 5d 0a 20 | ...#.type:.().->.Optional[int].. |
71100 | 20 20 20 20 20 20 20 22 22 22 57 61 69 74 73 20 66 6f 72 20 61 20 54 4c 53 2f 53 53 4c 20 63 6c | ......."""Waits.for.a.TLS/SSL.cl |
71120 | 69 65 6e 74 20 74 6f 20 69 6e 69 74 69 61 74 65 20 74 68 65 20 54 4c 53 2f 53 53 4c 20 68 61 6e | ient.to.initiate.the.TLS/SSL.han |
71140 | 64 73 68 61 6b 65 2e 0a 0a 20 20 20 20 20 20 20 20 54 68 65 20 63 6f 6d 6d 75 6e 69 63 61 74 69 | dshake...........The.communicati |
71160 | 6f 6e 20 63 68 61 6e 6e 65 6c 20 6d 75 73 74 20 61 6c 72 65 61 64 79 20 68 61 76 65 20 62 65 65 | on.channel.must.already.have.bee |
71180 | 6e 20 73 65 74 20 61 6e 64 0a 20 20 20 20 20 20 20 20 61 73 73 69 67 6e 65 64 20 74 6f 20 74 68 | n.set.and.........assigned.to.th |
711a0 | 65 20 73 73 6c 20 62 79 20 73 65 74 74 69 6e 67 20 61 6e 20 75 6e 64 65 72 6c 79 69 6e 67 20 42 | e.ssl.by.setting.an.underlying.B |
711c0 | 49 4f 2e 0a 0a 20 20 20 20 20 20 20 20 3a 72 65 74 75 72 6e 3a 20 30 20 54 68 65 20 54 4c 53 2f | IO...........:return:.0.The.TLS/ |
711e0 | 53 53 4c 20 68 61 6e 64 73 68 61 6b 65 20 77 61 73 20 6e 6f 74 20 73 75 63 63 65 73 73 66 75 6c | SSL.handshake.was.not.successful |
71200 | 20 62 75 74 20 77 61 73 20 73 68 75 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .but.was.shut................... |
71220 | 20 64 6f 77 6e 20 63 6f 6e 74 72 6f 6c 6c 65 64 20 61 6e 64 20 62 79 20 74 68 65 20 73 70 65 63 | .down.controlled.and.by.the.spec |
71240 | 69 66 69 63 61 74 69 6f 6e 73 20 6f 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ifications.of.the............... |
71260 | 20 20 20 20 20 54 4c 53 2f 53 53 4c 20 70 72 6f 74 6f 63 6f 6c 2e 20 43 61 6c 6c 20 67 65 74 5f | .....TLS/SSL.protocol..Call.get_ |
71280 | 65 72 72 6f 72 28 29 20 77 69 74 68 20 74 68 65 20 72 65 74 75 72 6e 0a 20 20 20 20 20 20 20 20 | error().with.the.return......... |
712a0 | 20 20 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 20 72 65 74 20 74 6f 20 66 69 6e 64 20 6f 75 74 | ...........value.ret.to.find.out |
712c0 | 20 74 68 65 20 72 65 61 73 6f 6e 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 31 | .the.reason....................1 |
712e0 | 20 54 68 65 20 54 4c 53 2f 53 53 4c 20 68 61 6e 64 73 68 61 6b 65 20 77 61 73 20 73 75 63 63 65 | .The.TLS/SSL.handshake.was.succe |
71300 | 73 73 66 75 6c 6c 79 20 63 6f 6d 70 6c 65 74 65 64 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | ssfully.completed,.............. |
71320 | 20 20 20 20 20 20 61 20 54 4c 53 2f 53 53 4c 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 68 61 73 20 62 | ......a.TLS/SSL.connection.has.b |
71340 | 65 65 6e 20 65 73 74 61 62 6c 69 73 68 65 64 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | een.established................. |
71360 | 20 20 20 3c 30 20 54 68 65 20 54 4c 53 2f 53 53 4c 20 68 61 6e 64 73 68 61 6b 65 20 77 61 73 20 | ...<0.The.TLS/SSL.handshake.was. |
71380 | 6e 6f 74 20 73 75 63 63 65 73 73 66 75 6c 20 62 65 63 61 75 73 65 0a 20 20 20 20 20 20 20 20 20 | not.successful.because.......... |
713a0 | 20 20 20 20 20 20 20 20 20 20 20 61 20 66 61 74 61 6c 20 65 72 72 6f 72 20 6f 63 63 75 72 72 65 | ...........a.fatal.error.occurre |
713c0 | 64 20 65 69 74 68 65 72 20 61 74 20 74 68 65 20 70 72 6f 74 6f 63 6f 6c 20 6c 65 76 65 6c 0a 20 | d.either.at.the.protocol.level.. |
713e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 72 20 61 20 63 6f 6e 6e 65 63 74 69 | ...................or.a.connecti |
71400 | 6f 6e 20 66 61 69 6c 75 72 65 20 6f 63 63 75 72 72 65 64 2e 20 54 68 65 20 73 68 75 74 64 6f 77 | on.failure.occurred..The.shutdow |
71420 | 6e 20 77 61 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 6f 74 20 63 6c | n.was.....................not.cl |
71440 | 65 61 6e 2e 20 49 74 20 63 61 6e 20 61 6c 73 6f 20 6f 63 63 75 72 20 6f 66 20 61 63 74 69 6f 6e | ean..It.can.also.occur.of.action |
71460 | 20 69 73 20 6e 65 65 64 20 74 6f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .is.need.to..................... |
71480 | 63 6f 6e 74 69 6e 75 65 20 74 68 65 20 6f 70 65 72 61 74 69 6f 6e 20 66 6f 72 20 6e 6f 6e 2d 62 | continue.the.operation.for.non-b |
714a0 | 6c 6f 63 6b 69 6e 67 20 42 49 4f 73 2e 20 43 61 6c 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | locking.BIOs..Call.............. |
714c0 | 20 20 20 20 20 20 20 67 65 74 5f 65 72 72 6f 72 28 29 20 77 69 74 68 20 74 68 65 20 72 65 74 75 | .......get_error().with.the.retu |
714e0 | 72 6e 20 76 61 6c 75 65 20 72 65 74 20 74 6f 20 66 69 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 | rn.value.ret.to.find............ |
71500 | 20 20 20 20 20 20 20 20 20 6f 75 74 20 74 68 65 20 72 65 61 73 6f 6e 2e 0a 20 20 20 20 20 20 20 | .........out.the.reason......... |
71520 | 20 22 22 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 73 73 6c 5f 61 63 63 65 70 | .""".........return.m2.ssl_accep |
71540 | 74 28 73 65 6c 66 2e 73 73 6c 2c 20 73 65 6c 66 2e 5f 74 69 6d 65 6f 75 74 29 0a 0a 20 20 20 20 | t(self.ssl,.self._timeout)...... |
71560 | 64 65 66 20 61 63 63 65 70 74 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 | def.accept(self):.........#.type |
71580 | 3a 20 28 29 20 2d 3e 20 54 75 70 6c 65 5b 43 6f 6e 6e 65 63 74 69 6f 6e 2c 20 75 74 69 6c 2e 41 | :.().->.Tuple[Connection,.util.A |
715a0 | 64 64 72 54 79 70 65 5d 0a 20 20 20 20 20 20 20 20 22 22 22 41 63 63 65 70 74 20 61 6e 20 53 53 | ddrType]........."""Accept.an.SS |
715c0 | 4c 20 63 6f 6e 6e 65 63 74 69 6f 6e 2e 0a 0a 20 20 20 20 20 20 20 20 54 68 65 20 72 65 74 75 72 | L.connection...........The.retur |
715e0 | 6e 20 76 61 6c 75 65 20 69 73 20 61 20 70 61 69 72 20 28 73 73 6c 2c 20 61 64 64 72 29 20 77 68 | n.value.is.a.pair.(ssl,.addr).wh |
71600 | 65 72 65 20 73 73 6c 20 69 73 20 61 20 6e 65 77 20 53 53 4c 0a 20 20 20 20 20 20 20 20 63 6f 6e | ere.ssl.is.a.new.SSL.........con |
71620 | 6e 65 63 74 69 6f 6e 20 6f 62 6a 65 63 74 20 61 6e 64 20 61 64 64 72 20 69 73 20 74 68 65 20 61 | nection.object.and.addr.is.the.a |
71640 | 64 64 72 65 73 73 20 62 6f 75 6e 64 20 74 6f 20 74 68 65 20 6f 74 68 65 72 20 65 6e 64 0a 20 20 | ddress.bound.to.the.other.end... |
71660 | 20 20 20 20 20 20 6f 66 20 74 68 65 20 53 53 4c 20 63 6f 6e 6e 65 63 74 69 6f 6e 2e 0a 0a 20 20 | ......of.the.SSL.connection..... |
71680 | 20 20 20 20 20 20 3a 72 65 74 75 72 6e 3a 20 74 75 70 6c 65 20 6f 66 20 43 6f 6e 6e 65 63 74 69 | ......:return:.tuple.of.Connecti |
716a0 | 6f 6e 20 61 6e 64 20 61 64 64 72 2e 20 41 64 64 72 65 73 73 20 63 61 6e 20 74 61 6b 65 20 76 65 | on.and.addr..Address.can.take.ve |
716c0 | 72 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 69 6f 75 73 20 66 6f 72 6d | ry..................various.form |
716e0 | 73 20 28 73 65 65 20 73 6f 63 6b 65 74 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 29 2c 20 66 6f | s.(see.socket.documentation),.fo |
71700 | 72 20 49 50 76 34 20 69 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 73 20 74 75 | r.IPv4.it..................is.tu |
71720 | 70 6c 65 28 73 74 72 2c 20 69 6e 74 29 2c 20 66 6f 72 20 49 50 76 36 20 61 20 74 75 70 6c 65 20 | ple(str,.int),.for.IPv6.a.tuple. |
71740 | 6f 66 20 66 6f 75 72 20 28 68 6f 73 74 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | of.four.(host,.................. |
71760 | 70 6f 72 74 2c 20 66 6c 6f 77 69 6e 66 6f 2c 20 73 63 6f 70 65 69 64 29 2c 20 77 68 65 72 65 20 | port,.flowinfo,.scopeid),.where. |
71780 | 74 68 65 20 6c 61 73 74 20 74 77 6f 20 61 72 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | the.last.two.are................ |
717a0 | 20 20 6f 70 74 69 6f 6e 61 6c 20 69 6e 74 73 2e 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 | ..optional.ints..........""".... |
717c0 | 20 20 20 20 20 73 6f 63 6b 2c 20 61 64 64 72 20 3d 20 73 65 6c 66 2e 73 6f 63 6b 65 74 2e 61 63 | .....sock,.addr.=.self.socket.ac |
717e0 | 63 65 70 74 28 29 0a 20 20 20 20 20 20 20 20 73 73 6c 20 3d 20 43 6f 6e 6e 65 63 74 69 6f 6e 28 | cept().........ssl.=.Connection( |
71800 | 73 65 6c 66 2e 63 74 78 2c 20 73 6f 63 6b 29 0a 20 20 20 20 20 20 20 20 73 73 6c 2e 61 64 64 72 | self.ctx,.sock).........ssl.addr |
71820 | 20 3d 20 61 64 64 72 0a 20 20 20 20 20 20 20 20 73 73 6c 2e 73 65 74 75 70 5f 73 73 6c 28 29 0a | .=.addr.........ssl.setup_ssl(). |
71840 | 20 20 20 20 20 20 20 20 73 73 6c 2e 73 65 74 5f 61 63 63 65 70 74 5f 73 74 61 74 65 28 29 0a 20 | ........ssl.set_accept_state().. |
71860 | 20 20 20 20 20 20 20 73 73 6c 2e 61 63 63 65 70 74 5f 73 73 6c 28 29 0a 20 20 20 20 20 20 20 20 | .......ssl.accept_ssl()......... |
71880 | 63 68 65 63 6b 20 3d 20 67 65 74 61 74 74 72 28 73 65 6c 66 2c 20 27 70 6f 73 74 43 6f 6e 6e 65 | check.=.getattr(self,.'postConne |
718a0 | 63 74 69 6f 6e 43 68 65 63 6b 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ctionCheck',.................... |
718c0 | 20 20 20 20 20 73 65 6c 66 2e 73 65 72 76 65 72 50 6f 73 74 43 6f 6e 6e 65 63 74 69 6f 6e 43 68 | .....self.serverPostConnectionCh |
718e0 | 65 63 6b 29 0a 20 20 20 20 20 20 20 20 69 66 20 63 68 65 63 6b 20 69 73 20 6e 6f 74 20 4e 6f 6e | eck).........if.check.is.not.Non |
71900 | 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 6e 6f 74 20 63 68 65 63 6b 28 73 73 6c 2e | e:.............if.not.check(ssl. |
71920 | 67 65 74 5f 70 65 65 72 5f 63 65 72 74 28 29 2c 20 73 73 6c 2e 61 64 64 72 5b 30 5d 29 3a 0a 20 | get_peer_cert(),.ssl.addr[0]):.. |
71940 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 43 68 65 63 6b 65 72 2e 53 53 4c | ...............raise.Checker.SSL |
71960 | 56 65 72 69 66 69 63 61 74 69 6f 6e 45 72 72 6f 72 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | VerificationError(.............. |
71980 | 20 20 20 20 20 20 20 27 70 6f 73 74 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 63 68 65 63 6b 20 66 61 | .......'post.connection.check.fa |
719a0 | 69 6c 65 64 27 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 73 6c 2c 20 61 64 64 72 0a | iled').........return.ssl,.addr. |
719c0 | 0a 20 20 20 20 64 65 66 20 73 65 74 5f 63 6f 6e 6e 65 63 74 5f 73 74 61 74 65 28 73 65 6c 66 29 | .....def.set_connect_state(self) |
719e0 | 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 | :.........#.type:.().->.None.... |
71a00 | 20 20 20 20 20 22 22 22 53 65 74 73 20 43 6f 6e 6e 65 63 74 69 6f 6e 20 74 6f 20 77 6f 72 6b 20 | ....."""Sets.Connection.to.work. |
71a20 | 69 6e 20 74 68 65 20 63 6c 69 65 6e 74 20 6d 6f 64 65 2e 22 22 22 0a 20 20 20 20 20 20 20 20 6d | in.the.client.mode.""".........m |
71a40 | 32 2e 73 73 6c 5f 73 65 74 5f 63 6f 6e 6e 65 63 74 5f 73 74 61 74 65 28 73 65 6c 66 2e 73 73 6c | 2.ssl_set_connect_state(self.ssl |
71a60 | 29 0a 0a 20 20 20 20 64 65 66 20 63 6f 6e 6e 65 63 74 5f 73 73 6c 28 73 65 6c 66 29 3a 0a 20 20 | )......def.connect_ssl(self):... |
71a80 | 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 4f 70 74 69 6f 6e 61 6c 5b 69 6e 74 | ......#.type:.().->.Optional[int |
71aa0 | 5d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 73 73 6c 5f 63 6f 6e 6e 65 63 74 28 | ].........return.m2.ssl_connect( |
71ac0 | 73 65 6c 66 2e 73 73 6c 2c 20 73 65 6c 66 2e 5f 74 69 6d 65 6f 75 74 29 0a 0a 20 20 20 20 64 65 | self.ssl,.self._timeout)......de |
71ae0 | 66 20 63 6f 6e 6e 65 63 74 28 73 65 6c 66 2c 20 61 64 64 72 29 3a 0a 20 20 20 20 20 20 20 20 23 | f.connect(self,.addr):.........# |
71b00 | 20 74 79 70 65 3a 20 28 75 74 69 6c 2e 41 64 64 72 54 79 70 65 29 20 2d 3e 20 69 6e 74 0a 20 20 | .type:.(util.AddrType).->.int... |
71b20 | 20 20 20 20 20 20 22 22 22 4f 76 65 72 6c 6f 61 64 69 6e 67 20 73 6f 63 6b 65 74 2e 63 6f 6e 6e | ......"""Overloading.socket.conn |
71b40 | 65 63 74 28 29 0a 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 61 64 64 72 3a 20 61 64 64 72 | ect()..........:param.addr:.addr |
71b60 | 65 73 73 65 73 20 68 61 76 65 20 76 61 72 69 6f 75 73 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 | esses.have.various.depending.on. |
71b80 | 74 68 65 69 72 20 74 79 70 65 0a 0a 20 20 20 20 20 20 20 20 3a 72 65 74 75 72 6e 3a 73 74 61 74 | their.type..........:return:stat |
71ba0 | 75 73 20 6f 66 20 73 73 6c 5f 63 6f 6e 6e 65 63 74 28 29 0a 20 20 20 20 20 20 20 20 22 22 22 0a | us.of.ssl_connect().........""". |
71bc0 | 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 6f 63 6b 65 74 2e 63 6f 6e 6e 65 63 74 28 61 64 64 72 | ........self.socket.connect(addr |
71be0 | 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 64 64 72 20 3d 20 61 64 64 72 0a 20 20 20 20 20 | ).........self.addr.=.addr...... |
71c00 | 20 20 20 73 65 6c 66 2e 73 65 74 75 70 5f 73 73 6c 28 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 | ...self.setup_ssl().........self |
71c20 | 2e 73 65 74 5f 63 6f 6e 6e 65 63 74 5f 73 74 61 74 65 28 29 0a 20 20 20 20 20 20 20 20 72 65 74 | .set_connect_state().........ret |
71c40 | 20 3d 20 73 65 6c 66 2e 63 6f 6e 6e 65 63 74 5f 73 73 6c 28 29 0a 20 20 20 20 20 20 20 20 63 68 | .=.self.connect_ssl().........ch |
71c60 | 65 63 6b 20 3d 20 67 65 74 61 74 74 72 28 73 65 6c 66 2c 20 27 70 6f 73 74 43 6f 6e 6e 65 63 74 | eck.=.getattr(self,.'postConnect |
71c80 | 69 6f 6e 43 68 65 63 6b 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ionCheck',...................... |
71ca0 | 20 20 20 73 65 6c 66 2e 63 6c 69 65 6e 74 50 6f 73 74 43 6f 6e 6e 65 63 74 69 6f 6e 43 68 65 63 | ...self.clientPostConnectionChec |
71cc0 | 6b 29 0a 20 20 20 20 20 20 20 20 69 66 20 63 68 65 63 6b 20 69 73 20 6e 6f 74 20 4e 6f 6e 65 3a | k).........if.check.is.not.None: |
71ce0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 6e 6f 74 20 63 68 65 63 6b 28 73 65 6c 66 2e 67 | .............if.not.check(self.g |
71d00 | 65 74 5f 70 65 65 72 5f 63 65 72 74 28 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | et_peer_cert(),................. |
71d20 | 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 68 6f 73 74 20 69 66 20 73 65 6c 66 2e 68 6f 73 74 20 | .........self.host.if.self.host. |
71d40 | 65 6c 73 65 20 73 65 6c 66 2e 61 64 64 72 5b 30 5d 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 | else.self.addr[0]):............. |
71d60 | 20 20 20 20 72 61 69 73 65 20 43 68 65 63 6b 65 72 2e 53 53 4c 56 65 72 69 66 69 63 61 74 69 6f | ....raise.Checker.SSLVerificatio |
71d80 | 6e 45 72 72 6f 72 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 70 6f 73 | nError(.....................'pos |
71da0 | 74 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 63 68 65 63 6b 20 66 61 69 6c 65 64 27 29 0a 20 20 20 20 | t.connection.check.failed')..... |
71dc0 | 20 20 20 20 72 65 74 75 72 6e 20 72 65 74 0a 0a 20 20 20 20 64 65 66 20 73 68 75 74 64 6f 77 6e | ....return.ret......def.shutdown |
71de0 | 28 73 65 6c 66 2c 20 68 6f 77 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 69 6e | (self,.how):.........#.type:.(in |
71e00 | 74 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 6d 32 2e 73 73 6c 5f 73 65 74 5f 73 68 | t).->.None.........m2.ssl_set_sh |
71e20 | 75 74 64 6f 77 6e 28 73 65 6c 66 2e 73 73 6c 2c 20 68 6f 77 29 0a 0a 20 20 20 20 64 65 66 20 72 | utdown(self.ssl,.how)......def.r |
71e40 | 65 6e 65 67 6f 74 69 61 74 65 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 | enegotiate(self):.........#.type |
71e60 | 3a 20 28 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 22 22 22 52 65 6e 65 67 6f 74 69 61 | :.().->.int........."""Renegotia |
71e80 | 74 65 20 74 68 69 73 20 63 6f 6e 6e 65 63 74 69 6f 6e 27 73 20 53 53 4c 20 70 61 72 61 6d 65 74 | te.this.connection's.SSL.paramet |
71ea0 | 65 72 73 2e 22 22 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 73 73 6c 5f 72 65 | ers.""".........return.m2.ssl_re |
71ec0 | 6e 65 67 6f 74 69 61 74 65 28 73 65 6c 66 2e 73 73 6c 29 0a 0a 20 20 20 20 64 65 66 20 70 65 6e | negotiate(self.ssl)......def.pen |
71ee0 | 64 69 6e 67 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d | ding(self):.........#.type:.().- |
71f00 | 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 22 22 22 52 65 74 75 72 6e 20 74 68 65 20 6e 75 6d 62 | >.int........."""Return.the.numb |
71f20 | 65 72 73 20 6f 66 20 6f 63 74 65 74 73 20 74 68 61 74 20 63 61 6e 20 62 65 20 72 65 61 64 20 66 | ers.of.octets.that.can.be.read.f |
71f40 | 72 6f 6d 20 74 68 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 2e 22 22 22 0a 20 20 20 20 20 20 20 20 72 | rom.the.connection.""".........r |
71f60 | 65 74 75 72 6e 20 6d 32 2e 73 73 6c 5f 70 65 6e 64 69 6e 67 28 73 65 6c 66 2e 73 73 6c 29 0a 0a | eturn.m2.ssl_pending(self.ssl).. |
71f80 | 20 20 20 20 64 65 66 20 5f 77 72 69 74 65 5f 62 69 6f 28 73 65 6c 66 2c 20 64 61 74 61 29 3a 0a | ....def._write_bio(self,.data):. |
71fa0 | 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 62 79 74 65 73 29 20 2d 3e 20 69 6e 74 0a 20 | ........#.type:.(bytes).->.int.. |
71fc0 | 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 73 73 6c 5f 77 72 69 74 65 28 73 65 6c 66 2e | .......return.m2.ssl_write(self. |
71fe0 | 73 73 6c 2c 20 64 61 74 61 2c 20 73 65 6c 66 2e 5f 74 69 6d 65 6f 75 74 29 0a 0a 20 20 20 20 64 | ssl,.data,.self._timeout)......d |
72000 | 65 66 20 5f 77 72 69 74 65 5f 6e 62 69 6f 28 73 65 6c 66 2c 20 64 61 74 61 29 3a 0a 20 20 20 20 | ef._write_nbio(self,.data):..... |
72020 | 20 20 20 20 23 20 74 79 70 65 3a 20 28 62 79 74 65 73 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 | ....#.type:.(bytes).->.int...... |
72040 | 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 73 73 6c 5f 77 72 69 74 65 5f 6e 62 69 6f 28 73 65 6c 66 | ...return.m2.ssl_write_nbio(self |
72060 | 2e 73 73 6c 2c 20 64 61 74 61 29 0a 0a 20 20 20 20 64 65 66 20 5f 72 65 61 64 5f 62 69 6f 28 73 | .ssl,.data)......def._read_bio(s |
72080 | 65 6c 66 2c 20 73 69 7a 65 3d 31 30 32 34 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a | elf,.size=1024):.........#.type: |
720a0 | 20 28 69 6e 74 29 20 2d 3e 20 62 79 74 65 73 0a 20 20 20 20 20 20 20 20 69 66 20 73 69 7a 65 20 | .(int).->.bytes.........if.size. |
720c0 | 3c 3d 20 30 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 56 61 6c 75 65 45 72 72 | <=.0:.............raise.ValueErr |
720e0 | 6f 72 28 27 73 69 7a 65 20 3c 3d 20 30 27 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d | or('size.<=.0').........return.m |
72100 | 32 2e 73 73 6c 5f 72 65 61 64 28 73 65 6c 66 2e 73 73 6c 2c 20 73 69 7a 65 2c 20 73 65 6c 66 2e | 2.ssl_read(self.ssl,.size,.self. |
72120 | 5f 74 69 6d 65 6f 75 74 29 0a 0a 20 20 20 20 64 65 66 20 5f 72 65 61 64 5f 6e 62 69 6f 28 73 65 | _timeout)......def._read_nbio(se |
72140 | 6c 66 2c 20 73 69 7a 65 3d 31 30 32 34 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 | lf,.size=1024):.........#.type:. |
72160 | 28 69 6e 74 29 20 2d 3e 20 62 79 74 65 73 0a 20 20 20 20 20 20 20 20 69 66 20 73 69 7a 65 20 3c | (int).->.bytes.........if.size.< |
72180 | 3d 20 30 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 56 61 6c 75 65 45 72 72 6f | =.0:.............raise.ValueErro |
721a0 | 72 28 27 73 69 7a 65 20 3c 3d 20 30 27 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 | r('size.<=.0').........return.m2 |
721c0 | 2e 73 73 6c 5f 72 65 61 64 5f 6e 62 69 6f 28 73 65 6c 66 2e 73 73 6c 2c 20 73 69 7a 65 29 0a 0a | .ssl_read_nbio(self.ssl,.size).. |
721e0 | 20 20 20 20 64 65 66 20 77 72 69 74 65 28 73 65 6c 66 2c 20 64 61 74 61 29 3a 0a 20 20 20 20 20 | ....def.write(self,.data):...... |
72200 | 20 20 20 23 20 74 79 70 65 3a 20 28 62 79 74 65 73 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 | ...#.type:.(bytes).->.int....... |
72220 | 20 20 69 66 20 73 65 6c 66 2e 5f 74 69 6d 65 6f 75 74 20 21 3d 20 30 2e 30 3a 0a 20 20 20 20 20 | ..if.self._timeout.!=.0.0:...... |
72240 | 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 2e 5f 77 72 69 74 65 5f 62 69 6f 28 64 61 | .......return.self._write_bio(da |
72260 | 74 61 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 2e 5f 77 72 69 74 65 5f 6e | ta).........return.self._write_n |
72280 | 62 69 6f 28 64 61 74 61 29 0a 20 20 20 20 73 65 6e 64 61 6c 6c 20 3d 20 73 65 6e 64 20 3d 20 77 | bio(data).....sendall.=.send.=.w |
722a0 | 72 69 74 65 0a 0a 20 20 20 20 64 65 66 20 5f 64 65 63 72 65 66 5f 73 6f 63 6b 65 74 69 6f 73 28 | rite......def._decref_socketios( |
722c0 | 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 70 61 73 73 0a 0a 20 20 20 20 64 65 66 20 72 65 63 | self):.........pass......def.rec |
722e0 | 76 5f 69 6e 74 6f 28 73 65 6c 66 2c 20 62 75 66 66 2c 20 6e 62 79 74 65 73 3d 30 29 3a 0a 20 20 | v_into(self,.buff,.nbytes=0):... |
72300 | 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 55 6e 69 6f 6e 5b 62 79 74 65 61 72 72 61 79 2c 20 | ......#.type:.(Union[bytearray,. |
72320 | 6d 65 6d 6f 72 79 76 69 65 77 5d 2c 20 69 6e 74 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 | memoryview],.int).->.int........ |
72340 | 20 22 22 22 0a 20 20 20 20 20 20 20 20 41 20 76 65 72 73 69 6f 6e 20 6f 66 20 72 65 63 76 28 29 | .""".........A.version.of.recv() |
72360 | 20 74 68 61 74 20 73 74 6f 72 65 73 20 69 74 73 20 64 61 74 61 20 69 6e 74 6f 20 61 20 62 75 66 | .that.stores.its.data.into.a.buf |
72380 | 66 65 72 20 72 61 74 68 65 72 0a 20 20 20 20 20 20 20 20 74 68 61 6e 20 63 72 65 61 74 69 6e 67 | fer.rather.........than.creating |
723a0 | 20 61 20 6e 65 77 20 73 74 72 69 6e 67 2e 20 20 52 65 63 65 69 76 65 20 75 70 20 74 6f 20 62 75 | .a.new.string...Receive.up.to.bu |
723c0 | 66 66 65 72 73 69 7a 65 20 62 79 74 65 73 20 66 72 6f 6d 0a 20 20 20 20 20 20 20 20 74 68 65 20 | ffersize.bytes.from.........the. |
723e0 | 73 6f 63 6b 65 74 2e 20 20 49 66 20 62 75 66 66 65 72 73 69 7a 65 20 69 73 20 6e 6f 74 20 73 70 | socket...If.buffersize.is.not.sp |
72400 | 65 63 69 66 69 65 64 20 28 6f 72 20 30 29 2c 20 72 65 63 65 69 76 65 20 75 70 0a 20 20 20 20 20 | ecified.(or.0),.receive.up...... |
72420 | 20 20 20 74 6f 20 74 68 65 20 73 69 7a 65 20 61 76 61 69 6c 61 62 6c 65 20 69 6e 20 74 68 65 20 | ...to.the.size.available.in.the. |
72440 | 67 69 76 65 6e 20 62 75 66 66 65 72 2e 0a 0a 20 20 20 20 20 20 20 20 49 66 20 62 75 66 66 20 69 | given.buffer...........If.buff.i |
72460 | 73 20 62 79 74 65 61 72 72 61 79 2c 20 69 74 20 77 69 6c 6c 20 68 61 76 65 20 61 66 74 65 72 20 | s.bytearray,.it.will.have.after. |
72480 | 72 65 74 75 72 6e 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 61 63 74 | return.length.of.the.........act |
724a0 | 75 61 6c 6c 79 20 72 65 74 75 72 6e 65 64 20 6e 75 6d 62 65 72 20 6f 66 20 62 79 74 65 73 2e 20 | ually.returned.number.of.bytes.. |
724c0 | 49 66 20 62 75 66 66 20 69 73 20 6d 65 6d 6f 72 79 76 69 65 77 2c 20 74 68 65 6e 0a 20 20 20 20 | If.buff.is.memoryview,.then..... |
724e0 | 20 20 20 20 74 68 65 20 73 69 7a 65 20 6f 66 20 62 75 66 66 20 77 6f 6e 27 74 20 63 68 61 6e 67 | ....the.size.of.buff.won't.chang |
72500 | 65 20 28 69 74 20 63 61 6e 6e 6f 74 29 2c 20 62 75 74 20 61 6c 6c 20 62 79 74 65 73 20 61 66 74 | e.(it.cannot),.but.all.bytes.aft |
72520 | 65 72 0a 20 20 20 20 20 20 20 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 72 65 74 75 72 6e 65 | er.........the.number.of.returne |
72540 | 64 20 62 79 74 65 73 20 77 69 6c 6c 20 62 65 20 4e 55 4c 4c 2e 0a 0a 20 20 20 20 20 20 20 20 3a | d.bytes.will.be.NULL...........: |
72560 | 70 61 72 61 6d 20 62 75 66 66 65 72 3a 20 61 20 62 75 66 66 65 72 20 66 6f 72 20 74 68 65 20 72 | param.buffer:.a.buffer.for.the.r |
72580 | 65 63 65 69 76 65 64 20 62 79 74 65 73 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 6e 62 79 | eceived.bytes.........:param.nby |
725a0 | 74 65 73 3a 20 6d 61 78 69 6d 75 6d 20 6e 75 6d 62 65 72 20 6f 66 20 62 79 74 65 73 20 74 6f 20 | tes:.maximum.number.of.bytes.to. |
725c0 | 72 65 61 64 0a 20 20 20 20 20 20 20 20 3a 72 65 74 75 72 6e 3a 20 6e 75 6d 62 65 72 20 6f 66 20 | read.........:return:.number.of. |
725e0 | 62 79 74 65 73 20 72 65 61 64 0a 0a 20 20 20 20 20 20 20 20 53 65 65 20 72 65 63 76 28 29 20 66 | bytes.read..........See.recv().f |
72600 | 6f 72 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 61 62 6f 75 74 20 74 68 65 20 66 6c 61 67 73 | or.documentation.about.the.flags |
72620 | 2e 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 6e 20 3d 20 6c 65 6e 28 62 75 | ..........""".........n.=.len(bu |
72640 | 66 66 29 20 69 66 20 6e 62 79 74 65 73 20 3d 3d 20 30 20 65 6c 73 65 20 6e 62 79 74 65 73 0a 0a | ff).if.nbytes.==.0.else.nbytes.. |
72660 | 20 20 20 20 20 20 20 20 69 66 20 6e 20 3c 3d 20 30 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 | ........if.n.<=.0:.............r |
72680 | 61 69 73 65 20 56 61 6c 75 65 45 72 72 6f 72 28 27 73 69 7a 65 20 3c 3d 20 30 27 29 0a 0a 20 20 | aise.ValueError('size.<=.0').... |
726a0 | 20 20 20 20 20 20 23 20 62 75 66 66 5f 62 79 74 65 73 20 61 72 65 20 61 63 74 75 61 6c 20 62 79 | ......#.buff_bytes.are.actual.by |
726c0 | 74 65 73 20 72 65 74 75 72 6e 65 64 0a 20 20 20 20 20 20 20 20 62 75 66 66 5f 62 79 74 65 73 20 | tes.returned.........buff_bytes. |
726e0 | 3d 20 6d 32 2e 73 73 6c 5f 72 65 61 64 28 73 65 6c 66 2e 73 73 6c 2c 20 6e 2c 20 73 65 6c 66 2e | =.m2.ssl_read(self.ssl,.n,.self. |
72700 | 5f 74 69 6d 65 6f 75 74 29 0a 20 20 20 20 20 20 20 20 62 75 66 6c 65 6e 20 3d 20 6c 65 6e 28 62 | _timeout).........buflen.=.len(b |
72720 | 75 66 66 5f 62 79 74 65 73 29 0a 0a 20 20 20 20 20 20 20 20 23 20 6d 65 6d 6f 72 79 76 69 65 77 | uff_bytes)..........#.memoryview |
72740 | 20 74 79 70 65 20 68 61 73 20 62 65 65 6e 20 61 64 64 65 64 20 69 6e 20 32 2e 37 0a 20 20 20 20 | .type.has.been.added.in.2.7..... |
72760 | 20 20 20 20 69 66 20 70 79 32 37 70 6c 75 73 20 61 6e 64 20 69 73 69 6e 73 74 61 6e 63 65 28 62 | ....if.py27plus.and.isinstance(b |
72780 | 75 66 66 2c 20 6d 65 6d 6f 72 79 76 69 65 77 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 62 75 | uff,.memoryview):.............bu |
727a0 | 66 66 5b 3a 62 75 66 6c 65 6e 5d 20 3d 20 62 75 66 66 5f 62 79 74 65 73 0a 20 20 20 20 20 20 20 | ff[:buflen].=.buff_bytes........ |
727c0 | 20 20 20 20 20 62 75 66 66 5b 62 75 66 6c 65 6e 3a 5d 20 3d 20 62 27 5c 78 30 30 27 20 2a 20 28 | .....buff[buflen:].=.b'\x00'.*.( |
727e0 | 6c 65 6e 28 62 75 66 66 29 20 2d 20 62 75 66 6c 65 6e 29 0a 20 20 20 20 20 20 20 20 65 6c 73 65 | len(buff).-.buflen).........else |
72800 | 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 62 75 66 66 5b 3a 5d 20 3d 20 62 75 66 66 5f 62 79 74 | :.............buff[:].=.buff_byt |
72820 | 65 73 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 62 75 66 6c 65 6e 0a 0a 20 20 20 20 64 | es..........return.buflen......d |
72840 | 65 66 20 72 65 61 64 28 73 65 6c 66 2c 20 73 69 7a 65 3d 31 30 32 34 29 3a 0a 20 20 20 20 20 20 | ef.read(self,.size=1024):....... |
72860 | 20 20 23 20 74 79 70 65 3a 20 28 69 6e 74 29 20 2d 3e 20 62 79 74 65 73 0a 20 20 20 20 20 20 20 | ..#.type:.(int).->.bytes........ |
72880 | 20 69 66 20 73 65 6c 66 2e 5f 74 69 6d 65 6f 75 74 20 21 3d 20 30 2e 30 3a 0a 20 20 20 20 20 20 | .if.self._timeout.!=.0.0:....... |
728a0 | 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 2e 5f 72 65 61 64 5f 62 69 6f 28 73 69 7a 65 | ......return.self._read_bio(size |
728c0 | 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 2e 5f 72 65 61 64 5f 6e 62 69 6f | ).........return.self._read_nbio |
728e0 | 28 73 69 7a 65 29 0a 20 20 20 20 72 65 63 76 20 3d 20 72 65 61 64 0a 0a 20 20 20 20 64 65 66 20 | (size).....recv.=.read......def. |
72900 | 73 65 74 62 6c 6f 63 6b 69 6e 67 28 73 65 6c 66 2c 20 6d 6f 64 65 29 3a 0a 20 20 20 20 20 20 20 | setblocking(self,.mode):........ |
72920 | 20 23 20 74 79 70 65 3a 20 28 69 6e 74 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 22 | .#.type:.(int).->.None........." |
72940 | 22 22 53 65 74 20 74 68 69 73 20 63 6f 6e 6e 65 63 74 69 6f 6e 27 73 20 75 6e 64 65 72 6c 79 69 | ""Set.this.connection's.underlyi |
72960 | 6e 67 20 73 6f 63 6b 65 74 20 74 6f 20 5f 6d 6f 64 65 5f 2e 0a 0a 20 20 20 20 20 20 20 20 53 65 | ng.socket.to._mode_...........Se |
72980 | 74 20 62 6c 6f 63 6b 69 6e 67 20 6f 72 20 6e 6f 6e 2d 62 6c 6f 63 6b 69 6e 67 20 6d 6f 64 65 20 | t.blocking.or.non-blocking.mode. |
729a0 | 6f 66 20 74 68 65 20 73 6f 63 6b 65 74 3a 20 69 66 20 66 6c 61 67 20 69 73 20 30 2c 0a 20 20 20 | of.the.socket:.if.flag.is.0,.... |
729c0 | 20 20 20 20 20 74 68 65 20 73 6f 63 6b 65 74 20 69 73 20 73 65 74 20 74 6f 20 6e 6f 6e 2d 62 6c | .....the.socket.is.set.to.non-bl |
729e0 | 6f 63 6b 69 6e 67 2c 20 65 6c 73 65 20 74 6f 20 62 6c 6f 63 6b 69 6e 67 20 6d 6f 64 65 2e 0a 20 | ocking,.else.to.blocking.mode... |
72a00 | 20 20 20 20 20 20 20 49 6e 69 74 69 61 6c 6c 79 20 61 6c 6c 20 73 6f 63 6b 65 74 73 20 61 72 65 | .......Initially.all.sockets.are |
72a20 | 20 69 6e 20 62 6c 6f 63 6b 69 6e 67 20 6d 6f 64 65 2e 20 49 6e 20 6e 6f 6e 2d 62 6c 6f 63 6b 69 | .in.blocking.mode..In.non-blocki |
72a40 | 6e 67 20 6d 6f 64 65 2c 0a 20 20 20 20 20 20 20 20 69 66 20 61 20 72 65 63 76 28 29 20 63 61 6c | ng.mode,.........if.a.recv().cal |
72a60 | 6c 20 64 6f 65 73 6e 27 74 20 66 69 6e 64 20 61 6e 79 20 64 61 74 61 2c 20 6f 72 20 69 66 20 61 | l.doesn't.find.any.data,.or.if.a |
72a80 | 20 73 65 6e 64 28 29 20 63 61 6c 6c 20 63 61 6e 27 74 0a 20 20 20 20 20 20 20 20 69 6d 6d 65 64 | .send().call.can't.........immed |
72aa0 | 69 61 74 65 6c 79 20 64 69 73 70 6f 73 65 20 6f 66 20 74 68 65 20 64 61 74 61 2c 20 61 20 65 72 | iately.dispose.of.the.data,.a.er |
72ac0 | 72 6f 72 20 65 78 63 65 70 74 69 6f 6e 20 69 73 20 72 61 69 73 65 64 3b 0a 20 20 20 20 20 20 20 | ror.exception.is.raised;........ |
72ae0 | 20 69 6e 20 62 6c 6f 63 6b 69 6e 67 20 6d 6f 64 65 2c 20 74 68 65 20 63 61 6c 6c 73 20 62 6c 6f | .in.blocking.mode,.the.calls.blo |
72b00 | 63 6b 20 75 6e 74 69 6c 20 74 68 65 79 20 63 61 6e 20 70 72 6f 63 65 65 64 2e 0a 20 20 20 20 20 | ck.until.they.can.proceed....... |
72b20 | 20 20 20 73 2e 73 65 74 62 6c 6f 63 6b 69 6e 67 28 30 29 20 69 73 20 65 71 75 69 76 61 6c 65 6e | ...s.setblocking(0).is.equivalen |
72b40 | 74 20 74 6f 20 73 2e 73 65 74 74 69 6d 65 6f 75 74 28 30 2e 30 29 3b 0a 20 20 20 20 20 20 20 20 | t.to.s.settimeout(0.0);......... |
72b60 | 73 2e 73 65 74 62 6c 6f 63 6b 69 6e 67 28 31 29 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 | s.setblocking(1).is.equivalent.t |
72b80 | 6f 20 73 2e 73 65 74 74 69 6d 65 6f 75 74 28 4e 6f 6e 65 29 2e 0a 0a 20 20 20 20 20 20 20 20 3a | o.s.settimeout(None)...........: |
72ba0 | 70 61 72 61 6d 20 6d 6f 64 65 3a 20 6e 65 77 20 6d 6f 64 65 20 74 6f 20 62 65 20 73 65 74 0a 20 | param.mode:.new.mode.to.be.set.. |
72bc0 | 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 6f 63 6b 65 74 2e 73 | .......""".........self.socket.s |
72be0 | 65 74 62 6c 6f 63 6b 69 6e 67 28 6d 6f 64 65 29 0a 20 20 20 20 20 20 20 20 69 66 20 6d 6f 64 65 | etblocking(mode).........if.mode |
72c00 | 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 74 69 6d 65 6f 75 74 20 3d 20 2d 31 | :.............self._timeout.=.-1 |
72c20 | 2e 30 0a 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c | .0.........else:.............sel |
72c40 | 66 2e 5f 74 69 6d 65 6f 75 74 20 3d 20 30 2e 30 0a 0a 20 20 20 20 64 65 66 20 73 65 74 74 69 6d | f._timeout.=.0.0......def.settim |
72c60 | 65 6f 75 74 28 73 65 6c 66 2c 20 74 69 6d 65 6f 75 74 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 | eout(self,.timeout):.........#.t |
72c80 | 79 70 65 3a 20 28 66 6c 6f 61 74 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 22 22 22 | ype:.(float).->.None.........""" |
72ca0 | 53 65 74 20 74 68 69 73 20 63 6f 6e 6e 65 63 74 69 6f 6e 27 73 20 75 6e 64 65 72 6c 79 69 6e 67 | Set.this.connection's.underlying |
72cc0 | 20 73 6f 63 6b 65 74 27 73 20 74 69 6d 65 6f 75 74 20 74 6f 20 5f 74 69 6d 65 6f 75 74 5f 2e 22 | .socket's.timeout.to._timeout_." |
72ce0 | 22 22 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 6f 63 6b 65 74 2e 73 65 74 74 69 6d 65 6f 75 | "".........self.socket.settimeou |
72d00 | 74 28 74 69 6d 65 6f 75 74 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 74 69 6d 65 6f 75 74 | t(timeout).........self._timeout |
72d20 | 20 3d 20 74 69 6d 65 6f 75 74 0a 20 20 20 20 20 20 20 20 69 66 20 73 65 6c 66 2e 5f 74 69 6d 65 | .=.timeout.........if.self._time |
72d40 | 6f 75 74 20 69 73 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 74 | out.is.None:.............self._t |
72d60 | 69 6d 65 6f 75 74 20 3d 20 2d 31 2e 30 0a 0a 20 20 20 20 64 65 66 20 66 69 6c 65 6e 6f 28 73 65 | imeout.=.-1.0......def.fileno(se |
72d80 | 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 69 6e 74 0a 20 | lf):.........#.type:.().->.int.. |
72da0 | 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 2e 73 6f 63 6b 65 74 2e 66 69 6c 65 6e 6f | .......return.self.socket.fileno |
72dc0 | 28 29 0a 0a 20 20 20 20 64 65 66 20 67 65 74 73 6f 63 6b 6f 70 74 28 73 65 6c 66 2c 20 6c 65 76 | ()......def.getsockopt(self,.lev |
72de0 | 65 6c 2c 20 6f 70 74 6e 61 6d 65 2c 20 62 75 66 6c 65 6e 3d 4e 6f 6e 65 29 3a 0a 20 20 20 20 20 | el,.optname,.buflen=None):...... |
72e00 | 20 20 20 23 20 74 79 70 65 3a 20 28 69 6e 74 2c 20 69 6e 74 2c 20 4f 70 74 69 6f 6e 61 6c 5b 69 | ...#.type:.(int,.int,.Optional[i |
72e20 | 6e 74 5d 29 20 2d 3e 20 55 6e 69 6f 6e 5b 69 6e 74 2c 20 62 79 74 65 73 5d 0a 20 20 20 20 20 20 | nt]).->.Union[int,.bytes]....... |
72e40 | 20 20 22 22 22 47 65 74 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 67 69 76 65 6e 20 | .."""Get.the.value.of.the.given. |
72e60 | 73 6f 63 6b 65 74 20 6f 70 74 69 6f 6e 2e 0a 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 6c | socket.option...........:param.l |
72e80 | 65 76 65 6c 3a 20 6c 65 76 65 6c 20 61 74 20 77 68 69 63 68 20 74 68 65 20 6f 70 74 69 6f 6e 20 | evel:.level.at.which.the.option. |
72ea0 | 72 65 73 69 64 65 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 6f 20 6d 61 6e 69 70 | resides.................To.manip |
72ec0 | 75 6c 61 74 65 20 6f 70 74 69 6f 6e 73 20 61 74 20 74 68 65 20 73 6f 63 6b 65 74 73 20 41 50 49 | ulate.options.at.the.sockets.API |
72ee0 | 20 6c 65 76 65 6c 2c 20 6c 65 76 65 6c 20 69 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .level,.level.is................ |
72f00 | 73 70 65 63 69 66 69 65 64 20 61 73 20 73 6f 63 6b 65 74 2e 53 4f 4c 5f 53 4f 43 4b 45 54 2e 20 | specified.as.socket.SOL_SOCKET.. |
72f20 | 54 6f 20 6d 61 6e 69 70 75 6c 61 74 65 20 6f 70 74 69 6f 6e 73 20 61 74 0a 20 20 20 20 20 20 20 | To.manipulate.options.at........ |
72f40 | 20 20 20 20 20 20 20 20 61 6e 79 20 6f 74 68 65 72 20 6c 65 76 65 6c 20 74 68 65 20 70 72 6f 74 | ........any.other.level.the.prot |
72f60 | 6f 63 6f 6c 20 6e 75 6d 62 65 72 20 6f 66 20 74 68 65 20 61 70 70 72 6f 70 72 69 61 74 65 0a 20 | ocol.number.of.the.appropriate.. |
72f80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 6f 74 6f 63 6f 6c 20 63 6f 6e 74 72 6f 6c 6c 69 | ..............protocol.controlli |
72fa0 | 6e 67 20 74 68 65 20 6f 70 74 69 6f 6e 20 69 73 20 73 75 70 70 6c 69 65 64 2e 20 46 6f 72 20 65 | ng.the.option.is.supplied..For.e |
72fc0 | 78 61 6d 70 6c 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 6f 20 69 6e 64 69 63 61 | xample,................to.indica |
72fe0 | 74 65 20 74 68 61 74 20 61 6e 20 6f 70 74 69 6f 6e 20 69 73 20 74 6f 20 62 65 20 69 6e 74 65 72 | te.that.an.option.is.to.be.inter |
73000 | 70 72 65 74 65 64 20 62 79 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 43 50 | preted.by.the................TCP |
73020 | 20 70 72 6f 74 6f 63 6f 6c 2c 20 6c 65 76 65 6c 20 73 68 6f 75 6c 64 20 62 65 20 73 65 74 20 74 | .protocol,.level.should.be.set.t |
73040 | 6f 20 74 68 65 20 70 72 6f 74 6f 63 6f 6c 20 6e 75 6d 62 65 72 0a 20 20 20 20 20 20 20 20 20 20 | o.the.protocol.number........... |
73060 | 20 20 20 20 20 6f 66 20 73 6f 63 6b 65 74 2e 53 4f 4c 5f 54 43 50 3b 20 73 65 65 20 67 65 74 70 | .....of.socket.SOL_TCP;.see.getp |
73080 | 72 6f 74 6f 65 6e 74 28 33 29 2e 0a 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 6f 70 74 6e | rotoent(3)...........:param.optn |
730a0 | 61 6d 65 3a 20 54 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 67 69 76 65 6e 20 73 6f 63 6b | ame:.The.value.of.the.given.sock |
730c0 | 65 74 20 6f 70 74 69 6f 6e 20 69 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65 73 63 | et.option.is................desc |
730e0 | 72 69 62 65 64 20 69 6e 20 74 68 65 20 55 6e 69 78 20 6d 61 6e 20 70 61 67 65 20 67 65 74 73 6f | ribed.in.the.Unix.man.page.getso |
73100 | 63 6b 6f 70 74 28 32 29 29 2e 20 54 68 65 20 6e 65 65 64 65 64 0a 20 20 20 20 20 20 20 20 20 20 | ckopt(2))..The.needed........... |
73120 | 20 20 20 20 20 73 79 6d 62 6f 6c 69 63 20 63 6f 6e 73 74 61 6e 74 73 20 28 53 4f 5f 2a 20 65 74 | .....symbolic.constants.(SO_*.et |
73140 | 63 2e 29 20 61 72 65 20 64 65 66 69 6e 65 64 20 69 6e 20 74 68 65 20 73 6f 63 6b 65 74 0a 20 20 | c.).are.defined.in.the.socket... |
73160 | 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 6f 64 75 6c 65 2e 0a 0a 20 20 20 20 20 20 20 20 3a 70 | .............module...........:p |
73180 | 61 72 61 6d 20 62 75 66 6c 65 6e 3a 20 49 66 20 69 74 20 69 73 20 61 62 73 65 6e 74 2c 20 61 6e | aram.buflen:.If.it.is.absent,.an |
731a0 | 20 69 6e 74 65 67 65 72 20 6f 70 74 69 6f 6e 20 69 73 20 61 73 73 75 6d 65 64 0a 20 20 20 20 20 | .integer.option.is.assumed...... |
731c0 | 20 20 20 20 20 20 20 20 20 20 61 6e 64 20 69 74 73 20 69 6e 74 65 67 65 72 20 76 61 6c 75 65 20 | ..........and.its.integer.value. |
731e0 | 69 73 20 72 65 74 75 72 6e 65 64 20 62 79 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 2e 20 49 66 0a | is.returned.by.the.function..If. |
73200 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 75 66 6c 65 6e 20 69 73 20 70 72 65 73 65 6e 74 | ...............buflen.is.present |
73220 | 2c 20 69 74 20 73 70 65 63 69 66 69 65 73 20 74 68 65 20 6d 61 78 69 6d 75 6d 20 6c 65 6e 67 74 | ,.it.specifies.the.maximum.lengt |
73240 | 68 20 6f 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 75 66 66 65 72 20 75 | h.of.the................buffer.u |
73260 | 73 65 64 20 74 6f 20 72 65 63 65 69 76 65 20 74 68 65 20 6f 70 74 69 6f 6e 20 69 6e 2c 20 61 6e | sed.to.receive.the.option.in,.an |
73280 | 64 20 74 68 69 73 20 62 75 66 66 65 72 20 69 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | d.this.buffer.is................ |
732a0 | 72 65 74 75 72 6e 65 64 20 61 73 20 61 20 62 79 74 65 73 20 6f 62 6a 65 63 74 2e 0a 0a 20 20 20 | returned.as.a.bytes.object...... |
732c0 | 20 20 20 20 20 3a 72 65 74 75 72 6e 3a 20 45 69 74 68 65 72 20 69 6e 74 65 67 65 72 20 6f 72 20 | .....:return:.Either.integer.or. |
732e0 | 62 79 74 65 73 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 6f 70 74 69 6f 6e 2e 20 49 74 20 69 73 | bytes.value.of.the.option..It.is |
73300 | 20 75 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 6f 20 74 68 65 20 63 61 6c 6c | .up..................to.the.call |
73320 | 65 72 20 74 6f 20 64 65 63 6f 64 65 20 74 68 65 20 63 6f 6e 74 65 6e 74 73 20 6f 66 20 74 68 65 | er.to.decode.the.contents.of.the |
73340 | 20 62 75 66 66 65 72 20 28 73 65 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 | .buffer.(see..................th |
73360 | 65 20 6f 70 74 69 6f 6e 61 6c 20 62 75 69 6c 74 2d 69 6e 20 6d 6f 64 75 6c 65 20 73 74 72 75 63 | e.optional.built-in.module.struc |
73380 | 74 20 66 6f 72 20 61 20 77 61 79 20 74 6f 20 64 65 63 6f 64 65 0a 20 20 20 20 20 20 20 20 20 20 | t.for.a.way.to.decode........... |
733a0 | 20 20 20 20 20 20 20 43 20 73 74 72 75 63 74 75 72 65 73 20 65 6e 63 6f 64 65 64 20 61 73 20 62 | .......C.structures.encoded.as.b |
733c0 | 79 74 65 20 73 74 72 69 6e 67 73 29 2e 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 | yte.strings).........."""....... |
733e0 | 20 20 72 65 74 75 72 6e 20 73 65 6c 66 2e 73 6f 63 6b 65 74 2e 67 65 74 73 6f 63 6b 6f 70 74 28 | ..return.self.socket.getsockopt( |
73400 | 6c 65 76 65 6c 2c 20 6f 70 74 6e 61 6d 65 2c 20 62 75 66 6c 65 6e 29 0a 0a 20 20 20 20 64 65 66 | level,.optname,.buflen)......def |
73420 | 20 73 65 74 73 6f 63 6b 6f 70 74 28 73 65 6c 66 2c 20 6c 65 76 65 6c 2c 20 6f 70 74 6e 61 6d 65 | .setsockopt(self,.level,.optname |
73440 | 2c 20 76 61 6c 75 65 3d 4e 6f 6e 65 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 | ,.value=None):.........#.type:.( |
73460 | 69 6e 74 2c 20 69 6e 74 2c 20 55 6e 69 6f 6e 5b 69 6e 74 2c 20 62 79 74 65 73 2c 20 4e 6f 6e 65 | int,.int,.Union[int,.bytes,.None |
73480 | 5d 29 20 2d 3e 20 4f 70 74 69 6f 6e 61 6c 5b 62 79 74 65 73 5d 0a 20 20 20 20 20 20 20 20 22 22 | ]).->.Optional[bytes]........."" |
734a0 | 22 53 65 74 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 67 69 76 65 6e 20 73 6f 63 6b | "Set.the.value.of.the.given.sock |
734c0 | 65 74 20 6f 70 74 69 6f 6e 2e 0a 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 6c 65 76 65 6c | et.option...........:param.level |
734e0 | 3a 20 73 61 6d 65 20 61 73 20 77 69 74 68 20 67 65 74 73 6f 63 6b 6f 70 74 28 29 20 61 62 6f 76 | :.same.as.with.getsockopt().abov |
73500 | 65 0a 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 6f 70 74 6e 61 6d 65 3a 20 73 61 6d 65 20 | e..........:param.optname:.same. |
73520 | 61 73 20 77 69 74 68 20 67 65 74 73 6f 63 6b 6f 70 74 28 29 20 61 62 6f 76 65 0a 0a 20 20 20 20 | as.with.getsockopt().above...... |
73540 | 20 20 20 20 3a 70 61 72 61 6d 20 76 61 6c 75 65 3a 20 61 6e 20 69 6e 74 65 67 65 72 20 6f 72 20 | ....:param.value:.an.integer.or. |
73560 | 61 20 73 74 72 69 6e 67 20 72 65 70 72 65 73 65 6e 74 69 6e 67 20 61 20 62 75 66 66 65 72 2e 20 | a.string.representing.a.buffer.. |
73580 | 49 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 65 20 6c 61 74 | In.......................the.lat |
735a0 | 74 65 72 20 63 61 73 65 20 69 74 20 69 73 20 75 70 20 74 6f 20 74 68 65 20 63 61 6c 6c 65 72 20 | ter.case.it.is.up.to.the.caller. |
735c0 | 74 6f 20 65 6e 73 75 72 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | to.ensure....................... |
735e0 | 74 68 61 74 20 74 68 65 20 73 74 72 69 6e 67 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 20 70 72 6f | that.the.string.contains.the.pro |
73600 | 70 65 72 20 62 69 74 73 20 28 73 65 65 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | per.bits.(see.the............... |
73620 | 20 20 20 20 20 20 20 20 6f 70 74 69 6f 6e 61 6c 20 62 75 69 6c 74 2d 69 6e 20 6d 6f 64 75 6c 65 | ........optional.built-in.module |
73640 | 20 73 74 72 75 63 74 20 66 6f 72 20 61 20 77 61 79 20 74 6f 0a 20 20 20 20 20 20 20 20 20 20 20 | .struct.for.a.way.to............ |
73660 | 20 20 20 20 20 20 20 20 20 20 20 65 6e 63 6f 64 65 20 43 20 73 74 72 75 63 74 75 72 65 73 20 61 | ...........encode.C.structures.a |
73680 | 73 20 73 74 72 69 6e 67 73 29 2e 0a 0a 20 20 20 20 20 20 20 20 3a 72 65 74 75 72 6e 3a 20 4e 6f | s.strings)...........:return:.No |
736a0 | 6e 65 20 66 6f 72 20 73 75 63 63 65 73 73 20 6f 72 20 74 68 65 20 65 72 72 6f 72 20 68 61 6e 64 | ne.for.success.or.the.error.hand |
736c0 | 6c 65 72 20 66 6f 72 20 66 61 69 6c 75 72 65 2e 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 | ler.for.failure..........""".... |
736e0 | 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 2e 73 6f 63 6b 65 74 2e 73 65 74 73 6f 63 6b 6f | .....return.self.socket.setsocko |
73700 | 70 74 28 6c 65 76 65 6c 2c 20 6f 70 74 6e 61 6d 65 2c 20 76 61 6c 75 65 29 0a 0a 20 20 20 20 64 | pt(level,.optname,.value)......d |
73720 | 65 66 20 67 65 74 5f 63 6f 6e 74 65 78 74 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 | ef.get_context(self):.........#. |
73740 | 74 79 70 65 3a 20 28 29 20 2d 3e 20 43 6f 6e 74 65 78 74 0a 20 20 20 20 20 20 20 20 22 22 22 52 | type:.().->.Context........."""R |
73760 | 65 74 75 72 6e 20 74 68 65 20 43 6f 6e 74 65 78 74 20 6f 62 6a 65 63 74 20 61 73 73 6f 63 69 61 | eturn.the.Context.object.associa |
73780 | 74 65 64 20 77 69 74 68 20 74 68 69 73 20 63 6f 6e 6e 65 63 74 69 6f 6e 2e 22 22 22 0a 20 20 20 | ted.with.this.connection.""".... |
737a0 | 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 73 73 6c 5f 67 65 74 5f 73 73 6c 5f 63 74 78 28 73 | .....return.m2.ssl_get_ssl_ctx(s |
737c0 | 65 6c 66 2e 73 73 6c 29 0a 0a 20 20 20 20 64 65 66 20 67 65 74 5f 73 74 61 74 65 28 73 65 6c 66 | elf.ssl)......def.get_state(self |
737e0 | 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 62 79 74 65 73 0a 20 | ):.........#.type:.().->.bytes.. |
73800 | 20 20 20 20 20 20 20 22 22 22 52 65 74 75 72 6e 20 74 68 65 20 53 53 4c 20 73 74 61 74 65 20 6f | ......."""Return.the.SSL.state.o |
73820 | 66 20 74 68 69 73 20 63 6f 6e 6e 65 63 74 69 6f 6e 2e 0a 0a 20 20 20 20 20 20 20 20 44 75 72 69 | f.this.connection...........Duri |
73840 | 6e 67 20 69 74 73 20 75 73 65 2c 20 61 6e 20 53 53 4c 20 6f 62 6a 65 63 74 73 20 70 61 73 73 65 | ng.its.use,.an.SSL.objects.passe |
73860 | 73 20 73 65 76 65 72 61 6c 20 73 74 61 74 65 73 2e 20 54 68 65 20 73 74 61 74 65 0a 20 20 20 20 | s.several.states..The.state..... |
73880 | 20 20 20 20 69 73 20 69 6e 74 65 72 6e 61 6c 6c 79 20 6d 61 69 6e 74 61 69 6e 65 64 2e 20 51 75 | ....is.internally.maintained..Qu |
738a0 | 65 72 79 69 6e 67 20 74 68 65 20 73 74 61 74 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 69 73 20 | erying.the.state.information.is. |
738c0 | 6e 6f 74 0a 20 20 20 20 20 20 20 20 76 65 72 79 20 69 6e 66 6f 72 6d 61 74 69 76 65 20 62 65 66 | not.........very.informative.bef |
738e0 | 6f 72 65 20 6f 72 20 77 68 65 6e 20 61 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 68 61 73 20 62 65 65 | ore.or.when.a.connection.has.bee |
73900 | 6e 0a 20 20 20 20 20 20 20 20 65 73 74 61 62 6c 69 73 68 65 64 2e 20 49 74 20 68 6f 77 65 76 65 | n.........established..It.howeve |
73920 | 72 20 63 61 6e 20 62 65 20 6f 66 20 73 69 67 6e 69 66 69 63 61 6e 74 20 69 6e 74 65 72 65 73 74 | r.can.be.of.significant.interest |
73940 | 20 64 75 72 69 6e 67 0a 20 20 20 20 20 20 20 20 74 68 65 20 68 61 6e 64 73 68 61 6b 65 2e 0a 0a | .during.........the.handshake... |
73960 | 20 20 20 20 20 20 20 20 3a 72 65 74 75 72 6e 3a 20 36 20 6c 65 74 74 65 72 20 73 74 72 69 6e 67 | ........:return:.6.letter.string |
73980 | 20 69 6e 64 69 63 61 74 69 6e 67 20 74 68 65 20 63 75 72 72 65 6e 74 20 73 74 61 74 65 20 6f 66 | .indicating.the.current.state.of |
739a0 | 20 74 68 65 20 53 53 4c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 62 6a 65 63 74 | .the.SSL..................object |
739c0 | 20 73 73 6c 2e 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e | .ssl..........""".........return |
739e0 | 20 6d 32 2e 73 73 6c 5f 67 65 74 5f 73 74 61 74 65 28 73 65 6c 66 2e 73 73 6c 29 0a 0a 20 20 20 | .m2.ssl_get_state(self.ssl)..... |
73a00 | 20 64 65 66 20 76 65 72 69 66 79 5f 6f 6b 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 | .def.verify_ok(self):.........#. |
73a20 | 74 79 70 65 3a 20 28 29 20 2d 3e 20 62 6f 6f 6c 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 | type:.().->.bool.........return. |
73a40 | 28 6d 32 2e 73 73 6c 5f 67 65 74 5f 76 65 72 69 66 79 5f 72 65 73 75 6c 74 28 73 65 6c 66 2e 73 | (m2.ssl_get_verify_result(self.s |
73a60 | 73 6c 29 20 3d 3d 20 6d 32 2e 58 35 30 39 5f 56 5f 4f 4b 29 0a 0a 20 20 20 20 64 65 66 20 67 65 | sl).==.m2.X509_V_OK)......def.ge |
73a80 | 74 5f 76 65 72 69 66 79 5f 6d 6f 64 65 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 | t_verify_mode(self):.........#.t |
73aa0 | 79 70 65 3a 20 28 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 22 22 22 52 65 74 75 72 6e | ype:.().->.int........."""Return |
73ac0 | 20 74 68 65 20 70 65 65 72 20 63 65 72 74 69 66 69 63 61 74 65 20 76 65 72 69 66 69 63 61 74 69 | .the.peer.certificate.verificati |
73ae0 | 6f 6e 20 6d 6f 64 65 2e 22 22 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 73 73 | on.mode.""".........return.m2.ss |
73b00 | 6c 5f 67 65 74 5f 76 65 72 69 66 79 5f 6d 6f 64 65 28 73 65 6c 66 2e 73 73 6c 29 0a 0a 20 20 20 | l_get_verify_mode(self.ssl)..... |
73b20 | 20 64 65 66 20 67 65 74 5f 76 65 72 69 66 79 5f 64 65 70 74 68 28 73 65 6c 66 29 3a 0a 20 20 20 | .def.get_verify_depth(self):.... |
73b40 | 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 22 | .....#.type:.().->.int........." |
73b60 | 22 22 52 65 74 75 72 6e 20 74 68 65 20 70 65 65 72 20 63 65 72 74 69 66 69 63 61 74 65 20 76 65 | ""Return.the.peer.certificate.ve |
73b80 | 72 69 66 69 63 61 74 69 6f 6e 20 64 65 70 74 68 2e 22 22 22 0a 20 20 20 20 20 20 20 20 72 65 74 | rification.depth.""".........ret |
73ba0 | 75 72 6e 20 6d 32 2e 73 73 6c 5f 67 65 74 5f 76 65 72 69 66 79 5f 64 65 70 74 68 28 73 65 6c 66 | urn.m2.ssl_get_verify_depth(self |
73bc0 | 2e 73 73 6c 29 0a 0a 20 20 20 20 64 65 66 20 67 65 74 5f 76 65 72 69 66 79 5f 72 65 73 75 6c 74 | .ssl)......def.get_verify_result |
73be0 | 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 69 6e | (self):.........#.type:.().->.in |
73c00 | 74 0a 20 20 20 20 20 20 20 20 22 22 22 52 65 74 75 72 6e 20 74 68 65 20 70 65 65 72 20 63 65 72 | t........."""Return.the.peer.cer |
73c20 | 74 69 66 69 63 61 74 65 20 76 65 72 69 66 69 63 61 74 69 6f 6e 20 72 65 73 75 6c 74 2e 22 22 22 | tificate.verification.result.""" |
73c40 | 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 73 73 6c 5f 67 65 74 5f 76 65 72 69 66 | .........return.m2.ssl_get_verif |
73c60 | 79 5f 72 65 73 75 6c 74 28 73 65 6c 66 2e 73 73 6c 29 0a 0a 20 20 20 20 64 65 66 20 67 65 74 5f | y_result(self.ssl)......def.get_ |
73c80 | 70 65 65 72 5f 63 65 72 74 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a | peer_cert(self):.........#.type: |
73ca0 | 20 28 29 20 2d 3e 20 58 35 30 39 2e 58 35 30 39 0a 20 20 20 20 20 20 20 20 22 22 22 52 65 74 75 | .().->.X509.X509........."""Retu |
73cc0 | 72 6e 20 74 68 65 20 70 65 65 72 20 63 65 72 74 69 66 69 63 61 74 65 2e 0a 0a 20 20 20 20 20 20 | rn.the.peer.certificate......... |
73ce0 | 20 20 49 66 20 74 68 65 20 70 65 65 72 20 64 69 64 20 6e 6f 74 20 70 72 6f 76 69 64 65 20 61 20 | ..If.the.peer.did.not.provide.a. |
73d00 | 63 65 72 74 69 66 69 63 61 74 65 2c 20 72 65 74 75 72 6e 20 4e 6f 6e 65 2e 0a 20 20 20 20 20 20 | certificate,.return.None........ |
73d20 | 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 63 20 3d 20 6d 32 2e 73 73 6c 5f 67 65 74 5f 70 65 65 | ..""".........c.=.m2.ssl_get_pee |
73d40 | 72 5f 63 65 72 74 28 73 65 6c 66 2e 73 73 6c 29 0a 20 20 20 20 20 20 20 20 69 66 20 63 20 69 73 | r_cert(self.ssl).........if.c.is |
73d60 | 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 4e 6f 6e 65 0a 20 | .None:.............return.None.. |
73d80 | 20 20 20 20 20 20 20 23 20 4e 65 65 64 20 74 6f 20 66 72 65 65 20 74 68 65 20 70 6f 69 6e 74 65 | .......#.Need.to.free.the.pointe |
73da0 | 72 20 63 6f 7a 20 4f 70 65 6e 53 53 4c 20 64 6f 65 73 6e 27 74 2e 0a 20 20 20 20 20 20 20 20 72 | r.coz.OpenSSL.doesn't..........r |
73dc0 | 65 74 75 72 6e 20 58 35 30 39 2e 58 35 30 39 28 63 2c 20 31 29 0a 0a 20 20 20 20 64 65 66 20 67 | eturn.X509.X509(c,.1)......def.g |
73de0 | 65 74 5f 70 65 65 72 5f 63 65 72 74 5f 63 68 61 69 6e 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 | et_peer_cert_chain(self):....... |
73e00 | 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 4f 70 74 69 6f 6e 61 6c 5b 58 35 30 39 2e 58 35 | ..#.type:.().->.Optional[X509.X5 |
73e20 | 30 39 5f 53 74 61 63 6b 5d 0a 20 20 20 20 20 20 20 20 22 22 22 52 65 74 75 72 6e 20 74 68 65 20 | 09_Stack]........."""Return.the. |
73e40 | 70 65 65 72 20 63 65 72 74 69 66 69 63 61 74 65 20 63 68 61 69 6e 3b 20 69 66 20 74 68 65 20 70 | peer.certificate.chain;.if.the.p |
73e60 | 65 65 72 20 64 69 64 20 6e 6f 74 20 70 72 6f 76 69 64 65 0a 20 20 20 20 20 20 20 20 61 20 63 65 | eer.did.not.provide.........a.ce |
73e80 | 72 74 69 66 69 63 61 74 65 20 63 68 61 69 6e 2c 20 72 65 74 75 72 6e 20 4e 6f 6e 65 2e 0a 0a 20 | rtificate.chain,.return.None.... |
73ea0 | 20 20 20 20 20 20 20 3a 77 61 72 6e 69 6e 67 3a 20 54 68 65 20 72 65 74 75 72 6e 65 64 20 63 68 | .......:warning:.The.returned.ch |
73ec0 | 61 69 6e 20 77 69 6c 6c 20 62 65 20 76 61 6c 69 64 20 6f 6e 6c 79 20 66 6f 72 20 61 73 20 6c 6f | ain.will.be.valid.only.for.as.lo |
73ee0 | 6e 67 20 61 73 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 6e | ng.as.the...................conn |
73f00 | 65 63 74 69 6f 6e 20 6f 62 6a 65 63 74 20 69 73 20 61 6c 69 76 65 2e 20 4f 6e 63 65 20 74 68 65 | ection.object.is.alive..Once.the |
73f20 | 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 6f 62 6a 65 63 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | .connection.object.............. |
73f40 | 20 20 20 20 20 67 65 74 73 20 66 72 65 65 64 2c 20 74 68 65 20 63 68 61 69 6e 20 77 69 6c 6c 20 | .....gets.freed,.the.chain.will. |
73f60 | 62 65 20 66 72 65 65 64 20 61 73 20 77 65 6c 6c 2e 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 | be.freed.as.well.........."""... |
73f80 | 20 20 20 20 20 20 63 20 3d 20 6d 32 2e 73 73 6c 5f 67 65 74 5f 70 65 65 72 5f 63 65 72 74 5f 63 | ......c.=.m2.ssl_get_peer_cert_c |
73fa0 | 68 61 69 6e 28 73 65 6c 66 2e 73 73 6c 29 0a 20 20 20 20 20 20 20 20 69 66 20 63 20 69 73 20 4e | hain(self.ssl).........if.c.is.N |
73fc0 | 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 4e 6f 6e 65 0a 20 20 20 | one:.............return.None.... |
73fe0 | 20 20 20 20 20 23 20 4e 6f 20 6e 65 65 64 20 74 6f 20 66 72 65 65 20 74 68 65 20 70 6f 69 6e 74 | .....#.No.need.to.free.the.point |
74000 | 65 72 20 63 6f 7a 20 4f 70 65 6e 53 53 4c 20 64 6f 65 73 2e 0a 20 20 20 20 20 20 20 20 72 65 74 | er.coz.OpenSSL.does..........ret |
74020 | 75 72 6e 20 58 35 30 39 2e 58 35 30 39 5f 53 74 61 63 6b 28 63 29 0a 0a 20 20 20 20 64 65 66 20 | urn.X509.X509_Stack(c)......def. |
74040 | 67 65 74 5f 63 69 70 68 65 72 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 | get_cipher(self):.........#.type |
74060 | 3a 20 28 29 20 2d 3e 20 4f 70 74 69 6f 6e 61 6c 5b 43 69 70 68 65 72 5d 0a 20 20 20 20 20 20 20 | :.().->.Optional[Cipher]........ |
74080 | 20 22 22 22 52 65 74 75 72 6e 20 61 6e 20 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 69 70 68 65 | ."""Return.an.M2Crypto.SSL.Ciphe |
740a0 | 72 20 6f 62 6a 65 63 74 20 66 6f 72 20 74 68 69 73 20 63 6f 6e 6e 65 63 74 69 6f 6e 3b 20 69 66 | r.object.for.this.connection;.if |
740c0 | 20 74 68 65 0a 20 20 20 20 20 20 20 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 68 61 73 20 6e 6f 74 20 | .the.........connection.has.not. |
740e0 | 62 65 65 6e 20 69 6e 69 74 69 61 6c 69 73 65 64 20 77 69 74 68 20 61 20 63 69 70 68 65 72 20 73 | been.initialised.with.a.cipher.s |
74100 | 75 69 74 65 2c 20 72 65 74 75 72 6e 20 4e 6f 6e 65 2e 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 | uite,.return.None..........""".. |
74120 | 20 20 20 20 20 20 20 63 20 3d 20 6d 32 2e 73 73 6c 5f 67 65 74 5f 63 75 72 72 65 6e 74 5f 63 69 | .......c.=.m2.ssl_get_current_ci |
74140 | 70 68 65 72 28 73 65 6c 66 2e 73 73 6c 29 0a 20 20 20 20 20 20 20 20 69 66 20 63 20 69 73 20 4e | pher(self.ssl).........if.c.is.N |
74160 | 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 4e 6f 6e 65 0a 20 20 20 | one:.............return.None.... |
74180 | 20 20 20 20 20 72 65 74 75 72 6e 20 43 69 70 68 65 72 28 63 29 0a 0a 20 20 20 20 64 65 66 20 67 | .....return.Cipher(c)......def.g |
741a0 | 65 74 5f 63 69 70 68 65 72 73 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 | et_ciphers(self):.........#.type |
741c0 | 3a 20 28 29 20 2d 3e 20 4f 70 74 69 6f 6e 61 6c 5b 43 69 70 68 65 72 5f 53 74 61 63 6b 5d 0a 20 | :.().->.Optional[Cipher_Stack].. |
741e0 | 20 20 20 20 20 20 20 22 22 22 52 65 74 75 72 6e 20 61 6e 20 4d 32 43 72 79 70 74 6f 2e 53 53 4c | ......."""Return.an.M2Crypto.SSL |
74200 | 2e 43 69 70 68 65 72 5f 53 74 61 63 6b 20 6f 62 6a 65 63 74 20 66 6f 72 20 74 68 69 73 0a 20 20 | .Cipher_Stack.object.for.this... |
74220 | 20 20 20 20 20 20 63 6f 6e 6e 65 63 74 69 6f 6e 3b 20 69 66 20 74 68 65 20 63 6f 6e 6e 65 63 74 | ......connection;.if.the.connect |
74240 | 69 6f 6e 20 68 61 73 20 6e 6f 74 20 62 65 65 6e 20 69 6e 69 74 69 61 6c 69 73 65 64 20 77 69 74 | ion.has.not.been.initialised.wit |
74260 | 68 0a 20 20 20 20 20 20 20 20 63 69 70 68 65 72 20 73 75 69 74 65 73 2c 20 72 65 74 75 72 6e 20 | h.........cipher.suites,.return. |
74280 | 4e 6f 6e 65 2e 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 63 20 3d 20 6d 32 | None..........""".........c.=.m2 |
742a0 | 2e 73 73 6c 5f 67 65 74 5f 63 69 70 68 65 72 73 28 73 65 6c 66 2e 73 73 6c 29 0a 20 20 20 20 20 | .ssl_get_ciphers(self.ssl)...... |
742c0 | 20 20 20 69 66 20 63 20 69 73 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 | ...if.c.is.None:.............ret |
742e0 | 75 72 6e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 43 69 70 68 65 72 5f 53 | urn.None.........return.Cipher_S |
74300 | 74 61 63 6b 28 63 29 0a 0a 20 20 20 20 64 65 66 20 67 65 74 5f 63 69 70 68 65 72 5f 6c 69 73 74 | tack(c)......def.get_cipher_list |
74320 | 28 73 65 6c 66 2c 20 69 64 78 3d 30 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 | (self,.idx=0):.........#.type:.( |
74340 | 69 6e 74 29 20 2d 3e 20 73 74 72 0a 20 20 20 20 20 20 20 20 22 22 22 52 65 74 75 72 6e 20 74 68 | int).->.str........."""Return.th |
74360 | 65 20 63 69 70 68 65 72 20 73 75 69 74 65 73 20 66 6f 72 20 74 68 69 73 20 63 6f 6e 6e 65 63 74 | e.cipher.suites.for.this.connect |
74380 | 69 6f 6e 20 61 73 20 61 20 73 74 72 69 6e 67 20 6f 62 6a 65 63 74 2e 22 22 22 0a 20 20 20 20 20 | ion.as.a.string.object."""...... |
743a0 | 20 20 20 72 65 74 75 72 6e 20 73 69 78 2e 65 6e 73 75 72 65 5f 74 65 78 74 28 6d 32 2e 73 73 6c | ...return.six.ensure_text(m2.ssl |
743c0 | 5f 67 65 74 5f 63 69 70 68 65 72 5f 6c 69 73 74 28 73 65 6c 66 2e 73 73 6c 2c 20 69 64 78 29 29 | _get_cipher_list(self.ssl,.idx)) |
743e0 | 0a 0a 20 20 20 20 64 65 66 20 73 65 74 5f 63 69 70 68 65 72 5f 6c 69 73 74 28 73 65 6c 66 2c 20 | ......def.set_cipher_list(self,. |
74400 | 63 69 70 68 65 72 5f 6c 69 73 74 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 73 | cipher_list):.........#.type:.(s |
74420 | 74 72 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 22 22 22 53 65 74 20 74 68 65 20 63 69 | tr).->.int........."""Set.the.ci |
74440 | 70 68 65 72 20 73 75 69 74 65 73 20 66 6f 72 20 74 68 69 73 20 63 6f 6e 6e 65 63 74 69 6f 6e 2e | pher.suites.for.this.connection. |
74460 | 22 22 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 73 73 6c 5f 73 65 74 5f 63 69 | """.........return.m2.ssl_set_ci |
74480 | 70 68 65 72 5f 6c 69 73 74 28 73 65 6c 66 2e 73 73 6c 2c 20 63 69 70 68 65 72 5f 6c 69 73 74 29 | pher_list(self.ssl,.cipher_list) |
744a0 | 0a 0a 20 20 20 20 64 65 66 20 6d 61 6b 65 66 69 6c 65 28 73 65 6c 66 2c 20 6d 6f 64 65 3d 27 72 | ......def.makefile(self,.mode='r |
744c0 | 62 27 2c 20 62 75 66 73 69 7a 65 3d 2d 31 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a | b',.bufsize=-1):.........#.type: |
744e0 | 20 28 41 6e 79 53 74 72 2c 20 69 6e 74 29 20 2d 3e 20 73 6f 63 6b 65 74 2e 5f 66 69 6c 65 6f 62 | .(AnyStr,.int).->.socket._fileob |
74500 | 6a 65 63 74 0a 20 20 20 20 20 20 20 20 69 66 20 73 69 78 2e 50 59 33 3a 0a 20 20 20 20 20 20 20 | ject.........if.six.PY3:........ |
74520 | 20 20 20 20 20 72 65 74 75 72 6e 20 73 6f 63 6b 65 74 2e 53 6f 63 6b 65 74 49 4f 28 73 65 6c 66 | .....return.socket.SocketIO(self |
74540 | 2c 20 6d 6f 64 65 29 0a 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 | ,.mode).........else:........... |
74560 | 20 20 72 65 74 75 72 6e 20 73 6f 63 6b 65 74 2e 5f 66 69 6c 65 6f 62 6a 65 63 74 28 73 65 6c 66 | ..return.socket._fileobject(self |
74580 | 2c 20 6d 6f 64 65 2c 20 62 75 66 73 69 7a 65 29 0a 0a 20 20 20 20 64 65 66 20 67 65 74 73 6f 63 | ,.mode,.bufsize)......def.getsoc |
745a0 | 6b 6e 61 6d 65 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 | kname(self):.........#.type:.(). |
745c0 | 2d 3e 20 75 74 69 6c 2e 41 64 64 72 54 79 70 65 0a 20 20 20 20 20 20 20 20 22 22 22 52 65 74 75 | ->.util.AddrType........."""Retu |
745e0 | 72 6e 20 74 68 65 20 73 6f 63 6b 65 74 27 73 20 6f 77 6e 20 61 64 64 72 65 73 73 2e 0a 0a 20 20 | rn.the.socket's.own.address..... |
74600 | 20 20 20 20 20 20 54 68 69 73 20 69 73 20 75 73 65 66 75 6c 20 74 6f 20 66 69 6e 64 20 6f 75 74 | ......This.is.useful.to.find.out |
74620 | 20 74 68 65 20 70 6f 72 74 20 6e 75 6d 62 65 72 20 6f 66 20 61 6e 20 49 50 76 34 2f 76 36 20 73 | .the.port.number.of.an.IPv4/v6.s |
74640 | 6f 63 6b 65 74 2c 0a 20 20 20 20 20 20 20 20 66 6f 72 20 69 6e 73 74 61 6e 63 65 2e 20 28 54 68 | ocket,.........for.instance..(Th |
74660 | 65 20 66 6f 72 6d 61 74 20 6f 66 20 74 68 65 20 61 64 64 72 65 73 73 20 72 65 74 75 72 6e 65 64 | e.format.of.the.address.returned |
74680 | 20 64 65 70 65 6e 64 73 0a 20 20 20 20 20 20 20 20 6f 6e 20 74 68 65 20 61 64 64 72 65 73 73 20 | .depends.........on.the.address. |
746a0 | 66 61 6d 69 6c 79 20 2d 2d 20 73 65 65 20 61 62 6f 76 65 2e 29 0a 0a 20 20 20 20 20 20 20 20 3a | family.--.see.above.)..........: |
746c0 | 72 65 74 75 72 6e 3a 73 6f 63 6b 65 74 27 73 20 61 64 64 72 65 73 73 20 61 73 20 61 64 64 72 20 | return:socket's.address.as.addr. |
746e0 | 74 79 70 65 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 | type.........""".........return. |
74700 | 73 65 6c 66 2e 73 6f 63 6b 65 74 2e 67 65 74 73 6f 63 6b 6e 61 6d 65 28 29 0a 0a 20 20 20 20 64 | self.socket.getsockname()......d |
74720 | 65 66 20 67 65 74 70 65 65 72 6e 61 6d 65 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 | ef.getpeername(self):.........#. |
74740 | 74 79 70 65 3a 20 28 29 20 2d 3e 20 75 74 69 6c 2e 41 64 64 72 54 79 70 65 0a 20 20 20 20 20 20 | type:.().->.util.AddrType....... |
74760 | 20 20 22 22 22 52 65 74 75 72 6e 20 74 68 65 20 72 65 6d 6f 74 65 20 61 64 64 72 65 73 73 20 74 | .."""Return.the.remote.address.t |
74780 | 6f 20 77 68 69 63 68 20 74 68 65 20 73 6f 63 6b 65 74 20 69 73 20 63 6f 6e 6e 65 63 74 65 64 2e | o.which.the.socket.is.connected. |
747a0 | 0a 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 69 73 20 75 73 65 66 75 6c 20 74 6f 20 66 69 6e 64 | ..........This.is.useful.to.find |
747c0 | 20 6f 75 74 20 74 68 65 20 70 6f 72 74 20 6e 75 6d 62 65 72 20 6f 66 20 61 20 72 65 6d 6f 74 65 | .out.the.port.number.of.a.remote |
747e0 | 20 49 50 76 34 2f 76 36 20 73 6f 63 6b 65 74 2c 0a 20 20 20 20 20 20 20 20 66 6f 72 20 69 6e 73 | .IPv4/v6.socket,.........for.ins |
74800 | 74 61 6e 63 65 2e 0a 20 20 20 20 20 20 20 20 4f 6e 20 73 6f 6d 65 20 73 79 73 74 65 6d 73 20 74 | tance..........On.some.systems.t |
74820 | 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6e 6f 74 20 73 75 70 70 6f 72 74 65 64 2e 0a 0a | his.function.is.not.supported... |
74840 | 20 20 20 20 20 20 20 20 3a 72 65 74 75 72 6e 3a 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 | ........:return:.........""".... |
74860 | 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 2e 73 6f 63 6b 65 74 2e 67 65 74 70 65 65 72 6e | .....return.self.socket.getpeern |
74880 | 61 6d 65 28 29 0a 0a 20 20 20 20 64 65 66 20 73 65 74 5f 73 65 73 73 69 6f 6e 5f 69 64 5f 63 74 | ame()......def.set_session_id_ct |
748a0 | 78 28 73 65 6c 66 2c 20 69 64 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 62 79 | x(self,.id):.........#.type:.(by |
748c0 | 74 65 73 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 72 65 74 20 3d 20 6d 32 2e 73 73 6c | tes).->.int.........ret.=.m2.ssl |
748e0 | 5f 73 65 74 5f 73 65 73 73 69 6f 6e 5f 69 64 5f 63 6f 6e 74 65 78 74 28 73 65 6c 66 2e 73 73 6c | _set_session_id_context(self.ssl |
74900 | 2c 20 69 64 29 0a 20 20 20 20 20 20 20 20 69 66 20 6e 6f 74 20 72 65 74 3a 0a 20 20 20 20 20 20 | ,.id).........if.not.ret:....... |
74920 | 20 20 20 20 20 20 72 61 69 73 65 20 53 53 4c 45 72 72 6f 72 28 45 72 72 2e 67 65 74 5f 65 72 72 | ......raise.SSLError(Err.get_err |
74940 | 6f 72 5f 6d 65 73 73 61 67 65 28 29 29 0a 0a 20 20 20 20 64 65 66 20 67 65 74 5f 73 65 73 73 69 | or_message())......def.get_sessi |
74960 | 6f 6e 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 | on(self):.........#.type:.().->. |
74980 | 53 65 73 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 73 65 73 73 20 3d 20 6d 32 2e 73 73 6c 5f 67 65 | Session.........sess.=.m2.ssl_ge |
749a0 | 74 5f 73 65 73 73 69 6f 6e 28 73 65 6c 66 2e 73 73 6c 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 | t_session(self.ssl).........retu |
749c0 | 72 6e 20 53 65 73 73 69 6f 6e 28 73 65 73 73 29 0a 0a 20 20 20 20 64 65 66 20 73 65 74 5f 73 65 | rn.Session(sess)......def.set_se |
749e0 | 73 73 69 6f 6e 28 73 65 6c 66 2c 20 73 65 73 73 69 6f 6e 29 3a 0a 20 20 20 20 20 20 20 20 23 20 | ssion(self,.session):.........#. |
74a00 | 74 79 70 65 3a 20 28 53 65 73 73 69 6f 6e 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 | type:.(Session).->.None......... |
74a20 | 6d 32 2e 73 73 6c 5f 73 65 74 5f 73 65 73 73 69 6f 6e 28 73 65 6c 66 2e 73 73 6c 2c 20 73 65 73 | m2.ssl_set_session(self.ssl,.ses |
74a40 | 73 69 6f 6e 2e 5f 70 74 72 28 29 29 0a 0a 20 20 20 20 64 65 66 20 67 65 74 5f 64 65 66 61 75 6c | sion._ptr())......def.get_defaul |
74a60 | 74 5f 73 65 73 73 69 6f 6e 5f 74 69 6d 65 6f 75 74 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 | t_session_timeout(self):........ |
74a80 | 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 | .#.type:.().->.int.........retur |
74aa0 | 6e 20 6d 32 2e 73 73 6c 5f 67 65 74 5f 64 65 66 61 75 6c 74 5f 73 65 73 73 69 6f 6e 5f 74 69 6d | n.m2.ssl_get_default_session_tim |
74ac0 | 65 6f 75 74 28 73 65 6c 66 2e 73 73 6c 29 0a 0a 20 20 20 20 64 65 66 20 67 65 74 5f 73 6f 63 6b | eout(self.ssl)......def.get_sock |
74ae0 | 65 74 5f 72 65 61 64 5f 74 69 6d 65 6f 75 74 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 | et_read_timeout(self):.........# |
74b00 | 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 74 69 6d 65 6f 75 74 0a 20 20 20 20 20 20 20 20 72 65 74 | .type:.().->.timeout.........ret |
74b20 | 75 72 6e 20 74 69 6d 65 6f 75 74 2e 73 74 72 75 63 74 5f 74 6f 5f 74 69 6d 65 6f 75 74 28 0a 20 | urn.timeout.struct_to_timeout(.. |
74b40 | 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 6f 63 6b 65 74 2e 67 65 74 73 6f 63 6b 6f 70 | ...........self.socket.getsockop |
74b60 | 74 28 73 6f 63 6b 65 74 2e 53 4f 4c 5f 53 4f 43 4b 45 54 2c 20 73 6f 63 6b 65 74 2e 53 4f 5f 52 | t(socket.SOL_SOCKET,.socket.SO_R |
74b80 | 43 56 54 49 4d 45 4f 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | CVTIMEO,........................ |
74ba0 | 20 20 20 20 20 20 20 20 20 20 20 20 74 69 6d 65 6f 75 74 2e 73 74 72 75 63 74 5f 73 69 7a 65 28 | ............timeout.struct_size( |
74bc0 | 29 29 29 0a 0a 20 20 20 20 40 73 74 61 74 69 63 6d 65 74 68 6f 64 0a 20 20 20 20 64 65 66 20 5f | )))......@staticmethod.....def._ |
74be0 | 68 65 78 64 75 6d 70 28 73 29 3a 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 20 69 73 69 6e 73 | hexdump(s):.........assert.isins |
74c00 | 74 61 6e 63 65 28 73 2c 20 73 69 78 2e 62 69 6e 61 72 79 5f 74 79 70 65 29 0a 20 20 20 20 20 20 | tance(s,.six.binary_type)....... |
74c20 | 20 20 72 65 74 75 72 6e 20 22 3a 22 2e 6a 6f 69 6e 28 22 7b 30 3a 30 32 78 7d 22 2e 66 6f 72 6d | ..return.":".join("{0:02x}".form |
74c40 | 61 74 28 6f 72 64 28 63 29 20 69 66 20 73 69 78 2e 50 59 32 20 65 6c 73 65 20 63 29 20 66 6f 72 | at(ord(c).if.six.PY2.else.c).for |
74c60 | 20 63 20 69 6e 20 73 29 0a 0a 20 20 20 20 64 65 66 20 67 65 74 5f 73 6f 63 6b 65 74 5f 77 72 69 | .c.in.s)......def.get_socket_wri |
74c80 | 74 65 5f 74 69 6d 65 6f 75 74 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 | te_timeout(self):.........#.type |
74ca0 | 3a 20 28 29 20 2d 3e 20 74 69 6d 65 6f 75 74 0a 20 20 20 20 20 20 20 20 62 69 6e 73 74 72 20 3d | :.().->.timeout.........binstr.= |
74cc0 | 20 73 65 6c 66 2e 73 6f 63 6b 65 74 2e 67 65 74 73 6f 63 6b 6f 70 74 28 0a 20 20 20 20 20 20 20 | .self.socket.getsockopt(........ |
74ce0 | 20 20 20 20 20 73 6f 63 6b 65 74 2e 53 4f 4c 5f 53 4f 43 4b 45 54 2c 20 73 6f 63 6b 65 74 2e 53 | .....socket.SOL_SOCKET,.socket.S |
74d00 | 4f 5f 53 4e 44 54 49 4d 45 4f 2c 20 74 69 6d 65 6f 75 74 2e 73 74 72 75 63 74 5f 73 69 7a 65 28 | O_SNDTIMEO,.timeout.struct_size( |
74d20 | 29 29 0a 20 20 20 20 20 20 20 20 74 69 6d 65 6f 20 3d 20 74 69 6d 65 6f 75 74 2e 73 74 72 75 63 | )).........timeo.=.timeout.struc |
74d40 | 74 5f 74 6f 5f 74 69 6d 65 6f 75 74 28 62 69 6e 73 74 72 29 0a 20 20 20 20 20 20 20 20 23 70 72 | t_to_timeout(binstr).........#pr |
74d60 | 69 6e 74 28 22 44 65 62 75 67 3a 20 67 65 74 5f 73 6f 63 6b 65 74 5f 77 72 69 74 65 5f 74 69 6d | int("Debug:.get_socket_write_tim |
74d80 | 65 6f 75 74 3a 20 22 0a 20 20 20 20 20 20 20 20 23 20 20 20 20 20 20 22 67 65 74 20 73 6f 63 6b | eout:.".........#......"get.sock |
74da0 | 6f 70 74 20 76 61 6c 75 65 3a 20 25 73 20 2d 3e 20 72 65 74 75 72 6e 65 64 20 74 69 6d 65 6f 75 | opt.value:.%s.->.returned.timeou |
74dc0 | 74 28 73 65 63 3d 25 72 2c 20 6d 69 63 72 6f 73 65 63 3d 25 72 29 22 20 25 0a 20 20 20 20 20 20 | t(sec=%r,.microsec=%r)".%....... |
74de0 | 20 20 23 20 20 20 20 20 20 28 73 65 6c 66 2e 5f 68 65 78 64 75 6d 70 28 62 69 6e 73 74 72 29 2c | ..#......(self._hexdump(binstr), |
74e00 | 20 74 69 6d 65 6f 2e 73 65 63 2c 20 74 69 6d 65 6f 2e 6d 69 63 72 6f 73 65 63 29 29 0a 20 20 20 | .timeo.sec,.timeo.microsec)).... |
74e20 | 20 20 20 20 20 72 65 74 75 72 6e 20 74 69 6d 65 6f 0a 0a 20 20 20 20 64 65 66 20 73 65 74 5f 73 | .....return.timeo......def.set_s |
74e40 | 6f 63 6b 65 74 5f 72 65 61 64 5f 74 69 6d 65 6f 75 74 28 73 65 6c 66 2c 20 74 69 6d 65 6f 29 3a | ocket_read_timeout(self,.timeo): |
74e60 | 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 74 69 6d 65 6f 75 74 29 20 2d 3e 20 4e 6f | .........#.type:.(timeout).->.No |
74e80 | 6e 65 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 20 69 73 69 6e 73 74 61 6e 63 65 28 74 69 6d | ne.........assert.isinstance(tim |
74ea0 | 65 6f 2c 20 74 69 6d 65 6f 75 74 2e 74 69 6d 65 6f 75 74 29 0a 20 20 20 20 20 20 20 20 73 65 6c | eo,.timeout.timeout).........sel |
74ec0 | 66 2e 73 6f 63 6b 65 74 2e 73 65 74 73 6f 63 6b 6f 70 74 28 0a 20 20 20 20 20 20 20 20 20 20 20 | f.socket.setsockopt(............ |
74ee0 | 20 73 6f 63 6b 65 74 2e 53 4f 4c 5f 53 4f 43 4b 45 54 2c 20 73 6f 63 6b 65 74 2e 53 4f 5f 52 43 | .socket.SOL_SOCKET,.socket.SO_RC |
74f00 | 56 54 49 4d 45 4f 2c 20 74 69 6d 65 6f 2e 70 61 63 6b 28 29 29 0a 0a 20 20 20 20 64 65 66 20 73 | VTIMEO,.timeo.pack())......def.s |
74f20 | 65 74 5f 73 6f 63 6b 65 74 5f 77 72 69 74 65 5f 74 69 6d 65 6f 75 74 28 73 65 6c 66 2c 20 74 69 | et_socket_write_timeout(self,.ti |
74f40 | 6d 65 6f 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 74 69 6d 65 6f 75 74 29 20 | meo):.........#.type:.(timeout). |
74f60 | 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 20 69 73 69 6e 73 74 61 6e 63 | ->.None.........assert.isinstanc |
74f80 | 65 28 74 69 6d 65 6f 2c 20 74 69 6d 65 6f 75 74 2e 74 69 6d 65 6f 75 74 29 0a 20 20 20 20 20 20 | e(timeo,.timeout.timeout)....... |
74fa0 | 20 20 62 69 6e 73 74 72 20 3d 20 74 69 6d 65 6f 2e 70 61 63 6b 28 29 0a 20 20 20 20 20 20 20 20 | ..binstr.=.timeo.pack()......... |
74fc0 | 23 70 72 69 6e 74 28 22 44 65 62 75 67 3a 20 73 65 74 5f 73 6f 63 6b 65 74 5f 77 72 69 74 65 5f | #print("Debug:.set_socket_write_ |
74fe0 | 74 69 6d 65 6f 75 74 3a 20 22 0a 20 20 20 20 20 20 20 20 23 20 20 20 20 20 20 22 69 6e 70 75 74 | timeout:.".........#......"input |
75000 | 20 74 69 6d 65 6f 75 74 28 73 65 63 3d 25 72 2c 20 6d 69 63 72 6f 73 65 63 3d 25 72 29 20 2d 3e | .timeout(sec=%r,.microsec=%r).-> |
75020 | 20 73 65 74 20 73 6f 63 6b 6f 70 74 20 76 61 6c 75 65 3a 20 25 73 22 20 25 0a 20 20 20 20 20 20 | .set.sockopt.value:.%s".%....... |
75040 | 20 20 23 20 20 20 20 20 20 28 74 69 6d 65 6f 2e 73 65 63 2c 20 74 69 6d 65 6f 2e 6d 69 63 72 6f | ..#......(timeo.sec,.timeo.micro |
75060 | 73 65 63 2c 20 73 65 6c 66 2e 5f 68 65 78 64 75 6d 70 28 62 69 6e 73 74 72 29 29 29 0a 20 20 20 | sec,.self._hexdump(binstr))).... |
75080 | 20 20 20 20 20 73 65 6c 66 2e 73 6f 63 6b 65 74 2e 73 65 74 73 6f 63 6b 6f 70 74 28 0a 20 20 20 | .....self.socket.setsockopt(.... |
750a0 | 20 20 20 20 20 20 20 20 20 73 6f 63 6b 65 74 2e 53 4f 4c 5f 53 4f 43 4b 45 54 2c 20 73 6f 63 6b | .........socket.SOL_SOCKET,.sock |
750c0 | 65 74 2e 53 4f 5f 53 4e 44 54 49 4d 45 4f 2c 20 62 69 6e 73 74 72 29 0a 0a 20 20 20 20 64 65 66 | et.SO_SNDTIMEO,.binstr)......def |
750e0 | 20 67 65 74 5f 76 65 72 73 69 6f 6e 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 | .get_version(self):.........#.ty |
75100 | 70 65 3a 20 28 29 20 2d 3e 20 73 74 72 0a 20 20 20 20 20 20 20 20 22 22 22 52 65 74 75 72 6e 20 | pe:.().->.str........."""Return. |
75120 | 74 68 65 20 54 4c 53 2f 53 53 4c 20 70 72 6f 74 6f 63 6f 6c 20 76 65 72 73 69 6f 6e 20 66 6f 72 | the.TLS/SSL.protocol.version.for |
75140 | 20 74 68 69 73 20 63 6f 6e 6e 65 63 74 69 6f 6e 2e 22 22 22 0a 20 20 20 20 20 20 20 20 72 65 74 | .this.connection.""".........ret |
75160 | 75 72 6e 20 73 69 78 2e 65 6e 73 75 72 65 5f 74 65 78 74 28 6d 32 2e 73 73 6c 5f 67 65 74 5f 76 | urn.six.ensure_text(m2.ssl_get_v |
75180 | 65 72 73 69 6f 6e 28 73 65 6c 66 2e 73 73 6c 29 29 0a 0a 20 20 20 20 64 65 66 20 73 65 74 5f 70 | ersion(self.ssl))......def.set_p |
751a0 | 6f 73 74 5f 63 6f 6e 6e 65 63 74 69 6f 6e 5f 63 68 65 63 6b 5f 63 61 6c 6c 62 61 63 6b 28 73 65 | ost_connection_check_callback(se |
751c0 | 6c 66 2c 20 70 6f 73 74 43 6f 6e 6e 65 63 74 69 6f 6e 43 68 65 63 6b 29 3a 20 20 23 20 6e 6f 71 | lf,.postConnectionCheck):..#.noq |
751e0 | 61 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 43 61 6c 6c 61 62 6c 65 29 20 2d 3e 20 | a.........#.type:.(Callable).->. |
75200 | 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 70 6f 73 74 43 6f 6e 6e 65 63 74 69 6f 6e | None.........self.postConnection |
75220 | 43 68 65 63 6b 20 3d 20 70 6f 73 74 43 6f 6e 6e 65 63 74 69 6f 6e 43 68 65 63 6b 0a 0a 20 20 20 | Check.=.postConnectionCheck..... |
75240 | 20 64 65 66 20 73 65 74 5f 74 6c 73 65 78 74 5f 68 6f 73 74 5f 6e 61 6d 65 28 73 65 6c 66 2c 20 | .def.set_tlsext_host_name(self,. |
75260 | 6e 61 6d 65 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 62 79 74 65 73 29 20 2d | name):.........#.type:.(bytes).- |
75280 | 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 22 22 22 53 65 74 20 74 68 65 20 72 65 71 75 65 73 | >.None........."""Set.the.reques |
752a0 | 74 65 64 20 68 6f 73 74 6e 61 6d 65 20 66 6f 72 20 74 68 65 20 53 4e 49 20 28 53 65 72 76 65 72 | ted.hostname.for.the.SNI.(Server |
752c0 | 20 4e 61 6d 65 20 49 6e 64 69 63 61 74 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 65 78 74 65 6e 73 | .Name.Indication).........extens |
752e0 | 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 6d 32 2e 73 73 6c 5f | ion..........""".........m2.ssl_ |
75300 | 73 65 74 5f 74 6c 73 65 78 74 5f 68 6f 73 74 5f 6e 61 6d 65 28 73 65 6c 66 2e 73 73 6c 2c 20 6e | set_tlsext_host_name(self.ssl,.n |
75320 | 61 6d 65 29 0a 0a 20 20 20 20 64 65 66 20 73 65 74 31 5f 68 6f 73 74 28 73 65 6c 66 2c 20 6e 61 | ame)......def.set1_host(self,.na |
75340 | 6d 65 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 62 79 74 65 73 29 20 2d 3e 20 | me):.........#.type:.(bytes).->. |
75360 | 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 22 22 22 53 65 74 20 74 68 65 20 72 65 71 75 65 73 74 65 | None........."""Set.the.requeste |
75380 | 64 20 68 6f 73 74 6e 61 6d 65 20 74 6f 20 63 68 65 63 6b 20 69 6e 20 74 68 65 20 73 65 72 76 65 | d.hostname.to.check.in.the.serve |
753a0 | 72 20 63 65 72 74 69 66 69 63 61 74 65 2e 22 22 22 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 68 | r.certificate.""".........self.h |
753c0 | 6f 73 74 20 3d 20 6e 61 6d 65 0a 94 7d 94 28 8c 1a 5f 73 65 72 76 65 72 50 6f 73 74 43 6f 6e 6e | ost.=.name..}.(.._serverPostConn |
753e0 | 65 63 74 69 6f 6e 43 68 65 63 6b 94 6a 74 1f 00 00 4b 1f 4b 21 87 94 8c 13 43 6f 6e 6e 65 63 74 | ectionCheck.jt...K.K!....Connect |
75400 | 69 6f 6e 2e 5f 5f 69 6e 69 74 5f 5f 94 6a 74 1f 00 00 4b 2e 4b 49 87 94 8c 12 43 6f 6e 6e 65 63 | ion.__init__.jt...K.KI....Connec |
75420 | 74 69 6f 6e 2e 5f 5f 64 65 6c 5f 5f 94 6a 74 1f 00 00 4b 4b 4b 57 87 94 8c 10 43 6f 6e 6e 65 63 | tion.__del__.jt...KKKW....Connec |
75440 | 74 69 6f 6e 2e 63 6c 6f 73 65 94 6a 74 1f 00 00 4b 59 4b 5b 87 94 8c 10 43 6f 6e 6e 65 63 74 69 | tion.close.jt...KYK[....Connecti |
75460 | 6f 6e 2e 63 6c 65 61 72 94 6a 74 1f 00 00 4b 5d 4b 64 87 94 8c 17 43 6f 6e 6e 65 63 74 69 6f 6e | on.clear.jt...K]Kd....Connection |
75480 | 2e 73 65 74 5f 73 68 75 74 64 6f 77 6e 94 6a 74 1f 00 00 4b 66 4b 7d 87 94 8c 17 43 6f 6e 6e 65 | .set_shutdown.jt...KfK}....Conne |
754a0 | 63 74 69 6f 6e 2e 67 65 74 5f 73 68 75 74 64 6f 77 6e 94 6a 74 1f 00 00 4b 7f 4b 82 87 94 8c 0f | ction.get_shutdown.jt...K.K..... |
754c0 | 43 6f 6e 6e 65 63 74 69 6f 6e 2e 62 69 6e 64 94 6a 74 1f 00 00 4b 84 4b 86 87 94 8c 11 43 6f 6e | Connection.bind.jt...K.K.....Con |
754e0 | 6e 65 63 74 69 6f 6e 2e 6c 69 73 74 65 6e 94 6a 74 1f 00 00 4b 88 4b 8a 87 94 8c 18 43 6f 6e 6e | nection.listen.jt...K.K.....Conn |
75500 | 65 63 74 69 6f 6e 2e 73 73 6c 5f 67 65 74 5f 65 72 72 6f 72 94 6a 74 1f 00 00 4b 8c 4b 8e 87 94 | ection.ssl_get_error.jt...K.K... |
75520 | 8c 12 43 6f 6e 6e 65 63 74 69 6f 6e 2e 73 65 74 5f 62 69 6f 94 6a 74 1f 00 00 4b 90 4b a2 87 94 | ..Connection.set_bio.jt...K.K... |
75540 | 8c 27 43 6f 6e 6e 65 63 74 69 6f 6e 2e 73 65 74 5f 63 6c 69 65 6e 74 5f 43 41 5f 6c 69 73 74 5f | .'Connection.set_client_CA_list_ |
75560 | 66 72 6f 6d 5f 66 69 6c 65 94 6a 74 1f 00 00 4b a4 4b b6 87 94 8c 2a 43 6f 6e 6e 65 63 74 69 6f | from_file.jt...K.K....*Connectio |
75580 | 6e 2e 73 65 74 5f 63 6c 69 65 6e 74 5f 43 41 5f 6c 69 73 74 5f 66 72 6f 6d 5f 63 6f 6e 74 65 78 | n.set_client_CA_list_from_contex |
755a0 | 74 94 6a 74 1f 00 00 4b b8 4b c1 87 94 8c 15 43 6f 6e 6e 65 63 74 69 6f 6e 2e 73 65 74 75 70 5f | t.jt...K.K.....Connection.setup_ |
755c0 | 61 64 64 72 94 6a 74 1f 00 00 4b c3 4b c5 87 94 8c 1d 43 6f 6e 6e 65 63 74 69 6f 6e 2e 73 65 74 | addr.jt...K.K.....Connection.set |
755e0 | 5f 73 73 6c 5f 63 6c 6f 73 65 5f 66 6c 61 67 94 6a 74 1f 00 00 4b c7 4b d1 87 94 8c 14 43 6f 6e | _ssl_close_flag.jt...K.K.....Con |
75600 | 6e 65 63 74 69 6f 6e 2e 73 65 74 75 70 5f 73 73 6c 94 6a 74 1f 00 00 4b d3 4b dc 87 94 8c 15 43 | nection.setup_ssl.jt...K.K.....C |
75620 | 6f 6e 6e 65 63 74 69 6f 6e 2e 5f 73 65 74 75 70 5f 73 73 6c 94 6a 74 1f 00 00 4b de 4b e2 87 94 | onnection._setup_ssl.jt...K.K... |
75640 | 8c 1b 43 6f 6e 6e 65 63 74 69 6f 6e 2e 73 65 74 5f 61 63 63 65 70 74 5f 73 74 61 74 65 94 6a 74 | ..Connection.set_accept_state.jt |
75660 | 1f 00 00 4b e4 4b e7 87 94 8c 15 43 6f 6e 6e 65 63 74 69 6f 6e 2e 61 63 63 65 70 74 5f 73 73 6c | ...K.K.....Connection.accept_ssl |
75680 | 94 6a 74 1f 00 00 4b e9 4d 00 01 87 94 8c 11 43 6f 6e 6e 65 63 74 69 6f 6e 2e 61 63 63 65 70 74 | .jt...K.M......Connection.accept |
756a0 | 94 6a 74 1f 00 00 4d 02 01 4d 1c 01 87 94 8c 1c 43 6f 6e 6e 65 63 74 69 6f 6e 2e 73 65 74 5f 63 | .jt...M..M......Connection.set_c |
756c0 | 6f 6e 6e 65 63 74 5f 73 74 61 74 65 94 6a 74 1f 00 00 4d 1e 01 4d 21 01 87 94 8c 16 43 6f 6e 6e | onnect_state.jt...M..M!.....Conn |
756e0 | 65 63 74 69 6f 6e 2e 63 6f 6e 6e 65 63 74 5f 73 73 6c 94 6a 74 1f 00 00 4d 23 01 4d 25 01 87 94 | ection.connect_ssl.jt...M#.M%... |
75700 | 8c 12 43 6f 6e 6e 65 63 74 69 6f 6e 2e 63 6f 6e 6e 65 63 74 94 6a 74 1f 00 00 4d 27 01 4d 3b 01 | ..Connection.connect.jt...M'.M;. |
75720 | 87 94 8c 13 43 6f 6e 6e 65 63 74 69 6f 6e 2e 73 68 75 74 64 6f 77 6e 94 6a 74 1f 00 00 4d 3d 01 | ....Connection.shutdown.jt...M=. |
75740 | 4d 3f 01 87 94 8c 16 43 6f 6e 6e 65 63 74 69 6f 6e 2e 72 65 6e 65 67 6f 74 69 61 74 65 94 6a 74 | M?.....Connection.renegotiate.jt |
75760 | 1f 00 00 4d 41 01 4d 44 01 87 94 8c 12 43 6f 6e 6e 65 63 74 69 6f 6e 2e 70 65 6e 64 69 6e 67 94 | ...MA.MD.....Connection.pending. |
75780 | 6a 74 1f 00 00 4d 46 01 4d 49 01 87 94 8c 15 43 6f 6e 6e 65 63 74 69 6f 6e 2e 5f 77 72 69 74 65 | jt...MF.MI.....Connection._write |
757a0 | 5f 62 69 6f 94 6a 74 1f 00 00 4d 4b 01 4d 4d 01 87 94 8c 16 43 6f 6e 6e 65 63 74 69 6f 6e 2e 5f | _bio.jt...MK.MM.....Connection._ |
757c0 | 77 72 69 74 65 5f 6e 62 69 6f 94 6a 74 1f 00 00 4d 4f 01 4d 51 01 87 94 8c 14 43 6f 6e 6e 65 63 | write_nbio.jt...MO.MQ.....Connec |
757e0 | 74 69 6f 6e 2e 5f 72 65 61 64 5f 62 69 6f 94 6a 74 1f 00 00 4d 53 01 4d 57 01 87 94 8c 15 43 6f | tion._read_bio.jt...MS.MW.....Co |
75800 | 6e 6e 65 63 74 69 6f 6e 2e 5f 72 65 61 64 5f 6e 62 69 6f 94 6a 74 1f 00 00 4d 59 01 4d 5d 01 87 | nnection._read_nbio.jt...MY.M].. |
75820 | 94 8c 10 43 6f 6e 6e 65 63 74 69 6f 6e 2e 77 72 69 74 65 94 6a 74 1f 00 00 4d 5f 01 4d 63 01 87 | ...Connection.write.jt...M_.Mc.. |
75840 | 94 8c 1c 43 6f 6e 6e 65 63 74 69 6f 6e 2e 5f 64 65 63 72 65 66 5f 73 6f 63 6b 65 74 69 6f 73 94 | ...Connection._decref_socketios. |
75860 | 6a 74 1f 00 00 4d 66 01 4d 67 01 87 94 8c 14 43 6f 6e 6e 65 63 74 69 6f 6e 2e 72 65 63 76 5f 69 | jt...Mf.Mg.....Connection.recv_i |
75880 | 6e 74 6f 94 6a 74 1f 00 00 4d 69 01 4d 8c 01 87 94 8c 0f 43 6f 6e 6e 65 63 74 69 6f 6e 2e 72 65 | nto.jt...Mi.M......Connection.re |
758a0 | 61 64 94 6a 74 1f 00 00 4d 8e 01 4d 92 01 87 94 8c 16 43 6f 6e 6e 65 63 74 69 6f 6e 2e 73 65 74 | ad.jt...M..M......Connection.set |
758c0 | 62 6c 6f 63 6b 69 6e 67 94 6a 74 1f 00 00 4d 95 01 4d a8 01 87 94 8c 15 43 6f 6e 6e 65 63 74 69 | blocking.jt...M..M......Connecti |
758e0 | 6f 6e 2e 73 65 74 74 69 6d 65 6f 75 74 94 6a 74 1f 00 00 4d aa 01 4d b0 01 87 94 8c 11 43 6f 6e | on.settimeout.jt...M..M......Con |
75900 | 6e 65 63 74 69 6f 6e 2e 66 69 6c 65 6e 6f 94 6a 74 1f 00 00 4d b2 01 4d b4 01 87 94 8c 15 43 6f | nection.fileno.jt...M..M......Co |
75920 | 6e 6e 65 63 74 69 6f 6e 2e 67 65 74 73 6f 63 6b 6f 70 74 94 6a 74 1f 00 00 4d b6 01 4d d3 01 87 | nnection.getsockopt.jt...M..M... |
75940 | 94 8c 15 43 6f 6e 6e 65 63 74 69 6f 6e 2e 73 65 74 73 6f 63 6b 6f 70 74 94 6a 74 1f 00 00 4d d5 | ...Connection.setsockopt.jt...M. |
75960 | 01 4d e5 01 87 94 8c 16 43 6f 6e 6e 65 63 74 69 6f 6e 2e 67 65 74 5f 63 6f 6e 74 65 78 74 94 6a | .M......Connection.get_context.j |
75980 | 74 1f 00 00 4d e7 01 4d ea 01 87 94 8c 14 43 6f 6e 6e 65 63 74 69 6f 6e 2e 67 65 74 5f 73 74 61 | t...M..M......Connection.get_sta |
759a0 | 74 65 94 6a 74 1f 00 00 4d ec 01 4d f9 01 87 94 8c 14 43 6f 6e 6e 65 63 74 69 6f 6e 2e 76 65 72 | te.jt...M..M......Connection.ver |
759c0 | 69 66 79 5f 6f 6b 94 6a 74 1f 00 00 4d fb 01 4d fd 01 87 94 8c 1a 43 6f 6e 6e 65 63 74 69 6f 6e | ify_ok.jt...M..M......Connection |
759e0 | 2e 67 65 74 5f 76 65 72 69 66 79 5f 6d 6f 64 65 94 6a 74 1f 00 00 4d ff 01 4d 02 02 87 94 8c 1b | .get_verify_mode.jt...M..M...... |
75a00 | 43 6f 6e 6e 65 63 74 69 6f 6e 2e 67 65 74 5f 76 65 72 69 66 79 5f 64 65 70 74 68 94 6a 74 1f 00 | Connection.get_verify_depth.jt.. |
75a20 | 00 4d 04 02 4d 07 02 87 94 8c 1c 43 6f 6e 6e 65 63 74 69 6f 6e 2e 67 65 74 5f 76 65 72 69 66 79 | .M..M......Connection.get_verify |
75a40 | 5f 72 65 73 75 6c 74 94 6a 74 1f 00 00 4d 09 02 4d 0c 02 87 94 8c 18 43 6f 6e 6e 65 63 74 69 6f | _result.jt...M..M......Connectio |
75a60 | 6e 2e 67 65 74 5f 70 65 65 72 5f 63 65 72 74 94 6a 74 1f 00 00 4d 0e 02 4d 18 02 87 94 8c 1e 43 | n.get_peer_cert.jt...M..M......C |
75a80 | 6f 6e 6e 65 63 74 69 6f 6e 2e 67 65 74 5f 70 65 65 72 5f 63 65 72 74 5f 63 68 61 69 6e 94 6a 74 | onnection.get_peer_cert_chain.jt |
75aa0 | 1f 00 00 4d 1a 02 4d 27 02 87 94 8c 15 43 6f 6e 6e 65 63 74 69 6f 6e 2e 67 65 74 5f 63 69 70 68 | ...M..M'.....Connection.get_ciph |
75ac0 | 65 72 94 6a 74 1f 00 00 4d 29 02 4d 31 02 87 94 8c 16 43 6f 6e 6e 65 63 74 69 6f 6e 2e 67 65 74 | er.jt...M).M1.....Connection.get |
75ae0 | 5f 63 69 70 68 65 72 73 94 6a 74 1f 00 00 4d 33 02 4d 3c 02 87 94 8c 1a 43 6f 6e 6e 65 63 74 69 | _ciphers.jt...M3.M<.....Connecti |
75b00 | 6f 6e 2e 67 65 74 5f 63 69 70 68 65 72 5f 6c 69 73 74 94 6a 74 1f 00 00 4d 3e 02 4d 41 02 87 94 | on.get_cipher_list.jt...M>.MA... |
75b20 | 8c 1a 43 6f 6e 6e 65 63 74 69 6f 6e 2e 73 65 74 5f 63 69 70 68 65 72 5f 6c 69 73 74 94 6a 74 1f | ..Connection.set_cipher_list.jt. |
75b40 | 00 00 4d 43 02 4d 46 02 87 94 8c 13 43 6f 6e 6e 65 63 74 69 6f 6e 2e 6d 61 6b 65 66 69 6c 65 94 | ..MC.MF.....Connection.makefile. |
75b60 | 6a 74 1f 00 00 4d 48 02 4d 4d 02 87 94 8c 16 43 6f 6e 6e 65 63 74 69 6f 6e 2e 67 65 74 73 6f 63 | jt...MH.MM.....Connection.getsoc |
75b80 | 6b 6e 61 6d 65 94 6a 74 1f 00 00 4d 4f 02 4d 59 02 87 94 8c 16 43 6f 6e 6e 65 63 74 69 6f 6e 2e | kname.jt...MO.MY.....Connection. |
75ba0 | 67 65 74 70 65 65 72 6e 61 6d 65 94 6a 74 1f 00 00 4d 5b 02 4d 65 02 87 94 8c 1d 43 6f 6e 6e 65 | getpeername.jt...M[.Me.....Conne |
75bc0 | 63 74 69 6f 6e 2e 73 65 74 5f 73 65 73 73 69 6f 6e 5f 69 64 5f 63 74 78 94 6a 74 1f 00 00 4d 67 | ction.set_session_id_ctx.jt...Mg |
75be0 | 02 4d 6b 02 87 94 8c 16 43 6f 6e 6e 65 63 74 69 6f 6e 2e 67 65 74 5f 73 65 73 73 69 6f 6e 94 6a | .Mk.....Connection.get_session.j |
75c00 | 74 1f 00 00 4d 6d 02 4d 70 02 87 94 8c 16 43 6f 6e 6e 65 63 74 69 6f 6e 2e 73 65 74 5f 73 65 73 | t...Mm.Mp.....Connection.set_ses |
75c20 | 73 69 6f 6e 94 6a 74 1f 00 00 4d 72 02 4d 74 02 87 94 8c 26 43 6f 6e 6e 65 63 74 69 6f 6e 2e 67 | sion.jt...Mr.Mt....&Connection.g |
75c40 | 65 74 5f 64 65 66 61 75 6c 74 5f 73 65 73 73 69 6f 6e 5f 74 69 6d 65 6f 75 74 94 6a 74 1f 00 00 | et_default_session_timeout.jt... |
75c60 | 4d 76 02 4d 78 02 87 94 8c 22 43 6f 6e 6e 65 63 74 69 6f 6e 2e 67 65 74 5f 73 6f 63 6b 65 74 5f | Mv.Mx...."Connection.get_socket_ |
75c80 | 72 65 61 64 5f 74 69 6d 65 6f 75 74 94 6a 74 1f 00 00 4d 7a 02 4d 7e 02 87 94 8c 13 43 6f 6e 6e | read_timeout.jt...Mz.M~.....Conn |
75ca0 | 65 63 74 69 6f 6e 2e 5f 68 65 78 64 75 6d 70 94 6a 74 1f 00 00 4d 80 02 4d 83 02 87 94 8c 23 43 | ection._hexdump.jt...M..M.....#C |
75cc0 | 6f 6e 6e 65 63 74 69 6f 6e 2e 67 65 74 5f 73 6f 63 6b 65 74 5f 77 72 69 74 65 5f 74 69 6d 65 6f | onnection.get_socket_write_timeo |
75ce0 | 75 74 94 6a 74 1f 00 00 4d 85 02 4d 8d 02 87 94 8c 22 43 6f 6e 6e 65 63 74 69 6f 6e 2e 73 65 74 | ut.jt...M..M....."Connection.set |
75d00 | 5f 73 6f 63 6b 65 74 5f 72 65 61 64 5f 74 69 6d 65 6f 75 74 94 6a 74 1f 00 00 4d 8f 02 4d 93 02 | _socket_read_timeout.jt...M..M.. |
75d20 | 87 94 8c 23 43 6f 6e 6e 65 63 74 69 6f 6e 2e 73 65 74 5f 73 6f 63 6b 65 74 5f 77 72 69 74 65 5f | ...#Connection.set_socket_write_ |
75d40 | 74 69 6d 65 6f 75 74 94 6a 74 1f 00 00 4d 95 02 4d 9d 02 87 94 8c 16 43 6f 6e 6e 65 63 74 69 6f | timeout.jt...M..M......Connectio |
75d60 | 6e 2e 67 65 74 5f 76 65 72 73 69 6f 6e 94 6a 74 1f 00 00 4d 9f 02 4d a2 02 87 94 8c 2d 43 6f 6e | n.get_version.jt...M..M.....-Con |
75d80 | 6e 65 63 74 69 6f 6e 2e 73 65 74 5f 70 6f 73 74 5f 63 6f 6e 6e 65 63 74 69 6f 6e 5f 63 68 65 63 | nection.set_post_connection_chec |
75da0 | 6b 5f 63 61 6c 6c 62 61 63 6b 94 6a 74 1f 00 00 4d a4 02 4d a6 02 87 94 8c 1f 43 6f 6e 6e 65 63 | k_callback.jt...M..M......Connec |
75dc0 | 74 69 6f 6e 2e 73 65 74 5f 74 6c 73 65 78 74 5f 68 6f 73 74 5f 6e 61 6d 65 94 6a 74 1f 00 00 4d | tion.set_tlsext_host_name.jt...M |
75de0 | a8 02 4d ad 02 87 94 8c 14 43 6f 6e 6e 65 63 74 69 6f 6e 2e 73 65 74 31 5f 68 6f 73 74 94 6a 74 | ..M......Connection.set1_host.jt |
75e00 | 1f 00 00 4d af 02 4d b2 02 87 94 8c 0a 43 6f 6e 6e 65 63 74 69 6f 6e 94 6a 7d 1f 00 00 4b 24 4d | ...M..M......Connection.j}...K$M |
75e20 | b2 02 87 94 75 7d 94 28 8c 0a 43 6f 6e 6e 65 63 74 69 6f 6e 94 6a 5c 02 00 00 8c 11 43 6f 6e 6e | ....u}.(..Connection.j\.....Conn |
75e40 | 65 63 74 69 6f 6e 2e 61 63 63 65 70 74 94 6a 5c 02 00 00 8c 15 43 6f 6e 6e 65 63 74 69 6f 6e 2e | ection.accept.j\.....Connection. |
75e60 | 61 63 63 65 70 74 5f 73 73 6c 94 6a 5c 02 00 00 8c 0f 43 6f 6e 6e 65 63 74 69 6f 6e 2e 62 69 6e | accept_ssl.j\.....Connection.bin |
75e80 | 64 94 6a 5c 02 00 00 8c 10 43 6f 6e 6e 65 63 74 69 6f 6e 2e 63 6c 65 61 72 94 6a 5c 02 00 00 8c | d.j\.....Connection.clear.j\.... |
75ea0 | 10 43 6f 6e 6e 65 63 74 69 6f 6e 2e 63 6c 6f 73 65 94 6a 5c 02 00 00 8c 12 43 6f 6e 6e 65 63 74 | .Connection.close.j\.....Connect |
75ec0 | 69 6f 6e 2e 63 6f 6e 6e 65 63 74 94 6a 5c 02 00 00 8c 16 43 6f 6e 6e 65 63 74 69 6f 6e 2e 63 6f | ion.connect.j\.....Connection.co |
75ee0 | 6e 6e 65 63 74 5f 73 73 6c 94 6a 5c 02 00 00 8c 11 43 6f 6e 6e 65 63 74 69 6f 6e 2e 66 69 6c 65 | nnect_ssl.j\.....Connection.file |
75f00 | 6e 6f 94 6a 5c 02 00 00 8c 15 43 6f 6e 6e 65 63 74 69 6f 6e 2e 67 65 74 5f 63 69 70 68 65 72 94 | no.j\.....Connection.get_cipher. |
75f20 | 6a 5c 02 00 00 8c 1a 43 6f 6e 6e 65 63 74 69 6f 6e 2e 67 65 74 5f 63 69 70 68 65 72 5f 6c 69 73 | j\.....Connection.get_cipher_lis |
75f40 | 74 94 6a 5c 02 00 00 8c 16 43 6f 6e 6e 65 63 74 69 6f 6e 2e 67 65 74 5f 63 69 70 68 65 72 73 94 | t.j\.....Connection.get_ciphers. |
75f60 | 6a 5c 02 00 00 8c 16 43 6f 6e 6e 65 63 74 69 6f 6e 2e 67 65 74 5f 63 6f 6e 74 65 78 74 94 6a 5c | j\.....Connection.get_context.j\ |
75f80 | 02 00 00 8c 26 43 6f 6e 6e 65 63 74 69 6f 6e 2e 67 65 74 5f 64 65 66 61 75 6c 74 5f 73 65 73 73 | ....&Connection.get_default_sess |
75fa0 | 69 6f 6e 5f 74 69 6d 65 6f 75 74 94 6a 5c 02 00 00 8c 18 43 6f 6e 6e 65 63 74 69 6f 6e 2e 67 65 | ion_timeout.j\.....Connection.ge |
75fc0 | 74 5f 70 65 65 72 5f 63 65 72 74 94 6a 5c 02 00 00 8c 1e 43 6f 6e 6e 65 63 74 69 6f 6e 2e 67 65 | t_peer_cert.j\.....Connection.ge |
75fe0 | 74 5f 70 65 65 72 5f 63 65 72 74 5f 63 68 61 69 6e 94 6a 5c 02 00 00 8c 16 43 6f 6e 6e 65 63 74 | t_peer_cert_chain.j\.....Connect |
76000 | 69 6f 6e 2e 67 65 74 5f 73 65 73 73 69 6f 6e 94 6a 5c 02 00 00 8c 17 43 6f 6e 6e 65 63 74 69 6f | ion.get_session.j\.....Connectio |
76020 | 6e 2e 67 65 74 5f 73 68 75 74 64 6f 77 6e 94 6a 5c 02 00 00 8c 22 43 6f 6e 6e 65 63 74 69 6f 6e | n.get_shutdown.j\...."Connection |
76040 | 2e 67 65 74 5f 73 6f 63 6b 65 74 5f 72 65 61 64 5f 74 69 6d 65 6f 75 74 94 6a 5c 02 00 00 8c 23 | .get_socket_read_timeout.j\....# |
76060 | 43 6f 6e 6e 65 63 74 69 6f 6e 2e 67 65 74 5f 73 6f 63 6b 65 74 5f 77 72 69 74 65 5f 74 69 6d 65 | Connection.get_socket_write_time |
76080 | 6f 75 74 94 6a 5c 02 00 00 8c 14 43 6f 6e 6e 65 63 74 69 6f 6e 2e 67 65 74 5f 73 74 61 74 65 94 | out.j\.....Connection.get_state. |
760a0 | 6a 5c 02 00 00 8c 1b 43 6f 6e 6e 65 63 74 69 6f 6e 2e 67 65 74 5f 76 65 72 69 66 79 5f 64 65 70 | j\.....Connection.get_verify_dep |
760c0 | 74 68 94 6a 5c 02 00 00 8c 1a 43 6f 6e 6e 65 63 74 69 6f 6e 2e 67 65 74 5f 76 65 72 69 66 79 5f | th.j\.....Connection.get_verify_ |
760e0 | 6d 6f 64 65 94 6a 5c 02 00 00 8c 1c 43 6f 6e 6e 65 63 74 69 6f 6e 2e 67 65 74 5f 76 65 72 69 66 | mode.j\.....Connection.get_verif |
76100 | 79 5f 72 65 73 75 6c 74 94 6a 5c 02 00 00 8c 16 43 6f 6e 6e 65 63 74 69 6f 6e 2e 67 65 74 5f 76 | y_result.j\.....Connection.get_v |
76120 | 65 72 73 69 6f 6e 94 6a 5c 02 00 00 8c 16 43 6f 6e 6e 65 63 74 69 6f 6e 2e 67 65 74 70 65 65 72 | ersion.j\.....Connection.getpeer |
76140 | 6e 61 6d 65 94 6a 5c 02 00 00 8c 16 43 6f 6e 6e 65 63 74 69 6f 6e 2e 67 65 74 73 6f 63 6b 6e 61 | name.j\.....Connection.getsockna |
76160 | 6d 65 94 6a 5c 02 00 00 8c 15 43 6f 6e 6e 65 63 74 69 6f 6e 2e 67 65 74 73 6f 63 6b 6f 70 74 94 | me.j\.....Connection.getsockopt. |
76180 | 6a 5c 02 00 00 8c 11 43 6f 6e 6e 65 63 74 69 6f 6e 2e 6c 69 73 74 65 6e 94 6a 5c 02 00 00 8c 13 | j\.....Connection.listen.j\..... |
761a0 | 43 6f 6e 6e 65 63 74 69 6f 6e 2e 6d 61 6b 65 66 69 6c 65 94 6a 5c 02 00 00 8c 12 43 6f 6e 6e 65 | Connection.makefile.j\.....Conne |
761c0 | 63 74 69 6f 6e 2e 70 65 6e 64 69 6e 67 94 6a 5c 02 00 00 8c 0f 43 6f 6e 6e 65 63 74 69 6f 6e 2e | ction.pending.j\.....Connection. |
761e0 | 72 65 61 64 94 6a 5c 02 00 00 8c 14 43 6f 6e 6e 65 63 74 69 6f 6e 2e 72 65 63 76 5f 69 6e 74 6f | read.j\.....Connection.recv_into |
76200 | 94 6a 5c 02 00 00 8c 16 43 6f 6e 6e 65 63 74 69 6f 6e 2e 72 65 6e 65 67 6f 74 69 61 74 65 94 6a | .j\.....Connection.renegotiate.j |
76220 | 5c 02 00 00 8c 14 43 6f 6e 6e 65 63 74 69 6f 6e 2e 73 65 74 31 5f 68 6f 73 74 94 6a 5c 02 00 00 | \.....Connection.set1_host.j\... |
76240 | 8c 1b 43 6f 6e 6e 65 63 74 69 6f 6e 2e 73 65 74 5f 61 63 63 65 70 74 5f 73 74 61 74 65 94 6a 5c | ..Connection.set_accept_state.j\ |
76260 | 02 00 00 8c 12 43 6f 6e 6e 65 63 74 69 6f 6e 2e 73 65 74 5f 62 69 6f 94 6a 5c 02 00 00 8c 1a 43 | .....Connection.set_bio.j\.....C |
76280 | 6f 6e 6e 65 63 74 69 6f 6e 2e 73 65 74 5f 63 69 70 68 65 72 5f 6c 69 73 74 94 6a 5c 02 00 00 8c | onnection.set_cipher_list.j\.... |
762a0 | 2a 43 6f 6e 6e 65 63 74 69 6f 6e 2e 73 65 74 5f 63 6c 69 65 6e 74 5f 43 41 5f 6c 69 73 74 5f 66 | *Connection.set_client_CA_list_f |
762c0 | 72 6f 6d 5f 63 6f 6e 74 65 78 74 94 6a 5c 02 00 00 8c 27 43 6f 6e 6e 65 63 74 69 6f 6e 2e 73 65 | rom_context.j\....'Connection.se |
762e0 | 74 5f 63 6c 69 65 6e 74 5f 43 41 5f 6c 69 73 74 5f 66 72 6f 6d 5f 66 69 6c 65 94 6a 5c 02 00 00 | t_client_CA_list_from_file.j\... |
76300 | 8c 1c 43 6f 6e 6e 65 63 74 69 6f 6e 2e 73 65 74 5f 63 6f 6e 6e 65 63 74 5f 73 74 61 74 65 94 6a | ..Connection.set_connect_state.j |
76320 | 5c 02 00 00 8c 2d 43 6f 6e 6e 65 63 74 69 6f 6e 2e 73 65 74 5f 70 6f 73 74 5f 63 6f 6e 6e 65 63 | \....-Connection.set_post_connec |
76340 | 74 69 6f 6e 5f 63 68 65 63 6b 5f 63 61 6c 6c 62 61 63 6b 94 6a 5c 02 00 00 8c 16 43 6f 6e 6e 65 | tion_check_callback.j\.....Conne |
76360 | 63 74 69 6f 6e 2e 73 65 74 5f 73 65 73 73 69 6f 6e 94 6a 5c 02 00 00 8c 1d 43 6f 6e 6e 65 63 74 | ction.set_session.j\.....Connect |
76380 | 69 6f 6e 2e 73 65 74 5f 73 65 73 73 69 6f 6e 5f 69 64 5f 63 74 78 94 6a 5c 02 00 00 8c 17 43 6f | ion.set_session_id_ctx.j\.....Co |
763a0 | 6e 6e 65 63 74 69 6f 6e 2e 73 65 74 5f 73 68 75 74 64 6f 77 6e 94 6a 5c 02 00 00 8c 22 43 6f 6e | nnection.set_shutdown.j\...."Con |
763c0 | 6e 65 63 74 69 6f 6e 2e 73 65 74 5f 73 6f 63 6b 65 74 5f 72 65 61 64 5f 74 69 6d 65 6f 75 74 94 | nection.set_socket_read_timeout. |
763e0 | 6a 5c 02 00 00 8c 23 43 6f 6e 6e 65 63 74 69 6f 6e 2e 73 65 74 5f 73 6f 63 6b 65 74 5f 77 72 69 | j\....#Connection.set_socket_wri |
76400 | 74 65 5f 74 69 6d 65 6f 75 74 94 6a 5c 02 00 00 8c 1d 43 6f 6e 6e 65 63 74 69 6f 6e 2e 73 65 74 | te_timeout.j\.....Connection.set |
76420 | 5f 73 73 6c 5f 63 6c 6f 73 65 5f 66 6c 61 67 94 6a 5c 02 00 00 8c 1f 43 6f 6e 6e 65 63 74 69 6f | _ssl_close_flag.j\.....Connectio |
76440 | 6e 2e 73 65 74 5f 74 6c 73 65 78 74 5f 68 6f 73 74 5f 6e 61 6d 65 94 6a 5c 02 00 00 8c 16 43 6f | n.set_tlsext_host_name.j\.....Co |
76460 | 6e 6e 65 63 74 69 6f 6e 2e 73 65 74 62 6c 6f 63 6b 69 6e 67 94 6a 5c 02 00 00 8c 15 43 6f 6e 6e | nnection.setblocking.j\.....Conn |
76480 | 65 63 74 69 6f 6e 2e 73 65 74 73 6f 63 6b 6f 70 74 94 6a 5c 02 00 00 8c 15 43 6f 6e 6e 65 63 74 | ection.setsockopt.j\.....Connect |
764a0 | 69 6f 6e 2e 73 65 74 74 69 6d 65 6f 75 74 94 6a 5c 02 00 00 8c 15 43 6f 6e 6e 65 63 74 69 6f 6e | ion.settimeout.j\.....Connection |
764c0 | 2e 73 65 74 75 70 5f 61 64 64 72 94 6a 5c 02 00 00 8c 14 43 6f 6e 6e 65 63 74 69 6f 6e 2e 73 65 | .setup_addr.j\.....Connection.se |
764e0 | 74 75 70 5f 73 73 6c 94 6a 5c 02 00 00 8c 13 43 6f 6e 6e 65 63 74 69 6f 6e 2e 73 68 75 74 64 6f | tup_ssl.j\.....Connection.shutdo |
76500 | 77 6e 94 6a 5c 02 00 00 8c 18 43 6f 6e 6e 65 63 74 69 6f 6e 2e 73 73 6c 5f 67 65 74 5f 65 72 72 | wn.j\.....Connection.ssl_get_err |
76520 | 6f 72 94 6a 5c 02 00 00 8c 14 43 6f 6e 6e 65 63 74 69 6f 6e 2e 76 65 72 69 66 79 5f 6f 6b 94 6a | or.j\.....Connection.verify_ok.j |
76540 | 5c 02 00 00 8c 10 43 6f 6e 6e 65 63 74 69 6f 6e 2e 77 72 69 74 65 94 6a 5c 02 00 00 75 8c 17 4d | \.....Connection.write.j\...u..M |
76560 | 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 94 74 94 8c 14 4d 32 43 72 79 | 2Crypto.SSL.Connection.t...M2Cry |
76580 | 70 74 6f 2e 53 53 4c 2e 43 6f 6e 74 65 78 74 94 28 58 a8 42 00 00 66 72 6f 6d 20 5f 5f 66 75 74 | pto.SSL.Context.(X.B..from.__fut |
765a0 | 75 72 65 5f 5f 20 69 6d 70 6f 72 74 20 61 62 73 6f 6c 75 74 65 5f 69 6d 70 6f 72 74 0a 0a 22 22 | ure__.import.absolute_import.."" |
765c0 | 22 53 53 4c 20 43 6f 6e 74 65 78 74 0a 0a 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 39 39 | "SSL.Context..Copyright.(c).1999 |
765e0 | 2d 32 30 30 34 20 4e 67 20 50 68 65 6e 67 20 53 69 6f 6e 67 2e 20 41 6c 6c 20 72 69 67 68 74 73 | -2004.Ng.Pheng.Siong..All.rights |
76600 | 20 72 65 73 65 72 76 65 64 2e 22 22 22 0a 0a 66 72 6f 6d 20 4d 32 43 72 79 70 74 6f 20 69 6d 70 | .reserved."""..from.M2Crypto.imp |
76620 | 6f 72 74 20 42 49 4f 2c 20 45 72 72 2c 20 52 53 41 2c 20 58 35 30 39 2c 20 6d 32 2c 20 75 74 69 | ort.BIO,.Err,.RSA,.X509,.m2,.uti |
76640 | 6c 20 20 23 20 6e 6f 71 61 0a 66 72 6f 6d 20 4d 32 43 72 79 70 74 6f 2e 53 53 4c 20 69 6d 70 6f | l..#.noqa.from.M2Crypto.SSL.impo |
76660 | 72 74 20 63 62 20 20 23 20 6e 6f 71 61 0a 66 72 6f 6d 20 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e | rt.cb..#.noqa.from.M2Crypto.SSL. |
76680 | 53 65 73 73 69 6f 6e 20 69 6d 70 6f 72 74 20 53 65 73 73 69 6f 6e 20 20 23 20 6e 6f 71 61 0a 66 | Session.import.Session..#.noqa.f |
766a0 | 72 6f 6d 20 77 65 61 6b 72 65 66 20 69 6d 70 6f 72 74 20 57 65 61 6b 56 61 6c 75 65 44 69 63 74 | rom.weakref.import.WeakValueDict |
766c0 | 69 6f 6e 61 72 79 0a 69 66 20 75 74 69 6c 2e 70 79 32 37 70 6c 75 73 3a 0a 20 20 20 20 66 72 6f | ionary.if.util.py27plus:.....fro |
766e0 | 6d 20 74 79 70 69 6e 67 20 69 6d 70 6f 72 74 20 41 6e 79 2c 20 41 6e 79 53 74 72 2c 20 43 61 6c | m.typing.import.Any,.AnyStr,.Cal |
76700 | 6c 61 62 6c 65 2c 20 4f 70 74 69 6f 6e 61 6c 2c 20 55 6e 69 6f 6e 20 20 23 20 6e 6f 71 61 0a 0a | lable,.Optional,.Union..#.noqa.. |
76720 | 5f 5f 61 6c 6c 5f 5f 20 3d 20 5b 27 63 74 78 6d 61 70 27 2c 20 27 43 6f 6e 74 65 78 74 27 2c 20 | __all__.=.['ctxmap',.'Context',. |
76740 | 27 6d 61 70 27 5d 0a 0a 0a 63 6c 61 73 73 20 5f 63 74 78 6d 61 70 28 6f 62 6a 65 63 74 29 3a 0a | 'map']...class._ctxmap(object):. |
76760 | 20 20 20 20 73 69 6e 67 6c 65 74 6f 6e 20 3d 20 4e 6f 6e 65 20 20 23 20 74 79 70 65 3a 20 4f 70 | ....singleton.=.None..#.type:.Op |
76780 | 74 69 6f 6e 61 6c 5b 5f 63 74 78 6d 61 70 5d 0a 0a 20 20 20 20 64 65 66 20 5f 5f 69 6e 69 74 5f | tional[_ctxmap]......def.__init_ |
767a0 | 5f 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 4e | _(self):.........#.type:.().->.N |
767c0 | 6f 6e 65 0a 20 20 20 20 20 20 20 20 22 22 22 53 69 6d 70 6c 65 20 57 65 61 6b 52 65 66 66 65 64 | one........."""Simple.WeakReffed |
767e0 | 20 6c 69 73 74 2e 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e | .list..........""".........self. |
76800 | 5f 63 74 78 6d 61 70 20 3d 20 57 65 61 6b 56 61 6c 75 65 44 69 63 74 69 6f 6e 61 72 79 28 29 0a | _ctxmap.=.WeakValueDictionary(). |
76820 | 0a 20 20 20 20 64 65 66 20 5f 5f 67 65 74 69 74 65 6d 5f 5f 28 73 65 6c 66 2c 20 6b 65 79 29 3a | .....def.__getitem__(self,.key): |
76840 | 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 69 6e 74 29 20 2d 3e 20 41 6e 79 0a 20 20 | .........#.type:.(int).->.Any... |
76860 | 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 2e 5f 63 74 78 6d 61 70 5b 6b 65 79 5d 0a 0a | ......return.self._ctxmap[key].. |
76880 | 20 20 20 20 64 65 66 20 5f 5f 73 65 74 69 74 65 6d 5f 5f 28 73 65 6c 66 2c 20 6b 65 79 2c 20 76 | ....def.__setitem__(self,.key,.v |
768a0 | 61 6c 75 65 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 69 6e 74 2c 20 41 6e 79 | alue):.........#.type:.(int,.Any |
768c0 | 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 63 74 78 6d 61 70 5b 6b | ).->.None.........self._ctxmap[k |
768e0 | 65 79 5d 20 3d 20 76 61 6c 75 65 0a 0a 20 20 20 20 64 65 66 20 5f 5f 64 65 6c 69 74 65 6d 5f 5f | ey].=.value......def.__delitem__ |
76900 | 28 73 65 6c 66 2c 20 6b 65 79 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 69 6e | (self,.key):.........#.type:.(in |
76920 | 74 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 64 65 6c 20 73 65 6c 66 2e 5f 63 74 78 | t).->.None.........del.self._ctx |
76940 | 6d 61 70 5b 6b 65 79 5d 0a 0a 0a 64 65 66 20 63 74 78 6d 61 70 28 29 3a 0a 20 20 20 20 23 20 74 | map[key]...def.ctxmap():.....#.t |
76960 | 79 70 65 3a 20 28 29 20 2d 3e 20 5f 63 74 78 6d 61 70 0a 20 20 20 20 69 66 20 5f 63 74 78 6d 61 | ype:.().->._ctxmap.....if._ctxma |
76980 | 70 2e 73 69 6e 67 6c 65 74 6f 6e 20 69 73 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 5f 63 74 | p.singleton.is.None:........._ct |
769a0 | 78 6d 61 70 2e 73 69 6e 67 6c 65 74 6f 6e 20 3d 20 5f 63 74 78 6d 61 70 28 29 0a 20 20 20 20 72 | xmap.singleton.=._ctxmap().....r |
769c0 | 65 74 75 72 6e 20 5f 63 74 78 6d 61 70 2e 73 69 6e 67 6c 65 74 6f 6e 0a 23 20 64 65 70 72 65 63 | eturn._ctxmap.singleton.#.deprec |
769e0 | 61 74 65 64 21 21 21 0a 6d 61 70 20 3d 20 63 74 78 6d 61 70 0a 0a 0a 63 6c 61 73 73 20 43 6f 6e | ated!!!.map.=.ctxmap...class.Con |
76a00 | 74 65 78 74 28 6f 62 6a 65 63 74 29 3a 0a 0a 20 20 20 20 22 22 22 27 43 6f 6e 74 65 78 74 27 20 | text(object):......"""'Context'. |
76a20 | 66 6f 72 20 53 53 4c 20 63 6f 6e 6e 65 63 74 69 6f 6e 73 2e 22 22 22 0a 0a 20 20 20 20 6d 32 5f | for.SSL.connections."""......m2_ |
76a40 | 73 73 6c 5f 63 74 78 5f 66 72 65 65 20 3d 20 6d 32 2e 73 73 6c 5f 63 74 78 5f 66 72 65 65 0a 0a | ssl_ctx_free.=.m2.ssl_ctx_free.. |
76a60 | 20 20 20 20 64 65 66 20 5f 5f 69 6e 69 74 5f 5f 28 73 65 6c 66 2c 20 70 72 6f 74 6f 63 6f 6c 3d | ....def.__init__(self,.protocol= |
76a80 | 27 74 6c 73 27 2c 20 77 65 61 6b 5f 63 72 79 70 74 6f 3d 4e 6f 6e 65 2c 0a 20 20 20 20 20 20 20 | 'tls',.weak_crypto=None,........ |
76aa0 | 20 20 20 20 20 20 20 20 20 20 70 6f 73 74 5f 63 6f 6e 6e 65 63 74 69 6f 6e 5f 63 68 65 63 6b 3d | ..........post_connection_check= |
76ac0 | 4e 6f 6e 65 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 73 74 72 2c 20 4f 70 74 | None):.........#.type:.(str,.Opt |
76ae0 | 69 6f 6e 61 6c 5b 69 6e 74 5d 2c 20 4f 70 74 69 6f 6e 61 6c 5b 43 61 6c 6c 61 62 6c 65 5d 29 20 | ional[int],.Optional[Callable]). |
76b00 | 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 70 72 6f 74 6f 20 3d 20 67 65 74 61 74 74 72 28 | ->.None.........proto.=.getattr( |
76b20 | 6d 32 2c 20 70 72 6f 74 6f 63 6f 6c 20 2b 20 27 5f 6d 65 74 68 6f 64 27 2c 20 4e 6f 6e 65 29 0a | m2,.protocol.+.'_method',.None). |
76b40 | 20 20 20 20 20 20 20 20 69 66 20 70 72 6f 74 6f 20 69 73 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 | ........if.proto.is.None:....... |
76b60 | 20 20 20 20 20 20 23 20 64 65 66 61 75 6c 74 20 69 73 20 27 73 73 6c 76 32 33 27 20 66 6f 72 20 | ......#.default.is.'sslv23'.for. |
76b80 | 6f 6c 64 65 72 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 4f 70 65 6e 53 53 4c 0a 20 20 20 20 20 20 | older.versions.of.OpenSSL....... |
76ba0 | 20 20 20 20 20 20 69 66 20 70 72 6f 74 6f 63 6f 6c 20 3d 3d 20 27 74 6c 73 27 3a 0a 20 20 20 20 | ......if.protocol.==.'tls':..... |
76bc0 | 20 20 20 20 20 20 20 20 20 20 20 20 70 72 6f 74 6f 20 3d 20 67 65 74 61 74 74 72 28 6d 32 2c 20 | ............proto.=.getattr(m2,. |
76be0 | 27 73 73 6c 76 32 33 5f 6d 65 74 68 6f 64 27 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 | 'sslv23_method').............els |
76c00 | 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 56 61 6c 75 65 45 72 | e:.................raise.ValueEr |
76c20 | 72 6f 72 28 22 6e 6f 20 73 75 63 68 20 70 72 6f 74 6f 63 6f 6c 20 27 25 73 27 22 20 25 20 70 72 | ror("no.such.protocol.'%s'".%.pr |
76c40 | 6f 74 6f 63 6f 6c 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 63 74 78 20 3d 20 6d 32 2e 73 73 | otocol).........self.ctx.=.m2.ss |
76c60 | 6c 5f 63 74 78 5f 6e 65 77 28 70 72 6f 74 6f 28 29 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e | l_ctx_new(proto()).........self. |
76c80 | 61 6c 6c 6f 77 5f 75 6e 6b 6e 6f 77 6e 5f 63 61 20 3d 20 30 20 20 23 20 74 79 70 65 3a 20 55 6e | allow_unknown_ca.=.0..#.type:.Un |
76ca0 | 69 6f 6e 5b 69 6e 74 2c 20 62 6f 6f 6c 5d 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 70 6f 73 74 | ion[int,.bool].........self.post |
76cc0 | 5f 63 6f 6e 6e 65 63 74 69 6f 6e 5f 63 68 65 63 6b 20 3d 20 70 6f 73 74 5f 63 6f 6e 6e 65 63 74 | _connection_check.=.post_connect |
76ce0 | 69 6f 6e 5f 63 68 65 63 6b 0a 20 20 20 20 20 20 20 20 63 74 78 6d 61 70 28 29 5b 69 6e 74 28 73 | ion_check.........ctxmap()[int(s |
76d00 | 65 6c 66 2e 63 74 78 29 5d 20 3d 20 73 65 6c 66 0a 20 20 20 20 20 20 20 20 6d 32 2e 73 73 6c 5f | elf.ctx)].=.self.........m2.ssl_ |
76d20 | 63 74 78 5f 73 65 74 5f 63 61 63 68 65 5f 73 69 7a 65 28 73 65 6c 66 2e 63 74 78 2c 20 31 32 38 | ctx_set_cache_size(self.ctx,.128 |
76d40 | 29 0a 20 20 20 20 20 20 20 20 69 66 20 77 65 61 6b 5f 63 72 79 70 74 6f 20 69 73 20 4e 6f 6e 65 | ).........if.weak_crypto.is.None |
76d60 | 20 61 6e 64 20 70 72 6f 74 6f 63 6f 6c 20 69 6e 20 28 27 73 73 6c 76 32 33 27 2c 20 27 74 6c 73 | .and.protocol.in.('sslv23',.'tls |
76d80 | 27 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 65 74 5f 6f 70 74 69 6f 6e 73 | '):.............self.set_options |
76da0 | 28 6d 32 2e 53 53 4c 5f 4f 50 5f 41 4c 4c 20 7c 20 6d 32 2e 53 53 4c 5f 4f 50 5f 4e 4f 5f 53 53 | (m2.SSL_OP_ALL.|.m2.SSL_OP_NO_SS |
76dc0 | 4c 76 32 20 7c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | Lv2.|........................... |
76de0 | 20 20 20 6d 32 2e 53 53 4c 5f 4f 50 5f 4e 4f 5f 53 53 4c 76 33 29 0a 0a 20 20 20 20 64 65 66 20 | ...m2.SSL_OP_NO_SSLv3)......def. |
76e00 | 5f 5f 64 65 6c 5f 5f 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 | __del__(self):.........#.type:.( |
76e20 | 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 69 66 20 67 65 74 61 74 74 72 28 73 65 6c | ).->.None.........if.getattr(sel |
76e40 | 66 2c 20 27 63 74 78 27 2c 20 4e 6f 6e 65 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c | f,.'ctx',.None):.............sel |
76e60 | 66 2e 6d 32 5f 73 73 6c 5f 63 74 78 5f 66 72 65 65 28 73 65 6c 66 2e 63 74 78 29 0a 0a 20 20 20 | f.m2_ssl_ctx_free(self.ctx)..... |
76e80 | 20 64 65 66 20 63 6c 6f 73 65 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 | .def.close(self):.........#.type |
76ea0 | 3a 20 28 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 64 65 6c 20 63 74 78 6d 61 70 28 | :.().->.None.........del.ctxmap( |
76ec0 | 29 5b 69 6e 74 28 73 65 6c 66 2e 63 74 78 29 5d 0a 0a 20 20 20 20 64 65 66 20 6c 6f 61 64 5f 63 | )[int(self.ctx)]......def.load_c |
76ee0 | 65 72 74 28 73 65 6c 66 2c 20 63 65 72 74 66 69 6c 65 2c 20 6b 65 79 66 69 6c 65 3d 4e 6f 6e 65 | ert(self,.certfile,.keyfile=None |
76f00 | 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 6c 6c 62 61 63 6b 3d 75 74 69 | ,...................callback=uti |
76f20 | 6c 2e 70 61 73 73 70 68 72 61 73 65 5f 63 61 6c 6c 62 61 63 6b 29 3a 0a 20 20 20 20 20 20 20 20 | l.passphrase_callback):......... |
76f40 | 23 20 74 79 70 65 3a 20 28 41 6e 79 53 74 72 2c 20 4f 70 74 69 6f 6e 61 6c 5b 41 6e 79 53 74 72 | #.type:.(AnyStr,.Optional[AnyStr |
76f60 | 5d 2c 20 43 61 6c 6c 61 62 6c 65 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 22 22 22 | ],.Callable).->.None.........""" |
76f80 | 4c 6f 61 64 20 63 65 72 74 69 66 69 63 61 74 65 20 61 6e 64 20 70 72 69 76 61 74 65 20 6b 65 79 | Load.certificate.and.private.key |
76fa0 | 20 69 6e 74 6f 20 74 68 65 20 63 6f 6e 74 65 78 74 2e 0a 0a 20 20 20 20 20 20 20 20 3a 70 61 72 | .into.the.context...........:par |
76fc0 | 61 6d 20 63 65 72 74 66 69 6c 65 3a 20 46 69 6c 65 20 74 68 61 74 20 63 6f 6e 74 61 69 6e 73 20 | am.certfile:.File.that.contains. |
76fe0 | 74 68 65 20 50 45 4d 2d 65 6e 63 6f 64 65 64 20 63 65 72 74 69 66 69 63 61 74 65 2e 0a 20 20 20 | the.PEM-encoded.certificate..... |
77000 | 20 20 20 20 20 3a 70 61 72 61 6d 20 6b 65 79 66 69 6c 65 3a 20 20 46 69 6c 65 20 74 68 61 74 20 | .....:param.keyfile:..File.that. |
77020 | 63 6f 6e 74 61 69 6e 73 20 74 68 65 20 50 45 4d 2d 65 6e 63 6f 64 65 64 20 70 72 69 76 61 74 65 | contains.the.PEM-encoded.private |
77040 | 20 6b 65 79 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 | .key...........................D |
77060 | 65 66 61 75 6c 74 20 76 61 6c 75 65 20 6f 66 20 4e 6f 6e 65 20 69 6e 64 69 63 61 74 65 73 20 74 | efault.value.of.None.indicates.t |
77080 | 68 61 74 20 74 68 65 20 70 72 69 76 61 74 65 20 6b 65 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 | hat.the.private.key............. |
770a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 69 73 20 74 6f 20 62 65 20 66 6f 75 6e 64 20 69 6e 20 27 | .............is.to.be.found.in.' |
770c0 | 63 65 72 74 66 69 6c 65 27 2e 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 63 61 6c 6c 62 61 | certfile'..........:param.callba |
770e0 | 63 6b 3a 20 43 61 6c 6c 61 62 6c 65 20 6f 62 6a 65 63 74 20 74 6f 20 62 65 20 69 6e 76 6f 6b 65 | ck:.Callable.object.to.be.invoke |
77100 | 64 20 69 66 20 74 68 65 20 70 72 69 76 61 74 65 20 6b 65 79 20 69 73 0a 20 20 20 20 20 20 20 20 | d.if.the.private.key.is......... |
77120 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 61 73 73 70 68 72 61 73 65 2d 70 72 6f 74 | .................passphrase-prot |
77140 | 65 63 74 65 64 2e 20 44 65 66 61 75 6c 74 20 63 61 6c 6c 62 61 63 6b 20 70 72 6f 76 69 64 65 73 | ected..Default.callback.provides |
77160 | 20 61 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 69 6d 70 | .a..........................simp |
77180 | 6c 65 20 74 65 72 6d 69 6e 61 6c 2d 73 74 79 6c 65 20 69 6e 70 75 74 20 66 6f 72 20 74 68 65 20 | le.terminal-style.input.for.the. |
771a0 | 70 61 73 73 70 68 72 61 73 65 2e 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 | passphrase.........."""......... |
771c0 | 6d 32 2e 73 73 6c 5f 63 74 78 5f 70 61 73 73 70 68 72 61 73 65 5f 63 61 6c 6c 62 61 63 6b 28 73 | m2.ssl_ctx_passphrase_callback(s |
771e0 | 65 6c 66 2e 63 74 78 2c 20 63 61 6c 6c 62 61 63 6b 29 0a 20 20 20 20 20 20 20 20 6d 32 2e 73 73 | elf.ctx,.callback).........m2.ss |
77200 | 6c 5f 63 74 78 5f 75 73 65 5f 63 65 72 74 28 73 65 6c 66 2e 63 74 78 2c 20 63 65 72 74 66 69 6c | l_ctx_use_cert(self.ctx,.certfil |
77220 | 65 29 0a 20 20 20 20 20 20 20 20 69 66 20 6e 6f 74 20 6b 65 79 66 69 6c 65 3a 0a 20 20 20 20 20 | e).........if.not.keyfile:...... |
77240 | 20 20 20 20 20 20 20 6b 65 79 66 69 6c 65 20 3d 20 63 65 72 74 66 69 6c 65 0a 20 20 20 20 20 20 | .......keyfile.=.certfile....... |
77260 | 20 20 6d 32 2e 73 73 6c 5f 63 74 78 5f 75 73 65 5f 70 72 69 76 6b 65 79 28 73 65 6c 66 2e 63 74 | ..m2.ssl_ctx_use_privkey(self.ct |
77280 | 78 2c 20 6b 65 79 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 69 66 20 6e 6f 74 20 6d 32 2e 73 73 | x,.keyfile).........if.not.m2.ss |
772a0 | 6c 5f 63 74 78 5f 63 68 65 63 6b 5f 70 72 69 76 6b 65 79 28 73 65 6c 66 2e 63 74 78 29 3a 0a 20 | l_ctx_check_privkey(self.ctx):.. |
772c0 | 20 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 56 61 6c 75 65 45 72 72 6f 72 28 27 70 75 62 | ...........raise.ValueError('pub |
772e0 | 6c 69 63 2f 70 72 69 76 61 74 65 20 6b 65 79 20 6d 69 73 6d 61 74 63 68 27 29 0a 0a 20 20 20 20 | lic/private.key.mismatch')...... |
77300 | 64 65 66 20 6c 6f 61 64 5f 63 65 72 74 5f 63 68 61 69 6e 28 73 65 6c 66 2c 20 63 65 72 74 63 68 | def.load_cert_chain(self,.certch |
77320 | 61 69 6e 66 69 6c 65 2c 20 6b 65 79 66 69 6c 65 3d 4e 6f 6e 65 2c 0a 20 20 20 20 20 20 20 20 20 | ainfile,.keyfile=None,.......... |
77340 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 6c 6c 62 61 63 6b 3d 75 74 69 6c 2e 70 61 73 | ...............callback=util.pas |
77360 | 73 70 68 72 61 73 65 5f 63 61 6c 6c 62 61 63 6b 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 | sphrase_callback):.........#.typ |
77380 | 65 3a 20 28 41 6e 79 53 74 72 2c 20 4f 70 74 69 6f 6e 61 6c 5b 41 6e 79 53 74 72 5d 2c 20 43 61 | e:.(AnyStr,.Optional[AnyStr],.Ca |
773a0 | 6c 6c 61 62 6c 65 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 22 22 22 4c 6f 61 64 20 | llable).->.None........."""Load. |
773c0 | 63 65 72 74 69 66 69 63 61 74 65 20 63 68 61 69 6e 20 61 6e 64 20 70 72 69 76 61 74 65 20 6b 65 | certificate.chain.and.private.ke |
773e0 | 79 20 69 6e 74 6f 20 74 68 65 20 63 6f 6e 74 65 78 74 2e 0a 0a 20 20 20 20 20 20 20 20 3a 70 61 | y.into.the.context...........:pa |
77400 | 72 61 6d 20 63 65 72 74 63 68 61 69 6e 66 69 6c 65 3a 20 46 69 6c 65 20 6f 62 6a 65 63 74 20 63 | ram.certchainfile:.File.object.c |
77420 | 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 20 50 45 4d 2d 65 6e 63 6f 64 65 64 0a 20 20 20 20 20 20 | ontaining.the.PEM-encoded....... |
77440 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 65 72 74 69 66 69 63 | ........................certific |
77460 | 61 74 65 20 63 68 61 69 6e 2e 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 6b 65 79 66 69 6c | ate.chain..........:param.keyfil |
77480 | 65 3a 20 20 20 20 20 20 20 46 69 6c 65 20 6f 62 6a 65 63 74 20 63 6f 6e 74 61 69 6e 69 6e 67 20 | e:.......File.object.containing. |
774a0 | 74 68 65 20 50 45 4d 2d 65 6e 63 6f 64 65 64 20 70 72 69 76 61 74 65 0a 20 20 20 20 20 20 20 20 | the.PEM-encoded.private......... |
774c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6b 65 79 2e 20 44 65 66 61 75 | ......................key..Defau |
774e0 | 6c 74 20 76 61 6c 75 65 20 6f 66 20 4e 6f 6e 65 20 69 6e 64 69 63 61 74 65 73 20 74 68 61 74 20 | lt.value.of.None.indicates.that. |
77500 | 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | the............................. |
77520 | 20 20 70 72 69 76 61 74 65 20 6b 65 79 20 69 73 20 74 6f 20 62 65 20 66 6f 75 6e 64 20 69 6e 20 | ..private.key.is.to.be.found.in. |
77540 | 27 63 65 72 74 63 68 61 69 6e 66 69 6c 65 27 2e 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 | 'certchainfile'..........:param. |
77560 | 63 61 6c 6c 62 61 63 6b 3a 20 20 20 20 20 20 43 61 6c 6c 61 62 6c 65 20 6f 62 6a 65 63 74 20 74 | callback:......Callable.object.t |
77580 | 6f 20 62 65 20 69 6e 76 6f 6b 65 64 20 69 66 20 74 68 65 20 70 72 69 76 61 74 65 20 6b 65 79 0a | o.be.invoked.if.the.private.key. |
775a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 73 | ..............................is |
775c0 | 20 70 61 73 73 70 68 72 61 73 65 2d 70 72 6f 74 65 63 74 65 64 2e 20 44 65 66 61 75 6c 74 20 63 | .passphrase-protected..Default.c |
775e0 | 61 6c 6c 62 61 63 6b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | allback......................... |
77600 | 20 20 20 20 20 20 70 72 6f 76 69 64 65 73 20 61 20 73 69 6d 70 6c 65 20 74 65 72 6d 69 6e 61 6c | ......provides.a.simple.terminal |
77620 | 2d 73 74 79 6c 65 20 69 6e 70 75 74 20 66 6f 72 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 | -style.input.for.the............ |
77640 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 61 73 73 70 68 72 61 73 65 2e 0a 20 | ...................passphrase... |
77660 | 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 6d 32 2e 73 73 6c 5f 63 74 78 5f 70 61 | .......""".........m2.ssl_ctx_pa |
77680 | 73 73 70 68 72 61 73 65 5f 63 61 6c 6c 62 61 63 6b 28 73 65 6c 66 2e 63 74 78 2c 20 63 61 6c 6c | ssphrase_callback(self.ctx,.call |
776a0 | 62 61 63 6b 29 0a 20 20 20 20 20 20 20 20 6d 32 2e 73 73 6c 5f 63 74 78 5f 75 73 65 5f 63 65 72 | back).........m2.ssl_ctx_use_cer |
776c0 | 74 5f 63 68 61 69 6e 28 73 65 6c 66 2e 63 74 78 2c 20 63 65 72 74 63 68 61 69 6e 66 69 6c 65 29 | t_chain(self.ctx,.certchainfile) |
776e0 | 0a 20 20 20 20 20 20 20 20 69 66 20 6e 6f 74 20 6b 65 79 66 69 6c 65 3a 0a 20 20 20 20 20 20 20 | .........if.not.keyfile:........ |
77700 | 20 20 20 20 20 6b 65 79 66 69 6c 65 20 3d 20 63 65 72 74 63 68 61 69 6e 66 69 6c 65 0a 20 20 20 | .....keyfile.=.certchainfile.... |
77720 | 20 20 20 20 20 6d 32 2e 73 73 6c 5f 63 74 78 5f 75 73 65 5f 70 72 69 76 6b 65 79 28 73 65 6c 66 | .....m2.ssl_ctx_use_privkey(self |
77740 | 2e 63 74 78 2c 20 6b 65 79 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 69 66 20 6e 6f 74 20 6d 32 | .ctx,.keyfile).........if.not.m2 |
77760 | 2e 73 73 6c 5f 63 74 78 5f 63 68 65 63 6b 5f 70 72 69 76 6b 65 79 28 73 65 6c 66 2e 63 74 78 29 | .ssl_ctx_check_privkey(self.ctx) |
77780 | 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 56 61 6c 75 65 45 72 72 6f 72 28 27 | :.............raise.ValueError(' |
777a0 | 70 75 62 6c 69 63 2f 70 72 69 76 61 74 65 20 6b 65 79 20 6d 69 73 6d 61 74 63 68 27 29 0a 0a 20 | public/private.key.mismatch')... |
777c0 | 20 20 20 64 65 66 20 73 65 74 5f 63 6c 69 65 6e 74 5f 43 41 5f 6c 69 73 74 5f 66 72 6f 6d 5f 66 | ...def.set_client_CA_list_from_f |
777e0 | 69 6c 65 28 73 65 6c 66 2c 20 63 61 66 69 6c 65 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 | ile(self,.cafile):.........#.typ |
77800 | 65 3a 20 28 41 6e 79 53 74 72 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 22 22 22 4c | e:.(AnyStr).->.None........."""L |
77820 | 6f 61 64 20 43 41 20 63 65 72 74 73 20 69 6e 74 6f 20 74 68 65 20 63 6f 6e 74 65 78 74 2e 20 54 | oad.CA.certs.into.the.context..T |
77840 | 68 65 73 65 20 43 41 20 63 65 72 74 73 20 61 72 65 20 73 65 6e 74 20 74 6f 20 74 68 65 0a 20 20 | hese.CA.certs.are.sent.to.the... |
77860 | 20 20 20 20 20 20 70 65 65 72 20 64 75 72 69 6e 67 20 2a 53 53 4c 76 33 20 63 65 72 74 69 66 69 | ......peer.during.*SSLv3.certifi |
77880 | 63 61 74 65 20 72 65 71 75 65 73 74 2a 2e 0a 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 63 | cate.request*...........:param.c |
778a0 | 61 66 69 6c 65 3a 20 46 69 6c 65 20 6f 62 6a 65 63 74 20 63 6f 6e 74 61 69 6e 69 6e 67 20 6f 6e | afile:.File.object.containing.on |
778c0 | 65 20 6f 72 20 6d 6f 72 65 20 50 45 4d 2d 65 6e 63 6f 64 65 64 20 43 41 0a 20 20 20 20 20 20 20 | e.or.more.PEM-encoded.CA........ |
778e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 65 72 74 69 66 69 63 61 74 65 73 20 63 6f 6e | ................certificates.con |
77900 | 63 61 74 65 6e 61 74 65 64 20 74 6f 67 65 74 68 65 72 2e 0a 20 20 20 20 20 20 20 20 22 22 22 0a | catenated.together..........""". |
77920 | 20 20 20 20 20 20 20 20 6d 32 2e 73 73 6c 5f 63 74 78 5f 73 65 74 5f 63 6c 69 65 6e 74 5f 43 41 | ........m2.ssl_ctx_set_client_CA |
77940 | 5f 6c 69 73 74 5f 66 72 6f 6d 5f 66 69 6c 65 28 73 65 6c 66 2e 63 74 78 2c 20 63 61 66 69 6c 65 | _list_from_file(self.ctx,.cafile |
77960 | 29 0a 0a 20 20 20 20 23 20 44 65 70 72 65 63 61 74 65 64 2e 0a 20 20 20 20 6c 6f 61 64 5f 63 6c | )......#.Deprecated......load_cl |
77980 | 69 65 6e 74 5f 43 41 20 3d 20 6c 6f 61 64 5f 63 6c 69 65 6e 74 5f 63 61 20 3d 20 73 65 74 5f 63 | ient_CA.=.load_client_ca.=.set_c |
779a0 | 6c 69 65 6e 74 5f 43 41 5f 6c 69 73 74 5f 66 72 6f 6d 5f 66 69 6c 65 0a 0a 20 20 20 20 64 65 66 | lient_CA_list_from_file......def |
779c0 | 20 6c 6f 61 64 5f 76 65 72 69 66 79 5f 6c 6f 63 61 74 69 6f 6e 73 28 73 65 6c 66 2c 20 63 61 66 | .load_verify_locations(self,.caf |
779e0 | 69 6c 65 3d 4e 6f 6e 65 2c 20 63 61 70 61 74 68 3d 4e 6f 6e 65 29 3a 0a 20 20 20 20 20 20 20 20 | ile=None,.capath=None):......... |
77a00 | 23 20 74 79 70 65 3a 20 28 4f 70 74 69 6f 6e 61 6c 5b 41 6e 79 53 74 72 5d 2c 20 4f 70 74 69 6f | #.type:.(Optional[AnyStr],.Optio |
77a20 | 6e 61 6c 5b 41 6e 79 53 74 72 5d 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 22 22 22 4c | nal[AnyStr]).->.int........."""L |
77a40 | 6f 61 64 20 43 41 20 63 65 72 74 73 20 69 6e 74 6f 20 74 68 65 20 63 6f 6e 74 65 78 74 2e 0a 0a | oad.CA.certs.into.the.context... |
77a60 | 20 20 20 20 20 20 20 20 54 68 65 73 65 20 43 41 20 63 65 72 74 73 20 61 72 65 20 75 73 65 64 20 | ........These.CA.certs.are.used. |
77a80 | 64 75 72 69 6e 67 20 76 65 72 69 66 69 63 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 70 65 65 72 27 | during.verification.of.the.peer' |
77aa0 | 73 0a 20 20 20 20 20 20 20 20 63 65 72 74 69 66 69 63 61 74 65 2e 0a 0a 20 20 20 20 20 20 20 20 | s.........certificate........... |
77ac0 | 3a 70 61 72 61 6d 20 63 61 66 69 6c 65 3a 20 46 69 6c 65 20 63 6f 6e 74 61 69 6e 69 6e 67 20 6f | :param.cafile:.File.containing.o |
77ae0 | 6e 65 20 6f 72 20 6d 6f 72 65 20 50 45 4d 2d 65 6e 63 6f 64 65 64 20 43 41 0a 20 20 20 20 20 20 | ne.or.more.PEM-encoded.CA....... |
77b00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 65 72 74 69 66 69 63 61 74 65 73 20 63 6f | .................certificates.co |
77b20 | 6e 63 61 74 65 6e 61 74 65 64 20 74 6f 67 65 74 68 65 72 2e 0a 0a 20 20 20 20 20 20 20 20 3a 70 | ncatenated.together...........:p |
77b40 | 61 72 61 6d 20 63 61 70 61 74 68 3a 20 44 69 72 65 63 74 6f 72 79 20 63 6f 6e 74 61 69 6e 69 6e | aram.capath:.Directory.containin |
77b60 | 67 20 50 45 4d 2d 65 6e 63 6f 64 65 64 20 43 41 20 63 65 72 74 69 66 69 63 61 74 65 73 0a 20 20 | g.PEM-encoded.CA.certificates... |
77b80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 6e 65 20 63 65 72 74 69 66 | .....................(one.certif |
77ba0 | 69 63 61 74 65 20 70 65 72 20 66 69 6c 65 29 2e 0a 0a 20 20 20 20 20 20 20 20 3a 72 65 74 75 72 | icate.per.file)...........:retur |
77bc0 | 6e 3a 20 30 20 69 66 20 74 68 65 20 6f 70 65 72 61 74 69 6f 6e 20 66 61 69 6c 65 64 20 62 65 63 | n:.0.if.the.operation.failed.bec |
77be0 | 61 75 73 65 20 43 41 66 69 6c 65 20 61 6e 64 20 43 41 70 61 74 68 20 61 72 65 20 4e 55 4c 4c 0a | ause.CAfile.and.CApath.are.NULL. |
77c00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 72 20 74 68 65 20 70 72 6f 63 65 73 73 | ..................or.the.process |
77c20 | 69 6e 67 20 61 74 20 6f 6e 65 20 6f 66 20 74 68 65 20 6c 6f 63 61 74 69 6f 6e 73 20 73 70 65 63 | ing.at.one.of.the.locations.spec |
77c40 | 69 66 69 65 64 20 66 61 69 6c 65 64 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ified.failed.................... |
77c60 | 43 68 65 63 6b 20 74 68 65 20 65 72 72 6f 72 20 73 74 61 63 6b 20 74 6f 20 66 69 6e 64 20 6f 75 | Check.the.error.stack.to.find.ou |
77c80 | 74 20 74 68 65 20 72 65 61 73 6f 6e 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 31 | t.the.reason...................1 |
77ca0 | 20 54 68 65 20 6f 70 65 72 61 74 69 6f 6e 20 73 75 63 63 65 65 64 65 64 2e 0a 20 20 20 20 20 20 | .The.operation.succeeded........ |
77cc0 | 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 69 66 20 63 61 66 69 6c 65 20 69 73 20 4e 6f 6e 65 20 | ..""".........if.cafile.is.None. |
77ce0 | 61 6e 64 20 63 61 70 61 74 68 20 69 73 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 | and.capath.is.None:............. |
77d00 | 72 61 69 73 65 20 56 61 6c 75 65 45 72 72 6f 72 28 22 63 61 66 69 6c 65 20 61 6e 64 20 63 61 70 | raise.ValueError("cafile.and.cap |
77d20 | 61 74 68 20 63 61 6e 20 6e 6f 74 20 62 6f 74 68 20 62 65 20 4e 6f 6e 65 2e 22 29 0a 20 20 20 20 | ath.can.not.both.be.None.")..... |
77d40 | 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 73 73 6c 5f 63 74 78 5f 6c 6f 61 64 5f 76 65 72 69 66 | ....return.m2.ssl_ctx_load_verif |
77d60 | 79 5f 6c 6f 63 61 74 69 6f 6e 73 28 73 65 6c 66 2e 63 74 78 2c 20 63 61 66 69 6c 65 2c 20 63 61 | y_locations(self.ctx,.cafile,.ca |
77d80 | 70 61 74 68 29 0a 0a 20 20 20 20 23 20 44 65 70 72 65 63 61 74 65 64 2e 0a 20 20 20 20 6c 6f 61 | path)......#.Deprecated......loa |
77da0 | 64 5f 76 65 72 69 66 79 5f 69 6e 66 6f 20 3d 20 6c 6f 61 64 5f 76 65 72 69 66 79 5f 6c 6f 63 61 | d_verify_info.=.load_verify_loca |
77dc0 | 74 69 6f 6e 73 0a 0a 20 20 20 20 64 65 66 20 73 65 74 5f 73 65 73 73 69 6f 6e 5f 69 64 5f 63 74 | tions......def.set_session_id_ct |
77de0 | 78 28 73 65 6c 66 2c 20 69 64 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 62 79 | x(self,.id):.........#.type:.(by |
77e00 | 74 65 73 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 22 22 22 53 65 74 73 20 74 68 65 | tes).->.None........."""Sets.the |
77e20 | 20 73 65 73 73 69 6f 6e 20 69 64 20 66 6f 72 20 74 68 65 20 53 53 4c 2e 43 6f 6e 74 65 78 74 20 | .session.id.for.the.SSL.Context. |
77e40 | 77 2f 69 6e 20 61 20 73 65 73 73 69 6f 6e 20 63 61 6e 20 62 65 20 72 65 75 73 65 64 2e 0a 0a 20 | w/in.a.session.can.be.reused.... |
77e60 | 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 69 64 3a 20 53 65 73 73 69 6f 6e 73 20 61 72 65 20 67 | .......:param.id:.Sessions.are.g |
77e80 | 65 6e 65 72 61 74 65 64 20 77 69 74 68 69 6e 20 61 20 63 65 72 74 61 69 6e 20 63 6f 6e 74 65 78 | enerated.within.a.certain.contex |
77ea0 | 74 2e 20 57 68 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 78 70 6f 72 | t..When....................expor |
77ec0 | 74 69 6e 67 2f 69 6d 70 6f 72 74 69 6e 67 20 73 65 73 73 69 6f 6e 73 20 77 69 74 68 0a 20 20 20 | ting/importing.sessions.with.... |
77ee0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 32 64 5f 53 53 4c 5f 53 45 53 53 49 4f 4e 2f | ................i2d_SSL_SESSION/ |
77f00 | 64 32 69 5f 53 53 4c 5f 53 45 53 53 49 4f 4e 20 69 74 20 77 6f 75 6c 64 20 62 65 20 70 6f 73 73 | d2i_SSL_SESSION.it.would.be.poss |
77f20 | 69 62 6c 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 6f 20 72 65 2d 69 | ible,....................to.re-i |
77f40 | 6d 70 6f 72 74 20 61 20 73 65 73 73 69 6f 6e 20 67 65 6e 65 72 61 74 65 64 20 66 72 6f 6d 20 61 | mport.a.session.generated.from.a |
77f60 | 6e 6f 74 68 65 72 20 63 6f 6e 74 65 78 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | nother.context.................. |
77f80 | 20 20 28 65 2e 67 2e 20 61 6e 6f 74 68 65 72 20 61 70 70 6c 69 63 61 74 69 6f 6e 29 2c 20 77 68 | ..(e.g..another.application),.wh |
77fa0 | 69 63 68 20 6d 69 67 68 74 20 6c 65 61 64 20 74 6f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ich.might.lead.to............... |
77fc0 | 20 20 20 20 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 73 2e 20 54 68 65 72 65 66 6f 72 65 20 65 61 63 | .....malfunctions..Therefore.eac |
77fe0 | 68 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 6d 75 73 74 20 73 65 74 20 69 74 73 0a 20 20 20 20 20 | h.application.must.set.its...... |
78000 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 77 6e 20 73 65 73 73 69 6f 6e 20 69 64 20 63 6f 6e | ..............own.session.id.con |
78020 | 74 65 78 74 20 73 69 64 5f 63 74 78 20 77 68 69 63 68 20 69 73 20 75 73 65 64 20 74 6f 0a 20 20 | text.sid_ctx.which.is.used.to... |
78040 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 69 73 74 69 6e 67 75 69 73 68 20 74 68 65 | .................distinguish.the |
78060 | 20 63 6f 6e 74 65 78 74 73 20 61 6e 64 20 69 73 20 73 74 6f 72 65 64 20 69 6e 20 65 78 70 6f 72 | .contexts.and.is.stored.in.expor |
78080 | 74 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 73 73 69 6f 6e 73 2e | ted....................sessions. |
780a0 | 20 54 68 65 20 73 69 64 5f 63 74 78 20 63 61 6e 20 62 65 20 61 6e 79 20 6b 69 6e 64 20 6f 66 20 | .The.sid_ctx.can.be.any.kind.of. |
780c0 | 62 69 6e 61 72 79 20 64 61 74 61 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 | binary.data....................w |
780e0 | 69 74 68 20 61 20 67 69 76 65 6e 20 6c 65 6e 67 74 68 2c 20 69 74 20 69 73 20 74 68 65 72 65 66 | ith.a.given.length,.it.is.theref |
78100 | 6f 72 65 20 70 6f 73 73 69 62 6c 65 20 74 6f 20 75 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ore.possible.to.use............. |
78120 | 20 20 20 20 20 20 20 65 2e 67 2e 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 61 70 70 6c | .......e.g..the.name.of.the.appl |
78140 | 69 63 61 74 69 6f 6e 20 61 6e 64 2f 6f 72 20 74 68 65 20 68 6f 73 74 6e 61 6d 65 0a 20 20 20 20 | ication.and/or.the.hostname..... |
78160 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 6e 64 2f 6f 72 20 73 65 72 76 69 63 65 20 6e 61 | ...............and/or.service.na |
78180 | 6d 65 2e 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 72 65 74 20 3d 20 6d 32 | me..........""".........ret.=.m2 |
781a0 | 2e 73 73 6c 5f 63 74 78 5f 73 65 74 5f 73 65 73 73 69 6f 6e 5f 69 64 5f 63 6f 6e 74 65 78 74 28 | .ssl_ctx_set_session_id_context( |
781c0 | 73 65 6c 66 2e 63 74 78 2c 20 69 64 29 0a 20 20 20 20 20 20 20 20 69 66 20 6e 6f 74 20 72 65 74 | self.ctx,.id).........if.not.ret |
781e0 | 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 45 72 72 2e 53 53 4c 45 72 72 6f 72 | :.............raise.Err.SSLError |
78200 | 28 45 72 72 2e 67 65 74 5f 65 72 72 6f 72 5f 63 6f 64 65 28 29 2c 20 27 27 29 0a 0a 20 20 20 20 | (Err.get_error_code(),.'')...... |
78220 | 64 65 66 20 73 65 74 5f 64 65 66 61 75 6c 74 5f 76 65 72 69 66 79 5f 70 61 74 68 73 28 73 65 6c | def.set_default_verify_paths(sel |
78240 | 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 69 6e 74 0a 20 20 | f):.........#.type:.().->.int... |
78260 | 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 53 70 65 63 69 66 69 65 73 20 74 68 61 74 | ......""".........Specifies.that |
78280 | 20 74 68 65 20 64 65 66 61 75 6c 74 20 6c 6f 63 61 74 69 6f 6e 73 20 66 72 6f 6d 20 77 68 69 63 | .the.default.locations.from.whic |
782a0 | 68 20 43 41 20 63 65 72 74 73 20 61 72 65 0a 20 20 20 20 20 20 20 20 6c 6f 61 64 65 64 20 73 68 | h.CA.certs.are.........loaded.sh |
782c0 | 6f 75 6c 64 20 62 65 20 75 73 65 64 2e 0a 0a 20 20 20 20 20 20 20 20 54 68 65 72 65 20 69 73 20 | ould.be.used...........There.is. |
782e0 | 6f 6e 65 20 64 65 66 61 75 6c 74 20 64 69 72 65 63 74 6f 72 79 20 61 6e 64 20 6f 6e 65 20 64 65 | one.default.directory.and.one.de |
78300 | 66 61 75 6c 74 20 66 69 6c 65 2e 20 54 68 65 20 64 65 66 61 75 6c 74 0a 20 20 20 20 20 20 20 20 | fault.file..The.default......... |
78320 | 43 41 20 63 65 72 74 69 66 69 63 61 74 65 73 20 64 69 72 65 63 74 6f 72 79 20 69 73 20 63 61 6c | CA.certificates.directory.is.cal |
78340 | 6c 65 64 20 22 63 65 72 74 73 22 20 69 6e 20 74 68 65 20 64 65 66 61 75 6c 74 0a 20 20 20 20 20 | led."certs".in.the.default...... |
78360 | 20 20 20 4f 70 65 6e 53 53 4c 20 64 69 72 65 63 74 6f 72 79 2e 20 41 6c 74 65 72 6e 61 74 69 76 | ...OpenSSL.directory..Alternativ |
78380 | 65 6c 79 20 74 68 65 20 53 53 4c 5f 43 45 52 54 5f 44 49 52 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 | ely.the.SSL_CERT_DIR.environment |
783a0 | 0a 20 20 20 20 20 20 20 20 76 61 72 69 61 62 6c 65 20 63 61 6e 20 62 65 20 64 65 66 69 6e 65 64 | .........variable.can.be.defined |
783c0 | 20 74 6f 20 6f 76 65 72 72 69 64 65 20 74 68 69 73 20 6c 6f 63 61 74 69 6f 6e 2e 20 54 68 65 20 | .to.override.this.location..The. |
783e0 | 64 65 66 61 75 6c 74 0a 20 20 20 20 20 20 20 20 43 41 20 63 65 72 74 69 66 69 63 61 74 65 73 20 | default.........CA.certificates. |
78400 | 66 69 6c 65 20 69 73 20 63 61 6c 6c 65 64 20 22 63 65 72 74 2e 70 65 6d 22 20 69 6e 20 74 68 65 | file.is.called."cert.pem".in.the |
78420 | 20 64 65 66 61 75 6c 74 20 4f 70 65 6e 53 53 4c 0a 20 20 20 20 20 20 20 20 64 69 72 65 63 74 6f | .default.OpenSSL.........directo |
78440 | 72 79 2e 20 41 6c 74 65 72 6e 61 74 69 76 65 6c 79 20 74 68 65 20 53 53 4c 5f 43 45 52 54 5f 46 | ry..Alternatively.the.SSL_CERT_F |
78460 | 49 4c 45 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 0a 20 20 20 20 20 20 20 | ILE.environment.variable........ |
78480 | 20 63 61 6e 20 62 65 20 64 65 66 69 6e 65 64 20 74 6f 20 6f 76 65 72 72 69 64 65 20 74 68 69 73 | .can.be.defined.to.override.this |
784a0 | 20 6c 6f 63 61 74 69 6f 6e 2e 0a 0a 20 20 20 20 20 20 20 20 40 72 65 74 75 72 6e 20 30 20 69 66 | .location...........@return.0.if |
784c0 | 20 74 68 65 20 6f 70 65 72 61 74 69 6f 6e 20 66 61 69 6c 65 64 2e 20 41 20 6d 69 73 73 69 6e 67 | .the.operation.failed..A.missing |
784e0 | 20 64 65 66 61 75 6c 74 20 6c 6f 63 61 74 69 6f 6e 20 69 73 0a 20 20 20 20 20 20 20 20 20 20 20 | .default.location.is............ |
78500 | 20 20 20 20 20 20 20 73 74 69 6c 6c 20 74 72 65 61 74 65 64 20 61 73 20 61 20 73 75 63 63 65 73 | .......still.treated.as.a.succes |
78520 | 73 2e 20 4e 6f 20 65 72 72 6f 72 20 63 6f 64 65 20 69 73 20 73 65 74 2e 0a 0a 20 20 20 20 20 20 | s..No.error.code.is.set......... |
78540 | 20 20 20 20 20 20 20 20 20 20 31 20 54 68 65 20 6f 70 65 72 61 74 69 6f 6e 20 73 75 63 63 65 65 | ..........1.The.operation.succee |
78560 | 64 65 64 2e 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 72 65 74 20 3d 20 6d | ded..........""".........ret.=.m |
78580 | 32 2e 73 73 6c 5f 63 74 78 5f 73 65 74 5f 64 65 66 61 75 6c 74 5f 76 65 72 69 66 79 5f 70 61 74 | 2.ssl_ctx_set_default_verify_pat |
785a0 | 68 73 28 73 65 6c 66 2e 63 74 78 29 0a 20 20 20 20 20 20 20 20 69 66 20 6e 6f 74 20 72 65 74 3a | hs(self.ctx).........if.not.ret: |
785c0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 56 61 6c 75 65 45 72 72 6f 72 28 27 43 | .............raise.ValueError('C |
785e0 | 61 6e 6e 6f 74 20 75 73 65 20 64 65 66 61 75 6c 74 20 53 53 4c 20 63 65 72 74 69 66 69 63 61 74 | annot.use.default.SSL.certificat |
78600 | 65 20 73 74 6f 72 65 21 27 29 0a 0a 20 20 20 20 64 65 66 20 73 65 74 5f 61 6c 6c 6f 77 5f 75 6e | e.store!')......def.set_allow_un |
78620 | 6b 6e 6f 77 6e 5f 63 61 28 73 65 6c 66 2c 20 6f 6b 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 | known_ca(self,.ok):.........#.ty |
78640 | 70 65 3a 20 28 55 6e 69 6f 6e 5b 69 6e 74 2c 20 62 6f 6f 6c 5d 29 20 2d 3e 20 4e 6f 6e 65 0a 20 | pe:.(Union[int,.bool]).->.None.. |
78660 | 20 20 20 20 20 20 20 22 22 22 53 65 74 20 74 68 65 20 63 6f 6e 74 65 78 74 20 74 6f 20 61 63 63 | ......."""Set.the.context.to.acc |
78680 | 65 70 74 2f 72 65 6a 65 63 74 20 61 20 70 65 65 72 20 63 65 72 74 69 66 69 63 61 74 65 20 69 66 | ept/reject.a.peer.certificate.if |
786a0 | 20 74 68 65 0a 20 20 20 20 20 20 20 20 63 65 72 74 69 66 69 63 61 74 65 27 73 20 43 41 20 69 73 | .the.........certificate's.CA.is |
786c0 | 20 75 6e 6b 6e 6f 77 6e 2e 0a 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 6f 6b 3a 20 20 20 | .unknown...........:param.ok:... |
786e0 | 20 20 20 20 54 72 75 65 20 74 6f 20 61 63 63 65 70 74 2c 20 46 61 6c 73 65 20 74 6f 20 72 65 6a | ....True.to.accept,.False.to.rej |
78700 | 65 63 74 2e 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 6c | ect..........""".........self.al |
78720 | 6c 6f 77 5f 75 6e 6b 6e 6f 77 6e 5f 63 61 20 3d 20 6f 6b 0a 0a 20 20 20 20 64 65 66 20 67 65 74 | low_unknown_ca.=.ok......def.get |
78740 | 5f 61 6c 6c 6f 77 5f 75 6e 6b 6e 6f 77 6e 5f 63 61 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 | _allow_unknown_ca(self):........ |
78760 | 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 55 6e 69 6f 6e 5b 69 6e 74 2c 20 62 6f 6f 6c 5d 0a | .#.type:.().->.Union[int,.bool]. |
78780 | 20 20 20 20 20 20 20 20 22 22 22 47 65 74 20 74 68 65 20 63 6f 6e 74 65 78 74 27 73 20 73 65 74 | ........"""Get.the.context's.set |
787a0 | 74 69 6e 67 20 74 68 61 74 20 61 63 63 65 70 74 73 2f 72 65 6a 65 63 74 73 20 61 20 70 65 65 72 | ting.that.accepts/rejects.a.peer |
787c0 | 0a 20 20 20 20 20 20 20 20 63 65 72 74 69 66 69 63 61 74 65 20 69 66 20 74 68 65 20 63 65 72 74 | .........certificate.if.the.cert |
787e0 | 69 66 69 63 61 74 65 27 73 20 43 41 20 69 73 20 75 6e 6b 6e 6f 77 6e 2e 0a 0a 20 20 20 20 20 20 | ificate's.CA.is.unknown......... |
78800 | 20 20 46 49 58 4d 45 20 32 42 63 6f 6e 76 65 72 74 65 64 20 74 6f 20 62 6f 6f 6c 0a 20 20 20 20 | ..FIXME.2Bconverted.to.bool..... |
78820 | 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 2e 61 6c 6c 6f | ....""".........return.self.allo |
78840 | 77 5f 75 6e 6b 6e 6f 77 6e 5f 63 61 0a 0a 20 20 20 20 64 65 66 20 73 65 74 5f 76 65 72 69 66 79 | w_unknown_ca......def.set_verify |
78860 | 28 73 65 6c 66 2c 20 6d 6f 64 65 2c 20 64 65 70 74 68 2c 20 63 61 6c 6c 62 61 63 6b 3d 4e 6f 6e | (self,.mode,.depth,.callback=Non |
78880 | 65 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 69 6e 74 2c 20 69 6e 74 2c 20 4f | e):.........#.type:.(int,.int,.O |
788a0 | 70 74 69 6f 6e 61 6c 5b 43 61 6c 6c 61 62 6c 65 5d 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 | ptional[Callable]).->.None...... |
788c0 | 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 53 65 74 20 76 65 72 69 66 79 20 6f 70 74 69 6f 6e | ...""".........Set.verify.option |
788e0 | 73 2e 20 4d 6f 73 74 20 61 70 70 6c 69 63 61 74 69 6f 6e 73 20 77 69 6c 6c 20 6e 65 65 64 20 74 | s..Most.applications.will.need.t |
78900 | 6f 20 63 61 6c 6c 20 74 68 69 73 0a 20 20 20 20 20 20 20 20 6d 65 74 68 6f 64 20 77 69 74 68 20 | o.call.this.........method.with. |
78920 | 74 68 65 20 72 69 67 68 74 20 6f 70 74 69 6f 6e 73 20 74 6f 20 6d 61 6b 65 20 61 20 73 65 63 75 | the.right.options.to.make.a.secu |
78940 | 72 65 20 53 53 4c 20 63 6f 6e 6e 65 63 74 69 6f 6e 2e 0a 0a 20 20 20 20 20 20 20 20 3a 70 61 72 | re.SSL.connection...........:par |
78960 | 61 6d 20 6d 6f 64 65 3a 20 20 20 20 20 54 68 65 20 76 65 72 69 66 69 63 61 74 69 6f 6e 20 6d 6f | am.mode:.....The.verification.mo |
78980 | 64 65 20 74 6f 20 75 73 65 2e 20 54 79 70 69 63 61 6c 6c 79 20 61 74 20 6c 65 61 73 74 0a 20 20 | de.to.use..Typically.at.least... |
789a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 53 4c 2e 76 65 72 69 66 | .......................SSL.verif |
789c0 | 79 5f 70 65 65 72 20 69 73 20 75 73 65 64 2e 20 43 6c 69 65 6e 74 73 20 77 6f 75 6c 64 20 61 6c | y_peer.is.used..Clients.would.al |
789e0 | 73 6f 20 74 79 70 69 63 61 6c 6c 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | so.typically.................... |
78a00 | 20 20 20 20 20 20 61 64 64 20 53 53 4c 2e 76 65 72 69 66 79 5f 66 61 69 6c 5f 69 66 5f 6e 6f 5f | ......add.SSL.verify_fail_if_no_ |
78a20 | 70 65 65 72 5f 63 65 72 74 2e 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 64 65 70 74 68 3a | peer_cert..........:param.depth: |
78a40 | 20 20 20 20 54 68 65 20 6d 61 78 69 6d 75 6d 20 61 6c 6c 6f 77 65 64 20 64 65 70 74 68 20 6f 66 | ....The.maximum.allowed.depth.of |
78a60 | 20 74 68 65 20 63 65 72 74 69 66 69 63 61 74 65 20 63 68 61 69 6e 0a 20 20 20 20 20 20 20 20 20 | .the.certificate.chain.......... |
78a80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 65 64 20 62 79 20 74 68 65 20 | ................returned.by.the. |
78aa0 | 70 65 65 72 2e 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 63 61 6c 6c 62 61 63 6b 3a 20 43 | peer..........:param.callback:.C |
78ac0 | 61 6c 6c 61 62 6c 65 20 74 68 61 74 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 73 70 65 63 | allable.that.can.be.used.to.spec |
78ae0 | 69 66 79 20 63 75 73 74 6f 6d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ify.custom...................... |
78b00 | 20 20 20 20 76 65 72 69 66 69 63 61 74 69 6f 6e 20 63 68 65 63 6b 73 2e 0a 20 20 20 20 20 20 20 | ....verification.checks......... |
78b20 | 20 22 22 22 0a 20 20 20 20 20 20 20 20 69 66 20 63 61 6c 6c 62 61 63 6b 20 69 73 20 4e 6f 6e 65 | .""".........if.callback.is.None |
78b40 | 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 6d 32 2e 73 73 6c 5f 63 74 78 5f 73 65 74 5f 76 65 72 | :.............m2.ssl_ctx_set_ver |
78b60 | 69 66 79 5f 64 65 66 61 75 6c 74 28 73 65 6c 66 2e 63 74 78 2c 20 6d 6f 64 65 29 0a 20 20 20 20 | ify_default(self.ctx,.mode)..... |
78b80 | 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 6d 32 2e 73 73 6c 5f 63 74 78 | ....else:.............m2.ssl_ctx |
78ba0 | 5f 73 65 74 5f 76 65 72 69 66 79 28 73 65 6c 66 2e 63 74 78 2c 20 6d 6f 64 65 2c 20 63 61 6c 6c | _set_verify(self.ctx,.mode,.call |
78bc0 | 62 61 63 6b 29 0a 20 20 20 20 20 20 20 20 6d 32 2e 73 73 6c 5f 63 74 78 5f 73 65 74 5f 76 65 72 | back).........m2.ssl_ctx_set_ver |
78be0 | 69 66 79 5f 64 65 70 74 68 28 73 65 6c 66 2e 63 74 78 2c 20 64 65 70 74 68 29 0a 0a 20 20 20 20 | ify_depth(self.ctx,.depth)...... |
78c00 | 64 65 66 20 67 65 74 5f 76 65 72 69 66 79 5f 6d 6f 64 65 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 | def.get_verify_mode(self):...... |
78c20 | 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 72 65 74 | ...#.type:.().->.int.........ret |
78c40 | 75 72 6e 20 6d 32 2e 73 73 6c 5f 63 74 78 5f 67 65 74 5f 76 65 72 69 66 79 5f 6d 6f 64 65 28 73 | urn.m2.ssl_ctx_get_verify_mode(s |
78c60 | 65 6c 66 2e 63 74 78 29 0a 0a 20 20 20 20 64 65 66 20 67 65 74 5f 76 65 72 69 66 79 5f 64 65 70 | elf.ctx)......def.get_verify_dep |
78c80 | 74 68 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 | th(self):.........#.type:.().->. |
78ca0 | 69 6e 74 0a 20 20 20 20 20 20 20 20 22 22 22 52 65 74 75 72 6e 73 20 74 68 65 20 76 65 72 69 66 | int........."""Returns.the.verif |
78cc0 | 69 63 61 74 69 6f 6e 20 6d 6f 64 65 20 63 75 72 72 65 6e 74 6c 79 20 73 65 74 20 69 6e 20 74 68 | ication.mode.currently.set.in.th |
78ce0 | 65 20 53 53 4c 20 43 6f 6e 74 65 78 74 2e 22 22 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e | e.SSL.Context.""".........return |
78d00 | 20 6d 32 2e 73 73 6c 5f 63 74 78 5f 67 65 74 5f 76 65 72 69 66 79 5f 64 65 70 74 68 28 73 65 6c | .m2.ssl_ctx_get_verify_depth(sel |
78d20 | 66 2e 63 74 78 29 0a 0a 20 20 20 20 64 65 66 20 73 65 74 5f 74 6d 70 5f 64 68 28 73 65 6c 66 2c | f.ctx)......def.set_tmp_dh(self, |
78d40 | 20 64 68 70 66 69 6c 65 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 41 6e 79 53 | .dhpfile):.........#.type:.(AnyS |
78d60 | 74 72 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 22 22 22 4c 6f 61 64 20 65 70 68 65 6d | tr).->.int........."""Load.ephem |
78d80 | 65 72 61 6c 20 44 48 20 70 61 72 61 6d 65 74 65 72 73 20 69 6e 74 6f 20 74 68 65 20 63 6f 6e 74 | eral.DH.parameters.into.the.cont |
78da0 | 65 78 74 2e 0a 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 64 68 70 66 69 6c 65 3a 20 46 69 | ext...........:param.dhpfile:.Fi |
78dc0 | 6c 65 6e 61 6d 65 20 6f 66 20 74 68 65 20 66 69 6c 65 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 | lename.of.the.file.containing.th |
78de0 | 65 20 50 45 4d 2d 65 6e 63 6f 64 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | e.PEM-encoded................... |
78e00 | 20 20 20 20 20 20 44 48 20 70 61 72 61 6d 65 74 65 72 73 2e 0a 20 20 20 20 20 20 20 20 22 22 22 | ......DH.parameters..........""" |
78e20 | 0a 20 20 20 20 20 20 20 20 66 20 3d 20 42 49 4f 2e 6f 70 65 6e 66 69 6c 65 28 64 68 70 66 69 6c | .........f.=.BIO.openfile(dhpfil |
78e40 | 65 29 0a 20 20 20 20 20 20 20 20 64 68 70 20 3d 20 6d 32 2e 64 68 5f 72 65 61 64 5f 70 61 72 61 | e).........dhp.=.m2.dh_read_para |
78e60 | 6d 65 74 65 72 73 28 66 2e 62 69 6f 5f 70 74 72 28 29 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 | meters(f.bio_ptr()).........retu |
78e80 | 72 6e 20 6d 32 2e 73 73 6c 5f 63 74 78 5f 73 65 74 5f 74 6d 70 5f 64 68 28 73 65 6c 66 2e 63 74 | rn.m2.ssl_ctx_set_tmp_dh(self.ct |
78ea0 | 78 2c 20 64 68 70 29 0a 0a 20 20 20 20 64 65 66 20 73 65 74 5f 74 6d 70 5f 64 68 5f 63 61 6c 6c | x,.dhp)......def.set_tmp_dh_call |
78ec0 | 62 61 63 6b 28 73 65 6c 66 2c 20 63 61 6c 6c 62 61 63 6b 3d 4e 6f 6e 65 29 3a 0a 20 20 20 20 20 | back(self,.callback=None):...... |
78ee0 | 20 20 20 23 20 74 79 70 65 3a 20 28 4f 70 74 69 6f 6e 61 6c 5b 43 61 6c 6c 61 62 6c 65 5d 29 20 | ...#.type:.(Optional[Callable]). |
78f00 | 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 22 22 22 53 65 74 73 20 74 68 65 20 63 61 6c 6c | ->.None........."""Sets.the.call |
78f20 | 62 61 63 6b 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 20 53 53 4c 2e 43 6f 6e 74 65 78 74 2e 0a 0a | back.function.for.SSL.Context... |
78f40 | 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 63 61 6c 6c 62 61 63 6b 3a 20 43 61 6c 6c 61 62 6c | ........:param.callback:.Callabl |
78f60 | 65 20 74 6f 20 62 65 20 75 73 65 64 20 77 68 65 6e 20 61 20 44 48 20 70 61 72 61 6d 65 74 65 72 | e.to.be.used.when.a.DH.parameter |
78f80 | 73 20 61 72 65 20 72 65 71 75 69 72 65 64 2e 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 | s.are.required.........."""..... |
78fa0 | 20 20 20 20 69 66 20 63 61 6c 6c 62 61 63 6b 20 69 73 20 6e 6f 74 20 4e 6f 6e 65 3a 0a 20 20 20 | ....if.callback.is.not.None:.... |
78fc0 | 20 20 20 20 20 20 20 20 20 6d 32 2e 73 73 6c 5f 63 74 78 5f 73 65 74 5f 74 6d 70 5f 64 68 5f 63 | .........m2.ssl_ctx_set_tmp_dh_c |
78fe0 | 61 6c 6c 62 61 63 6b 28 73 65 6c 66 2e 63 74 78 2c 20 63 61 6c 6c 62 61 63 6b 29 0a 0a 20 20 20 | allback(self.ctx,.callback)..... |
79000 | 20 64 65 66 20 73 65 74 5f 74 6d 70 5f 72 73 61 28 73 65 6c 66 2c 20 72 73 61 29 3a 0a 20 20 20 | .def.set_tmp_rsa(self,.rsa):.... |
79020 | 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 52 53 41 2e 52 53 41 29 20 2d 3e 20 69 6e 74 0a 20 20 | .....#.type:.(RSA.RSA).->.int... |
79040 | 20 20 20 20 20 20 22 22 22 4c 6f 61 64 20 65 70 68 65 6d 65 72 61 6c 20 52 53 41 20 6b 65 79 20 | ......"""Load.ephemeral.RSA.key. |
79060 | 69 6e 74 6f 20 74 68 65 20 63 6f 6e 74 65 78 74 2e 0a 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 | into.the.context...........:para |
79080 | 6d 20 72 73 61 3a 20 52 53 41 2e 52 53 41 20 69 6e 73 74 61 6e 63 65 2e 0a 20 20 20 20 20 20 20 | m.rsa:.RSA.RSA.instance......... |
790a0 | 20 22 22 22 0a 20 20 20 20 20 20 20 20 69 66 20 69 73 69 6e 73 74 61 6e 63 65 28 72 73 61 2c 20 | .""".........if.isinstance(rsa,. |
790c0 | 52 53 41 2e 52 53 41 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e | RSA.RSA):.............return.m2. |
790e0 | 73 73 6c 5f 63 74 78 5f 73 65 74 5f 74 6d 70 5f 72 73 61 28 73 65 6c 66 2e 63 74 78 2c 20 72 73 | ssl_ctx_set_tmp_rsa(self.ctx,.rs |
79100 | 61 2e 72 73 61 29 0a 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 | a.rsa).........else:............ |
79120 | 20 72 61 69 73 65 20 54 79 70 65 45 72 72 6f 72 28 22 45 78 70 65 63 74 65 64 20 61 6e 20 69 6e | .raise.TypeError("Expected.an.in |
79140 | 73 74 61 6e 63 65 20 6f 66 20 52 53 41 2e 52 53 41 2c 20 67 6f 74 20 25 73 2e 22 20 25 20 72 73 | stance.of.RSA.RSA,.got.%s.".%.rs |
79160 | 61 29 0a 0a 20 20 20 20 64 65 66 20 73 65 74 5f 74 6d 70 5f 72 73 61 5f 63 61 6c 6c 62 61 63 6b | a)......def.set_tmp_rsa_callback |
79180 | 28 73 65 6c 66 2c 20 63 61 6c 6c 62 61 63 6b 3d 4e 6f 6e 65 29 3a 0a 20 20 20 20 20 20 20 20 23 | (self,.callback=None):.........# |
791a0 | 20 74 79 70 65 3a 20 28 4f 70 74 69 6f 6e 61 6c 5b 43 61 6c 6c 61 62 6c 65 5d 29 20 2d 3e 20 4e | .type:.(Optional[Callable]).->.N |
791c0 | 6f 6e 65 0a 20 20 20 20 20 20 20 20 22 22 22 53 65 74 73 20 74 68 65 20 63 61 6c 6c 62 61 63 6b | one........."""Sets.the.callback |
791e0 | 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 62 65 20 75 73 65 64 20 77 68 65 6e 0a 20 20 20 20 20 20 | .function.to.be.used.when....... |
79200 | 20 20 61 20 74 65 6d 70 6f 72 61 72 79 2f 65 70 68 65 6d 65 72 61 6c 20 52 53 41 20 6b 65 79 20 | ..a.temporary/ephemeral.RSA.key. |
79220 | 69 73 20 72 65 71 75 69 72 65 64 2e 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 | is.required.........."""........ |
79240 | 20 69 66 20 63 61 6c 6c 62 61 63 6b 20 69 73 20 6e 6f 74 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 | .if.callback.is.not.None:....... |
79260 | 20 20 20 20 20 20 6d 32 2e 73 73 6c 5f 63 74 78 5f 73 65 74 5f 74 6d 70 5f 72 73 61 5f 63 61 6c | ......m2.ssl_ctx_set_tmp_rsa_cal |
79280 | 6c 62 61 63 6b 28 73 65 6c 66 2e 63 74 78 2c 20 63 61 6c 6c 62 61 63 6b 29 0a 0a 20 20 20 20 64 | lback(self.ctx,.callback)......d |
792a0 | 65 66 20 73 65 74 5f 69 6e 66 6f 5f 63 61 6c 6c 62 61 63 6b 28 73 65 6c 66 2c 20 63 61 6c 6c 62 | ef.set_info_callback(self,.callb |
792c0 | 61 63 6b 3d 63 62 2e 73 73 6c 5f 69 6e 66 6f 5f 63 61 6c 6c 62 61 63 6b 29 3a 0a 20 20 20 20 20 | ack=cb.ssl_info_callback):...... |
792e0 | 20 20 20 23 20 74 79 70 65 3a 20 28 43 61 6c 6c 61 62 6c 65 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 | ...#.type:.(Callable).->.None... |
79300 | 20 20 20 20 20 20 22 22 22 53 65 74 20 61 20 63 61 6c 6c 62 61 63 6b 20 66 75 6e 63 74 69 6f 6e | ......"""Set.a.callback.function |
79320 | 20 74 6f 20 67 65 74 20 73 74 61 74 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e 0a 0a 20 20 20 20 | .to.get.state.information....... |
79340 | 20 20 20 20 49 74 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 67 65 74 20 73 74 61 74 65 20 | ....It.can.be.used.to.get.state. |
79360 | 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 74 68 65 20 53 53 4c 0a 20 20 20 20 20 20 | information.about.the.SSL....... |
79380 | 20 20 63 6f 6e 6e 65 63 74 69 6f 6e 73 20 74 68 61 74 20 61 72 65 20 63 72 65 61 74 65 64 20 66 | ..connections.that.are.created.f |
793a0 | 72 6f 6d 20 74 68 69 73 20 63 6f 6e 74 65 78 74 2e 0a 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 | rom.this.context...........:para |
793c0 | 6d 20 63 61 6c 6c 62 61 63 6b 3a 20 43 61 6c 6c 62 61 63 6b 20 66 75 6e 63 74 69 6f 6e 2e 20 54 | m.callback:.Callback.function..T |
793e0 | 68 65 20 64 65 66 61 75 6c 74 20 70 72 69 6e 74 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | he.default.prints............... |
79400 | 20 20 20 20 20 20 20 20 20 20 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 74 6f 20 73 74 64 65 72 72 | ...........information.to.stderr |
79420 | 2e 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 6d 32 2e 73 73 6c 5f 63 74 78 | ..........""".........m2.ssl_ctx |
79440 | 5f 73 65 74 5f 69 6e 66 6f 5f 63 61 6c 6c 62 61 63 6b 28 73 65 6c 66 2e 63 74 78 2c 20 63 61 6c | _set_info_callback(self.ctx,.cal |
79460 | 6c 62 61 63 6b 29 0a 0a 20 20 20 20 64 65 66 20 73 65 74 5f 63 69 70 68 65 72 5f 6c 69 73 74 28 | lback)......def.set_cipher_list( |
79480 | 73 65 6c 66 2c 20 63 69 70 68 65 72 5f 6c 69 73 74 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 | self,.cipher_list):.........#.ty |
794a0 | 70 65 3a 20 28 73 74 72 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 22 22 22 53 65 74 73 | pe:.(str).->.int........."""Sets |
794c0 | 20 74 68 65 20 6c 69 73 74 20 6f 66 20 61 76 61 69 6c 61 62 6c 65 20 63 69 70 68 65 72 73 2e 0a | .the.list.of.available.ciphers.. |
794e0 | 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 63 69 70 68 65 72 5f 6c 69 73 74 3a 20 54 68 65 | .........:param.cipher_list:.The |
79500 | 20 66 6f 72 6d 61 74 20 6f 66 20 74 68 65 20 73 74 72 69 6e 67 20 69 73 20 64 65 73 63 72 69 62 | .format.of.the.string.is.describ |
79520 | 65 64 20 69 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ed.in........................... |
79540 | 20 20 63 69 70 68 65 72 73 28 31 29 2e 0a 20 20 20 20 20 20 20 20 3a 72 65 74 75 72 6e 3a 20 31 | ..ciphers(1)..........:return:.1 |
79560 | 20 69 66 20 61 6e 79 20 63 69 70 68 65 72 20 63 6f 75 6c 64 20 62 65 20 73 65 6c 65 63 74 65 64 | .if.any.cipher.could.be.selected |
79580 | 20 61 6e 64 20 30 20 6f 6e 20 63 6f 6d 70 6c 65 74 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | .and.0.on.complete.............. |
795a0 | 20 20 20 20 66 61 69 6c 75 72 65 2e 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 | ....failure.........."""........ |
795c0 | 20 72 65 74 75 72 6e 20 6d 32 2e 73 73 6c 5f 63 74 78 5f 73 65 74 5f 63 69 70 68 65 72 5f 6c 69 | .return.m2.ssl_ctx_set_cipher_li |
795e0 | 73 74 28 73 65 6c 66 2e 63 74 78 2c 20 63 69 70 68 65 72 5f 6c 69 73 74 29 0a 0a 20 20 20 20 64 | st(self.ctx,.cipher_list)......d |
79600 | 65 66 20 61 64 64 5f 73 65 73 73 69 6f 6e 28 73 65 6c 66 2c 20 73 65 73 73 69 6f 6e 29 3a 0a 20 | ef.add_session(self,.session):.. |
79620 | 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 53 65 73 73 69 6f 6e 29 20 2d 3e 20 69 6e 74 0a | .......#.type:.(Session).->.int. |
79640 | 20 20 20 20 20 20 20 20 22 22 22 41 64 64 20 74 68 65 20 73 65 73 73 69 6f 6e 20 74 6f 20 74 68 | ........"""Add.the.session.to.th |
79660 | 65 20 63 6f 6e 74 65 78 74 2e 0a 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 73 65 73 73 69 | e.context...........:param.sessi |
79680 | 6f 6e 3a 20 74 68 65 20 73 65 73 73 69 6f 6e 20 74 6f 20 62 65 20 61 64 64 65 64 2e 0a 0a 20 20 | on:.the.session.to.be.added..... |
796a0 | 20 20 20 20 20 20 3a 72 65 74 75 72 6e 3a 20 30 20 54 68 65 20 6f 70 65 72 61 74 69 6f 6e 20 66 | ......:return:.0.The.operation.f |
796c0 | 61 69 6c 65 64 2e 20 49 74 20 77 61 73 20 74 72 69 65 64 20 74 6f 20 61 64 64 20 74 68 65 20 73 | ailed..It.was.tried.to.add.the.s |
796e0 | 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 64 65 6e 74 69 63 61 | ame....................(identica |
79700 | 6c 29 20 73 65 73 73 69 6f 6e 20 74 77 69 63 65 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | l).session.twice................ |
79720 | 20 20 20 20 31 20 54 68 65 20 6f 70 65 72 61 74 69 6f 6e 20 73 75 63 63 65 65 64 65 64 2e 0a 20 | ....1.The.operation.succeeded... |
79740 | 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 73 73 6c | .......""".........return.m2.ssl |
79760 | 5f 63 74 78 5f 61 64 64 5f 73 65 73 73 69 6f 6e 28 73 65 6c 66 2e 63 74 78 2c 20 73 65 73 73 69 | _ctx_add_session(self.ctx,.sessi |
79780 | 6f 6e 2e 5f 70 74 72 28 29 29 0a 0a 20 20 20 20 64 65 66 20 72 65 6d 6f 76 65 5f 73 65 73 73 69 | on._ptr())......def.remove_sessi |
797a0 | 6f 6e 28 73 65 6c 66 2c 20 73 65 73 73 69 6f 6e 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 | on(self,.session):.........#.typ |
797c0 | 65 3a 20 28 53 65 73 73 69 6f 6e 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 22 22 22 52 | e:.(Session).->.int........."""R |
797e0 | 65 6d 6f 76 65 20 74 68 65 20 73 65 73 73 69 6f 6e 20 66 72 6f 6d 20 74 68 65 20 63 6f 6e 74 65 | emove.the.session.from.the.conte |
79800 | 78 74 2e 0a 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 73 65 73 73 69 6f 6e 3a 20 74 68 65 | xt...........:param.session:.the |
79820 | 20 73 65 73 73 69 6f 6e 20 74 6f 20 62 65 20 72 65 6d 6f 76 65 64 2e 0a 0a 20 20 20 20 20 20 20 | .session.to.be.removed.......... |
79840 | 20 3a 72 65 74 75 72 6e 3a 20 30 20 54 68 65 20 6f 70 65 72 61 74 69 6f 6e 20 66 61 69 6c 65 64 | .:return:.0.The.operation.failed |
79860 | 2e 20 54 68 65 20 73 65 73 73 69 6f 6e 20 77 61 73 20 6e 6f 74 20 66 6f 75 6e 64 20 69 6e 0a 20 | ..The.session.was.not.found.in.. |
79880 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 65 20 63 61 63 68 65 2e 0a 0a 20 20 | ..................the.cache..... |
798a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 31 20 54 68 65 20 6f 70 65 72 61 74 69 6f 6e 20 73 | ...............1.The.operation.s |
798c0 | 75 63 63 65 65 64 65 64 2e 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 72 65 | ucceeded..........""".........re |
798e0 | 74 75 72 6e 20 6d 32 2e 73 73 6c 5f 63 74 78 5f 72 65 6d 6f 76 65 5f 73 65 73 73 69 6f 6e 28 73 | turn.m2.ssl_ctx_remove_session(s |
79900 | 65 6c 66 2e 63 74 78 2c 20 73 65 73 73 69 6f 6e 2e 5f 70 74 72 28 29 29 0a 0a 20 20 20 20 64 65 | elf.ctx,.session._ptr())......de |
79920 | 66 20 67 65 74 5f 73 65 73 73 69 6f 6e 5f 74 69 6d 65 6f 75 74 28 73 65 6c 66 29 3a 0a 20 20 20 | f.get_session_timeout(self):.... |
79940 | 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 22 | .....#.type:.().->.int........." |
79960 | 22 22 47 65 74 20 63 75 72 72 65 6e 74 20 73 65 73 73 69 6f 6e 20 74 69 6d 65 6f 75 74 2e 0a 0a | ""Get.current.session.timeout... |
79980 | 20 20 20 20 20 20 20 20 57 68 65 6e 65 76 65 72 20 61 20 6e 65 77 20 73 65 73 73 69 6f 6e 20 69 | ........Whenever.a.new.session.i |
799a0 | 73 20 63 72 65 61 74 65 64 2c 20 69 74 20 69 73 20 61 73 73 69 67 6e 65 64 20 61 20 6d 61 78 69 | s.created,.it.is.assigned.a.maxi |
799c0 | 6d 75 6d 0a 20 20 20 20 20 20 20 20 6c 69 66 65 74 69 6d 65 2e 20 20 54 68 69 73 20 6c 69 66 65 | mum.........lifetime...This.life |
799e0 | 74 69 6d 65 20 69 73 20 73 70 65 63 69 66 69 65 64 20 62 79 20 73 74 6f 72 69 6e 67 20 74 68 65 | time.is.specified.by.storing.the |
79a00 | 20 63 72 65 61 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 74 69 6d 65 20 6f 66 20 74 68 65 20 73 65 | .creation.........time.of.the.se |
79a20 | 73 73 69 6f 6e 20 61 6e 64 20 74 68 65 20 74 69 6d 65 6f 75 74 20 76 61 6c 75 65 20 76 61 6c 69 | ssion.and.the.timeout.value.vali |
79a40 | 64 20 61 74 20 74 68 69 73 20 74 69 6d 65 2e 20 49 66 0a 20 20 20 20 20 20 20 20 74 68 65 20 61 | d.at.this.time..If.........the.a |
79a60 | 63 74 75 61 6c 20 74 69 6d 65 20 69 73 20 6c 61 74 65 72 20 74 68 61 6e 20 63 72 65 61 74 69 6f | ctual.time.is.later.than.creatio |
79a80 | 6e 20 74 69 6d 65 20 70 6c 75 73 20 74 69 6d 65 6f 75 74 2c 20 74 68 65 0a 20 20 20 20 20 20 20 | n.time.plus.timeout,.the........ |
79aa0 | 20 73 65 73 73 69 6f 6e 20 69 73 20 6e 6f 74 20 72 65 75 73 65 64 2e 0a 0a 20 20 20 20 20 20 20 | .session.is.not.reused.......... |
79ac0 | 20 44 75 65 20 74 6f 20 74 68 69 73 20 72 65 61 6c 69 7a 61 74 69 6f 6e 2c 20 61 6c 6c 20 73 65 | .Due.to.this.realization,.all.se |
79ae0 | 73 73 69 6f 6e 73 20 62 65 68 61 76 65 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 74 68 65 0a 20 | ssions.behave.according.to.the.. |
79b00 | 20 20 20 20 20 20 20 74 69 6d 65 6f 75 74 20 76 61 6c 75 65 20 76 61 6c 69 64 20 61 74 20 74 68 | .......timeout.value.valid.at.th |
79b20 | 65 20 74 69 6d 65 20 6f 66 20 74 68 65 20 73 65 73 73 69 6f 6e 20 6e 65 67 6f 74 69 61 74 69 6f | e.time.of.the.session.negotiatio |
79b40 | 6e 2e 0a 20 20 20 20 20 20 20 20 43 68 61 6e 67 65 73 20 6f 66 20 74 68 65 20 74 69 6d 65 6f 75 | n..........Changes.of.the.timeou |
79b60 | 74 20 76 61 6c 75 65 20 64 6f 20 6e 6f 74 20 61 66 66 65 63 74 20 61 6c 72 65 61 64 79 20 65 73 | t.value.do.not.affect.already.es |
79b80 | 74 61 62 6c 69 73 68 65 64 0a 20 20 20 20 20 20 20 20 73 65 73 73 69 6f 6e 73 2e 0a 0a 20 20 20 | tablished.........sessions...... |
79ba0 | 20 20 20 20 20 45 78 70 69 72 65 64 20 73 65 73 73 69 6f 6e 73 20 61 72 65 20 72 65 6d 6f 76 65 | .....Expired.sessions.are.remove |
79bc0 | 64 20 66 72 6f 6d 20 74 68 65 20 69 6e 74 65 72 6e 61 6c 20 73 65 73 73 69 6f 6e 20 63 61 63 68 | d.from.the.internal.session.cach |
79be0 | 65 2c 0a 20 20 20 20 20 20 20 20 77 68 65 6e 65 76 65 72 20 53 53 4c 5f 43 54 58 5f 66 6c 75 73 | e,.........whenever.SSL_CTX_flus |
79c00 | 68 5f 73 65 73 73 69 6f 6e 73 28 33 29 20 69 73 20 63 61 6c 6c 65 64 2c 20 65 69 74 68 65 72 20 | h_sessions(3).is.called,.either. |
79c20 | 64 69 72 65 63 74 6c 79 20 62 79 0a 20 20 20 20 20 20 20 20 74 68 65 20 61 70 70 6c 69 63 61 74 | directly.by.........the.applicat |
79c40 | 69 6f 6e 20 6f 72 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 28 73 65 65 0a 20 20 20 20 20 20 | ion.or.automatically.(see....... |
79c60 | 20 20 53 53 4c 5f 43 54 58 5f 73 65 74 5f 73 65 73 73 69 6f 6e 5f 63 61 63 68 65 5f 6d 6f 64 65 | ..SSL_CTX_set_session_cache_mode |
79c80 | 28 33 29 29 0a 0a 20 20 20 20 20 20 20 20 54 68 65 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20 | (3))..........The.default.value. |
79ca0 | 66 6f 72 20 73 65 73 73 69 6f 6e 20 74 69 6d 65 6f 75 74 20 69 73 20 64 65 63 69 64 65 64 20 6f | for.session.timeout.is.decided.o |
79cc0 | 6e 20 61 20 70 65 72 0a 20 20 20 20 20 20 20 20 70 72 6f 74 6f 63 6f 6c 20 62 61 73 69 73 2c 20 | n.a.per.........protocol.basis,. |
79ce0 | 73 65 65 20 53 53 4c 5f 67 65 74 5f 64 65 66 61 75 6c 74 5f 74 69 6d 65 6f 75 74 28 33 29 2e 20 | see.SSL_get_default_timeout(3).. |
79d00 | 20 41 6c 6c 20 63 75 72 72 65 6e 74 6c 79 0a 20 20 20 20 20 20 20 20 73 75 70 70 6f 72 74 65 64 | .All.currently.........supported |
79d20 | 20 70 72 6f 74 6f 63 6f 6c 73 20 68 61 76 65 20 74 68 65 20 73 61 6d 65 20 64 65 66 61 75 6c 74 | .protocols.have.the.same.default |
79d40 | 20 74 69 6d 65 6f 75 74 20 76 61 6c 75 65 20 6f 66 20 33 30 30 0a 20 20 20 20 20 20 20 20 73 65 | .timeout.value.of.300.........se |
79d60 | 63 6f 6e 64 73 2e 0a 0a 20 20 20 20 20 20 20 20 53 53 4c 5f 43 54 58 5f 73 65 74 5f 74 69 6d 65 | conds...........SSL_CTX_set_time |
79d80 | 6f 75 74 28 29 20 72 65 74 75 72 6e 73 20 74 68 65 20 70 72 65 76 69 6f 75 73 6c 79 20 73 65 74 | out().returns.the.previously.set |
79da0 | 20 74 69 6d 65 6f 75 74 20 76 61 6c 75 65 2e 0a 0a 20 20 20 20 20 20 20 20 3a 72 65 74 75 72 6e | .timeout.value...........:return |
79dc0 | 3a 20 74 68 65 20 63 75 72 72 65 6e 74 6c 79 20 73 65 74 20 74 69 6d 65 6f 75 74 20 76 61 6c 75 | :.the.currently.set.timeout.valu |
79de0 | 65 2e 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 | e..........""".........return.m2 |
79e00 | 2e 73 73 6c 5f 63 74 78 5f 67 65 74 5f 73 65 73 73 69 6f 6e 5f 74 69 6d 65 6f 75 74 28 73 65 6c | .ssl_ctx_get_session_timeout(sel |
79e20 | 66 2e 63 74 78 29 0a 0a 20 20 20 20 64 65 66 20 73 65 74 5f 73 65 73 73 69 6f 6e 5f 74 69 6d 65 | f.ctx)......def.set_session_time |
79e40 | 6f 75 74 28 73 65 6c 66 2c 20 74 69 6d 65 6f 75 74 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 | out(self,.timeout):.........#.ty |
79e60 | 70 65 3a 20 28 69 6e 74 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 22 22 22 53 65 74 20 | pe:.(int).->.int........."""Set. |
79e80 | 6e 65 77 20 73 65 73 73 69 6f 6e 20 74 69 6d 65 6f 75 74 2e 0a 0a 20 20 20 20 20 20 20 20 53 65 | new.session.timeout...........Se |
79ea0 | 65 20 73 65 6c 66 2e 67 65 74 5f 73 65 73 73 69 6f 6e 5f 74 69 6d 65 6f 75 74 28 29 20 66 6f 72 | e.self.get_session_timeout().for |
79ec0 | 20 65 78 70 6c 61 6e 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 73 65 73 73 69 6f 6e 0a 20 20 20 20 | .explanation.of.the.session..... |
79ee0 | 20 20 20 20 74 69 6d 65 6f 75 74 73 2e 0a 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 74 69 | ....timeouts...........:param.ti |
79f00 | 6d 65 6f 75 74 3a 20 6e 65 77 20 74 69 6d 65 6f 75 74 20 76 61 6c 75 65 2e 0a 0a 20 20 20 20 20 | meout:.new.timeout.value........ |
79f20 | 20 20 20 3a 72 65 74 75 72 6e 3a 20 74 68 65 20 70 72 65 76 69 6f 75 73 6c 79 20 73 65 74 20 74 | ...:return:.the.previously.set.t |
79f40 | 69 6d 65 6f 75 74 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 | imeout.value.........."""....... |
79f60 | 20 20 72 65 74 75 72 6e 20 6d 32 2e 73 73 6c 5f 63 74 78 5f 73 65 74 5f 73 65 73 73 69 6f 6e 5f | ..return.m2.ssl_ctx_set_session_ |
79f80 | 74 69 6d 65 6f 75 74 28 73 65 6c 66 2e 63 74 78 2c 20 74 69 6d 65 6f 75 74 29 0a 0a 20 20 20 20 | timeout(self.ctx,.timeout)...... |
79fa0 | 64 65 66 20 73 65 74 5f 73 65 73 73 69 6f 6e 5f 63 61 63 68 65 5f 6d 6f 64 65 28 73 65 6c 66 2c | def.set_session_cache_mode(self, |
79fc0 | 20 6d 6f 64 65 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 69 6e 74 29 20 2d 3e | .mode):.........#.type:.(int).-> |
79fe0 | 20 69 6e 74 0a 20 20 20 20 20 20 20 20 22 22 22 45 6e 61 62 6c 65 73 2f 64 69 73 61 62 6c 65 73 | .int........."""Enables/disables |
7a000 | 20 73 65 73 73 69 6f 6e 20 63 61 63 68 69 6e 67 2e 0a 0a 20 20 20 20 20 20 20 20 54 68 65 20 6d | .session.caching...........The.m |
7a020 | 6f 64 65 20 69 73 20 73 65 74 20 62 79 20 75 73 69 6e 67 20 6d 32 2e 53 53 4c 5f 53 45 53 53 5f | ode.is.set.by.using.m2.SSL_SESS_ |
7a040 | 43 41 43 48 45 5f 2a 20 63 6f 6e 73 74 61 6e 74 73 2e 0a 0a 20 20 20 20 20 20 20 20 3a 70 61 72 | CACHE_*.constants...........:par |
7a060 | 61 6d 20 6d 6f 64 65 3a 20 6e 65 77 20 6d 6f 64 65 20 76 61 6c 75 65 2e 0a 0a 20 20 20 20 20 20 | am.mode:.new.mode.value......... |
7a080 | 20 20 3a 72 65 74 75 72 6e 3a 20 74 68 65 20 70 72 65 76 69 6f 75 73 6c 79 20 73 65 74 20 63 61 | ..:return:.the.previously.set.ca |
7a0a0 | 63 68 65 20 6d 6f 64 65 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 | che.mode.value.........."""..... |
7a0c0 | 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 73 73 6c 5f 63 74 78 5f 73 65 74 5f 73 65 73 73 69 6f | ....return.m2.ssl_ctx_set_sessio |
7a0e0 | 6e 5f 63 61 63 68 65 5f 6d 6f 64 65 28 73 65 6c 66 2e 63 74 78 2c 20 6d 6f 64 65 29 0a 0a 20 20 | n_cache_mode(self.ctx,.mode).... |
7a100 | 20 20 64 65 66 20 67 65 74 5f 73 65 73 73 69 6f 6e 5f 63 61 63 68 65 5f 6d 6f 64 65 28 73 65 6c | ..def.get_session_cache_mode(sel |
7a120 | 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 69 6e 74 0a 20 20 | f):.........#.type:.().->.int... |
7a140 | 20 20 20 20 20 20 22 22 22 47 65 74 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 73 65 73 73 69 6f | ......"""Gets.the.current.sessio |
7a160 | 6e 20 63 61 63 68 69 6e 67 2e 0a 0a 20 20 20 20 20 20 20 20 54 68 65 20 6d 6f 64 65 20 69 73 20 | n.caching...........The.mode.is. |
7a180 | 73 65 74 20 74 6f 20 6d 32 2e 53 53 4c 5f 53 45 53 53 5f 43 41 43 48 45 5f 2a 20 63 6f 6e 73 74 | set.to.m2.SSL_SESS_CACHE_*.const |
7a1a0 | 61 6e 74 73 2e 0a 0a 20 20 20 20 20 20 20 20 3a 72 65 74 75 72 6e 3a 20 74 68 65 20 70 72 65 76 | ants...........:return:.the.prev |
7a1c0 | 69 6f 75 73 6c 79 20 73 65 74 20 63 61 63 68 65 20 6d 6f 64 65 20 76 61 6c 75 65 2e 0a 20 20 20 | iously.set.cache.mode.value..... |
7a1e0 | 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 73 73 6c 5f 63 | .....""".........return.m2.ssl_c |
7a200 | 74 78 5f 67 65 74 5f 73 65 73 73 69 6f 6e 5f 63 61 63 68 65 5f 6d 6f 64 65 28 73 65 6c 66 2e 63 | tx_get_session_cache_mode(self.c |
7a220 | 74 78 29 0a 0a 20 20 20 20 64 65 66 20 73 65 74 5f 6f 70 74 69 6f 6e 73 28 73 65 6c 66 2c 20 6f | tx)......def.set_options(self,.o |
7a240 | 70 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 69 6e 74 29 20 2d 3e 20 69 6e 74 | p):.........#.type:.(int).->.int |
7a260 | 0a 20 20 20 20 20 20 20 20 22 22 22 41 64 64 73 20 74 68 65 20 6f 70 74 69 6f 6e 73 20 73 65 74 | ........."""Adds.the.options.set |
7a280 | 20 76 69 61 20 62 69 74 6d 61 73 6b 20 69 6e 20 6f 70 74 69 6f 6e 73 20 74 6f 20 74 68 65 20 43 | .via.bitmask.in.options.to.the.C |
7a2a0 | 6f 6e 74 65 78 74 2e 0a 0a 20 20 20 20 20 20 20 20 21 21 21 20 4f 70 74 69 6f 6e 73 20 61 6c 72 | ontext...........!!!.Options.alr |
7a2c0 | 65 61 64 79 20 73 65 74 20 62 65 66 6f 72 65 20 61 72 65 20 6e 6f 74 20 63 6c 65 61 72 65 64 21 | eady.set.before.are.not.cleared! |
7a2e0 | 0a 0a 20 20 20 20 20 20 20 20 54 68 65 20 62 65 68 61 76 69 6f 75 72 20 6f 66 20 74 68 65 20 53 | ..........The.behaviour.of.the.S |
7a300 | 53 4c 20 6c 69 62 72 61 72 79 20 63 61 6e 20 62 65 20 63 68 61 6e 67 65 64 20 62 79 20 73 65 74 | SL.library.can.be.changed.by.set |
7a320 | 74 69 6e 67 0a 20 20 20 20 20 20 20 20 73 65 76 65 72 61 6c 20 6f 70 74 69 6f 6e 73 2e 20 20 54 | ting.........several.options...T |
7a340 | 68 65 20 6f 70 74 69 6f 6e 73 20 61 72 65 20 63 6f 64 65 64 20 61 73 20 62 69 74 6d 61 73 6b 73 | he.options.are.coded.as.bitmasks |
7a360 | 20 61 6e 64 20 63 61 6e 20 62 65 0a 20 20 20 20 20 20 20 20 63 6f 6d 62 69 6e 65 64 20 62 79 20 | .and.can.be.........combined.by. |
7a380 | 61 20 6c 6f 67 69 63 61 6c 20 6f 72 20 6f 70 65 72 61 74 69 6f 6e 20 28 7c 29 2e 0a 0a 20 20 20 | a.logical.or.operation.(|)...... |
7a3a0 | 20 20 20 20 20 53 53 4c 2e 43 6f 6e 74 65 78 74 2e 73 65 74 5f 6f 70 74 69 6f 6e 73 28 29 20 61 | .....SSL.Context.set_options().a |
7a3c0 | 6e 64 20 53 53 4c 2e 73 65 74 5f 6f 70 74 69 6f 6e 73 28 29 20 61 66 66 65 63 74 20 74 68 65 0a | nd.SSL.set_options().affect.the. |
7a3e0 | 20 20 20 20 20 20 20 20 28 65 78 74 65 72 6e 61 6c 29 20 70 72 6f 74 6f 63 6f 6c 20 62 65 68 61 | ........(external).protocol.beha |
7a400 | 76 69 6f 75 72 20 6f 66 20 74 68 65 20 53 53 4c 20 6c 69 62 72 61 72 79 2e 20 54 68 65 20 28 69 | viour.of.the.SSL.library..The.(i |
7a420 | 6e 74 65 72 6e 61 6c 29 0a 20 20 20 20 20 20 20 20 62 65 68 61 76 69 6f 75 72 20 6f 66 20 74 68 | nternal).........behaviour.of.th |
7a440 | 65 20 41 50 49 20 63 61 6e 20 62 65 20 63 68 61 6e 67 65 64 20 62 79 20 75 73 69 6e 67 20 74 68 | e.API.can.be.changed.by.using.th |
7a460 | 65 20 73 69 6d 69 6c 61 72 0a 20 20 20 20 20 20 20 20 53 53 4c 2e 43 6f 6e 74 65 78 74 2e 73 65 | e.similar.........SSL.Context.se |
7a480 | 74 5f 6d 6f 64 65 28 29 20 61 6e 64 20 53 53 4c 2e 73 65 74 5f 6d 6f 64 65 28 29 20 66 75 6e 63 | t_mode().and.SSL.set_mode().func |
7a4a0 | 74 69 6f 6e 73 2e 0a 0a 20 20 20 20 20 20 20 20 44 75 72 69 6e 67 20 61 20 68 61 6e 64 73 68 61 | tions...........During.a.handsha |
7a4c0 | 6b 65 2c 20 74 68 65 20 6f 70 74 69 6f 6e 20 73 65 74 74 69 6e 67 73 20 6f 66 20 74 68 65 20 53 | ke,.the.option.settings.of.the.S |
7a4e0 | 53 4c 20 6f 62 6a 65 63 74 20 61 72 65 0a 20 20 20 20 20 20 20 20 75 73 65 64 2e 20 57 68 65 6e | SL.object.are.........used..When |
7a500 | 20 61 20 6e 65 77 20 53 53 4c 20 6f 62 6a 65 63 74 20 69 73 20 63 72 65 61 74 65 64 20 66 72 6f | .a.new.SSL.object.is.created.fro |
7a520 | 6d 20 61 20 63 6f 6e 74 65 78 74 20 75 73 69 6e 67 0a 20 20 20 20 20 20 20 20 53 53 4c 28 29 2c | m.a.context.using.........SSL(), |
7a540 | 20 74 68 65 20 63 75 72 72 65 6e 74 20 6f 70 74 69 6f 6e 20 73 65 74 74 69 6e 67 20 69 73 20 63 | .the.current.option.setting.is.c |
7a560 | 6f 70 69 65 64 2e 20 43 68 61 6e 67 65 73 20 74 6f 20 63 74 78 0a 20 20 20 20 20 20 20 20 64 6f | opied..Changes.to.ctx.........do |
7a580 | 20 6e 6f 74 20 61 66 66 65 63 74 20 61 6c 72 65 61 64 79 20 63 72 65 61 74 65 64 20 53 53 4c 20 | .not.affect.already.created.SSL. |
7a5a0 | 6f 62 6a 65 63 74 73 2e 20 53 53 4c 2e 63 6c 65 61 72 28 29 20 64 6f 65 73 20 6e 6f 74 0a 20 20 | objects..SSL.clear().does.not... |
7a5c0 | 20 20 20 20 20 20 61 66 66 65 63 74 20 74 68 65 20 73 65 74 74 69 6e 67 73 2e 0a 0a 20 20 20 20 | ......affect.the.settings....... |
7a5e0 | 20 20 20 20 3a 70 61 72 61 6d 20 6f 70 3a 20 62 69 74 6d 61 73 6b 20 6f 66 20 61 64 64 69 74 69 | ....:param.op:.bitmask.of.additi |
7a600 | 6f 6e 61 6c 20 6f 70 74 69 6f 6e 73 20 73 70 65 63 69 66 69 65 64 20 69 6e 0a 20 20 20 20 20 20 | onal.options.specified.in....... |
7a620 | 20 20 20 20 20 20 20 20 20 20 20 20 20 53 53 4c 5f 43 54 58 5f 73 65 74 5f 6f 70 74 69 6f 6e 73 | .............SSL_CTX_set_options |
7a640 | 28 33 29 20 6d 61 6e 70 61 67 65 2e 0a 0a 20 20 20 20 20 20 20 20 3a 72 65 74 75 72 6e 3a 20 74 | (3).manpage...........:return:.t |
7a660 | 68 65 20 6e 65 77 20 6f 70 74 69 6f 6e 73 20 62 69 74 6d 61 73 6b 20 61 66 74 65 72 20 61 64 64 | he.new.options.bitmask.after.add |
7a680 | 69 6e 67 20 6f 70 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 | ing.options.........."""........ |
7a6a0 | 20 72 65 74 75 72 6e 20 6d 32 2e 73 73 6c 5f 63 74 78 5f 73 65 74 5f 6f 70 74 69 6f 6e 73 28 73 | .return.m2.ssl_ctx_set_options(s |
7a6c0 | 65 6c 66 2e 63 74 78 2c 20 6f 70 29 0a 0a 20 20 20 20 64 65 66 20 67 65 74 5f 63 65 72 74 5f 73 | elf.ctx,.op)......def.get_cert_s |
7a6e0 | 74 6f 72 65 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d | tore(self):.........#.type:.().- |
7a700 | 3e 20 58 35 30 39 2e 58 35 30 39 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 | >.X509.X509........."""......... |
7a720 | 47 65 74 20 74 68 65 20 63 65 72 74 69 66 69 63 61 74 65 20 73 74 6f 72 65 20 61 73 73 6f 63 69 | Get.the.certificate.store.associ |
7a740 | 61 74 65 64 20 77 69 74 68 20 74 68 69 73 20 63 6f 6e 74 65 78 74 2e 0a 0a 20 20 20 20 20 20 20 | ated.with.this.context.......... |
7a760 | 20 3a 77 61 72 6e 69 6e 67 3a 20 54 68 65 20 73 74 6f 72 65 20 69 73 20 4e 4f 54 20 72 65 66 63 | .:warning:.The.store.is.NOT.refc |
7a780 | 6f 75 6e 74 65 64 2c 20 61 6e 64 20 61 73 20 73 75 63 68 20 63 61 6e 20 6e 6f 74 20 62 65 20 72 | ounted,.and.as.such.can.not.be.r |
7a7a0 | 65 6c 69 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 6f 20 62 65 20 76 61 | elied...................to.be.va |
7a7c0 | 6c 69 64 20 6f 6e 63 65 20 74 68 65 20 63 6f 6e 74 65 78 74 20 67 6f 65 73 20 61 77 61 79 20 6f | lid.once.the.context.goes.away.o |
7a7e0 | 72 20 69 73 20 63 68 61 6e 67 65 64 2e 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 | r.is.changed.........."""....... |
7a800 | 20 20 72 65 74 75 72 6e 20 58 35 30 39 2e 58 35 30 39 5f 53 74 6f 72 65 28 6d 32 2e 73 73 6c 5f | ..return.X509.X509_Store(m2.ssl_ |
7a820 | 63 74 78 5f 67 65 74 5f 63 65 72 74 5f 73 74 6f 72 65 28 73 65 6c 66 2e 63 74 78 29 29 0a 94 95 | ctx_get_cert_store(self.ctx))... |
7a840 | 0a 82 00 00 00 00 00 00 7d 94 28 8c 10 5f 63 74 78 6d 61 70 2e 5f 5f 69 6e 69 74 5f 5f 94 6a 74 | ........}.(.._ctxmap.__init__.jt |
7a860 | 1f 00 00 4b 14 4b 18 87 94 8c 13 5f 63 74 78 6d 61 70 2e 5f 5f 67 65 74 69 74 65 6d 5f 5f 94 6a | ...K.K....._ctxmap.__getitem__.j |
7a880 | 74 1f 00 00 4b 1a 4b 1c 87 94 8c 13 5f 63 74 78 6d 61 70 2e 5f 5f 73 65 74 69 74 65 6d 5f 5f 94 | t...K.K....._ctxmap.__setitem__. |
7a8a0 | 6a 74 1f 00 00 4b 1e 4b 20 87 94 8c 13 5f 63 74 78 6d 61 70 2e 5f 5f 64 65 6c 69 74 65 6d 5f 5f | jt...K.K....._ctxmap.__delitem__ |
7a8c0 | 94 6a 74 1f 00 00 4b 22 4b 24 87 94 8c 07 5f 63 74 78 6d 61 70 94 6a 7d 1f 00 00 4b 11 4b 24 87 | .jt...K"K$...._ctxmap.j}...K.K$. |
7a8e0 | 94 8c 06 63 74 78 6d 61 70 94 6a 74 1f 00 00 4b 27 4b 2b 87 94 8c 10 43 6f 6e 74 65 78 74 2e 5f | ...ctxmap.jt...K'K+....Context._ |
7a900 | 5f 69 6e 69 74 5f 5f 94 6a 74 1f 00 00 4b 36 4b 47 87 94 8c 0f 43 6f 6e 74 65 78 74 2e 5f 5f 64 | _init__.jt...K6KG....Context.__d |
7a920 | 65 6c 5f 5f 94 6a 74 1f 00 00 4b 49 4b 4c 87 94 8c 0d 43 6f 6e 74 65 78 74 2e 63 6c 6f 73 65 94 | el__.jt...KIKL....Context.close. |
7a940 | 6a 74 1f 00 00 4b 4e 4b 50 87 94 8c 11 43 6f 6e 74 65 78 74 2e 6c 6f 61 64 5f 63 65 72 74 94 6a | jt...KNKP....Context.load_cert.j |
7a960 | 74 1f 00 00 4b 52 4b 65 87 94 8c 17 43 6f 6e 74 65 78 74 2e 6c 6f 61 64 5f 63 65 72 74 5f 63 68 | t...KRKe....Context.load_cert_ch |
7a980 | 61 69 6e 94 6a 74 1f 00 00 4b 67 4b 7c 87 94 8c 24 43 6f 6e 74 65 78 74 2e 73 65 74 5f 63 6c 69 | ain.jt...KgK|...$Context.set_cli |
7a9a0 | 65 6e 74 5f 43 41 5f 6c 69 73 74 5f 66 72 6f 6d 5f 66 69 6c 65 94 6a 74 1f 00 00 4b 7e 4b 86 87 | ent_CA_list_from_file.jt...K~K.. |
7a9c0 | 94 8c 1d 43 6f 6e 74 65 78 74 2e 6c 6f 61 64 5f 76 65 72 69 66 79 5f 6c 6f 63 61 74 69 6f 6e 73 | ...Context.load_verify_locations |
7a9e0 | 94 6a 74 1f 00 00 4b 8b 4b a0 87 94 8c 1a 43 6f 6e 74 65 78 74 2e 73 65 74 5f 73 65 73 73 69 6f | .jt...K.K.....Context.set_sessio |
7aa00 | 6e 5f 69 64 5f 63 74 78 94 6a 74 1f 00 00 4b a5 4b b8 87 94 8c 20 43 6f 6e 74 65 78 74 2e 73 65 | n_id_ctx.jt...K.K.....Context.se |
7aa20 | 74 5f 64 65 66 61 75 6c 74 5f 76 65 72 69 66 79 5f 70 61 74 68 73 94 6a 74 1f 00 00 4b ba 4b cf | t_default_verify_paths.jt...K.K. |
7aa40 | 87 94 8c 1c 43 6f 6e 74 65 78 74 2e 73 65 74 5f 61 6c 6c 6f 77 5f 75 6e 6b 6e 6f 77 6e 5f 63 61 | ....Context.set_allow_unknown_ca |
7aa60 | 94 6a 74 1f 00 00 4b d1 4b d8 87 94 8c 1c 43 6f 6e 74 65 78 74 2e 67 65 74 5f 61 6c 6c 6f 77 5f | .jt...K.K.....Context.get_allow_ |
7aa80 | 75 6e 6b 6e 6f 77 6e 5f 63 61 94 6a 74 1f 00 00 4b da 4b e1 87 94 8c 12 43 6f 6e 74 65 78 74 2e | unknown_ca.jt...K.K.....Context. |
7aaa0 | 73 65 74 5f 76 65 72 69 66 79 94 6a 74 1f 00 00 4b e3 4b f5 87 94 8c 17 43 6f 6e 74 65 78 74 2e | set_verify.jt...K.K.....Context. |
7aac0 | 67 65 74 5f 76 65 72 69 66 79 5f 6d 6f 64 65 94 6a 74 1f 00 00 4b f7 4b f9 87 94 8c 18 43 6f 6e | get_verify_mode.jt...K.K.....Con |
7aae0 | 74 65 78 74 2e 67 65 74 5f 76 65 72 69 66 79 5f 64 65 70 74 68 94 6a 74 1f 00 00 4b fb 4b fe 87 | text.get_verify_depth.jt...K.K.. |
7ab00 | 94 8c 12 43 6f 6e 74 65 78 74 2e 73 65 74 5f 74 6d 70 5f 64 68 94 6a 74 1f 00 00 4d 00 01 4d 09 | ...Context.set_tmp_dh.jt...M..M. |
7ab20 | 01 87 94 8c 1b 43 6f 6e 74 65 78 74 2e 73 65 74 5f 74 6d 70 5f 64 68 5f 63 61 6c 6c 62 61 63 6b | .....Context.set_tmp_dh_callback |
7ab40 | 94 6a 74 1f 00 00 4d 0b 01 4d 12 01 87 94 8c 13 43 6f 6e 74 65 78 74 2e 73 65 74 5f 74 6d 70 5f | .jt...M..M......Context.set_tmp_ |
7ab60 | 72 73 61 94 6a 74 1f 00 00 4d 14 01 4d 1d 01 87 94 8c 1c 43 6f 6e 74 65 78 74 2e 73 65 74 5f 74 | rsa.jt...M..M......Context.set_t |
7ab80 | 6d 70 5f 72 73 61 5f 63 61 6c 6c 62 61 63 6b 94 6a 74 1f 00 00 4d 1f 01 4d 25 01 87 94 8c 19 43 | mp_rsa_callback.jt...M..M%.....C |
7aba0 | 6f 6e 74 65 78 74 2e 73 65 74 5f 69 6e 66 6f 5f 63 61 6c 6c 62 61 63 6b 94 6a 74 1f 00 00 4d 27 | ontext.set_info_callback.jt...M' |
7abc0 | 01 4d 31 01 87 94 8c 17 43 6f 6e 74 65 78 74 2e 73 65 74 5f 63 69 70 68 65 72 5f 6c 69 73 74 94 | .M1.....Context.set_cipher_list. |
7abe0 | 6a 74 1f 00 00 4d 33 01 4d 3c 01 87 94 8c 13 43 6f 6e 74 65 78 74 2e 61 64 64 5f 73 65 73 73 69 | jt...M3.M<.....Context.add_sessi |
7ac00 | 6f 6e 94 6a 74 1f 00 00 4d 3e 01 4d 49 01 87 94 8c 16 43 6f 6e 74 65 78 74 2e 72 65 6d 6f 76 65 | on.jt...M>.MI.....Context.remove |
7ac20 | 5f 73 65 73 73 69 6f 6e 94 6a 74 1f 00 00 4d 4b 01 4d 56 01 87 94 8c 1b 43 6f 6e 74 65 78 74 2e | _session.jt...MK.MV.....Context. |
7ac40 | 67 65 74 5f 73 65 73 73 69 6f 6e 5f 74 69 6d 65 6f 75 74 94 6a 74 1f 00 00 4d 58 01 4d 75 01 87 | get_session_timeout.jt...MX.Mu.. |
7ac60 | 94 8c 1b 43 6f 6e 74 65 78 74 2e 73 65 74 5f 73 65 73 73 69 6f 6e 5f 74 69 6d 65 6f 75 74 94 6a | ...Context.set_session_timeout.j |
7ac80 | 74 1f 00 00 4d 77 01 4d 82 01 87 94 8c 1e 43 6f 6e 74 65 78 74 2e 73 65 74 5f 73 65 73 73 69 6f | t...Mw.M......Context.set_sessio |
7aca0 | 6e 5f 63 61 63 68 65 5f 6d 6f 64 65 94 6a 74 1f 00 00 4d 84 01 4d 8e 01 87 94 8c 1e 43 6f 6e 74 | n_cache_mode.jt...M..M......Cont |
7acc0 | 65 78 74 2e 67 65 74 5f 73 65 73 73 69 6f 6e 5f 63 61 63 68 65 5f 6d 6f 64 65 94 6a 74 1f 00 00 | ext.get_session_cache_mode.jt... |
7ace0 | 4d 90 01 4d 98 01 87 94 8c 13 43 6f 6e 74 65 78 74 2e 73 65 74 5f 6f 70 74 69 6f 6e 73 94 6a 74 | M..M......Context.set_options.jt |
7ad00 | 1f 00 00 4d 9a 01 4d b4 01 87 94 8c 16 43 6f 6e 74 65 78 74 2e 67 65 74 5f 63 65 72 74 5f 73 74 | ...M..M......Context.get_cert_st |
7ad20 | 6f 72 65 94 6a 74 1f 00 00 4d b6 01 4d be 01 87 94 8c 07 43 6f 6e 74 65 78 74 94 6a 7d 1f 00 00 | ore.jt...M..M......Context.j}... |
7ad40 | 4b 30 4d be 01 87 94 75 7d 94 28 8c 06 63 74 78 6d 61 70 94 6a 5c 02 00 00 8c 07 43 6f 6e 74 65 | K0M....u}.(..ctxmap.j\.....Conte |
7ad60 | 78 74 94 6a 5c 02 00 00 8c 13 43 6f 6e 74 65 78 74 2e 61 64 64 5f 73 65 73 73 69 6f 6e 94 6a 5c | xt.j\.....Context.add_session.j\ |
7ad80 | 02 00 00 8c 0d 43 6f 6e 74 65 78 74 2e 63 6c 6f 73 65 94 6a 5c 02 00 00 8c 1c 43 6f 6e 74 65 78 | .....Context.close.j\.....Contex |
7ada0 | 74 2e 67 65 74 5f 61 6c 6c 6f 77 5f 75 6e 6b 6e 6f 77 6e 5f 63 61 94 6a 5c 02 00 00 8c 16 43 6f | t.get_allow_unknown_ca.j\.....Co |
7adc0 | 6e 74 65 78 74 2e 67 65 74 5f 63 65 72 74 5f 73 74 6f 72 65 94 6a 5c 02 00 00 8c 1e 43 6f 6e 74 | ntext.get_cert_store.j\.....Cont |
7ade0 | 65 78 74 2e 67 65 74 5f 73 65 73 73 69 6f 6e 5f 63 61 63 68 65 5f 6d 6f 64 65 94 6a 5c 02 00 00 | ext.get_session_cache_mode.j\... |
7ae00 | 8c 1b 43 6f 6e 74 65 78 74 2e 67 65 74 5f 73 65 73 73 69 6f 6e 5f 74 69 6d 65 6f 75 74 94 6a 5c | ..Context.get_session_timeout.j\ |
7ae20 | 02 00 00 8c 18 43 6f 6e 74 65 78 74 2e 67 65 74 5f 76 65 72 69 66 79 5f 64 65 70 74 68 94 6a 5c | .....Context.get_verify_depth.j\ |
7ae40 | 02 00 00 8c 17 43 6f 6e 74 65 78 74 2e 67 65 74 5f 76 65 72 69 66 79 5f 6d 6f 64 65 94 6a 5c 02 | .....Context.get_verify_mode.j\. |
7ae60 | 00 00 8c 11 43 6f 6e 74 65 78 74 2e 6c 6f 61 64 5f 63 65 72 74 94 6a 5c 02 00 00 8c 17 43 6f 6e | ....Context.load_cert.j\.....Con |
7ae80 | 74 65 78 74 2e 6c 6f 61 64 5f 63 65 72 74 5f 63 68 61 69 6e 94 6a 5c 02 00 00 8c 1d 43 6f 6e 74 | text.load_cert_chain.j\.....Cont |
7aea0 | 65 78 74 2e 6c 6f 61 64 5f 76 65 72 69 66 79 5f 6c 6f 63 61 74 69 6f 6e 73 94 6a 5c 02 00 00 8c | ext.load_verify_locations.j\.... |
7aec0 | 16 43 6f 6e 74 65 78 74 2e 72 65 6d 6f 76 65 5f 73 65 73 73 69 6f 6e 94 6a 5c 02 00 00 8c 1c 43 | .Context.remove_session.j\.....C |
7aee0 | 6f 6e 74 65 78 74 2e 73 65 74 5f 61 6c 6c 6f 77 5f 75 6e 6b 6e 6f 77 6e 5f 63 61 94 6a 5c 02 00 | ontext.set_allow_unknown_ca.j\.. |
7af00 | 00 8c 17 43 6f 6e 74 65 78 74 2e 73 65 74 5f 63 69 70 68 65 72 5f 6c 69 73 74 94 6a 5c 02 00 00 | ...Context.set_cipher_list.j\... |
7af20 | 8c 24 43 6f 6e 74 65 78 74 2e 73 65 74 5f 63 6c 69 65 6e 74 5f 43 41 5f 6c 69 73 74 5f 66 72 6f | .$Context.set_client_CA_list_fro |
7af40 | 6d 5f 66 69 6c 65 94 6a 5c 02 00 00 8c 20 43 6f 6e 74 65 78 74 2e 73 65 74 5f 64 65 66 61 75 6c | m_file.j\.....Context.set_defaul |
7af60 | 74 5f 76 65 72 69 66 79 5f 70 61 74 68 73 94 6a 5c 02 00 00 8c 19 43 6f 6e 74 65 78 74 2e 73 65 | t_verify_paths.j\.....Context.se |
7af80 | 74 5f 69 6e 66 6f 5f 63 61 6c 6c 62 61 63 6b 94 6a 5c 02 00 00 8c 13 43 6f 6e 74 65 78 74 2e 73 | t_info_callback.j\.....Context.s |
7afa0 | 65 74 5f 6f 70 74 69 6f 6e 73 94 6a 5c 02 00 00 8c 1e 43 6f 6e 74 65 78 74 2e 73 65 74 5f 73 65 | et_options.j\.....Context.set_se |
7afc0 | 73 73 69 6f 6e 5f 63 61 63 68 65 5f 6d 6f 64 65 94 6a 5c 02 00 00 8c 1a 43 6f 6e 74 65 78 74 2e | ssion_cache_mode.j\.....Context. |
7afe0 | 73 65 74 5f 73 65 73 73 69 6f 6e 5f 69 64 5f 63 74 78 94 6a 5c 02 00 00 8c 1b 43 6f 6e 74 65 78 | set_session_id_ctx.j\.....Contex |
7b000 | 74 2e 73 65 74 5f 73 65 73 73 69 6f 6e 5f 74 69 6d 65 6f 75 74 94 6a 5c 02 00 00 8c 12 43 6f 6e | t.set_session_timeout.j\.....Con |
7b020 | 74 65 78 74 2e 73 65 74 5f 74 6d 70 5f 64 68 94 6a 5c 02 00 00 8c 1b 43 6f 6e 74 65 78 74 2e 73 | text.set_tmp_dh.j\.....Context.s |
7b040 | 65 74 5f 74 6d 70 5f 64 68 5f 63 61 6c 6c 62 61 63 6b 94 6a 5c 02 00 00 8c 13 43 6f 6e 74 65 78 | et_tmp_dh_callback.j\.....Contex |
7b060 | 74 2e 73 65 74 5f 74 6d 70 5f 72 73 61 94 6a 5c 02 00 00 8c 1c 43 6f 6e 74 65 78 74 2e 73 65 74 | t.set_tmp_rsa.j\.....Context.set |
7b080 | 5f 74 6d 70 5f 72 73 61 5f 63 61 6c 6c 62 61 63 6b 94 6a 5c 02 00 00 8c 12 43 6f 6e 74 65 78 74 | _tmp_rsa_callback.j\.....Context |
7b0a0 | 2e 73 65 74 5f 76 65 72 69 66 79 94 6a 5c 02 00 00 75 8c 14 4d 32 43 72 79 70 74 6f 2e 53 53 4c | .set_verify.j\...u..M2Crypto.SSL |
7b0c0 | 2e 43 6f 6e 74 65 78 74 94 74 94 8c 16 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 53 53 4c 53 65 72 | .Context.t...M2Crypto.SSL.SSLSer |
7b0e0 | 76 65 72 94 28 58 32 08 00 00 66 72 6f 6d 20 5f 5f 66 75 74 75 72 65 5f 5f 20 69 6d 70 6f 72 74 | ver.(X2...from.__future__.import |
7b100 | 20 61 62 73 6f 6c 75 74 65 5f 69 6d 70 6f 72 74 2c 20 70 72 69 6e 74 5f 66 75 6e 63 74 69 6f 6e | .absolute_import,.print_function |
7b120 | 0a 0a 22 22 22 53 53 4c 53 65 72 76 65 72 0a 0a 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 | .."""SSLServer..Copyright.(c).19 |
7b140 | 39 39 2d 32 30 30 32 20 4e 67 20 50 68 65 6e 67 20 53 69 6f 6e 67 2e 20 41 6c 6c 20 72 69 67 68 | 99-2002.Ng.Pheng.Siong..All.righ |
7b160 | 74 73 20 72 65 73 65 72 76 65 64 2e 22 22 22 0a 0a 0a 23 20 4d 32 43 72 79 70 74 6f 0a 66 72 6f | ts.reserved."""...#.M2Crypto.fro |
7b180 | 6d 20 4d 32 43 72 79 70 74 6f 2e 53 53 4c 20 69 6d 70 6f 72 74 20 53 53 4c 45 72 72 6f 72 0a 66 | m.M2Crypto.SSL.import.SSLError.f |
7b1a0 | 72 6f 6d 20 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 20 69 6d 70 6f | rom.M2Crypto.SSL.Connection.impo |
7b1c0 | 72 74 20 43 6f 6e 6e 65 63 74 69 6f 6e 0a 66 72 6f 6d 20 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e | rt.Connection.from.M2Crypto.SSL. |
7b1e0 | 43 6f 6e 74 65 78 74 20 69 6d 70 6f 72 74 20 43 6f 6e 74 65 78 74 20 20 23 20 6e 6f 71 61 0a 66 | Context.import.Context..#.noqa.f |
7b200 | 72 6f 6d 20 4d 32 43 72 79 70 74 6f 20 69 6d 70 6f 72 74 20 73 69 78 20 20 23 20 6e 6f 71 61 0a | rom.M2Crypto.import.six..#.noqa. |
7b220 | 66 72 6f 6d 20 4d 32 43 72 79 70 74 6f 20 69 6d 70 6f 72 74 20 75 74 69 6c 20 20 23 20 6e 6f 71 | from.M2Crypto.import.util..#.noq |
7b240 | 61 0a 66 72 6f 6d 20 4d 32 43 72 79 70 74 6f 2e 73 69 78 2e 6d 6f 76 65 73 2e 73 6f 63 6b 65 74 | a.from.M2Crypto.six.moves.socket |
7b260 | 73 65 72 76 65 72 20 69 6d 70 6f 72 74 20 28 42 61 73 65 53 65 72 76 65 72 2c 20 54 43 50 53 65 | server.import.(BaseServer,.TCPSe |
7b280 | 72 76 65 72 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | rver,........................... |
7b2a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 68 72 65 61 64 69 6e 67 4d 69 78 49 | ...................ThreadingMixI |
7b2c0 | 6e 29 0a 69 6d 70 6f 72 74 20 6f 73 0a 69 66 20 6f 73 2e 6e 61 6d 65 20 21 3d 20 27 6e 74 27 3a | n).import.os.if.os.name.!=.'nt': |
7b2e0 | 0a 20 20 20 66 72 6f 6d 20 4d 32 43 72 79 70 74 6f 2e 73 69 78 2e 6d 6f 76 65 73 2e 73 6f 63 6b | ....from.M2Crypto.six.moves.sock |
7b300 | 65 74 73 65 72 76 65 72 20 69 6d 70 6f 72 74 20 46 6f 72 6b 69 6e 67 4d 69 78 49 6e 0a 66 72 6f | etserver.import.ForkingMixIn.fro |
7b320 | 6d 20 73 6f 63 6b 65 74 20 69 6d 70 6f 72 74 20 73 6f 63 6b 65 74 20 20 23 20 6e 6f 71 61 0a 69 | m.socket.import.socket..#.noqa.i |
7b340 | 66 20 75 74 69 6c 2e 70 79 32 37 70 6c 75 73 3a 0a 20 20 20 20 66 72 6f 6d 20 74 79 70 69 6e 67 | f.util.py27plus:.....from.typing |
7b360 | 20 69 6d 70 6f 72 74 20 55 6e 69 6f 6e 20 20 23 20 6e 6f 71 61 0a 0a 5f 5f 61 6c 6c 5f 5f 20 3d | .import.Union..#.noqa..__all__.= |
7b380 | 20 5b 27 53 53 4c 53 65 72 76 65 72 27 2c 20 27 46 6f 72 6b 69 6e 67 53 53 4c 53 65 72 76 65 72 | .['SSLServer',.'ForkingSSLServer |
7b3a0 | 27 2c 20 27 54 68 72 65 61 64 69 6e 67 53 53 4c 53 65 72 76 65 72 27 5d 0a 0a 0a 63 6c 61 73 73 | ',.'ThreadingSSLServer']...class |
7b3c0 | 20 53 53 4c 53 65 72 76 65 72 28 54 43 50 53 65 72 76 65 72 29 3a 0a 20 20 20 20 64 65 66 20 5f | .SSLServer(TCPServer):.....def._ |
7b3e0 | 5f 69 6e 69 74 5f 5f 28 73 65 6c 66 2c 20 73 65 72 76 65 72 5f 61 64 64 72 65 73 73 2c 20 52 65 | _init__(self,.server_address,.Re |
7b400 | 71 75 65 73 74 48 61 6e 64 6c 65 72 43 6c 61 73 73 2c 20 73 73 6c 5f 63 6f 6e 74 65 78 74 2c 20 | questHandlerClass,.ssl_context,. |
7b420 | 20 23 20 6e 6f 71 61 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 69 6e 64 5f 61 6e | .#.noqa..................bind_an |
7b440 | 64 5f 61 63 74 69 76 61 74 65 3d 54 72 75 65 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 | d_activate=True):.........#.type |
7b460 | 3a 20 28 75 74 69 6c 2e 41 64 64 72 54 79 70 65 2c 20 73 6f 63 6b 65 74 73 65 72 76 65 72 2e 42 | :.(util.AddrType,.socketserver.B |
7b480 | 61 73 65 52 65 71 75 65 73 74 48 61 6e 64 6c 65 72 2c 20 43 6f 6e 74 65 78 74 2c 20 62 6f 6f 6c | aseRequestHandler,.Context,.bool |
7b4a0 | 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 53 75 | ).->.None.........""".........Su |
7b4c0 | 70 65 72 63 6c 61 73 73 20 73 61 79 73 3a 20 43 6f 6e 73 74 72 75 63 74 6f 72 2e 20 4d 61 79 20 | perclass.says:.Constructor..May. |
7b4e0 | 62 65 20 65 78 74 65 6e 64 65 64 2c 20 64 6f 20 6e 6f 74 20 6f 76 65 72 72 69 64 65 2e 0a 20 20 | be.extended,.do.not.override.... |
7b500 | 20 20 20 20 20 20 54 68 69 73 20 63 6c 61 73 73 20 73 61 79 73 3a 20 48 6f 2d 68 75 6d 2e 0a 20 | ......This.class.says:.Ho-hum... |
7b520 | 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 42 61 73 65 53 65 72 76 65 72 2e 5f 5f | .......""".........BaseServer.__ |
7b540 | 69 6e 69 74 5f 5f 28 73 65 6c 66 2c 20 73 65 72 76 65 72 5f 61 64 64 72 65 73 73 2c 20 52 65 71 | init__(self,.server_address,.Req |
7b560 | 75 65 73 74 48 61 6e 64 6c 65 72 43 6c 61 73 73 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 | uestHandlerClass).........self.s |
7b580 | 73 6c 5f 63 74 78 20 3d 20 73 73 6c 5f 63 6f 6e 74 65 78 74 0a 20 20 20 20 20 20 20 20 73 65 6c | sl_ctx.=.ssl_context.........sel |
7b5a0 | 66 2e 73 6f 63 6b 65 74 20 3d 20 43 6f 6e 6e 65 63 74 69 6f 6e 28 73 65 6c 66 2e 73 73 6c 5f 63 | f.socket.=.Connection(self.ssl_c |
7b5c0 | 74 78 29 0a 20 20 20 20 20 20 20 20 69 66 20 62 69 6e 64 5f 61 6e 64 5f 61 63 74 69 76 61 74 65 | tx).........if.bind_and_activate |
7b5e0 | 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 65 72 76 65 72 5f 62 69 6e 64 28 29 | :.............self.server_bind() |
7b600 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 65 72 76 65 72 5f 61 63 74 69 76 61 74 | .............self.server_activat |
7b620 | 65 28 29 0a 0a 20 20 20 20 64 65 66 20 68 61 6e 64 6c 65 5f 72 65 71 75 65 73 74 28 73 65 6c 66 | e()......def.handle_request(self |
7b640 | 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 | ):.........#.type:.().->.None... |
7b660 | 20 20 20 20 20 20 72 65 71 75 65 73 74 20 3d 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 63 6c 69 | ......request.=.None.........cli |
7b680 | 65 6e 74 5f 61 64 64 72 65 73 73 20 3d 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 74 72 79 3a 0a | ent_address.=.None.........try:. |
7b6a0 | 20 20 20 20 20 20 20 20 20 20 20 20 72 65 71 75 65 73 74 2c 20 63 6c 69 65 6e 74 5f 61 64 64 72 | ............request,.client_addr |
7b6c0 | 65 73 73 20 3d 20 73 65 6c 66 2e 67 65 74 5f 72 65 71 75 65 73 74 28 29 0a 20 20 20 20 20 20 20 | ess.=.self.get_request()........ |
7b6e0 | 20 20 20 20 20 69 66 20 73 65 6c 66 2e 76 65 72 69 66 79 5f 72 65 71 75 65 73 74 28 72 65 71 75 | .....if.self.verify_request(requ |
7b700 | 65 73 74 2c 20 63 6c 69 65 6e 74 5f 61 64 64 72 65 73 73 29 3a 0a 20 20 20 20 20 20 20 20 20 20 | est,.client_address):........... |
7b720 | 20 20 20 20 20 20 73 65 6c 66 2e 70 72 6f 63 65 73 73 5f 72 65 71 75 65 73 74 28 72 65 71 75 65 | ......self.process_request(reque |
7b740 | 73 74 2c 20 63 6c 69 65 6e 74 5f 61 64 64 72 65 73 73 29 0a 20 20 20 20 20 20 20 20 65 78 63 65 | st,.client_address).........exce |
7b760 | 70 74 20 53 53 4c 45 72 72 6f 72 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 68 61 | pt.SSLError:.............self.ha |
7b780 | 6e 64 6c 65 5f 65 72 72 6f 72 28 72 65 71 75 65 73 74 2c 20 63 6c 69 65 6e 74 5f 61 64 64 72 65 | ndle_error(request,.client_addre |
7b7a0 | 73 73 29 0a 0a 20 20 20 20 64 65 66 20 68 61 6e 64 6c 65 5f 65 72 72 6f 72 28 73 65 6c 66 2c 20 | ss)......def.handle_error(self,. |
7b7c0 | 72 65 71 75 65 73 74 2c 20 63 6c 69 65 6e 74 5f 61 64 64 72 65 73 73 29 3a 0a 20 20 20 20 20 20 | request,.client_address):....... |
7b7e0 | 20 20 23 20 74 79 70 65 3a 20 28 55 6e 69 6f 6e 5b 73 6f 63 6b 65 74 2c 20 43 6f 6e 6e 65 63 74 | ..#.type:.(Union[socket,.Connect |
7b800 | 69 6f 6e 5d 2c 20 75 74 69 6c 2e 41 64 64 72 54 79 70 65 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 | ion],.util.AddrType).->.None.... |
7b820 | 20 20 20 20 20 70 72 69 6e 74 28 27 2d 27 20 2a 20 34 30 29 0a 20 20 20 20 20 20 20 20 69 6d 70 | .....print('-'.*.40).........imp |
7b840 | 6f 72 74 20 74 72 61 63 65 62 61 63 6b 0a 20 20 20 20 20 20 20 20 74 72 61 63 65 62 61 63 6b 2e | ort.traceback.........traceback. |
7b860 | 70 72 69 6e 74 5f 65 78 63 28 29 0a 20 20 20 20 20 20 20 20 70 72 69 6e 74 28 27 2d 27 20 2a 20 | print_exc().........print('-'.*. |
7b880 | 34 30 29 0a 0a 0a 63 6c 61 73 73 20 54 68 72 65 61 64 69 6e 67 53 53 4c 53 65 72 76 65 72 28 54 | 40)...class.ThreadingSSLServer(T |
7b8a0 | 68 72 65 61 64 69 6e 67 4d 69 78 49 6e 2c 20 53 53 4c 53 65 72 76 65 72 29 3a 0a 20 20 20 20 70 | hreadingMixIn,.SSLServer):.....p |
7b8c0 | 61 73 73 0a 0a 0a 69 66 20 6f 73 2e 6e 61 6d 65 20 21 3d 20 27 6e 74 27 3a 0a 20 20 20 20 63 6c | ass...if.os.name.!=.'nt':.....cl |
7b8e0 | 61 73 73 20 46 6f 72 6b 69 6e 67 53 53 4c 53 65 72 76 65 72 28 46 6f 72 6b 69 6e 67 4d 69 78 49 | ass.ForkingSSLServer(ForkingMixI |
7b900 | 6e 2c 20 53 53 4c 53 65 72 76 65 72 29 3a 0a 20 20 20 20 20 20 20 20 70 61 73 73 0a 94 7d 94 28 | n,.SSLServer):.........pass..}.( |
7b920 | 8c 12 53 53 4c 53 65 72 76 65 72 2e 5f 5f 69 6e 69 74 5f 5f 94 6a 74 1f 00 00 4b 1b 4b 27 87 94 | ..SSLServer.__init__.jt...K.K'.. |
7b940 | 8c 18 53 53 4c 53 65 72 76 65 72 2e 68 61 6e 64 6c 65 5f 72 65 71 75 65 73 74 94 6a 74 1f 00 00 | ..SSLServer.handle_request.jt... |
7b960 | 4b 29 4b 32 87 94 8c 16 53 53 4c 53 65 72 76 65 72 2e 68 61 6e 64 6c 65 5f 65 72 72 6f 72 94 6a | K)K2....SSLServer.handle_error.j |
7b980 | 74 1f 00 00 4b 34 4b 39 87 94 8c 09 53 53 4c 53 65 72 76 65 72 94 6a 7d 1f 00 00 4b 1a 4b 39 87 | t...K4K9....SSLServer.j}...K.K9. |
7b9a0 | 94 8c 12 54 68 72 65 61 64 69 6e 67 53 53 4c 53 65 72 76 65 72 94 6a 7d 1f 00 00 4b 3c 4b 3d 87 | ...ThreadingSSLServer.j}...K<K=. |
7b9c0 | 94 8c 10 46 6f 72 6b 69 6e 67 53 53 4c 53 65 72 76 65 72 94 6a 7d 1f 00 00 4b 41 4b 42 87 94 75 | ...ForkingSSLServer.j}...KAKB..u |
7b9e0 | 7d 94 28 8c 09 53 53 4c 53 65 72 76 65 72 94 6a 5c 02 00 00 8c 16 53 53 4c 53 65 72 76 65 72 2e | }.(..SSLServer.j\.....SSLServer. |
7ba00 | 68 61 6e 64 6c 65 5f 65 72 72 6f 72 94 6a 5c 02 00 00 8c 18 53 53 4c 53 65 72 76 65 72 2e 68 61 | handle_error.j\.....SSLServer.ha |
7ba20 | 6e 64 6c 65 5f 72 65 71 75 65 73 74 94 6a 5c 02 00 00 8c 10 46 6f 72 6b 69 6e 67 53 53 4c 53 65 | ndle_request.j\.....ForkingSSLSe |
7ba40 | 72 76 65 72 94 6a 5c 02 00 00 8c 12 54 68 72 65 61 64 69 6e 67 53 53 4c 53 65 72 76 65 72 94 6a | rver.j\.....ThreadingSSLServer.j |
7ba60 | 5c 02 00 00 75 8c 16 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 53 53 4c 53 65 72 76 65 72 94 74 94 | \...u..M2Crypto.SSL.SSLServer.t. |
7ba80 | 8c 14 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 53 65 73 73 69 6f 6e 94 28 58 1d 07 00 00 22 22 22 | ..M2Crypto.SSL.Session.(X....""" |
7baa0 | 53 53 4c 20 53 65 73 73 69 6f 6e 0a 0a 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 39 39 2d | SSL.Session..Copyright.(c).1999- |
7bac0 | 32 30 30 33 20 4e 67 20 50 68 65 6e 67 20 53 69 6f 6e 67 2e 20 41 6c 6c 20 72 69 67 68 74 73 20 | 2003.Ng.Pheng.Siong..All.rights. |
7bae0 | 72 65 73 65 72 76 65 64 2e 22 22 22 0a 0a 5f 5f 61 6c 6c 5f 5f 20 3d 20 5b 27 53 65 73 73 69 6f | reserved."""..__all__.=.['Sessio |
7bb00 | 6e 27 2c 20 27 6c 6f 61 64 5f 73 65 73 73 69 6f 6e 27 5d 0a 0a 66 72 6f 6d 20 4d 32 43 72 79 70 | n',.'load_session']..from.M2Cryp |
7bb20 | 74 6f 20 69 6d 70 6f 72 74 20 42 49 4f 2c 20 45 72 72 2c 20 6d 32 2c 20 75 74 69 6c 0a 66 72 6f | to.import.BIO,.Err,.m2,.util.fro |
7bb40 | 6d 20 4d 32 43 72 79 70 74 6f 2e 53 53 4c 20 69 6d 70 6f 72 74 20 53 53 4c 45 72 72 6f 72 0a 69 | m.M2Crypto.SSL.import.SSLError.i |
7bb60 | 66 20 75 74 69 6c 2e 70 79 32 37 70 6c 75 73 3a 0a 20 20 20 20 66 72 6f 6d 20 74 79 70 69 6e 67 | f.util.py27plus:.....from.typing |
7bb80 | 20 69 6d 70 6f 72 74 20 41 6e 79 53 74 72 20 20 23 20 6e 6f 71 61 0a 0a 0a 63 6c 61 73 73 20 53 | .import.AnyStr..#.noqa...class.S |
7bba0 | 65 73 73 69 6f 6e 28 6f 62 6a 65 63 74 29 3a 0a 0a 20 20 20 20 6d 32 5f 73 73 6c 5f 73 65 73 73 | ession(object):......m2_ssl_sess |
7bbc0 | 69 6f 6e 5f 66 72 65 65 20 3d 20 6d 32 2e 73 73 6c 5f 73 65 73 73 69 6f 6e 5f 66 72 65 65 0a 0a | ion_free.=.m2.ssl_session_free.. |
7bbe0 | 20 20 20 20 64 65 66 20 5f 5f 69 6e 69 74 5f 5f 28 73 65 6c 66 2c 20 73 65 73 73 69 6f 6e 2c 20 | ....def.__init__(self,.session,. |
7bc00 | 5f 70 79 66 72 65 65 3d 30 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 62 79 74 | _pyfree=0):.........#.type:.(byt |
7bc20 | 65 73 2c 20 69 6e 74 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 20 | es,.int).->.None.........assert. |
7bc40 | 73 65 73 73 69 6f 6e 20 69 73 20 6e 6f 74 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 73 65 6c 66 | session.is.not.None.........self |
7bc60 | 2e 73 65 73 73 69 6f 6e 20 3d 20 73 65 73 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e | .session.=.session.........self. |
7bc80 | 5f 70 79 66 72 65 65 20 3d 20 5f 70 79 66 72 65 65 0a 0a 20 20 20 20 64 65 66 20 5f 5f 64 65 6c | _pyfree.=._pyfree......def.__del |
7bca0 | 5f 5f 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 | __(self):.........#.type:.().->. |
7bcc0 | 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 69 66 20 67 65 74 61 74 74 72 28 73 65 6c 66 2c 20 27 5f | None.........if.getattr(self,.'_ |
7bce0 | 70 79 66 72 65 65 27 2c 20 30 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 6d 32 | pyfree',.0):.............self.m2 |
7bd00 | 5f 73 73 6c 5f 73 65 73 73 69 6f 6e 5f 66 72 65 65 28 73 65 6c 66 2e 73 65 73 73 69 6f 6e 29 0a | _ssl_session_free(self.session). |
7bd20 | 0a 20 20 20 20 64 65 66 20 5f 70 74 72 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 | .....def._ptr(self):.........#.t |
7bd40 | 79 70 65 3a 20 28 29 20 2d 3e 20 62 79 74 65 73 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 | ype:.().->.bytes.........return. |
7bd60 | 73 65 6c 66 2e 73 65 73 73 69 6f 6e 0a 0a 20 20 20 20 64 65 66 20 61 73 5f 74 65 78 74 28 73 65 | self.session......def.as_text(se |
7bd80 | 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 62 79 74 65 73 | lf):.........#.type:.().->.bytes |
7bda0 | 0a 20 20 20 20 20 20 20 20 62 75 66 20 3d 20 42 49 4f 2e 4d 65 6d 6f 72 79 42 75 66 66 65 72 28 | .........buf.=.BIO.MemoryBuffer( |
7bdc0 | 29 0a 20 20 20 20 20 20 20 20 6d 32 2e 73 73 6c 5f 73 65 73 73 69 6f 6e 5f 70 72 69 6e 74 28 62 | ).........m2.ssl_session_print(b |
7bde0 | 75 66 2e 62 69 6f 5f 70 74 72 28 29 2c 20 73 65 6c 66 2e 73 65 73 73 69 6f 6e 29 0a 20 20 20 20 | uf.bio_ptr(),.self.session)..... |
7be00 | 20 20 20 20 72 65 74 75 72 6e 20 62 75 66 2e 72 65 61 64 5f 61 6c 6c 28 29 0a 0a 20 20 20 20 64 | ....return.buf.read_all()......d |
7be20 | 65 66 20 61 73 5f 64 65 72 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a | ef.as_der(self):.........#.type: |
7be40 | 20 28 29 20 2d 3e 20 62 79 74 65 73 0a 20 20 20 20 20 20 20 20 62 75 66 20 3d 20 42 49 4f 2e 4d | .().->.bytes.........buf.=.BIO.M |
7be60 | 65 6d 6f 72 79 42 75 66 66 65 72 28 29 0a 20 20 20 20 20 20 20 20 6d 32 2e 69 32 64 5f 73 73 6c | emoryBuffer().........m2.i2d_ssl |
7be80 | 5f 73 65 73 73 69 6f 6e 28 62 75 66 2e 62 69 6f 5f 70 74 72 28 29 2c 20 73 65 6c 66 2e 73 65 73 | _session(buf.bio_ptr(),.self.ses |
7bea0 | 73 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 62 75 66 2e 72 65 61 64 5f 61 6c | sion).........return.buf.read_al |
7bec0 | 6c 28 29 0a 0a 20 20 20 20 64 65 66 20 77 72 69 74 65 5f 62 69 6f 28 73 65 6c 66 2c 20 62 69 6f | l()......def.write_bio(self,.bio |
7bee0 | 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 42 49 4f 2e 42 49 4f 29 20 2d 3e 20 | ):.........#.type:.(BIO.BIO).->. |
7bf00 | 69 6e 74 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 73 73 6c 5f 73 65 73 73 69 6f | int.........return.m2.ssl_sessio |
7bf20 | 6e 5f 77 72 69 74 65 5f 62 69 6f 28 62 69 6f 2e 62 69 6f 5f 70 74 72 28 29 2c 20 73 65 6c 66 2e | n_write_bio(bio.bio_ptr(),.self. |
7bf40 | 73 65 73 73 69 6f 6e 29 0a 0a 20 20 20 20 64 65 66 20 67 65 74 5f 74 69 6d 65 28 73 65 6c 66 29 | session)......def.get_time(self) |
7bf60 | 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 | :.........#.type:.().->.int..... |
7bf80 | 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 73 73 6c 5f 73 65 73 73 69 6f 6e 5f 67 65 74 5f 74 69 | ....return.m2.ssl_session_get_ti |
7bfa0 | 6d 65 28 73 65 6c 66 2e 73 65 73 73 69 6f 6e 29 0a 0a 20 20 20 20 64 65 66 20 73 65 74 5f 74 69 | me(self.session)......def.set_ti |
7bfc0 | 6d 65 28 73 65 6c 66 2c 20 74 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 69 6e | me(self,.t):.........#.type:.(in |
7bfe0 | 74 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 73 73 6c 5f | t).->.int.........return.m2.ssl_ |
7c000 | 73 65 73 73 69 6f 6e 5f 73 65 74 5f 74 69 6d 65 28 73 65 6c 66 2e 73 65 73 73 69 6f 6e 2c 20 74 | session_set_time(self.session,.t |
7c020 | 29 0a 0a 20 20 20 20 64 65 66 20 67 65 74 5f 74 69 6d 65 6f 75 74 28 73 65 6c 66 29 3a 0a 20 20 | )......def.get_timeout(self):... |
7c040 | 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 | ......#.type:.().->.int......... |
7c060 | 72 65 74 75 72 6e 20 6d 32 2e 73 73 6c 5f 73 65 73 73 69 6f 6e 5f 67 65 74 5f 74 69 6d 65 6f 75 | return.m2.ssl_session_get_timeou |
7c080 | 74 28 73 65 6c 66 2e 73 65 73 73 69 6f 6e 29 0a 0a 20 20 20 20 64 65 66 20 73 65 74 5f 74 69 6d | t(self.session)......def.set_tim |
7c0a0 | 65 6f 75 74 28 73 65 6c 66 2c 20 74 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 | eout(self,.t):.........#.type:.( |
7c0c0 | 69 6e 74 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 32 2e 73 73 | int).->.int.........return.m2.ss |
7c0e0 | 6c 5f 73 65 73 73 69 6f 6e 5f 73 65 74 5f 74 69 6d 65 6f 75 74 28 73 65 6c 66 2e 73 65 73 73 69 | l_session_set_timeout(self.sessi |
7c100 | 6f 6e 2c 20 74 29 0a 0a 0a 64 65 66 20 6c 6f 61 64 5f 73 65 73 73 69 6f 6e 28 70 65 6d 66 69 6c | on,.t)...def.load_session(pemfil |
7c120 | 65 29 3a 0a 20 20 20 20 23 20 74 79 70 65 3a 20 28 41 6e 79 53 74 72 29 20 2d 3e 20 53 65 73 73 | e):.....#.type:.(AnyStr).->.Sess |
7c140 | 69 6f 6e 0a 20 20 20 20 77 69 74 68 20 42 49 4f 2e 6f 70 65 6e 66 69 6c 65 28 70 65 6d 66 69 6c | ion.....with.BIO.openfile(pemfil |
7c160 | 65 29 20 61 73 20 66 3a 0a 20 20 20 20 20 20 20 20 63 70 74 72 20 3d 20 6d 32 2e 73 73 6c 5f 73 | e).as.f:.........cptr.=.m2.ssl_s |
7c180 | 65 73 73 69 6f 6e 5f 72 65 61 64 5f 70 65 6d 28 66 2e 62 69 6f 5f 70 74 72 28 29 29 0a 0a 20 20 | ession_read_pem(f.bio_ptr()).... |
7c1a0 | 20 20 72 65 74 75 72 6e 20 53 65 73 73 69 6f 6e 28 63 70 74 72 2c 20 31 29 0a 94 7d 94 28 8c 10 | ..return.Session(cptr,.1)..}.(.. |
7c1c0 | 53 65 73 73 69 6f 6e 2e 5f 5f 69 6e 69 74 5f 5f 94 6a 74 1f 00 00 4b 11 4b 15 87 94 8c 0f 53 65 | Session.__init__.jt...K.K.....Se |
7c1e0 | 73 73 69 6f 6e 2e 5f 5f 64 65 6c 5f 5f 94 6a 74 1f 00 00 4b 17 4b 1a 87 94 8c 0c 53 65 73 73 69 | ssion.__del__.jt...K.K.....Sessi |
7c200 | 6f 6e 2e 5f 70 74 72 94 6a 74 1f 00 00 4b 1c 4b 1e 87 94 8c 0f 53 65 73 73 69 6f 6e 2e 61 73 5f | on._ptr.jt...K.K.....Session.as_ |
7c220 | 74 65 78 74 94 6a 74 1f 00 00 4b 20 4b 24 87 94 8c 0e 53 65 73 73 69 6f 6e 2e 61 73 5f 64 65 72 | text.jt...K.K$....Session.as_der |
7c240 | 94 6a 74 1f 00 00 4b 26 4b 2a 87 94 8c 11 53 65 73 73 69 6f 6e 2e 77 72 69 74 65 5f 62 69 6f 94 | .jt...K&K*....Session.write_bio. |
7c260 | 6a 74 1f 00 00 4b 2c 4b 2e 87 94 8c 10 53 65 73 73 69 6f 6e 2e 67 65 74 5f 74 69 6d 65 94 6a 74 | jt...K,K.....Session.get_time.jt |
7c280 | 1f 00 00 4b 30 4b 32 87 94 8c 10 53 65 73 73 69 6f 6e 2e 73 65 74 5f 74 69 6d 65 94 6a 74 1f 00 | ...K0K2....Session.set_time.jt.. |
7c2a0 | 00 4b 34 4b 36 87 94 8c 13 53 65 73 73 69 6f 6e 2e 67 65 74 5f 74 69 6d 65 6f 75 74 94 6a 74 1f | .K4K6....Session.get_timeout.jt. |
7c2c0 | 00 00 4b 38 4b 3a 87 94 8c 13 53 65 73 73 69 6f 6e 2e 73 65 74 5f 74 69 6d 65 6f 75 74 94 6a 74 | ..K8K:....Session.set_timeout.jt |
7c2e0 | 1f 00 00 4b 3c 4b 3e 87 94 8c 07 53 65 73 73 69 6f 6e 94 6a 7d 1f 00 00 4b 0d 4b 3e 87 94 8c 0c | ...K<K>....Session.j}...K.K>.... |
7c300 | 6c 6f 61 64 5f 73 65 73 73 69 6f 6e 94 6a 74 1f 00 00 4b 41 4b 46 87 94 75 7d 94 28 8c 07 53 65 | load_session.jt...KAKF..u}.(..Se |
7c320 | 73 73 69 6f 6e 94 6a 5c 02 00 00 8c 0e 53 65 73 73 69 6f 6e 2e 61 73 5f 64 65 72 94 6a 5c 02 00 | ssion.j\.....Session.as_der.j\.. |
7c340 | 00 8c 0f 53 65 73 73 69 6f 6e 2e 61 73 5f 74 65 78 74 94 6a 5c 02 00 00 8c 10 53 65 73 73 69 6f | ...Session.as_text.j\.....Sessio |
7c360 | 6e 2e 67 65 74 5f 74 69 6d 65 94 6a 5c 02 00 00 8c 13 53 65 73 73 69 6f 6e 2e 67 65 74 5f 74 69 | n.get_time.j\.....Session.get_ti |
7c380 | 6d 65 6f 75 74 94 6a 5c 02 00 00 8c 10 53 65 73 73 69 6f 6e 2e 73 65 74 5f 74 69 6d 65 94 6a 5c | meout.j\.....Session.set_time.j\ |
7c3a0 | 02 00 00 8c 13 53 65 73 73 69 6f 6e 2e 73 65 74 5f 74 69 6d 65 6f 75 74 94 6a 5c 02 00 00 8c 11 | .....Session.set_timeout.j\..... |
7c3c0 | 53 65 73 73 69 6f 6e 2e 77 72 69 74 65 5f 62 69 6f 94 6a 5c 02 00 00 8c 0c 6c 6f 61 64 5f 73 65 | Session.write_bio.j\.....load_se |
7c3e0 | 73 73 69 6f 6e 94 6a 5c 02 00 00 75 8c 14 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 53 65 73 73 69 | ssion.j\...u..M2Crypto.SSL.Sessi |
7c400 | 6f 6e 94 74 94 8c 23 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 54 77 69 73 74 65 64 50 72 6f 74 6f | on.t..#M2Crypto.SSL.TwistedProto |
7c420 | 63 6f 6c 57 72 61 70 70 65 72 94 28 58 52 46 00 00 22 22 22 0a 4d 61 6b 65 20 54 77 69 73 74 65 | colWrapper.(XRF..""".Make.Twiste |
7c440 | 64 20 75 73 65 20 4d 32 43 72 79 70 74 6f 20 66 6f 72 20 53 53 4c 0a 0a 43 6f 70 79 72 69 67 68 | d.use.M2Crypto.for.SSL..Copyrigh |
7c460 | 74 20 28 63 29 20 32 30 30 34 2d 32 30 30 37 20 4f 70 65 6e 20 53 6f 75 72 63 65 20 41 70 70 6c | t.(c).2004-2007.Open.Source.Appl |
7c480 | 69 63 61 74 69 6f 6e 73 20 46 6f 75 6e 64 61 74 69 6f 6e 2e 0a 41 6c 6c 20 72 69 67 68 74 73 20 | ications.Foundation..All.rights. |
7c4a0 | 72 65 73 65 72 76 65 64 2e 0a 0a 46 49 58 4d 45 20 54 48 49 53 20 48 41 53 20 4e 4f 54 20 42 45 | reserved...FIXME.THIS.HAS.NOT.BE |
7c4c0 | 45 4e 20 46 49 4e 49 53 48 45 44 2e 20 4e 45 49 54 48 45 52 20 50 45 50 34 38 34 20 4e 4f 52 20 | EN.FINISHED..NEITHER.PEP484.NOR. |
7c4e0 | 50 4f 52 54 20 50 59 54 48 4f 4e 33 20 48 41 53 0a 42 45 45 4e 20 46 49 4e 49 53 48 45 44 2e 20 | PORT.PYTHON3.HAS.BEEN.FINISHED.. |
7c500 | 54 48 45 20 46 55 52 54 48 45 52 20 57 4f 52 4b 20 57 49 4c 4c 20 42 45 20 44 4f 4e 45 20 57 48 | THE.FURTHER.WORK.WILL.BE.DONE.WH |
7c520 | 45 4e 20 54 48 45 20 53 54 41 54 55 53 20 4f 46 20 54 57 49 53 54 45 44 0a 49 4e 20 54 48 45 20 | EN.THE.STATUS.OF.TWISTED.IN.THE. |
7c540 | 50 59 54 48 4f 4e 20 33 20 28 41 4e 44 20 41 53 59 4e 43 49 4f 29 20 57 4f 52 4c 44 20 57 49 4c | PYTHON.3.(AND.ASYNCIO).WORLD.WIL |
7c560 | 4c 20 42 45 20 43 4c 45 41 52 2e 0a 22 22 22 0a 0a 5f 5f 61 6c 6c 5f 5f 20 3d 20 5b 27 63 6f 6e | L.BE.CLEAR.."""..__all__.=.['con |
7c580 | 6e 65 63 74 53 53 4c 27 2c 20 27 63 6f 6e 6e 65 63 74 54 43 50 27 2c 20 27 6c 69 73 74 65 6e 53 | nectSSL',.'connectTCP',.'listenS |
7c5a0 | 53 4c 27 2c 20 27 6c 69 73 74 65 6e 54 43 50 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 27 54 4c | SL',.'listenTCP',............'TL |
7c5c0 | 53 50 72 6f 74 6f 63 6f 6c 57 72 61 70 70 65 72 27 5d 0a 0a 69 6d 70 6f 72 74 20 6c 6f 67 67 69 | SProtocolWrapper']..import.loggi |
7c5e0 | 6e 67 0a 0a 66 72 6f 6d 20 66 75 6e 63 74 6f 6f 6c 73 20 69 6d 70 6f 72 74 20 70 61 72 74 69 61 | ng..from.functools.import.partia |
7c600 | 6c 0a 0a 69 6d 70 6f 72 74 20 74 77 69 73 74 65 64 2e 69 6e 74 65 72 6e 65 74 2e 72 65 61 63 74 | l..import.twisted.internet.react |
7c620 | 6f 72 0a 69 6d 70 6f 72 74 20 74 77 69 73 74 65 64 2e 70 72 6f 74 6f 63 6f 6c 73 2e 70 6f 6c 69 | or.import.twisted.protocols.poli |
7c640 | 63 69 65 73 20 61 73 20 70 6f 6c 69 63 69 65 73 0a 0a 66 72 6f 6d 20 4d 32 43 72 79 70 74 6f 20 | cies.as.policies..from.M2Crypto. |
7c660 | 69 6d 70 6f 72 74 20 42 49 4f 2c 20 58 35 30 39 2c 20 6d 32 2c 20 75 74 69 6c 0a 66 72 6f 6d 20 | import.BIO,.X509,.m2,.util.from. |
7c680 | 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 68 65 63 6b 65 72 20 69 6d 70 6f 72 74 20 43 68 65 63 | M2Crypto.SSL.Checker.import.Chec |
7c6a0 | 6b 65 72 2c 20 53 53 4c 56 65 72 69 66 69 63 61 74 69 6f 6e 45 72 72 6f 72 0a 0a 66 72 6f 6d 20 | ker,.SSLVerificationError..from. |
7c6c0 | 74 77 69 73 74 65 64 2e 69 6e 74 65 72 6e 65 74 2e 69 6e 74 65 72 66 61 63 65 73 20 69 6d 70 6f | twisted.internet.interfaces.impo |
7c6e0 | 72 74 20 49 54 4c 53 54 72 61 6e 73 70 6f 72 74 0a 66 72 6f 6d 20 74 77 69 73 74 65 64 2e 70 72 | rt.ITLSTransport.from.twisted.pr |
7c700 | 6f 74 6f 63 6f 6c 73 2e 70 6f 6c 69 63 69 65 73 20 69 6d 70 6f 72 74 20 50 72 6f 74 6f 63 6f 6c | otocols.policies.import.Protocol |
7c720 | 57 72 61 70 70 65 72 0a 69 66 20 75 74 69 6c 2e 70 79 32 37 70 6c 75 73 3a 0a 20 20 20 20 66 72 | Wrapper.if.util.py27plus:.....fr |
7c740 | 6f 6d 20 74 79 70 69 6e 67 20 69 6d 70 6f 72 74 20 41 6e 79 53 74 72 2c 20 43 61 6c 6c 61 62 6c | om.typing.import.AnyStr,.Callabl |
7c760 | 65 2c 20 49 74 65 72 61 62 6c 65 2c 20 4f 70 74 69 6f 6e 61 6c 20 20 23 20 6e 6f 71 61 0a 20 20 | e,.Iterable,.Optional..#.noqa... |
7c780 | 20 20 66 72 6f 6d 20 7a 6f 70 65 2e 69 6e 74 65 72 66 61 63 65 20 69 6d 70 6f 72 74 20 69 6d 70 | ..from.zope.interface.import.imp |
7c7a0 | 6c 65 6d 65 6e 74 65 72 0a 0a 6c 6f 67 20 3d 20 6c 6f 67 67 69 6e 67 2e 67 65 74 4c 6f 67 67 65 | lementer..log.=.logging.getLogge |
7c7c0 | 72 28 5f 5f 6e 61 6d 65 5f 5f 29 0a 0a 0a 64 65 66 20 5f 61 6c 77 61 79 73 53 75 63 63 65 65 64 | r(__name__)...def._alwaysSucceed |
7c7e0 | 73 50 6f 73 74 43 6f 6e 6e 65 63 74 69 6f 6e 43 68 65 63 6b 28 70 65 65 72 58 35 30 39 2c 20 65 | sPostConnectionCheck(peerX509,.e |
7c800 | 78 70 65 63 74 65 64 48 6f 73 74 29 3a 0a 20 20 20 20 72 65 74 75 72 6e 20 31 0a 0a 0a 64 65 66 | xpectedHost):.....return.1...def |
7c820 | 20 63 6f 6e 6e 65 63 74 53 53 4c 28 68 6f 73 74 2c 20 70 6f 72 74 2c 20 66 61 63 74 6f 72 79 2c | .connectSSL(host,.port,.factory, |
7c840 | 20 63 6f 6e 74 65 78 74 46 61 63 74 6f 72 79 2c 20 74 69 6d 65 6f 75 74 3d 33 30 2c 0a 20 20 20 | .contextFactory,.timeout=30,.... |
7c860 | 20 20 20 20 20 20 20 20 20 20 20 20 62 69 6e 64 41 64 64 72 65 73 73 3d 4e 6f 6e 65 2c 0a 20 20 | ............bindAddress=None,... |
7c880 | 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 61 63 74 6f 72 3d 74 77 69 73 74 65 64 2e 69 6e 74 | .............reactor=twisted.int |
7c8a0 | 65 72 6e 65 74 2e 72 65 61 63 74 6f 72 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 6f | ernet.reactor,................po |
7c8c0 | 73 74 43 6f 6e 6e 65 63 74 69 6f 6e 43 68 65 63 6b 3d 43 68 65 63 6b 65 72 28 29 29 3a 0a 20 20 | stConnectionCheck=Checker()):... |
7c8e0 | 20 20 23 20 74 79 70 65 3a 20 28 73 74 72 2c 20 69 6e 74 2c 20 6f 62 6a 65 63 74 2c 20 6f 62 6a | ..#.type:.(str,.int,.object,.obj |
7c900 | 65 63 74 2c 20 69 6e 74 2c 20 4f 70 74 69 6f 6e 61 6c 5b 73 74 72 5d 2c 20 74 77 69 73 74 65 64 | ect,.int,.Optional[str],.twisted |
7c920 | 2e 69 6e 74 65 72 6e 65 74 2e 72 65 61 63 74 6f 72 2c 20 43 68 65 63 6b 65 72 29 20 2d 3e 20 72 | .internet.reactor,.Checker).->.r |
7c940 | 65 61 63 74 6f 72 2e 63 6f 6e 6e 65 63 74 54 43 50 0a 20 20 20 20 22 22 22 0a 20 20 20 20 41 20 | eactor.connectTCP.....""".....A. |
7c960 | 63 6f 6e 76 65 6e 69 65 6e 63 65 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 73 74 61 72 74 20 61 6e | convenience.function.to.start.an |
7c980 | 20 53 53 4c 2f 54 4c 53 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 75 73 69 6e 67 20 54 77 69 73 74 65 | .SSL/TLS.connection.using.Twiste |
7c9a0 | 64 2e 0a 0a 20 20 20 20 53 65 65 20 49 52 65 61 63 74 6f 72 53 53 4c 20 69 6e 74 65 72 66 61 63 | d.......See.IReactorSSL.interfac |
7c9c0 | 65 20 69 6e 20 54 77 69 73 74 65 64 2e 0a 20 20 20 20 22 22 22 0a 20 20 20 20 77 72 61 70 70 69 | e.in.Twisted......""".....wrappi |
7c9e0 | 6e 67 46 61 63 74 6f 72 79 20 3d 20 70 6f 6c 69 63 69 65 73 2e 57 72 61 70 70 69 6e 67 46 61 63 | ngFactory.=.policies.WrappingFac |
7ca00 | 74 6f 72 79 28 66 61 63 74 6f 72 79 29 0a 20 20 20 20 77 72 61 70 70 69 6e 67 46 61 63 74 6f 72 | tory(factory).....wrappingFactor |
7ca20 | 79 2e 70 72 6f 74 6f 63 6f 6c 20 3d 20 6c 61 6d 62 64 61 20 66 61 63 74 6f 72 79 2c 20 77 72 61 | y.protocol.=.lambda.factory,.wra |
7ca40 | 70 70 65 64 50 72 6f 74 6f 63 6f 6c 3a 20 5c 0a 20 20 20 20 20 20 20 20 54 4c 53 50 72 6f 74 6f | ppedProtocol:.\.........TLSProto |
7ca60 | 63 6f 6c 57 72 61 70 70 65 72 28 66 61 63 74 6f 72 79 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 | colWrapper(factory,............. |
7ca80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 72 61 70 70 65 64 50 72 6f 74 6f 63 6f 6c 2c 0a | ...............wrappedProtocol,. |
7caa0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 72 74 | ...........................start |
7cac0 | 50 61 73 73 54 68 72 6f 75 67 68 3d 30 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | PassThrough=0,.................. |
7cae0 | 20 20 20 20 20 20 20 20 20 20 63 6c 69 65 6e 74 3d 31 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ..........client=1,............. |
7cb00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 65 78 74 46 61 63 74 6f 72 79 3d 63 6f | ...............contextFactory=co |
7cb20 | 6e 74 65 78 74 46 61 63 74 6f 72 79 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ntextFactory,................... |
7cb40 | 20 20 20 20 20 20 20 20 20 70 6f 73 74 43 6f 6e 6e 65 63 74 69 6f 6e 43 68 65 63 6b 3d 70 6f 73 | .........postConnectionCheck=pos |
7cb60 | 74 43 6f 6e 6e 65 63 74 69 6f 6e 43 68 65 63 6b 29 0a 20 20 20 20 72 65 74 75 72 6e 20 72 65 61 | tConnectionCheck).....return.rea |
7cb80 | 63 74 6f 72 2e 63 6f 6e 6e 65 63 74 54 43 50 28 68 6f 73 74 2c 20 70 6f 72 74 2c 20 77 72 61 70 | ctor.connectTCP(host,.port,.wrap |
7cba0 | 70 69 6e 67 46 61 63 74 6f 72 79 2c 20 74 69 6d 65 6f 75 74 2c 20 62 69 6e 64 41 64 64 72 65 73 | pingFactory,.timeout,.bindAddres |
7cbc0 | 73 29 0a 0a 0a 64 65 66 20 63 6f 6e 6e 65 63 74 54 43 50 28 68 6f 73 74 2c 20 70 6f 72 74 2c 20 | s)...def.connectTCP(host,.port,. |
7cbe0 | 66 61 63 74 6f 72 79 2c 20 74 69 6d 65 6f 75 74 3d 33 30 2c 20 62 69 6e 64 41 64 64 72 65 73 73 | factory,.timeout=30,.bindAddress |
7cc00 | 3d 4e 6f 6e 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 61 63 74 6f 72 3d 74 77 | =None,................reactor=tw |
7cc20 | 69 73 74 65 64 2e 69 6e 74 65 72 6e 65 74 2e 72 65 61 63 74 6f 72 2c 0a 20 20 20 20 20 20 20 20 | isted.internet.reactor,......... |
7cc40 | 20 20 20 20 20 20 20 70 6f 73 74 43 6f 6e 6e 65 63 74 69 6f 6e 43 68 65 63 6b 3d 43 68 65 63 6b | .......postConnectionCheck=Check |
7cc60 | 65 72 28 29 29 3a 0a 20 20 20 20 23 20 74 79 70 65 3a 20 28 73 74 72 2c 20 69 6e 74 2c 20 6f 62 | er()):.....#.type:.(str,.int,.ob |
7cc80 | 6a 65 63 74 2c 20 69 6e 74 2c 20 4f 70 74 69 6f 6e 61 6c 5b 75 74 69 6c 2e 41 64 64 72 54 79 70 | ject,.int,.Optional[util.AddrTyp |
7cca0 | 65 5d 2c 20 6f 62 6a 65 63 74 2c 20 43 61 6c 6c 61 62 6c 65 29 20 2d 3e 20 6f 62 6a 65 63 74 0a | e],.object,.Callable).->.object. |
7ccc0 | 20 20 20 20 22 22 22 0a 20 20 20 20 41 20 63 6f 6e 76 65 6e 69 65 6e 63 65 20 66 75 6e 63 74 69 | ....""".....A.convenience.functi |
7cce0 | 6f 6e 20 74 6f 20 73 74 61 72 74 20 61 20 54 43 50 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 75 73 69 | on.to.start.a.TCP.connection.usi |
7cd00 | 6e 67 20 54 77 69 73 74 65 64 2e 0a 0a 20 20 20 20 4e 4f 54 45 3a 20 59 6f 75 20 6d 75 73 74 20 | ng.Twisted.......NOTE:.You.must. |
7cd20 | 63 61 6c 6c 20 73 74 61 72 74 54 4c 53 28 63 74 78 29 20 74 6f 20 67 6f 20 69 6e 74 6f 20 53 53 | call.startTLS(ctx).to.go.into.SS |
7cd40 | 4c 2f 54 4c 53 20 6d 6f 64 65 2e 0a 0a 20 20 20 20 53 65 65 20 49 52 65 61 63 74 6f 72 54 43 50 | L/TLS.mode.......See.IReactorTCP |
7cd60 | 20 69 6e 74 65 72 66 61 63 65 20 69 6e 20 54 77 69 73 74 65 64 2e 0a 20 20 20 20 22 22 22 0a 20 | .interface.in.Twisted......""".. |
7cd80 | 20 20 20 77 72 61 70 70 69 6e 67 46 61 63 74 6f 72 79 20 3d 20 70 6f 6c 69 63 69 65 73 2e 57 72 | ...wrappingFactory.=.policies.Wr |
7cda0 | 61 70 70 69 6e 67 46 61 63 74 6f 72 79 28 66 61 63 74 6f 72 79 29 0a 20 20 20 20 77 72 61 70 70 | appingFactory(factory).....wrapp |
7cdc0 | 69 6e 67 46 61 63 74 6f 72 79 2e 70 72 6f 74 6f 63 6f 6c 20 3d 20 6c 61 6d 62 64 61 20 66 61 63 | ingFactory.protocol.=.lambda.fac |
7cde0 | 74 6f 72 79 2c 20 77 72 61 70 70 65 64 50 72 6f 74 6f 63 6f 6c 3a 20 5c 0a 20 20 20 20 20 20 20 | tory,.wrappedProtocol:.\........ |
7ce00 | 20 54 4c 53 50 72 6f 74 6f 63 6f 6c 57 72 61 70 70 65 72 28 66 61 63 74 6f 72 79 2c 0a 20 20 20 | .TLSProtocolWrapper(factory,.... |
7ce20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 72 61 70 70 65 64 50 | ........................wrappedP |
7ce40 | 72 6f 74 6f 63 6f 6c 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | rotocol,........................ |
7ce60 | 20 20 20 20 73 74 61 72 74 50 61 73 73 54 68 72 6f 75 67 68 3d 31 2c 0a 20 20 20 20 20 20 20 20 | ....startPassThrough=1,......... |
7ce80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6c 69 65 6e 74 3d 31 2c 0a 20 20 20 | ...................client=1,.... |
7cea0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 65 78 74 46 | ........................contextF |
7cec0 | 61 63 74 6f 72 79 3d 4e 6f 6e 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | actory=None,.................... |
7cee0 | 20 20 20 20 20 20 20 20 70 6f 73 74 43 6f 6e 6e 65 63 74 69 6f 6e 43 68 65 63 6b 3d 70 6f 73 74 | ........postConnectionCheck=post |
7cf00 | 43 6f 6e 6e 65 63 74 69 6f 6e 43 68 65 63 6b 29 0a 20 20 20 20 72 65 74 75 72 6e 20 72 65 61 63 | ConnectionCheck).....return.reac |
7cf20 | 74 6f 72 2e 63 6f 6e 6e 65 63 74 54 43 50 28 68 6f 73 74 2c 20 70 6f 72 74 2c 20 77 72 61 70 70 | tor.connectTCP(host,.port,.wrapp |
7cf40 | 69 6e 67 46 61 63 74 6f 72 79 2c 20 74 69 6d 65 6f 75 74 2c 20 62 69 6e 64 41 64 64 72 65 73 73 | ingFactory,.timeout,.bindAddress |
7cf60 | 29 0a 0a 0a 64 65 66 20 6c 69 73 74 65 6e 53 53 4c 28 70 6f 72 74 2c 20 66 61 63 74 6f 72 79 2c | )...def.listenSSL(port,.factory, |
7cf80 | 20 63 6f 6e 74 65 78 74 46 61 63 74 6f 72 79 2c 20 62 61 63 6b 6c 6f 67 3d 35 2c 20 69 6e 74 65 | .contextFactory,.backlog=5,.inte |
7cfa0 | 72 66 61 63 65 3d 27 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 61 63 74 6f 72 3d | rface='',...............reactor= |
7cfc0 | 74 77 69 73 74 65 64 2e 69 6e 74 65 72 6e 65 74 2e 72 65 61 63 74 6f 72 2c 0a 20 20 20 20 20 20 | twisted.internet.reactor,....... |
7cfe0 | 20 20 20 20 20 20 20 20 70 6f 73 74 43 6f 6e 6e 65 63 74 69 6f 6e 43 68 65 63 6b 3d 5f 61 6c 77 | ........postConnectionCheck=_alw |
7d000 | 61 79 73 53 75 63 63 65 65 64 73 50 6f 73 74 43 6f 6e 6e 65 63 74 69 6f 6e 43 68 65 63 6b 29 3a | aysSucceedsPostConnectionCheck): |
7d020 | 0a 20 20 20 20 22 22 22 0a 20 20 20 20 41 20 63 6f 6e 76 65 6e 69 65 6e 63 65 20 66 75 6e 63 74 | .....""".....A.convenience.funct |
7d040 | 69 6f 6e 20 74 6f 20 6c 69 73 74 65 6e 20 66 6f 72 20 53 53 4c 2f 54 4c 53 20 63 6f 6e 6e 65 63 | ion.to.listen.for.SSL/TLS.connec |
7d060 | 74 69 6f 6e 73 20 75 73 69 6e 67 20 54 77 69 73 74 65 64 2e 0a 0a 20 20 20 20 53 65 65 20 49 52 | tions.using.Twisted.......See.IR |
7d080 | 65 61 63 74 6f 72 53 53 4c 20 69 6e 74 65 72 66 61 63 65 20 69 6e 20 54 77 69 73 74 65 64 2e 0a | eactorSSL.interface.in.Twisted.. |
7d0a0 | 20 20 20 20 22 22 22 0a 20 20 20 20 77 72 61 70 70 69 6e 67 46 61 63 74 6f 72 79 20 3d 20 70 6f | ....""".....wrappingFactory.=.po |
7d0c0 | 6c 69 63 69 65 73 2e 57 72 61 70 70 69 6e 67 46 61 63 74 6f 72 79 28 66 61 63 74 6f 72 79 29 0a | licies.WrappingFactory(factory). |
7d0e0 | 20 20 20 20 77 72 61 70 70 69 6e 67 46 61 63 74 6f 72 79 2e 70 72 6f 74 6f 63 6f 6c 20 3d 20 6c | ....wrappingFactory.protocol.=.l |
7d100 | 61 6d 62 64 61 20 66 61 63 74 6f 72 79 2c 20 77 72 61 70 70 65 64 50 72 6f 74 6f 63 6f 6c 3a 20 | ambda.factory,.wrappedProtocol:. |
7d120 | 5c 0a 20 20 20 20 20 20 20 20 54 4c 53 50 72 6f 74 6f 63 6f 6c 57 72 61 70 70 65 72 28 66 61 63 | \.........TLSProtocolWrapper(fac |
7d140 | 74 6f 72 79 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | tory,........................... |
7d160 | 20 77 72 61 70 70 65 64 50 72 6f 74 6f 63 6f 6c 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .wrappedProtocol,............... |
7d180 | 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 72 74 50 61 73 73 54 68 72 6f 75 67 68 3d 30 2c | .............startPassThrough=0, |
7d1a0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6c 69 65 | ............................clie |
7d1c0 | 6e 74 3d 30 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | nt=0,........................... |
7d1e0 | 20 63 6f 6e 74 65 78 74 46 61 63 74 6f 72 79 3d 63 6f 6e 74 65 78 74 46 61 63 74 6f 72 79 2c 0a | .contextFactory=contextFactory,. |
7d200 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 6f 73 74 43 | ...........................postC |
7d220 | 6f 6e 6e 65 63 74 69 6f 6e 43 68 65 63 6b 3d 70 6f 73 74 43 6f 6e 6e 65 63 74 69 6f 6e 43 68 65 | onnectionCheck=postConnectionChe |
7d240 | 63 6b 29 0a 20 20 20 20 72 65 74 75 72 6e 20 72 65 61 63 74 6f 72 2e 6c 69 73 74 65 6e 54 43 50 | ck).....return.reactor.listenTCP |
7d260 | 28 70 6f 72 74 2c 20 77 72 61 70 70 69 6e 67 46 61 63 74 6f 72 79 2c 20 62 61 63 6b 6c 6f 67 2c | (port,.wrappingFactory,.backlog, |
7d280 | 20 69 6e 74 65 72 66 61 63 65 29 0a 0a 0a 64 65 66 20 6c 69 73 74 65 6e 54 43 50 28 70 6f 72 74 | .interface)...def.listenTCP(port |
7d2a0 | 2c 20 66 61 63 74 6f 72 79 2c 20 62 61 63 6b 6c 6f 67 3d 35 2c 20 69 6e 74 65 72 66 61 63 65 3d | ,.factory,.backlog=5,.interface= |
7d2c0 | 27 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 61 63 74 6f 72 3d 74 77 69 73 74 65 | '',...............reactor=twiste |
7d2e0 | 64 2e 69 6e 74 65 72 6e 65 74 2e 72 65 61 63 74 6f 72 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 | d.internet.reactor,............. |
7d300 | 20 20 70 6f 73 74 43 6f 6e 6e 65 63 74 69 6f 6e 43 68 65 63 6b 3d 4e 6f 6e 65 29 3a 0a 20 20 20 | ..postConnectionCheck=None):.... |
7d320 | 20 22 22 22 0a 20 20 20 20 41 20 63 6f 6e 76 65 6e 69 65 6e 63 65 20 66 75 6e 63 74 69 6f 6e 20 | .""".....A.convenience.function. |
7d340 | 74 6f 20 6c 69 73 74 65 6e 20 66 6f 72 20 54 43 50 20 63 6f 6e 6e 65 63 74 69 6f 6e 73 20 75 73 | to.listen.for.TCP.connections.us |
7d360 | 69 6e 67 20 54 77 69 73 74 65 64 2e 0a 0a 20 20 20 20 4e 4f 54 45 3a 20 59 6f 75 20 6d 75 73 74 | ing.Twisted.......NOTE:.You.must |
7d380 | 20 63 61 6c 6c 20 73 74 61 72 74 54 4c 53 28 63 74 78 29 20 74 6f 20 67 6f 20 69 6e 74 6f 20 53 | .call.startTLS(ctx).to.go.into.S |
7d3a0 | 53 4c 2f 54 4c 53 20 6d 6f 64 65 2e 0a 0a 20 20 20 20 53 65 65 20 49 52 65 61 63 74 6f 72 54 43 | SL/TLS.mode.......See.IReactorTC |
7d3c0 | 50 20 69 6e 74 65 72 66 61 63 65 20 69 6e 20 54 77 69 73 74 65 64 2e 0a 20 20 20 20 22 22 22 0a | P.interface.in.Twisted......""". |
7d3e0 | 20 20 20 20 77 72 61 70 70 69 6e 67 46 61 63 74 6f 72 79 20 3d 20 70 6f 6c 69 63 69 65 73 2e 57 | ....wrappingFactory.=.policies.W |
7d400 | 72 61 70 70 69 6e 67 46 61 63 74 6f 72 79 28 66 61 63 74 6f 72 79 29 0a 20 20 20 20 77 72 61 70 | rappingFactory(factory).....wrap |
7d420 | 70 69 6e 67 46 61 63 74 6f 72 79 2e 70 72 6f 74 6f 63 6f 6c 20 3d 20 6c 61 6d 62 64 61 20 66 61 | pingFactory.protocol.=.lambda.fa |
7d440 | 63 74 6f 72 79 2c 20 77 72 61 70 70 65 64 50 72 6f 74 6f 63 6f 6c 3a 20 5c 0a 20 20 20 20 20 20 | ctory,.wrappedProtocol:.\....... |
7d460 | 20 20 54 4c 53 50 72 6f 74 6f 63 6f 6c 57 72 61 70 70 65 72 28 66 61 63 74 6f 72 79 2c 0a 20 20 | ..TLSProtocolWrapper(factory,... |
7d480 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 72 61 70 70 65 64 | .........................wrapped |
7d4a0 | 50 72 6f 74 6f 63 6f 6c 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | Protocol,....................... |
7d4c0 | 20 20 20 20 20 73 74 61 72 74 50 61 73 73 54 68 72 6f 75 67 68 3d 31 2c 0a 20 20 20 20 20 20 20 | .....startPassThrough=1,........ |
7d4e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6c 69 65 6e 74 3d 30 2c 0a 20 20 | ....................client=0,... |
7d500 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 65 78 74 | .........................context |
7d520 | 46 61 63 74 6f 72 79 3d 4e 6f 6e 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | Factory=None,................... |
7d540 | 20 20 20 20 20 20 20 20 20 70 6f 73 74 43 6f 6e 6e 65 63 74 69 6f 6e 43 68 65 63 6b 3d 70 6f 73 | .........postConnectionCheck=pos |
7d560 | 74 43 6f 6e 6e 65 63 74 69 6f 6e 43 68 65 63 6b 29 0a 20 20 20 20 72 65 74 75 72 6e 20 72 65 61 | tConnectionCheck).....return.rea |
7d580 | 63 74 6f 72 2e 6c 69 73 74 65 6e 54 43 50 28 70 6f 72 74 2c 20 77 72 61 70 70 69 6e 67 46 61 63 | ctor.listenTCP(port,.wrappingFac |
7d5a0 | 74 6f 72 79 2c 20 62 61 63 6b 6c 6f 67 2c 20 69 6e 74 65 72 66 61 63 65 29 0a 0a 0a 63 6c 61 73 | tory,.backlog,.interface)...clas |
7d5c0 | 73 20 5f 42 69 6f 50 72 6f 78 79 28 6f 62 6a 65 63 74 29 3a 0a 20 20 20 20 22 22 22 0a 20 20 20 | s._BioProxy(object):.....""".... |
7d5e0 | 20 54 68 65 20 70 75 72 70 6f 73 65 20 6f 66 20 74 68 69 73 20 63 6c 61 73 73 20 69 73 20 74 6f | .The.purpose.of.this.class.is.to |
7d600 | 20 65 6c 69 6d 69 6e 61 74 65 20 74 68 65 20 5f 5f 64 65 6c 5f 5f 20 6d 65 74 68 6f 64 20 66 72 | .eliminate.the.__del__.method.fr |
7d620 | 6f 6d 0a 20 20 20 20 54 4c 53 50 72 6f 74 6f 63 6f 6c 57 72 61 70 70 65 72 2c 20 61 6e 64 20 74 | om.....TLSProtocolWrapper,.and.t |
7d640 | 68 75 73 20 6c 65 74 74 69 6e 67 20 69 74 20 62 65 20 67 61 72 62 61 67 65 20 63 6f 6c 6c 65 63 | hus.letting.it.be.garbage.collec |
7d660 | 74 65 64 2e 0a 20 20 20 20 22 22 22 0a 0a 20 20 20 20 6d 32 5f 62 69 6f 5f 66 72 65 65 5f 61 6c | ted......"""......m2_bio_free_al |
7d680 | 6c 20 3d 20 6d 32 2e 62 69 6f 5f 66 72 65 65 5f 61 6c 6c 0a 0a 20 20 20 20 64 65 66 20 5f 5f 69 | l.=.m2.bio_free_all......def.__i |
7d6a0 | 6e 69 74 5f 5f 28 73 65 6c 66 2c 20 62 69 6f 29 3a 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 62 | nit__(self,.bio):.........self.b |
7d6c0 | 69 6f 20 3d 20 62 69 6f 0a 0a 20 20 20 20 64 65 66 20 5f 70 74 72 28 73 65 6c 66 29 3a 0a 20 20 | io.=.bio......def._ptr(self):... |
7d6e0 | 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 2e 62 69 6f 0a 0a 20 20 20 20 64 65 66 20 5f | ......return.self.bio......def._ |
7d700 | 5f 64 65 6c 5f 5f 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 69 66 20 73 65 6c 66 2e 62 69 | _del__(self):.........if.self.bi |
7d720 | 6f 20 69 73 20 6e 6f 74 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e | o.is.not.None:.............self. |
7d740 | 6d 32 5f 62 69 6f 5f 66 72 65 65 5f 61 6c 6c 28 73 65 6c 66 2e 62 69 6f 29 0a 0a 0a 63 6c 61 73 | m2_bio_free_all(self.bio)...clas |
7d760 | 73 20 5f 53 53 4c 50 72 6f 78 79 28 6f 62 6a 65 63 74 29 3a 0a 20 20 20 20 22 22 22 0a 20 20 20 | s._SSLProxy(object):.....""".... |
7d780 | 20 54 68 65 20 70 75 72 70 6f 73 65 20 6f 66 20 74 68 69 73 20 63 6c 61 73 73 20 69 73 20 74 6f | .The.purpose.of.this.class.is.to |
7d7a0 | 20 65 6c 69 6d 69 6e 61 74 65 20 74 68 65 20 5f 5f 64 65 6c 5f 5f 20 6d 65 74 68 6f 64 20 66 72 | .eliminate.the.__del__.method.fr |
7d7c0 | 6f 6d 0a 20 20 20 20 54 4c 53 50 72 6f 74 6f 63 6f 6c 57 72 61 70 70 65 72 2c 20 61 6e 64 20 74 | om.....TLSProtocolWrapper,.and.t |
7d7e0 | 68 75 73 20 6c 65 74 74 69 6e 67 20 69 74 20 62 65 20 67 61 72 62 61 67 65 20 63 6f 6c 6c 65 63 | hus.letting.it.be.garbage.collec |
7d800 | 74 65 64 2e 0a 20 20 20 20 22 22 22 0a 0a 20 20 20 20 6d 32 5f 73 73 6c 5f 66 72 65 65 20 3d 20 | ted......"""......m2_ssl_free.=. |
7d820 | 6d 32 2e 73 73 6c 5f 66 72 65 65 0a 0a 20 20 20 20 64 65 66 20 5f 5f 69 6e 69 74 5f 5f 28 73 65 | m2.ssl_free......def.__init__(se |
7d840 | 6c 66 2c 20 73 73 6c 29 3a 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 73 6c 20 3d 20 73 73 6c | lf,.ssl):.........self.ssl.=.ssl |
7d860 | 0a 0a 20 20 20 20 64 65 66 20 5f 70 74 72 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 72 65 | ......def._ptr(self):.........re |
7d880 | 74 75 72 6e 20 73 65 6c 66 2e 73 73 6c 0a 0a 20 20 20 20 64 65 66 20 5f 5f 64 65 6c 5f 5f 28 73 | turn.self.ssl......def.__del__(s |
7d8a0 | 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 69 66 20 73 65 6c 66 2e 73 73 6c 20 69 73 20 6e 6f 74 | elf):.........if.self.ssl.is.not |
7d8c0 | 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 6d 32 5f 73 73 6c 5f 66 | .None:.............self.m2_ssl_f |
7d8e0 | 72 65 65 28 73 65 6c 66 2e 73 73 6c 29 0a 0a 0a 40 69 6d 70 6c 65 6d 65 6e 74 65 72 28 49 54 4c | ree(self.ssl)...@implementer(ITL |
7d900 | 53 54 72 61 6e 73 70 6f 72 74 29 0a 63 6c 61 73 73 20 54 4c 53 50 72 6f 74 6f 63 6f 6c 57 72 61 | STransport).class.TLSProtocolWra |
7d920 | 70 70 65 72 28 50 72 6f 74 6f 63 6f 6c 57 72 61 70 70 65 72 29 3a 0a 20 20 20 20 22 22 22 0a 20 | pper(ProtocolWrapper):.....""".. |
7d940 | 20 20 20 41 20 53 53 4c 2f 54 4c 53 20 70 72 6f 74 6f 63 6f 6c 20 77 72 61 70 70 65 72 20 74 6f | ...A.SSL/TLS.protocol.wrapper.to |
7d960 | 20 62 65 20 75 73 65 64 20 77 69 74 68 20 54 77 69 73 74 65 64 2e 20 54 79 70 69 63 61 6c 6c 79 | .be.used.with.Twisted..Typically |
7d980 | 0a 20 20 20 20 79 6f 75 20 77 6f 75 6c 64 20 6e 6f 74 20 75 73 65 20 74 68 69 73 20 63 6c 61 73 | .....you.would.not.use.this.clas |
7d9a0 | 73 20 64 69 72 65 63 74 6c 79 2e 20 55 73 65 20 63 6f 6e 6e 65 63 74 54 43 50 2c 0a 20 20 20 20 | s.directly..Use.connectTCP,..... |
7d9c0 | 63 6f 6e 6e 65 63 74 53 53 4c 2c 20 6c 69 73 74 65 6e 54 43 50 2c 20 6c 69 73 74 65 6e 53 53 4c | connectSSL,.listenTCP,.listenSSL |
7d9e0 | 20 66 75 6e 63 74 69 6f 6e 73 20 64 65 66 69 6e 65 64 20 61 62 6f 76 65 2c 0a 20 20 20 20 77 68 | .functions.defined.above,.....wh |
7da00 | 69 63 68 20 77 69 6c 6c 20 68 6f 6f 6b 20 69 6e 20 74 68 69 73 20 63 6c 61 73 73 2e 0a 20 20 20 | ich.will.hook.in.this.class..... |
7da20 | 20 22 22 22 0a 0a 20 20 20 20 64 65 66 20 5f 5f 69 6e 69 74 5f 5f 28 73 65 6c 66 2c 20 66 61 63 | ."""......def.__init__(self,.fac |
7da40 | 74 6f 72 79 2c 20 77 72 61 70 70 65 64 50 72 6f 74 6f 63 6f 6c 2c 20 73 74 61 72 74 50 61 73 73 | tory,.wrappedProtocol,.startPass |
7da60 | 54 68 72 6f 75 67 68 2c 20 63 6c 69 65 6e 74 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | Through,.client,................ |
7da80 | 20 20 63 6f 6e 74 65 78 74 46 61 63 74 6f 72 79 2c 20 70 6f 73 74 43 6f 6e 6e 65 63 74 69 6f 6e | ..contextFactory,.postConnection |
7daa0 | 43 68 65 63 6b 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 70 6f 6c 69 63 69 65 | Check):.........#.type:.(policie |
7dac0 | 73 2e 57 72 61 70 70 69 6e 67 46 61 63 74 6f 72 79 2c 20 6f 62 6a 65 63 74 2c 20 69 6e 74 2c 20 | s.WrappingFactory,.object,.int,. |
7dae0 | 69 6e 74 2c 20 6f 62 6a 65 63 74 2c 20 43 68 65 63 6b 65 72 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 | int,.object,.Checker).->.None... |
7db00 | 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 66 61 63 74 6f 72 79 | ......""".........:param.factory |
7db20 | 3a 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 77 72 61 70 70 65 64 50 72 6f 74 6f 63 6f 6c | :.........:param.wrappedProtocol |
7db40 | 3a 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 73 74 61 72 74 50 61 73 73 54 68 72 6f 75 67 | :.........:param.startPassThroug |
7db60 | 68 3a 20 20 20 20 49 66 20 74 72 75 65 20 77 65 20 77 6f 6e 27 74 20 65 6e 63 72 79 70 74 20 61 | h:....If.true.we.won't.encrypt.a |
7db80 | 74 20 61 6c 6c 2e 20 4e 65 65 64 20 74 6f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | t.all..Need.to.................. |
7dba0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 6c 6c 20 73 74 61 72 74 54 4c 53 | ...................call.startTLS |
7dbc0 | 28 29 20 6c 61 74 65 72 20 74 6f 20 73 77 69 74 63 68 20 74 6f 20 53 53 4c 2f 54 4c 53 2e 0a 20 | ().later.to.switch.to.SSL/TLS... |
7dbe0 | 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 63 6c 69 65 6e 74 3a 20 20 20 20 20 20 20 20 20 20 20 | .......:param.client:........... |
7dc00 | 20 20 20 54 72 75 65 20 69 66 20 74 68 69 73 20 73 68 6f 75 6c 64 20 62 65 20 61 20 63 6c 69 65 | ...True.if.this.should.be.a.clie |
7dc20 | 6e 74 20 70 72 6f 74 6f 63 6f 6c 2e 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 63 6f 6e 74 | nt.protocol..........:param.cont |
7dc40 | 65 78 74 46 61 63 74 6f 72 79 3a 20 20 20 20 20 20 46 61 63 74 6f 72 79 20 74 68 61 74 20 63 72 | extFactory:......Factory.that.cr |
7dc60 | 65 61 74 65 73 20 53 53 4c 2e 43 6f 6e 74 65 78 74 20 6f 62 6a 65 63 74 73 2e 0a 20 20 20 20 20 | eates.SSL.Context.objects....... |
7dc80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 | ...............................T |
7dca0 | 68 65 20 63 61 6c 6c 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 67 65 74 43 6f 6e 74 65 78 74 | he.called.function.is.getContext |
7dcc0 | 28 29 2e 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 70 6f 73 74 43 6f 6e 6e 65 63 74 69 6f | ()..........:param.postConnectio |
7dce0 | 6e 43 68 65 63 6b 3a 20 54 68 65 20 70 6f 73 74 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 63 68 65 63 | nCheck:.The.post.connection.chec |
7dd00 | 6b 20 63 61 6c 6c 62 61 63 6b 20 74 68 61 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | k.callback.that................. |
7dd20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 69 6c 6c 20 62 65 20 63 61 6c 6c | ....................will.be.call |
7dd40 | 65 64 20 6a 75 73 74 20 61 66 74 65 72 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 68 61 73 0a 20 20 20 | ed.just.after.connection.has.... |
7dd60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
7dd80 | 20 62 65 65 6e 20 65 73 74 61 62 6c 69 73 68 65 64 20 62 75 74 20 62 65 66 6f 72 65 20 61 6e 79 | .been.established.but.before.any |
7dda0 | 20 72 65 61 6c 20 64 61 74 61 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .real.data...................... |
7ddc0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 68 61 73 20 62 65 65 6e 20 65 78 63 68 61 6e 67 65 | ...............has.been.exchange |
7dde0 | 64 2e 20 54 68 65 20 66 69 72 73 74 20 61 72 67 75 6d 65 6e 74 20 74 6f 0a 20 20 20 20 20 20 20 | d..The.first.argument.to........ |
7de00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 69 | .............................thi |
7de20 | 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 6e 20 58 35 30 39 20 6f 62 6a 65 63 74 2c 20 74 68 | s.function.is.an.X509.object,.th |
7de40 | 65 20 73 65 63 6f 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | e.second........................ |
7de60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 69 73 20 74 68 65 20 65 78 70 65 63 74 65 64 20 68 6f 73 | .............is.the.expected.hos |
7de80 | 74 20 6e 61 6d 65 20 73 74 72 69 6e 67 2e 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 | t.name.string.........."""...... |
7dea0 | 20 20 20 23 20 50 72 6f 74 6f 63 6f 6c 57 72 61 70 70 65 72 2e 5f 5f 69 6e 69 74 5f 5f 28 73 65 | ...#.ProtocolWrapper.__init__(se |
7dec0 | 6c 66 2c 20 66 61 63 74 6f 72 79 2c 20 77 72 61 70 70 65 64 50 72 6f 74 6f 63 6f 6c 29 0a 20 20 | lf,.factory,.wrappedProtocol)... |
7dee0 | 20 20 20 20 20 20 23 20 58 58 58 3a 20 54 77 69 73 74 65 64 20 32 2e 30 20 68 61 73 20 61 20 6e | ......#.XXX:.Twisted.2.0.has.a.n |
7df00 | 65 77 20 61 64 64 69 74 69 6f 6e 20 77 68 65 72 65 20 74 68 65 20 77 72 61 70 70 69 6e 67 46 61 | ew.addition.where.the.wrappingFa |
7df20 | 63 74 6f 72 79 20 69 73 0a 20 20 20 20 20 20 20 20 23 20 20 20 20 20 20 73 65 74 20 61 73 20 74 | ctory.is.........#......set.as.t |
7df40 | 68 65 20 66 61 63 74 6f 72 79 20 6f 66 20 74 68 65 20 77 72 61 70 70 65 64 50 72 6f 74 6f 63 6f | he.factory.of.the.wrappedProtoco |
7df60 | 6c 2e 20 54 68 69 73 20 69 73 20 61 6e 20 69 73 73 75 65 0a 20 20 20 20 20 20 20 20 23 20 20 20 | l..This.is.an.issue.........#... |
7df80 | 20 20 20 61 73 20 74 68 65 20 77 72 61 70 20 73 68 6f 75 6c 64 20 62 65 20 74 72 61 6e 73 70 61 | ...as.the.wrap.should.be.transpa |
7dfa0 | 72 65 6e 74 2e 20 57 68 61 74 20 77 65 20 77 61 6e 74 20 69 73 0a 20 20 20 20 20 20 20 20 23 20 | rent..What.we.want.is.........#. |
7dfc0 | 20 20 20 20 20 74 68 65 20 66 61 63 74 6f 72 79 20 6f 66 20 74 68 65 20 77 72 61 70 70 65 64 50 | .....the.factory.of.the.wrappedP |
7dfe0 | 72 6f 74 6f 63 6f 6c 20 74 6f 20 62 65 20 74 68 65 20 77 72 61 70 70 65 64 46 61 63 74 6f 72 79 | rotocol.to.be.the.wrappedFactory |
7e000 | 20 61 6e 64 0a 20 20 20 20 20 20 20 20 23 20 20 20 20 20 20 6e 6f 74 20 74 68 65 20 6f 75 74 65 | .and.........#......not.the.oute |
7e020 | 72 20 77 72 61 70 70 69 6e 67 46 61 63 74 6f 72 79 2e 20 54 68 69 73 20 69 73 20 68 6f 77 20 69 | r.wrappingFactory..This.is.how.i |
7e040 | 74 20 77 61 73 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 69 6e 0a 20 20 20 20 20 20 20 20 23 20 20 | t.was.implemented.in.........#.. |
7e060 | 20 20 20 20 54 77 69 73 74 65 64 20 31 2e 33 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 66 61 63 | ....Twisted.1.3.........self.fac |
7e080 | 74 6f 72 79 20 3d 20 66 61 63 74 6f 72 79 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 77 72 61 70 | tory.=.factory.........self.wrap |
7e0a0 | 70 65 64 50 72 6f 74 6f 63 6f 6c 20 3d 20 77 72 61 70 70 65 64 50 72 6f 74 6f 63 6f 6c 0a 0a 20 | pedProtocol.=.wrappedProtocol... |
7e0c0 | 20 20 20 20 20 20 20 23 20 77 72 61 70 70 65 64 50 72 6f 74 6f 63 6f 6c 20 3d 3d 20 63 6c 69 65 | .......#.wrappedProtocol.==.clie |
7e0e0 | 6e 74 2f 73 65 72 76 65 72 20 69 6e 73 74 61 6e 63 65 0a 20 20 20 20 20 20 20 20 23 20 66 61 63 | nt/server.instance.........#.fac |
7e100 | 74 6f 72 79 2e 77 72 61 70 70 65 64 46 61 63 74 6f 72 79 20 3d 3d 20 63 6c 69 65 6e 74 2f 73 65 | tory.wrappedFactory.==.client/se |
7e120 | 72 76 65 72 20 66 61 63 74 6f 72 79 0a 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 64 61 74 61 20 | rver.factory..........self.data. |
7e140 | 3d 20 62 27 27 20 20 23 20 43 6c 65 61 72 20 74 65 78 74 20 74 6f 20 65 6e 63 72 79 70 74 20 61 | =.b''..#.Clear.text.to.encrypt.a |
7e160 | 6e 64 20 73 65 6e 64 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 65 6e 63 72 79 70 74 65 64 20 3d | nd.send.........self.encrypted.= |
7e180 | 20 62 27 27 20 20 23 20 45 6e 63 72 79 70 74 65 64 20 64 61 74 61 20 77 65 20 6e 65 65 64 20 74 | .b''..#.Encrypted.data.we.need.t |
7e1a0 | 6f 20 64 65 63 72 79 70 74 20 61 6e 64 20 70 61 73 73 20 6f 6e 0a 20 20 20 20 20 20 20 20 73 65 | o.decrypt.and.pass.on.........se |
7e1c0 | 6c 66 2e 74 6c 73 53 74 61 72 74 65 64 20 3d 20 30 20 20 23 20 53 53 4c 2f 54 4c 53 20 6d 6f 64 | lf.tlsStarted.=.0..#.SSL/TLS.mod |
7e1e0 | 65 20 6f 72 20 70 61 73 73 20 74 68 72 6f 75 67 68 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 63 | e.or.pass.through.........self.c |
7e200 | 68 65 63 6b 65 64 20 3d 20 30 20 20 23 20 50 6f 73 74 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 63 68 | hecked.=.0..#.Post.connection.ch |
7e220 | 65 63 6b 20 64 6f 6e 65 20 6f 72 20 6e 6f 74 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 69 73 43 | eck.done.or.not.........self.isC |
7e240 | 6c 69 65 6e 74 20 3d 20 63 6c 69 65 6e 74 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 68 65 6c 6c | lient.=.client.........self.hell |
7e260 | 6f 44 6f 6e 65 20 3d 20 30 20 20 23 20 54 72 75 65 20 77 68 65 6e 20 68 65 6c 6c 6f 20 68 61 73 | oDone.=.0..#.True.when.hello.has |
7e280 | 20 62 65 65 6e 20 73 65 6e 74 0a 20 20 20 20 20 20 20 20 69 66 20 70 6f 73 74 43 6f 6e 6e 65 63 | .been.sent.........if.postConnec |
7e2a0 | 74 69 6f 6e 43 68 65 63 6b 20 69 73 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 | tionCheck.is.None:.............s |
7e2c0 | 65 6c 66 2e 70 6f 73 74 43 6f 6e 6e 65 63 74 69 6f 6e 43 68 65 63 6b 20 3d 20 5f 61 6c 77 61 79 | elf.postConnectionCheck.=._alway |
7e2e0 | 73 53 75 63 63 65 65 64 73 50 6f 73 74 43 6f 6e 6e 65 63 74 69 6f 6e 43 68 65 63 6b 0a 20 20 20 | sSucceedsPostConnectionCheck.... |
7e300 | 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 70 6f 73 74 | .....else:.............self.post |
7e320 | 43 6f 6e 6e 65 63 74 69 6f 6e 43 68 65 63 6b 20 3d 20 70 6f 73 74 43 6f 6e 6e 65 63 74 69 6f 6e | ConnectionCheck.=.postConnection |
7e340 | 43 68 65 63 6b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 6e 6f 74 20 73 74 61 72 74 50 61 73 73 54 | Check..........if.not.startPassT |
7e360 | 68 72 6f 75 67 68 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 74 61 72 74 54 4c | hrough:.............self.startTL |
7e380 | 53 28 63 6f 6e 74 65 78 74 46 61 63 74 6f 72 79 2e 67 65 74 43 6f 6e 74 65 78 74 28 29 29 0a 0a | S(contextFactory.getContext()).. |
7e3a0 | 20 20 20 20 64 65 66 20 63 6c 65 61 72 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 22 22 22 | ....def.clear(self):.........""" |
7e3c0 | 0a 20 20 20 20 20 20 20 20 43 6c 65 61 72 20 74 68 69 73 20 69 6e 73 74 61 6e 63 65 2c 20 61 66 | .........Clear.this.instance,.af |
7e3e0 | 74 65 72 20 77 68 69 63 68 20 69 74 20 69 73 20 72 65 61 64 79 20 66 6f 72 20 72 65 75 73 65 2e | ter.which.it.is.ready.for.reuse. |
7e400 | 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 69 66 20 67 65 74 61 74 74 72 28 | .........""".........if.getattr( |
7e420 | 73 65 6c 66 2c 20 27 74 6c 73 53 74 61 72 74 65 64 27 2c 20 30 29 3a 0a 20 20 20 20 20 20 20 20 | self,.'tlsStarted',.0):......... |
7e440 | 20 20 20 20 73 65 6c 66 2e 73 73 6c 42 69 6f 20 3d 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 20 | ....self.sslBio.=.None.......... |
7e460 | 20 20 20 73 65 6c 66 2e 73 73 6c 20 3d 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 | ...self.ssl.=.None.............s |
7e480 | 65 6c 66 2e 69 6e 74 65 72 6e 61 6c 42 69 6f 20 3d 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 20 | elf.internalBio.=.None.......... |
7e4a0 | 20 20 20 73 65 6c 66 2e 6e 65 74 77 6f 72 6b 42 69 6f 20 3d 20 4e 6f 6e 65 0a 20 20 20 20 20 20 | ...self.networkBio.=.None....... |
7e4c0 | 20 20 73 65 6c 66 2e 64 61 74 61 20 3d 20 62 27 27 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 65 | ..self.data.=.b''.........self.e |
7e4e0 | 6e 63 72 79 70 74 65 64 20 3d 20 62 27 27 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 74 6c 73 53 | ncrypted.=.b''.........self.tlsS |
7e500 | 74 61 72 74 65 64 20 3d 20 30 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 63 68 65 63 6b 65 64 20 | tarted.=.0.........self.checked. |
7e520 | 3d 20 30 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 69 73 43 6c 69 65 6e 74 20 3d 20 31 0a 20 20 | =.0.........self.isClient.=.1... |
7e540 | 20 20 20 20 20 20 73 65 6c 66 2e 68 65 6c 6c 6f 44 6f 6e 65 20 3d 20 30 0a 20 20 20 20 20 20 20 | ......self.helloDone.=.0........ |
7e560 | 20 23 20 57 65 20 63 61 6e 20 72 65 75 73 65 20 73 65 6c 66 2e 63 74 78 20 61 6e 64 20 69 74 20 | .#.We.can.reuse.self.ctx.and.it. |
7e580 | 77 69 6c 6c 20 62 65 20 64 65 6c 65 74 65 64 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 0a 20 20 | will.be.deleted.automatically... |
7e5a0 | 20 20 20 20 20 20 23 20 77 68 65 6e 20 74 68 69 73 20 69 6e 73 74 61 6e 63 65 20 64 69 65 73 0a | ......#.when.this.instance.dies. |
7e5c0 | 0a 20 20 20 20 64 65 66 20 73 74 61 72 74 54 4c 53 28 73 65 6c 66 2c 20 63 74 78 29 3a 0a 20 20 | .....def.startTLS(self,.ctx):... |
7e5e0 | 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 53 74 61 72 74 20 53 53 4c 2f 54 4c 53 2e | ......""".........Start.SSL/TLS. |
7e600 | 20 49 66 20 74 68 69 73 20 69 73 20 6e 6f 74 20 63 61 6c 6c 65 64 2c 20 74 68 69 73 20 69 6e 73 | .If.this.is.not.called,.this.ins |
7e620 | 74 61 6e 63 65 20 6a 75 73 74 20 70 61 73 73 65 73 20 64 61 74 61 0a 20 20 20 20 20 20 20 20 74 | tance.just.passes.data.........t |
7e640 | 68 72 6f 75 67 68 20 75 6e 74 6f 75 63 68 65 64 2e 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 | hrough.untouched.........."""... |
7e660 | 20 20 20 20 20 20 23 20 4e 4f 54 45 3a 20 54 68 69 73 20 6d 65 74 68 6f 64 20 73 69 67 6e 61 74 | ......#.NOTE:.This.method.signat |
7e680 | 75 72 65 20 6d 75 73 74 20 6d 61 74 63 68 20 74 68 65 20 73 74 61 72 74 54 4c 53 28 29 20 6d 65 | ure.must.match.the.startTLS().me |
7e6a0 | 74 68 6f 64 20 54 77 69 73 74 65 64 0a 20 20 20 20 20 20 20 20 23 20 20 20 20 20 20 20 65 78 70 | thod.Twisted.........#.......exp |
7e6c0 | 65 63 74 73 20 74 72 61 6e 73 70 6f 72 74 73 20 74 6f 20 68 61 76 65 2e 20 54 68 69 73 20 77 69 | ects.transports.to.have..This.wi |
7e6e0 | 6c 6c 20 62 65 20 63 61 6c 6c 65 64 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 0a 20 20 20 20 20 | ll.be.called.automatically...... |
7e700 | 20 20 20 23 20 20 20 20 20 20 20 62 79 20 54 77 69 73 74 65 64 20 69 6e 20 53 54 41 52 54 54 4c | ...#.......by.Twisted.in.STARTTL |
7e720 | 53 20 73 69 74 75 61 74 69 6f 6e 73 2c 20 66 6f 72 20 65 78 61 6d 70 6c 65 20 77 69 74 68 20 53 | S.situations,.for.example.with.S |
7e740 | 4d 54 50 2e 0a 20 20 20 20 20 20 20 20 69 66 20 73 65 6c 66 2e 74 6c 73 53 74 61 72 74 65 64 3a | MTP..........if.self.tlsStarted: |
7e760 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 45 78 63 65 70 74 69 6f 6e 28 27 54 4c | .............raise.Exception('TL |
7e780 | 53 20 61 6c 72 65 61 64 79 20 73 74 61 72 74 65 64 27 29 0a 0a 20 20 20 20 20 20 20 20 73 65 6c | S.already.started')..........sel |
7e7a0 | 66 2e 63 74 78 20 3d 20 63 74 78 0a 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 69 6e 74 65 72 6e | f.ctx.=.ctx..........self.intern |
7e7c0 | 61 6c 42 69 6f 20 3d 20 6d 32 2e 62 69 6f 5f 6e 65 77 28 6d 32 2e 62 69 6f 5f 73 5f 62 69 6f 28 | alBio.=.m2.bio_new(m2.bio_s_bio( |
7e7e0 | 29 29 0a 20 20 20 20 20 20 20 20 6d 32 2e 62 69 6f 5f 73 65 74 5f 77 72 69 74 65 5f 62 75 66 5f | )).........m2.bio_set_write_buf_ |
7e800 | 73 69 7a 65 28 73 65 6c 66 2e 69 6e 74 65 72 6e 61 6c 42 69 6f 2c 20 30 29 0a 20 20 20 20 20 20 | size(self.internalBio,.0)....... |
7e820 | 20 20 73 65 6c 66 2e 6e 65 74 77 6f 72 6b 42 69 6f 20 3d 20 5f 42 69 6f 50 72 6f 78 79 28 6d 32 | ..self.networkBio.=._BioProxy(m2 |
7e840 | 2e 62 69 6f 5f 6e 65 77 28 6d 32 2e 62 69 6f 5f 73 5f 62 69 6f 28 29 29 29 0a 20 20 20 20 20 20 | .bio_new(m2.bio_s_bio()))....... |
7e860 | 20 20 6d 32 2e 62 69 6f 5f 73 65 74 5f 77 72 69 74 65 5f 62 75 66 5f 73 69 7a 65 28 73 65 6c 66 | ..m2.bio_set_write_buf_size(self |
7e880 | 2e 6e 65 74 77 6f 72 6b 42 69 6f 2e 5f 70 74 72 28 29 2c 20 30 29 0a 20 20 20 20 20 20 20 20 6d | .networkBio._ptr(),.0).........m |
7e8a0 | 32 2e 62 69 6f 5f 6d 61 6b 65 5f 62 69 6f 5f 70 61 69 72 28 73 65 6c 66 2e 69 6e 74 65 72 6e 61 | 2.bio_make_bio_pair(self.interna |
7e8c0 | 6c 42 69 6f 2c 20 73 65 6c 66 2e 6e 65 74 77 6f 72 6b 42 69 6f 2e 5f 70 74 72 28 29 29 0a 0a 20 | lBio,.self.networkBio._ptr())... |
7e8e0 | 20 20 20 20 20 20 20 73 65 6c 66 2e 73 73 6c 42 69 6f 20 3d 20 5f 42 69 6f 50 72 6f 78 79 28 6d | .......self.sslBio.=._BioProxy(m |
7e900 | 32 2e 62 69 6f 5f 6e 65 77 28 6d 32 2e 62 69 6f 5f 66 5f 73 73 6c 28 29 29 29 0a 0a 20 20 20 20 | 2.bio_new(m2.bio_f_ssl()))...... |
7e920 | 20 20 20 20 73 65 6c 66 2e 73 73 6c 20 3d 20 5f 53 53 4c 50 72 6f 78 79 28 6d 32 2e 73 73 6c 5f | ....self.ssl.=._SSLProxy(m2.ssl_ |
7e940 | 6e 65 77 28 73 65 6c 66 2e 63 74 78 2e 63 74 78 29 29 0a 0a 20 20 20 20 20 20 20 20 69 66 20 73 | new(self.ctx.ctx))..........if.s |
7e960 | 65 6c 66 2e 69 73 43 6c 69 65 6e 74 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 6d 32 2e 73 73 6c | elf.isClient:.............m2.ssl |
7e980 | 5f 73 65 74 5f 63 6f 6e 6e 65 63 74 5f 73 74 61 74 65 28 73 65 6c 66 2e 73 73 6c 2e 5f 70 74 72 | _set_connect_state(self.ssl._ptr |
7e9a0 | 28 29 29 0a 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 6d 32 | ()).........else:.............m2 |
7e9c0 | 2e 73 73 6c 5f 73 65 74 5f 61 63 63 65 70 74 5f 73 74 61 74 65 28 73 65 6c 66 2e 73 73 6c 2e 5f | .ssl_set_accept_state(self.ssl._ |
7e9e0 | 70 74 72 28 29 29 0a 0a 20 20 20 20 20 20 20 20 6d 32 2e 73 73 6c 5f 73 65 74 5f 62 69 6f 28 73 | ptr())..........m2.ssl_set_bio(s |
7ea00 | 65 6c 66 2e 73 73 6c 2e 5f 70 74 72 28 29 2c 20 73 65 6c 66 2e 69 6e 74 65 72 6e 61 6c 42 69 6f | elf.ssl._ptr(),.self.internalBio |
7ea20 | 2c 20 73 65 6c 66 2e 69 6e 74 65 72 6e 61 6c 42 69 6f 29 0a 20 20 20 20 20 20 20 20 6d 32 2e 62 | ,.self.internalBio).........m2.b |
7ea40 | 69 6f 5f 73 65 74 5f 73 73 6c 28 73 65 6c 66 2e 73 73 6c 42 69 6f 2e 5f 70 74 72 28 29 2c 20 73 | io_set_ssl(self.sslBio._ptr(),.s |
7ea60 | 65 6c 66 2e 73 73 6c 2e 5f 70 74 72 28 29 2c 20 6d 32 2e 62 69 6f 5f 6e 6f 63 6c 6f 73 65 29 0a | elf.ssl._ptr(),.m2.bio_noclose). |
7ea80 | 0a 20 20 20 20 20 20 20 20 23 20 4e 65 65 64 20 74 68 69 73 20 66 6f 72 20 77 72 69 74 65 73 20 | .........#.Need.this.for.writes. |
7eaa0 | 74 68 61 74 20 61 72 65 20 6c 61 72 67 65 72 20 74 68 61 6e 20 42 49 4f 20 70 61 69 72 20 62 75 | that.are.larger.than.BIO.pair.bu |
7eac0 | 66 66 65 72 73 0a 20 20 20 20 20 20 20 20 6d 6f 64 65 20 3d 20 6d 32 2e 73 73 6c 5f 67 65 74 5f | ffers.........mode.=.m2.ssl_get_ |
7eae0 | 6d 6f 64 65 28 73 65 6c 66 2e 73 73 6c 2e 5f 70 74 72 28 29 29 0a 20 20 20 20 20 20 20 20 6d 32 | mode(self.ssl._ptr()).........m2 |
7eb00 | 2e 73 73 6c 5f 73 65 74 5f 6d 6f 64 65 28 73 65 6c 66 2e 73 73 6c 2e 5f 70 74 72 28 29 2c 0a 20 | .ssl_set_mode(self.ssl._ptr(),.. |
7eb20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 6f 64 65 20 7c 0a 20 20 | .......................mode.|... |
7eb40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 32 2e 53 53 4c 5f 4d 4f 44 | ......................m2.SSL_MOD |
7eb60 | 45 5f 45 4e 41 42 4c 45 5f 50 41 52 54 49 41 4c 5f 57 52 49 54 45 20 7c 0a 20 20 20 20 20 20 20 | E_ENABLE_PARTIAL_WRITE.|........ |
7eb80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 32 2e 53 53 4c 5f 4d 4f 44 45 5f 41 43 43 | .................m2.SSL_MODE_ACC |
7eba0 | 45 50 54 5f 4d 4f 56 49 4e 47 5f 57 52 49 54 45 5f 42 55 46 46 45 52 29 0a 0a 20 20 20 20 20 20 | EPT_MOVING_WRITE_BUFFER)........ |
7ebc0 | 20 20 73 65 6c 66 2e 74 6c 73 53 74 61 72 74 65 64 20 3d 20 31 0a 0a 20 20 20 20 64 65 66 20 77 | ..self.tlsStarted.=.1......def.w |
7ebe0 | 72 69 74 65 28 73 65 6c 66 2c 20 64 61 74 61 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 | rite(self,.data):.........#.type |
7ec00 | 3a 20 28 62 79 74 65 73 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 69 66 20 6e 6f 74 | :.(bytes).->.None.........if.not |
7ec20 | 20 73 65 6c 66 2e 74 6c 73 53 74 61 72 74 65 64 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 50 72 | .self.tlsStarted:.............Pr |
7ec40 | 6f 74 6f 63 6f 6c 57 72 61 70 70 65 72 2e 77 72 69 74 65 28 73 65 6c 66 2c 20 64 61 74 61 29 0a | otocolWrapper.write(self,.data). |
7ec60 | 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 0a 0a 20 20 20 20 20 20 20 20 74 72 79 3a | ............return..........try: |
7ec80 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6e 63 72 79 70 74 65 64 44 61 74 61 20 3d 20 73 65 6c | .............encryptedData.=.sel |
7eca0 | 66 2e 5f 65 6e 63 72 79 70 74 28 64 61 74 61 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 50 72 6f | f._encrypt(data).............Pro |
7ecc0 | 74 6f 63 6f 6c 57 72 61 70 70 65 72 2e 77 72 69 74 65 28 73 65 6c 66 2c 20 65 6e 63 72 79 70 74 | tocolWrapper.write(self,.encrypt |
7ece0 | 65 64 44 61 74 61 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 68 65 6c 6c 6f 44 6f | edData).............self.helloDo |
7ed00 | 6e 65 20 3d 20 31 0a 20 20 20 20 20 20 20 20 65 78 63 65 70 74 20 42 49 4f 2e 42 49 4f 45 72 72 | ne.=.1.........except.BIO.BIOErr |
7ed20 | 6f 72 20 61 73 20 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 23 20 53 65 65 20 68 74 74 70 3a | or.as.e:.............#.See.http: |
7ed40 | 2f 2f 77 77 77 2e 6f 70 65 6e 73 73 6c 2e 6f 72 67 2f 64 6f 63 73 2f 61 70 70 73 2f 76 65 72 69 | //www.openssl.org/docs/apps/veri |
7ed60 | 66 79 2e 68 74 6d 6c 23 44 49 41 47 4e 4f 53 54 49 43 53 0a 20 20 20 20 20 20 20 20 20 20 20 20 | fy.html#DIAGNOSTICS............. |
7ed80 | 23 20 66 6f 72 20 74 68 65 20 65 72 72 6f 72 20 63 6f 64 65 73 20 72 65 74 75 72 6e 65 64 20 62 | #.for.the.error.codes.returned.b |
7eda0 | 79 20 53 53 4c 5f 67 65 74 5f 76 65 72 69 66 79 5f 72 65 73 75 6c 74 2e 0a 20 20 20 20 20 20 20 | y.SSL_get_verify_result......... |
7edc0 | 20 20 20 20 20 65 2e 61 72 67 73 20 3d 20 28 6d 32 2e 73 73 6c 5f 67 65 74 5f 76 65 72 69 66 79 | .....e.args.=.(m2.ssl_get_verify |
7ede0 | 5f 72 65 73 75 6c 74 28 73 65 6c 66 2e 73 73 6c 2e 5f 70 74 72 28 29 29 2c 20 65 2e 61 72 67 73 | _result(self.ssl._ptr()),.e.args |
7ee00 | 5b 30 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 65 0a 0a 20 20 20 20 64 65 | [0]).............raise.e......de |
7ee20 | 66 20 77 72 69 74 65 53 65 71 75 65 6e 63 65 28 73 65 6c 66 2c 20 64 61 74 61 29 3a 0a 20 20 20 | f.writeSequence(self,.data):.... |
7ee40 | 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 49 74 65 72 61 62 6c 65 5b 62 79 74 65 73 5d 29 20 2d | .....#.type:.(Iterable[bytes]).- |
7ee60 | 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 69 66 20 6e 6f 74 20 73 65 6c 66 2e 74 6c 73 53 74 | >.None.........if.not.self.tlsSt |
7ee80 | 61 72 74 65 64 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 50 72 6f 74 6f 63 6f 6c 57 72 61 70 70 | arted:.............ProtocolWrapp |
7eea0 | 65 72 2e 77 72 69 74 65 53 65 71 75 65 6e 63 65 28 73 65 6c 66 2c 20 62 27 27 2e 6a 6f 69 6e 28 | er.writeSequence(self,.b''.join( |
7eec0 | 64 61 74 61 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 0a 0a 20 20 20 20 20 | data)).............return....... |
7eee0 | 20 20 20 73 65 6c 66 2e 77 72 69 74 65 28 62 27 27 2e 6a 6f 69 6e 28 64 61 74 61 29 29 0a 0a 20 | ...self.write(b''.join(data))... |
7ef00 | 20 20 20 64 65 66 20 6c 6f 73 65 43 6f 6e 6e 65 63 74 69 6f 6e 28 73 65 6c 66 29 3a 0a 20 20 20 | ...def.loseConnection(self):.... |
7ef20 | 20 20 20 20 20 23 20 58 58 58 20 44 6f 20 77 65 20 6e 65 65 64 20 74 6f 20 64 6f 20 6d 32 2e 73 | .....#.XXX.Do.we.need.to.do.m2.s |
7ef40 | 73 6c 5f 73 68 75 74 64 6f 77 6e 28 73 65 6c 66 2e 73 73 6c 2e 5f 70 74 72 28 29 29 3f 0a 20 20 | sl_shutdown(self.ssl._ptr())?... |
7ef60 | 20 20 20 20 20 20 50 72 6f 74 6f 63 6f 6c 57 72 61 70 70 65 72 2e 6c 6f 73 65 43 6f 6e 6e 65 63 | ......ProtocolWrapper.loseConnec |
7ef80 | 74 69 6f 6e 28 73 65 6c 66 29 0a 0a 20 20 20 20 64 65 66 20 63 6f 6e 6e 65 63 74 69 6f 6e 4d 61 | tion(self)......def.connectionMa |
7efa0 | 64 65 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 50 72 6f 74 6f 63 6f 6c 57 72 61 70 70 65 | de(self):.........ProtocolWrappe |
7efc0 | 72 2e 63 6f 6e 6e 65 63 74 69 6f 6e 4d 61 64 65 28 73 65 6c 66 29 0a 20 20 20 20 20 20 20 20 69 | r.connectionMade(self).........i |
7efe0 | 66 20 73 65 6c 66 2e 74 6c 73 53 74 61 72 74 65 64 20 61 6e 64 20 73 65 6c 66 2e 69 73 43 6c 69 | f.self.tlsStarted.and.self.isCli |
7f000 | 65 6e 74 20 61 6e 64 20 6e 6f 74 20 73 65 6c 66 2e 68 65 6c 6c 6f 44 6f 6e 65 3a 0a 20 20 20 20 | ent.and.not.self.helloDone:..... |
7f020 | 20 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 63 6c 69 65 6e 74 48 65 6c 6c 6f 28 29 0a 0a 20 20 20 | ........self._clientHello()..... |
7f040 | 20 64 65 66 20 64 61 74 61 52 65 63 65 69 76 65 64 28 73 65 6c 66 2c 20 64 61 74 61 29 3a 0a 20 | .def.dataReceived(self,.data):.. |
7f060 | 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 62 79 74 65 73 29 20 2d 3e 20 4e 6f 6e 65 0a 20 | .......#.type:.(bytes).->.None.. |
7f080 | 20 20 20 20 20 20 20 69 66 20 6e 6f 74 20 73 65 6c 66 2e 74 6c 73 53 74 61 72 74 65 64 3a 0a 20 | .......if.not.self.tlsStarted:.. |
7f0a0 | 20 20 20 20 20 20 20 20 20 20 20 50 72 6f 74 6f 63 6f 6c 57 72 61 70 70 65 72 2e 64 61 74 61 52 | ...........ProtocolWrapper.dataR |
7f0c0 | 65 63 65 69 76 65 64 28 73 65 6c 66 2c 20 64 61 74 61 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | eceived(self,.data)............. |
7f0e0 | 72 65 74 75 72 6e 0a 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 65 6e 63 72 79 70 74 65 64 20 2b | return..........self.encrypted.+ |
7f100 | 3d 20 64 61 74 61 0a 0a 20 20 20 20 20 20 20 20 74 72 79 3a 0a 20 20 20 20 20 20 20 20 20 20 20 | =.data..........try:............ |
7f120 | 20 77 68 69 6c 65 20 31 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65 63 72 79 70 | .while.1:.................decryp |
7f140 | 74 65 64 44 61 74 61 20 3d 20 73 65 6c 66 2e 5f 64 65 63 72 79 70 74 28 29 0a 0a 20 20 20 20 20 | tedData.=.self._decrypt()....... |
7f160 | 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 63 68 65 63 6b 28 29 0a 0a 20 20 20 20 20 20 | ...........self._check()........ |
7f180 | 20 20 20 20 20 20 20 20 20 20 65 6e 63 72 79 70 74 65 64 44 61 74 61 20 3d 20 73 65 6c 66 2e 5f | ..........encryptedData.=.self._ |
7f1a0 | 65 6e 63 72 79 70 74 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 72 6f 74 6f 63 | encrypt().................Protoc |
7f1c0 | 6f 6c 57 72 61 70 70 65 72 2e 77 72 69 74 65 28 73 65 6c 66 2c 20 65 6e 63 72 79 70 74 65 64 44 | olWrapper.write(self,.encryptedD |
7f1e0 | 61 74 61 29 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 72 6f 74 6f 63 6f 6c 57 72 | ata)..................ProtocolWr |
7f200 | 61 70 70 65 72 2e 64 61 74 61 52 65 63 65 69 76 65 64 28 73 65 6c 66 2c 20 64 65 63 72 79 70 74 | apper.dataReceived(self,.decrypt |
7f220 | 65 64 44 61 74 61 29 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 64 65 63 72 | edData)..................if.decr |
7f240 | 79 70 74 65 64 44 61 74 61 20 3d 3d 20 62 27 27 20 61 6e 64 20 65 6e 63 72 79 70 74 65 64 44 61 | yptedData.==.b''.and.encryptedDa |
7f260 | 74 61 20 3d 3d 20 62 27 27 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 | ta.==.b'':.....................b |
7f280 | 72 65 61 6b 0a 20 20 20 20 20 20 20 20 65 78 63 65 70 74 20 42 49 4f 2e 42 49 4f 45 72 72 6f 72 | reak.........except.BIO.BIOError |
7f2a0 | 20 61 73 20 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 23 20 53 65 65 20 68 74 74 70 3a 2f 2f | .as.e:.............#.See.http:// |
7f2c0 | 77 77 77 2e 6f 70 65 6e 73 73 6c 2e 6f 72 67 2f 64 6f 63 73 2f 61 70 70 73 2f 76 65 72 69 66 79 | www.openssl.org/docs/apps/verify |
7f2e0 | 2e 68 74 6d 6c 23 44 49 41 47 4e 4f 53 54 49 43 53 0a 20 20 20 20 20 20 20 20 20 20 20 20 23 20 | .html#DIAGNOSTICS.............#. |
7f300 | 66 6f 72 20 74 68 65 20 65 72 72 6f 72 20 63 6f 64 65 73 20 72 65 74 75 72 6e 65 64 20 62 79 20 | for.the.error.codes.returned.by. |
7f320 | 53 53 4c 5f 67 65 74 5f 76 65 72 69 66 79 5f 72 65 73 75 6c 74 2e 0a 20 20 20 20 20 20 20 20 20 | SSL_get_verify_result........... |
7f340 | 20 20 20 65 2e 61 72 67 73 20 3d 20 28 6d 32 2e 73 73 6c 5f 67 65 74 5f 76 65 72 69 66 79 5f 72 | ...e.args.=.(m2.ssl_get_verify_r |
7f360 | 65 73 75 6c 74 28 73 65 6c 66 2e 73 73 6c 2e 5f 70 74 72 28 29 29 2c 20 65 2e 61 72 67 73 5b 30 | esult(self.ssl._ptr()),.e.args[0 |
7f380 | 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 65 0a 0a 20 20 20 20 64 65 66 20 | ]).............raise.e......def. |
7f3a0 | 63 6f 6e 6e 65 63 74 69 6f 6e 4c 6f 73 74 28 73 65 6c 66 2c 20 72 65 61 73 6f 6e 29 3a 0a 20 20 | connectionLost(self,.reason):... |
7f3c0 | 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 41 6e 79 53 74 72 29 20 2d 3e 20 4e 6f 6e 65 0a 20 | ......#.type:.(AnyStr).->.None.. |
7f3e0 | 20 20 20 20 20 20 20 73 65 6c 66 2e 63 6c 65 61 72 28 29 0a 20 20 20 20 20 20 20 20 50 72 6f 74 | .......self.clear().........Prot |
7f400 | 6f 63 6f 6c 57 72 61 70 70 65 72 2e 63 6f 6e 6e 65 63 74 69 6f 6e 4c 6f 73 74 28 73 65 6c 66 2c | ocolWrapper.connectionLost(self, |
7f420 | 20 72 65 61 73 6f 6e 29 0a 0a 20 20 20 20 64 65 66 20 5f 63 68 65 63 6b 28 73 65 6c 66 29 3a 0a | .reason)......def._check(self):. |
7f440 | 20 20 20 20 20 20 20 20 69 66 20 6e 6f 74 20 73 65 6c 66 2e 63 68 65 63 6b 65 64 20 61 6e 64 20 | ........if.not.self.checked.and. |
7f460 | 6d 32 2e 73 73 6c 5f 69 73 5f 69 6e 69 74 5f 66 69 6e 69 73 68 65 64 28 73 65 6c 66 2e 73 73 6c | m2.ssl_is_init_finished(self.ssl |
7f480 | 2e 5f 70 74 72 28 29 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 78 35 30 39 20 3d 20 6d 32 2e | ._ptr()):.............x509.=.m2. |
7f4a0 | 73 73 6c 5f 67 65 74 5f 70 65 65 72 5f 63 65 72 74 28 73 65 6c 66 2e 73 73 6c 2e 5f 70 74 72 28 | ssl_get_peer_cert(self.ssl._ptr( |
7f4c0 | 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 78 35 30 39 20 69 73 20 6e 6f 74 20 4e 6f | )).............if.x509.is.not.No |
7f4e0 | 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78 35 30 39 20 3d 20 58 35 30 39 2e | ne:.................x509.=.X509. |
7f500 | 58 35 30 39 28 78 35 30 39 2c 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 73 65 6c | X509(x509,.1).............if.sel |
7f520 | 66 2e 69 73 43 6c 69 65 6e 74 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 68 6f 73 74 | f.isClient:.................host |
7f540 | 20 3d 20 73 65 6c 66 2e 74 72 61 6e 73 70 6f 72 74 2e 61 64 64 72 5b 30 5d 0a 20 20 20 20 20 20 | .=.self.transport.addr[0]....... |
7f560 | 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 68 6f 73 74 | ......else:.................host |
7f580 | 20 3d 20 73 65 6c 66 2e 74 72 61 6e 73 70 6f 72 74 2e 67 65 74 50 65 65 72 28 29 2e 68 6f 73 74 | .=.self.transport.getPeer().host |
7f5a0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 6e 6f 74 20 73 65 6c 66 2e 70 6f 73 74 43 6f 6e | .............if.not.self.postCon |
7f5c0 | 6e 65 63 74 69 6f 6e 43 68 65 63 6b 28 78 35 30 39 2c 20 68 6f 73 74 29 3a 0a 20 20 20 20 20 20 | nectionCheck(x509,.host):....... |
7f5e0 | 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 20 53 53 4c 56 65 72 69 66 69 63 61 74 69 6f 6e 45 | ..........raise.SSLVerificationE |
7f600 | 72 72 6f 72 28 27 70 6f 73 74 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 63 68 65 63 6b 27 29 0a 20 20 | rror('post.connection.check')... |
7f620 | 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 63 68 65 63 6b 65 64 20 3d 20 31 0a 0a 20 20 20 20 | ..........self.checked.=.1...... |
7f640 | 64 65 66 20 5f 63 6c 69 65 6e 74 48 65 6c 6c 6f 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 | def._clientHello(self):......... |
7f660 | 74 72 79 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 23 20 57 65 20 72 65 6c 79 20 6f 6e 20 4f 70 | try:.............#.We.rely.on.Op |
7f680 | 65 6e 53 53 4c 20 69 6d 70 6c 69 63 69 74 6c 79 20 73 74 61 72 74 69 6e 67 20 77 69 74 68 20 63 | enSSL.implicitly.starting.with.c |
7f6a0 | 6c 69 65 6e 74 20 68 65 6c 6c 6f 0a 20 20 20 20 20 20 20 20 20 20 20 20 23 20 77 68 65 6e 20 77 | lient.hello.............#.when.w |
7f6c0 | 65 20 68 61 76 65 6e 27 74 20 79 65 74 20 65 73 74 61 62 6c 69 73 68 65 64 20 61 6e 20 53 53 4c | e.haven't.yet.established.an.SSL |
7f6e0 | 20 63 6f 6e 6e 65 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6e 63 72 79 70 74 65 | .connection.............encrypte |
7f700 | 64 44 61 74 61 20 3d 20 73 65 6c 66 2e 5f 65 6e 63 72 79 70 74 28 63 6c 69 65 6e 74 48 65 6c 6c | dData.=.self._encrypt(clientHell |
7f720 | 6f 3d 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 50 72 6f 74 6f 63 6f 6c 57 72 61 70 70 65 72 | o=1).............ProtocolWrapper |
7f740 | 2e 77 72 69 74 65 28 73 65 6c 66 2c 20 65 6e 63 72 79 70 74 65 64 44 61 74 61 29 0a 20 20 20 20 | .write(self,.encryptedData)..... |
7f760 | 20 20 20 20 20 20 20 20 73 65 6c 66 2e 68 65 6c 6c 6f 44 6f 6e 65 20 3d 20 31 0a 20 20 20 20 20 | ........self.helloDone.=.1...... |
7f780 | 20 20 20 65 78 63 65 70 74 20 42 49 4f 2e 42 49 4f 45 72 72 6f 72 20 61 73 20 65 3a 0a 20 20 20 | ...except.BIO.BIOError.as.e:.... |
7f7a0 | 20 20 20 20 20 20 20 20 20 23 20 53 65 65 20 68 74 74 70 3a 2f 2f 77 77 77 2e 6f 70 65 6e 73 73 | .........#.See.http://www.openss |
7f7c0 | 6c 2e 6f 72 67 2f 64 6f 63 73 2f 61 70 70 73 2f 76 65 72 69 66 79 2e 68 74 6d 6c 23 44 49 41 47 | l.org/docs/apps/verify.html#DIAG |
7f7e0 | 4e 4f 53 54 49 43 53 0a 20 20 20 20 20 20 20 20 20 20 20 20 23 20 66 6f 72 20 74 68 65 20 65 72 | NOSTICS.............#.for.the.er |
7f800 | 72 6f 72 20 63 6f 64 65 73 20 72 65 74 75 72 6e 65 64 20 62 79 20 53 53 4c 5f 67 65 74 5f 76 65 | ror.codes.returned.by.SSL_get_ve |
7f820 | 72 69 66 79 5f 72 65 73 75 6c 74 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 2e 61 72 67 73 20 | rify_result..............e.args. |
7f840 | 3d 20 28 6d 32 2e 73 73 6c 5f 67 65 74 5f 76 65 72 69 66 79 5f 72 65 73 75 6c 74 28 73 65 6c 66 | =.(m2.ssl_get_verify_result(self |
7f860 | 2e 73 73 6c 2e 5f 70 74 72 28 29 29 2c 20 65 2e 61 72 67 73 5b 30 5d 29 0a 20 20 20 20 20 20 20 | .ssl._ptr()),.e.args[0])........ |
7f880 | 20 20 20 20 20 72 61 69 73 65 20 65 0a 0a 20 20 20 20 23 20 4f 70 74 69 6d 69 7a 61 74 69 6f 6e | .....raise.e......#.Optimization |
7f8a0 | 73 20 74 6f 20 72 65 64 75 63 65 20 61 74 74 72 69 62 75 74 65 20 61 63 63 65 73 73 65 73 0a 0a | s.to.reduce.attribute.accesses.. |
7f8c0 | 20 20 20 20 40 70 72 6f 70 65 72 74 79 0a 20 20 20 20 64 65 66 20 5f 67 65 74 5f 77 72 5f 67 75 | ....@property.....def._get_wr_gu |
7f8e0 | 61 72 5f 73 73 6c 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 | ar_ssl(self):.........#.type:.() |
7f900 | 20 2d 3e 20 43 61 6c 6c 61 62 6c 65 5b 5b 5d 2c 20 69 6e 74 5d 0a 20 20 20 20 20 20 20 20 22 22 | .->.Callable[[],.int]........."" |
7f920 | 22 52 65 74 75 72 6e 20 6d 61 78 2e 20 6c 65 6e 67 74 68 20 6f 66 20 64 61 74 61 20 63 61 6e 20 | "Return.max..length.of.data.can. |
7f940 | 62 65 20 77 72 69 74 74 65 6e 20 74 6f 20 74 68 65 20 42 49 4f 2e 0a 0a 20 20 20 20 20 20 20 20 | be.written.to.the.BIO........... |
7f960 | 57 72 69 74 65 73 20 6c 61 72 67 65 72 20 74 68 61 6e 20 74 68 69 73 20 76 61 6c 75 65 20 77 69 | Writes.larger.than.this.value.wi |
7f980 | 6c 6c 20 72 65 74 75 72 6e 20 61 20 76 61 6c 75 65 20 66 72 6f 6d 0a 20 20 20 20 20 20 20 20 42 | ll.return.a.value.from.........B |
7f9a0 | 49 4f 5f 77 72 69 74 65 28 29 20 6c 65 73 73 20 74 68 61 6e 20 74 68 65 20 61 6d 6f 75 6e 74 20 | IO_write().less.than.the.amount. |
7f9c0 | 72 65 71 75 65 73 74 65 64 20 6f 72 20 69 66 20 74 68 65 20 62 75 66 66 65 72 20 69 73 0a 20 20 | requested.or.if.the.buffer.is... |
7f9e0 | 20 20 20 20 20 20 66 75 6c 6c 20 72 65 71 75 65 73 74 20 61 20 72 65 74 72 79 2e 0a 20 20 20 20 | ......full.request.a.retry...... |
7fa00 | 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 70 61 72 74 69 61 6c 28 6d | ....""".........return.partial(m |
7fa20 | 32 2e 62 69 6f 5f 63 74 72 6c 5f 67 65 74 5f 77 72 69 74 65 5f 67 75 61 72 61 6e 74 65 65 2c 0a | 2.bio_ctrl_get_write_guarantee,. |
7fa40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 73 6c 42 | .......................self.sslB |
7fa60 | 69 6f 2e 5f 70 74 72 28 29 29 0a 0a 20 20 20 20 40 70 72 6f 70 65 72 74 79 0a 20 20 20 20 64 65 | io._ptr())......@property.....de |
7fa80 | 66 20 5f 67 65 74 5f 77 72 5f 67 75 61 72 5f 6e 65 74 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 | f._get_wr_guar_net(self):....... |
7faa0 | 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 43 61 6c 6c 61 62 6c 65 5b 5b 5d 2c 20 69 6e 74 | ..#.type:.().->.Callable[[],.int |
7fac0 | 5d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 70 61 72 74 69 61 6c 28 6d 32 2e 62 69 6f 5f | ].........return.partial(m2.bio_ |
7fae0 | 63 74 72 6c 5f 67 65 74 5f 77 72 69 74 65 5f 67 75 61 72 61 6e 74 65 65 2c 0a 20 20 20 20 20 20 | ctrl_get_write_guarantee,....... |
7fb00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 6e 65 74 77 6f 72 6b 42 69 6f | .................self.networkBio |
7fb20 | 2e 5f 70 74 72 28 29 29 0a 0a 20 20 20 20 40 70 72 6f 70 65 72 74 79 0a 20 20 20 20 64 65 66 20 | ._ptr())......@property.....def. |
7fb40 | 5f 73 68 6f 75 64 5f 72 65 74 72 79 5f 73 73 6c 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 | _shoud_retry_ssl(self):......... |
7fb60 | 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 43 61 6c 6c 61 62 6c 65 5b 5b 5d 2c 20 69 6e 74 5d 0a | #.type:.().->.Callable[[],.int]. |
7fb80 | 20 20 20 20 20 20 20 20 23 20 42 49 4f 5f 73 68 6f 75 6c 64 5f 72 65 74 72 79 28 29 20 69 73 20 | ........#.BIO_should_retry().is. |
7fba0 | 74 72 75 65 20 69 66 20 74 68 65 20 63 61 6c 6c 20 74 68 61 74 20 70 72 6f 64 75 63 65 64 20 74 | true.if.the.call.that.produced.t |
7fbc0 | 68 69 73 0a 20 20 20 20 20 20 20 20 23 20 63 6f 6e 64 69 74 69 6f 6e 20 73 68 6f 75 6c 64 20 74 | his.........#.condition.should.t |
7fbe0 | 68 65 6e 20 62 65 20 72 65 74 72 69 65 64 20 61 74 20 61 20 6c 61 74 65 72 20 74 69 6d 65 2e 0a | hen.be.retried.at.a.later.time.. |
7fc00 | 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 70 61 72 74 69 61 6c 28 6d 32 2e 62 69 6f 5f 73 68 | ........return.partial(m2.bio_sh |
7fc20 | 6f 75 6c 64 5f 72 65 74 72 79 2c 20 73 65 6c 66 2e 73 73 6c 42 69 6f 2e 5f 70 74 72 28 29 29 0a | ould_retry,.self.sslBio._ptr()). |
7fc40 | 0a 20 20 20 20 40 70 72 6f 70 65 72 74 79 0a 20 20 20 20 64 65 66 20 5f 73 68 6f 75 64 5f 72 65 | .....@property.....def._shoud_re |
7fc60 | 74 72 79 5f 6e 65 74 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 | try_net(self):.........#.type:.( |
7fc80 | 29 20 2d 3e 20 43 61 6c 6c 61 62 6c 65 5b 5b 5d 2c 20 69 6e 74 5d 0a 20 20 20 20 20 20 20 20 72 | ).->.Callable[[],.int].........r |
7fca0 | 65 74 75 72 6e 20 70 61 72 74 69 61 6c 28 6d 32 2e 62 69 6f 5f 73 68 6f 75 6c 64 5f 72 65 74 72 | eturn.partial(m2.bio_should_retr |
7fcc0 | 79 2c 20 73 65 6c 66 2e 6e 65 74 77 6f 72 6b 42 69 6f 2e 5f 70 74 72 28 29 29 0a 0a 20 20 20 20 | y,.self.networkBio._ptr())...... |
7fce0 | 40 70 72 6f 70 65 72 74 79 0a 20 20 20 20 64 65 66 20 5f 63 74 72 6c 5f 70 65 6e 64 5f 73 73 6c | @property.....def._ctrl_pend_ssl |
7fd00 | 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 43 61 | (self):.........#.type:.().->.Ca |
7fd20 | 6c 6c 61 62 6c 65 5b 5b 5d 2c 20 69 6e 74 5d 0a 20 20 20 20 20 20 20 20 23 20 73 69 7a 65 5f 74 | llable[[],.int].........#.size_t |
7fd40 | 20 42 49 4f 5f 63 74 72 6c 5f 70 65 6e 64 69 6e 67 28 42 49 4f 20 2a 62 29 3b 0a 20 20 20 20 20 | .BIO_ctrl_pending(BIO.*b);...... |
7fd60 | 20 20 20 23 20 42 49 4f 5f 63 74 72 6c 5f 70 65 6e 64 69 6e 67 28 29 20 72 65 74 75 72 6e 20 74 | ...#.BIO_ctrl_pending().return.t |
7fd80 | 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 70 65 6e 64 69 6e 67 20 63 68 61 72 61 63 74 65 72 73 20 | he.number.of.pending.characters. |
7fda0 | 69 6e 0a 20 20 20 20 20 20 20 20 23 20 74 68 65 20 42 49 4f 73 20 72 65 61 64 20 61 6e 64 20 77 | in.........#.the.BIOs.read.and.w |
7fdc0 | 72 69 74 65 20 62 75 66 66 65 72 73 2e 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 70 61 72 | rite.buffers..........return.par |
7fde0 | 74 69 61 6c 28 6d 32 2e 62 69 6f 5f 63 74 72 6c 5f 70 65 6e 64 69 6e 67 2c 20 73 65 6c 66 2e 73 | tial(m2.bio_ctrl_pending,.self.s |
7fe00 | 73 6c 42 69 6f 2e 5f 70 74 72 28 29 29 0a 0a 20 20 20 20 40 70 72 6f 70 65 72 74 79 0a 20 20 20 | slBio._ptr())......@property.... |
7fe20 | 20 64 65 66 20 5f 63 74 72 6c 5f 70 65 6e 64 5f 6e 65 74 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 | .def._ctrl_pend_net(self):...... |
7fe40 | 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 43 61 6c 6c 61 62 6c 65 5b 5b 5d 2c 20 69 6e | ...#.type:.().->.Callable[[],.in |
7fe60 | 74 5d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 70 61 72 74 69 61 6c 28 6d 32 2e 62 69 6f | t].........return.partial(m2.bio |
7fe80 | 5f 63 74 72 6c 5f 70 65 6e 64 69 6e 67 2c 20 73 65 6c 66 2e 6e 65 74 77 6f 72 6b 42 69 6f 2e 5f | _ctrl_pending,.self.networkBio._ |
7fea0 | 70 74 72 28 29 29 0a 0a 20 20 20 20 40 70 72 6f 70 65 72 74 79 0a 20 20 20 20 64 65 66 20 5f 77 | ptr())......@property.....def._w |
7fec0 | 72 69 74 65 5f 73 73 6c 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 | rite_ssl(self):.........#.type:. |
7fee0 | 28 29 20 2d 3e 20 43 61 6c 6c 61 62 6c 65 5b 5b 62 79 74 65 73 5d 2c 20 69 6e 74 5d 0a 20 20 20 | ().->.Callable[[bytes],.int].... |
7ff00 | 20 20 20 20 20 23 20 41 6c 6c 20 74 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 | .....#.All.these.functions.retur |
7ff20 | 6e 20 65 69 74 68 65 72 20 74 68 65 20 61 6d 6f 75 6e 74 20 6f 66 20 64 61 74 61 0a 20 20 20 20 | n.either.the.amount.of.data..... |
7ff40 | 20 20 20 20 23 20 73 75 63 63 65 73 73 66 75 6c 6c 79 20 72 65 61 64 20 6f 72 20 77 72 69 74 74 | ....#.successfully.read.or.writt |
7ff60 | 65 6e 20 28 69 66 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 0a 20 20 20 20 20 | en.(if.the.return.value.is...... |
7ff80 | 20 20 20 23 20 70 6f 73 69 74 69 76 65 29 20 6f 72 20 74 68 61 74 20 6e 6f 20 64 61 74 61 20 77 | ...#.positive).or.that.no.data.w |
7ffa0 | 61 73 20 73 75 63 63 65 73 73 66 75 6c 6c 79 20 72 65 61 64 20 6f 72 20 77 72 69 74 74 65 6e 0a | as.successfully.read.or.written. |
7ffc0 | 20 20 20 20 20 20 20 20 23 20 69 66 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 30 20 6f 72 20 | ........#.if.the.result.is.0.or. |
7ffe0 | 2d 31 2e 20 49 66 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 2d 32 20 74 68 | -1..If.the.return.value.is.-2.th |
80000 | 65 6e 0a 20 20 20 20 20 20 20 20 23 20 74 68 65 20 6f 70 65 72 61 74 69 6f 6e 20 69 73 20 6e 6f | en.........#.the.operation.is.no |
80020 | 74 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 69 6e 20 74 68 65 20 73 70 65 63 69 66 69 63 20 42 49 | t.implemented.in.the.specific.BI |
80040 | 4f 20 74 79 70 65 2e 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 70 61 72 74 69 61 6c 28 6d | O.type..........return.partial(m |
80060 | 32 2e 62 69 6f 5f 77 72 69 74 65 2c 20 73 65 6c 66 2e 73 73 6c 42 69 6f 2e 5f 70 74 72 28 29 29 | 2.bio_write,.self.sslBio._ptr()) |
80080 | 0a 0a 20 20 20 20 40 70 72 6f 70 65 72 74 79 0a 20 20 20 20 64 65 66 20 5f 77 72 69 74 65 5f 6e | ......@property.....def._write_n |
800a0 | 65 74 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 | et(self):.........#.type:.().->. |
800c0 | 43 61 6c 6c 61 62 6c 65 5b 5b 62 79 74 65 73 5d 2c 20 69 6e 74 5d 0a 20 20 20 20 20 20 20 20 72 | Callable[[bytes],.int].........r |
800e0 | 65 74 75 72 6e 20 70 61 72 74 69 61 6c 28 6d 32 2e 62 69 6f 5f 77 72 69 74 65 2c 20 73 65 6c 66 | eturn.partial(m2.bio_write,.self |
80100 | 2e 6e 65 74 77 6f 72 6b 42 69 6f 2e 5f 70 74 72 28 29 29 0a 0a 20 20 20 20 40 70 72 6f 70 65 72 | .networkBio._ptr())......@proper |
80120 | 74 79 0a 20 20 20 20 64 65 66 20 5f 72 65 61 64 5f 73 73 6c 28 73 65 6c 66 29 3a 0a 20 20 20 20 | ty.....def._read_ssl(self):..... |
80140 | 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e 20 43 61 6c 6c 61 62 6c 65 5b 5b 69 6e 74 5d | ....#.type:.().->.Callable[[int] |
80160 | 2c 20 4f 70 74 69 6f 6e 61 6c 5b 62 79 74 65 73 5d 5d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 | ,.Optional[bytes]].........retur |
80180 | 6e 20 70 61 72 74 69 61 6c 28 6d 32 2e 62 69 6f 5f 72 65 61 64 2c 20 73 65 6c 66 2e 73 73 6c 42 | n.partial(m2.bio_read,.self.sslB |
801a0 | 69 6f 2e 5f 70 74 72 28 29 29 0a 0a 20 20 20 20 40 70 72 6f 70 65 72 74 79 0a 20 20 20 20 64 65 | io._ptr())......@property.....de |
801c0 | 66 20 5f 72 65 61 64 5f 6e 65 74 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 | f._read_net(self):.........#.typ |
801e0 | 65 3a 20 28 29 20 2d 3e 20 43 61 6c 6c 61 62 6c 65 5b 5b 69 6e 74 5d 2c 20 4f 70 74 69 6f 6e 61 | e:.().->.Callable[[int],.Optiona |
80200 | 6c 5b 62 79 74 65 73 5d 5d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 70 61 72 74 69 61 6c | l[bytes]].........return.partial |
80220 | 28 6d 32 2e 62 69 6f 5f 72 65 61 64 2c 20 73 65 6c 66 2e 6e 65 74 77 6f 72 6b 42 69 6f 2e 5f 70 | (m2.bio_read,.self.networkBio._p |
80240 | 74 72 28 29 29 0a 0a 20 20 20 20 64 65 66 20 5f 65 6e 63 72 79 70 74 28 73 65 6c 66 2c 20 64 61 | tr())......def._encrypt(self,.da |
80260 | 74 61 3d 62 27 27 2c 20 63 6c 69 65 6e 74 48 65 6c 6c 6f 3d 30 29 3a 0a 20 20 20 20 20 20 20 20 | ta=b'',.clientHello=0):......... |
80280 | 23 20 74 79 70 65 3a 20 28 62 79 74 65 73 2c 20 69 6e 74 29 20 2d 3e 20 62 79 74 65 73 0a 20 20 | #.type:.(bytes,.int).->.bytes... |
802a0 | 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 64 61 74 61 3a 0a 20 | ......""".........:param.data:.. |
802c0 | 20 20 20 20 20 20 20 3a 70 61 72 61 6d 20 63 6c 69 65 6e 74 48 65 6c 6c 6f 3a 0a 20 20 20 20 20 | .......:param.clientHello:...... |
802e0 | 20 20 20 3a 72 65 74 75 72 6e 3a 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 | ...:return:........."""......... |
80300 | 65 6e 63 72 79 70 74 65 64 44 61 74 61 20 3d 20 62 27 27 0a 20 20 20 20 20 20 20 20 73 65 6c 66 | encryptedData.=.b''.........self |
80320 | 2e 64 61 74 61 20 2b 3d 20 64 61 74 61 0a 0a 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 31 3a 0a | .data.+=.data..........while.1:. |
80340 | 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 73 65 6c 66 2e 5f 67 65 74 5f 77 72 5f 67 75 61 | ............if.(self._get_wr_gua |
80360 | 72 5f 73 73 6c 28 29 20 3e 20 30 20 61 6e 64 20 73 65 6c 66 2e 64 61 74 61 20 21 3d 20 62 27 27 | r_ssl().>.0.and.self.data.!=.b'' |
80380 | 29 20 6f 72 20 63 6c 69 65 6e 74 48 65 6c 6c 6f 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ).or.clientHello:............... |
803a0 | 20 20 72 20 3d 20 73 65 6c 66 2e 5f 77 72 69 74 65 5f 73 73 6c 28 73 65 6c 66 2e 64 61 74 61 29 | ..r.=.self._write_ssl(self.data) |
803c0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 72 20 3c 3d 20 30 3a 0a 20 20 20 20 | .................if.r.<=.0:..... |
803e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 6e 6f 74 20 73 65 6c 66 2e 5f 73 68 6f | ................if.not.self._sho |
80400 | 75 64 5f 72 65 74 72 79 5f 73 73 6c 28 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ud_retry_ssl():................. |
80420 | 20 20 20 20 20 20 20 20 72 61 69 73 65 20 49 4f 45 72 72 6f 72 28 0a 20 20 20 20 20 20 20 20 20 | ........raise.IOError(.......... |
80440 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 27 44 61 74 61 20 6c 65 66 74 20 74 | ...................('Data.left.t |
80460 | 6f 20 62 65 20 77 72 69 74 74 65 6e 20 74 6f 20 7b 7d 2c 20 27 20 2b 0a 20 20 20 20 20 20 20 20 | o.be.written.to.{},.'.+......... |
80480 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 62 75 74 20 63 61 6e 6e 6f 74 | .....................'but.cannot |
804a0 | 20 72 65 74 72 79 20 53 53 4c 20 63 6f 6e 6e 65 63 74 69 6f 6e 21 27 29 2e 66 6f 72 6d 61 74 28 | .retry.SSL.connection!').format( |
804c0 | 73 65 6c 66 2e 73 73 6c 42 69 6f 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6c | self.sslBio)).................el |
804e0 | 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 73 73 65 72 74 20 73 | se:.....................assert.s |
80500 | 65 6c 66 2e 63 68 65 63 6b 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | elf.checked..................... |
80520 | 73 65 6c 66 2e 64 61 74 61 20 3d 20 73 65 6c 66 2e 64 61 74 61 5b 72 3a 5d 0a 0a 20 20 20 20 20 | self.data.=.self.data[r:]....... |
80540 | 20 20 20 20 20 20 20 70 65 6e 64 69 6e 67 20 3d 20 73 65 6c 66 2e 5f 63 74 72 6c 5f 70 65 6e 64 | .......pending.=.self._ctrl_pend |
80560 | 5f 6e 65 74 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 70 65 6e 64 69 6e 67 3a 0a 20 | _net().............if.pending:.. |
80580 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 20 3d 20 73 65 6c 66 2e 5f 72 65 61 64 5f 6e 65 | ...............d.=.self._read_ne |
805a0 | 74 28 70 65 6e 64 69 6e 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 64 20 | t(pending).................if.d. |
805c0 | 69 73 20 6e 6f 74 20 4e 6f 6e 65 3a 20 20 23 20 54 68 69 73 20 69 73 20 73 74 72 61 6e 67 65 2c | is.not.None:..#.This.is.strange, |
805e0 | 20 62 75 74 20 64 20 63 61 6e 20 62 65 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | .but.d.can.be.None.............. |
80600 | 20 20 20 20 20 20 20 65 6e 63 72 79 70 74 65 64 44 61 74 61 20 2b 3d 20 64 0a 20 20 20 20 20 20 | .......encryptedData.+=.d....... |
80620 | 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ..........else:................. |
80640 | 20 20 20 20 61 73 73 65 72 74 28 73 65 6c 66 2e 5f 73 68 6f 75 64 5f 72 65 74 72 79 5f 6e 65 74 | ....assert(self._shoud_retry_net |
80660 | 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 | ()).............else:........... |
80680 | 20 20 20 20 20 20 62 72 65 61 6b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 65 6e 63 72 79 | ......break.........return.encry |
806a0 | 70 74 65 64 44 61 74 61 0a 0a 20 20 20 20 64 65 66 20 5f 64 65 63 72 79 70 74 28 73 65 6c 66 2c | ptedData......def._decrypt(self, |
806c0 | 20 64 61 74 61 3d 62 27 27 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 62 79 74 | .data=b''):.........#.type:.(byt |
806e0 | 65 73 29 20 2d 3e 20 62 79 74 65 73 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 65 6e 63 72 79 70 | es).->.bytes.........self.encryp |
80700 | 74 65 64 20 2b 3d 20 64 61 74 61 0a 20 20 20 20 20 20 20 20 64 65 63 72 79 70 74 65 64 44 61 74 | ted.+=.data.........decryptedDat |
80720 | 61 20 3d 20 62 27 27 0a 0a 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 31 3a 0a 20 20 20 20 20 20 | a.=.b''..........while.1:....... |
80740 | 20 20 20 20 20 20 69 66 20 73 65 6c 66 2e 5f 67 65 74 5f 77 72 5f 67 75 61 72 5f 73 73 6c 28 29 | ......if.self._get_wr_guar_ssl() |
80760 | 20 3e 20 30 20 61 6e 64 20 73 65 6c 66 2e 65 6e 63 72 79 70 74 65 64 20 21 3d 20 62 27 27 3a 0a | .>.0.and.self.encrypted.!=.b'':. |
80780 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 20 3d 20 73 65 6c 66 2e 5f 77 72 69 74 65 5f | ................r.=.self._write_ |
807a0 | 6e 65 74 28 73 65 6c 66 2e 65 6e 63 72 79 70 74 65 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | net(self.encrypted)............. |
807c0 | 20 20 20 20 69 66 20 72 20 3c 3d 20 30 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ....if.r.<=.0:.................. |
807e0 | 20 20 20 69 66 20 6e 6f 74 20 73 65 6c 66 2e 5f 73 68 6f 75 64 5f 72 65 74 72 79 5f 6e 65 74 28 | ...if.not.self._shoud_retry_net( |
80800 | 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 69 73 65 | ):.........................raise |
80820 | 20 49 4f 45 72 72 6f 72 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .IOError(....................... |
80840 | 20 20 20 20 20 20 28 27 44 61 74 61 20 6c 65 66 74 20 74 6f 20 62 65 20 77 72 69 74 74 65 6e 20 | ......('Data.left.to.be.written. |
80860 | 74 6f 20 7b 7d 2c 20 27 20 2b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | to.{},.'.+...................... |
80880 | 20 20 20 20 20 20 20 20 27 62 75 74 20 63 61 6e 6e 6f 74 20 72 65 74 72 79 20 53 53 4c 20 63 6f | ........'but.cannot.retry.SSL.co |
808a0 | 6e 6e 65 63 74 69 6f 6e 21 27 29 2e 66 6f 72 6d 61 74 28 73 65 6c 66 2e 6e 65 74 77 6f 72 6b 42 | nnection!').format(self.networkB |
808c0 | 69 6f 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 | io)).................else:...... |
808e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 65 6e 63 72 79 70 74 65 64 20 3d 20 | ...............self.encrypted.=. |
80900 | 73 65 6c 66 2e 65 6e 63 72 79 70 74 65 64 5b 72 3a 5d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 | self.encrypted[r:].............. |
80920 | 70 65 6e 64 69 6e 67 20 3d 20 73 65 6c 66 2e 5f 63 74 72 6c 5f 70 65 6e 64 5f 73 73 6c 28 29 0a | pending.=.self._ctrl_pend_ssl(). |
80940 | 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 70 65 6e 64 69 6e 67 3a 0a 20 20 20 20 20 20 20 20 | ............if.pending:......... |
80960 | 20 20 20 20 20 20 20 20 64 20 3d 20 73 65 6c 66 2e 5f 72 65 61 64 5f 73 73 6c 28 70 65 6e 64 69 | ........d.=.self._read_ssl(pendi |
80980 | 6e 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 64 20 69 73 20 6e 6f 74 20 | ng).................if.d.is.not. |
809a0 | 4e 6f 6e 65 3a 20 20 23 20 54 68 69 73 20 69 73 20 73 74 72 61 6e 67 65 2c 20 62 75 74 20 64 20 | None:..#.This.is.strange,.but.d. |
809c0 | 63 61 6e 20 62 65 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | can.be.None..................... |
809e0 | 64 65 63 72 79 70 74 65 64 44 61 74 61 20 2b 3d 20 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | decryptedData.+=.d.............. |
80a00 | 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 73 73 | ...else:.....................ass |
80a20 | 65 72 74 28 73 65 6c 66 2e 5f 73 68 6f 75 64 5f 72 65 74 72 79 5f 73 73 6c 28 29 29 0a 20 20 20 | ert(self._shoud_retry_ssl()).... |
80a40 | 20 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 | .........else:.................b |
80a60 | 72 65 61 6b 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 64 65 63 72 79 70 74 65 64 44 61 | reak..........return.decryptedDa |
80a80 | 74 61 0a 94 7d 94 28 8c 22 5f 61 6c 77 61 79 73 53 75 63 63 65 65 64 73 50 6f 73 74 43 6f 6e 6e | ta..}.(."_alwaysSucceedsPostConn |
80aa0 | 65 63 74 69 6f 6e 43 68 65 63 6b 94 6a 74 1f 00 00 4b 22 4b 23 87 94 8c 0a 63 6f 6e 6e 65 63 74 | ectionCheck.jt...K"K#....connect |
80ac0 | 53 53 4c 94 6a 74 1f 00 00 4b 26 4b 38 87 94 8c 0a 63 6f 6e 6e 65 63 74 54 43 50 94 6a 74 1f 00 | SSL.jt...K&K8....connectTCP.jt.. |
80ae0 | 00 4b 3b 4b 4e 87 94 8c 09 6c 69 73 74 65 6e 53 53 4c 94 6a 74 1f 00 00 4b 51 4b 61 87 94 8c 09 | .K;KN....listenSSL.jt...KQKa.... |
80b00 | 6c 69 73 74 65 6e 54 43 50 94 6a 74 1f 00 00 4b 64 4b 76 87 94 8c 12 5f 42 69 6f 50 72 6f 78 79 | listenTCP.jt...KdKv...._BioProxy |
80b20 | 2e 5f 5f 69 6e 69 74 5f 5f 94 6a 74 1f 00 00 4b 81 4b 82 87 94 8c 0e 5f 42 69 6f 50 72 6f 78 79 | .__init__.jt...K.K....._BioProxy |
80b40 | 2e 5f 70 74 72 94 6a 74 1f 00 00 4b 84 4b 85 87 94 8c 11 5f 42 69 6f 50 72 6f 78 79 2e 5f 5f 64 | ._ptr.jt...K.K....._BioProxy.__d |
80b60 | 65 6c 5f 5f 94 6a 74 1f 00 00 4b 87 4b 89 87 94 8c 09 5f 42 69 6f 50 72 6f 78 79 94 6a 7d 1f 00 | el__.jt...K.K....._BioProxy.j}.. |
80b80 | 00 4b 79 4b 89 87 94 8c 12 5f 53 53 4c 50 72 6f 78 79 2e 5f 5f 69 6e 69 74 5f 5f 94 6a 74 1f 00 | .KyK....._SSLProxy.__init__.jt.. |
80ba0 | 00 4b 94 4b 95 87 94 8c 0e 5f 53 53 4c 50 72 6f 78 79 2e 5f 70 74 72 94 6a 74 1f 00 00 4b 97 4b | .K.K....._SSLProxy._ptr.jt...K.K |
80bc0 | 98 87 94 8c 11 5f 53 53 4c 50 72 6f 78 79 2e 5f 5f 64 65 6c 5f 5f 94 6a 74 1f 00 00 4b 9a 4b 9c | ....._SSLProxy.__del__.jt...K.K. |
80be0 | 87 94 8c 09 5f 53 53 4c 50 72 6f 78 79 94 6a 7d 1f 00 00 4b 8c 4b 9c 87 94 8c 1b 54 4c 53 50 72 | ...._SSLProxy.j}...K.K.....TLSPr |
80c00 | 6f 74 6f 63 6f 6c 57 72 61 70 70 65 72 2e 5f 5f 69 6e 69 74 5f 5f 94 6a 74 1f 00 00 4b a8 4b d3 | otocolWrapper.__init__.jt...K.K. |
80c20 | 87 94 8c 18 54 4c 53 50 72 6f 74 6f 63 6f 6c 57 72 61 70 70 65 72 2e 63 6c 65 61 72 94 6a 74 1f | ....TLSProtocolWrapper.clear.jt. |
80c40 | 00 00 4b d5 4b e3 87 94 8c 1b 54 4c 53 50 72 6f 74 6f 63 6f 6c 57 72 61 70 70 65 72 2e 73 74 61 | ..K.K.....TLSProtocolWrapper.sta |
80c60 | 72 74 54 4c 53 94 6a 74 1f 00 00 4b e7 4d 0d 01 87 94 8c 18 54 4c 53 50 72 6f 74 6f 63 6f 6c 57 | rtTLS.jt...K.M......TLSProtocolW |
80c80 | 72 61 70 70 65 72 2e 77 72 69 74 65 94 6a 74 1f 00 00 4d 0f 01 4d 1d 01 87 94 8c 20 54 4c 53 50 | rapper.write.jt...M..M......TLSP |
80ca0 | 72 6f 74 6f 63 6f 6c 57 72 61 70 70 65 72 2e 77 72 69 74 65 53 65 71 75 65 6e 63 65 94 6a 74 1f | rotocolWrapper.writeSequence.jt. |
80cc0 | 00 00 4d 1f 01 4d 25 01 87 94 8c 21 54 4c 53 50 72 6f 74 6f 63 6f 6c 57 72 61 70 70 65 72 2e 6c | ..M..M%....!TLSProtocolWrapper.l |
80ce0 | 6f 73 65 43 6f 6e 6e 65 63 74 69 6f 6e 94 6a 74 1f 00 00 4d 27 01 4d 29 01 87 94 8c 21 54 4c 53 | oseConnection.jt...M'.M)....!TLS |
80d00 | 50 72 6f 74 6f 63 6f 6c 57 72 61 70 70 65 72 2e 63 6f 6e 6e 65 63 74 69 6f 6e 4d 61 64 65 94 6a | ProtocolWrapper.connectionMade.j |
80d20 | 74 1f 00 00 4d 2b 01 4d 2e 01 87 94 8c 1f 54 4c 53 50 72 6f 74 6f 63 6f 6c 57 72 61 70 70 65 72 | t...M+.M......TLSProtocolWrapper |
80d40 | 2e 64 61 74 61 52 65 63 65 69 76 65 64 94 6a 74 1f 00 00 4d 30 01 4d 49 01 87 94 8c 21 54 4c 53 | .dataReceived.jt...M0.MI....!TLS |
80d60 | 50 72 6f 74 6f 63 6f 6c 57 72 61 70 70 65 72 2e 63 6f 6e 6e 65 63 74 69 6f 6e 4c 6f 73 74 94 6a | ProtocolWrapper.connectionLost.j |
80d80 | 74 1f 00 00 4d 4b 01 4d 4e 01 87 94 8c 19 54 4c 53 50 72 6f 74 6f 63 6f 6c 57 72 61 70 70 65 72 | t...MK.MN.....TLSProtocolWrapper |
80da0 | 2e 5f 63 68 65 63 6b 94 6a 74 1f 00 00 4d 50 01 4d 5b 01 87 94 8c 1f 54 4c 53 50 72 6f 74 6f 63 | ._check.jt...MP.M[.....TLSProtoc |
80dc0 | 6f 6c 57 72 61 70 70 65 72 2e 5f 63 6c 69 65 6e 74 48 65 6c 6c 6f 94 6a 74 1f 00 00 4d 5d 01 4d | olWrapper._clientHello.jt...M].M |
80de0 | 68 01 87 94 8c 23 54 4c 53 50 72 6f 74 6f 63 6f 6c 57 72 61 70 70 65 72 2e 5f 67 65 74 5f 77 72 | h....#TLSProtocolWrapper._get_wr |
80e00 | 5f 67 75 61 72 5f 73 73 6c 94 6a 74 1f 00 00 4d 6c 01 4d 76 01 87 94 8c 23 54 4c 53 50 72 6f 74 | _guar_ssl.jt...Ml.Mv....#TLSProt |
80e20 | 6f 63 6f 6c 57 72 61 70 70 65 72 2e 5f 67 65 74 5f 77 72 5f 67 75 61 72 5f 6e 65 74 94 6a 74 1f | ocolWrapper._get_wr_guar_net.jt. |
80e40 | 00 00 4d 78 01 4d 7c 01 87 94 8c 23 54 4c 53 50 72 6f 74 6f 63 6f 6c 57 72 61 70 70 65 72 2e 5f | ..Mx.M|....#TLSProtocolWrapper._ |
80e60 | 73 68 6f 75 64 5f 72 65 74 72 79 5f 73 73 6c 94 6a 74 1f 00 00 4d 7e 01 4d 83 01 87 94 8c 23 54 | shoud_retry_ssl.jt...M~.M.....#T |
80e80 | 4c 53 50 72 6f 74 6f 63 6f 6c 57 72 61 70 70 65 72 2e 5f 73 68 6f 75 64 5f 72 65 74 72 79 5f 6e | LSProtocolWrapper._shoud_retry_n |
80ea0 | 65 74 94 6a 74 1f 00 00 4d 85 01 4d 88 01 87 94 8c 21 54 4c 53 50 72 6f 74 6f 63 6f 6c 57 72 61 | et.jt...M..M.....!TLSProtocolWra |
80ec0 | 70 70 65 72 2e 5f 63 74 72 6c 5f 70 65 6e 64 5f 73 73 6c 94 6a 74 1f 00 00 4d 8a 01 4d 90 01 87 | pper._ctrl_pend_ssl.jt...M..M... |
80ee0 | 94 8c 21 54 4c 53 50 72 6f 74 6f 63 6f 6c 57 72 61 70 70 65 72 2e 5f 63 74 72 6c 5f 70 65 6e 64 | ..!TLSProtocolWrapper._ctrl_pend |
80f00 | 5f 6e 65 74 94 6a 74 1f 00 00 4d 92 01 4d 95 01 87 94 8c 1d 54 4c 53 50 72 6f 74 6f 63 6f 6c 57 | _net.jt...M..M......TLSProtocolW |
80f20 | 72 61 70 70 65 72 2e 5f 77 72 69 74 65 5f 73 73 6c 94 6a 74 1f 00 00 4d 97 01 4d 9f 01 87 94 8c | rapper._write_ssl.jt...M..M..... |
80f40 | 1d 54 4c 53 50 72 6f 74 6f 63 6f 6c 57 72 61 70 70 65 72 2e 5f 77 72 69 74 65 5f 6e 65 74 94 6a | .TLSProtocolWrapper._write_net.j |
80f60 | 74 1f 00 00 4d a1 01 4d a4 01 87 94 8c 1c 54 4c 53 50 72 6f 74 6f 63 6f 6c 57 72 61 70 70 65 72 | t...M..M......TLSProtocolWrapper |
80f80 | 2e 5f 72 65 61 64 5f 73 73 6c 94 6a 74 1f 00 00 4d a6 01 4d a9 01 87 94 8c 1c 54 4c 53 50 72 6f | ._read_ssl.jt...M..M......TLSPro |
80fa0 | 74 6f 63 6f 6c 57 72 61 70 70 65 72 2e 5f 72 65 61 64 5f 6e 65 74 94 6a 74 1f 00 00 4d ab 01 4d | tocolWrapper._read_net.jt...M..M |
80fc0 | ae 01 87 94 8c 1b 54 4c 53 50 72 6f 74 6f 63 6f 6c 57 72 61 70 70 65 72 2e 5f 65 6e 63 72 79 70 | ......TLSProtocolWrapper._encryp |
80fe0 | 74 94 6a 74 1f 00 00 4d b0 01 4d cf 01 87 94 8c 1b 54 4c 53 50 72 6f 74 6f 63 6f 6c 57 72 61 70 | t.jt...M..M......TLSProtocolWrap |
81000 | 70 65 72 2e 5f 64 65 63 72 79 70 74 94 6a 74 1f 00 00 4d d1 01 4d eb 01 87 94 8c 12 54 4c 53 50 | per._decrypt.jt...M..M......TLSP |
81020 | 72 6f 74 6f 63 6f 6c 57 72 61 70 70 65 72 94 6a 7d 1f 00 00 4b 9f 4d eb 01 87 94 75 7d 94 28 8c | rotocolWrapper.j}...K.M....u}.(. |
81040 | 0a 63 6f 6e 6e 65 63 74 53 53 4c 94 6a 5c 02 00 00 8c 0a 63 6f 6e 6e 65 63 74 54 43 50 94 6a 5c | .connectSSL.j\.....connectTCP.j\ |
81060 | 02 00 00 8c 09 6c 69 73 74 65 6e 53 53 4c 94 6a 5c 02 00 00 8c 09 6c 69 73 74 65 6e 54 43 50 94 | .....listenSSL.j\.....listenTCP. |
81080 | 6a 5c 02 00 00 8c 12 54 4c 53 50 72 6f 74 6f 63 6f 6c 57 72 61 70 70 65 72 94 6a 5c 02 00 00 8c | j\.....TLSProtocolWrapper.j\.... |
810a0 | 18 54 4c 53 50 72 6f 74 6f 63 6f 6c 57 72 61 70 70 65 72 2e 63 6c 65 61 72 94 6a 5c 02 00 00 8c | .TLSProtocolWrapper.clear.j\.... |
810c0 | 21 54 4c 53 50 72 6f 74 6f 63 6f 6c 57 72 61 70 70 65 72 2e 63 6f 6e 6e 65 63 74 69 6f 6e 4c 6f | !TLSProtocolWrapper.connectionLo |
810e0 | 73 74 94 6a 5c 02 00 00 8c 21 54 4c 53 50 72 6f 74 6f 63 6f 6c 57 72 61 70 70 65 72 2e 63 6f 6e | st.j\....!TLSProtocolWrapper.con |
81100 | 6e 65 63 74 69 6f 6e 4d 61 64 65 94 6a 5c 02 00 00 8c 1f 54 4c 53 50 72 6f 74 6f 63 6f 6c 57 72 | nectionMade.j\.....TLSProtocolWr |
81120 | 61 70 70 65 72 2e 64 61 74 61 52 65 63 65 69 76 65 64 94 6a 5c 02 00 00 8c 21 54 4c 53 50 72 6f | apper.dataReceived.j\....!TLSPro |
81140 | 74 6f 63 6f 6c 57 72 61 70 70 65 72 2e 6c 6f 73 65 43 6f 6e 6e 65 63 74 69 6f 6e 94 6a 5c 02 00 | tocolWrapper.loseConnection.j\.. |
81160 | 00 8c 1b 54 4c 53 50 72 6f 74 6f 63 6f 6c 57 72 61 70 70 65 72 2e 73 74 61 72 74 54 4c 53 94 6a | ...TLSProtocolWrapper.startTLS.j |
81180 | 5c 02 00 00 8c 18 54 4c 53 50 72 6f 74 6f 63 6f 6c 57 72 61 70 70 65 72 2e 77 72 69 74 65 94 6a | \.....TLSProtocolWrapper.write.j |
811a0 | 5c 02 00 00 8c 20 54 4c 53 50 72 6f 74 6f 63 6f 6c 57 72 61 70 70 65 72 2e 77 72 69 74 65 53 65 | \.....TLSProtocolWrapper.writeSe |
811c0 | 71 75 65 6e 63 65 94 6a 5c 02 00 00 75 8c 23 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 54 77 69 73 | quence.j\...u.#M2Crypto.SSL.Twis |
811e0 | 74 65 64 50 72 6f 74 6f 63 6f 6c 57 72 61 70 70 65 72 94 74 94 8c 0f 4d 32 43 72 79 70 74 6f 2e | tedProtocolWrapper.t...M2Crypto. |
81200 | 53 53 4c 2e 63 62 94 28 58 a7 0a 00 00 66 72 6f 6d 20 5f 5f 66 75 74 75 72 65 5f 5f 20 69 6d 70 | SSL.cb.(X....from.__future__.imp |
81220 | 6f 72 74 20 61 62 73 6f 6c 75 74 65 5f 69 6d 70 6f 72 74 0a 0a 22 22 22 53 53 4c 20 63 61 6c 6c | ort.absolute_import.."""SSL.call |
81240 | 62 61 63 6b 73 0a 0a 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 39 39 2d 32 30 30 33 20 4e | backs..Copyright.(c).1999-2003.N |
81260 | 67 20 50 68 65 6e 67 20 53 69 6f 6e 67 2e 20 41 6c 6c 20 72 69 67 68 74 73 20 72 65 73 65 72 76 | g.Pheng.Siong..All.rights.reserv |
81280 | 65 64 2e 22 22 22 0a 0a 69 6d 70 6f 72 74 20 73 79 73 0a 0a 66 72 6f 6d 20 4d 32 43 72 79 70 74 | ed."""..import.sys..from.M2Crypt |
812a0 | 6f 20 69 6d 70 6f 72 74 20 6d 32 2c 20 75 74 69 6c 0a 69 66 20 75 74 69 6c 2e 70 79 32 37 70 6c | o.import.m2,.util.if.util.py27pl |
812c0 | 75 73 3a 0a 20 20 20 20 66 72 6f 6d 20 74 79 70 69 6e 67 20 69 6d 70 6f 72 74 20 41 6e 79 2c 20 | us:.....from.typing.import.Any,. |
812e0 | 4c 69 73 74 20 20 23 20 6e 6f 71 61 0a 0a 5f 5f 61 6c 6c 5f 5f 20 3d 20 5b 27 75 6e 6b 6e 6f 77 | List..#.noqa..__all__.=.['unknow |
81300 | 6e 5f 69 73 73 75 65 72 27 2c 20 27 73 73 6c 5f 76 65 72 69 66 79 5f 63 61 6c 6c 62 61 63 6b 5f | n_issuer',.'ssl_verify_callback_ |
81320 | 73 74 75 62 27 2c 20 27 73 73 6c 5f 76 65 72 69 66 79 5f 63 61 6c 6c 62 61 63 6b 27 2c 0a 20 20 | stub',.'ssl_verify_callback',... |
81340 | 20 20 20 20 20 20 20 20 20 27 73 73 6c 5f 76 65 72 69 66 79 5f 63 61 6c 6c 62 61 63 6b 5f 61 6c | .........'ssl_verify_callback_al |
81360 | 6c 6f 77 5f 75 6e 6b 6e 6f 77 6e 5f 63 61 27 2c 20 27 73 73 6c 5f 69 6e 66 6f 5f 63 61 6c 6c 62 | low_unknown_ca',.'ssl_info_callb |
81380 | 61 63 6b 27 5d 0a 0a 0a 64 65 66 20 73 73 6c 5f 76 65 72 69 66 79 5f 63 61 6c 6c 62 61 63 6b 5f | ack']...def.ssl_verify_callback_ |
813a0 | 73 74 75 62 28 73 73 6c 5f 63 74 78 5f 70 74 72 2c 20 78 35 30 39 5f 70 74 72 2c 20 65 72 72 6e | stub(ssl_ctx_ptr,.x509_ptr,.errn |
813c0 | 75 6d 2c 20 65 72 72 64 65 70 74 68 2c 20 6f 6b 29 3a 0a 20 20 20 20 23 20 44 65 70 72 65 63 61 | um,.errdepth,.ok):.....#.Depreca |
813e0 | 74 65 64 0a 20 20 20 20 72 65 74 75 72 6e 20 6f 6b 0a 0a 75 6e 6b 6e 6f 77 6e 5f 69 73 73 75 65 | ted.....return.ok..unknown_issue |
81400 | 72 20 3d 20 5b 0a 20 20 20 20 6d 32 2e 58 35 30 39 5f 56 5f 45 52 52 5f 44 45 50 54 48 5f 5a 45 | r.=.[.....m2.X509_V_ERR_DEPTH_ZE |
81420 | 52 4f 5f 53 45 4c 46 5f 53 49 47 4e 45 44 5f 43 45 52 54 2c 0a 20 20 20 20 6d 32 2e 58 35 30 39 | RO_SELF_SIGNED_CERT,.....m2.X509 |
81440 | 5f 56 5f 45 52 52 5f 55 4e 41 42 4c 45 5f 54 4f 5f 47 45 54 5f 49 53 53 55 45 52 5f 43 45 52 54 | _V_ERR_UNABLE_TO_GET_ISSUER_CERT |
81460 | 5f 4c 4f 43 41 4c 4c 59 2c 0a 20 20 20 20 6d 32 2e 58 35 30 39 5f 56 5f 45 52 52 5f 55 4e 41 42 | _LOCALLY,.....m2.X509_V_ERR_UNAB |
81480 | 4c 45 5f 54 4f 5f 56 45 52 49 46 59 5f 4c 45 41 46 5f 53 49 47 4e 41 54 55 52 45 2c 0a 20 20 20 | LE_TO_VERIFY_LEAF_SIGNATURE,.... |
814a0 | 20 6d 32 2e 58 35 30 39 5f 56 5f 45 52 52 5f 43 45 52 54 5f 55 4e 54 52 55 53 54 45 44 2c 0a 5d | .m2.X509_V_ERR_CERT_UNTRUSTED,.] |
814c0 | 0a 0a 0a 64 65 66 20 73 73 6c 5f 76 65 72 69 66 79 5f 63 61 6c 6c 62 61 63 6b 28 73 73 6c 5f 63 | ...def.ssl_verify_callback(ssl_c |
814e0 | 74 78 5f 70 74 72 2c 20 78 35 30 39 5f 70 74 72 2c 20 65 72 72 6e 75 6d 2c 20 65 72 72 64 65 70 | tx_ptr,.x509_ptr,.errnum,.errdep |
81500 | 74 68 2c 20 6f 6b 29 3a 0a 20 20 20 20 23 20 74 79 70 65 3a 20 28 62 79 74 65 73 2c 20 62 79 74 | th,.ok):.....#.type:.(bytes,.byt |
81520 | 65 73 2c 20 69 6e 74 2c 20 69 6e 74 2c 20 69 6e 74 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 23 20 | es,.int,.int,.int).->.int.....#. |
81540 | 44 65 70 72 65 63 61 74 65 64 0a 0a 20 20 20 20 66 72 6f 6d 20 4d 32 43 72 79 70 74 6f 2e 53 53 | Deprecated......from.M2Crypto.SS |
81560 | 4c 2e 43 6f 6e 74 65 78 74 20 69 6d 70 6f 72 74 20 43 6f 6e 74 65 78 74 0a 20 20 20 20 73 73 6c | L.Context.import.Context.....ssl |
81580 | 5f 63 74 78 20 3d 20 43 6f 6e 74 65 78 74 2e 63 74 78 6d 61 70 28 29 5b 69 6e 74 28 73 73 6c 5f | _ctx.=.Context.ctxmap()[int(ssl_ |
815a0 | 63 74 78 5f 70 74 72 29 5d 0a 20 20 20 20 69 66 20 65 72 72 6e 75 6d 20 69 6e 20 75 6e 6b 6e 6f | ctx_ptr)].....if.errnum.in.unkno |
815c0 | 77 6e 5f 69 73 73 75 65 72 3a 0a 20 20 20 20 20 20 20 20 69 66 20 73 73 6c 5f 63 74 78 2e 67 65 | wn_issuer:.........if.ssl_ctx.ge |
815e0 | 74 5f 61 6c 6c 6f 77 5f 75 6e 6b 6e 6f 77 6e 5f 63 61 28 29 3a 0a 20 20 20 20 20 20 20 20 20 20 | t_allow_unknown_ca():........... |
81600 | 20 20 73 79 73 2e 73 74 64 65 72 72 2e 77 72 69 74 65 28 22 70 6f 6c 69 63 79 3a 20 25 73 3a 20 | ..sys.stderr.write("policy:.%s:. |
81620 | 70 65 72 6d 69 74 74 65 64 2e 2e 2e 5c 6e 22 20 25 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | permitted...\n".%............... |
81640 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 32 2e 78 35 30 39 5f 67 65 74 5f 76 65 72 69 | ...............(m2.x509_get_veri |
81660 | 66 79 5f 65 72 72 6f 72 28 65 72 72 6e 75 6d 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 | fy_error(errnum))).............s |
81680 | 79 73 2e 73 74 64 65 72 72 2e 66 6c 75 73 68 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 6f 6b | ys.stderr.flush().............ok |
816a0 | 20 3d 20 31 0a 20 20 20 20 23 20 43 52 4c 20 63 68 65 63 6b 69 6e 67 20 67 6f 65 73 20 68 65 72 | .=.1.....#.CRL.checking.goes.her |
816c0 | 65 2e 2e 2e 0a 20 20 20 20 69 66 20 6f 6b 3a 0a 20 20 20 20 20 20 20 20 69 66 20 73 73 6c 5f 63 | e........if.ok:.........if.ssl_c |
816e0 | 74 78 2e 67 65 74 5f 76 65 72 69 66 79 5f 64 65 70 74 68 28 29 20 3e 3d 20 65 72 72 64 65 70 74 | tx.get_verify_depth().>=.errdept |
81700 | 68 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 6f 6b 20 3d 20 31 0a 20 20 20 20 20 20 20 20 65 6c | h:.............ok.=.1.........el |
81720 | 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 6f 6b 20 3d 20 30 0a 20 20 20 20 72 65 74 75 72 | se:.............ok.=.0.....retur |
81740 | 6e 20 6f 6b 0a 0a 0a 64 65 66 20 73 73 6c 5f 76 65 72 69 66 79 5f 63 61 6c 6c 62 61 63 6b 5f 61 | n.ok...def.ssl_verify_callback_a |
81760 | 6c 6c 6f 77 5f 75 6e 6b 6e 6f 77 6e 5f 63 61 28 6f 6b 2c 20 73 74 6f 72 65 29 3a 0a 20 20 20 20 | llow_unknown_ca(ok,.store):..... |
81780 | 23 20 74 79 70 65 3a 20 28 69 6e 74 2c 20 41 6e 79 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 65 72 | #.type:.(int,.Any).->.int.....er |
817a0 | 72 6e 75 6d 20 3d 20 73 74 6f 72 65 2e 67 65 74 5f 65 72 72 6f 72 28 29 0a 20 20 20 20 69 66 20 | rnum.=.store.get_error().....if. |
817c0 | 65 72 72 6e 75 6d 20 69 6e 20 75 6e 6b 6e 6f 77 6e 5f 69 73 73 75 65 72 3a 0a 20 20 20 20 20 20 | errnum.in.unknown_issuer:....... |
817e0 | 20 20 6f 6b 20 3d 20 31 0a 20 20 20 20 72 65 74 75 72 6e 20 6f 6b 0a 0a 0a 23 20 43 72 69 62 62 | ..ok.=.1.....return.ok...#.Cribb |
81800 | 65 64 20 66 72 6f 6d 20 4f 70 65 6e 53 53 4c 27 73 20 61 70 70 73 2f 73 5f 63 62 2e 63 2e 0a 64 | ed.from.OpenSSL's.apps/s_cb.c..d |
81820 | 65 66 20 73 73 6c 5f 69 6e 66 6f 5f 63 61 6c 6c 62 61 63 6b 28 77 68 65 72 65 2c 20 72 65 74 2c | ef.ssl_info_callback(where,.ret, |
81840 | 20 73 73 6c 5f 70 74 72 29 3a 0a 20 20 20 20 23 20 74 79 70 65 3a 20 28 69 6e 74 2c 20 69 6e 74 | .ssl_ptr):.....#.type:.(int,.int |
81860 | 2c 20 62 79 74 65 73 29 20 2d 3e 20 4e 6f 6e 65 0a 0a 20 20 20 20 77 20 3d 20 77 68 65 72 65 20 | ,.bytes).->.None......w.=.where. |
81880 | 26 20 7e 6d 32 2e 53 53 4c 5f 53 54 5f 4d 41 53 4b 0a 20 20 20 20 69 66 20 77 20 26 20 6d 32 2e | &.~m2.SSL_ST_MASK.....if.w.&.m2. |
818a0 | 53 53 4c 5f 53 54 5f 43 4f 4e 4e 45 43 54 3a 0a 20 20 20 20 20 20 20 20 73 74 61 74 65 20 3d 20 | SSL_ST_CONNECT:.........state.=. |
818c0 | 22 53 53 4c 20 63 6f 6e 6e 65 63 74 22 0a 20 20 20 20 65 6c 69 66 20 77 20 26 20 6d 32 2e 53 53 | "SSL.connect".....elif.w.&.m2.SS |
818e0 | 4c 5f 53 54 5f 41 43 43 45 50 54 3a 0a 20 20 20 20 20 20 20 20 73 74 61 74 65 20 3d 20 22 53 53 | L_ST_ACCEPT:.........state.=."SS |
81900 | 4c 20 61 63 63 65 70 74 22 0a 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 73 74 61 74 | L.accept".....else:.........stat |
81920 | 65 20 3d 20 22 53 53 4c 20 73 74 61 74 65 20 75 6e 6b 6e 6f 77 6e 22 0a 0a 20 20 20 20 69 66 20 | e.=."SSL.state.unknown"......if. |
81940 | 77 68 65 72 65 20 26 20 6d 32 2e 53 53 4c 5f 43 42 5f 4c 4f 4f 50 3a 0a 20 20 20 20 20 20 20 20 | where.&.m2.SSL_CB_LOOP:......... |
81960 | 73 79 73 2e 73 74 64 65 72 72 2e 77 72 69 74 65 28 22 4c 4f 4f 50 3a 20 25 73 3a 20 25 73 5c 6e | sys.stderr.write("LOOP:.%s:.%s\n |
81980 | 22 20 25 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 | ".%..........................(st |
819a0 | 61 74 65 2c 20 6d 32 2e 73 73 6c 5f 67 65 74 5f 73 74 61 74 65 5f 76 28 73 73 6c 5f 70 74 72 29 | ate,.m2.ssl_get_state_v(ssl_ptr) |
819c0 | 29 29 0a 20 20 20 20 20 20 20 20 73 79 73 2e 73 74 64 65 72 72 2e 66 6c 75 73 68 28 29 0a 20 20 | )).........sys.stderr.flush()... |
819e0 | 20 20 20 20 20 20 72 65 74 75 72 6e 0a 0a 20 20 20 20 69 66 20 77 68 65 72 65 20 26 20 6d 32 2e | ......return......if.where.&.m2. |
81a00 | 53 53 4c 5f 43 42 5f 45 58 49 54 3a 0a 20 20 20 20 20 20 20 20 69 66 20 6e 6f 74 20 72 65 74 3a | SSL_CB_EXIT:.........if.not.ret: |
81a20 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 79 73 2e 73 74 64 65 72 72 2e 77 72 69 74 65 28 22 46 | .............sys.stderr.write("F |
81a40 | 41 49 4c 45 44 3a 20 25 73 3a 20 25 73 5c 6e 22 20 25 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | AILED:.%s:.%s\n".%.............. |
81a60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 61 74 65 2c 20 6d 32 2e 73 73 6c 5f 67 | ................(state,.m2.ssl_g |
81a80 | 65 74 5f 73 74 61 74 65 5f 76 28 73 73 6c 5f 70 74 72 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 | et_state_v(ssl_ptr)))........... |
81aa0 | 20 20 73 79 73 2e 73 74 64 65 72 72 2e 66 6c 75 73 68 28 29 0a 20 20 20 20 20 20 20 20 65 6c 73 | ..sys.stderr.flush().........els |
81ac0 | 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 79 73 2e 73 74 64 65 72 72 2e 77 72 69 74 65 28 | e:.............sys.stderr.write( |
81ae0 | 22 49 4e 46 4f 3a 20 25 73 3a 20 25 73 5c 6e 22 20 25 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | "INFO:.%s:.%s\n".%.............. |
81b00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 61 74 65 2c 20 6d 32 2e 73 73 6c 5f 67 | ................(state,.m2.ssl_g |
81b20 | 65 74 5f 73 74 61 74 65 5f 76 28 73 73 6c 5f 70 74 72 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 | et_state_v(ssl_ptr)))........... |
81b40 | 20 20 73 79 73 2e 73 74 64 65 72 72 2e 66 6c 75 73 68 28 29 0a 20 20 20 20 20 20 20 20 72 65 74 | ..sys.stderr.flush().........ret |
81b60 | 75 72 6e 0a 0a 20 20 20 20 69 66 20 77 68 65 72 65 20 26 20 6d 32 2e 53 53 4c 5f 43 42 5f 41 4c | urn......if.where.&.m2.SSL_CB_AL |
81b80 | 45 52 54 3a 0a 20 20 20 20 20 20 20 20 69 66 20 77 68 65 72 65 20 26 20 6d 32 2e 53 53 4c 5f 43 | ERT:.........if.where.&.m2.SSL_C |
81ba0 | 42 5f 52 45 41 44 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 77 20 3d 20 27 72 65 61 64 27 0a 20 | B_READ:.............w.=.'read'.. |
81bc0 | 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 77 20 3d 20 27 77 72 | .......else:.............w.=.'wr |
81be0 | 69 74 65 27 0a 20 20 20 20 20 20 20 20 73 79 73 2e 73 74 64 65 72 72 2e 77 72 69 74 65 28 22 41 | ite'.........sys.stderr.write("A |
81c00 | 4c 45 52 54 3a 20 25 73 3a 20 25 73 3a 20 25 73 5c 6e 22 20 25 0a 20 20 20 20 20 20 20 20 20 20 | LERT:.%s:.%s:.%s\n".%........... |
81c20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 2c 20 6d 32 2e 73 73 6c 5f 67 65 74 5f 61 6c | ...............(w,.m2.ssl_get_al |
81c40 | 65 72 74 5f 74 79 70 65 5f 76 28 72 65 74 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ert_type_v(ret),................ |
81c60 | 20 20 20 20 20 20 20 20 20 20 20 6d 32 2e 73 73 6c 5f 67 65 74 5f 61 6c 65 72 74 5f 64 65 73 63 | ...........m2.ssl_get_alert_desc |
81c80 | 5f 76 28 72 65 74 29 29 29 0a 20 20 20 20 20 20 20 20 73 79 73 2e 73 74 64 65 72 72 2e 66 6c 75 | _v(ret))).........sys.stderr.flu |
81ca0 | 73 68 28 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 0a 94 7d 94 28 8c 18 73 73 6c 5f 76 65 | sh().........return..}.(..ssl_ve |
81cc0 | 72 69 66 79 5f 63 61 6c 6c 62 61 63 6b 5f 73 74 75 62 94 6a 74 1f 00 00 4b 11 4b 13 87 94 8c 13 | rify_callback_stub.jt...K.K..... |
81ce0 | 73 73 6c 5f 76 65 72 69 66 79 5f 63 61 6c 6c 62 61 63 6b 94 6a 74 1f 00 00 4b 1d 4b 2f 87 94 8c | ssl_verify_callback.jt...K.K/... |
81d00 | 24 73 73 6c 5f 76 65 72 69 66 79 5f 63 61 6c 6c 62 61 63 6b 5f 61 6c 6c 6f 77 5f 75 6e 6b 6e 6f | $ssl_verify_callback_allow_unkno |
81d20 | 77 6e 5f 63 61 94 6a 74 1f 00 00 4b 32 4b 37 87 94 8c 11 73 73 6c 5f 69 6e 66 6f 5f 63 61 6c 6c | wn_ca.jt...K2K7....ssl_info_call |
81d40 | 62 61 63 6b 94 6a 74 1f 00 00 4b 3b 4b 60 87 94 75 7d 94 28 8c 18 73 73 6c 5f 76 65 72 69 66 79 | back.jt...K;K`..u}.(..ssl_verify |
81d60 | 5f 63 61 6c 6c 62 61 63 6b 5f 73 74 75 62 94 6a 5c 02 00 00 8c 13 73 73 6c 5f 76 65 72 69 66 79 | _callback_stub.j\.....ssl_verify |
81d80 | 5f 63 61 6c 6c 62 61 63 6b 94 6a 5c 02 00 00 8c 24 73 73 6c 5f 76 65 72 69 66 79 5f 63 61 6c 6c | _callback.j\....$ssl_verify_call |
81da0 | 62 61 63 6b 5f 61 6c 6c 6f 77 5f 75 6e 6b 6e 6f 77 6e 5f 63 61 94 6a 5c 02 00 00 8c 11 73 73 6c | back_allow_unknown_ca.j\.....ssl |
81dc0 | 5f 69 6e 66 6f 5f 63 61 6c 6c 62 61 63 6b 94 6a 5c 02 00 00 75 8c 0f 4d 32 43 72 79 70 74 6f 2e | _info_callback.j\...u..M2Crypto. |
81de0 | 53 53 4c 2e 63 62 94 74 94 8c 1b 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 73 73 6c 5f 64 69 73 70 | SSL.cb.t...M2Crypto.SSL.ssl_disp |
81e00 | 61 74 63 68 65 72 94 28 58 69 04 00 00 66 72 6f 6d 20 5f 5f 66 75 74 75 72 65 5f 5f 20 69 6d 70 | atcher.(Xi...from.__future__.imp |
81e20 | 6f 72 74 20 61 62 73 6f 6c 75 74 65 5f 69 6d 70 6f 72 74 0a 0a 22 22 22 53 53 4c 20 64 69 73 70 | ort.absolute_import.."""SSL.disp |
81e40 | 61 74 63 68 65 72 0a 0a 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 39 39 2d 32 30 30 32 20 | atcher..Copyright.(c).1999-2002. |
81e60 | 4e 67 20 50 68 65 6e 67 20 53 69 6f 6e 67 2e 20 41 6c 6c 20 72 69 67 68 74 73 20 72 65 73 65 72 | Ng.Pheng.Siong..All.rights.reser |
81e80 | 76 65 64 2e 22 22 22 0a 0a 23 20 50 79 74 68 6f 6e 0a 69 6d 70 6f 72 74 20 61 73 79 6e 63 6f 72 | ved."""..#.Python.import.asyncor |
81ea0 | 65 0a 69 6d 70 6f 72 74 20 73 6f 63 6b 65 74 0a 0a 23 20 4d 32 43 72 79 70 74 6f 0a 66 72 6f 6d | e.import.socket..#.M2Crypto.from |
81ec0 | 20 4d 32 43 72 79 70 74 6f 20 69 6d 70 6f 72 74 20 75 74 69 6c 20 20 23 20 6e 6f 71 61 0a 66 72 | .M2Crypto.import.util..#.noqa.fr |
81ee0 | 6f 6d 20 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 6f 6e 6e 65 63 74 69 6f 6e 20 69 6d 70 6f 72 | om.M2Crypto.SSL.Connection.impor |
81f00 | 74 20 43 6f 6e 6e 65 63 74 69 6f 6e 0a 66 72 6f 6d 20 4d 32 43 72 79 70 74 6f 2e 53 53 4c 2e 43 | t.Connection.from.M2Crypto.SSL.C |
81f20 | 6f 6e 74 65 78 74 20 69 6d 70 6f 72 74 20 43 6f 6e 74 65 78 74 20 20 23 20 6e 6f 71 61 0a 0a 5f | ontext.import.Context..#.noqa.._ |
81f40 | 5f 61 6c 6c 5f 5f 20 3d 20 5b 27 73 73 6c 5f 64 69 73 70 61 74 63 68 65 72 27 5d 0a 0a 0a 63 6c | _all__.=.['ssl_dispatcher']...cl |
81f60 | 61 73 73 20 73 73 6c 5f 64 69 73 70 61 74 63 68 65 72 28 61 73 79 6e 63 6f 72 65 2e 64 69 73 70 | ass.ssl_dispatcher(asyncore.disp |
81f80 | 61 74 63 68 65 72 29 3a 0a 0a 20 20 20 20 64 65 66 20 63 72 65 61 74 65 5f 73 6f 63 6b 65 74 28 | atcher):......def.create_socket( |
81fa0 | 73 65 6c 66 2c 20 73 73 6c 5f 63 6f 6e 74 65 78 74 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 | self,.ssl_context):.........#.ty |
81fc0 | 70 65 3a 20 28 43 6f 6e 74 65 78 74 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 73 65 | pe:.(Context).->.None.........se |
81fe0 | 6c 66 2e 66 61 6d 69 6c 79 5f 61 6e 64 5f 74 79 70 65 20 3d 20 73 6f 63 6b 65 74 2e 41 46 5f 49 | lf.family_and_type.=.socket.AF_I |
82000 | 4e 45 54 2c 20 73 6f 63 6b 65 74 2e 53 4f 43 4b 5f 53 54 52 45 41 4d 0a 20 20 20 20 20 20 20 20 | NET,.socket.SOCK_STREAM......... |
82020 | 73 65 6c 66 2e 73 73 6c 5f 63 74 78 20 3d 20 73 73 6c 5f 63 6f 6e 74 65 78 74 0a 20 20 20 20 20 | self.ssl_ctx.=.ssl_context...... |
82040 | 20 20 20 73 65 6c 66 2e 73 6f 63 6b 65 74 20 3d 20 43 6f 6e 6e 65 63 74 69 6f 6e 28 73 65 6c 66 | ...self.socket.=.Connection(self |
82060 | 2e 73 73 6c 5f 63 74 78 29 0a 20 20 20 20 20 20 20 20 23 20 73 65 6c 66 2e 73 6f 63 6b 65 74 2e | .ssl_ctx).........#.self.socket. |
82080 | 73 65 74 62 6c 6f 63 6b 69 6e 67 28 30 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 64 64 5f | setblocking(0).........self.add_ |
820a0 | 63 68 61 6e 6e 65 6c 28 29 0a 0a 20 20 20 20 64 65 66 20 63 6f 6e 6e 65 63 74 28 73 65 6c 66 2c | channel()......def.connect(self, |
820c0 | 20 61 64 64 72 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 75 74 69 6c 2e 41 64 | .addr):.........#.type:.(util.Ad |
820e0 | 64 72 54 79 70 65 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 6f 63 | drType).->.None.........self.soc |
82100 | 6b 65 74 2e 73 65 74 62 6c 6f 63 6b 69 6e 67 28 31 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e | ket.setblocking(1).........self. |
82120 | 73 6f 63 6b 65 74 2e 63 6f 6e 6e 65 63 74 28 61 64 64 72 29 0a 20 20 20 20 20 20 20 20 73 65 6c | socket.connect(addr).........sel |
82140 | 66 2e 73 6f 63 6b 65 74 2e 73 65 74 62 6c 6f 63 6b 69 6e 67 28 30 29 0a 0a 20 20 20 20 64 65 66 | f.socket.setblocking(0)......def |
82160 | 20 72 65 63 76 28 73 65 6c 66 2c 20 62 75 66 66 65 72 5f 73 69 7a 65 3d 34 30 39 36 29 3a 0a 20 | .recv(self,.buffer_size=4096):.. |
82180 | 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 69 6e 74 29 20 2d 3e 20 62 79 74 65 73 0a 20 20 | .......#.type:.(int).->.bytes... |
821a0 | 20 20 20 20 20 20 22 22 22 52 65 63 65 69 76 65 20 64 61 74 61 20 6f 76 65 72 20 53 53 4c 2e 22 | ......"""Receive.data.over.SSL." |
821c0 | 22 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 2e 73 6f 63 6b 65 74 2e 72 65 | "".........return.self.socket.re |
821e0 | 63 76 28 62 75 66 66 65 72 5f 73 69 7a 65 29 0a 0a 20 20 20 20 64 65 66 20 73 65 6e 64 28 73 65 | cv(buffer_size)......def.send(se |
82200 | 6c 66 2c 20 62 75 66 66 65 72 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a 20 28 62 79 | lf,.buffer):.........#.type:.(by |
82220 | 74 65 73 29 20 2d 3e 20 69 6e 74 0a 20 20 20 20 20 20 20 20 22 22 22 53 65 6e 64 20 64 61 74 61 | tes).->.int........."""Send.data |
82240 | 20 6f 76 65 72 20 53 53 4c 2e 22 22 22 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c | .over.SSL.""".........return.sel |
82260 | 66 2e 73 6f 63 6b 65 74 2e 73 65 6e 64 28 62 75 66 66 65 72 29 0a 94 7d 94 28 8c 1c 73 73 6c 5f | f.socket.send(buffer)..}.(..ssl_ |
82280 | 64 69 73 70 61 74 63 68 65 72 2e 63 72 65 61 74 65 5f 73 6f 63 6b 65 74 94 6a 74 1f 00 00 4b 15 | dispatcher.create_socket.jt...K. |
822a0 | 4b 1b 87 94 8c 16 73 73 6c 5f 64 69 73 70 61 74 63 68 65 72 2e 63 6f 6e 6e 65 63 74 94 6a 74 1f | K.....ssl_dispatcher.connect.jt. |
822c0 | 00 00 4b 1d 4b 21 87 94 8c 13 73 73 6c 5f 64 69 73 70 61 74 63 68 65 72 2e 72 65 63 76 94 6a 74 | ..K.K!....ssl_dispatcher.recv.jt |
822e0 | 1f 00 00 4b 23 4b 26 87 94 8c 13 73 73 6c 5f 64 69 73 70 61 74 63 68 65 72 2e 73 65 6e 64 94 6a | ...K#K&....ssl_dispatcher.send.j |
82300 | 74 1f 00 00 4b 28 4b 2b 87 94 8c 0e 73 73 6c 5f 64 69 73 70 61 74 63 68 65 72 94 6a 7d 1f 00 00 | t...K(K+....ssl_dispatcher.j}... |
82320 | 4b 13 4b 2b 87 94 75 7d 94 28 8c 0e 73 73 6c 5f 64 69 73 70 61 74 63 68 65 72 94 6a 5c 02 00 00 | K.K+..u}.(..ssl_dispatcher.j\... |
82340 | 8c 16 73 73 6c 5f 64 69 73 70 61 74 63 68 65 72 2e 63 6f 6e 6e 65 63 74 94 6a 5c 02 00 00 8c 1c | ..ssl_dispatcher.connect.j\..... |
82360 | 73 73 6c 5f 64 69 73 70 61 74 63 68 65 72 2e 63 72 65 61 74 65 5f 73 6f 63 6b 65 74 94 6a 5c 02 | ssl_dispatcher.create_socket.j\. |
82380 | 00 00 8c 13 73 73 6c 5f 64 69 73 70 61 74 63 68 65 72 2e 72 65 63 76 94 6a 5c 02 00 00 8c 13 73 | ....ssl_dispatcher.recv.j\.....s |
823a0 | 73 6c 5f 64 69 73 70 61 74 63 68 65 72 2e 73 65 6e 64 94 6a 5c 02 00 00 75 8c 1b 4d 32 43 72 79 | sl_dispatcher.send.j\...u..M2Cry |
823c0 | 70 74 6f 2e 53 53 4c 2e 73 73 6c 5f 64 69 73 70 61 74 63 68 65 72 94 74 94 8c 14 4d 32 43 72 79 | pto.SSL.ssl_dispatcher.t...M2Cry |
823e0 | 70 74 6f 2e 53 53 4c 2e 74 69 6d 65 6f 75 74 94 28 58 62 05 00 00 22 22 22 53 75 70 70 6f 72 74 | pto.SSL.timeout.(Xb..."""Support |
82400 | 20 66 6f 72 20 53 53 4c 20 73 6f 63 6b 65 74 20 74 69 6d 65 6f 75 74 73 2e 0a 0a 43 6f 70 79 72 | .for.SSL.socket.timeouts...Copyr |
82420 | 69 67 68 74 20 28 63 29 20 31 39 39 39 2d 32 30 30 33 20 4e 67 20 50 68 65 6e 67 20 53 69 6f 6e | ight.(c).1999-2003.Ng.Pheng.Sion |
82440 | 67 2e 20 41 6c 6c 20 72 69 67 68 74 73 20 72 65 73 65 72 76 65 64 2e 0a 0a 43 6f 70 79 72 69 67 | g..All.rights.reserved...Copyrig |
82460 | 68 74 20 32 30 30 38 20 48 65 69 6b 6b 69 20 54 6f 69 76 6f 6e 65 6e 2e 20 41 6c 6c 20 72 69 67 | ht.2008.Heikki.Toivonen..All.rig |
82480 | 68 74 73 20 72 65 73 65 72 76 65 64 2e 0a 22 22 22 0a 0a 5f 5f 61 6c 6c 5f 5f 20 3d 20 5b 27 44 | hts.reserved.."""..__all__.=.['D |
824a0 | 45 46 41 55 4c 54 5f 54 49 4d 45 4f 55 54 27 2c 20 27 74 69 6d 65 6f 75 74 27 2c 20 27 73 74 72 | EFAULT_TIMEOUT',.'timeout',.'str |
824c0 | 75 63 74 5f 74 6f 5f 74 69 6d 65 6f 75 74 27 2c 20 27 73 74 72 75 63 74 5f 73 69 7a 65 27 5d 0a | uct_to_timeout',.'struct_size']. |
824e0 | 0a 69 6d 70 6f 72 74 20 73 79 73 0a 69 6d 70 6f 72 74 20 73 74 72 75 63 74 0a 0a 44 45 46 41 55 | .import.sys.import.struct..DEFAU |
82500 | 4c 54 5f 54 49 4d 45 4f 55 54 20 3d 20 36 30 30 20 20 23 20 74 79 70 65 3a 20 69 6e 74 0a 0a 0a | LT_TIMEOUT.=.600..#.type:.int... |
82520 | 63 6c 61 73 73 20 74 69 6d 65 6f 75 74 28 6f 62 6a 65 63 74 29 3a 0a 0a 20 20 20 20 64 65 66 20 | class.timeout(object):......def. |
82540 | 5f 5f 69 6e 69 74 5f 5f 28 73 65 6c 66 2c 20 73 65 63 3d 44 45 46 41 55 4c 54 5f 54 49 4d 45 4f | __init__(self,.sec=DEFAULT_TIMEO |
82560 | 55 54 2c 20 6d 69 63 72 6f 73 65 63 3d 30 29 3a 0a 20 20 20 20 20 20 20 20 23 20 74 79 70 65 3a | UT,.microsec=0):.........#.type: |
82580 | 20 28 69 6e 74 2c 20 69 6e 74 29 20 2d 3e 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 73 65 6c 66 | .(int,.int).->.None.........self |
825a0 | 2e 73 65 63 20 3d 20 73 65 63 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 6d 69 63 72 6f 73 65 63 | .sec.=.sec.........self.microsec |
825c0 | 20 3d 20 6d 69 63 72 6f 73 65 63 0a 0a 20 20 20 20 64 65 66 20 70 61 63 6b 28 73 65 6c 66 29 3a | .=.microsec......def.pack(self): |
825e0 | 0a 20 20 20 20 20 20 20 20 69 66 20 73 79 73 2e 70 6c 61 74 66 6f 72 6d 20 3d 3d 20 27 77 69 6e | .........if.sys.platform.==.'win |
82600 | 33 32 27 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 6d 69 6c 6c 69 73 65 63 20 3d 20 69 6e 74 28 | 32':.............millisec.=.int( |
82620 | 73 65 6c 66 2e 73 65 63 20 2a 20 31 30 30 30 20 2b 20 72 6f 75 6e 64 28 66 6c 6f 61 74 28 73 65 | self.sec.*.1000.+.round(float(se |
82640 | 6c 66 2e 6d 69 63 72 6f 73 65 63 29 20 2f 20 31 30 30 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 | lf.microsec)./.1000))........... |
82660 | 20 20 62 69 6e 73 74 72 20 3d 20 73 74 72 75 63 74 2e 70 61 63 6b 28 27 6c 27 2c 20 6d 69 6c 6c | ..binstr.=.struct.pack('l',.mill |
82680 | 69 73 65 63 29 0a 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 | isec).........else:............. |
826a0 | 62 69 6e 73 74 72 20 3d 20 73 74 72 75 63 74 2e 70 61 63 6b 28 27 6c 6c 27 2c 20 73 65 6c 66 2e | binstr.=.struct.pack('ll',.self. |
826c0 | 73 65 63 2c 20 73 65 6c 66 2e 6d 69 63 72 6f 73 65 63 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 | sec,.self.microsec).........retu |
826e0 | 72 6e 20 62 69 6e 73 74 72 0a 0a 0a 64 65 66 20 73 74 72 75 63 74 5f 74 6f 5f 74 69 6d 65 6f 75 | rn.binstr...def.struct_to_timeou |
82700 | 74 28 62 69 6e 73 74 72 29 3a 0a 20 20 20 20 23 20 74 79 70 65 3a 20 28 62 79 74 65 73 29 20 2d | t(binstr):.....#.type:.(bytes).- |
82720 | 3e 20 74 69 6d 65 6f 75 74 0a 20 20 20 20 69 66 20 73 79 73 2e 70 6c 61 74 66 6f 72 6d 20 3d 3d | >.timeout.....if.sys.platform.== |
82740 | 20 27 77 69 6e 33 32 27 3a 0a 20 20 20 20 20 20 20 20 6d 69 6c 6c 69 73 65 63 20 3d 20 73 74 72 | .'win32':.........millisec.=.str |
82760 | 75 63 74 2e 75 6e 70 61 63 6b 28 27 6c 27 2c 20 62 69 6e 73 74 72 29 5b 30 5d 0a 20 20 20 20 20 | uct.unpack('l',.binstr)[0]...... |
82780 | 20 20 20 23 20 4f 6e 20 70 79 33 2c 20 69 6e 74 2f 69 6e 74 20 70 65 72 66 6f 72 6d 73 20 65 78 | ...#.On.py3,.int/int.performs.ex |
827a0 | 61 63 74 20 64 69 76 69 73 69 6f 6e 20 61 6e 64 20 72 65 74 75 72 6e 73 20 66 6c 6f 61 74 2e 20 | act.division.and.returns.float.. |
827c0 | 57 65 20 77 61 6e 74 0a 20 20 20 20 20 20 20 20 23 20 74 68 65 20 77 68 6f 6c 65 20 6e 75 6d 62 | We.want.........#.the.whole.numb |
827e0 | 65 72 20 70 6f 72 74 69 6f 6e 20 6f 66 20 74 68 65 20 65 78 61 63 74 20 64 69 76 69 73 69 6f 6e | er.portion.of.the.exact.division |
82800 | 20 72 65 73 75 6c 74 3a 0a 20 20 20 20 20 20 20 20 73 65 63 20 3d 20 69 6e 74 28 6d 69 6c 6c 69 | .result:.........sec.=.int(milli |
82820 | 73 65 63 20 2f 20 31 30 30 30 29 0a 20 20 20 20 20 20 20 20 6d 69 63 72 6f 73 65 63 20 3d 20 28 | sec./.1000).........microsec.=.( |
82840 | 6d 69 6c 6c 69 73 65 63 20 25 20 31 30 30 30 29 20 2a 20 31 30 30 30 0a 20 20 20 20 65 6c 73 65 | millisec.%.1000).*.1000.....else |
82860 | 3a 0a 20 20 20 20 20 20 20 20 28 73 65 63 2c 20 6d 69 63 72 6f 73 65 63 29 20 3d 20 73 74 72 75 | :.........(sec,.microsec).=.stru |
82880 | 63 74 2e 75 6e 70 61 63 6b 28 27 6c 6c 27 2c 20 62 69 6e 73 74 72 29 0a 20 20 20 20 72 65 74 75 | ct.unpack('ll',.binstr).....retu |
828a0 | 72 6e 20 74 69 6d 65 6f 75 74 28 73 65 63 2c 20 6d 69 63 72 6f 73 65 63 29 0a 0a 0a 64 65 66 20 | rn.timeout(sec,.microsec)...def. |
828c0 | 73 74 72 75 63 74 5f 73 69 7a 65 28 29 3a 0a 20 20 20 20 23 20 74 79 70 65 3a 20 28 29 20 2d 3e | struct_size():.....#.type:.().-> |
828e0 | 20 69 6e 74 0a 20 20 20 20 69 66 20 73 79 73 2e 70 6c 61 74 66 6f 72 6d 20 3d 3d 20 27 77 69 6e | .int.....if.sys.platform.==.'win |
82900 | 33 32 27 3a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 74 72 75 63 74 2e 63 61 6c 63 73 | 32':.........return.struct.calcs |
82920 | 69 7a 65 28 27 6c 27 29 0a 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 | ize('l').....else:.........retur |
82940 | 6e 20 73 74 72 75 63 74 2e 63 61 6c 63 73 69 7a 65 28 27 6c 6c 27 29 0a 94 7d 94 28 8c 10 74 69 | n.struct.calcsize('ll')..}.(..ti |
82960 | 6d 65 6f 75 74 2e 5f 5f 69 6e 69 74 5f 5f 94 6a 74 1f 00 00 4b 12 4b 15 87 94 8c 0c 74 69 6d 65 | meout.__init__.jt...K.K.....time |
82980 | 6f 75 74 2e 70 61 63 6b 94 6a 74 1f 00 00 4b 17 4b 1d 87 94 8c 07 74 69 6d 65 6f 75 74 94 6a 7d | out.pack.jt...K.K.....timeout.j} |
829a0 | 1f 00 00 4b 10 4b 1d 87 94 8c 11 73 74 72 75 63 74 5f 74 6f 5f 74 69 6d 65 6f 75 74 94 6a 74 1f | ...K.K.....struct_to_timeout.jt. |
829c0 | 00 00 4b 20 4b 2a 87 94 8c 0b 73 74 72 75 63 74 5f 73 69 7a 65 94 6a 74 1f 00 00 4b 2d 4b 32 87 | ..K.K*....struct_size.jt...K-K2. |
829e0 | 94 75 7d 94 28 8c 07 74 69 6d 65 6f 75 74 94 6a 5c 02 00 00 8c 0c 74 69 6d 65 6f 75 74 2e 70 61 | .u}.(..timeout.j\.....timeout.pa |
82a00 | 63 6b 94 6a 5c 02 00 00 8c 11 73 74 72 75 63 74 5f 74 6f 5f 74 69 6d 65 6f 75 74 94 6a 5c 02 00 | ck.j\.....struct_to_timeout.j\.. |
82a20 | 00 8c 0b 73 74 72 75 63 74 5f 73 69 7a 65 94 6a 5c 02 00 00 75 8c 14 4d 32 43 72 79 70 74 6f 2e | ...struct_size.j\...u..M2Crypto. |
82a40 | 53 53 4c 2e 74 69 6d 65 6f 75 74 94 74 94 75 75 62 2e | SSL.timeout.t.uub. |