├── .gitignore ├── Dockerfile ├── DockerfileServer ├── Gopkg.lock ├── Gopkg.toml ├── LICENSE ├── Makefile ├── README.md ├── README_en.md ├── client ├── client.go ├── clientConfig.go └── clientControl.go ├── cmd ├── lunnelCli │ ├── cacert-example.pem │ ├── config-example.yml │ ├── config-full-example.yml │ └── main.go └── lunnelSer │ ├── config-example.yml │ ├── config-full-example.yml │ ├── example.crt │ ├── example.key │ └── main.go ├── contrib ├── auth.go └── notify.go ├── crypto ├── keyChange_test.go ├── keyExchange.go ├── stream.go ├── stream_test.go └── xor.go ├── log ├── log.go └── sentry.go ├── msg └── msg.go ├── server ├── manage.go ├── serConfig.go ├── serControl.go └── server.go ├── test ├── basicFunc_test.go ├── example.crt └── example.key ├── transport ├── compress.go ├── kcp │ ├── kcp.go │ └── kcp_test.go └── transport.go ├── util ├── pool.go ├── util.go └── util_test.go ├── vendor ├── github.com │ ├── Sirupsen │ │ └── logrus │ │ │ ├── .gitignore │ │ │ ├── .travis.yml │ │ │ ├── CHANGELOG.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── alt_exit.go │ │ │ ├── alt_exit_test.go │ │ │ ├── doc.go │ │ │ ├── entry.go │ │ │ ├── entry_test.go │ │ │ ├── examples │ │ │ ├── basic │ │ │ │ └── basic.go │ │ │ └── hook │ │ │ │ └── hook.go │ │ │ ├── exported.go │ │ │ ├── formatter.go │ │ │ ├── formatter_bench_test.go │ │ │ ├── hook_test.go │ │ │ ├── hooks.go │ │ │ ├── hooks │ │ │ ├── syslog │ │ │ │ ├── README.md │ │ │ │ ├── syslog.go │ │ │ │ └── syslog_test.go │ │ │ └── test │ │ │ │ ├── test.go │ │ │ │ └── test_test.go │ │ │ ├── json_formatter.go │ │ │ ├── json_formatter_test.go │ │ │ ├── logger.go │ │ │ ├── logger_bench_test.go │ │ │ ├── logrus.go │ │ │ ├── logrus_test.go │ │ │ ├── terminal_appengine.go │ │ │ ├── terminal_bsd.go │ │ │ ├── terminal_linux.go │ │ │ ├── terminal_notwindows.go │ │ │ ├── terminal_solaris.go │ │ │ ├── terminal_windows.go │ │ │ ├── text_formatter.go │ │ │ ├── text_formatter_test.go │ │ │ └── writer.go │ ├── certifi │ │ └── gocertifi │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── certifi.go │ │ │ ├── certifi_test.go │ │ │ └── tasks.py │ ├── e-dard │ │ └── netbug │ │ │ ├── .gitignore │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── doc.go │ │ │ └── netbug.go │ ├── getsentry │ │ └── raven-go │ │ │ ├── .dockerignore │ │ │ ├── .gitignore │ │ │ ├── .gitmodules │ │ │ ├── .travis.yml │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── client.go │ │ │ ├── client_test.go │ │ │ ├── docs │ │ │ ├── Makefile │ │ │ ├── conf.py │ │ │ ├── index.rst │ │ │ ├── integrations │ │ │ │ ├── http.rst │ │ │ │ └── index.rst │ │ │ ├── make.bat │ │ │ └── sentry-doc-config.json │ │ │ ├── example │ │ │ └── example.go │ │ │ ├── examples_test.go │ │ │ ├── exception.go │ │ │ ├── exception_test.go │ │ │ ├── http.go │ │ │ ├── http_test.go │ │ │ ├── interfaces.go │ │ │ ├── runtests.sh │ │ │ ├── stacktrace.go │ │ │ ├── stacktrace_test.go │ │ │ └── writer.go │ ├── gin-gonic │ │ └── gin │ │ │ ├── .gitignore │ │ │ ├── .travis.yml │ │ │ ├── AUTHORS.md │ │ │ ├── BENCHMARKS.md │ │ │ ├── CHANGELOG.md │ │ │ ├── Godeps │ │ │ └── Godeps.json │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── auth.go │ │ │ ├── auth_test.go │ │ │ ├── benchmarks_test.go │ │ │ ├── binding │ │ │ ├── binding.go │ │ │ ├── binding_test.go │ │ │ ├── default_validator.go │ │ │ ├── example │ │ │ │ ├── test.pb.go │ │ │ │ └── test.proto │ │ │ ├── form.go │ │ │ ├── form_mapping.go │ │ │ ├── json.go │ │ │ ├── protobuf.go │ │ │ ├── validate_test.go │ │ │ └── xml.go │ │ │ ├── codecov.yml │ │ │ ├── context.go │ │ │ ├── context_test.go │ │ │ ├── debug.go │ │ │ ├── debug_test.go │ │ │ ├── deprecated.go │ │ │ ├── errors.go │ │ │ ├── errors_test.go │ │ │ ├── examples │ │ │ ├── app-engine │ │ │ │ ├── README.md │ │ │ │ ├── app.yaml │ │ │ │ └── hello.go │ │ │ ├── basic │ │ │ │ └── main.go │ │ │ ├── realtime-advanced │ │ │ │ ├── main.go │ │ │ │ ├── resources │ │ │ │ │ ├── room_login.templ.html │ │ │ │ │ └── static │ │ │ │ │ │ ├── epoch.min.css │ │ │ │ │ │ ├── epoch.min.js │ │ │ │ │ │ ├── prismjs.min.css │ │ │ │ │ │ ├── prismjs.min.js │ │ │ │ │ │ └── realtime.js │ │ │ │ ├── rooms.go │ │ │ │ ├── routes.go │ │ │ │ └── stats.go │ │ │ └── realtime-chat │ │ │ │ ├── main.go │ │ │ │ ├── rooms.go │ │ │ │ └── template.go │ │ │ ├── fs.go │ │ │ ├── gin.go │ │ │ ├── ginS │ │ │ ├── README.md │ │ │ └── gins.go │ │ │ ├── gin_integration_test.go │ │ │ ├── gin_test.go │ │ │ ├── githubapi_test.go │ │ │ ├── helpers_test.go │ │ │ ├── logger.go │ │ │ ├── logger_test.go │ │ │ ├── logo.jpg │ │ │ ├── middleware_test.go │ │ │ ├── mode.go │ │ │ ├── mode_test.go │ │ │ ├── path.go │ │ │ ├── path_test.go │ │ │ ├── recovery.go │ │ │ ├── recovery_test.go │ │ │ ├── render │ │ │ ├── data.go │ │ │ ├── html.go │ │ │ ├── json.go │ │ │ ├── redirect.go │ │ │ ├── render.go │ │ │ ├── render_test.go │ │ │ ├── text.go │ │ │ ├── xml.go │ │ │ └── yaml.go │ │ │ ├── response_writer.go │ │ │ ├── response_writer_test.go │ │ │ ├── routergroup.go │ │ │ ├── routergroup_test.go │ │ │ ├── routes_test.go │ │ │ ├── tree.go │ │ │ ├── tree_test.go │ │ │ ├── utils.go │ │ │ ├── utils_test.go │ │ │ └── wercker.yml │ ├── golang │ │ └── protobuf │ │ │ ├── .gitignore │ │ │ ├── AUTHORS │ │ │ ├── CONTRIBUTORS │ │ │ ├── LICENSE │ │ │ ├── Make.protobuf │ │ │ ├── Makefile │ │ │ ├── README.md │ │ │ ├── _conformance │ │ │ ├── Makefile │ │ │ ├── conformance.go │ │ │ └── conformance_proto │ │ │ │ ├── conformance.pb.go │ │ │ │ └── conformance.proto │ │ │ ├── descriptor │ │ │ ├── descriptor.go │ │ │ └── descriptor_test.go │ │ │ ├── jsonpb │ │ │ ├── jsonpb.go │ │ │ ├── jsonpb_test.go │ │ │ └── jsonpb_test_proto │ │ │ │ ├── Makefile │ │ │ │ ├── more_test_objects.pb.go │ │ │ │ ├── more_test_objects.proto │ │ │ │ ├── test_objects.pb.go │ │ │ │ └── test_objects.proto │ │ │ ├── proto │ │ │ ├── Makefile │ │ │ ├── all_test.go │ │ │ ├── any_test.go │ │ │ ├── clone.go │ │ │ ├── clone_test.go │ │ │ ├── decode.go │ │ │ ├── decode_test.go │ │ │ ├── encode.go │ │ │ ├── encode_test.go │ │ │ ├── equal.go │ │ │ ├── equal_test.go │ │ │ ├── extensions.go │ │ │ ├── extensions_test.go │ │ │ ├── lib.go │ │ │ ├── map_test.go │ │ │ ├── message_set.go │ │ │ ├── message_set_test.go │ │ │ ├── pointer_reflect.go │ │ │ ├── pointer_unsafe.go │ │ │ ├── properties.go │ │ │ ├── proto3_proto │ │ │ │ ├── proto3.pb.go │ │ │ │ └── proto3.proto │ │ │ ├── proto3_test.go │ │ │ ├── size2_test.go │ │ │ ├── size_test.go │ │ │ ├── testdata │ │ │ │ ├── Makefile │ │ │ │ ├── golden_test.go │ │ │ │ ├── test.pb.go │ │ │ │ └── test.proto │ │ │ ├── text.go │ │ │ ├── text_parser.go │ │ │ ├── text_parser_test.go │ │ │ └── text_test.go │ │ │ ├── protoc-gen-go │ │ │ ├── Makefile │ │ │ ├── descriptor │ │ │ │ ├── Makefile │ │ │ │ └── descriptor.pb.go │ │ │ ├── doc.go │ │ │ ├── generator │ │ │ │ ├── Makefile │ │ │ │ ├── generator.go │ │ │ │ └── name_test.go │ │ │ ├── grpc │ │ │ │ └── grpc.go │ │ │ ├── link_grpc.go │ │ │ ├── main.go │ │ │ ├── plugin │ │ │ │ ├── Makefile │ │ │ │ ├── plugin.pb.go │ │ │ │ └── plugin.pb.golden │ │ │ └── testdata │ │ │ │ ├── Makefile │ │ │ │ ├── extension_base.proto │ │ │ │ ├── extension_extra.proto │ │ │ │ ├── extension_test.go │ │ │ │ ├── extension_user.proto │ │ │ │ ├── grpc.proto │ │ │ │ ├── imp.pb.go.golden │ │ │ │ ├── imp.proto │ │ │ │ ├── imp2.proto │ │ │ │ ├── imp3.proto │ │ │ │ ├── main_test.go │ │ │ │ ├── multi │ │ │ │ ├── multi1.proto │ │ │ │ ├── multi2.proto │ │ │ │ └── multi3.proto │ │ │ │ ├── my_test │ │ │ │ ├── test.pb.go │ │ │ │ ├── test.pb.go.golden │ │ │ │ └── test.proto │ │ │ │ └── proto3.proto │ │ │ └── ptypes │ │ │ ├── any.go │ │ │ ├── any │ │ │ ├── any.pb.go │ │ │ └── any.proto │ │ │ ├── any_test.go │ │ │ ├── doc.go │ │ │ ├── duration.go │ │ │ ├── duration │ │ │ ├── duration.pb.go │ │ │ └── duration.proto │ │ │ ├── duration_test.go │ │ │ ├── empty │ │ │ ├── empty.pb.go │ │ │ └── empty.proto │ │ │ ├── regen.sh │ │ │ ├── struct │ │ │ ├── struct.pb.go │ │ │ └── struct.proto │ │ │ ├── timestamp.go │ │ │ ├── timestamp │ │ │ ├── timestamp.pb.go │ │ │ └── timestamp.proto │ │ │ ├── timestamp_test.go │ │ │ └── wrappers │ │ │ ├── wrappers.pb.go │ │ │ └── wrappers.proto │ ├── klauspost │ │ ├── compress │ │ │ ├── .gitignore │ │ │ ├── .travis.yml │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── flate │ │ │ │ ├── asm_test.go │ │ │ │ ├── copy.go │ │ │ │ ├── copy_test.go │ │ │ │ ├── crc32_amd64.go │ │ │ │ ├── crc32_amd64.s │ │ │ │ ├── crc32_noasm.go │ │ │ │ ├── deflate.go │ │ │ │ ├── deflate_test.go │ │ │ │ ├── dict_decoder.go │ │ │ │ ├── dict_decoder_test.go │ │ │ │ ├── flate_test.go │ │ │ │ ├── gen.go │ │ │ │ ├── huffman_bit_writer.go │ │ │ │ ├── huffman_bit_writer_test.go │ │ │ │ ├── huffman_code.go │ │ │ │ ├── inflate.go │ │ │ │ ├── inflate_test.go │ │ │ │ ├── reader_test.go │ │ │ │ ├── reverse_bits.go │ │ │ │ ├── snappy.go │ │ │ │ ├── testdata │ │ │ │ │ ├── huffman-null-max.dyn.expect │ │ │ │ │ ├── huffman-null-max.dyn.expect-noinput │ │ │ │ │ ├── huffman-null-max.golden │ │ │ │ │ ├── huffman-null-max.in │ │ │ │ │ ├── huffman-null-max.wb.expect │ │ │ │ │ ├── huffman-null-max.wb.expect-noinput │ │ │ │ │ ├── huffman-pi.dyn.expect │ │ │ │ │ ├── huffman-pi.dyn.expect-noinput │ │ │ │ │ ├── huffman-pi.golden │ │ │ │ │ ├── huffman-pi.in │ │ │ │ │ ├── huffman-pi.wb.expect │ │ │ │ │ ├── huffman-pi.wb.expect-noinput │ │ │ │ │ ├── huffman-rand-1k.dyn.expect │ │ │ │ │ ├── huffman-rand-1k.dyn.expect-noinput │ │ │ │ │ ├── huffman-rand-1k.golden │ │ │ │ │ ├── huffman-rand-1k.in │ │ │ │ │ ├── huffman-rand-1k.wb.expect │ │ │ │ │ ├── huffman-rand-1k.wb.expect-noinput │ │ │ │ │ ├── huffman-rand-limit.dyn.expect │ │ │ │ │ ├── huffman-rand-limit.dyn.expect-noinput │ │ │ │ │ ├── huffman-rand-limit.golden │ │ │ │ │ ├── huffman-rand-limit.in │ │ │ │ │ ├── huffman-rand-limit.wb.expect │ │ │ │ │ ├── huffman-rand-limit.wb.expect-noinput │ │ │ │ │ ├── huffman-rand-max.golden │ │ │ │ │ ├── huffman-rand-max.in │ │ │ │ │ ├── huffman-shifts.dyn.expect │ │ │ │ │ ├── huffman-shifts.dyn.expect-noinput │ │ │ │ │ ├── huffman-shifts.golden │ │ │ │ │ ├── huffman-shifts.in │ │ │ │ │ ├── huffman-shifts.wb.expect │ │ │ │ │ ├── huffman-shifts.wb.expect-noinput │ │ │ │ │ ├── huffman-text-shift.dyn.expect │ │ │ │ │ ├── huffman-text-shift.dyn.expect-noinput │ │ │ │ │ ├── huffman-text-shift.golden │ │ │ │ │ ├── huffman-text-shift.in │ │ │ │ │ ├── huffman-text-shift.wb.expect │ │ │ │ │ ├── huffman-text-shift.wb.expect-noinput │ │ │ │ │ ├── huffman-text.dyn.expect │ │ │ │ │ ├── huffman-text.dyn.expect-noinput │ │ │ │ │ ├── huffman-text.golden │ │ │ │ │ ├── huffman-text.in │ │ │ │ │ ├── huffman-text.wb.expect │ │ │ │ │ ├── huffman-text.wb.expect-noinput │ │ │ │ │ ├── huffman-zero.dyn.expect │ │ │ │ │ ├── huffman-zero.dyn.expect-noinput │ │ │ │ │ ├── huffman-zero.golden │ │ │ │ │ ├── huffman-zero.in │ │ │ │ │ ├── huffman-zero.wb.expect │ │ │ │ │ ├── huffman-zero.wb.expect-noinput │ │ │ │ │ ├── null-long-match.dyn.expect-noinput │ │ │ │ │ └── null-long-match.wb.expect-noinput │ │ │ │ ├── token.go │ │ │ │ └── writer_test.go │ │ │ ├── gzip │ │ │ │ ├── example_test.go │ │ │ │ ├── gunzip.go │ │ │ │ ├── gunzip_test.go │ │ │ │ ├── gzip.go │ │ │ │ ├── gzip_test.go │ │ │ │ └── testdata │ │ │ │ │ ├── issue6550.gz │ │ │ │ │ └── test.json │ │ │ ├── snappy │ │ │ │ ├── .gitignore │ │ │ │ ├── AUTHORS │ │ │ │ ├── CONTRIBUTORS │ │ │ │ ├── LICENSE │ │ │ │ ├── README │ │ │ │ ├── cmd │ │ │ │ │ └── snappytool │ │ │ │ │ │ └── main.cpp │ │ │ │ ├── decode.go │ │ │ │ ├── decode_amd64.go │ │ │ │ ├── decode_amd64.s │ │ │ │ ├── decode_other.go │ │ │ │ ├── encode.go │ │ │ │ ├── encode_amd64.go │ │ │ │ ├── encode_amd64.s │ │ │ │ ├── encode_other.go │ │ │ │ ├── golden_test.go │ │ │ │ ├── runbench.cmd │ │ │ │ ├── snappy.go │ │ │ │ ├── snappy_test.go │ │ │ │ └── testdata │ │ │ │ │ ├── Mark.Twain-Tom.Sawyer.txt │ │ │ │ │ ├── Mark.Twain-Tom.Sawyer.txt.rawsnappy │ │ │ │ │ └── random │ │ │ ├── testdata │ │ │ │ ├── Mark.Twain-Tom.Sawyer.txt │ │ │ │ ├── e.txt │ │ │ │ ├── gettysburg.txt │ │ │ │ └── pi.txt │ │ │ ├── zip │ │ │ │ ├── example_test.go │ │ │ │ ├── reader.go │ │ │ │ ├── reader_test.go │ │ │ │ ├── register.go │ │ │ │ ├── struct.go │ │ │ │ ├── testdata │ │ │ │ │ ├── crc32-not-streamed.zip │ │ │ │ │ ├── dd.zip │ │ │ │ │ ├── go-no-datadesc-sig.zip │ │ │ │ │ ├── go-with-datadesc-sig.zip │ │ │ │ │ ├── gophercolor16x16.png │ │ │ │ │ ├── readme.notzip │ │ │ │ │ ├── readme.zip │ │ │ │ │ ├── symlink.zip │ │ │ │ │ ├── test-trailing-junk.zip │ │ │ │ │ ├── test.zip │ │ │ │ │ ├── unix.zip │ │ │ │ │ ├── winxp.zip │ │ │ │ │ ├── zip64-2.zip │ │ │ │ │ └── zip64.zip │ │ │ │ ├── writer.go │ │ │ │ ├── writer_test.go │ │ │ │ └── zip_test.go │ │ │ └── zlib │ │ │ │ ├── example_test.go │ │ │ │ ├── reader.go │ │ │ │ ├── reader_test.go │ │ │ │ ├── writer.go │ │ │ │ └── writer_test.go │ │ ├── cpuid │ │ │ ├── .gitignore │ │ │ ├── .travis.yml │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── cpuid.go │ │ │ ├── cpuid_386.s │ │ │ ├── cpuid_amd64.s │ │ │ ├── cpuid_test.go │ │ │ ├── detect_intel.go │ │ │ ├── detect_ref.go │ │ │ ├── generate.go │ │ │ ├── mockcpu_test.go │ │ │ ├── private-gen.go │ │ │ ├── private │ │ │ │ ├── README.md │ │ │ │ ├── cpuid.go │ │ │ │ ├── cpuid_386.s │ │ │ │ ├── cpuid_amd64.s │ │ │ │ ├── cpuid_detect_intel.go │ │ │ │ ├── cpuid_detect_ref.go │ │ │ │ └── cpuid_test.go │ │ │ └── testdata │ │ │ │ ├── cpuid_data.zip │ │ │ │ └── getall.go │ │ └── reedsolomon │ │ │ ├── .gitignore │ │ │ ├── .travis.yml │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── appveyor.yml │ │ │ ├── examples │ │ │ ├── README.md │ │ │ ├── simple-decoder.go │ │ │ ├── simple-encoder.go │ │ │ ├── stream-decoder.go │ │ │ └── stream-encoder.go │ │ │ ├── examples_test.go │ │ │ ├── galois.go │ │ │ ├── galois_amd64.go │ │ │ ├── galois_amd64.s │ │ │ ├── galois_noasm.go │ │ │ ├── galois_test.go │ │ │ ├── gentables.go │ │ │ ├── inversion_tree.go │ │ │ ├── inversion_tree_test.go │ │ │ ├── matrix.go │ │ │ ├── matrix_test.go │ │ │ ├── options.go │ │ │ ├── reedsolomon.go │ │ │ ├── reedsolomon_test.go │ │ │ ├── streaming.go │ │ │ └── streaming_test.go │ ├── longXboy │ │ └── smux │ │ │ ├── .gitignore │ │ │ ├── .travis.yml │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── curve.jpg │ │ │ ├── frame.go │ │ │ ├── mux.go │ │ │ ├── mux.jpg │ │ │ ├── mux_test.go │ │ │ ├── session.go │ │ │ ├── session_test.go │ │ │ ├── smux.png │ │ │ └── stream.go │ ├── manucorporat │ │ └── sse │ │ │ ├── .travis.yml │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── sse-decoder.go │ │ │ ├── sse-decoder_test.go │ │ │ ├── sse-encoder.go │ │ │ ├── sse_test.go │ │ │ └── writer.go │ ├── mattn │ │ └── go-isatty │ │ │ ├── .travis.yml │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── doc.go │ │ │ ├── example_test.go │ │ │ ├── isatty_appengine.go │ │ │ ├── isatty_bsd.go │ │ │ ├── isatty_linux.go │ │ │ ├── isatty_others.go │ │ │ ├── isatty_others_test.go │ │ │ ├── isatty_solaris.go │ │ │ ├── isatty_windows.go │ │ │ └── isatty_windows_test.go │ ├── pkg │ │ └── errors │ │ │ ├── .gitignore │ │ │ ├── .travis.yml │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── appveyor.yml │ │ │ ├── bench_test.go │ │ │ ├── errors.go │ │ │ ├── errors_test.go │ │ │ ├── example_test.go │ │ │ ├── format_test.go │ │ │ ├── stack.go │ │ │ └── stack_test.go │ ├── satori │ │ └── go.uuid │ │ │ ├── .travis.yml │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── benchmarks_test.go │ │ │ ├── uuid.go │ │ │ └── uuid_test.go │ ├── xtaci │ │ └── kcp-go │ │ │ ├── .gitignore │ │ │ ├── .travis.yml │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── crypt.go │ │ │ ├── crypt_test.go │ │ │ ├── donate.png │ │ │ ├── fec.go │ │ │ ├── frame.png │ │ │ ├── kcp-go.png │ │ │ ├── kcp.go │ │ │ ├── kcp_test.go │ │ │ ├── sess.go │ │ │ ├── sess_test.go │ │ │ ├── snmp.go │ │ │ ├── updater.go │ │ │ ├── xor.go │ │ │ └── xor_test.go │ └── yvasiyarov │ │ ├── go-metrics │ │ ├── .gitignore │ │ ├── LICENSE │ │ ├── README.md │ │ ├── cmd │ │ │ ├── metrics-bench │ │ │ │ └── metrics-bench.go │ │ │ ├── metrics-example │ │ │ │ └── metrics-example.go │ │ │ └── never-read │ │ │ │ └── never-read.go │ │ ├── counter.go │ │ ├── counter_test.go │ │ ├── debug.go │ │ ├── debug_test.go │ │ ├── ewma.go │ │ ├── ewma_test.go │ │ ├── gauge.go │ │ ├── gauge_float64.go │ │ ├── gauge_float64_test.go │ │ ├── gauge_test.go │ │ ├── graphite.go │ │ ├── graphite_test.go │ │ ├── healthcheck.go │ │ ├── histogram.go │ │ ├── histogram_test.go │ │ ├── influxdb │ │ │ └── influxdb.go │ │ ├── json.go │ │ ├── json_test.go │ │ ├── librato │ │ │ ├── client.go │ │ │ └── librato.go │ │ ├── log.go │ │ ├── memory.md │ │ ├── meter.go │ │ ├── meter_test.go │ │ ├── metrics.go │ │ ├── metrics_test.go │ │ ├── opentsdb.go │ │ ├── opentsdb_test.go │ │ ├── registry.go │ │ ├── registry_test.go │ │ ├── runtime.go │ │ ├── runtime_cgo.go │ │ ├── runtime_no_cgo.go │ │ ├── runtime_test.go │ │ ├── sample.go │ │ ├── sample_test.go │ │ ├── stathat │ │ │ └── stathat.go │ │ ├── syslog.go │ │ ├── timer.go │ │ ├── timer_test.go │ │ ├── writer.go │ │ └── writer_test.go │ │ ├── gorelic │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── LICENSE │ │ ├── README.md │ │ ├── agent.go │ │ ├── doc.go │ │ ├── examples │ │ │ ├── example1.go │ │ │ └── example_web.go │ │ ├── gc_metrics.go │ │ ├── gometrica.go │ │ ├── http_metrics.go │ │ ├── http_status_metrics.go │ │ ├── memory_metrics.go │ │ ├── nut.json │ │ ├── runtime_metrics.go │ │ ├── timer_metrics.go │ │ └── tracer_metrics.go │ │ └── newrelic_platform_go │ │ ├── .travis.yml │ │ ├── LICENSE │ │ ├── README.md │ │ ├── agent.go │ │ ├── component.go │ │ ├── doc.go │ │ ├── examples │ │ └── wave_plugin.go │ │ ├── metrica.go │ │ ├── nut.json │ │ ├── plugin.go │ │ └── plugin_test.go ├── golang.org │ └── x │ │ ├── crypto │ │ ├── .gitattributes │ │ ├── .gitignore │ │ ├── AUTHORS │ │ ├── CONTRIBUTING.md │ │ ├── CONTRIBUTORS │ │ ├── LICENSE │ │ ├── PATENTS │ │ ├── README │ │ ├── acme │ │ │ ├── acme.go │ │ │ ├── acme_test.go │ │ │ ├── autocert │ │ │ │ ├── autocert.go │ │ │ │ ├── autocert_test.go │ │ │ │ ├── cache.go │ │ │ │ ├── cache_test.go │ │ │ │ ├── example_test.go │ │ │ │ ├── listener.go │ │ │ │ ├── renewal.go │ │ │ │ └── renewal_test.go │ │ │ ├── jws.go │ │ │ ├── jws_test.go │ │ │ ├── types.go │ │ │ └── types_test.go │ │ ├── bcrypt │ │ │ ├── base64.go │ │ │ ├── bcrypt.go │ │ │ └── bcrypt_test.go │ │ ├── blake2b │ │ │ ├── blake2b.go │ │ │ ├── blake2bAVX2_amd64.go │ │ │ ├── blake2bAVX2_amd64.s │ │ │ ├── blake2b_amd64.go │ │ │ ├── blake2b_amd64.s │ │ │ ├── blake2b_generic.go │ │ │ ├── blake2b_ref.go │ │ │ ├── blake2b_test.go │ │ │ └── register.go │ │ ├── blake2s │ │ │ ├── blake2s.go │ │ │ ├── blake2s_386.go │ │ │ ├── blake2s_386.s │ │ │ ├── blake2s_amd64.go │ │ │ ├── blake2s_amd64.s │ │ │ ├── blake2s_generic.go │ │ │ ├── blake2s_ref.go │ │ │ ├── blake2s_test.go │ │ │ └── register.go │ │ ├── blowfish │ │ │ ├── block.go │ │ │ ├── blowfish_test.go │ │ │ ├── cipher.go │ │ │ └── const.go │ │ ├── bn256 │ │ │ ├── bn256.go │ │ │ ├── bn256_test.go │ │ │ ├── constants.go │ │ │ ├── curve.go │ │ │ ├── example_test.go │ │ │ ├── gfp12.go │ │ │ ├── gfp2.go │ │ │ ├── gfp6.go │ │ │ ├── optate.go │ │ │ └── twist.go │ │ ├── cast5 │ │ │ ├── cast5.go │ │ │ └── cast5_test.go │ │ ├── chacha20poly1305 │ │ │ ├── chacha20poly1305.go │ │ │ ├── chacha20poly1305_amd64.go │ │ │ ├── chacha20poly1305_amd64.s │ │ │ ├── chacha20poly1305_generic.go │ │ │ ├── chacha20poly1305_noasm.go │ │ │ ├── chacha20poly1305_test.go │ │ │ ├── chacha20poly1305_vectors_test.go │ │ │ └── internal │ │ │ │ └── chacha20 │ │ │ │ ├── chacha_generic.go │ │ │ │ └── chacha_test.go │ │ ├── codereview.cfg │ │ ├── cryptobyte │ │ │ ├── asn1.go │ │ │ ├── asn1_test.go │ │ │ ├── builder.go │ │ │ ├── cryptobyte_test.go │ │ │ ├── example_test.go │ │ │ └── string.go │ │ ├── curve25519 │ │ │ ├── const_amd64.h │ │ │ ├── const_amd64.s │ │ │ ├── cswap_amd64.s │ │ │ ├── curve25519.go │ │ │ ├── curve25519_test.go │ │ │ ├── doc.go │ │ │ ├── freeze_amd64.s │ │ │ ├── ladderstep_amd64.s │ │ │ ├── mont25519_amd64.go │ │ │ ├── mul_amd64.s │ │ │ └── square_amd64.s │ │ ├── ed25519 │ │ │ ├── ed25519.go │ │ │ ├── ed25519_test.go │ │ │ ├── internal │ │ │ │ └── edwards25519 │ │ │ │ │ ├── const.go │ │ │ │ │ └── edwards25519.go │ │ │ └── testdata │ │ │ │ └── sign.input.gz │ │ ├── hkdf │ │ │ ├── example_test.go │ │ │ ├── hkdf.go │ │ │ └── hkdf_test.go │ │ ├── md4 │ │ │ ├── md4.go │ │ │ ├── md4_test.go │ │ │ └── md4block.go │ │ ├── nacl │ │ │ ├── box │ │ │ │ ├── box.go │ │ │ │ └── box_test.go │ │ │ └── secretbox │ │ │ │ ├── example_test.go │ │ │ │ ├── secretbox.go │ │ │ │ └── secretbox_test.go │ │ ├── ocsp │ │ │ ├── ocsp.go │ │ │ └── ocsp_test.go │ │ ├── openpgp │ │ │ ├── armor │ │ │ │ ├── armor.go │ │ │ │ ├── armor_test.go │ │ │ │ └── encode.go │ │ │ ├── canonical_text.go │ │ │ ├── canonical_text_test.go │ │ │ ├── clearsign │ │ │ │ ├── clearsign.go │ │ │ │ └── clearsign_test.go │ │ │ ├── elgamal │ │ │ │ ├── elgamal.go │ │ │ │ └── elgamal_test.go │ │ │ ├── errors │ │ │ │ └── errors.go │ │ │ ├── keys.go │ │ │ ├── keys_test.go │ │ │ ├── packet │ │ │ │ ├── compressed.go │ │ │ │ ├── compressed_test.go │ │ │ │ ├── config.go │ │ │ │ ├── encrypted_key.go │ │ │ │ ├── encrypted_key_test.go │ │ │ │ ├── literal.go │ │ │ │ ├── ocfb.go │ │ │ │ ├── ocfb_test.go │ │ │ │ ├── one_pass_signature.go │ │ │ │ ├── opaque.go │ │ │ │ ├── opaque_test.go │ │ │ │ ├── packet.go │ │ │ │ ├── packet_test.go │ │ │ │ ├── private_key.go │ │ │ │ ├── private_key_test.go │ │ │ │ ├── public_key.go │ │ │ │ ├── public_key_test.go │ │ │ │ ├── public_key_v3.go │ │ │ │ ├── public_key_v3_test.go │ │ │ │ ├── reader.go │ │ │ │ ├── signature.go │ │ │ │ ├── signature_test.go │ │ │ │ ├── signature_v3.go │ │ │ │ ├── signature_v3_test.go │ │ │ │ ├── symmetric_key_encrypted.go │ │ │ │ ├── symmetric_key_encrypted_test.go │ │ │ │ ├── symmetrically_encrypted.go │ │ │ │ ├── symmetrically_encrypted_test.go │ │ │ │ ├── userattribute.go │ │ │ │ ├── userattribute_test.go │ │ │ │ ├── userid.go │ │ │ │ └── userid_test.go │ │ │ ├── read.go │ │ │ ├── read_test.go │ │ │ ├── s2k │ │ │ │ ├── s2k.go │ │ │ │ └── s2k_test.go │ │ │ ├── write.go │ │ │ └── write_test.go │ │ ├── otr │ │ │ ├── libotr_test_helper.c │ │ │ ├── otr.go │ │ │ ├── otr_test.go │ │ │ └── smp.go │ │ ├── pbkdf2 │ │ │ ├── pbkdf2.go │ │ │ └── pbkdf2_test.go │ │ ├── pkcs12 │ │ │ ├── bmp-string.go │ │ │ ├── bmp-string_test.go │ │ │ ├── crypto.go │ │ │ ├── crypto_test.go │ │ │ ├── errors.go │ │ │ ├── internal │ │ │ │ └── rc2 │ │ │ │ │ ├── bench_test.go │ │ │ │ │ ├── rc2.go │ │ │ │ │ └── rc2_test.go │ │ │ ├── mac.go │ │ │ ├── mac_test.go │ │ │ ├── pbkdf.go │ │ │ ├── pbkdf_test.go │ │ │ ├── pkcs12.go │ │ │ ├── pkcs12_test.go │ │ │ └── safebags.go │ │ ├── poly1305 │ │ │ ├── poly1305.go │ │ │ ├── poly1305_test.go │ │ │ ├── sum_amd64.go │ │ │ ├── sum_amd64.s │ │ │ ├── sum_arm.go │ │ │ ├── sum_arm.s │ │ │ └── sum_ref.go │ │ ├── ripemd160 │ │ │ ├── ripemd160.go │ │ │ ├── ripemd160_test.go │ │ │ └── ripemd160block.go │ │ ├── salsa20 │ │ │ ├── salsa │ │ │ │ ├── hsalsa20.go │ │ │ │ ├── salsa2020_amd64.s │ │ │ │ ├── salsa208.go │ │ │ │ ├── salsa20_amd64.go │ │ │ │ ├── salsa20_ref.go │ │ │ │ └── salsa_test.go │ │ │ ├── salsa20.go │ │ │ └── salsa20_test.go │ │ ├── scrypt │ │ │ ├── scrypt.go │ │ │ └── scrypt_test.go │ │ ├── sha3 │ │ │ ├── doc.go │ │ │ ├── hashes.go │ │ │ ├── keccakf.go │ │ │ ├── keccakf_amd64.go │ │ │ ├── keccakf_amd64.s │ │ │ ├── register.go │ │ │ ├── sha3.go │ │ │ ├── sha3_test.go │ │ │ ├── shake.go │ │ │ ├── testdata │ │ │ │ └── keccakKats.json.deflate │ │ │ ├── xor.go │ │ │ ├── xor_generic.go │ │ │ └── xor_unaligned.go │ │ ├── ssh │ │ │ ├── agent │ │ │ │ ├── client.go │ │ │ │ ├── client_test.go │ │ │ │ ├── example_test.go │ │ │ │ ├── forward.go │ │ │ │ ├── keyring.go │ │ │ │ ├── keyring_test.go │ │ │ │ ├── server.go │ │ │ │ ├── server_test.go │ │ │ │ └── testdata_test.go │ │ │ ├── benchmark_test.go │ │ │ ├── buffer.go │ │ │ ├── buffer_test.go │ │ │ ├── certs.go │ │ │ ├── certs_test.go │ │ │ ├── channel.go │ │ │ ├── cipher.go │ │ │ ├── cipher_test.go │ │ │ ├── client.go │ │ │ ├── client_auth.go │ │ │ ├── client_auth_test.go │ │ │ ├── client_test.go │ │ │ ├── common.go │ │ │ ├── connection.go │ │ │ ├── doc.go │ │ │ ├── example_test.go │ │ │ ├── handshake.go │ │ │ ├── handshake_test.go │ │ │ ├── kex.go │ │ │ ├── kex_test.go │ │ │ ├── keys.go │ │ │ ├── keys_test.go │ │ │ ├── knownhosts │ │ │ │ ├── knownhosts.go │ │ │ │ └── knownhosts_test.go │ │ │ ├── mac.go │ │ │ ├── mempipe_test.go │ │ │ ├── messages.go │ │ │ ├── messages_test.go │ │ │ ├── mux.go │ │ │ ├── mux_test.go │ │ │ ├── server.go │ │ │ ├── session.go │ │ │ ├── session_test.go │ │ │ ├── streamlocal.go │ │ │ ├── tcpip.go │ │ │ ├── tcpip_test.go │ │ │ ├── terminal │ │ │ │ ├── terminal.go │ │ │ │ ├── terminal_test.go │ │ │ │ ├── util.go │ │ │ │ ├── util_bsd.go │ │ │ │ ├── util_linux.go │ │ │ │ ├── util_plan9.go │ │ │ │ ├── util_solaris.go │ │ │ │ └── util_windows.go │ │ │ ├── test │ │ │ │ ├── agent_unix_test.go │ │ │ │ ├── cert_test.go │ │ │ │ ├── dial_unix_test.go │ │ │ │ ├── doc.go │ │ │ │ ├── forward_unix_test.go │ │ │ │ ├── session_test.go │ │ │ │ ├── test_unix_test.go │ │ │ │ └── testdata_test.go │ │ │ ├── testdata │ │ │ │ ├── doc.go │ │ │ │ └── keys.go │ │ │ ├── testdata_test.go │ │ │ ├── transport.go │ │ │ └── transport_test.go │ │ ├── tea │ │ │ ├── cipher.go │ │ │ └── tea_test.go │ │ ├── twofish │ │ │ ├── twofish.go │ │ │ └── twofish_test.go │ │ ├── xtea │ │ │ ├── block.go │ │ │ ├── cipher.go │ │ │ └── xtea_test.go │ │ └── xts │ │ │ ├── xts.go │ │ │ └── xts_test.go │ │ ├── net │ │ ├── .gitattributes │ │ ├── .gitignore │ │ ├── AUTHORS │ │ ├── CONTRIBUTING.md │ │ ├── CONTRIBUTORS │ │ ├── LICENSE │ │ ├── PATENTS │ │ ├── README │ │ ├── bpf │ │ │ ├── asm.go │ │ │ ├── constants.go │ │ │ ├── doc.go │ │ │ ├── instructions.go │ │ │ ├── instructions_test.go │ │ │ ├── testdata │ │ │ │ ├── all_instructions.bpf │ │ │ │ └── all_instructions.txt │ │ │ ├── vm.go │ │ │ ├── vm_aluop_test.go │ │ │ ├── vm_bpf_test.go │ │ │ ├── vm_extension_test.go │ │ │ ├── vm_instructions.go │ │ │ ├── vm_jump_test.go │ │ │ ├── vm_load_test.go │ │ │ ├── vm_ret_test.go │ │ │ ├── vm_scratch_test.go │ │ │ └── vm_test.go │ │ ├── codereview.cfg │ │ ├── context │ │ │ ├── context.go │ │ │ ├── context_test.go │ │ │ ├── ctxhttp │ │ │ │ ├── ctxhttp.go │ │ │ │ ├── ctxhttp_17_test.go │ │ │ │ ├── ctxhttp_pre17.go │ │ │ │ ├── ctxhttp_pre17_test.go │ │ │ │ └── ctxhttp_test.go │ │ │ ├── go17.go │ │ │ ├── pre_go17.go │ │ │ └── withtimeout_test.go │ │ ├── dict │ │ │ └── dict.go │ │ ├── dns │ │ │ └── dnsmessage │ │ │ │ ├── message.go │ │ │ │ └── message_test.go │ │ ├── html │ │ │ ├── atom │ │ │ │ ├── atom.go │ │ │ │ ├── atom_test.go │ │ │ │ ├── gen.go │ │ │ │ ├── table.go │ │ │ │ └── table_test.go │ │ │ ├── charset │ │ │ │ ├── charset.go │ │ │ │ ├── charset_test.go │ │ │ │ └── testdata │ │ │ │ │ ├── HTTP-charset.html │ │ │ │ │ ├── HTTP-vs-UTF-8-BOM.html │ │ │ │ │ ├── HTTP-vs-meta-charset.html │ │ │ │ │ ├── HTTP-vs-meta-content.html │ │ │ │ │ ├── No-encoding-declaration.html │ │ │ │ │ ├── README │ │ │ │ │ ├── UTF-16BE-BOM.html │ │ │ │ │ ├── UTF-16LE-BOM.html │ │ │ │ │ ├── UTF-8-BOM-vs-meta-charset.html │ │ │ │ │ ├── UTF-8-BOM-vs-meta-content.html │ │ │ │ │ ├── meta-charset-attribute.html │ │ │ │ │ └── meta-content-attribute.html │ │ │ ├── const.go │ │ │ ├── doc.go │ │ │ ├── doctype.go │ │ │ ├── entity.go │ │ │ ├── entity_test.go │ │ │ ├── escape.go │ │ │ ├── escape_test.go │ │ │ ├── example_test.go │ │ │ ├── foreign.go │ │ │ ├── node.go │ │ │ ├── node_test.go │ │ │ ├── parse.go │ │ │ ├── parse_test.go │ │ │ ├── render.go │ │ │ ├── render_test.go │ │ │ ├── testdata │ │ │ │ ├── go1.html │ │ │ │ └── webkit │ │ │ │ │ ├── README │ │ │ │ │ ├── adoption01.dat │ │ │ │ │ ├── adoption02.dat │ │ │ │ │ ├── comments01.dat │ │ │ │ │ ├── doctype01.dat │ │ │ │ │ ├── entities01.dat │ │ │ │ │ ├── entities02.dat │ │ │ │ │ ├── html5test-com.dat │ │ │ │ │ ├── inbody01.dat │ │ │ │ │ ├── isindex.dat │ │ │ │ │ ├── pending-spec-changes-plain-text-unsafe.dat │ │ │ │ │ ├── pending-spec-changes.dat │ │ │ │ │ ├── plain-text-unsafe.dat │ │ │ │ │ ├── scriptdata01.dat │ │ │ │ │ ├── scripted │ │ │ │ │ ├── adoption01.dat │ │ │ │ │ └── webkit01.dat │ │ │ │ │ ├── tables01.dat │ │ │ │ │ ├── tests1.dat │ │ │ │ │ ├── tests10.dat │ │ │ │ │ ├── tests11.dat │ │ │ │ │ ├── tests12.dat │ │ │ │ │ ├── tests14.dat │ │ │ │ │ ├── tests15.dat │ │ │ │ │ ├── tests16.dat │ │ │ │ │ ├── tests17.dat │ │ │ │ │ ├── tests18.dat │ │ │ │ │ ├── tests19.dat │ │ │ │ │ ├── tests2.dat │ │ │ │ │ ├── tests20.dat │ │ │ │ │ ├── tests21.dat │ │ │ │ │ ├── tests22.dat │ │ │ │ │ ├── tests23.dat │ │ │ │ │ ├── tests24.dat │ │ │ │ │ ├── tests25.dat │ │ │ │ │ ├── tests26.dat │ │ │ │ │ ├── tests3.dat │ │ │ │ │ ├── tests4.dat │ │ │ │ │ ├── tests5.dat │ │ │ │ │ ├── tests6.dat │ │ │ │ │ ├── tests7.dat │ │ │ │ │ ├── tests8.dat │ │ │ │ │ ├── tests9.dat │ │ │ │ │ ├── tests_innerHTML_1.dat │ │ │ │ │ ├── tricky01.dat │ │ │ │ │ ├── webkit01.dat │ │ │ │ │ └── webkit02.dat │ │ │ ├── token.go │ │ │ └── token_test.go │ │ ├── http2 │ │ │ ├── .gitignore │ │ │ ├── Dockerfile │ │ │ ├── Makefile │ │ │ ├── README │ │ │ ├── ciphers.go │ │ │ ├── ciphers_test.go │ │ │ ├── client_conn_pool.go │ │ │ ├── configure_transport.go │ │ │ ├── databuffer.go │ │ │ ├── databuffer_test.go │ │ │ ├── errors.go │ │ │ ├── errors_test.go │ │ │ ├── flow.go │ │ │ ├── flow_test.go │ │ │ ├── frame.go │ │ │ ├── frame_test.go │ │ │ ├── go16.go │ │ │ ├── go17.go │ │ │ ├── go17_not18.go │ │ │ ├── go18.go │ │ │ ├── go18_test.go │ │ │ ├── go19.go │ │ │ ├── go19_test.go │ │ │ ├── gotrack.go │ │ │ ├── gotrack_test.go │ │ │ ├── h2demo │ │ │ │ ├── .gitignore │ │ │ │ ├── Makefile │ │ │ │ ├── README │ │ │ │ ├── h2demo.go │ │ │ │ ├── launch.go │ │ │ │ ├── rootCA.key │ │ │ │ ├── rootCA.pem │ │ │ │ ├── rootCA.srl │ │ │ │ ├── server.crt │ │ │ │ ├── server.key │ │ │ │ └── tmpl.go │ │ │ ├── h2i │ │ │ │ ├── README.md │ │ │ │ └── h2i.go │ │ │ ├── headermap.go │ │ │ ├── hpack │ │ │ │ ├── encode.go │ │ │ │ ├── encode_test.go │ │ │ │ ├── hpack.go │ │ │ │ ├── hpack_test.go │ │ │ │ ├── huffman.go │ │ │ │ ├── tables.go │ │ │ │ └── tables_test.go │ │ │ ├── http2.go │ │ │ ├── http2_test.go │ │ │ ├── not_go16.go │ │ │ ├── not_go17.go │ │ │ ├── not_go18.go │ │ │ ├── not_go19.go │ │ │ ├── pipe.go │ │ │ ├── pipe_test.go │ │ │ ├── server.go │ │ │ ├── server_push_test.go │ │ │ ├── server_test.go │ │ │ ├── testdata │ │ │ │ └── draft-ietf-httpbis-http2.xml │ │ │ ├── transport.go │ │ │ ├── transport_test.go │ │ │ ├── write.go │ │ │ ├── writesched.go │ │ │ ├── writesched_priority.go │ │ │ ├── writesched_priority_test.go │ │ │ ├── writesched_random.go │ │ │ ├── writesched_random_test.go │ │ │ ├── writesched_test.go │ │ │ └── z_spec_test.go │ │ ├── icmp │ │ │ ├── dstunreach.go │ │ │ ├── echo.go │ │ │ ├── endpoint.go │ │ │ ├── example_test.go │ │ │ ├── extension.go │ │ │ ├── extension_test.go │ │ │ ├── helper.go │ │ │ ├── helper_posix.go │ │ │ ├── interface.go │ │ │ ├── ipv4.go │ │ │ ├── ipv4_test.go │ │ │ ├── ipv6.go │ │ │ ├── listen_posix.go │ │ │ ├── listen_stub.go │ │ │ ├── message.go │ │ │ ├── message_test.go │ │ │ ├── messagebody.go │ │ │ ├── mpls.go │ │ │ ├── multipart.go │ │ │ ├── multipart_test.go │ │ │ ├── packettoobig.go │ │ │ ├── paramprob.go │ │ │ ├── ping_test.go │ │ │ ├── sys_freebsd.go │ │ │ └── timeexceeded.go │ │ ├── idna │ │ │ ├── example_test.go │ │ │ ├── idna.go │ │ │ ├── idna_test.go │ │ │ ├── punycode.go │ │ │ ├── punycode_test.go │ │ │ ├── tables.go │ │ │ ├── trie.go │ │ │ └── trieval.go │ │ ├── internal │ │ │ ├── iana │ │ │ │ ├── const.go │ │ │ │ └── gen.go │ │ │ ├── nettest │ │ │ │ ├── helper_bsd.go │ │ │ │ ├── helper_nobsd.go │ │ │ │ ├── helper_posix.go │ │ │ │ ├── helper_stub.go │ │ │ │ ├── helper_unix.go │ │ │ │ ├── helper_windows.go │ │ │ │ ├── interface.go │ │ │ │ ├── rlimit.go │ │ │ │ └── stack.go │ │ │ ├── socket │ │ │ │ ├── error_unix.go │ │ │ │ ├── error_windows.go │ │ │ │ ├── rawconn.go │ │ │ │ ├── reflect.go │ │ │ │ ├── socket.go │ │ │ │ ├── socket_test.go │ │ │ │ ├── sys.go │ │ │ │ ├── sys_linux_386.go │ │ │ │ ├── sys_linux_386.s │ │ │ │ ├── sys_solaris.go │ │ │ │ ├── sys_solaris_amd64.s │ │ │ │ ├── sys_stub.go │ │ │ │ ├── sys_unix.go │ │ │ │ └── sys_windows.go │ │ │ └── timeseries │ │ │ │ ├── timeseries.go │ │ │ │ └── timeseries_test.go │ │ ├── ipv4 │ │ │ ├── bpf_test.go │ │ │ ├── control.go │ │ │ ├── control_bsd.go │ │ │ ├── control_pktinfo.go │ │ │ ├── control_stub.go │ │ │ ├── control_unix.go │ │ │ ├── control_windows.go │ │ │ ├── defs_darwin.go │ │ │ ├── defs_dragonfly.go │ │ │ ├── defs_freebsd.go │ │ │ ├── defs_linux.go │ │ │ ├── defs_netbsd.go │ │ │ ├── defs_openbsd.go │ │ │ ├── defs_solaris.go │ │ │ ├── dgramopt.go │ │ │ ├── doc.go │ │ │ ├── endpoint.go │ │ │ ├── example_test.go │ │ │ ├── gen.go │ │ │ ├── genericopt.go │ │ │ ├── header.go │ │ │ ├── header_test.go │ │ │ ├── helper.go │ │ │ ├── iana.go │ │ │ ├── icmp.go │ │ │ ├── icmp_linux.go │ │ │ ├── icmp_stub.go │ │ │ ├── icmp_test.go │ │ │ ├── multicast_test.go │ │ │ ├── multicastlistener_test.go │ │ │ ├── multicastsockopt_test.go │ │ │ ├── packet.go │ │ │ ├── payload.go │ │ │ ├── payload_cmsg.go │ │ │ ├── payload_nocmsg.go │ │ │ ├── readwrite_test.go │ │ │ ├── sockopt.go │ │ │ ├── sockopt_posix.go │ │ │ ├── sockopt_stub.go │ │ │ ├── sys_asmreq.go │ │ │ ├── sys_asmreq_stub.go │ │ │ ├── sys_asmreqn.go │ │ │ ├── sys_asmreqn_stub.go │ │ │ ├── sys_bpf.go │ │ │ ├── sys_bpf_stub.go │ │ │ ├── sys_bsd.go │ │ │ ├── sys_darwin.go │ │ │ ├── sys_dragonfly.go │ │ │ ├── sys_freebsd.go │ │ │ ├── sys_linux.go │ │ │ ├── sys_solaris.go │ │ │ ├── sys_ssmreq.go │ │ │ ├── sys_ssmreq_stub.go │ │ │ ├── sys_stub.go │ │ │ ├── sys_windows.go │ │ │ ├── unicast_test.go │ │ │ ├── unicastsockopt_test.go │ │ │ ├── zsys_darwin.go │ │ │ ├── zsys_dragonfly.go │ │ │ ├── zsys_freebsd_386.go │ │ │ ├── zsys_freebsd_amd64.go │ │ │ ├── zsys_freebsd_arm.go │ │ │ ├── zsys_linux_386.go │ │ │ ├── zsys_linux_amd64.go │ │ │ ├── zsys_linux_arm.go │ │ │ ├── zsys_linux_arm64.go │ │ │ ├── zsys_linux_mips.go │ │ │ ├── zsys_linux_mips64.go │ │ │ ├── zsys_linux_mips64le.go │ │ │ ├── zsys_linux_mipsle.go │ │ │ ├── zsys_linux_ppc.go │ │ │ ├── zsys_linux_ppc64.go │ │ │ ├── zsys_linux_ppc64le.go │ │ │ ├── zsys_linux_s390x.go │ │ │ ├── zsys_netbsd.go │ │ │ ├── zsys_openbsd.go │ │ │ └── zsys_solaris.go │ │ ├── ipv6 │ │ │ ├── bpf_test.go │ │ │ ├── control.go │ │ │ ├── control_rfc2292_unix.go │ │ │ ├── control_rfc3542_unix.go │ │ │ ├── control_stub.go │ │ │ ├── control_unix.go │ │ │ ├── control_windows.go │ │ │ ├── defs_darwin.go │ │ │ ├── defs_dragonfly.go │ │ │ ├── defs_freebsd.go │ │ │ ├── defs_linux.go │ │ │ ├── defs_netbsd.go │ │ │ ├── defs_openbsd.go │ │ │ ├── defs_solaris.go │ │ │ ├── dgramopt.go │ │ │ ├── doc.go │ │ │ ├── endpoint.go │ │ │ ├── example_test.go │ │ │ ├── gen.go │ │ │ ├── genericopt.go │ │ │ ├── header.go │ │ │ ├── header_test.go │ │ │ ├── helper.go │ │ │ ├── iana.go │ │ │ ├── icmp.go │ │ │ ├── icmp_bsd.go │ │ │ ├── icmp_linux.go │ │ │ ├── icmp_solaris.go │ │ │ ├── icmp_stub.go │ │ │ ├── icmp_test.go │ │ │ ├── icmp_windows.go │ │ │ ├── mocktransponder_test.go │ │ │ ├── multicast_test.go │ │ │ ├── multicastlistener_test.go │ │ │ ├── multicastsockopt_test.go │ │ │ ├── payload.go │ │ │ ├── payload_cmsg.go │ │ │ ├── payload_nocmsg.go │ │ │ ├── readwrite_test.go │ │ │ ├── sockopt.go │ │ │ ├── sockopt_posix.go │ │ │ ├── sockopt_stub.go │ │ │ ├── sockopt_test.go │ │ │ ├── sys_asmreq.go │ │ │ ├── sys_asmreq_stub.go │ │ │ ├── sys_bpf.go │ │ │ ├── sys_bpf_stub.go │ │ │ ├── sys_bsd.go │ │ │ ├── sys_darwin.go │ │ │ ├── sys_freebsd.go │ │ │ ├── sys_linux.go │ │ │ ├── sys_solaris.go │ │ │ ├── sys_ssmreq.go │ │ │ ├── sys_ssmreq_stub.go │ │ │ ├── sys_stub.go │ │ │ ├── sys_windows.go │ │ │ ├── unicast_test.go │ │ │ ├── unicastsockopt_test.go │ │ │ ├── zsys_darwin.go │ │ │ ├── zsys_dragonfly.go │ │ │ ├── zsys_freebsd_386.go │ │ │ ├── zsys_freebsd_amd64.go │ │ │ ├── zsys_freebsd_arm.go │ │ │ ├── zsys_linux_386.go │ │ │ ├── zsys_linux_amd64.go │ │ │ ├── zsys_linux_arm.go │ │ │ ├── zsys_linux_arm64.go │ │ │ ├── zsys_linux_mips.go │ │ │ ├── zsys_linux_mips64.go │ │ │ ├── zsys_linux_mips64le.go │ │ │ ├── zsys_linux_mipsle.go │ │ │ ├── zsys_linux_ppc.go │ │ │ ├── zsys_linux_ppc64.go │ │ │ ├── zsys_linux_ppc64le.go │ │ │ ├── zsys_linux_s390x.go │ │ │ ├── zsys_netbsd.go │ │ │ ├── zsys_openbsd.go │ │ │ └── zsys_solaris.go │ │ ├── lex │ │ │ └── httplex │ │ │ │ ├── httplex.go │ │ │ │ └── httplex_test.go │ │ ├── lif │ │ │ ├── address.go │ │ │ ├── address_test.go │ │ │ ├── binary.go │ │ │ ├── defs_solaris.go │ │ │ ├── lif.go │ │ │ ├── link.go │ │ │ ├── link_test.go │ │ │ ├── sys.go │ │ │ ├── sys_solaris_amd64.s │ │ │ ├── syscall.go │ │ │ └── zsys_solaris_amd64.go │ │ ├── nettest │ │ │ ├── conntest.go │ │ │ ├── conntest_go16.go │ │ │ ├── conntest_go17.go │ │ │ └── conntest_test.go │ │ ├── netutil │ │ │ ├── listen.go │ │ │ └── listen_test.go │ │ ├── proxy │ │ │ ├── direct.go │ │ │ ├── per_host.go │ │ │ ├── per_host_test.go │ │ │ ├── proxy.go │ │ │ ├── proxy_test.go │ │ │ └── socks5.go │ │ ├── publicsuffix │ │ │ ├── gen.go │ │ │ ├── list.go │ │ │ ├── list_test.go │ │ │ ├── table.go │ │ │ └── table_test.go │ │ ├── route │ │ │ ├── address.go │ │ │ ├── address_darwin_test.go │ │ │ ├── address_test.go │ │ │ ├── binary.go │ │ │ ├── defs_darwin.go │ │ │ ├── defs_dragonfly.go │ │ │ ├── defs_freebsd.go │ │ │ ├── defs_netbsd.go │ │ │ ├── defs_openbsd.go │ │ │ ├── interface.go │ │ │ ├── interface_announce.go │ │ │ ├── interface_classic.go │ │ │ ├── interface_freebsd.go │ │ │ ├── interface_multicast.go │ │ │ ├── interface_openbsd.go │ │ │ ├── message.go │ │ │ ├── message_darwin_test.go │ │ │ ├── message_freebsd_test.go │ │ │ ├── message_test.go │ │ │ ├── route.go │ │ │ ├── route_classic.go │ │ │ ├── route_openbsd.go │ │ │ ├── route_test.go │ │ │ ├── sys.go │ │ │ ├── sys_darwin.go │ │ │ ├── sys_dragonfly.go │ │ │ ├── sys_freebsd.go │ │ │ ├── sys_netbsd.go │ │ │ ├── sys_openbsd.go │ │ │ ├── syscall.go │ │ │ ├── zsys_darwin.go │ │ │ ├── zsys_dragonfly.go │ │ │ ├── zsys_freebsd_386.go │ │ │ ├── zsys_freebsd_amd64.go │ │ │ ├── zsys_freebsd_arm.go │ │ │ ├── zsys_netbsd.go │ │ │ └── zsys_openbsd.go │ │ ├── trace │ │ │ ├── events.go │ │ │ ├── histogram.go │ │ │ ├── histogram_test.go │ │ │ ├── trace.go │ │ │ ├── trace_go16.go │ │ │ ├── trace_go17.go │ │ │ └── trace_test.go │ │ ├── webdav │ │ │ ├── file.go │ │ │ ├── file_go1.6.go │ │ │ ├── file_go1.7.go │ │ │ ├── file_test.go │ │ │ ├── if.go │ │ │ ├── if_test.go │ │ │ ├── internal │ │ │ │ └── xml │ │ │ │ │ ├── README │ │ │ │ │ ├── atom_test.go │ │ │ │ │ ├── example_test.go │ │ │ │ │ ├── marshal.go │ │ │ │ │ ├── marshal_test.go │ │ │ │ │ ├── read.go │ │ │ │ │ ├── read_test.go │ │ │ │ │ ├── typeinfo.go │ │ │ │ │ ├── xml.go │ │ │ │ │ └── xml_test.go │ │ │ ├── litmus_test_server.go │ │ │ ├── lock.go │ │ │ ├── lock_test.go │ │ │ ├── prop.go │ │ │ ├── prop_test.go │ │ │ ├── webdav.go │ │ │ ├── webdav_test.go │ │ │ ├── xml.go │ │ │ └── xml_test.go │ │ ├── websocket │ │ │ ├── client.go │ │ │ ├── dial.go │ │ │ ├── dial_test.go │ │ │ ├── exampledial_test.go │ │ │ ├── examplehandler_test.go │ │ │ ├── hybi.go │ │ │ ├── hybi_test.go │ │ │ ├── server.go │ │ │ ├── websocket.go │ │ │ └── websocket_test.go │ │ └── xsrftoken │ │ │ ├── xsrf.go │ │ │ └── xsrf_test.go │ │ └── sys │ │ ├── .gitattributes │ │ ├── .gitignore │ │ ├── AUTHORS │ │ ├── CONTRIBUTING.md │ │ ├── CONTRIBUTORS │ │ ├── LICENSE │ │ ├── PATENTS │ │ ├── README │ │ ├── codereview.cfg │ │ ├── plan9 │ │ ├── asm.s │ │ ├── asm_plan9_386.s │ │ ├── asm_plan9_amd64.s │ │ ├── const_plan9.go │ │ ├── dir_plan9.go │ │ ├── env_plan9.go │ │ ├── env_unset.go │ │ ├── errors_plan9.go │ │ ├── mkall.sh │ │ ├── mkerrors.sh │ │ ├── mksyscall.pl │ │ ├── mksysnum_plan9.sh │ │ ├── pwd_go15_plan9.go │ │ ├── pwd_plan9.go │ │ ├── race.go │ │ ├── race0.go │ │ ├── str.go │ │ ├── syscall.go │ │ ├── syscall_plan9.go │ │ ├── syscall_test.go │ │ ├── zsyscall_plan9_386.go │ │ ├── zsyscall_plan9_amd64.go │ │ └── zsysnum_plan9.go │ │ ├── unix │ │ ├── .gitignore │ │ ├── README.md │ │ ├── asm_darwin_386.s │ │ ├── asm_darwin_amd64.s │ │ ├── asm_darwin_arm.s │ │ ├── asm_darwin_arm64.s │ │ ├── asm_dragonfly_amd64.s │ │ ├── asm_freebsd_386.s │ │ ├── asm_freebsd_amd64.s │ │ ├── asm_freebsd_arm.s │ │ ├── asm_linux_386.s │ │ ├── asm_linux_amd64.s │ │ ├── asm_linux_arm.s │ │ ├── asm_linux_arm64.s │ │ ├── asm_linux_mips64x.s │ │ ├── asm_linux_mipsx.s │ │ ├── asm_linux_ppc64x.s │ │ ├── asm_linux_s390x.s │ │ ├── asm_netbsd_386.s │ │ ├── asm_netbsd_amd64.s │ │ ├── asm_netbsd_arm.s │ │ ├── asm_openbsd_386.s │ │ ├── asm_openbsd_amd64.s │ │ ├── asm_solaris_amd64.s │ │ ├── bluetooth_linux.go │ │ ├── constants.go │ │ ├── creds_test.go │ │ ├── dirent.go │ │ ├── endian_big.go │ │ ├── endian_little.go │ │ ├── env_unix.go │ │ ├── env_unset.go │ │ ├── export_test.go │ │ ├── flock.go │ │ ├── flock_linux_32bit.go │ │ ├── gccgo.go │ │ ├── gccgo_c.c │ │ ├── gccgo_linux_amd64.go │ │ ├── gccgo_linux_sparc64.go │ │ ├── linux │ │ │ ├── Dockerfile │ │ │ ├── mkall.go │ │ │ ├── mksysnum.pl │ │ │ └── types.go │ │ ├── mkall.sh │ │ ├── mkerrors.sh │ │ ├── mkpost.go │ │ ├── mksyscall.pl │ │ ├── mksyscall_solaris.pl │ │ ├── mksysctl_openbsd.pl │ │ ├── mksysnum_darwin.pl │ │ ├── mksysnum_dragonfly.pl │ │ ├── mksysnum_freebsd.pl │ │ ├── mksysnum_netbsd.pl │ │ ├── mksysnum_openbsd.pl │ │ ├── mmap_unix_test.go │ │ ├── openbsd_pledge.go │ │ ├── openbsd_test.go │ │ ├── race.go │ │ ├── race0.go │ │ ├── sockcmsg_linux.go │ │ ├── sockcmsg_unix.go │ │ ├── str.go │ │ ├── syscall.go │ │ ├── syscall_bsd.go │ │ ├── syscall_bsd_test.go │ │ ├── syscall_darwin.go │ │ ├── syscall_darwin_386.go │ │ ├── syscall_darwin_amd64.go │ │ ├── syscall_darwin_arm.go │ │ ├── syscall_darwin_arm64.go │ │ ├── syscall_dragonfly.go │ │ ├── syscall_dragonfly_amd64.go │ │ ├── syscall_freebsd.go │ │ ├── syscall_freebsd_386.go │ │ ├── syscall_freebsd_amd64.go │ │ ├── syscall_freebsd_arm.go │ │ ├── syscall_freebsd_test.go │ │ ├── syscall_linux.go │ │ ├── syscall_linux_386.go │ │ ├── syscall_linux_amd64.go │ │ ├── syscall_linux_amd64_gc.go │ │ ├── syscall_linux_arm.go │ │ ├── syscall_linux_arm64.go │ │ ├── syscall_linux_mips64x.go │ │ ├── syscall_linux_mipsx.go │ │ ├── syscall_linux_ppc64x.go │ │ ├── syscall_linux_s390x.go │ │ ├── syscall_linux_sparc64.go │ │ ├── syscall_linux_test.go │ │ ├── syscall_netbsd.go │ │ ├── syscall_netbsd_386.go │ │ ├── syscall_netbsd_amd64.go │ │ ├── syscall_netbsd_arm.go │ │ ├── syscall_no_getwd.go │ │ ├── syscall_openbsd.go │ │ ├── syscall_openbsd_386.go │ │ ├── syscall_openbsd_amd64.go │ │ ├── syscall_solaris.go │ │ ├── syscall_solaris_amd64.go │ │ ├── syscall_solaris_test.go │ │ ├── syscall_test.go │ │ ├── syscall_unix.go │ │ ├── syscall_unix_gc.go │ │ ├── syscall_unix_test.go │ │ ├── types_darwin.go │ │ ├── types_dragonfly.go │ │ ├── types_freebsd.go │ │ ├── types_netbsd.go │ │ ├── types_openbsd.go │ │ ├── types_solaris.go │ │ ├── zerrors_darwin_386.go │ │ ├── zerrors_darwin_amd64.go │ │ ├── zerrors_darwin_arm.go │ │ ├── zerrors_darwin_arm64.go │ │ ├── zerrors_dragonfly_amd64.go │ │ ├── zerrors_freebsd_386.go │ │ ├── zerrors_freebsd_amd64.go │ │ ├── zerrors_freebsd_arm.go │ │ ├── zerrors_linux_386.go │ │ ├── zerrors_linux_amd64.go │ │ ├── zerrors_linux_arm.go │ │ ├── zerrors_linux_arm64.go │ │ ├── zerrors_linux_mips.go │ │ ├── zerrors_linux_mips64.go │ │ ├── zerrors_linux_mips64le.go │ │ ├── zerrors_linux_mipsle.go │ │ ├── zerrors_linux_ppc64.go │ │ ├── zerrors_linux_ppc64le.go │ │ ├── zerrors_linux_s390x.go │ │ ├── zerrors_linux_sparc64.go │ │ ├── zerrors_netbsd_386.go │ │ ├── zerrors_netbsd_amd64.go │ │ ├── zerrors_netbsd_arm.go │ │ ├── zerrors_openbsd_386.go │ │ ├── zerrors_openbsd_amd64.go │ │ ├── zerrors_solaris_amd64.go │ │ ├── zsyscall_darwin_386.go │ │ ├── zsyscall_darwin_amd64.go │ │ ├── zsyscall_darwin_arm.go │ │ ├── zsyscall_darwin_arm64.go │ │ ├── zsyscall_dragonfly_amd64.go │ │ ├── zsyscall_freebsd_386.go │ │ ├── zsyscall_freebsd_amd64.go │ │ ├── zsyscall_freebsd_arm.go │ │ ├── zsyscall_linux_386.go │ │ ├── zsyscall_linux_amd64.go │ │ ├── zsyscall_linux_arm.go │ │ ├── zsyscall_linux_arm64.go │ │ ├── zsyscall_linux_mips.go │ │ ├── zsyscall_linux_mips64.go │ │ ├── zsyscall_linux_mips64le.go │ │ ├── zsyscall_linux_mipsle.go │ │ ├── zsyscall_linux_ppc64.go │ │ ├── zsyscall_linux_ppc64le.go │ │ ├── zsyscall_linux_s390x.go │ │ ├── zsyscall_linux_sparc64.go │ │ ├── zsyscall_netbsd_386.go │ │ ├── zsyscall_netbsd_amd64.go │ │ ├── zsyscall_netbsd_arm.go │ │ ├── zsyscall_openbsd_386.go │ │ ├── zsyscall_openbsd_amd64.go │ │ ├── zsyscall_solaris_amd64.go │ │ ├── zsysctl_openbsd.go │ │ ├── zsysnum_darwin_386.go │ │ ├── zsysnum_darwin_amd64.go │ │ ├── zsysnum_darwin_arm.go │ │ ├── zsysnum_darwin_arm64.go │ │ ├── zsysnum_dragonfly_amd64.go │ │ ├── zsysnum_freebsd_386.go │ │ ├── zsysnum_freebsd_amd64.go │ │ ├── zsysnum_freebsd_arm.go │ │ ├── zsysnum_linux_386.go │ │ ├── zsysnum_linux_amd64.go │ │ ├── zsysnum_linux_arm.go │ │ ├── zsysnum_linux_arm64.go │ │ ├── zsysnum_linux_mips.go │ │ ├── zsysnum_linux_mips64.go │ │ ├── zsysnum_linux_mips64le.go │ │ ├── zsysnum_linux_mipsle.go │ │ ├── zsysnum_linux_ppc64.go │ │ ├── zsysnum_linux_ppc64le.go │ │ ├── zsysnum_linux_s390x.go │ │ ├── zsysnum_linux_sparc64.go │ │ ├── zsysnum_netbsd_386.go │ │ ├── zsysnum_netbsd_amd64.go │ │ ├── zsysnum_netbsd_arm.go │ │ ├── zsysnum_openbsd_386.go │ │ ├── zsysnum_openbsd_amd64.go │ │ ├── zsysnum_solaris_amd64.go │ │ ├── ztypes_darwin_386.go │ │ ├── ztypes_darwin_amd64.go │ │ ├── ztypes_darwin_arm.go │ │ ├── ztypes_darwin_arm64.go │ │ ├── ztypes_dragonfly_amd64.go │ │ ├── ztypes_freebsd_386.go │ │ ├── ztypes_freebsd_amd64.go │ │ ├── ztypes_freebsd_arm.go │ │ ├── ztypes_linux_386.go │ │ ├── ztypes_linux_amd64.go │ │ ├── ztypes_linux_arm.go │ │ ├── ztypes_linux_arm64.go │ │ ├── ztypes_linux_mips.go │ │ ├── ztypes_linux_mips64.go │ │ ├── ztypes_linux_mips64le.go │ │ ├── ztypes_linux_mipsle.go │ │ ├── ztypes_linux_ppc64.go │ │ ├── ztypes_linux_ppc64le.go │ │ ├── ztypes_linux_s390x.go │ │ ├── ztypes_linux_sparc64.go │ │ ├── ztypes_netbsd_386.go │ │ ├── ztypes_netbsd_amd64.go │ │ ├── ztypes_netbsd_arm.go │ │ ├── ztypes_openbsd_386.go │ │ ├── ztypes_openbsd_amd64.go │ │ └── ztypes_solaris_amd64.go │ │ └── windows │ │ ├── asm_windows_386.s │ │ ├── asm_windows_amd64.s │ │ ├── dll_windows.go │ │ ├── env_unset.go │ │ ├── env_windows.go │ │ ├── eventlog.go │ │ ├── exec_windows.go │ │ ├── mksyscall.go │ │ ├── race.go │ │ ├── race0.go │ │ ├── registry │ │ ├── export_test.go │ │ ├── key.go │ │ ├── mksyscall.go │ │ ├── registry_test.go │ │ ├── syscall.go │ │ ├── value.go │ │ └── zsyscall_windows.go │ │ ├── security_windows.go │ │ ├── service.go │ │ ├── str.go │ │ ├── svc │ │ ├── debug │ │ │ ├── log.go │ │ │ └── service.go │ │ ├── event.go │ │ ├── eventlog │ │ │ ├── install.go │ │ │ ├── log.go │ │ │ └── log_test.go │ │ ├── example │ │ │ ├── beep.go │ │ │ ├── install.go │ │ │ ├── main.go │ │ │ ├── manage.go │ │ │ └── service.go │ │ ├── go12.c │ │ ├── go12.go │ │ ├── go13.go │ │ ├── mgr │ │ │ ├── config.go │ │ │ ├── mgr.go │ │ │ ├── mgr_test.go │ │ │ └── service.go │ │ ├── security.go │ │ ├── service.go │ │ ├── svc_test.go │ │ ├── sys_386.s │ │ └── sys_amd64.s │ │ ├── syscall.go │ │ ├── syscall_test.go │ │ ├── syscall_windows.go │ │ ├── syscall_windows_test.go │ │ ├── zsyscall_windows.go │ │ ├── ztypes_windows.go │ │ ├── ztypes_windows_386.go │ │ └── ztypes_windows_amd64.go └── gopkg.in │ ├── gin-gonic │ └── gin.v1 │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── AUTHORS.md │ │ ├── BENCHMARKS.md │ │ ├── CHANGELOG.md │ │ ├── Godeps │ │ └── Godeps.json │ │ ├── LICENSE │ │ ├── README.md │ │ ├── auth.go │ │ ├── auth_test.go │ │ ├── benchmarks_test.go │ │ ├── binding │ │ ├── binding.go │ │ ├── binding_test.go │ │ ├── default_validator.go │ │ ├── example │ │ │ ├── test.pb.go │ │ │ └── test.proto │ │ ├── form.go │ │ ├── form_mapping.go │ │ ├── json.go │ │ ├── protobuf.go │ │ ├── validate_test.go │ │ └── xml.go │ │ ├── codecov.yml │ │ ├── context.go │ │ ├── context_test.go │ │ ├── debug.go │ │ ├── debug_test.go │ │ ├── deprecated.go │ │ ├── errors.go │ │ ├── errors_test.go │ │ ├── examples │ │ ├── app-engine │ │ │ ├── README.md │ │ │ ├── app.yaml │ │ │ └── hello.go │ │ ├── basic │ │ │ └── main.go │ │ ├── realtime-advanced │ │ │ ├── main.go │ │ │ ├── resources │ │ │ │ ├── room_login.templ.html │ │ │ │ └── static │ │ │ │ │ ├── epoch.min.css │ │ │ │ │ ├── epoch.min.js │ │ │ │ │ ├── prismjs.min.css │ │ │ │ │ ├── prismjs.min.js │ │ │ │ │ └── realtime.js │ │ │ ├── rooms.go │ │ │ ├── routes.go │ │ │ └── stats.go │ │ └── realtime-chat │ │ │ ├── main.go │ │ │ ├── rooms.go │ │ │ └── template.go │ │ ├── fs.go │ │ ├── gin.go │ │ ├── ginS │ │ ├── README.md │ │ └── gins.go │ │ ├── gin_integration_test.go │ │ ├── gin_test.go │ │ ├── githubapi_test.go │ │ ├── helpers_test.go │ │ ├── logger.go │ │ ├── logger_test.go │ │ ├── logo.jpg │ │ ├── middleware_test.go │ │ ├── mode.go │ │ ├── mode_test.go │ │ ├── path.go │ │ ├── path_test.go │ │ ├── recovery.go │ │ ├── recovery_test.go │ │ ├── render │ │ ├── data.go │ │ ├── html.go │ │ ├── json.go │ │ ├── redirect.go │ │ ├── render.go │ │ ├── render_test.go │ │ ├── text.go │ │ ├── xml.go │ │ └── yaml.go │ │ ├── response_writer.go │ │ ├── response_writer_test.go │ │ ├── routergroup.go │ │ ├── routergroup_test.go │ │ ├── routes_test.go │ │ ├── tree.go │ │ ├── tree_test.go │ │ ├── utils.go │ │ ├── utils_test.go │ │ └── wercker.yml │ ├── go-playground │ └── validator.v8 │ │ ├── .gitignore │ │ ├── LICENSE │ │ ├── README.md │ │ ├── baked_in.go │ │ ├── benchmarks_test.go │ │ ├── cache.go │ │ ├── doc.go │ │ ├── examples │ │ ├── custom │ │ │ └── custom.go │ │ ├── simple │ │ │ └── simple.go │ │ └── struct-level │ │ │ └── struct_level.go │ │ ├── examples_test.go │ │ ├── logo.png │ │ ├── regexes.go │ │ ├── util.go │ │ ├── validator.go │ │ └── validator_test.go │ └── yaml.v2 │ ├── .travis.yml │ ├── LICENSE │ ├── LICENSE.libyaml │ ├── README.md │ ├── apic.go │ ├── decode.go │ ├── decode_test.go │ ├── emitterc.go │ ├── encode.go │ ├── encode_test.go │ ├── parserc.go │ ├── readerc.go │ ├── resolve.go │ ├── scannerc.go │ ├── sorter.go │ ├── suite_test.go │ ├── writerc.go │ ├── yaml.go │ ├── yamlh.go │ └── yamlprivateh.go ├── version └── version.go └── vhost ├── http.go └── vhost.go /.gitignore: -------------------------------------------------------------------------------- 1 | .idea 2 | .DS_Store 3 | cmd/lunnelCli/lunnelCli 4 | cmd/lunnelSer/lunnelSer 5 | cmd/lunnelSer/config.yml 6 | cmd/lunnelCli/config.yml 7 | cmd/lunnelCli/lunnel.id 8 | cmd/lunnelSer/config2.yml 9 | cmd/lunnelCli/config2.yml 10 | bin/ 11 | 12 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM golang:1.8.2-alpine 2 | 3 | RUN apk add --update \ 4 | ca-certificates \ 5 | && rm -rf /var/cache/apk/* 6 | 7 | copy . /go/src/github.com/longXboy/lunnel 8 | 9 | RUN go install github.com/longXboy/lunnel/cmd/lunnelCli 10 | 11 | ENTRYPOINT ["lunnelCli"] 12 | CMD ["-c","./config.yml"] 13 | -------------------------------------------------------------------------------- /DockerfileServer: -------------------------------------------------------------------------------- 1 | FROM golang:1.8.2-alpine 2 | 3 | RUN apk add --update \ 4 | ca-certificates \ 5 | && rm -rf /var/cache/apk/* 6 | 7 | copy . /go/src/github.com/longXboy/lunnel 8 | 9 | RUN go install github.com/longXboy/lunnel/cmd/lunnelSer 10 | 11 | ENTRYPOINT ["lunnelSer"] 12 | CMD ["-c","./config.yml"] 13 | -------------------------------------------------------------------------------- /Gopkg.toml: -------------------------------------------------------------------------------- 1 | 2 | [[dependencies]] 3 | branch = "master" 4 | name = "github.com/klauspost/compress" 5 | 6 | [[dependencies]] 7 | branch = "master" 8 | name = "github.com/longXboy/smux" 9 | 10 | [[dependencies]] 11 | branch = "master" 12 | name = "github.com/pkg/errors" 13 | 14 | [[dependencies]] 15 | branch = "master" 16 | name = "golang.org/x/crypto" 17 | 18 | [[dependencies]] 19 | branch = "master" 20 | name = "golang.org/x/net" 21 | 22 | [[dependencies]] 23 | branch = "master" 24 | name = "github.com/xtaci/kcp-go" 25 | 26 | [[dependencies]] 27 | branch = "master" 28 | name = "github.com/yvasiyarov/gorelic" -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | export PATH := $(GOPATH)/bin:$(PATH) 2 | export GO15VENDOREXPERIMENT := 1 3 | 4 | build: lunelSer lunelCli 5 | 6 | lunelCli: 7 | go build -o bin/client/lunnelCli ./cmd/lunnelCli 8 | @cp ./cmd/lunnelCli/config-example.yml ./bin/client 9 | @cp ./cmd/lunnelCli/cacert-example.pem ./bin/client 10 | 11 | lunelSer: 12 | go build -o bin/server/lunnelSer ./cmd/lunnelSer 13 | @cp ./cmd/lunnelSer/config-example.yml ./bin/server 14 | @cp ./cmd/lunnelSer/example.crt ./bin/server 15 | @cp ./cmd/lunnelSer/example.key ./bin/server 16 | 17 | testAll: 18 | go test -v ./util/... 19 | go test -v ./transport/kcp/... 20 | go test -v ./crypto/... 21 | go test -v ./test/... -------------------------------------------------------------------------------- /cmd/lunnelCli/config-example.yml: -------------------------------------------------------------------------------- 1 | server_addr: 127.0.0.1:8080 2 | tunnels: 3 | 2048: 4 | local: http://127.0.0.1:32768 5 | http_host_rewrite: www.2048.com 6 | 2048_tcp: 7 | schema: tcp 8 | local: http://127.0.0.1:32768 9 | docker: 10 | schema: http 11 | host: docker.example.com 12 | local: unix:///var/run/docker.sock 13 | tls: 14 | trusted_cert: ./cacert-example.pem 15 | server_name: example.com 16 | enable_compress: true -------------------------------------------------------------------------------- /cmd/lunnelSer/config-example.yml: -------------------------------------------------------------------------------- 1 | server_domain: example.com 2 | port: 8080 3 | aes: 4 | secret_key: password 5 | tls: 6 | cert: ./example.crt 7 | key: ./example.key -------------------------------------------------------------------------------- /cmd/lunnelSer/config-full-example.yml: -------------------------------------------------------------------------------- 1 | #服务器域名,为代理隧道自动分配公开访问地址时使用 2 | server_domain: example.com 3 | #指定监听的ip 4 | ip: 127.0.0.1 5 | #监听的端口 6 | port: 8080 7 | #对外提供公开访问的http端口 8 | http_port: 80 9 | #对外提供公开访问的https端口 10 | https_port: 443 11 | #http管理端口,可以用来实时查询代理隧道信息 12 | manage_port: 8081 13 | aes: 14 | #aes密钥 15 | secret_key: password 16 | tls: 17 | #tls公钥 18 | cert: ./example.crt 19 | #tls私钥 20 | key: ./example.key 21 | #是否开启DEBUG日志模式 22 | debug: true 23 | #日志地址,不填写的话则默认输出至stdout\stderr 24 | log_file: ./client.log 25 | health: 26 | #心跳周期,单位秒 27 | interval: 15 28 | #心跳超时时间,单位秒 29 | timeout: 40 30 | #每个客户端的最大物理空闲连接数,不填写的话则默认为4 31 | max_idle_pipes: 4 32 | #单个物理连接所能承载的最大并发请求数,不填写的话则默认为6 33 | max_streams: 6 34 | #是否开启go profiling 35 | pprof_enable: false -------------------------------------------------------------------------------- /log/sentry.go: -------------------------------------------------------------------------------- 1 | package log 2 | 3 | import ( 4 | "errors" 5 | "fmt" 6 | "runtime/debug" 7 | 8 | "github.com/getsentry/raven-go" 9 | ) 10 | 11 | func CapturePanic() { 12 | if rval := recover(); rval != nil { 13 | debug.PrintStack() 14 | rvalStr := fmt.Sprint(rval) 15 | packet := raven.NewPacket(rvalStr, raven.NewException(errors.New(rvalStr), raven.NewStacktrace(2, 3, nil))) 16 | raven.Capture(packet, nil) 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /vendor/github.com/Sirupsen/logrus/.gitignore: -------------------------------------------------------------------------------- 1 | logrus 2 | -------------------------------------------------------------------------------- /vendor/github.com/Sirupsen/logrus/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | go: 3 | - 1.6 4 | - 1.7 5 | - tip 6 | install: 7 | - go get -t ./... 8 | script: GOMAXPROCS=4 GORACE="halt_on_error=1" go test -race -v ./... 9 | -------------------------------------------------------------------------------- /vendor/github.com/Sirupsen/logrus/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Package logrus is a structured logger for Go, completely API compatible with the standard library logger. 3 | 4 | 5 | The simplest way to use Logrus is simply the package-level exported logger: 6 | 7 | package main 8 | 9 | import ( 10 | log "github.com/Sirupsen/logrus" 11 | ) 12 | 13 | func main() { 14 | log.WithFields(log.Fields{ 15 | "animal": "walrus", 16 | "number": 1, 17 | "size": 10, 18 | }).Info("A walrus appears") 19 | } 20 | 21 | Output: 22 | time="2015-09-07T08:48:33Z" level=info msg="A walrus appears" animal=walrus number=1 size=10 23 | 24 | For a full guide visit https://github.com/Sirupsen/logrus 25 | */ 26 | package logrus 27 | -------------------------------------------------------------------------------- /vendor/github.com/Sirupsen/logrus/examples/hook/hook.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "github.com/Sirupsen/logrus" 5 | "gopkg.in/gemnasium/logrus-airbrake-hook.v2" 6 | ) 7 | 8 | var log = logrus.New() 9 | 10 | func init() { 11 | log.Formatter = new(logrus.TextFormatter) // default 12 | log.Hooks.Add(airbrake.NewHook(123, "xyz", "development")) 13 | } 14 | 15 | func main() { 16 | log.WithFields(logrus.Fields{ 17 | "animal": "walrus", 18 | "size": 10, 19 | }).Info("A group of walrus emerges from the ocean") 20 | 21 | log.WithFields(logrus.Fields{ 22 | "omg": true, 23 | "number": 122, 24 | }).Warn("The group's number increased tremendously!") 25 | 26 | log.WithFields(logrus.Fields{ 27 | "omg": true, 28 | "number": 100, 29 | }).Fatal("The ice breaks!") 30 | } 31 | -------------------------------------------------------------------------------- /vendor/github.com/Sirupsen/logrus/hooks/syslog/syslog_test.go: -------------------------------------------------------------------------------- 1 | package logrus_syslog 2 | 3 | import ( 4 | "github.com/Sirupsen/logrus" 5 | "log/syslog" 6 | "testing" 7 | ) 8 | 9 | func TestLocalhostAddAndPrint(t *testing.T) { 10 | log := logrus.New() 11 | hook, err := NewSyslogHook("udp", "localhost:514", syslog.LOG_INFO, "") 12 | 13 | if err != nil { 14 | t.Errorf("Unable to connect to local syslog.") 15 | } 16 | 17 | log.Hooks.Add(hook) 18 | 19 | for _, level := range hook.Levels() { 20 | if len(log.Hooks[level]) != 1 { 21 | t.Errorf("SyslogHook was not added. The length of log.Hooks[%v]: %v", level, len(log.Hooks[level])) 22 | } 23 | } 24 | 25 | log.Info("Congratulations!") 26 | } 27 | -------------------------------------------------------------------------------- /vendor/github.com/Sirupsen/logrus/terminal_appengine.go: -------------------------------------------------------------------------------- 1 | // +build appengine 2 | 3 | package logrus 4 | 5 | import "io" 6 | 7 | // IsTerminal returns true if stderr's file descriptor is a terminal. 8 | func IsTerminal(f io.Writer) bool { 9 | return true 10 | } 11 | -------------------------------------------------------------------------------- /vendor/github.com/Sirupsen/logrus/terminal_bsd.go: -------------------------------------------------------------------------------- 1 | // +build darwin freebsd openbsd netbsd dragonfly 2 | // +build !appengine 3 | 4 | package logrus 5 | 6 | import "syscall" 7 | 8 | const ioctlReadTermios = syscall.TIOCGETA 9 | 10 | type Termios syscall.Termios 11 | -------------------------------------------------------------------------------- /vendor/github.com/Sirupsen/logrus/terminal_linux.go: -------------------------------------------------------------------------------- 1 | // Based on ssh/terminal: 2 | // Copyright 2013 The Go Authors. All rights reserved. 3 | // Use of this source code is governed by a BSD-style 4 | // license that can be found in the LICENSE file. 5 | 6 | // +build !appengine 7 | 8 | package logrus 9 | 10 | import "syscall" 11 | 12 | const ioctlReadTermios = syscall.TCGETS 13 | 14 | type Termios syscall.Termios 15 | -------------------------------------------------------------------------------- /vendor/github.com/Sirupsen/logrus/terminal_notwindows.go: -------------------------------------------------------------------------------- 1 | // Based on ssh/terminal: 2 | // Copyright 2011 The Go Authors. All rights reserved. 3 | // Use of this source code is governed by a BSD-style 4 | // license that can be found in the LICENSE file. 5 | 6 | // +build linux darwin freebsd openbsd netbsd dragonfly 7 | // +build !appengine 8 | 9 | package logrus 10 | 11 | import ( 12 | "io" 13 | "os" 14 | "syscall" 15 | "unsafe" 16 | ) 17 | 18 | // IsTerminal returns true if stderr's file descriptor is a terminal. 19 | func IsTerminal(f io.Writer) bool { 20 | var termios Termios 21 | switch v := f.(type) { 22 | case *os.File: 23 | _, _, err := syscall.Syscall6(syscall.SYS_IOCTL, uintptr(v.Fd()), ioctlReadTermios, uintptr(unsafe.Pointer(&termios)), 0, 0, 0) 24 | return err == 0 25 | default: 26 | return false 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /vendor/github.com/Sirupsen/logrus/terminal_solaris.go: -------------------------------------------------------------------------------- 1 | // +build solaris,!appengine 2 | 3 | package logrus 4 | 5 | import ( 6 | "io" 7 | "os" 8 | 9 | "golang.org/x/sys/unix" 10 | ) 11 | 12 | // IsTerminal returns true if the given file descriptor is a terminal. 13 | func IsTerminal(f io.Writer) bool { 14 | switch v := f.(type) { 15 | case *os.File: 16 | _, err := unix.IoctlGetTermios(int(v.Fd()), unix.TCGETA) 17 | return err == nil 18 | default: 19 | return false 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /vendor/github.com/certifi/gocertifi/LICENSE: -------------------------------------------------------------------------------- 1 | This Source Code Form is subject to the terms of the Mozilla Public License, 2 | v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain 3 | one at http://mozilla.org/MPL/2.0/. 4 | -------------------------------------------------------------------------------- /vendor/github.com/certifi/gocertifi/certifi_test.go: -------------------------------------------------------------------------------- 1 | package gocertifi 2 | 3 | import "testing" 4 | 5 | func TestGetCerts(t *testing.T) { 6 | cert_pool, err := CACerts() 7 | if (cert_pool == nil) || (err != nil) { 8 | t.Errorf("Failed to return the certificates.") 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /vendor/github.com/certifi/gocertifi/tasks.py: -------------------------------------------------------------------------------- 1 | from invoke import task 2 | import requests 3 | 4 | @task 5 | def update(ctx): 6 | r = requests.get('https://mkcert.org/generate/') 7 | r.raise_for_status() 8 | certs = r.content 9 | 10 | with open('certifi.go', 'rb') as f: 11 | file = f.read() 12 | 13 | file = file.split('`\n') 14 | assert len(file) == 3 15 | file[1] = certs 16 | 17 | ctx.run("rm certifi.go") 18 | 19 | with open('certifi.go', 'wb') as f: 20 | f.write('`\n'.join(file)) 21 | -------------------------------------------------------------------------------- /vendor/github.com/e-dard/netbug/.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled Object files, Static and Dynamic libs (Shared Objects) 2 | *.o 3 | *.a 4 | *.so 5 | 6 | # Folders 7 | _obj 8 | _test 9 | 10 | # Architecture specific extensions/prefixes 11 | *.[568vq] 12 | [568vq].out 13 | 14 | *.cgo1.go 15 | *.cgo2.c 16 | _cgo_defun.c 17 | _cgo_gotypes.go 18 | _cgo_export.* 19 | 20 | _testmain.go 21 | 22 | *.exe 23 | *.test 24 | *.prof 25 | -------------------------------------------------------------------------------- /vendor/github.com/getsentry/raven-go/.dockerignore: -------------------------------------------------------------------------------- 1 | .git 2 | -------------------------------------------------------------------------------- /vendor/github.com/getsentry/raven-go/.gitignore: -------------------------------------------------------------------------------- 1 | *.test 2 | example/example 3 | 4 | docs/_build 5 | docs/doctrees 6 | -------------------------------------------------------------------------------- /vendor/github.com/getsentry/raven-go/.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "docs/_sentryext"] 2 | path = docs/_sentryext 3 | url = https://github.com/getsentry/sentry-doc-support 4 | -------------------------------------------------------------------------------- /vendor/github.com/getsentry/raven-go/.travis.yml: -------------------------------------------------------------------------------- 1 | sudo: false 2 | language: go 3 | go: 4 | - "1.2" 5 | - "1.3" 6 | - "1.4" 7 | - "1.5" 8 | - "1.6" 9 | - "1.7" 10 | - tip 11 | 12 | before_install: 13 | - go install -race std 14 | - go get golang.org/x/tools/cmd/cover 15 | - go get -v ./... 16 | 17 | script: 18 | - go test -v -race ./... 19 | - go test -v -cover ./... 20 | 21 | matrix: 22 | allow_failures: 23 | - go: tip 24 | -------------------------------------------------------------------------------- /vendor/github.com/getsentry/raven-go/README.md: -------------------------------------------------------------------------------- 1 | # raven [![Build Status](https://travis-ci.org/getsentry/raven-go.png?branch=master)](https://travis-ci.org/getsentry/raven-go) 2 | 3 | raven is a Go client for the [Sentry](https://github.com/getsentry/sentry) 4 | event/error logging system. 5 | 6 | - [**API Documentation**](https://godoc.org/github.com/getsentry/raven-go) 7 | - [**Usage and Examples**](https://docs.sentry.io/clients/go/) 8 | 9 | ## Installation 10 | 11 | ```text 12 | go get github.com/getsentry/raven-go 13 | ``` 14 | -------------------------------------------------------------------------------- /vendor/github.com/getsentry/raven-go/docs/integrations/index.rst: -------------------------------------------------------------------------------- 1 | Integrations 2 | ============ 3 | 4 | The Raven Go package currently comes with an integration for the native ``net/http`` module 5 | to make it easy to handle common scenarios. More frameworks will be coming soon. 6 | 7 | .. toctree:: 8 | :maxdepth: 1 9 | 10 | http 11 | -------------------------------------------------------------------------------- /vendor/github.com/getsentry/raven-go/docs/sentry-doc-config.json: -------------------------------------------------------------------------------- 1 | { 2 | "support_level": "in-development", 3 | "platforms": { 4 | "go": { 5 | "name": "Go", 6 | "type": "language", 7 | "doc_link": "", 8 | "wizard": [ 9 | "index#installation", 10 | "index#configuring-the-client", 11 | "index#reporting-errors", 12 | "index#reporting-panics" 13 | ] 14 | }, 15 | "go.http": { 16 | "name": "net/http", 17 | "type": "framework", 18 | "doc_wizard": "integrations/http/", 19 | "wizard": [ 20 | "integrations/http#installation", 21 | "integrations/http#setup" 22 | ] 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /vendor/github.com/getsentry/raven-go/examples_test.go: -------------------------------------------------------------------------------- 1 | package raven 2 | 3 | import ( 4 | "fmt" 5 | "log" 6 | "net/http" 7 | ) 8 | 9 | func Example() { 10 | // ... i.e. raisedErr is incoming error 11 | var raisedErr error 12 | // sentry DSN generated by Sentry server 13 | var sentryDSN string 14 | // r is a request performed when error occured 15 | var r *http.Request 16 | client, err := New(sentryDSN) 17 | if err != nil { 18 | log.Fatal(err) 19 | } 20 | trace := NewStacktrace(0, 2, nil) 21 | packet := NewPacket(raisedErr.Error(), NewException(raisedErr, trace), NewHttp(r)) 22 | eventID, ch := client.Capture(packet, nil) 23 | if err = <-ch; err != nil { 24 | log.Fatal(err) 25 | } 26 | message := fmt.Sprintf("Captured error with id %s: %q", eventID, raisedErr) 27 | log.Println(message) 28 | } 29 | -------------------------------------------------------------------------------- /vendor/github.com/getsentry/raven-go/runtests.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | go test -race ./... 3 | go test -cover ./... 4 | go test -v ./... 5 | -------------------------------------------------------------------------------- /vendor/github.com/getsentry/raven-go/writer.go: -------------------------------------------------------------------------------- 1 | package raven 2 | 3 | type Writer struct { 4 | Client *Client 5 | Level Severity 6 | Logger string // Logger name reported to Sentry 7 | } 8 | 9 | // Write formats the byte slice p into a string, and sends a message to 10 | // Sentry at the severity level indicated by the Writer w. 11 | func (w *Writer) Write(p []byte) (int, error) { 12 | message := string(p) 13 | 14 | packet := NewPacket(message, &Message{message, nil}) 15 | packet.Level = w.Level 16 | packet.Logger = w.Logger 17 | w.Client.Capture(packet, nil) 18 | 19 | return len(p), nil 20 | } 21 | -------------------------------------------------------------------------------- /vendor/github.com/gin-gonic/gin/.gitignore: -------------------------------------------------------------------------------- 1 | Godeps/* 2 | !Godeps/Godeps.json 3 | coverage.out 4 | count.out 5 | -------------------------------------------------------------------------------- /vendor/github.com/gin-gonic/gin/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | sudo: false 3 | go: 4 | - 1.4 5 | - 1.5 6 | - 1.6 7 | - 1.7 8 | - tip 9 | 10 | script: 11 | - go test -v -covermode=count -coverprofile=coverage.out 12 | 13 | after_success: 14 | - bash <(curl -s https://codecov.io/bash) 15 | 16 | notifications: 17 | webhooks: 18 | urls: 19 | - https://webhooks.gitter.im/e/7f95bf605c4d356372f4 20 | on_success: change # options: [always|never|change] default: always 21 | on_failure: always # options: [always|never|change] default: always 22 | on_start: false # default: false 23 | -------------------------------------------------------------------------------- /vendor/github.com/gin-gonic/gin/binding/example/test.proto: -------------------------------------------------------------------------------- 1 | package example; 2 | 3 | enum FOO {X=17;}; 4 | 5 | message Test { 6 | required string label = 1; 7 | optional int32 type = 2[default=77]; 8 | repeated int64 reps = 3; 9 | optional group OptionalGroup = 4{ 10 | required string RequiredField = 5; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /vendor/github.com/gin-gonic/gin/binding/json.go: -------------------------------------------------------------------------------- 1 | // Copyright 2014 Manu Martinez-Almeida. All rights reserved. 2 | // Use of this source code is governed by a MIT style 3 | // license that can be found in the LICENSE file. 4 | 5 | package binding 6 | 7 | import ( 8 | "encoding/json" 9 | 10 | "net/http" 11 | ) 12 | 13 | type jsonBinding struct{} 14 | 15 | func (jsonBinding) Name() string { 16 | return "json" 17 | } 18 | 19 | func (jsonBinding) Bind(req *http.Request, obj interface{}) error { 20 | decoder := json.NewDecoder(req.Body) 21 | if err := decoder.Decode(obj); err != nil { 22 | return err 23 | } 24 | return validate(obj) 25 | } 26 | -------------------------------------------------------------------------------- /vendor/github.com/gin-gonic/gin/binding/xml.go: -------------------------------------------------------------------------------- 1 | // Copyright 2014 Manu Martinez-Almeida. All rights reserved. 2 | // Use of this source code is governed by a MIT style 3 | // license that can be found in the LICENSE file. 4 | 5 | package binding 6 | 7 | import ( 8 | "encoding/xml" 9 | "net/http" 10 | ) 11 | 12 | type xmlBinding struct{} 13 | 14 | func (xmlBinding) Name() string { 15 | return "xml" 16 | } 17 | 18 | func (xmlBinding) Bind(req *http.Request, obj interface{}) error { 19 | decoder := xml.NewDecoder(req.Body) 20 | if err := decoder.Decode(obj); err != nil { 21 | return err 22 | } 23 | return validate(obj) 24 | } 25 | -------------------------------------------------------------------------------- /vendor/github.com/gin-gonic/gin/codecov.yml: -------------------------------------------------------------------------------- 1 | coverage: 2 | notify: 3 | gitter: 4 | default: 5 | url: https://webhooks.gitter.im/e/d90dcdeeab2f1e357165 6 | -------------------------------------------------------------------------------- /vendor/github.com/gin-gonic/gin/deprecated.go: -------------------------------------------------------------------------------- 1 | // Copyright 2014 Manu Martinez-Almeida. All rights reserved. 2 | // Use of this source code is governed by a MIT style 3 | // license that can be found in the LICENSE file. 4 | 5 | package gin 6 | 7 | import "log" 8 | 9 | func (c *Context) GetCookie(name string) (string, error) { 10 | log.Println("GetCookie() method is deprecated. Use Cookie() instead.") 11 | return c.Cookie(name) 12 | } 13 | -------------------------------------------------------------------------------- /vendor/github.com/gin-gonic/gin/examples/app-engine/README.md: -------------------------------------------------------------------------------- 1 | # Guide to run Gin under App Engine LOCAL Development Server 2 | 3 | 1. Download, install and setup Go in your computer. (That includes setting your `$GOPATH`.) 4 | 2. Download SDK for your platform from here: `https://developers.google.com/appengine/downloads?hl=es#Google_App_Engine_SDK_for_Go` 5 | 3. Download Gin source code using: `$ go get github.com/gin-gonic/gin` 6 | 4. Navigate to examples folder: `$ cd $GOPATH/src/github.com/gin-gonic/gin/examples/` 7 | 5. Run it: `$ goapp serve app-engine/` -------------------------------------------------------------------------------- /vendor/github.com/gin-gonic/gin/examples/app-engine/app.yaml: -------------------------------------------------------------------------------- 1 | application: hello 2 | version: 1 3 | runtime: go 4 | api_version: go1 5 | 6 | handlers: 7 | - url: /.* 8 | script: _go_app -------------------------------------------------------------------------------- /vendor/github.com/gin-gonic/gin/examples/app-engine/hello.go: -------------------------------------------------------------------------------- 1 | package hello 2 | 3 | import ( 4 | "github.com/gin-gonic/gin" 5 | "net/http" 6 | ) 7 | 8 | // This function's name is a must. App Engine uses it to drive the requests properly. 9 | func init() { 10 | // Starts a new Gin instance with no middle-ware 11 | r := gin.New() 12 | 13 | // Define your handlers 14 | r.GET("/", func(c *gin.Context) { 15 | c.String(200, "Hello World!") 16 | }) 17 | r.GET("/ping", func(c *gin.Context) { 18 | c.String(200, "pong") 19 | }) 20 | 21 | // Handle all requests using net/http 22 | http.Handle("/", r) 23 | } 24 | -------------------------------------------------------------------------------- /vendor/github.com/gin-gonic/gin/examples/realtime-advanced/rooms.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import "github.com/dustin/go-broadcast" 4 | 5 | var roomChannels = make(map[string]broadcast.Broadcaster) 6 | 7 | func openListener(roomid string) chan interface{} { 8 | listener := make(chan interface{}) 9 | room(roomid).Register(listener) 10 | return listener 11 | } 12 | 13 | func closeListener(roomid string, listener chan interface{}) { 14 | room(roomid).Unregister(listener) 15 | close(listener) 16 | } 17 | 18 | func room(roomid string) broadcast.Broadcaster { 19 | b, ok := roomChannels[roomid] 20 | if !ok { 21 | b = broadcast.NewBroadcaster(10) 22 | roomChannels[roomid] = b 23 | } 24 | return b 25 | } 26 | -------------------------------------------------------------------------------- /vendor/github.com/gin-gonic/gin/ginS/README.md: -------------------------------------------------------------------------------- 1 | #Gin Default Server 2 | 3 | This is API experiment for Gin. 4 | 5 | ```go 6 | package main 7 | 8 | import ( 9 | "github.com/gin-gonic/gin" 10 | "github.com/gin-gonic/gin/ginS" 11 | ) 12 | 13 | func main() { 14 | ginS.GET("/", func(c *gin.Context) { c.String(200, "Hello World") }) 15 | ginS.Run() 16 | } 17 | ``` 18 | -------------------------------------------------------------------------------- /vendor/github.com/gin-gonic/gin/helpers_test.go: -------------------------------------------------------------------------------- 1 | package gin 2 | 3 | import ( 4 | "net/http/httptest" 5 | ) 6 | 7 | func CreateTestContext() (c *Context, w *httptest.ResponseRecorder, r *Engine) { 8 | w = httptest.NewRecorder() 9 | r = New() 10 | c = r.allocateContext() 11 | c.reset() 12 | c.writermem.reset(w) 13 | return 14 | } 15 | -------------------------------------------------------------------------------- /vendor/github.com/gin-gonic/gin/logo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longXboy/lunnel/5edfddefcc7aa1c51ae5829b422ad611d0256dee/vendor/github.com/gin-gonic/gin/logo.jpg -------------------------------------------------------------------------------- /vendor/github.com/gin-gonic/gin/mode_test.go: -------------------------------------------------------------------------------- 1 | // Copyright 2014 Manu Martinez-Almeida. All rights reserved. 2 | // Use of this source code is governed by a MIT style 3 | // license that can be found in the LICENSE file. 4 | 5 | package gin 6 | 7 | import ( 8 | "testing" 9 | 10 | "github.com/stretchr/testify/assert" 11 | ) 12 | 13 | func init() { 14 | SetMode(TestMode) 15 | } 16 | 17 | func TestSetMode(t *testing.T) { 18 | SetMode(DebugMode) 19 | assert.Equal(t, ginMode, debugCode) 20 | assert.Equal(t, Mode(), DebugMode) 21 | 22 | SetMode(ReleaseMode) 23 | assert.Equal(t, ginMode, releaseCode) 24 | assert.Equal(t, Mode(), ReleaseMode) 25 | 26 | SetMode(TestMode) 27 | assert.Equal(t, ginMode, testCode) 28 | assert.Equal(t, Mode(), TestMode) 29 | 30 | assert.Panics(t, func() { SetMode("unknown") }) 31 | } 32 | -------------------------------------------------------------------------------- /vendor/github.com/gin-gonic/gin/render/data.go: -------------------------------------------------------------------------------- 1 | // Copyright 2014 Manu Martinez-Almeida. All rights reserved. 2 | // Use of this source code is governed by a MIT style 3 | // license that can be found in the LICENSE file. 4 | 5 | package render 6 | 7 | import "net/http" 8 | 9 | type Data struct { 10 | ContentType string 11 | Data []byte 12 | } 13 | 14 | func (r Data) Render(w http.ResponseWriter) error { 15 | if len(r.ContentType) > 0 { 16 | w.Header()["Content-Type"] = []string{r.ContentType} 17 | } 18 | w.Write(r.Data) 19 | return nil 20 | } 21 | -------------------------------------------------------------------------------- /vendor/github.com/gin-gonic/gin/render/redirect.go: -------------------------------------------------------------------------------- 1 | // Copyright 2014 Manu Martinez-Almeida. All rights reserved. 2 | // Use of this source code is governed by a MIT style 3 | // license that can be found in the LICENSE file. 4 | 5 | package render 6 | 7 | import ( 8 | "fmt" 9 | "net/http" 10 | ) 11 | 12 | type Redirect struct { 13 | Code int 14 | Request *http.Request 15 | Location string 16 | } 17 | 18 | func (r Redirect) Render(w http.ResponseWriter) error { 19 | if (r.Code < 300 || r.Code > 308) && r.Code != 201 { 20 | panic(fmt.Sprintf("Cannot redirect with status code %d", r.Code)) 21 | } 22 | http.Redirect(w, r.Request, r.Location, r.Code) 23 | return nil 24 | } 25 | -------------------------------------------------------------------------------- /vendor/github.com/gin-gonic/gin/render/text.go: -------------------------------------------------------------------------------- 1 | // Copyright 2014 Manu Martinez-Almeida. All rights reserved. 2 | // Use of this source code is governed by a MIT style 3 | // license that can be found in the LICENSE file. 4 | 5 | package render 6 | 7 | import ( 8 | "fmt" 9 | "io" 10 | "net/http" 11 | ) 12 | 13 | type String struct { 14 | Format string 15 | Data []interface{} 16 | } 17 | 18 | var plainContentType = []string{"text/plain; charset=utf-8"} 19 | 20 | func (r String) Render(w http.ResponseWriter) error { 21 | WriteString(w, r.Format, r.Data) 22 | return nil 23 | } 24 | 25 | func WriteString(w http.ResponseWriter, format string, data []interface{}) { 26 | writeContentType(w, plainContentType) 27 | 28 | if len(data) > 0 { 29 | fmt.Fprintf(w, format, data...) 30 | } else { 31 | io.WriteString(w, format) 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /vendor/github.com/gin-gonic/gin/render/xml.go: -------------------------------------------------------------------------------- 1 | // Copyright 2014 Manu Martinez-Almeida. All rights reserved. 2 | // Use of this source code is governed by a MIT style 3 | // license that can be found in the LICENSE file. 4 | 5 | package render 6 | 7 | import ( 8 | "encoding/xml" 9 | "net/http" 10 | ) 11 | 12 | type XML struct { 13 | Data interface{} 14 | } 15 | 16 | var xmlContentType = []string{"application/xml; charset=utf-8"} 17 | 18 | func (r XML) Render(w http.ResponseWriter) error { 19 | writeContentType(w, xmlContentType) 20 | return xml.NewEncoder(w).Encode(r.Data) 21 | } 22 | -------------------------------------------------------------------------------- /vendor/github.com/gin-gonic/gin/render/yaml.go: -------------------------------------------------------------------------------- 1 | // Copyright 2014 Manu Martinez-Almeida. All rights reserved. 2 | // Use of this source code is governed by a MIT style 3 | // license that can be found in the LICENSE file. 4 | 5 | package render 6 | 7 | import ( 8 | "net/http" 9 | 10 | "gopkg.in/yaml.v2" 11 | ) 12 | 13 | type YAML struct { 14 | Data interface{} 15 | } 16 | 17 | var yamlContentType = []string{"application/x-yaml; charset=utf-8"} 18 | 19 | func (r YAML) Render(w http.ResponseWriter) error { 20 | writeContentType(w, yamlContentType) 21 | 22 | bytes, err := yaml.Marshal(r.Data) 23 | if err != nil { 24 | return err 25 | } 26 | 27 | w.Write(bytes) 28 | return nil 29 | } 30 | -------------------------------------------------------------------------------- /vendor/github.com/gin-gonic/gin/wercker.yml: -------------------------------------------------------------------------------- 1 | box: wercker/default -------------------------------------------------------------------------------- /vendor/github.com/golang/protobuf/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | *.[568ao] 3 | *.ao 4 | *.so 5 | *.pyc 6 | ._* 7 | .nfs.* 8 | [568a].out 9 | *~ 10 | *.orig 11 | core 12 | _obj 13 | _test 14 | _testmain.go 15 | protoc-gen-go/testdata/multi/*.pb.go 16 | _conformance/_conformance 17 | -------------------------------------------------------------------------------- /vendor/github.com/golang/protobuf/AUTHORS: -------------------------------------------------------------------------------- 1 | # This source code refers to The Go Authors for copyright purposes. 2 | # The master list of authors is in the main Go distribution, 3 | # visible at http://tip.golang.org/AUTHORS. 4 | -------------------------------------------------------------------------------- /vendor/github.com/golang/protobuf/CONTRIBUTORS: -------------------------------------------------------------------------------- 1 | # This source code was written by the Go contributors. 2 | # The master list of contributors is in the main Go distribution, 3 | # visible at http://tip.golang.org/CONTRIBUTORS. 4 | -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled Object files, Static and Dynamic libs (Shared Objects) 2 | *.o 3 | *.a 4 | *.so 5 | 6 | # Folders 7 | _obj 8 | _test 9 | 10 | # Architecture specific extensions/prefixes 11 | *.[568vq] 12 | [568vq].out 13 | 14 | *.cgo1.go 15 | *.cgo2.c 16 | _cgo_defun.c 17 | _cgo_gotypes.go 18 | _cgo_export.* 19 | 20 | _testmain.go 21 | 22 | *.exe 23 | *.test 24 | *.prof 25 | -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | 3 | sudo: false 4 | 5 | os: 6 | - linux 7 | - osx 8 | 9 | go: 10 | - 1.4 11 | - 1.5 12 | - 1.6 13 | - 1.7 14 | - tip 15 | 16 | install: 17 | - go get -t ./... 18 | 19 | script: 20 | - diff <(gofmt -d .) <(printf "") 21 | - go test -v -cpu=2 ./... 22 | - go test -cpu=2 -tags=noasm ./... 23 | - go test -cpu=1,2,4 -short -race ./... 24 | - go test -cpu=2,4 -short -race -tags=noasm ./... 25 | -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/flate/testdata/huffman-null-max.dyn.expect: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longXboy/lunnel/5edfddefcc7aa1c51ae5829b422ad611d0256dee/vendor/github.com/klauspost/compress/flate/testdata/huffman-null-max.dyn.expect -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/flate/testdata/huffman-null-max.dyn.expect-noinput: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longXboy/lunnel/5edfddefcc7aa1c51ae5829b422ad611d0256dee/vendor/github.com/klauspost/compress/flate/testdata/huffman-null-max.dyn.expect-noinput -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/flate/testdata/huffman-null-max.golden: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longXboy/lunnel/5edfddefcc7aa1c51ae5829b422ad611d0256dee/vendor/github.com/klauspost/compress/flate/testdata/huffman-null-max.golden -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/flate/testdata/huffman-null-max.wb.expect: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longXboy/lunnel/5edfddefcc7aa1c51ae5829b422ad611d0256dee/vendor/github.com/klauspost/compress/flate/testdata/huffman-null-max.wb.expect -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/flate/testdata/huffman-null-max.wb.expect-noinput: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longXboy/lunnel/5edfddefcc7aa1c51ae5829b422ad611d0256dee/vendor/github.com/klauspost/compress/flate/testdata/huffman-null-max.wb.expect-noinput -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/flate/testdata/huffman-pi.dyn.expect: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longXboy/lunnel/5edfddefcc7aa1c51ae5829b422ad611d0256dee/vendor/github.com/klauspost/compress/flate/testdata/huffman-pi.dyn.expect -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/flate/testdata/huffman-pi.dyn.expect-noinput: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longXboy/lunnel/5edfddefcc7aa1c51ae5829b422ad611d0256dee/vendor/github.com/klauspost/compress/flate/testdata/huffman-pi.dyn.expect-noinput -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/flate/testdata/huffman-pi.golden: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longXboy/lunnel/5edfddefcc7aa1c51ae5829b422ad611d0256dee/vendor/github.com/klauspost/compress/flate/testdata/huffman-pi.golden -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/flate/testdata/huffman-pi.wb.expect: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longXboy/lunnel/5edfddefcc7aa1c51ae5829b422ad611d0256dee/vendor/github.com/klauspost/compress/flate/testdata/huffman-pi.wb.expect -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/flate/testdata/huffman-pi.wb.expect-noinput: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longXboy/lunnel/5edfddefcc7aa1c51ae5829b422ad611d0256dee/vendor/github.com/klauspost/compress/flate/testdata/huffman-pi.wb.expect-noinput -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/flate/testdata/huffman-rand-1k.dyn.expect: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longXboy/lunnel/5edfddefcc7aa1c51ae5829b422ad611d0256dee/vendor/github.com/klauspost/compress/flate/testdata/huffman-rand-1k.dyn.expect -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/flate/testdata/huffman-rand-1k.dyn.expect-noinput: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longXboy/lunnel/5edfddefcc7aa1c51ae5829b422ad611d0256dee/vendor/github.com/klauspost/compress/flate/testdata/huffman-rand-1k.dyn.expect-noinput -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/flate/testdata/huffman-rand-1k.golden: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longXboy/lunnel/5edfddefcc7aa1c51ae5829b422ad611d0256dee/vendor/github.com/klauspost/compress/flate/testdata/huffman-rand-1k.golden -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/flate/testdata/huffman-rand-1k.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longXboy/lunnel/5edfddefcc7aa1c51ae5829b422ad611d0256dee/vendor/github.com/klauspost/compress/flate/testdata/huffman-rand-1k.in -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/flate/testdata/huffman-rand-1k.wb.expect: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longXboy/lunnel/5edfddefcc7aa1c51ae5829b422ad611d0256dee/vendor/github.com/klauspost/compress/flate/testdata/huffman-rand-1k.wb.expect -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/flate/testdata/huffman-rand-1k.wb.expect-noinput: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longXboy/lunnel/5edfddefcc7aa1c51ae5829b422ad611d0256dee/vendor/github.com/klauspost/compress/flate/testdata/huffman-rand-1k.wb.expect-noinput -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/flate/testdata/huffman-rand-limit.dyn.expect: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longXboy/lunnel/5edfddefcc7aa1c51ae5829b422ad611d0256dee/vendor/github.com/klauspost/compress/flate/testdata/huffman-rand-limit.dyn.expect -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/flate/testdata/huffman-rand-limit.dyn.expect-noinput: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longXboy/lunnel/5edfddefcc7aa1c51ae5829b422ad611d0256dee/vendor/github.com/klauspost/compress/flate/testdata/huffman-rand-limit.dyn.expect-noinput -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/flate/testdata/huffman-rand-limit.golden: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longXboy/lunnel/5edfddefcc7aa1c51ae5829b422ad611d0256dee/vendor/github.com/klauspost/compress/flate/testdata/huffman-rand-limit.golden -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/flate/testdata/huffman-rand-limit.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longXboy/lunnel/5edfddefcc7aa1c51ae5829b422ad611d0256dee/vendor/github.com/klauspost/compress/flate/testdata/huffman-rand-limit.in -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/flate/testdata/huffman-rand-limit.wb.expect: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longXboy/lunnel/5edfddefcc7aa1c51ae5829b422ad611d0256dee/vendor/github.com/klauspost/compress/flate/testdata/huffman-rand-limit.wb.expect -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/flate/testdata/huffman-rand-limit.wb.expect-noinput: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longXboy/lunnel/5edfddefcc7aa1c51ae5829b422ad611d0256dee/vendor/github.com/klauspost/compress/flate/testdata/huffman-rand-limit.wb.expect-noinput -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/flate/testdata/huffman-rand-max.golden: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longXboy/lunnel/5edfddefcc7aa1c51ae5829b422ad611d0256dee/vendor/github.com/klauspost/compress/flate/testdata/huffman-rand-max.golden -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/flate/testdata/huffman-rand-max.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longXboy/lunnel/5edfddefcc7aa1c51ae5829b422ad611d0256dee/vendor/github.com/klauspost/compress/flate/testdata/huffman-rand-max.in -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/flate/testdata/huffman-shifts.dyn.expect: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longXboy/lunnel/5edfddefcc7aa1c51ae5829b422ad611d0256dee/vendor/github.com/klauspost/compress/flate/testdata/huffman-shifts.dyn.expect -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/flate/testdata/huffman-shifts.dyn.expect-noinput: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longXboy/lunnel/5edfddefcc7aa1c51ae5829b422ad611d0256dee/vendor/github.com/klauspost/compress/flate/testdata/huffman-shifts.dyn.expect-noinput -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/flate/testdata/huffman-shifts.golden: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longXboy/lunnel/5edfddefcc7aa1c51ae5829b422ad611d0256dee/vendor/github.com/klauspost/compress/flate/testdata/huffman-shifts.golden -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/flate/testdata/huffman-shifts.wb.expect: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longXboy/lunnel/5edfddefcc7aa1c51ae5829b422ad611d0256dee/vendor/github.com/klauspost/compress/flate/testdata/huffman-shifts.wb.expect -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/flate/testdata/huffman-shifts.wb.expect-noinput: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longXboy/lunnel/5edfddefcc7aa1c51ae5829b422ad611d0256dee/vendor/github.com/klauspost/compress/flate/testdata/huffman-shifts.wb.expect-noinput -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/flate/testdata/huffman-text-shift.dyn.expect: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longXboy/lunnel/5edfddefcc7aa1c51ae5829b422ad611d0256dee/vendor/github.com/klauspost/compress/flate/testdata/huffman-text-shift.dyn.expect -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/flate/testdata/huffman-text-shift.dyn.expect-noinput: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longXboy/lunnel/5edfddefcc7aa1c51ae5829b422ad611d0256dee/vendor/github.com/klauspost/compress/flate/testdata/huffman-text-shift.dyn.expect-noinput -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/flate/testdata/huffman-text-shift.golden: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longXboy/lunnel/5edfddefcc7aa1c51ae5829b422ad611d0256dee/vendor/github.com/klauspost/compress/flate/testdata/huffman-text-shift.golden -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/flate/testdata/huffman-text-shift.in: -------------------------------------------------------------------------------- 1 | //Copyright2009ThGoAuthor.Allrightrrvd. 2 | //UofthiourccodigovrndbyBSD-tyl 3 | //licnthtcnbfoundinthLICENSEfil. 4 | 5 | pckgmin 6 | 7 | import"o" 8 | 9 | funcmin(){ 10 | vrb=mk([]byt,65535) 11 | f,_:=o.Crt("huffmn-null-mx.in") 12 | f.Writ(b) 13 | } 14 | ABCDEFGHIJKLMNOPQRSTUVXxyz!"#¤%&/?" -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/flate/testdata/huffman-text-shift.wb.expect: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longXboy/lunnel/5edfddefcc7aa1c51ae5829b422ad611d0256dee/vendor/github.com/klauspost/compress/flate/testdata/huffman-text-shift.wb.expect -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/flate/testdata/huffman-text-shift.wb.expect-noinput: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longXboy/lunnel/5edfddefcc7aa1c51ae5829b422ad611d0256dee/vendor/github.com/klauspost/compress/flate/testdata/huffman-text-shift.wb.expect-noinput -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/flate/testdata/huffman-text.dyn.expect: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longXboy/lunnel/5edfddefcc7aa1c51ae5829b422ad611d0256dee/vendor/github.com/klauspost/compress/flate/testdata/huffman-text.dyn.expect -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/flate/testdata/huffman-text.dyn.expect-noinput: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longXboy/lunnel/5edfddefcc7aa1c51ae5829b422ad611d0256dee/vendor/github.com/klauspost/compress/flate/testdata/huffman-text.dyn.expect-noinput -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/flate/testdata/huffman-text.golden: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longXboy/lunnel/5edfddefcc7aa1c51ae5829b422ad611d0256dee/vendor/github.com/klauspost/compress/flate/testdata/huffman-text.golden -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/flate/testdata/huffman-text.in: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package main 6 | 7 | import "os" 8 | 9 | func main() { 10 | var b = make([]byte, 65535) 11 | f, _ := os.Create("huffman-null-max.in") 12 | f.Write(b) 13 | } 14 | -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/flate/testdata/huffman-text.wb.expect: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longXboy/lunnel/5edfddefcc7aa1c51ae5829b422ad611d0256dee/vendor/github.com/klauspost/compress/flate/testdata/huffman-text.wb.expect -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/flate/testdata/huffman-text.wb.expect-noinput: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longXboy/lunnel/5edfddefcc7aa1c51ae5829b422ad611d0256dee/vendor/github.com/klauspost/compress/flate/testdata/huffman-text.wb.expect-noinput -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/flate/testdata/huffman-zero.dyn.expect: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longXboy/lunnel/5edfddefcc7aa1c51ae5829b422ad611d0256dee/vendor/github.com/klauspost/compress/flate/testdata/huffman-zero.dyn.expect -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/flate/testdata/huffman-zero.dyn.expect-noinput: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longXboy/lunnel/5edfddefcc7aa1c51ae5829b422ad611d0256dee/vendor/github.com/klauspost/compress/flate/testdata/huffman-zero.dyn.expect-noinput -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/flate/testdata/huffman-zero.golden: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longXboy/lunnel/5edfddefcc7aa1c51ae5829b422ad611d0256dee/vendor/github.com/klauspost/compress/flate/testdata/huffman-zero.golden -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/flate/testdata/huffman-zero.in: -------------------------------------------------------------------------------- 1 | 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/flate/testdata/huffman-zero.wb.expect: -------------------------------------------------------------------------------- 1 | 2$ -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/flate/testdata/huffman-zero.wb.expect-noinput: -------------------------------------------------------------------------------- 1 | 2$ -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/flate/testdata/null-long-match.dyn.expect-noinput: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longXboy/lunnel/5edfddefcc7aa1c51ae5829b422ad611d0256dee/vendor/github.com/klauspost/compress/flate/testdata/null-long-match.dyn.expect-noinput -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/flate/testdata/null-long-match.wb.expect-noinput: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longXboy/lunnel/5edfddefcc7aa1c51ae5829b422ad611d0256dee/vendor/github.com/klauspost/compress/flate/testdata/null-long-match.wb.expect-noinput -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/gzip/testdata/issue6550.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longXboy/lunnel/5edfddefcc7aa1c51ae5829b422ad611d0256dee/vendor/github.com/klauspost/compress/gzip/testdata/issue6550.gz -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/snappy/.gitignore: -------------------------------------------------------------------------------- 1 | cmd/snappytool/snappytool 2 | testdata/bench 3 | 4 | # These explicitly listed benchmark data files are for an obsolete version of 5 | # snappy_test.go. 6 | testdata/alice29.txt 7 | testdata/asyoulik.txt 8 | testdata/fireworks.jpeg 9 | testdata/geo.protodata 10 | testdata/html 11 | testdata/html_x_4 12 | testdata/kppkn.gtb 13 | testdata/lcet10.txt 14 | testdata/paper-100k.pdf 15 | testdata/plrabn12.txt 16 | testdata/urls.10K 17 | -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/snappy/AUTHORS: -------------------------------------------------------------------------------- 1 | # This is the official list of Snappy-Go authors for copyright purposes. 2 | # This file is distinct from the CONTRIBUTORS files. 3 | # See the latter for an explanation. 4 | 5 | # Names should be added to this file as 6 | # Name or Organization 7 | # The email address is not required for organizations. 8 | 9 | # Please keep the list sorted. 10 | 11 | Damian Gryski 12 | Google Inc. 13 | Jan Mercl <0xjnml@gmail.com> 14 | Rodolfo Carvalho 15 | Sebastien Binet 16 | -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/snappy/decode_amd64.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Snappy-Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !appengine 6 | // +build gc 7 | // +build !noasm 8 | 9 | package snappy 10 | 11 | // decode has the same semantics as in decode_other.go. 12 | // 13 | //go:noescape 14 | func decode(dst, src []byte) int 15 | -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/snappy/runbench.cmd: -------------------------------------------------------------------------------- 1 | del old.txt 2 | go test -bench=. >>old.txt && go test -bench=. >>old.txt && go test -bench=. >>old.txt && benchstat -delta-test=ttest old.txt new.txt 3 | -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/snappy/testdata/Mark.Twain-Tom.Sawyer.txt.rawsnappy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longXboy/lunnel/5edfddefcc7aa1c51ae5829b422ad611d0256dee/vendor/github.com/klauspost/compress/snappy/testdata/Mark.Twain-Tom.Sawyer.txt.rawsnappy -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/snappy/testdata/random: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longXboy/lunnel/5edfddefcc7aa1c51ae5829b422ad611d0256dee/vendor/github.com/klauspost/compress/snappy/testdata/random -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/zip/testdata/crc32-not-streamed.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longXboy/lunnel/5edfddefcc7aa1c51ae5829b422ad611d0256dee/vendor/github.com/klauspost/compress/zip/testdata/crc32-not-streamed.zip -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/zip/testdata/dd.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longXboy/lunnel/5edfddefcc7aa1c51ae5829b422ad611d0256dee/vendor/github.com/klauspost/compress/zip/testdata/dd.zip -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/zip/testdata/go-no-datadesc-sig.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longXboy/lunnel/5edfddefcc7aa1c51ae5829b422ad611d0256dee/vendor/github.com/klauspost/compress/zip/testdata/go-no-datadesc-sig.zip -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/zip/testdata/go-with-datadesc-sig.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longXboy/lunnel/5edfddefcc7aa1c51ae5829b422ad611d0256dee/vendor/github.com/klauspost/compress/zip/testdata/go-with-datadesc-sig.zip -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/zip/testdata/gophercolor16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longXboy/lunnel/5edfddefcc7aa1c51ae5829b422ad611d0256dee/vendor/github.com/klauspost/compress/zip/testdata/gophercolor16x16.png -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/zip/testdata/readme.notzip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longXboy/lunnel/5edfddefcc7aa1c51ae5829b422ad611d0256dee/vendor/github.com/klauspost/compress/zip/testdata/readme.notzip -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/zip/testdata/readme.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longXboy/lunnel/5edfddefcc7aa1c51ae5829b422ad611d0256dee/vendor/github.com/klauspost/compress/zip/testdata/readme.zip -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/zip/testdata/symlink.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longXboy/lunnel/5edfddefcc7aa1c51ae5829b422ad611d0256dee/vendor/github.com/klauspost/compress/zip/testdata/symlink.zip -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/zip/testdata/test-trailing-junk.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longXboy/lunnel/5edfddefcc7aa1c51ae5829b422ad611d0256dee/vendor/github.com/klauspost/compress/zip/testdata/test-trailing-junk.zip -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/zip/testdata/test.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longXboy/lunnel/5edfddefcc7aa1c51ae5829b422ad611d0256dee/vendor/github.com/klauspost/compress/zip/testdata/test.zip -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/zip/testdata/unix.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longXboy/lunnel/5edfddefcc7aa1c51ae5829b422ad611d0256dee/vendor/github.com/klauspost/compress/zip/testdata/unix.zip -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/zip/testdata/winxp.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longXboy/lunnel/5edfddefcc7aa1c51ae5829b422ad611d0256dee/vendor/github.com/klauspost/compress/zip/testdata/winxp.zip -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/zip/testdata/zip64-2.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longXboy/lunnel/5edfddefcc7aa1c51ae5829b422ad611d0256dee/vendor/github.com/klauspost/compress/zip/testdata/zip64-2.zip -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/zip/testdata/zip64.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longXboy/lunnel/5edfddefcc7aa1c51ae5829b422ad611d0256dee/vendor/github.com/klauspost/compress/zip/testdata/zip64.zip -------------------------------------------------------------------------------- /vendor/github.com/klauspost/cpuid/.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled Object files, Static and Dynamic libs (Shared Objects) 2 | *.o 3 | *.a 4 | *.so 5 | 6 | # Folders 7 | _obj 8 | _test 9 | 10 | # Architecture specific extensions/prefixes 11 | *.[568vq] 12 | [568vq].out 13 | 14 | *.cgo1.go 15 | *.cgo2.c 16 | _cgo_defun.c 17 | _cgo_gotypes.go 18 | _cgo_export.* 19 | 20 | _testmain.go 21 | 22 | *.exe 23 | *.test 24 | *.prof 25 | -------------------------------------------------------------------------------- /vendor/github.com/klauspost/cpuid/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | 3 | go: 4 | - 1.3 5 | - 1.4 6 | - 1.5 7 | - 1.6 8 | - tip 9 | -------------------------------------------------------------------------------- /vendor/github.com/klauspost/cpuid/detect_intel.go: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2015 Klaus Post, released under MIT License. See LICENSE file. 2 | 3 | // +build 386,!gccgo amd64,!gccgo 4 | 5 | package cpuid 6 | 7 | func asmCpuid(op uint32) (eax, ebx, ecx, edx uint32) 8 | func asmCpuidex(op, op2 uint32) (eax, ebx, ecx, edx uint32) 9 | func asmXgetbv(index uint32) (eax, edx uint32) 10 | func asmRdtscpAsm() (eax, ebx, ecx, edx uint32) 11 | 12 | func initCPU() { 13 | cpuid = asmCpuid 14 | cpuidex = asmCpuidex 15 | xgetbv = asmXgetbv 16 | rdtscpAsm = asmRdtscpAsm 17 | } 18 | -------------------------------------------------------------------------------- /vendor/github.com/klauspost/cpuid/detect_ref.go: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2015 Klaus Post, released under MIT License. See LICENSE file. 2 | 3 | // +build !amd64,!386 gccgo 4 | 5 | package cpuid 6 | 7 | func initCPU() { 8 | cpuid = func(op uint32) (eax, ebx, ecx, edx uint32) { 9 | return 0, 0, 0, 0 10 | } 11 | 12 | cpuidex = func(op, op2 uint32) (eax, ebx, ecx, edx uint32) { 13 | return 0, 0, 0, 0 14 | } 15 | 16 | xgetbv = func(index uint32) (eax, edx uint32) { 17 | return 0, 0 18 | } 19 | 20 | rdtscpAsm = func() (eax, ebx, ecx, edx uint32) { 21 | return 0, 0, 0, 0 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /vendor/github.com/klauspost/cpuid/generate.go: -------------------------------------------------------------------------------- 1 | package cpuid 2 | 3 | //go:generate go run private-gen.go 4 | -------------------------------------------------------------------------------- /vendor/github.com/klauspost/cpuid/private/README.md: -------------------------------------------------------------------------------- 1 | # cpuid private 2 | 3 | This is a specially converted of the cpuid package, so it can be included in 4 | a package without exporting anything. 5 | 6 | Package home: https://github.com/klauspost/cpuid 7 | -------------------------------------------------------------------------------- /vendor/github.com/klauspost/cpuid/private/cpuid_detect_intel.go: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2015 Klaus Post, released under MIT License. See LICENSE file. 2 | 3 | // +build 386,!gccgo amd64,!gccgo 4 | 5 | package cpuid 6 | 7 | func asmCpuid(op uint32) (eax, ebx, ecx, edx uint32) 8 | func asmCpuidex(op, op2 uint32) (eax, ebx, ecx, edx uint32) 9 | func asmXgetbv(index uint32) (eax, edx uint32) 10 | func asmRdtscpAsm() (eax, ebx, ecx, edx uint32) 11 | 12 | func initCPU() { 13 | cpuid = asmCpuid 14 | cpuidex = asmCpuidex 15 | xgetbv = asmXgetbv 16 | rdtscpAsm = asmRdtscpAsm 17 | } 18 | -------------------------------------------------------------------------------- /vendor/github.com/klauspost/cpuid/private/cpuid_detect_ref.go: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2015 Klaus Post, released under MIT License. See LICENSE file. 2 | 3 | // +build !amd64,!386 gccgo 4 | 5 | package cpuid 6 | 7 | func initCPU() { 8 | cpuid = func(op uint32) (eax, ebx, ecx, edx uint32) { 9 | return 0, 0, 0, 0 10 | } 11 | 12 | cpuidex = func(op, op2 uint32) (eax, ebx, ecx, edx uint32) { 13 | return 0, 0, 0, 0 14 | } 15 | 16 | xgetbv = func(index uint32) (eax, edx uint32) { 17 | return 0, 0 18 | } 19 | 20 | rdtscpAsm = func() (eax, ebx, ecx, edx uint32) { 21 | return 0, 0, 0, 0 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /vendor/github.com/klauspost/cpuid/testdata/cpuid_data.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longXboy/lunnel/5edfddefcc7aa1c51ae5829b422ad611d0256dee/vendor/github.com/klauspost/cpuid/testdata/cpuid_data.zip -------------------------------------------------------------------------------- /vendor/github.com/klauspost/reedsolomon/.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled Object files, Static and Dynamic libs (Shared Objects) 2 | *.o 3 | *.a 4 | *.so 5 | 6 | # Folders 7 | _obj 8 | _test 9 | 10 | # Architecture specific extensions/prefixes 11 | *.[568vq] 12 | [568vq].out 13 | 14 | *.cgo1.go 15 | *.cgo2.c 16 | _cgo_defun.c 17 | _cgo_gotypes.go 18 | _cgo_export.* 19 | 20 | _testmain.go 21 | 22 | *.exe 23 | *.test 24 | *.prof 25 | -------------------------------------------------------------------------------- /vendor/github.com/klauspost/reedsolomon/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | 3 | sudo: false 4 | 5 | os: 6 | - linux 7 | - osx 8 | 9 | go: 10 | - 1.5 11 | - 1.6 12 | - 1.7 13 | - 1.8 14 | - master 15 | 16 | install: 17 | - go get ./... 18 | 19 | script: 20 | - go vet ./... 21 | - go test -v -cpu=1,2,4 . 22 | - go test -v -cpu=1,2,4 -short -race . 23 | - go test -tags=noasm -v -cpu=1,2,4 -short -race . 24 | - go build examples/simple-decoder.go 25 | - go build examples/simple-encoder.go 26 | - go build examples/stream-decoder.go 27 | - go build examples/stream-encoder.go 28 | - diff <(gofmt -d .) <("") 29 | 30 | matrix: 31 | allow_failures: 32 | - go: 'master' 33 | fast_finish: true 34 | -------------------------------------------------------------------------------- /vendor/github.com/klauspost/reedsolomon/appveyor.yml: -------------------------------------------------------------------------------- 1 | os: Visual Studio 2015 2 | 3 | platform: x64 4 | 5 | clone_folder: c:\gopath\src\github.com\klauspost\reedsolomon 6 | 7 | # environment variables 8 | environment: 9 | GOPATH: c:\gopath 10 | 11 | install: 12 | - echo %PATH% 13 | - echo %GOPATH% 14 | - go version 15 | - go env 16 | - go get -d ./... 17 | 18 | build_script: 19 | - go test -v -cpu=2 ./... 20 | - go test -cpu=1,2,4 -short -race ./... 21 | -------------------------------------------------------------------------------- /vendor/github.com/klauspost/reedsolomon/galois_noasm.go: -------------------------------------------------------------------------------- 1 | //+build !amd64 noasm appengine 2 | 3 | // Copyright 2015, Klaus Post, see LICENSE for details. 4 | 5 | package reedsolomon 6 | 7 | func galMulSlice(c byte, in, out []byte, ssse3, avx2 bool) { 8 | mt := mulTable[c] 9 | for n, input := range in { 10 | out[n] = mt[input] 11 | } 12 | } 13 | 14 | func galMulSliceXor(c byte, in, out []byte, ssse3, avx2 bool) { 15 | mt := mulTable[c] 16 | for n, input := range in { 17 | out[n] ^= mt[input] 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /vendor/github.com/longXboy/smux/.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled Object files, Static and Dynamic libs (Shared Objects) 2 | *.o 3 | *.a 4 | *.so 5 | 6 | # Folders 7 | _obj 8 | _test 9 | 10 | # Architecture specific extensions/prefixes 11 | *.[568vq] 12 | [568vq].out 13 | 14 | *.cgo1.go 15 | *.cgo2.c 16 | _cgo_defun.c 17 | _cgo_gotypes.go 18 | _cgo_export.* 19 | 20 | _testmain.go 21 | 22 | *.exe 23 | *.test 24 | *.prof 25 | -------------------------------------------------------------------------------- /vendor/github.com/longXboy/smux/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | go: 3 | - tip 4 | 5 | before_install: 6 | - go get -t -v ./... 7 | 8 | install: 9 | - go get github.com/xtaci/smux 10 | 11 | script: 12 | - go test -coverprofile=coverage.txt -covermode=atomic -bench . 13 | 14 | after_success: 15 | - bash <(curl -s https://codecov.io/bash) 16 | -------------------------------------------------------------------------------- /vendor/github.com/longXboy/smux/curve.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longXboy/lunnel/5edfddefcc7aa1c51ae5829b422ad611d0256dee/vendor/github.com/longXboy/smux/curve.jpg -------------------------------------------------------------------------------- /vendor/github.com/longXboy/smux/mux.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longXboy/lunnel/5edfddefcc7aa1c51ae5829b422ad611d0256dee/vendor/github.com/longXboy/smux/mux.jpg -------------------------------------------------------------------------------- /vendor/github.com/longXboy/smux/smux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longXboy/lunnel/5edfddefcc7aa1c51ae5829b422ad611d0256dee/vendor/github.com/longXboy/smux/smux.png -------------------------------------------------------------------------------- /vendor/github.com/manucorporat/sse/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | sudo: false 3 | go: 4 | - 1.3 5 | - 1.4 6 | - tip 7 | -------------------------------------------------------------------------------- /vendor/github.com/manucorporat/sse/writer.go: -------------------------------------------------------------------------------- 1 | package sse 2 | 3 | import "io" 4 | 5 | type stringWriter interface { 6 | io.Writer 7 | WriteString(string) (int, error) 8 | } 9 | 10 | type stringWrapper struct { 11 | io.Writer 12 | } 13 | 14 | func (w stringWrapper) WriteString(str string) (int, error) { 15 | return w.Writer.Write([]byte(str)) 16 | } 17 | 18 | func checkWriter(writer io.Writer) stringWriter { 19 | if w, ok := writer.(stringWriter); ok { 20 | return w 21 | } else { 22 | return stringWrapper{writer} 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-isatty/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | go: 3 | - tip 4 | 5 | before_install: 6 | - go get github.com/mattn/goveralls 7 | - go get golang.org/x/tools/cmd/cover 8 | script: 9 | - $HOME/gopath/bin/goveralls -repotoken 3gHdORO5k5ziZcWMBxnd9LrMZaJs8m9x5 10 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-isatty/doc.go: -------------------------------------------------------------------------------- 1 | // Package isatty implements interface to isatty 2 | package isatty 3 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-isatty/example_test.go: -------------------------------------------------------------------------------- 1 | package isatty_test 2 | 3 | import ( 4 | "fmt" 5 | "os" 6 | 7 | "github.com/mattn/go-isatty" 8 | ) 9 | 10 | func Example() { 11 | if isatty.IsTerminal(os.Stdout.Fd()) { 12 | fmt.Println("Is Terminal") 13 | } else if isatty.IsCygwinTerminal(os.Stdout.Fd()) { 14 | fmt.Println("Is Cygwin/MSYS2 Terminal") 15 | } else { 16 | fmt.Println("Is Not Terminal") 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-isatty/isatty_appengine.go: -------------------------------------------------------------------------------- 1 | // +build appengine 2 | 3 | package isatty 4 | 5 | // IsTerminal returns true if the file descriptor is terminal which 6 | // is always false on on appengine classic which is a sandboxed PaaS. 7 | func IsTerminal(fd uintptr) bool { 8 | return false 9 | } 10 | 11 | // IsCygwinTerminal() return true if the file descriptor is a cygwin or msys2 12 | // terminal. This is also always false on this environment. 13 | func IsCygwinTerminal(fd uintptr) bool { 14 | return false 15 | } 16 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-isatty/isatty_bsd.go: -------------------------------------------------------------------------------- 1 | // +build darwin freebsd openbsd netbsd dragonfly 2 | // +build !appengine 3 | 4 | package isatty 5 | 6 | import ( 7 | "syscall" 8 | "unsafe" 9 | ) 10 | 11 | const ioctlReadTermios = syscall.TIOCGETA 12 | 13 | // IsTerminal return true if the file descriptor is terminal. 14 | func IsTerminal(fd uintptr) bool { 15 | var termios syscall.Termios 16 | _, _, err := syscall.Syscall6(syscall.SYS_IOCTL, fd, ioctlReadTermios, uintptr(unsafe.Pointer(&termios)), 0, 0, 0) 17 | return err == 0 18 | } 19 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-isatty/isatty_linux.go: -------------------------------------------------------------------------------- 1 | // +build linux 2 | // +build !appengine 3 | 4 | package isatty 5 | 6 | import ( 7 | "syscall" 8 | "unsafe" 9 | ) 10 | 11 | const ioctlReadTermios = syscall.TCGETS 12 | 13 | // IsTerminal return true if the file descriptor is terminal. 14 | func IsTerminal(fd uintptr) bool { 15 | var termios syscall.Termios 16 | _, _, err := syscall.Syscall6(syscall.SYS_IOCTL, fd, ioctlReadTermios, uintptr(unsafe.Pointer(&termios)), 0, 0, 0) 17 | return err == 0 18 | } 19 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-isatty/isatty_others.go: -------------------------------------------------------------------------------- 1 | // +build !windows 2 | // +build !appengine 3 | 4 | package isatty 5 | 6 | // IsCygwinTerminal() return true if the file descriptor is a cygwin or msys2 7 | // terminal. This is also always false on this environment. 8 | func IsCygwinTerminal(fd uintptr) bool { 9 | return false 10 | } 11 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-isatty/isatty_others_test.go: -------------------------------------------------------------------------------- 1 | // +build !windows 2 | 3 | package isatty 4 | 5 | import ( 6 | "os" 7 | "testing" 8 | ) 9 | 10 | func TestTerminal(t *testing.T) { 11 | // test for non-panic 12 | IsTerminal(os.Stdout.Fd()) 13 | } 14 | 15 | func TestCygwinPipeName(t *testing.T) { 16 | if IsCygwinTerminal(os.Stdout.Fd()) { 17 | t.Fatal("should be false always") 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-isatty/isatty_solaris.go: -------------------------------------------------------------------------------- 1 | // +build solaris 2 | // +build !appengine 3 | 4 | package isatty 5 | 6 | import ( 7 | "golang.org/x/sys/unix" 8 | ) 9 | 10 | // IsTerminal returns true if the given file descriptor is a terminal. 11 | // see: http://src.illumos.org/source/xref/illumos-gate/usr/src/lib/libbc/libc/gen/common/isatty.c 12 | func IsTerminal(fd uintptr) bool { 13 | var termio unix.Termio 14 | err := unix.IoctlSetTermio(int(fd), unix.TCGETA, &termio) 15 | return err == nil 16 | } 17 | -------------------------------------------------------------------------------- /vendor/github.com/pkg/errors/.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled Object files, Static and Dynamic libs (Shared Objects) 2 | *.o 3 | *.a 4 | *.so 5 | 6 | # Folders 7 | _obj 8 | _test 9 | 10 | # Architecture specific extensions/prefixes 11 | *.[568vq] 12 | [568vq].out 13 | 14 | *.cgo1.go 15 | *.cgo2.c 16 | _cgo_defun.c 17 | _cgo_gotypes.go 18 | _cgo_export.* 19 | 20 | _testmain.go 21 | 22 | *.exe 23 | *.test 24 | *.prof 25 | -------------------------------------------------------------------------------- /vendor/github.com/pkg/errors/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | go_import_path: github.com/pkg/errors 3 | go: 4 | - 1.4.x 5 | - 1.5.x 6 | - 1.6.x 7 | - 1.7.x 8 | - 1.8.x 9 | - tip 10 | 11 | script: 12 | - go test -v ./... 13 | -------------------------------------------------------------------------------- /vendor/github.com/pkg/errors/appveyor.yml: -------------------------------------------------------------------------------- 1 | version: build-{build}.{branch} 2 | 3 | clone_folder: C:\gopath\src\github.com\pkg\errors 4 | shallow_clone: true # for startup speed 5 | 6 | environment: 7 | GOPATH: C:\gopath 8 | 9 | platform: 10 | - x64 11 | 12 | # http://www.appveyor.com/docs/installed-software 13 | install: 14 | # some helpful output for debugging builds 15 | - go version 16 | - go env 17 | # pre-installed MinGW at C:\MinGW is 32bit only 18 | # but MSYS2 at C:\msys64 has mingw64 19 | - set PATH=C:\msys64\mingw64\bin;%PATH% 20 | - gcc --version 21 | - g++ --version 22 | 23 | build_script: 24 | - go install -v ./... 25 | 26 | test_script: 27 | - set PATH=C:\gopath\bin;%PATH% 28 | - go test -v ./... 29 | 30 | #artifacts: 31 | # - path: '%GOPATH%\bin\*.exe' 32 | deploy: off 33 | -------------------------------------------------------------------------------- /vendor/github.com/satori/go.uuid/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | sudo: false 3 | go: 4 | - 1.2 5 | - 1.3 6 | - 1.4 7 | - 1.5 8 | - 1.6 9 | before_install: 10 | - go get github.com/mattn/goveralls 11 | - go get golang.org/x/tools/cmd/cover 12 | script: 13 | - $HOME/gopath/bin/goveralls -service=travis-ci 14 | notifications: 15 | email: false 16 | -------------------------------------------------------------------------------- /vendor/github.com/xtaci/kcp-go/.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled Object files, Static and Dynamic libs (Shared Objects) 2 | *.o 3 | *.a 4 | *.so 5 | 6 | # Folders 7 | _obj 8 | _test 9 | 10 | # Architecture specific extensions/prefixes 11 | *.[568vq] 12 | [568vq].out 13 | 14 | *.cgo1.go 15 | *.cgo2.c 16 | _cgo_defun.c 17 | _cgo_gotypes.go 18 | _cgo_export.* 19 | 20 | _testmain.go 21 | 22 | *.exe 23 | *.test 24 | *.prof 25 | -------------------------------------------------------------------------------- /vendor/github.com/xtaci/kcp-go/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | go: 3 | - 1.8 4 | 5 | before_install: 6 | - go get -t -v ./... 7 | 8 | install: 9 | - go get github.com/xtaci/kcp-go 10 | 11 | script: 12 | - go test -coverprofile=coverage.txt -covermode=atomic -bench . 13 | 14 | after_success: 15 | - bash <(curl -s https://codecov.io/bash) 16 | -------------------------------------------------------------------------------- /vendor/github.com/xtaci/kcp-go/donate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longXboy/lunnel/5edfddefcc7aa1c51ae5829b422ad611d0256dee/vendor/github.com/xtaci/kcp-go/donate.png -------------------------------------------------------------------------------- /vendor/github.com/xtaci/kcp-go/frame.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longXboy/lunnel/5edfddefcc7aa1c51ae5829b422ad611d0256dee/vendor/github.com/xtaci/kcp-go/frame.png -------------------------------------------------------------------------------- /vendor/github.com/xtaci/kcp-go/kcp-go.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longXboy/lunnel/5edfddefcc7aa1c51ae5829b422ad611d0256dee/vendor/github.com/xtaci/kcp-go/kcp-go.png -------------------------------------------------------------------------------- /vendor/github.com/xtaci/kcp-go/xor_test.go: -------------------------------------------------------------------------------- 1 | // Copyright 2013 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package kcp 6 | 7 | import ( 8 | "bytes" 9 | "testing" 10 | ) 11 | 12 | func TestXORBytes(t *testing.T) { 13 | for alignP := 0; alignP < 2; alignP++ { 14 | for alignQ := 0; alignQ < 2; alignQ++ { 15 | for alignD := 0; alignD < 2; alignD++ { 16 | p := make([]byte, 1024)[alignP:] 17 | q := make([]byte, 1024)[alignQ:] 18 | d1 := make([]byte, 1024+alignD)[alignD:] 19 | d2 := make([]byte, 1024+alignD)[alignD:] 20 | xorBytes(d1, p, q) 21 | safeXORBytes(d2, p, q) 22 | if !bytes.Equal(d1, d2) { 23 | t.Error("not equal") 24 | } 25 | } 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /vendor/github.com/yvasiyarov/go-metrics/.gitignore: -------------------------------------------------------------------------------- 1 | *.[68] 2 | *.a 3 | *.out 4 | *.swp 5 | _obj 6 | _testmain.go 7 | cmd/metrics-bench/metrics-bench 8 | cmd/metrics-example/metrics-example 9 | cmd/never-read/never-read 10 | -------------------------------------------------------------------------------- /vendor/github.com/yvasiyarov/go-metrics/cmd/metrics-bench/metrics-bench.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "fmt" 5 | "github.com/rcrowley/go-metrics" 6 | "time" 7 | ) 8 | 9 | func main() { 10 | r := metrics.NewRegistry() 11 | for i := 0; i < 10000; i++ { 12 | r.Register(fmt.Sprintf("counter-%d", i), metrics.NewCounter()) 13 | r.Register(fmt.Sprintf("gauge-%d", i), metrics.NewGauge()) 14 | r.Register(fmt.Sprintf("gaugefloat64-%d", i), metrics.NewGaugeFloat64()) 15 | r.Register(fmt.Sprintf("histogram-uniform-%d", i), metrics.NewHistogram(metrics.NewUniformSample(1028))) 16 | r.Register(fmt.Sprintf("histogram-exp-%d", i), metrics.NewHistogram(metrics.NewExpDecaySample(1028, 0.015))) 17 | r.Register(fmt.Sprintf("meter-%d", i), metrics.NewMeter()) 18 | } 19 | time.Sleep(600e9) 20 | } 21 | -------------------------------------------------------------------------------- /vendor/github.com/yvasiyarov/go-metrics/cmd/never-read/never-read.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "log" 5 | "net" 6 | ) 7 | 8 | func main() { 9 | addr, _ := net.ResolveTCPAddr("tcp", "127.0.0.1:2003") 10 | l, err := net.ListenTCP("tcp", addr) 11 | if nil != err { 12 | log.Fatalln(err) 13 | } 14 | log.Println("listening", l.Addr()) 15 | for { 16 | c, err := l.AcceptTCP() 17 | if nil != err { 18 | log.Fatalln(err) 19 | } 20 | log.Println("accepted", c.RemoteAddr()) 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /vendor/github.com/yvasiyarov/go-metrics/graphite_test.go: -------------------------------------------------------------------------------- 1 | package metrics 2 | 3 | import ( 4 | "net" 5 | "time" 6 | ) 7 | 8 | func ExampleGraphite() { 9 | addr, _ := net.ResolveTCPAddr("net", ":2003") 10 | go Graphite(DefaultRegistry, 1*time.Second, "some.prefix", addr) 11 | } 12 | 13 | func ExampleGraphiteWithConfig() { 14 | addr, _ := net.ResolveTCPAddr("net", ":2003") 15 | go GraphiteWithConfig(GraphiteConfig{ 16 | Addr: addr, 17 | Registry: DefaultRegistry, 18 | FlushInterval: 1 * time.Second, 19 | DurationUnit: time.Millisecond, 20 | Percentiles: []float64{ 0.5, 0.75, 0.99, 0.999 }, 21 | }) 22 | } 23 | -------------------------------------------------------------------------------- /vendor/github.com/yvasiyarov/go-metrics/json_test.go: -------------------------------------------------------------------------------- 1 | package metrics 2 | 3 | import ( 4 | "bytes" 5 | "encoding/json" 6 | "testing" 7 | ) 8 | 9 | func TestRegistryMarshallJSON(t *testing.T) { 10 | b := &bytes.Buffer{} 11 | enc := json.NewEncoder(b) 12 | r := NewRegistry() 13 | r.Register("counter", NewCounter()) 14 | enc.Encode(r) 15 | if s := b.String(); "{\"counter\":{\"count\":0}}\n" != s { 16 | t.Fatalf(s) 17 | } 18 | } 19 | 20 | func TestRegistryWriteJSONOnce(t *testing.T) { 21 | r := NewRegistry() 22 | r.Register("counter", NewCounter()) 23 | b := &bytes.Buffer{} 24 | WriteJSONOnce(r, b) 25 | if s := b.String(); s != "{\"counter\":{\"count\":0}}\n" { 26 | t.Fail() 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /vendor/github.com/yvasiyarov/go-metrics/metrics.go: -------------------------------------------------------------------------------- 1 | // Go port of Coda Hale's Metrics library 2 | // 3 | // 4 | // 5 | // Coda Hale's original work: 6 | package metrics 7 | 8 | // UseNilMetrics is checked by the constructor functions for all of the 9 | // standard metrics. If it is true, the metric returned is a stub. 10 | // 11 | // This global kill-switch helps quantify the observer effect and makes 12 | // for less cluttered pprof profiles. 13 | var UseNilMetrics bool = false 14 | -------------------------------------------------------------------------------- /vendor/github.com/yvasiyarov/go-metrics/opentsdb_test.go: -------------------------------------------------------------------------------- 1 | package metrics 2 | 3 | import ( 4 | "net" 5 | "time" 6 | ) 7 | 8 | func ExampleOpenTSDB() { 9 | addr, _ := net.ResolveTCPAddr("net", ":2003") 10 | go OpenTSDB(DefaultRegistry, 1*time.Second, "some.prefix", addr) 11 | } 12 | 13 | func ExampleOpenTSDBWithConfig() { 14 | addr, _ := net.ResolveTCPAddr("net", ":2003") 15 | go OpenTSDBWithConfig(OpenTSDBConfig{ 16 | Addr: addr, 17 | Registry: DefaultRegistry, 18 | FlushInterval: 1 * time.Second, 19 | DurationUnit: time.Millisecond, 20 | }) 21 | } 22 | 23 | -------------------------------------------------------------------------------- /vendor/github.com/yvasiyarov/go-metrics/runtime_cgo.go: -------------------------------------------------------------------------------- 1 | // +build cgo 2 | 3 | package metrics 4 | 5 | import "runtime" 6 | 7 | func numCgoCall() int64 { 8 | return runtime.NumCgoCall() 9 | } 10 | -------------------------------------------------------------------------------- /vendor/github.com/yvasiyarov/go-metrics/runtime_no_cgo.go: -------------------------------------------------------------------------------- 1 | // +build !cgo 2 | 3 | package metrics 4 | 5 | func numCgoCall() int64 { 6 | return 0 7 | } 8 | -------------------------------------------------------------------------------- /vendor/github.com/yvasiyarov/go-metrics/writer_test.go: -------------------------------------------------------------------------------- 1 | package metrics 2 | 3 | import ( 4 | "sort" 5 | "testing" 6 | ) 7 | 8 | func TestMetricsSorting(t *testing.T) { 9 | var namedMetrics = namedMetricSlice{ 10 | {name: "zzz"}, 11 | {name: "bbb"}, 12 | {name: "fff"}, 13 | {name: "ggg"}, 14 | } 15 | 16 | sort.Sort(namedMetrics) 17 | for i, name := range []string{"bbb", "fff", "ggg", "zzz"} { 18 | if namedMetrics[i].name != name { 19 | t.Fail() 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /vendor/github.com/yvasiyarov/gorelic/.gitignore: -------------------------------------------------------------------------------- 1 | *.nut 2 | *.swp 3 | examples/example1 4 | examples/example_web 5 | -------------------------------------------------------------------------------- /vendor/github.com/yvasiyarov/gorelic/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | -------------------------------------------------------------------------------- /vendor/github.com/yvasiyarov/gorelic/doc.go: -------------------------------------------------------------------------------- 1 | // Package gorelic is an New Relic agent implementation for Go runtime. It collect a lot of metrics about Go scheduler, garbage collector and memory allocator and send them to NewRelic. 2 | package gorelic 3 | -------------------------------------------------------------------------------- /vendor/github.com/yvasiyarov/gorelic/nut.json: -------------------------------------------------------------------------------- 1 | { 2 | "Version": "0.0.6", 3 | "Vendor": "yvasiyarov", 4 | "Authors": [ 5 | { 6 | "FullName": "Yuriy Vasiyarov", 7 | "Email": "varyous@gmail.com" 8 | } 9 | ], 10 | "ExtraFiles": [ 11 | "README.md", 12 | "LICENSE" 13 | ], 14 | "Homepage": "https://github.com/yvasiyarov/gorelic" 15 | } 16 | -------------------------------------------------------------------------------- /vendor/github.com/yvasiyarov/newrelic_platform_go/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | -------------------------------------------------------------------------------- /vendor/github.com/yvasiyarov/newrelic_platform_go/README.md: -------------------------------------------------------------------------------- 1 | New Relic Platform Agent SDK for Go(golang) 2 | ==================== 3 | 4 | [![Build Status](https://travis-ci.org/yvasiyarov/newrelic_platform_go.png?branch=master)](https://travis-ci.org/yvasiyarov/newrelic_platform_go) 5 | 6 | This package provide very simple interface to NewRelic Platform http://newrelic.com/platform 7 | 8 | For example of usage see examples/wave_plugin.go 9 | 10 | For real-word example, you can have a look at: 11 | https://github.com/yvasiyarov/newrelic_sphinx 12 | -------------------------------------------------------------------------------- /vendor/github.com/yvasiyarov/newrelic_platform_go/agent.go: -------------------------------------------------------------------------------- 1 | package newrelic_platform_go 2 | 3 | import ( 4 | "log" 5 | "os" 6 | ) 7 | 8 | type Agent struct { 9 | Host string `json:"host"` 10 | Version string `json:"version"` 11 | Pid int `json:"pid"` 12 | } 13 | 14 | func NewAgent(Version string) *Agent { 15 | agent := &Agent{ 16 | Version: Version, 17 | } 18 | return agent 19 | } 20 | 21 | func (agent *Agent) CollectEnvironmentInfo() { 22 | var err error 23 | agent.Pid = os.Getpid() 24 | if agent.Host, err = os.Hostname(); err != nil { 25 | log.Fatalf("Can not get hostname: %#v \n", err) 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /vendor/github.com/yvasiyarov/newrelic_platform_go/doc.go: -------------------------------------------------------------------------------- 1 | // Package newrelic_platform_go is New Relic Platform Agent SDK for Go language. 2 | package newrelic_platform_go 3 | -------------------------------------------------------------------------------- /vendor/github.com/yvasiyarov/newrelic_platform_go/nut.json: -------------------------------------------------------------------------------- 1 | { 2 | "Version": "0.0.1", 3 | "Vendor": "yvasiyarov", 4 | "Authors": [ 5 | { 6 | "FullName": "Yuriy Vasiyarov", 7 | "Email": "varyous@gmail.com" 8 | } 9 | ], 10 | "ExtraFiles": [ 11 | "README.md", 12 | "LICENSE" 13 | ], 14 | "Homepage": "https://github.com/yvasiyarov/newrelic_platform_go" 15 | } 16 | -------------------------------------------------------------------------------- /vendor/golang.org/x/crypto/.gitattributes: -------------------------------------------------------------------------------- 1 | # Treat all files in this repo as binary, with no git magic updating 2 | # line endings. Windows users contributing to Go will need to use a 3 | # modern version of git and editors capable of LF line endings. 4 | # 5 | # We'll prevent accidental CRLF line endings from entering the repo 6 | # via the git-review gofmt checks. 7 | # 8 | # See golang.org/issue/9281 9 | 10 | * -text 11 | -------------------------------------------------------------------------------- /vendor/golang.org/x/crypto/.gitignore: -------------------------------------------------------------------------------- 1 | # Add no patterns to .hgignore except for files generated by the build. 2 | last-change 3 | -------------------------------------------------------------------------------- /vendor/golang.org/x/crypto/AUTHORS: -------------------------------------------------------------------------------- 1 | # This source code refers to The Go Authors for copyright purposes. 2 | # The master list of authors is in the main Go distribution, 3 | # visible at http://tip.golang.org/AUTHORS. 4 | -------------------------------------------------------------------------------- /vendor/golang.org/x/crypto/CONTRIBUTORS: -------------------------------------------------------------------------------- 1 | # This source code was written by the Go contributors. 2 | # The master list of contributors is in the main Go distribution, 3 | # visible at http://tip.golang.org/CONTRIBUTORS. 4 | -------------------------------------------------------------------------------- /vendor/golang.org/x/crypto/README: -------------------------------------------------------------------------------- 1 | This repository holds supplementary Go cryptography libraries. 2 | 3 | To submit changes to this repository, see http://golang.org/doc/contribute.html. 4 | -------------------------------------------------------------------------------- /vendor/golang.org/x/crypto/blake2b/blake2b_amd64.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !go1.7,amd64,!gccgo,!appengine 6 | 7 | package blake2b 8 | 9 | func init() { 10 | useSSE4 = supportsSSE4() 11 | } 12 | 13 | //go:noescape 14 | func supportsSSE4() bool 15 | 16 | //go:noescape 17 | func hashBlocksSSE4(h *[8]uint64, c *[2]uint64, flag uint64, blocks []byte) 18 | 19 | func hashBlocks(h *[8]uint64, c *[2]uint64, flag uint64, blocks []byte) { 20 | if useSSE4 { 21 | hashBlocksSSE4(h, c, flag, blocks) 22 | } else { 23 | hashBlocksGeneric(h, c, flag, blocks) 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /vendor/golang.org/x/crypto/blake2b/blake2b_ref.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !amd64 appengine gccgo 6 | 7 | package blake2b 8 | 9 | func hashBlocks(h *[8]uint64, c *[2]uint64, flag uint64, blocks []byte) { 10 | hashBlocksGeneric(h, c, flag, blocks) 11 | } 12 | -------------------------------------------------------------------------------- /vendor/golang.org/x/crypto/blake2b/register.go: -------------------------------------------------------------------------------- 1 | // Copyright 2017 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build go1.9 6 | 7 | package blake2b 8 | 9 | import ( 10 | "crypto" 11 | "hash" 12 | ) 13 | 14 | func init() { 15 | newHash256 := func() hash.Hash { 16 | h, _ := New256(nil) 17 | return h 18 | } 19 | newHash384 := func() hash.Hash { 20 | h, _ := New384(nil) 21 | return h 22 | } 23 | 24 | newHash512 := func() hash.Hash { 25 | h, _ := New512(nil) 26 | return h 27 | } 28 | 29 | crypto.RegisterHash(crypto.BLAKE2b_256, newHash256) 30 | crypto.RegisterHash(crypto.BLAKE2b_384, newHash384) 31 | crypto.RegisterHash(crypto.BLAKE2b_512, newHash512) 32 | } 33 | -------------------------------------------------------------------------------- /vendor/golang.org/x/crypto/blake2s/blake2s_ref.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !amd64,!386 gccgo appengine 6 | 7 | package blake2s 8 | 9 | var ( 10 | useSSE4 = false 11 | useSSSE3 = false 12 | useSSE2 = false 13 | useGeneric = true 14 | ) 15 | 16 | func hashBlocks(h *[8]uint32, c *[2]uint32, flag uint32, blocks []byte) { 17 | hashBlocksGeneric(h, c, flag, blocks) 18 | } 19 | -------------------------------------------------------------------------------- /vendor/golang.org/x/crypto/blake2s/register.go: -------------------------------------------------------------------------------- 1 | // Copyright 2017 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build go1.9 6 | 7 | package blake2s 8 | 9 | import ( 10 | "crypto" 11 | "hash" 12 | ) 13 | 14 | func init() { 15 | newHash256 := func() hash.Hash { 16 | h, _ := New256(nil) 17 | return h 18 | } 19 | 20 | crypto.RegisterHash(crypto.BLAKE2s_256, newHash256) 21 | } 22 | -------------------------------------------------------------------------------- /vendor/golang.org/x/crypto/chacha20poly1305/chacha20poly1305_noasm.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !amd64 !go1.7 gccgo appengine 6 | 7 | package chacha20poly1305 8 | 9 | func (c *chacha20poly1305) seal(dst, nonce, plaintext, additionalData []byte) []byte { 10 | return c.sealGeneric(dst, nonce, plaintext, additionalData) 11 | } 12 | 13 | func (c *chacha20poly1305) open(dst, nonce, ciphertext, additionalData []byte) ([]byte, error) { 14 | return c.openGeneric(dst, nonce, ciphertext, additionalData) 15 | } 16 | -------------------------------------------------------------------------------- /vendor/golang.org/x/crypto/codereview.cfg: -------------------------------------------------------------------------------- 1 | issuerepo: golang/go 2 | -------------------------------------------------------------------------------- /vendor/golang.org/x/crypto/curve25519/const_amd64.h: -------------------------------------------------------------------------------- 1 | // Copyright 2012 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // This code was translated into a form compatible with 6a from the public 6 | // domain sources in SUPERCOP: http://bench.cr.yp.to/supercop.html 7 | 8 | #define REDMASK51 0x0007FFFFFFFFFFFF 9 | -------------------------------------------------------------------------------- /vendor/golang.org/x/crypto/curve25519/const_amd64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2012 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // This code was translated into a form compatible with 6a from the public 6 | // domain sources in SUPERCOP: http://bench.cr.yp.to/supercop.html 7 | 8 | // +build amd64,!gccgo,!appengine 9 | 10 | // These constants cannot be encoded in non-MOVQ immediates. 11 | // We access them directly from memory instead. 12 | 13 | DATA ·_121666_213(SB)/8, $996687872 14 | GLOBL ·_121666_213(SB), 8, $8 15 | 16 | DATA ·_2P0(SB)/8, $0xFFFFFFFFFFFDA 17 | GLOBL ·_2P0(SB), 8, $8 18 | 19 | DATA ·_2P1234(SB)/8, $0xFFFFFFFFFFFFE 20 | GLOBL ·_2P1234(SB), 8, $8 21 | -------------------------------------------------------------------------------- /vendor/golang.org/x/crypto/ed25519/testdata/sign.input.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longXboy/lunnel/5edfddefcc7aa1c51ae5829b422ad611d0256dee/vendor/golang.org/x/crypto/ed25519/testdata/sign.input.gz -------------------------------------------------------------------------------- /vendor/golang.org/x/crypto/pkcs12/internal/rc2/bench_test.go: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package rc2 6 | 7 | import ( 8 | "testing" 9 | ) 10 | 11 | func BenchmarkEncrypt(b *testing.B) { 12 | r, _ := New([]byte{0, 0, 0, 0, 0, 0, 0, 0}, 64) 13 | b.ResetTimer() 14 | var src [8]byte 15 | for i := 0; i < b.N; i++ { 16 | r.Encrypt(src[:], src[:]) 17 | } 18 | } 19 | 20 | func BenchmarkDecrypt(b *testing.B) { 21 | r, _ := New([]byte{0, 0, 0, 0, 0, 0, 0, 0}, 64) 22 | b.ResetTimer() 23 | var src [8]byte 24 | for i := 0; i < b.N; i++ { 25 | r.Decrypt(src[:], src[:]) 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /vendor/golang.org/x/crypto/poly1305/sum_amd64.go: -------------------------------------------------------------------------------- 1 | // Copyright 2012 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build amd64,!gccgo,!appengine 6 | 7 | package poly1305 8 | 9 | // This function is implemented in sum_amd64.s 10 | //go:noescape 11 | func poly1305(out *[16]byte, m *byte, mlen uint64, key *[32]byte) 12 | 13 | // Sum generates an authenticator for m using a one-time key and puts the 14 | // 16-byte result into out. Authenticating two different messages with the same 15 | // key allows an attacker to forge messages at will. 16 | func Sum(out *[16]byte, m []byte, key *[32]byte) { 17 | var mPtr *byte 18 | if len(m) > 0 { 19 | mPtr = &m[0] 20 | } 21 | poly1305(out, mPtr, uint64(len(m)), key) 22 | } 23 | -------------------------------------------------------------------------------- /vendor/golang.org/x/crypto/poly1305/sum_arm.go: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build arm,!gccgo,!appengine,!nacl 6 | 7 | package poly1305 8 | 9 | // This function is implemented in sum_arm.s 10 | //go:noescape 11 | func poly1305_auth_armv6(out *[16]byte, m *byte, mlen uint32, key *[32]byte) 12 | 13 | // Sum generates an authenticator for m using a one-time key and puts the 14 | // 16-byte result into out. Authenticating two different messages with the same 15 | // key allows an attacker to forge messages at will. 16 | func Sum(out *[16]byte, m []byte, key *[32]byte) { 17 | var mPtr *byte 18 | if len(m) > 0 { 19 | mPtr = &m[0] 20 | } 21 | poly1305_auth_armv6(out, mPtr, uint32(len(m)), key) 22 | } 23 | -------------------------------------------------------------------------------- /vendor/golang.org/x/crypto/sha3/keccakf_amd64.go: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build amd64,!appengine,!gccgo 6 | 7 | package sha3 8 | 9 | // This function is implemented in keccakf_amd64.s. 10 | 11 | //go:noescape 12 | 13 | func keccakF1600(a *[25]uint64) 14 | -------------------------------------------------------------------------------- /vendor/golang.org/x/crypto/sha3/register.go: -------------------------------------------------------------------------------- 1 | // Copyright 2014 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build go1.4 6 | 7 | package sha3 8 | 9 | import ( 10 | "crypto" 11 | ) 12 | 13 | func init() { 14 | crypto.RegisterHash(crypto.SHA3_224, New224) 15 | crypto.RegisterHash(crypto.SHA3_256, New256) 16 | crypto.RegisterHash(crypto.SHA3_384, New384) 17 | crypto.RegisterHash(crypto.SHA3_512, New512) 18 | } 19 | -------------------------------------------------------------------------------- /vendor/golang.org/x/crypto/sha3/testdata/keccakKats.json.deflate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longXboy/lunnel/5edfddefcc7aa1c51ae5829b422ad611d0256dee/vendor/golang.org/x/crypto/sha3/testdata/keccakKats.json.deflate -------------------------------------------------------------------------------- /vendor/golang.org/x/crypto/sha3/xor.go: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !amd64,!386,!ppc64le appengine 6 | 7 | package sha3 8 | 9 | var ( 10 | xorIn = xorInGeneric 11 | copyOut = copyOutGeneric 12 | xorInUnaligned = xorInGeneric 13 | copyOutUnaligned = copyOutGeneric 14 | ) 15 | 16 | const xorImplementationUnaligned = "generic" 17 | -------------------------------------------------------------------------------- /vendor/golang.org/x/crypto/sha3/xor_generic.go: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package sha3 6 | 7 | import "encoding/binary" 8 | 9 | // xorInGeneric xors the bytes in buf into the state; it 10 | // makes no non-portable assumptions about memory layout 11 | // or alignment. 12 | func xorInGeneric(d *state, buf []byte) { 13 | n := len(buf) / 8 14 | 15 | for i := 0; i < n; i++ { 16 | a := binary.LittleEndian.Uint64(buf) 17 | d.a[i] ^= a 18 | buf = buf[8:] 19 | } 20 | } 21 | 22 | // copyOutGeneric copies ulint64s to a byte buffer. 23 | func copyOutGeneric(d *state, b []byte) { 24 | for i := 0; len(b) >= 8; i++ { 25 | binary.LittleEndian.PutUint64(b, d.a[i]) 26 | b = b[8:] 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /vendor/golang.org/x/crypto/ssh/tcpip_test.go: -------------------------------------------------------------------------------- 1 | // Copyright 2014 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package ssh 6 | 7 | import ( 8 | "testing" 9 | ) 10 | 11 | func TestAutoPortListenBroken(t *testing.T) { 12 | broken := "SSH-2.0-OpenSSH_5.9hh11" 13 | works := "SSH-2.0-OpenSSH_6.1" 14 | if !isBrokenOpenSSHVersion(broken) { 15 | t.Errorf("version %q not marked as broken", broken) 16 | } 17 | if isBrokenOpenSSHVersion(works) { 18 | t.Errorf("version %q marked as broken", works) 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /vendor/golang.org/x/crypto/ssh/terminal/util_bsd.go: -------------------------------------------------------------------------------- 1 | // Copyright 2013 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build darwin dragonfly freebsd netbsd openbsd 6 | 7 | package terminal 8 | 9 | import "syscall" 10 | 11 | const ioctlReadTermios = syscall.TIOCGETA 12 | const ioctlWriteTermios = syscall.TIOCSETA 13 | -------------------------------------------------------------------------------- /vendor/golang.org/x/crypto/ssh/terminal/util_linux.go: -------------------------------------------------------------------------------- 1 | // Copyright 2013 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package terminal 6 | 7 | // These constants are declared here, rather than importing 8 | // them from the syscall package as some syscall packages, even 9 | // on linux, for example gccgo, do not declare them. 10 | const ioctlReadTermios = 0x5401 // syscall.TCGETS 11 | const ioctlWriteTermios = 0x5402 // syscall.TCSETS 12 | -------------------------------------------------------------------------------- /vendor/golang.org/x/crypto/ssh/test/doc.go: -------------------------------------------------------------------------------- 1 | // Copyright 2012 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // This package contains integration tests for the 6 | // golang.org/x/crypto/ssh package. 7 | package test // import "golang.org/x/crypto/ssh/test" 8 | -------------------------------------------------------------------------------- /vendor/golang.org/x/crypto/ssh/testdata/doc.go: -------------------------------------------------------------------------------- 1 | // Copyright 2014 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // This package contains test data shared between the various subpackages of 6 | // the golang.org/x/crypto/ssh package. Under no circumstance should 7 | // this data be used for production code. 8 | package testdata // import "golang.org/x/crypto/ssh/testdata" 9 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/.gitattributes: -------------------------------------------------------------------------------- 1 | # Treat all files in this repo as binary, with no git magic updating 2 | # line endings. Windows users contributing to Go will need to use a 3 | # modern version of git and editors capable of LF line endings. 4 | # 5 | # We'll prevent accidental CRLF line endings from entering the repo 6 | # via the git-review gofmt checks. 7 | # 8 | # See golang.org/issue/9281 9 | 10 | * -text 11 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/.gitignore: -------------------------------------------------------------------------------- 1 | # Add no patterns to .hgignore except for files generated by the build. 2 | last-change 3 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/AUTHORS: -------------------------------------------------------------------------------- 1 | # This source code refers to The Go Authors for copyright purposes. 2 | # The master list of authors is in the main Go distribution, 3 | # visible at http://tip.golang.org/AUTHORS. 4 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/CONTRIBUTORS: -------------------------------------------------------------------------------- 1 | # This source code was written by the Go contributors. 2 | # The master list of contributors is in the main Go distribution, 3 | # visible at http://tip.golang.org/CONTRIBUTORS. 4 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/README: -------------------------------------------------------------------------------- 1 | This repository holds supplementary Go networking libraries. 2 | 3 | To submit changes to this repository, see http://golang.org/doc/contribute.html. 4 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/bpf/testdata/all_instructions.bpf: -------------------------------------------------------------------------------- 1 | 50,0 0 0 42,1 0 0 42,96 0 0 3,97 0 0 3,48 0 0 42,40 0 0 42,32 0 0 42,80 0 0 42,72 0 0 42,64 0 0 42,177 0 0 42,128 0 0 0,32 0 0 4294963200,32 0 0 4294963204,32 0 0 4294963256,2 0 0 3,3 0 0 3,4 0 0 42,20 0 0 42,36 0 0 42,52 0 0 42,68 0 0 42,84 0 0 42,100 0 0 42,116 0 0 42,148 0 0 42,164 0 0 42,12 0 0 0,28 0 0 0,44 0 0 0,60 0 0 0,76 0 0 0,92 0 0 0,108 0 0 0,124 0 0 0,156 0 0 0,172 0 0 0,132 0 0 0,5 0 0 10,21 8 9 42,21 0 8 42,53 0 7 42,37 0 6 42,37 4 5 42,53 3 4 42,69 2 3 42,7 0 0 0,135 0 0 0,22 0 0 0,6 0 0 0, 2 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/codereview.cfg: -------------------------------------------------------------------------------- 1 | issuerepo: golang/go 2 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/context/ctxhttp/ctxhttp_17_test.go: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !plan9,go1.7 6 | 7 | package ctxhttp 8 | 9 | import ( 10 | "io" 11 | "net/http" 12 | "net/http/httptest" 13 | "testing" 14 | 15 | "context" 16 | ) 17 | 18 | func TestGo17Context(t *testing.T) { 19 | ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { 20 | io.WriteString(w, "ok") 21 | })) 22 | defer ts.Close() 23 | ctx := context.Background() 24 | resp, err := Get(ctx, http.DefaultClient, ts.URL) 25 | if resp == nil || err != nil { 26 | t.Fatalf("error received from client: %v %v", err, resp) 27 | } 28 | resp.Body.Close() 29 | } 30 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/context/withtimeout_test.go: -------------------------------------------------------------------------------- 1 | // Copyright 2014 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package context_test 6 | 7 | import ( 8 | "fmt" 9 | "time" 10 | 11 | "golang.org/x/net/context" 12 | ) 13 | 14 | func ExampleWithTimeout() { 15 | // Pass a context with a timeout to tell a blocking function that it 16 | // should abandon its work after the timeout elapses. 17 | ctx, _ := context.WithTimeout(context.Background(), 100*time.Millisecond) 18 | select { 19 | case <-time.After(200 * time.Millisecond): 20 | fmt.Println("overslept") 21 | case <-ctx.Done(): 22 | fmt.Println(ctx.Err()) // prints "context deadline exceeded" 23 | } 24 | // Output: 25 | // context deadline exceeded 26 | } 27 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/html/charset/testdata/README: -------------------------------------------------------------------------------- 1 | These test cases come from 2 | http://www.w3.org/International/tests/repository/html5/the-input-byte-stream/results-basics 3 | 4 | Distributed under both the W3C Test Suite License 5 | (http://www.w3.org/Consortium/Legal/2008/04-testsuite-license) 6 | and the W3C 3-clause BSD License 7 | (http://www.w3.org/Consortium/Legal/2008/03-bsd-license). 8 | To contribute to a W3C Test Suite, see the policies and contribution 9 | forms (http://www.w3.org/2004/10/27-testcases). 10 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/html/charset/testdata/UTF-16BE-BOM.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longXboy/lunnel/5edfddefcc7aa1c51ae5829b422ad611d0256dee/vendor/golang.org/x/net/html/charset/testdata/UTF-16BE-BOM.html -------------------------------------------------------------------------------- /vendor/golang.org/x/net/html/charset/testdata/UTF-16LE-BOM.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/longXboy/lunnel/5edfddefcc7aa1c51ae5829b422ad611d0256dee/vendor/golang.org/x/net/html/charset/testdata/UTF-16LE-BOM.html -------------------------------------------------------------------------------- /vendor/golang.org/x/net/html/testdata/webkit/adoption02.dat: -------------------------------------------------------------------------------- 1 | #data 2 | 12

34 3 | #errors 4 | #document 5 | | 6 | | 7 | | 8 | | 9 | | "1" 10 | | 11 | | "2" 12 | | 13 | |

14 | | 15 | | "3" 16 | | "4" 17 | 18 | #data 19 |

20 | #errors 21 | #document 22 | | 23 | | 24 | | 25 | | 26 | |
27 | | 28 | |