mirror of
https://github.com/rclone/rclone
synced 2024-11-28 06:41:41 +01:00
vendor: update dependencies to latest
This commit is contained in:
parent
58f7141c96
commit
89625e54cf
32
go.mod
32
go.mod
@ -2,25 +2,25 @@ module github.com/ncw/rclone
|
|||||||
|
|
||||||
require (
|
require (
|
||||||
bazil.org/fuse v0.0.0-20180421153158-65cc252bf669
|
bazil.org/fuse v0.0.0-20180421153158-65cc252bf669
|
||||||
cloud.google.com/go v0.31.0 // indirect
|
cloud.google.com/go v0.33.1 // indirect
|
||||||
github.com/Azure/azure-storage-blob-go v0.0.0-20181023070848-cf01652132cc
|
github.com/Azure/azure-storage-blob-go v0.0.0-20181023070848-cf01652132cc
|
||||||
github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78
|
github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78
|
||||||
github.com/Unknwon/goconfig v0.0.0-20180308125533-ef1e4c783f8f
|
github.com/Unknwon/goconfig v0.0.0-20181105214110-56bd8ab18619
|
||||||
github.com/a8m/tree v0.0.0-20180321023834-3cf936ce15d6
|
github.com/a8m/tree v0.0.0-20180321023834-3cf936ce15d6
|
||||||
github.com/abbot/go-http-auth v0.4.0
|
github.com/abbot/go-http-auth v0.4.0
|
||||||
github.com/aws/aws-sdk-go v1.15.62
|
github.com/aws/aws-sdk-go v1.15.81
|
||||||
github.com/billziss-gh/cgofuse v1.1.0
|
github.com/billziss-gh/cgofuse v1.1.0
|
||||||
github.com/coreos/bbolt v0.0.0-20180318001526-af9db2027c98
|
github.com/coreos/bbolt v0.0.0-20180318001526-af9db2027c98
|
||||||
github.com/cpuguy83/go-md2man v1.0.8 // indirect
|
github.com/cpuguy83/go-md2man v1.0.8 // indirect
|
||||||
github.com/davecgh/go-spew v1.1.1 // indirect
|
github.com/davecgh/go-spew v1.1.1 // indirect
|
||||||
github.com/djherbis/times v1.0.1
|
github.com/djherbis/times v1.1.0
|
||||||
github.com/dropbox/dropbox-sdk-go-unofficial v4.1.0+incompatible
|
github.com/dropbox/dropbox-sdk-go-unofficial v4.1.0+incompatible
|
||||||
github.com/goftp/file-driver v0.0.0-20180502053751-5d604a0fc0c9 // indirect
|
github.com/goftp/file-driver v0.0.0-20180502053751-5d604a0fc0c9 // indirect
|
||||||
github.com/goftp/server v0.0.0-20180914132916-1fd52c8552f1
|
github.com/goftp/server v0.0.0-20180914132916-1fd52c8552f1
|
||||||
github.com/google/go-querystring v1.0.0 // indirect
|
github.com/google/go-querystring v1.0.0 // indirect
|
||||||
github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 // indirect
|
github.com/gopherjs/gopherjs v0.0.0-20181103185306-d547d1d9531e // indirect
|
||||||
github.com/inconshreveable/mousetrap v1.0.0 // indirect
|
github.com/inconshreveable/mousetrap v1.0.0 // indirect
|
||||||
github.com/jlaffaye/ftp v0.0.0-20181011150954-fe787349a520
|
github.com/jlaffaye/ftp v0.0.0-20181101112434-47f21d10f0ee
|
||||||
github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af // indirect
|
github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af // indirect
|
||||||
github.com/jtolds/gls v4.2.1+incompatible // indirect
|
github.com/jtolds/gls v4.2.1+incompatible // indirect
|
||||||
github.com/kardianos/osext v0.0.0-20170510131534-ae77be60afb1 // indirect
|
github.com/kardianos/osext v0.0.0-20170510131534-ae77be60afb1 // indirect
|
||||||
@ -29,7 +29,7 @@ require (
|
|||||||
github.com/mattn/go-runewidth v0.0.3 // indirect
|
github.com/mattn/go-runewidth v0.0.3 // indirect
|
||||||
github.com/ncw/go-acd v0.0.0-20171120105400-887eb06ab6a2
|
github.com/ncw/go-acd v0.0.0-20171120105400-887eb06ab6a2
|
||||||
github.com/ncw/swift v1.0.42
|
github.com/ncw/swift v1.0.42
|
||||||
github.com/nsf/termbox-go v0.0.0-20180819125858-b66b20ab708e
|
github.com/nsf/termbox-go v0.0.0-20181027232701-60ab7e3d12ed
|
||||||
github.com/okzk/sdnotify v0.0.0-20180710141335-d9becc38acbd
|
github.com/okzk/sdnotify v0.0.0-20180710141335-d9becc38acbd
|
||||||
github.com/patrickmn/go-cache v2.1.0+incompatible
|
github.com/patrickmn/go-cache v2.1.0+incompatible
|
||||||
github.com/pengsrc/go-shared v0.2.0 // indirect
|
github.com/pengsrc/go-shared v0.2.0 // indirect
|
||||||
@ -41,22 +41,22 @@ require (
|
|||||||
github.com/sevlyar/go-daemon v0.1.4
|
github.com/sevlyar/go-daemon v0.1.4
|
||||||
github.com/skratchdot/open-golang v0.0.0-20160302144031-75fb7ed4208c
|
github.com/skratchdot/open-golang v0.0.0-20160302144031-75fb7ed4208c
|
||||||
github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d // indirect
|
github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d // indirect
|
||||||
github.com/smartystreets/goconvey v0.0.0-20180222194500-ef6db91d284a // indirect
|
github.com/smartystreets/goconvey v0.0.0-20181108003508-044398e4856c // indirect
|
||||||
github.com/spf13/cobra v0.0.3
|
github.com/spf13/cobra v0.0.3
|
||||||
github.com/spf13/pflag v1.0.3
|
github.com/spf13/pflag v1.0.3
|
||||||
github.com/stretchr/testify v1.2.2
|
github.com/stretchr/testify v1.2.2
|
||||||
github.com/t3rm1n4l/go-mega v0.0.0-20180817194457-854bf31d998b
|
github.com/t3rm1n4l/go-mega v0.0.0-20180817194457-854bf31d998b
|
||||||
github.com/xanzy/ssh-agent v0.2.0
|
github.com/xanzy/ssh-agent v0.2.0
|
||||||
github.com/yunify/qingstor-sdk-go v2.2.15+incompatible
|
github.com/yunify/qingstor-sdk-go v2.2.15+incompatible
|
||||||
golang.org/x/crypto v0.0.0-20181025113841-85e1b3f9139a
|
golang.org/x/crypto v0.0.0-20181112202954-3d3f9f413869
|
||||||
golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519
|
golang.org/x/net v0.0.0-20181114220301-adae6a3d119a
|
||||||
golang.org/x/oauth2 v0.0.0-20181017192945-9dcd33a902f4
|
golang.org/x/oauth2 v0.0.0-20181120190819-8f65e3013eba
|
||||||
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f // indirect
|
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f // indirect
|
||||||
golang.org/x/sys v0.0.0-20181025063200-d989b31c8746
|
golang.org/x/sys v0.0.0-20181122145206-62eef0e2fa9b
|
||||||
golang.org/x/text v0.3.0
|
golang.org/x/text v0.3.0
|
||||||
golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2
|
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c
|
||||||
google.golang.org/api v0.0.0-20181025000501-39567f0042a0
|
google.golang.org/api v0.0.0-20181120235003-faade3cbb06a
|
||||||
google.golang.org/appengine v1.2.0 // indirect
|
google.golang.org/appengine v1.3.0 // indirect
|
||||||
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 // indirect
|
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 // indirect
|
||||||
gopkg.in/yaml.v2 v2.2.1
|
gopkg.in/yaml.v2 v2.2.1
|
||||||
)
|
)
|
||||||
|
64
go.sum
64
go.sum
@ -1,21 +1,21 @@
|
|||||||
bazil.org/fuse v0.0.0-20180421153158-65cc252bf669 h1:FNCRpXiquG1aoyqcIWVFmpTSKVcx2bQD38uZZeGtdlw=
|
bazil.org/fuse v0.0.0-20180421153158-65cc252bf669 h1:FNCRpXiquG1aoyqcIWVFmpTSKVcx2bQD38uZZeGtdlw=
|
||||||
bazil.org/fuse v0.0.0-20180421153158-65cc252bf669/go.mod h1:Xbm+BRKSBEpa4q4hTSxohYNQpsxXPbPry4JJWOB3LB8=
|
bazil.org/fuse v0.0.0-20180421153158-65cc252bf669/go.mod h1:Xbm+BRKSBEpa4q4hTSxohYNQpsxXPbPry4JJWOB3LB8=
|
||||||
cloud.google.com/go v0.31.0 h1:o9K5MWWt2wk+d9jkGn2DAZ7Q9nUdnFLOpK9eIkDwONQ=
|
cloud.google.com/go v0.33.1 h1:fmJQWZ1w9PGkHR1YL/P7HloDvqlmKQ4Vpb7PC2e+aCk=
|
||||||
cloud.google.com/go v0.31.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
|
cloud.google.com/go v0.33.1/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
|
||||||
github.com/Azure/azure-pipeline-go v0.1.8 h1:KmVRa8oFMaargVesEuuEoiLCQ4zCCwQ8QX/xg++KS20=
|
github.com/Azure/azure-pipeline-go v0.1.8 h1:KmVRa8oFMaargVesEuuEoiLCQ4zCCwQ8QX/xg++KS20=
|
||||||
github.com/Azure/azure-pipeline-go v0.1.8/go.mod h1:XA1kFWRVhSK+KNFiOhfv83Fv8L9achrP7OxIzeTn1Yg=
|
github.com/Azure/azure-pipeline-go v0.1.8/go.mod h1:XA1kFWRVhSK+KNFiOhfv83Fv8L9achrP7OxIzeTn1Yg=
|
||||||
github.com/Azure/azure-storage-blob-go v0.0.0-20181023070848-cf01652132cc h1:BElWmFfsryQD72OcovStKpkIcd4e9ozSkdsTNQDSHGk=
|
github.com/Azure/azure-storage-blob-go v0.0.0-20181023070848-cf01652132cc h1:BElWmFfsryQD72OcovStKpkIcd4e9ozSkdsTNQDSHGk=
|
||||||
github.com/Azure/azure-storage-blob-go v0.0.0-20181023070848-cf01652132cc/go.mod h1:oGfmITT1V6x//CswqY2gtAHND+xIP64/qL7a5QJix0Y=
|
github.com/Azure/azure-storage-blob-go v0.0.0-20181023070848-cf01652132cc/go.mod h1:oGfmITT1V6x//CswqY2gtAHND+xIP64/qL7a5QJix0Y=
|
||||||
github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78 h1:w+iIsaOQNcT7OZ575w+acHgRric5iCyQh+xv+KJ4HB8=
|
github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78 h1:w+iIsaOQNcT7OZ575w+acHgRric5iCyQh+xv+KJ4HB8=
|
||||||
github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8=
|
github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8=
|
||||||
github.com/Unknwon/goconfig v0.0.0-20180308125533-ef1e4c783f8f h1:2h0zBHX3qNDltgnb2FiMJWYTcqJVDdUeHQU2/5CTc5w=
|
github.com/Unknwon/goconfig v0.0.0-20181105214110-56bd8ab18619 h1:6X8iB881g299aNEv6KXrcjL31iLOH7yA6NXoQX+MbDg=
|
||||||
github.com/Unknwon/goconfig v0.0.0-20180308125533-ef1e4c783f8f/go.mod h1:wngxua9XCNjvHjDiTiV26DaKDT+0c63QR6H5hjVUUxw=
|
github.com/Unknwon/goconfig v0.0.0-20181105214110-56bd8ab18619/go.mod h1:wngxua9XCNjvHjDiTiV26DaKDT+0c63QR6H5hjVUUxw=
|
||||||
github.com/a8m/tree v0.0.0-20180321023834-3cf936ce15d6 h1:UCQe3W9LxwL2ff5r0PqQfS6Oe5MCKpIH8twfK/dH9mw=
|
github.com/a8m/tree v0.0.0-20180321023834-3cf936ce15d6 h1:UCQe3W9LxwL2ff5r0PqQfS6Oe5MCKpIH8twfK/dH9mw=
|
||||||
github.com/a8m/tree v0.0.0-20180321023834-3cf936ce15d6/go.mod h1:FSdwKX97koS5efgm8WevNf7XS3PqtyFkKDDXrz778cg=
|
github.com/a8m/tree v0.0.0-20180321023834-3cf936ce15d6/go.mod h1:FSdwKX97koS5efgm8WevNf7XS3PqtyFkKDDXrz778cg=
|
||||||
github.com/abbot/go-http-auth v0.4.0 h1:QjmvZ5gSC7jm3Zg54DqWE/T5m1t2AfDu6QlXJT0EVT0=
|
github.com/abbot/go-http-auth v0.4.0 h1:QjmvZ5gSC7jm3Zg54DqWE/T5m1t2AfDu6QlXJT0EVT0=
|
||||||
github.com/abbot/go-http-auth v0.4.0/go.mod h1:Cz6ARTIzApMJDzh5bRMSUou6UMSp0IEXg9km/ci7TJM=
|
github.com/abbot/go-http-auth v0.4.0/go.mod h1:Cz6ARTIzApMJDzh5bRMSUou6UMSp0IEXg9km/ci7TJM=
|
||||||
github.com/aws/aws-sdk-go v1.15.62 h1:07s1rZRzXJWlrTvHR8ZZb6DjoQTFnxqraE7y5teA8Og=
|
github.com/aws/aws-sdk-go v1.15.81 h1:va7uoFaV9uKAtZ6BTmp1u7paoMsizYRRLvRuoC07nQ8=
|
||||||
github.com/aws/aws-sdk-go v1.15.62/go.mod h1:E3/ieXAlvM0XWO57iftYVDLLvQ824smPP3ATZkfNZeM=
|
github.com/aws/aws-sdk-go v1.15.81/go.mod h1:E3/ieXAlvM0XWO57iftYVDLLvQ824smPP3ATZkfNZeM=
|
||||||
github.com/billziss-gh/cgofuse v1.1.0 h1:tATn9ZDvuPcOVlvR4tJitGHgAqy1y18+4mKmRfdfjec=
|
github.com/billziss-gh/cgofuse v1.1.0 h1:tATn9ZDvuPcOVlvR4tJitGHgAqy1y18+4mKmRfdfjec=
|
||||||
github.com/billziss-gh/cgofuse v1.1.0/go.mod h1:LJjoaUojlVjgo5GQoEJTcJNqZJeRU0nCR84CyxKt2YM=
|
github.com/billziss-gh/cgofuse v1.1.0/go.mod h1:LJjoaUojlVjgo5GQoEJTcJNqZJeRU0nCR84CyxKt2YM=
|
||||||
github.com/coreos/bbolt v0.0.0-20180318001526-af9db2027c98 h1:0gQU5Ebjs1V8Ow5bBzxZzr0peNjJILSkSb30IfZtshQ=
|
github.com/coreos/bbolt v0.0.0-20180318001526-af9db2027c98 h1:0gQU5Ebjs1V8Ow5bBzxZzr0peNjJILSkSb30IfZtshQ=
|
||||||
@ -24,8 +24,8 @@ github.com/cpuguy83/go-md2man v1.0.8 h1:DwoNytLphI8hzS2Af4D0dfaEaiSq2bN05mEm4R6v
|
|||||||
github.com/cpuguy83/go-md2man v1.0.8/go.mod h1:N6JayAiVKtlHSnuTCeuLSQVs75hb8q+dYQLjr7cDsKY=
|
github.com/cpuguy83/go-md2man v1.0.8/go.mod h1:N6JayAiVKtlHSnuTCeuLSQVs75hb8q+dYQLjr7cDsKY=
|
||||||
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
||||||
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||||
github.com/djherbis/times v1.0.1 h1:nVRrVOTFd2r0C7wCQdIDz/fqt8yO0EEzr5f6aXfXiS0=
|
github.com/djherbis/times v1.1.0 h1:NFhBDODme0XNX+/5ETW9qL6v3Ty57psiXIQBrzzg44E=
|
||||||
github.com/djherbis/times v1.0.1/go.mod h1:CGMZlo255K5r4Yw0b9RRfFQpM2y7uOmxg4jm9HsaVf8=
|
github.com/djherbis/times v1.1.0/go.mod h1:CGMZlo255K5r4Yw0b9RRfFQpM2y7uOmxg4jm9HsaVf8=
|
||||||
github.com/dropbox/dropbox-sdk-go-unofficial v4.1.0+incompatible h1:ZFvUIiBbGhDY5zF8yjLoWhUAYs7uDodUpbvTS5oelDE=
|
github.com/dropbox/dropbox-sdk-go-unofficial v4.1.0+incompatible h1:ZFvUIiBbGhDY5zF8yjLoWhUAYs7uDodUpbvTS5oelDE=
|
||||||
github.com/dropbox/dropbox-sdk-go-unofficial v4.1.0+incompatible/go.mod h1:lr+LhMM3F6Y3lW1T9j2U5l7QeuWm87N9+PPXo3yH4qY=
|
github.com/dropbox/dropbox-sdk-go-unofficial v4.1.0+incompatible/go.mod h1:lr+LhMM3F6Y3lW1T9j2U5l7QeuWm87N9+PPXo3yH4qY=
|
||||||
github.com/goftp/file-driver v0.0.0-20180502053751-5d604a0fc0c9 h1:cC0Hbb+18DJ4i6ybqDybvj4wdIDS4vnD0QEci98PgM8=
|
github.com/goftp/file-driver v0.0.0-20180502053751-5d604a0fc0c9 h1:cC0Hbb+18DJ4i6ybqDybvj4wdIDS4vnD0QEci98PgM8=
|
||||||
@ -36,12 +36,12 @@ github.com/golang/protobuf v1.2.0 h1:P3YflyNX/ehuJFLhxviNdFxQPkGK5cDcApsge1SqnvM
|
|||||||
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
|
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
|
||||||
github.com/google/go-querystring v1.0.0 h1:Xkwi/a1rcvNg1PPYe5vI8GbeBY/jrVuDX5ASuANWTrk=
|
github.com/google/go-querystring v1.0.0 h1:Xkwi/a1rcvNg1PPYe5vI8GbeBY/jrVuDX5ASuANWTrk=
|
||||||
github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck=
|
github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck=
|
||||||
github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 h1:EGx4pi6eqNxGaHF6qqu48+N2wcFQ5qg5FXgOdqsJ5d8=
|
github.com/gopherjs/gopherjs v0.0.0-20181103185306-d547d1d9531e h1:JKmoR8x90Iww1ks85zJ1lfDGgIiMDuIptTOhJq+zKyg=
|
||||||
github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
|
github.com/gopherjs/gopherjs v0.0.0-20181103185306-d547d1d9531e/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
|
||||||
github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM=
|
github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM=
|
||||||
github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
|
github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
|
||||||
github.com/jlaffaye/ftp v0.0.0-20181011150954-fe787349a520 h1:VFHAQNYcjE5grUH5XOA6NPRFURBIcVt4A6R9G4fwH5c=
|
github.com/jlaffaye/ftp v0.0.0-20181101112434-47f21d10f0ee h1:oCvgfeGIc6GipidJVyG0Hd9R/w6TO8bBYyJg15ZgJkw=
|
||||||
github.com/jlaffaye/ftp v0.0.0-20181011150954-fe787349a520/go.mod h1:lli8NYPQOFy3O++YmYbqVgOcQ1JPCwdOy+5zSjKJ9qY=
|
github.com/jlaffaye/ftp v0.0.0-20181101112434-47f21d10f0ee/go.mod h1:lli8NYPQOFy3O++YmYbqVgOcQ1JPCwdOy+5zSjKJ9qY=
|
||||||
github.com/jmespath/go-jmespath v0.0.0-20160202185014-0b12d6b521d8 h1:12VvqtR6Aowv3l/EQUlocDHW2Cp4G9WJVH7uyH8QFJE=
|
github.com/jmespath/go-jmespath v0.0.0-20160202185014-0b12d6b521d8 h1:12VvqtR6Aowv3l/EQUlocDHW2Cp4G9WJVH7uyH8QFJE=
|
||||||
github.com/jmespath/go-jmespath v0.0.0-20160202185014-0b12d6b521d8/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k=
|
github.com/jmespath/go-jmespath v0.0.0-20160202185014-0b12d6b521d8/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k=
|
||||||
github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af h1:pmfjZENx5imkbgOkpRUYLnmbU7UEFbjtDA2hxJ1ichM=
|
github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af h1:pmfjZENx5imkbgOkpRUYLnmbU7UEFbjtDA2hxJ1ichM=
|
||||||
@ -63,8 +63,8 @@ github.com/ncw/go-acd v0.0.0-20171120105400-887eb06ab6a2 h1:VlXvEx6JbFp7F9iz92zX
|
|||||||
github.com/ncw/go-acd v0.0.0-20171120105400-887eb06ab6a2/go.mod h1:MLIrzg7gp/kzVBxRE1olT7CWYMCklcUWU+ekoxOD9x0=
|
github.com/ncw/go-acd v0.0.0-20171120105400-887eb06ab6a2/go.mod h1:MLIrzg7gp/kzVBxRE1olT7CWYMCklcUWU+ekoxOD9x0=
|
||||||
github.com/ncw/swift v1.0.42 h1:ztvRb6hs52IHOcaYt73f9lXYLIeIuWgdooRDhdyllGI=
|
github.com/ncw/swift v1.0.42 h1:ztvRb6hs52IHOcaYt73f9lXYLIeIuWgdooRDhdyllGI=
|
||||||
github.com/ncw/swift v1.0.42/go.mod h1:23YIA4yWVnGwv2dQlN4bB7egfYX6YLn0Yo/S6zZO/ZM=
|
github.com/ncw/swift v1.0.42/go.mod h1:23YIA4yWVnGwv2dQlN4bB7egfYX6YLn0Yo/S6zZO/ZM=
|
||||||
github.com/nsf/termbox-go v0.0.0-20180819125858-b66b20ab708e h1:fvw0uluMptljaRKSU8459cJ4bmi3qUYyMs5kzpic2fY=
|
github.com/nsf/termbox-go v0.0.0-20181027232701-60ab7e3d12ed h1:bAVGG6B+R5qpSylrrA+BAMrzYkdAoiTaKPVxRB+4cyM=
|
||||||
github.com/nsf/termbox-go v0.0.0-20180819125858-b66b20ab708e/go.mod h1:IuKpRQcYE1Tfu+oAQqaLisqDeXgjyyltCfsaoYN18NQ=
|
github.com/nsf/termbox-go v0.0.0-20181027232701-60ab7e3d12ed/go.mod h1:IuKpRQcYE1Tfu+oAQqaLisqDeXgjyyltCfsaoYN18NQ=
|
||||||
github.com/okzk/sdnotify v0.0.0-20180710141335-d9becc38acbd h1:+iAPaTbi1gZpcpDwe/BW1fx7Xoesv69hLNGPheoyhBs=
|
github.com/okzk/sdnotify v0.0.0-20180710141335-d9becc38acbd h1:+iAPaTbi1gZpcpDwe/BW1fx7Xoesv69hLNGPheoyhBs=
|
||||||
github.com/okzk/sdnotify v0.0.0-20180710141335-d9becc38acbd/go.mod h1:4soZNh0zW0LtYGdQ416i0jO0EIqMGcbtaspRS4BDvRQ=
|
github.com/okzk/sdnotify v0.0.0-20180710141335-d9becc38acbd/go.mod h1:4soZNh0zW0LtYGdQ416i0jO0EIqMGcbtaspRS4BDvRQ=
|
||||||
github.com/patrickmn/go-cache v2.1.0+incompatible h1:HRMgzkcYKYpi3C8ajMPV8OFXaaRUnok+kx1WdO15EQc=
|
github.com/patrickmn/go-cache v2.1.0+incompatible h1:HRMgzkcYKYpi3C8ajMPV8OFXaaRUnok+kx1WdO15EQc=
|
||||||
@ -87,8 +87,8 @@ github.com/skratchdot/open-golang v0.0.0-20160302144031-75fb7ed4208c h1:fyKiXKO1
|
|||||||
github.com/skratchdot/open-golang v0.0.0-20160302144031-75fb7ed4208c/go.mod h1:sUM3LWHvSMaG192sy56D9F7CNvL7jUJVXoqM1QKLnog=
|
github.com/skratchdot/open-golang v0.0.0-20160302144031-75fb7ed4208c/go.mod h1:sUM3LWHvSMaG192sy56D9F7CNvL7jUJVXoqM1QKLnog=
|
||||||
github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d h1:zE9ykElWQ6/NYmHa3jpm/yHnI4xSofP+UP6SpjHcSeM=
|
github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d h1:zE9ykElWQ6/NYmHa3jpm/yHnI4xSofP+UP6SpjHcSeM=
|
||||||
github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc=
|
github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc=
|
||||||
github.com/smartystreets/goconvey v0.0.0-20180222194500-ef6db91d284a h1:JSvGDIbmil4Ui/dDdFBExb7/cmkNjyX5F97oglmvCDo=
|
github.com/smartystreets/goconvey v0.0.0-20181108003508-044398e4856c h1:Ho+uVpkel/udgjbwB5Lktg9BtvJSh2DT0Hi6LPSyI2w=
|
||||||
github.com/smartystreets/goconvey v0.0.0-20180222194500-ef6db91d284a/go.mod h1:XDJAKZRPZ1CvBcN2aX5YOUTYGHki24fSF0Iv48Ibg0s=
|
github.com/smartystreets/goconvey v0.0.0-20181108003508-044398e4856c/go.mod h1:XDJAKZRPZ1CvBcN2aX5YOUTYGHki24fSF0Iv48Ibg0s=
|
||||||
github.com/spf13/cobra v0.0.3 h1:ZlrZ4XsMRm04Fr5pSFxBgfND2EBVa1nLpiy1stUsX/8=
|
github.com/spf13/cobra v0.0.3 h1:ZlrZ4XsMRm04Fr5pSFxBgfND2EBVa1nLpiy1stUsX/8=
|
||||||
github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ=
|
github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ=
|
||||||
github.com/spf13/pflag v1.0.3 h1:zPAT6CGy6wXeQ7NtTnaTerfKOsV6V6F8agHXFiazDkg=
|
github.com/spf13/pflag v1.0.3 h1:zPAT6CGy6wXeQ7NtTnaTerfKOsV6V6F8agHXFiazDkg=
|
||||||
@ -101,25 +101,25 @@ github.com/xanzy/ssh-agent v0.2.0 h1:Adglfbi5p9Z0BmK2oKU9nTG+zKfniSfnaMYB+ULd+Ro
|
|||||||
github.com/xanzy/ssh-agent v0.2.0/go.mod h1:0NyE30eGUDliuLEHJgYte/zncp2zdTStcOnWhgSqHD8=
|
github.com/xanzy/ssh-agent v0.2.0/go.mod h1:0NyE30eGUDliuLEHJgYte/zncp2zdTStcOnWhgSqHD8=
|
||||||
github.com/yunify/qingstor-sdk-go v2.2.15+incompatible h1:/Z0q3/eSMoPYAuRmhjWtuGSmVVciFC6hfm3yfCKuvz0=
|
github.com/yunify/qingstor-sdk-go v2.2.15+incompatible h1:/Z0q3/eSMoPYAuRmhjWtuGSmVVciFC6hfm3yfCKuvz0=
|
||||||
github.com/yunify/qingstor-sdk-go v2.2.15+incompatible/go.mod h1:w6wqLDQ5bBTzxGJ55581UrSwLrsTAsdo9N6yX/8d9RY=
|
github.com/yunify/qingstor-sdk-go v2.2.15+incompatible/go.mod h1:w6wqLDQ5bBTzxGJ55581UrSwLrsTAsdo9N6yX/8d9RY=
|
||||||
golang.org/x/crypto v0.0.0-20181025113841-85e1b3f9139a h1:Pg1/+l4/QV6z7N506eGnLiJ/Rl4IJf1FwYQKvP51OjA=
|
golang.org/x/crypto v0.0.0-20181112202954-3d3f9f413869 h1:kkXA53yGe04D0adEYJwEVQjeBppL01Exg+fnMjfUraU=
|
||||||
golang.org/x/crypto v0.0.0-20181025113841-85e1b3f9139a/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
golang.org/x/crypto v0.0.0-20181112202954-3d3f9f413869/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||||
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||||
golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519 h1:x6rhz8Y9CjbgQkccRGmELH6K+LJj7tOoh3XWeC1yaQM=
|
golang.org/x/net v0.0.0-20181114220301-adae6a3d119a h1:gOpx8G595UYyvj8UK4+OFyY4rx037g3fmfhe5SasG3U=
|
||||||
golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||||
golang.org/x/oauth2 v0.0.0-20181017192945-9dcd33a902f4 h1:99CA0JJbUX4ozCnLon680Jc9e0T1i8HCaLVJMwtI8Hc=
|
golang.org/x/oauth2 v0.0.0-20181120190819-8f65e3013eba h1:YDkOrzGLLYybtuP6ZgebnO4OWYEYVMFSniazXsxrFN8=
|
||||||
golang.org/x/oauth2 v0.0.0-20181017192945-9dcd33a902f4/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
|
golang.org/x/oauth2 v0.0.0-20181120190819-8f65e3013eba/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
|
||||||
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f h1:wMNYb4v58l5UBM7MYRLPG6ZhfOqbKu7X5eyFl8ZhKvA=
|
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f h1:Bl/8QSvNqXvPGPGXa2z5xUTmV7VDcZyvRZ+QQXkXTZQ=
|
||||||
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
golang.org/x/sys v0.0.0-20181025063200-d989b31c8746 h1:zTiiIq2XH/ldZGPA59ILL7NbDlz/btn3iJvO7H57mY8=
|
golang.org/x/sys v0.0.0-20181122145206-62eef0e2fa9b h1:MQE+LT/ABUuuvEZ+YQAMSXindAdUh7slEmAkup74op4=
|
||||||
golang.org/x/sys v0.0.0-20181025063200-d989b31c8746/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
golang.org/x/sys v0.0.0-20181122145206-62eef0e2fa9b/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||||
golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg=
|
golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg=
|
||||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||||
golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2 h1:+DCIGbF/swA92ohVg0//6X2IVY3KZs6p9mix0ziNYJM=
|
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c h1:fqgJT0MGcGpPgpWU7VRdRjuArfcOvC4AoJmILihzhDg=
|
||||||
golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
||||||
google.golang.org/api v0.0.0-20181025000501-39567f0042a0 h1:6a8YRrm+EJS4Y9FGTkLfE2iKneLzRQG5CfJCfJ9AfS0=
|
google.golang.org/api v0.0.0-20181120235003-faade3cbb06a h1:yMfgT1baklxtECXVk3UtZBELVXtVhDbK3/7xLFkFypw=
|
||||||
google.golang.org/api v0.0.0-20181025000501-39567f0042a0/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0=
|
google.golang.org/api v0.0.0-20181120235003-faade3cbb06a/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0=
|
||||||
google.golang.org/appengine v1.2.0 h1:S0iUepdCWODXRvtE+gcRDd15L+k+k1AiHlMiMjefH24=
|
google.golang.org/appengine v1.3.0 h1:FBSsiFRMz3LBeXIomRnVzrQwSDj4ibvcRexLG0LZGQk=
|
||||||
google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
|
google.golang.org/appengine v1.3.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
|
||||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
|
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
|
||||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||||
gopkg.in/check.v1 v1.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
gopkg.in/check.v1 v1.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||||
|
6
vendor/cloud.google.com/go/compute/metadata/metadata.go
generated
vendored
6
vendor/cloud.google.com/go/compute/metadata/metadata.go
generated
vendored
@ -20,6 +20,7 @@
|
|||||||
package metadata // import "cloud.google.com/go/compute/metadata"
|
package metadata // import "cloud.google.com/go/compute/metadata"
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"context"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"fmt"
|
"fmt"
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
@ -31,9 +32,6 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
"sync"
|
"sync"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"golang.org/x/net/context"
|
|
||||||
"golang.org/x/net/context/ctxhttp"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
@ -143,7 +141,7 @@ func testOnGCE() bool {
|
|||||||
go func() {
|
go func() {
|
||||||
req, _ := http.NewRequest("GET", "http://"+metadataIP, nil)
|
req, _ := http.NewRequest("GET", "http://"+metadataIP, nil)
|
||||||
req.Header.Set("User-Agent", userAgent)
|
req.Header.Set("User-Agent", userAgent)
|
||||||
res, err := ctxhttp.Do(ctx, defaultClient.hc, req)
|
res, err := defaultClient.hc.Do(req.WithContext(ctx))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
resc <- false
|
resc <- false
|
||||||
return
|
return
|
||||||
|
2
vendor/github.com/Unknwon/goconfig/read.go
generated
vendored
2
vendor/github.com/Unknwon/goconfig/read.go
generated
vendored
@ -72,7 +72,7 @@ func (c *ConfigFile) read(reader io.Reader) (err error) {
|
|||||||
comments += LineBreak + line
|
comments += LineBreak + line
|
||||||
}
|
}
|
||||||
continue
|
continue
|
||||||
case line[0] == '[' && line[lineLengh-1] == ']': // New sction.
|
case line[0] == '[' && line[lineLengh-1] == ']': // New section.
|
||||||
// Get section name.
|
// Get section name.
|
||||||
section = strings.TrimSpace(line[1 : lineLengh-1])
|
section = strings.TrimSpace(line[1 : lineLengh-1])
|
||||||
// Set section comments and empty if it has comments.
|
// Set section comments and empty if it has comments.
|
||||||
|
40
vendor/github.com/aws/aws-sdk-go/aws/config.go
generated
vendored
40
vendor/github.com/aws/aws-sdk-go/aws/config.go
generated
vendored
@ -45,8 +45,8 @@ type Config struct {
|
|||||||
// that overrides the default generated endpoint for a client. Set this
|
// that overrides the default generated endpoint for a client. Set this
|
||||||
// to `""` to use the default generated endpoint.
|
// to `""` to use the default generated endpoint.
|
||||||
//
|
//
|
||||||
// @note You must still provide a `Region` value when specifying an
|
// Note: You must still provide a `Region` value when specifying an
|
||||||
// endpoint for a client.
|
// endpoint for a client.
|
||||||
Endpoint *string
|
Endpoint *string
|
||||||
|
|
||||||
// The resolver to use for looking up endpoints for AWS service clients
|
// The resolver to use for looking up endpoints for AWS service clients
|
||||||
@ -65,8 +65,8 @@ type Config struct {
|
|||||||
// noted. A full list of regions is found in the "Regions and Endpoints"
|
// noted. A full list of regions is found in the "Regions and Endpoints"
|
||||||
// document.
|
// document.
|
||||||
//
|
//
|
||||||
// @see http://docs.aws.amazon.com/general/latest/gr/rande.html
|
// See http://docs.aws.amazon.com/general/latest/gr/rande.html for AWS
|
||||||
// AWS Regions and Endpoints
|
// Regions and Endpoints.
|
||||||
Region *string
|
Region *string
|
||||||
|
|
||||||
// Set this to `true` to disable SSL when sending requests. Defaults
|
// Set this to `true` to disable SSL when sending requests. Defaults
|
||||||
@ -120,9 +120,10 @@ type Config struct {
|
|||||||
// will use virtual hosted bucket addressing when possible
|
// will use virtual hosted bucket addressing when possible
|
||||||
// (`http://BUCKET.s3.amazonaws.com/KEY`).
|
// (`http://BUCKET.s3.amazonaws.com/KEY`).
|
||||||
//
|
//
|
||||||
// @note This configuration option is specific to the Amazon S3 service.
|
// Note: This configuration option is specific to the Amazon S3 service.
|
||||||
// @see http://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html
|
//
|
||||||
// Amazon S3: Virtual Hosting of Buckets
|
// See http://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html
|
||||||
|
// for Amazon S3: Virtual Hosting of Buckets
|
||||||
S3ForcePathStyle *bool
|
S3ForcePathStyle *bool
|
||||||
|
|
||||||
// Set this to `true` to disable the SDK adding the `Expect: 100-Continue`
|
// Set this to `true` to disable the SDK adding the `Expect: 100-Continue`
|
||||||
@ -223,6 +224,21 @@ type Config struct {
|
|||||||
// Key: aws.String("//foo//bar//moo"),
|
// Key: aws.String("//foo//bar//moo"),
|
||||||
// })
|
// })
|
||||||
DisableRestProtocolURICleaning *bool
|
DisableRestProtocolURICleaning *bool
|
||||||
|
|
||||||
|
// EnableEndpointDiscovery will allow for endpoint discovery on operations that
|
||||||
|
// have the definition in its model. By default, endpoint discovery is off.
|
||||||
|
//
|
||||||
|
// Example:
|
||||||
|
// sess := session.Must(session.NewSession(&aws.Config{
|
||||||
|
// EnableEndpointDiscovery: aws.Bool(true),
|
||||||
|
// }))
|
||||||
|
//
|
||||||
|
// svc := s3.New(sess)
|
||||||
|
// out, err := svc.GetObject(&s3.GetObjectInput {
|
||||||
|
// Bucket: aws.String("bucketname"),
|
||||||
|
// Key: aws.String("/foo/bar/moo"),
|
||||||
|
// })
|
||||||
|
EnableEndpointDiscovery *bool
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewConfig returns a new Config pointer that can be chained with builder
|
// NewConfig returns a new Config pointer that can be chained with builder
|
||||||
@ -377,6 +393,12 @@ func (c *Config) WithSleepDelay(fn func(time.Duration)) *Config {
|
|||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// WithEndpointDiscovery will set whether or not to use endpoint discovery.
|
||||||
|
func (c *Config) WithEndpointDiscovery(t bool) *Config {
|
||||||
|
c.EnableEndpointDiscovery = &t
|
||||||
|
return c
|
||||||
|
}
|
||||||
|
|
||||||
// MergeIn merges the passed in configs into the existing config object.
|
// MergeIn merges the passed in configs into the existing config object.
|
||||||
func (c *Config) MergeIn(cfgs ...*Config) {
|
func (c *Config) MergeIn(cfgs ...*Config) {
|
||||||
for _, other := range cfgs {
|
for _, other := range cfgs {
|
||||||
@ -476,6 +498,10 @@ func mergeInConfig(dst *Config, other *Config) {
|
|||||||
if other.EnforceShouldRetryCheck != nil {
|
if other.EnforceShouldRetryCheck != nil {
|
||||||
dst.EnforceShouldRetryCheck = other.EnforceShouldRetryCheck
|
dst.EnforceShouldRetryCheck = other.EnforceShouldRetryCheck
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if other.EnableEndpointDiscovery != nil {
|
||||||
|
dst.EnableEndpointDiscovery = other.EnableEndpointDiscovery
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Copy will return a shallow copy of the Config object. If any additional
|
// Copy will return a shallow copy of the Config object. If any additional
|
||||||
|
4
vendor/github.com/aws/aws-sdk-go/aws/credentials/chain_provider.go
generated
vendored
4
vendor/github.com/aws/aws-sdk-go/aws/credentials/chain_provider.go
generated
vendored
@ -9,9 +9,7 @@ var (
|
|||||||
// providers in the ChainProvider.
|
// providers in the ChainProvider.
|
||||||
//
|
//
|
||||||
// This has been deprecated. For verbose error messaging set
|
// This has been deprecated. For verbose error messaging set
|
||||||
// aws.Config.CredentialsChainVerboseErrors to true
|
// aws.Config.CredentialsChainVerboseErrors to true.
|
||||||
//
|
|
||||||
// @readonly
|
|
||||||
ErrNoValidProvidersFoundInChain = awserr.New("NoCredentialProviders",
|
ErrNoValidProvidersFoundInChain = awserr.New("NoCredentialProviders",
|
||||||
`no valid providers in chain. Deprecated.
|
`no valid providers in chain. Deprecated.
|
||||||
For verbose messaging see aws.Config.CredentialsChainVerboseErrors`,
|
For verbose messaging see aws.Config.CredentialsChainVerboseErrors`,
|
||||||
|
2
vendor/github.com/aws/aws-sdk-go/aws/credentials/credentials.go
generated
vendored
2
vendor/github.com/aws/aws-sdk-go/aws/credentials/credentials.go
generated
vendored
@ -64,8 +64,6 @@ import (
|
|||||||
// Credentials: credentials.AnonymousCredentials,
|
// Credentials: credentials.AnonymousCredentials,
|
||||||
// })))
|
// })))
|
||||||
// // Access public S3 buckets.
|
// // Access public S3 buckets.
|
||||||
//
|
|
||||||
// @readonly
|
|
||||||
var AnonymousCredentials = NewStaticCredentials("", "", "")
|
var AnonymousCredentials = NewStaticCredentials("", "", "")
|
||||||
|
|
||||||
// A Value is the AWS credentials value for individual credential fields.
|
// A Value is the AWS credentials value for individual credential fields.
|
||||||
|
4
vendor/github.com/aws/aws-sdk-go/aws/credentials/env_provider.go
generated
vendored
4
vendor/github.com/aws/aws-sdk-go/aws/credentials/env_provider.go
generated
vendored
@ -12,14 +12,10 @@ const EnvProviderName = "EnvProvider"
|
|||||||
var (
|
var (
|
||||||
// ErrAccessKeyIDNotFound is returned when the AWS Access Key ID can't be
|
// ErrAccessKeyIDNotFound is returned when the AWS Access Key ID can't be
|
||||||
// found in the process's environment.
|
// found in the process's environment.
|
||||||
//
|
|
||||||
// @readonly
|
|
||||||
ErrAccessKeyIDNotFound = awserr.New("EnvAccessKeyNotFound", "AWS_ACCESS_KEY_ID or AWS_ACCESS_KEY not found in environment", nil)
|
ErrAccessKeyIDNotFound = awserr.New("EnvAccessKeyNotFound", "AWS_ACCESS_KEY_ID or AWS_ACCESS_KEY not found in environment", nil)
|
||||||
|
|
||||||
// ErrSecretAccessKeyNotFound is returned when the AWS Secret Access Key
|
// ErrSecretAccessKeyNotFound is returned when the AWS Secret Access Key
|
||||||
// can't be found in the process's environment.
|
// can't be found in the process's environment.
|
||||||
//
|
|
||||||
// @readonly
|
|
||||||
ErrSecretAccessKeyNotFound = awserr.New("EnvSecretNotFound", "AWS_SECRET_ACCESS_KEY or AWS_SECRET_KEY not found in environment", nil)
|
ErrSecretAccessKeyNotFound = awserr.New("EnvSecretNotFound", "AWS_SECRET_ACCESS_KEY or AWS_SECRET_KEY not found in environment", nil)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
2
vendor/github.com/aws/aws-sdk-go/aws/credentials/static_provider.go
generated
vendored
2
vendor/github.com/aws/aws-sdk-go/aws/credentials/static_provider.go
generated
vendored
@ -9,8 +9,6 @@ const StaticProviderName = "StaticProvider"
|
|||||||
|
|
||||||
var (
|
var (
|
||||||
// ErrStaticCredentialsEmpty is emitted when static credentials are empty.
|
// ErrStaticCredentialsEmpty is emitted when static credentials are empty.
|
||||||
//
|
|
||||||
// @readonly
|
|
||||||
ErrStaticCredentialsEmpty = awserr.New("EmptyStaticCreds", "static credentials are empty", nil)
|
ErrStaticCredentialsEmpty = awserr.New("EmptyStaticCreds", "static credentials are empty", nil)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
9
vendor/github.com/aws/aws-sdk-go/aws/endpoints/decode.go
generated
vendored
9
vendor/github.com/aws/aws-sdk-go/aws/endpoints/decode.go
generated
vendored
@ -95,7 +95,12 @@ func custAddS3DualStack(p *partition) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
s, ok := p.Services["s3"]
|
custAddDualstack(p, "s3")
|
||||||
|
custAddDualstack(p, "s3-control")
|
||||||
|
}
|
||||||
|
|
||||||
|
func custAddDualstack(p *partition, svcName string) {
|
||||||
|
s, ok := p.Services[svcName]
|
||||||
if !ok {
|
if !ok {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -103,7 +108,7 @@ func custAddS3DualStack(p *partition) {
|
|||||||
s.Defaults.HasDualStack = boxedTrue
|
s.Defaults.HasDualStack = boxedTrue
|
||||||
s.Defaults.DualStackHostname = "{service}.dualstack.{region}.{dnsSuffix}"
|
s.Defaults.DualStackHostname = "{service}.dualstack.{region}.{dnsSuffix}"
|
||||||
|
|
||||||
p.Services["s3"] = s
|
p.Services[svcName] = s
|
||||||
}
|
}
|
||||||
|
|
||||||
func custAddEC2Metadata(p *partition) {
|
func custAddEC2Metadata(p *partition) {
|
||||||
|
380
vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go
generated
vendored
380
vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go
generated
vendored
@ -40,6 +40,7 @@ const (
|
|||||||
|
|
||||||
// AWS GovCloud (US) partition's regions.
|
// AWS GovCloud (US) partition's regions.
|
||||||
const (
|
const (
|
||||||
|
UsGovEast1RegionID = "us-gov-east-1" // AWS GovCloud (US-East).
|
||||||
UsGovWest1RegionID = "us-gov-west-1" // AWS GovCloud (US).
|
UsGovWest1RegionID = "us-gov-west-1" // AWS GovCloud (US).
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -54,12 +55,14 @@ const (
|
|||||||
ApigatewayServiceID = "apigateway" // Apigateway.
|
ApigatewayServiceID = "apigateway" // Apigateway.
|
||||||
ApplicationAutoscalingServiceID = "application-autoscaling" // ApplicationAutoscaling.
|
ApplicationAutoscalingServiceID = "application-autoscaling" // ApplicationAutoscaling.
|
||||||
Appstream2ServiceID = "appstream2" // Appstream2.
|
Appstream2ServiceID = "appstream2" // Appstream2.
|
||||||
|
AppsyncServiceID = "appsync" // Appsync.
|
||||||
AthenaServiceID = "athena" // Athena.
|
AthenaServiceID = "athena" // Athena.
|
||||||
AutoscalingServiceID = "autoscaling" // Autoscaling.
|
AutoscalingServiceID = "autoscaling" // Autoscaling.
|
||||||
AutoscalingPlansServiceID = "autoscaling-plans" // AutoscalingPlans.
|
AutoscalingPlansServiceID = "autoscaling-plans" // AutoscalingPlans.
|
||||||
BatchServiceID = "batch" // Batch.
|
BatchServiceID = "batch" // Batch.
|
||||||
BudgetsServiceID = "budgets" // Budgets.
|
BudgetsServiceID = "budgets" // Budgets.
|
||||||
CeServiceID = "ce" // Ce.
|
CeServiceID = "ce" // Ce.
|
||||||
|
ChimeServiceID = "chime" // Chime.
|
||||||
Cloud9ServiceID = "cloud9" // Cloud9.
|
Cloud9ServiceID = "cloud9" // Cloud9.
|
||||||
ClouddirectoryServiceID = "clouddirectory" // Clouddirectory.
|
ClouddirectoryServiceID = "clouddirectory" // Clouddirectory.
|
||||||
CloudformationServiceID = "cloudformation" // Cloudformation.
|
CloudformationServiceID = "cloudformation" // Cloudformation.
|
||||||
@ -148,6 +151,7 @@ const (
|
|||||||
RuntimeLexServiceID = "runtime.lex" // RuntimeLex.
|
RuntimeLexServiceID = "runtime.lex" // RuntimeLex.
|
||||||
RuntimeSagemakerServiceID = "runtime.sagemaker" // RuntimeSagemaker.
|
RuntimeSagemakerServiceID = "runtime.sagemaker" // RuntimeSagemaker.
|
||||||
S3ServiceID = "s3" // S3.
|
S3ServiceID = "s3" // S3.
|
||||||
|
S3ControlServiceID = "s3-control" // S3Control.
|
||||||
SdbServiceID = "sdb" // Sdb.
|
SdbServiceID = "sdb" // Sdb.
|
||||||
SecretsmanagerServiceID = "secretsmanager" // Secretsmanager.
|
SecretsmanagerServiceID = "secretsmanager" // Secretsmanager.
|
||||||
ServerlessrepoServiceID = "serverlessrepo" // Serverlessrepo.
|
ServerlessrepoServiceID = "serverlessrepo" // Serverlessrepo.
|
||||||
@ -337,11 +341,16 @@ var awsPartition = partition{
|
|||||||
Endpoints: endpoints{
|
Endpoints: endpoints{
|
||||||
"ap-northeast-1": endpoint{},
|
"ap-northeast-1": endpoint{},
|
||||||
"ap-northeast-2": endpoint{},
|
"ap-northeast-2": endpoint{},
|
||||||
|
"ap-south-1": endpoint{},
|
||||||
|
"ap-southeast-1": endpoint{},
|
||||||
"ap-southeast-2": endpoint{},
|
"ap-southeast-2": endpoint{},
|
||||||
|
"ca-central-1": endpoint{},
|
||||||
"eu-central-1": endpoint{},
|
"eu-central-1": endpoint{},
|
||||||
"eu-west-1": endpoint{},
|
"eu-west-1": endpoint{},
|
||||||
|
"eu-west-2": endpoint{},
|
||||||
"us-east-1": endpoint{},
|
"us-east-1": endpoint{},
|
||||||
"us-east-2": endpoint{},
|
"us-east-2": endpoint{},
|
||||||
|
"us-west-1": endpoint{},
|
||||||
"us-west-2": endpoint{},
|
"us-west-2": endpoint{},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -405,6 +414,21 @@ var awsPartition = partition{
|
|||||||
"us-west-2": endpoint{},
|
"us-west-2": endpoint{},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
"appsync": service{
|
||||||
|
|
||||||
|
Endpoints: endpoints{
|
||||||
|
"ap-northeast-1": endpoint{},
|
||||||
|
"ap-northeast-2": endpoint{},
|
||||||
|
"ap-south-1": endpoint{},
|
||||||
|
"ap-southeast-1": endpoint{},
|
||||||
|
"ap-southeast-2": endpoint{},
|
||||||
|
"eu-central-1": endpoint{},
|
||||||
|
"eu-west-1": endpoint{},
|
||||||
|
"us-east-1": endpoint{},
|
||||||
|
"us-east-2": endpoint{},
|
||||||
|
"us-west-2": endpoint{},
|
||||||
|
},
|
||||||
|
},
|
||||||
"athena": service{
|
"athena": service{
|
||||||
|
|
||||||
Endpoints: endpoints{
|
Endpoints: endpoints{
|
||||||
@ -504,6 +528,23 @@ var awsPartition = partition{
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
"chime": service{
|
||||||
|
PartitionEndpoint: "aws-global",
|
||||||
|
IsRegionalized: boxedFalse,
|
||||||
|
Defaults: endpoint{
|
||||||
|
SSLCommonName: "service.chime.aws.amazon.com",
|
||||||
|
Protocols: []string{"https"},
|
||||||
|
},
|
||||||
|
Endpoints: endpoints{
|
||||||
|
"aws-global": endpoint{
|
||||||
|
Hostname: "service.chime.aws.amazon.com",
|
||||||
|
Protocols: []string{"https"},
|
||||||
|
CredentialScope: credentialScope{
|
||||||
|
Region: "us-east-1",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
"cloud9": service{
|
"cloud9": service{
|
||||||
|
|
||||||
Endpoints: endpoints{
|
Endpoints: endpoints{
|
||||||
@ -584,6 +625,7 @@ var awsPartition = partition{
|
|||||||
},
|
},
|
||||||
Endpoints: endpoints{
|
Endpoints: endpoints{
|
||||||
"ap-northeast-1": endpoint{},
|
"ap-northeast-1": endpoint{},
|
||||||
|
"ap-northeast-2": endpoint{},
|
||||||
"ap-south-1": endpoint{},
|
"ap-south-1": endpoint{},
|
||||||
"ap-southeast-1": endpoint{},
|
"ap-southeast-1": endpoint{},
|
||||||
"ap-southeast-2": endpoint{},
|
"ap-southeast-2": endpoint{},
|
||||||
@ -591,6 +633,7 @@ var awsPartition = partition{
|
|||||||
"eu-central-1": endpoint{},
|
"eu-central-1": endpoint{},
|
||||||
"eu-west-1": endpoint{},
|
"eu-west-1": endpoint{},
|
||||||
"eu-west-2": endpoint{},
|
"eu-west-2": endpoint{},
|
||||||
|
"eu-west-3": endpoint{},
|
||||||
"us-east-1": endpoint{},
|
"us-east-1": endpoint{},
|
||||||
"us-east-2": endpoint{},
|
"us-east-2": endpoint{},
|
||||||
"us-west-1": endpoint{},
|
"us-west-1": endpoint{},
|
||||||
@ -689,11 +732,17 @@ var awsPartition = partition{
|
|||||||
"eu-west-1": endpoint{},
|
"eu-west-1": endpoint{},
|
||||||
"eu-west-2": endpoint{},
|
"eu-west-2": endpoint{},
|
||||||
"eu-west-3": endpoint{},
|
"eu-west-3": endpoint{},
|
||||||
"sa-east-1": endpoint{},
|
"fips": endpoint{
|
||||||
"us-east-1": endpoint{},
|
Hostname: "codecommit-fips.ca-central-1.amazonaws.com",
|
||||||
"us-east-2": endpoint{},
|
CredentialScope: credentialScope{
|
||||||
"us-west-1": endpoint{},
|
Region: "ca-central-1",
|
||||||
"us-west-2": endpoint{},
|
},
|
||||||
|
},
|
||||||
|
"sa-east-1": endpoint{},
|
||||||
|
"us-east-1": endpoint{},
|
||||||
|
"us-east-2": endpoint{},
|
||||||
|
"us-west-1": endpoint{},
|
||||||
|
"us-west-2": endpoint{},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"codedeploy": service{
|
"codedeploy": service{
|
||||||
@ -711,9 +760,33 @@ var awsPartition = partition{
|
|||||||
"eu-west-3": endpoint{},
|
"eu-west-3": endpoint{},
|
||||||
"sa-east-1": endpoint{},
|
"sa-east-1": endpoint{},
|
||||||
"us-east-1": endpoint{},
|
"us-east-1": endpoint{},
|
||||||
"us-east-2": endpoint{},
|
"us-east-1-fips": endpoint{
|
||||||
"us-west-1": endpoint{},
|
Hostname: "codedeploy-fips.us-east-1.amazonaws.com",
|
||||||
"us-west-2": endpoint{},
|
CredentialScope: credentialScope{
|
||||||
|
Region: "us-east-1",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"us-east-2": endpoint{},
|
||||||
|
"us-east-2-fips": endpoint{
|
||||||
|
Hostname: "codedeploy-fips.us-east-2.amazonaws.com",
|
||||||
|
CredentialScope: credentialScope{
|
||||||
|
Region: "us-east-2",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"us-west-1": endpoint{},
|
||||||
|
"us-west-1-fips": endpoint{
|
||||||
|
Hostname: "codedeploy-fips.us-west-1.amazonaws.com",
|
||||||
|
CredentialScope: credentialScope{
|
||||||
|
Region: "us-west-1",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"us-west-2": endpoint{},
|
||||||
|
"us-west-2-fips": endpoint{
|
||||||
|
Hostname: "codedeploy-fips.us-west-2.amazonaws.com",
|
||||||
|
CredentialScope: credentialScope{
|
||||||
|
Region: "us-west-2",
|
||||||
|
},
|
||||||
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"codepipeline": service{
|
"codepipeline": service{
|
||||||
@ -1284,6 +1357,7 @@ var awsPartition = partition{
|
|||||||
"eu-west-1": endpoint{},
|
"eu-west-1": endpoint{},
|
||||||
"eu-west-2": endpoint{},
|
"eu-west-2": endpoint{},
|
||||||
"eu-west-3": endpoint{},
|
"eu-west-3": endpoint{},
|
||||||
|
"sa-east-1": endpoint{},
|
||||||
"us-east-1": endpoint{},
|
"us-east-1": endpoint{},
|
||||||
"us-east-2": endpoint{},
|
"us-east-2": endpoint{},
|
||||||
"us-west-1": endpoint{},
|
"us-west-1": endpoint{},
|
||||||
@ -1417,6 +1491,7 @@ var awsPartition = partition{
|
|||||||
|
|
||||||
Endpoints: endpoints{
|
Endpoints: endpoints{
|
||||||
"ap-northeast-1": endpoint{},
|
"ap-northeast-1": endpoint{},
|
||||||
|
"eu-central-1": endpoint{},
|
||||||
"eu-west-1": endpoint{},
|
"eu-west-1": endpoint{},
|
||||||
"us-east-1": endpoint{},
|
"us-east-1": endpoint{},
|
||||||
"us-east-2": endpoint{},
|
"us-east-2": endpoint{},
|
||||||
@ -1592,6 +1667,7 @@ var awsPartition = partition{
|
|||||||
Endpoints: endpoints{
|
Endpoints: endpoints{
|
||||||
"ap-northeast-1": endpoint{},
|
"ap-northeast-1": endpoint{},
|
||||||
"ap-northeast-2": endpoint{},
|
"ap-northeast-2": endpoint{},
|
||||||
|
"ap-south-1": endpoint{},
|
||||||
"ap-southeast-1": endpoint{},
|
"ap-southeast-1": endpoint{},
|
||||||
"ap-southeast-2": endpoint{},
|
"ap-southeast-2": endpoint{},
|
||||||
"eu-central-1": endpoint{},
|
"eu-central-1": endpoint{},
|
||||||
@ -1698,6 +1774,12 @@ var awsPartition = partition{
|
|||||||
"neptune": service{
|
"neptune": service{
|
||||||
|
|
||||||
Endpoints: endpoints{
|
Endpoints: endpoints{
|
||||||
|
"eu-central-1": endpoint{
|
||||||
|
Hostname: "rds.eu-central-1.amazonaws.com",
|
||||||
|
CredentialScope: credentialScope{
|
||||||
|
Region: "eu-central-1",
|
||||||
|
},
|
||||||
|
},
|
||||||
"eu-west-1": endpoint{
|
"eu-west-1": endpoint{
|
||||||
Hostname: "rds.eu-west-1.amazonaws.com",
|
Hostname: "rds.eu-west-1.amazonaws.com",
|
||||||
CredentialScope: credentialScope{
|
CredentialScope: credentialScope{
|
||||||
@ -1784,6 +1866,7 @@ var awsPartition = partition{
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
Endpoints: endpoints{
|
Endpoints: endpoints{
|
||||||
|
"eu-west-1": endpoint{},
|
||||||
"us-east-1": endpoint{},
|
"us-east-1": endpoint{},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -1916,11 +1999,16 @@ var awsPartition = partition{
|
|||||||
Endpoints: endpoints{
|
Endpoints: endpoints{
|
||||||
"ap-northeast-1": endpoint{},
|
"ap-northeast-1": endpoint{},
|
||||||
"ap-northeast-2": endpoint{},
|
"ap-northeast-2": endpoint{},
|
||||||
|
"ap-south-1": endpoint{},
|
||||||
|
"ap-southeast-1": endpoint{},
|
||||||
"ap-southeast-2": endpoint{},
|
"ap-southeast-2": endpoint{},
|
||||||
|
"ca-central-1": endpoint{},
|
||||||
"eu-central-1": endpoint{},
|
"eu-central-1": endpoint{},
|
||||||
"eu-west-1": endpoint{},
|
"eu-west-1": endpoint{},
|
||||||
|
"eu-west-2": endpoint{},
|
||||||
"us-east-1": endpoint{},
|
"us-east-1": endpoint{},
|
||||||
"us-east-2": endpoint{},
|
"us-east-2": endpoint{},
|
||||||
|
"us-west-1": endpoint{},
|
||||||
"us-west-2": endpoint{},
|
"us-west-2": endpoint{},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -1983,6 +2071,150 @@ var awsPartition = partition{
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
"s3-control": service{
|
||||||
|
Defaults: endpoint{
|
||||||
|
Protocols: []string{"https"},
|
||||||
|
SignatureVersions: []string{"s3v4"},
|
||||||
|
|
||||||
|
HasDualStack: boxedTrue,
|
||||||
|
DualStackHostname: "{service}.dualstack.{region}.{dnsSuffix}",
|
||||||
|
},
|
||||||
|
Endpoints: endpoints{
|
||||||
|
"ap-northeast-1": endpoint{
|
||||||
|
Hostname: "s3-control.ap-northeast-1.amazonaws.com",
|
||||||
|
SignatureVersions: []string{"s3v4"},
|
||||||
|
CredentialScope: credentialScope{
|
||||||
|
Region: "ap-northeast-1",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"ap-northeast-2": endpoint{
|
||||||
|
Hostname: "s3-control.ap-northeast-2.amazonaws.com",
|
||||||
|
SignatureVersions: []string{"s3v4"},
|
||||||
|
CredentialScope: credentialScope{
|
||||||
|
Region: "ap-northeast-2",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"ap-south-1": endpoint{
|
||||||
|
Hostname: "s3-control.ap-south-1.amazonaws.com",
|
||||||
|
SignatureVersions: []string{"s3v4"},
|
||||||
|
CredentialScope: credentialScope{
|
||||||
|
Region: "ap-south-1",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"ap-southeast-1": endpoint{
|
||||||
|
Hostname: "s3-control.ap-southeast-1.amazonaws.com",
|
||||||
|
SignatureVersions: []string{"s3v4"},
|
||||||
|
CredentialScope: credentialScope{
|
||||||
|
Region: "ap-southeast-1",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"ap-southeast-2": endpoint{
|
||||||
|
Hostname: "s3-control.ap-southeast-2.amazonaws.com",
|
||||||
|
SignatureVersions: []string{"s3v4"},
|
||||||
|
CredentialScope: credentialScope{
|
||||||
|
Region: "ap-southeast-2",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"ca-central-1": endpoint{
|
||||||
|
Hostname: "s3-control.ca-central-1.amazonaws.com",
|
||||||
|
SignatureVersions: []string{"s3v4"},
|
||||||
|
CredentialScope: credentialScope{
|
||||||
|
Region: "ca-central-1",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"eu-central-1": endpoint{
|
||||||
|
Hostname: "s3-control.eu-central-1.amazonaws.com",
|
||||||
|
SignatureVersions: []string{"s3v4"},
|
||||||
|
CredentialScope: credentialScope{
|
||||||
|
Region: "eu-central-1",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"eu-west-1": endpoint{
|
||||||
|
Hostname: "s3-control.eu-west-1.amazonaws.com",
|
||||||
|
SignatureVersions: []string{"s3v4"},
|
||||||
|
CredentialScope: credentialScope{
|
||||||
|
Region: "eu-west-1",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"eu-west-2": endpoint{
|
||||||
|
Hostname: "s3-control.eu-west-2.amazonaws.com",
|
||||||
|
SignatureVersions: []string{"s3v4"},
|
||||||
|
CredentialScope: credentialScope{
|
||||||
|
Region: "eu-west-2",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"eu-west-3": endpoint{
|
||||||
|
Hostname: "s3-control.eu-west-3.amazonaws.com",
|
||||||
|
SignatureVersions: []string{"s3v4"},
|
||||||
|
CredentialScope: credentialScope{
|
||||||
|
Region: "eu-west-3",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"sa-east-1": endpoint{
|
||||||
|
Hostname: "s3-control.sa-east-1.amazonaws.com",
|
||||||
|
SignatureVersions: []string{"s3v4"},
|
||||||
|
CredentialScope: credentialScope{
|
||||||
|
Region: "sa-east-1",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"us-east-1": endpoint{
|
||||||
|
Hostname: "s3-control.us-east-1.amazonaws.com",
|
||||||
|
SignatureVersions: []string{"s3v4"},
|
||||||
|
CredentialScope: credentialScope{
|
||||||
|
Region: "us-east-1",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"us-east-1-fips": endpoint{
|
||||||
|
Hostname: "s3-control-fips.us-east-1.amazonaws.com",
|
||||||
|
SignatureVersions: []string{"s3v4"},
|
||||||
|
CredentialScope: credentialScope{
|
||||||
|
Region: "us-east-1",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"us-east-2": endpoint{
|
||||||
|
Hostname: "s3-control.us-east-2.amazonaws.com",
|
||||||
|
SignatureVersions: []string{"s3v4"},
|
||||||
|
CredentialScope: credentialScope{
|
||||||
|
Region: "us-east-2",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"us-east-2-fips": endpoint{
|
||||||
|
Hostname: "s3-control-fips.us-east-2.amazonaws.com",
|
||||||
|
SignatureVersions: []string{"s3v4"},
|
||||||
|
CredentialScope: credentialScope{
|
||||||
|
Region: "us-east-2",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"us-west-1": endpoint{
|
||||||
|
Hostname: "s3-control.us-west-1.amazonaws.com",
|
||||||
|
SignatureVersions: []string{"s3v4"},
|
||||||
|
CredentialScope: credentialScope{
|
||||||
|
Region: "us-west-1",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"us-west-1-fips": endpoint{
|
||||||
|
Hostname: "s3-control-fips.us-west-1.amazonaws.com",
|
||||||
|
SignatureVersions: []string{"s3v4"},
|
||||||
|
CredentialScope: credentialScope{
|
||||||
|
Region: "us-west-1",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"us-west-2": endpoint{
|
||||||
|
Hostname: "s3-control.us-west-2.amazonaws.com",
|
||||||
|
SignatureVersions: []string{"s3v4"},
|
||||||
|
CredentialScope: credentialScope{
|
||||||
|
Region: "us-west-2",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"us-west-2-fips": endpoint{
|
||||||
|
Hostname: "s3-control-fips.us-west-2.amazonaws.com",
|
||||||
|
SignatureVersions: []string{"s3v4"},
|
||||||
|
CredentialScope: credentialScope{
|
||||||
|
Region: "us-west-2",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
"sdb": service{
|
"sdb": service{
|
||||||
Defaults: endpoint{
|
Defaults: endpoint{
|
||||||
Protocols: []string{"http", "https"},
|
Protocols: []string{"http", "https"},
|
||||||
@ -2574,6 +2806,7 @@ var awsPartition = partition{
|
|||||||
"eu-central-1": endpoint{},
|
"eu-central-1": endpoint{},
|
||||||
"eu-west-1": endpoint{},
|
"eu-west-1": endpoint{},
|
||||||
"eu-west-2": endpoint{},
|
"eu-west-2": endpoint{},
|
||||||
|
"eu-west-3": endpoint{},
|
||||||
"sa-east-1": endpoint{},
|
"sa-east-1": endpoint{},
|
||||||
"us-east-1": endpoint{},
|
"us-east-1": endpoint{},
|
||||||
"us-east-2": endpoint{},
|
"us-east-2": endpoint{},
|
||||||
@ -2690,6 +2923,13 @@ var awscnPartition = partition{
|
|||||||
"cn-northwest-1": endpoint{},
|
"cn-northwest-1": endpoint{},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
"dms": service{
|
||||||
|
|
||||||
|
Endpoints: endpoints{
|
||||||
|
"cn-north-1": endpoint{},
|
||||||
|
"cn-northwest-1": endpoint{},
|
||||||
|
},
|
||||||
|
},
|
||||||
"ds": service{
|
"ds": service{
|
||||||
|
|
||||||
Endpoints: endpoints{
|
Endpoints: endpoints{
|
||||||
@ -2775,6 +3015,7 @@ var awscnPartition = partition{
|
|||||||
"es": service{
|
"es": service{
|
||||||
|
|
||||||
Endpoints: endpoints{
|
Endpoints: endpoints{
|
||||||
|
"cn-north-1": endpoint{},
|
||||||
"cn-northwest-1": endpoint{},
|
"cn-northwest-1": endpoint{},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -2871,6 +3112,28 @@ var awscnPartition = partition{
|
|||||||
"cn-northwest-1": endpoint{},
|
"cn-northwest-1": endpoint{},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
"s3-control": service{
|
||||||
|
Defaults: endpoint{
|
||||||
|
Protocols: []string{"https"},
|
||||||
|
SignatureVersions: []string{"s3v4"},
|
||||||
|
},
|
||||||
|
Endpoints: endpoints{
|
||||||
|
"cn-north-1": endpoint{
|
||||||
|
Hostname: "s3-control.cn-north-1.amazonaws.com.cn",
|
||||||
|
SignatureVersions: []string{"s3v4"},
|
||||||
|
CredentialScope: credentialScope{
|
||||||
|
Region: "cn-north-1",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"cn-northwest-1": endpoint{
|
||||||
|
Hostname: "s3-control.cn-northwest-1.amazonaws.com.cn",
|
||||||
|
SignatureVersions: []string{"s3v4"},
|
||||||
|
CredentialScope: credentialScope{
|
||||||
|
Region: "cn-northwest-1",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
"sms": service{
|
"sms": service{
|
||||||
|
|
||||||
Endpoints: endpoints{
|
Endpoints: endpoints{
|
||||||
@ -2973,6 +3236,9 @@ var awsusgovPartition = partition{
|
|||||||
SignatureVersions: []string{"v4"},
|
SignatureVersions: []string{"v4"},
|
||||||
},
|
},
|
||||||
Regions: regions{
|
Regions: regions{
|
||||||
|
"us-gov-east-1": region{
|
||||||
|
Description: "AWS GovCloud (US-East)",
|
||||||
|
},
|
||||||
"us-gov-west-1": region{
|
"us-gov-west-1": region{
|
||||||
Description: "AWS GovCloud (US)",
|
Description: "AWS GovCloud (US)",
|
||||||
},
|
},
|
||||||
@ -2981,6 +3247,7 @@ var awsusgovPartition = partition{
|
|||||||
"acm": service{
|
"acm": service{
|
||||||
|
|
||||||
Endpoints: endpoints{
|
Endpoints: endpoints{
|
||||||
|
"us-gov-east-1": endpoint{},
|
||||||
"us-gov-west-1": endpoint{},
|
"us-gov-west-1": endpoint{},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -2993,26 +3260,36 @@ var awsusgovPartition = partition{
|
|||||||
"apigateway": service{
|
"apigateway": service{
|
||||||
|
|
||||||
Endpoints: endpoints{
|
Endpoints: endpoints{
|
||||||
|
"us-gov-east-1": endpoint{},
|
||||||
"us-gov-west-1": endpoint{},
|
"us-gov-west-1": endpoint{},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"application-autoscaling": service{
|
"application-autoscaling": service{
|
||||||
|
|
||||||
Endpoints: endpoints{
|
Endpoints: endpoints{
|
||||||
|
"us-gov-east-1": endpoint{},
|
||||||
"us-gov-west-1": endpoint{},
|
"us-gov-west-1": endpoint{},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"autoscaling": service{
|
"autoscaling": service{
|
||||||
|
|
||||||
Endpoints: endpoints{
|
Endpoints: endpoints{
|
||||||
|
"us-gov-east-1": endpoint{},
|
||||||
"us-gov-west-1": endpoint{
|
"us-gov-west-1": endpoint{
|
||||||
Protocols: []string{"http", "https"},
|
Protocols: []string{"http", "https"},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
"clouddirectory": service{
|
||||||
|
|
||||||
|
Endpoints: endpoints{
|
||||||
|
"us-gov-west-1": endpoint{},
|
||||||
|
},
|
||||||
|
},
|
||||||
"cloudformation": service{
|
"cloudformation": service{
|
||||||
|
|
||||||
Endpoints: endpoints{
|
Endpoints: endpoints{
|
||||||
|
"us-gov-east-1": endpoint{},
|
||||||
"us-gov-west-1": endpoint{},
|
"us-gov-west-1": endpoint{},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -3035,36 +3312,48 @@ var awsusgovPartition = partition{
|
|||||||
"cloudtrail": service{
|
"cloudtrail": service{
|
||||||
|
|
||||||
Endpoints: endpoints{
|
Endpoints: endpoints{
|
||||||
|
"us-gov-east-1": endpoint{},
|
||||||
"us-gov-west-1": endpoint{},
|
"us-gov-west-1": endpoint{},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"codedeploy": service{
|
"codedeploy": service{
|
||||||
|
|
||||||
Endpoints: endpoints{
|
Endpoints: endpoints{
|
||||||
|
"us-gov-east-1": endpoint{},
|
||||||
"us-gov-west-1": endpoint{},
|
"us-gov-west-1": endpoint{},
|
||||||
|
"us-gov-west-1-fips": endpoint{
|
||||||
|
Hostname: "codedeploy-fips.us-gov-west-1.amazonaws.com",
|
||||||
|
CredentialScope: credentialScope{
|
||||||
|
Region: "us-gov-west-1",
|
||||||
|
},
|
||||||
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"config": service{
|
"config": service{
|
||||||
|
|
||||||
Endpoints: endpoints{
|
Endpoints: endpoints{
|
||||||
|
"us-gov-east-1": endpoint{},
|
||||||
"us-gov-west-1": endpoint{},
|
"us-gov-west-1": endpoint{},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"directconnect": service{
|
"directconnect": service{
|
||||||
|
|
||||||
Endpoints: endpoints{
|
Endpoints: endpoints{
|
||||||
|
"us-gov-east-1": endpoint{},
|
||||||
"us-gov-west-1": endpoint{},
|
"us-gov-west-1": endpoint{},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"dms": service{
|
"dms": service{
|
||||||
|
|
||||||
Endpoints: endpoints{
|
Endpoints: endpoints{
|
||||||
|
"us-gov-east-1": endpoint{},
|
||||||
"us-gov-west-1": endpoint{},
|
"us-gov-west-1": endpoint{},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"dynamodb": service{
|
"dynamodb": service{
|
||||||
|
|
||||||
Endpoints: endpoints{
|
Endpoints: endpoints{
|
||||||
|
"us-gov-east-1": endpoint{},
|
||||||
"us-gov-west-1": endpoint{},
|
"us-gov-west-1": endpoint{},
|
||||||
"us-gov-west-1-fips": endpoint{
|
"us-gov-west-1-fips": endpoint{
|
||||||
Hostname: "dynamodb.us-gov-west-1.amazonaws.com",
|
Hostname: "dynamodb.us-gov-west-1.amazonaws.com",
|
||||||
@ -3077,6 +3366,7 @@ var awsusgovPartition = partition{
|
|||||||
"ec2": service{
|
"ec2": service{
|
||||||
|
|
||||||
Endpoints: endpoints{
|
Endpoints: endpoints{
|
||||||
|
"us-gov-east-1": endpoint{},
|
||||||
"us-gov-west-1": endpoint{},
|
"us-gov-west-1": endpoint{},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -3094,12 +3384,14 @@ var awsusgovPartition = partition{
|
|||||||
"ecr": service{
|
"ecr": service{
|
||||||
|
|
||||||
Endpoints: endpoints{
|
Endpoints: endpoints{
|
||||||
|
"us-gov-east-1": endpoint{},
|
||||||
"us-gov-west-1": endpoint{},
|
"us-gov-west-1": endpoint{},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"ecs": service{
|
"ecs": service{
|
||||||
|
|
||||||
Endpoints: endpoints{
|
Endpoints: endpoints{
|
||||||
|
"us-gov-east-1": endpoint{},
|
||||||
"us-gov-west-1": endpoint{},
|
"us-gov-west-1": endpoint{},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -3112,18 +3404,21 @@ var awsusgovPartition = partition{
|
|||||||
Region: "us-gov-west-1",
|
Region: "us-gov-west-1",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
"us-gov-east-1": endpoint{},
|
||||||
"us-gov-west-1": endpoint{},
|
"us-gov-west-1": endpoint{},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"elasticbeanstalk": service{
|
"elasticbeanstalk": service{
|
||||||
|
|
||||||
Endpoints: endpoints{
|
Endpoints: endpoints{
|
||||||
|
"us-gov-east-1": endpoint{},
|
||||||
"us-gov-west-1": endpoint{},
|
"us-gov-west-1": endpoint{},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"elasticloadbalancing": service{
|
"elasticloadbalancing": service{
|
||||||
|
|
||||||
Endpoints: endpoints{
|
Endpoints: endpoints{
|
||||||
|
"us-gov-east-1": endpoint{},
|
||||||
"us-gov-west-1": endpoint{
|
"us-gov-west-1": endpoint{
|
||||||
Protocols: []string{"http", "https"},
|
Protocols: []string{"http", "https"},
|
||||||
},
|
},
|
||||||
@ -3132,6 +3427,7 @@ var awsusgovPartition = partition{
|
|||||||
"elasticmapreduce": service{
|
"elasticmapreduce": service{
|
||||||
|
|
||||||
Endpoints: endpoints{
|
Endpoints: endpoints{
|
||||||
|
"us-gov-east-1": endpoint{},
|
||||||
"us-gov-west-1": endpoint{
|
"us-gov-west-1": endpoint{
|
||||||
Protocols: []string{"https"},
|
Protocols: []string{"https"},
|
||||||
},
|
},
|
||||||
@ -3146,17 +3442,28 @@ var awsusgovPartition = partition{
|
|||||||
"events": service{
|
"events": service{
|
||||||
|
|
||||||
Endpoints: endpoints{
|
Endpoints: endpoints{
|
||||||
|
"us-gov-east-1": endpoint{},
|
||||||
"us-gov-west-1": endpoint{},
|
"us-gov-west-1": endpoint{},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"glacier": service{
|
"glacier": service{
|
||||||
|
|
||||||
Endpoints: endpoints{
|
Endpoints: endpoints{
|
||||||
|
"us-gov-east-1": endpoint{},
|
||||||
"us-gov-west-1": endpoint{
|
"us-gov-west-1": endpoint{
|
||||||
Protocols: []string{"http", "https"},
|
Protocols: []string{"http", "https"},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
"guardduty": service{
|
||||||
|
IsRegionalized: boxedTrue,
|
||||||
|
Defaults: endpoint{
|
||||||
|
Protocols: []string{"https"},
|
||||||
|
},
|
||||||
|
Endpoints: endpoints{
|
||||||
|
"us-gov-west-1": endpoint{},
|
||||||
|
},
|
||||||
|
},
|
||||||
"iam": service{
|
"iam": service{
|
||||||
PartitionEndpoint: "aws-us-gov-global",
|
PartitionEndpoint: "aws-us-gov-global",
|
||||||
IsRegionalized: boxedFalse,
|
IsRegionalized: boxedFalse,
|
||||||
@ -3173,6 +3480,7 @@ var awsusgovPartition = partition{
|
|||||||
"inspector": service{
|
"inspector": service{
|
||||||
|
|
||||||
Endpoints: endpoints{
|
Endpoints: endpoints{
|
||||||
|
"us-gov-east-1": endpoint{},
|
||||||
"us-gov-west-1": endpoint{},
|
"us-gov-west-1": endpoint{},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -3189,24 +3497,28 @@ var awsusgovPartition = partition{
|
|||||||
"kinesis": service{
|
"kinesis": service{
|
||||||
|
|
||||||
Endpoints: endpoints{
|
Endpoints: endpoints{
|
||||||
|
"us-gov-east-1": endpoint{},
|
||||||
"us-gov-west-1": endpoint{},
|
"us-gov-west-1": endpoint{},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"kms": service{
|
"kms": service{
|
||||||
|
|
||||||
Endpoints: endpoints{
|
Endpoints: endpoints{
|
||||||
|
"us-gov-east-1": endpoint{},
|
||||||
"us-gov-west-1": endpoint{},
|
"us-gov-west-1": endpoint{},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"lambda": service{
|
"lambda": service{
|
||||||
|
|
||||||
Endpoints: endpoints{
|
Endpoints: endpoints{
|
||||||
|
"us-gov-east-1": endpoint{},
|
||||||
"us-gov-west-1": endpoint{},
|
"us-gov-west-1": endpoint{},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"logs": service{
|
"logs": service{
|
||||||
|
|
||||||
Endpoints: endpoints{
|
Endpoints: endpoints{
|
||||||
|
"us-gov-east-1": endpoint{},
|
||||||
"us-gov-west-1": endpoint{},
|
"us-gov-west-1": endpoint{},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -3223,6 +3535,7 @@ var awsusgovPartition = partition{
|
|||||||
"monitoring": service{
|
"monitoring": service{
|
||||||
|
|
||||||
Endpoints: endpoints{
|
Endpoints: endpoints{
|
||||||
|
"us-gov-east-1": endpoint{},
|
||||||
"us-gov-west-1": endpoint{},
|
"us-gov-west-1": endpoint{},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -3235,12 +3548,14 @@ var awsusgovPartition = partition{
|
|||||||
"rds": service{
|
"rds": service{
|
||||||
|
|
||||||
Endpoints: endpoints{
|
Endpoints: endpoints{
|
||||||
|
"us-gov-east-1": endpoint{},
|
||||||
"us-gov-west-1": endpoint{},
|
"us-gov-west-1": endpoint{},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"redshift": service{
|
"redshift": service{
|
||||||
|
|
||||||
Endpoints: endpoints{
|
Endpoints: endpoints{
|
||||||
|
"us-gov-east-1": endpoint{},
|
||||||
"us-gov-west-1": endpoint{},
|
"us-gov-west-1": endpoint{},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -3267,15 +3582,56 @@ var awsusgovPartition = partition{
|
|||||||
Region: "us-gov-west-1",
|
Region: "us-gov-west-1",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
"us-gov-east-1": endpoint{
|
||||||
|
Hostname: "s3.us-gov-east-1.amazonaws.com",
|
||||||
|
Protocols: []string{"http", "https"},
|
||||||
|
},
|
||||||
"us-gov-west-1": endpoint{
|
"us-gov-west-1": endpoint{
|
||||||
Hostname: "s3.us-gov-west-1.amazonaws.com",
|
Hostname: "s3.us-gov-west-1.amazonaws.com",
|
||||||
Protocols: []string{"http", "https"},
|
Protocols: []string{"http", "https"},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
"s3-control": service{
|
||||||
|
Defaults: endpoint{
|
||||||
|
Protocols: []string{"https"},
|
||||||
|
SignatureVersions: []string{"s3v4"},
|
||||||
|
},
|
||||||
|
Endpoints: endpoints{
|
||||||
|
"us-gov-east-1": endpoint{
|
||||||
|
Hostname: "s3-control.us-gov-east-1.amazonaws.com",
|
||||||
|
SignatureVersions: []string{"s3v4"},
|
||||||
|
CredentialScope: credentialScope{
|
||||||
|
Region: "us-gov-east-1",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"us-gov-east-1-fips": endpoint{
|
||||||
|
Hostname: "s3-control-fips.us-gov-east-1.amazonaws.com",
|
||||||
|
SignatureVersions: []string{"s3v4"},
|
||||||
|
CredentialScope: credentialScope{
|
||||||
|
Region: "us-gov-east-1",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"us-gov-west-1": endpoint{
|
||||||
|
Hostname: "s3-control.us-gov-west-1.amazonaws.com",
|
||||||
|
SignatureVersions: []string{"s3v4"},
|
||||||
|
CredentialScope: credentialScope{
|
||||||
|
Region: "us-gov-west-1",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"us-gov-west-1-fips": endpoint{
|
||||||
|
Hostname: "s3-control-fips.us-gov-west-1.amazonaws.com",
|
||||||
|
SignatureVersions: []string{"s3v4"},
|
||||||
|
CredentialScope: credentialScope{
|
||||||
|
Region: "us-gov-west-1",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
"sms": service{
|
"sms": service{
|
||||||
|
|
||||||
Endpoints: endpoints{
|
Endpoints: endpoints{
|
||||||
|
"us-gov-east-1": endpoint{},
|
||||||
"us-gov-west-1": endpoint{},
|
"us-gov-west-1": endpoint{},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -3288,6 +3644,7 @@ var awsusgovPartition = partition{
|
|||||||
"sns": service{
|
"sns": service{
|
||||||
|
|
||||||
Endpoints: endpoints{
|
Endpoints: endpoints{
|
||||||
|
"us-gov-east-1": endpoint{},
|
||||||
"us-gov-west-1": endpoint{
|
"us-gov-west-1": endpoint{
|
||||||
Protocols: []string{"http", "https"},
|
Protocols: []string{"http", "https"},
|
||||||
},
|
},
|
||||||
@ -3296,6 +3653,7 @@ var awsusgovPartition = partition{
|
|||||||
"sqs": service{
|
"sqs": service{
|
||||||
|
|
||||||
Endpoints: endpoints{
|
Endpoints: endpoints{
|
||||||
|
"us-gov-east-1": endpoint{},
|
||||||
"us-gov-west-1": endpoint{
|
"us-gov-west-1": endpoint{
|
||||||
SSLCommonName: "{region}.queue.{dnsSuffix}",
|
SSLCommonName: "{region}.queue.{dnsSuffix}",
|
||||||
Protocols: []string{"http", "https"},
|
Protocols: []string{"http", "https"},
|
||||||
@ -3305,12 +3663,14 @@ var awsusgovPartition = partition{
|
|||||||
"ssm": service{
|
"ssm": service{
|
||||||
|
|
||||||
Endpoints: endpoints{
|
Endpoints: endpoints{
|
||||||
|
"us-gov-east-1": endpoint{},
|
||||||
"us-gov-west-1": endpoint{},
|
"us-gov-west-1": endpoint{},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"states": service{
|
"states": service{
|
||||||
|
|
||||||
Endpoints: endpoints{
|
Endpoints: endpoints{
|
||||||
|
"us-gov-east-1": endpoint{},
|
||||||
"us-gov-west-1": endpoint{},
|
"us-gov-west-1": endpoint{},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -3327,6 +3687,7 @@ var awsusgovPartition = partition{
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
Endpoints: endpoints{
|
Endpoints: endpoints{
|
||||||
|
"us-gov-east-1": endpoint{},
|
||||||
"us-gov-west-1": endpoint{},
|
"us-gov-west-1": endpoint{},
|
||||||
"us-gov-west-1-fips": endpoint{
|
"us-gov-west-1-fips": endpoint{
|
||||||
Hostname: "dynamodb.us-gov-west-1.amazonaws.com",
|
Hostname: "dynamodb.us-gov-west-1.amazonaws.com",
|
||||||
@ -3339,18 +3700,21 @@ var awsusgovPartition = partition{
|
|||||||
"sts": service{
|
"sts": service{
|
||||||
|
|
||||||
Endpoints: endpoints{
|
Endpoints: endpoints{
|
||||||
|
"us-gov-east-1": endpoint{},
|
||||||
"us-gov-west-1": endpoint{},
|
"us-gov-west-1": endpoint{},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"swf": service{
|
"swf": service{
|
||||||
|
|
||||||
Endpoints: endpoints{
|
Endpoints: endpoints{
|
||||||
|
"us-gov-east-1": endpoint{},
|
||||||
"us-gov-west-1": endpoint{},
|
"us-gov-west-1": endpoint{},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"tagging": service{
|
"tagging": service{
|
||||||
|
|
||||||
Endpoints: endpoints{
|
Endpoints: endpoints{
|
||||||
|
"us-gov-east-1": endpoint{},
|
||||||
"us-gov-west-1": endpoint{},
|
"us-gov-west-1": endpoint{},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
4
vendor/github.com/aws/aws-sdk-go/aws/errors.go
generated
vendored
4
vendor/github.com/aws/aws-sdk-go/aws/errors.go
generated
vendored
@ -5,13 +5,9 @@ import "github.com/aws/aws-sdk-go/aws/awserr"
|
|||||||
var (
|
var (
|
||||||
// ErrMissingRegion is an error that is returned if region configuration is
|
// ErrMissingRegion is an error that is returned if region configuration is
|
||||||
// not found.
|
// not found.
|
||||||
//
|
|
||||||
// @readonly
|
|
||||||
ErrMissingRegion = awserr.New("MissingRegion", "could not find region configuration", nil)
|
ErrMissingRegion = awserr.New("MissingRegion", "could not find region configuration", nil)
|
||||||
|
|
||||||
// ErrMissingEndpoint is an error that is returned if an endpoint cannot be
|
// ErrMissingEndpoint is an error that is returned if an endpoint cannot be
|
||||||
// resolved for a service.
|
// resolved for a service.
|
||||||
//
|
|
||||||
// @readonly
|
|
||||||
ErrMissingEndpoint = awserr.New("MissingEndpoint", "'Endpoint' configuration is required for this service", nil)
|
ErrMissingEndpoint = awserr.New("MissingEndpoint", "'Endpoint' configuration is required for this service", nil)
|
||||||
)
|
)
|
||||||
|
8
vendor/github.com/aws/aws-sdk-go/aws/request/request.go
generated
vendored
8
vendor/github.com/aws/aws-sdk-go/aws/request/request.go
generated
vendored
@ -266,7 +266,9 @@ func (r *Request) SetReaderBody(reader io.ReadSeeker) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Presign returns the request's signed URL. Error will be returned
|
// Presign returns the request's signed URL. Error will be returned
|
||||||
// if the signing fails.
|
// if the signing fails. The expire parameter is only used for presigned Amazon
|
||||||
|
// S3 API requests. All other AWS services will use a fixed expriation
|
||||||
|
// time of 15 minutes.
|
||||||
//
|
//
|
||||||
// It is invalid to create a presigned URL with a expire duration 0 or less. An
|
// It is invalid to create a presigned URL with a expire duration 0 or less. An
|
||||||
// error is returned if expire duration is 0 or less.
|
// error is returned if expire duration is 0 or less.
|
||||||
@ -283,7 +285,9 @@ func (r *Request) Presign(expire time.Duration) (string, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// PresignRequest behaves just like presign, with the addition of returning a
|
// PresignRequest behaves just like presign, with the addition of returning a
|
||||||
// set of headers that were signed.
|
// set of headers that were signed. The expire parameter is only used for
|
||||||
|
// presigned Amazon S3 API requests. All other AWS services will use a fixed
|
||||||
|
// expriation time of 15 minutes.
|
||||||
//
|
//
|
||||||
// It is invalid to create a presigned URL with a expire duration 0 or less. An
|
// It is invalid to create a presigned URL with a expire duration 0 or less. An
|
||||||
// error is returned if expire duration is 0 or less.
|
// error is returned if expire duration is 0 or less.
|
||||||
|
17
vendor/github.com/aws/aws-sdk-go/aws/session/env_config.go
generated
vendored
17
vendor/github.com/aws/aws-sdk-go/aws/session/env_config.go
generated
vendored
@ -4,6 +4,7 @@ import (
|
|||||||
"os"
|
"os"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
|
"github.com/aws/aws-sdk-go/aws"
|
||||||
"github.com/aws/aws-sdk-go/aws/credentials"
|
"github.com/aws/aws-sdk-go/aws/credentials"
|
||||||
"github.com/aws/aws-sdk-go/aws/defaults"
|
"github.com/aws/aws-sdk-go/aws/defaults"
|
||||||
)
|
)
|
||||||
@ -101,6 +102,12 @@ type envConfig struct {
|
|||||||
CSMEnabled bool
|
CSMEnabled bool
|
||||||
CSMPort string
|
CSMPort string
|
||||||
CSMClientID string
|
CSMClientID string
|
||||||
|
|
||||||
|
enableEndpointDiscovery string
|
||||||
|
// Enables endpoint discovery via environment variables.
|
||||||
|
//
|
||||||
|
// AWS_ENABLE_ENDPOINT_DISCOVERY=true
|
||||||
|
EnableEndpointDiscovery *bool
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
@ -125,6 +132,10 @@ var (
|
|||||||
"AWS_SESSION_TOKEN",
|
"AWS_SESSION_TOKEN",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
enableEndpointDiscoveryEnvKey = []string{
|
||||||
|
"AWS_ENABLE_ENDPOINT_DISCOVERY",
|
||||||
|
}
|
||||||
|
|
||||||
regionEnvKeys = []string{
|
regionEnvKeys = []string{
|
||||||
"AWS_REGION",
|
"AWS_REGION",
|
||||||
"AWS_DEFAULT_REGION", // Only read if AWS_SDK_LOAD_CONFIG is also set
|
"AWS_DEFAULT_REGION", // Only read if AWS_SDK_LOAD_CONFIG is also set
|
||||||
@ -194,6 +205,12 @@ func envConfigLoad(enableSharedConfig bool) envConfig {
|
|||||||
setFromEnvVal(&cfg.Region, regionKeys)
|
setFromEnvVal(&cfg.Region, regionKeys)
|
||||||
setFromEnvVal(&cfg.Profile, profileKeys)
|
setFromEnvVal(&cfg.Profile, profileKeys)
|
||||||
|
|
||||||
|
// endpoint discovery is in reference to it being enabled.
|
||||||
|
setFromEnvVal(&cfg.enableEndpointDiscovery, enableEndpointDiscoveryEnvKey)
|
||||||
|
if len(cfg.enableEndpointDiscovery) > 0 {
|
||||||
|
cfg.EnableEndpointDiscovery = aws.Bool(cfg.enableEndpointDiscovery != "false")
|
||||||
|
}
|
||||||
|
|
||||||
setFromEnvVal(&cfg.SharedCredentialsFile, sharedCredsFileEnvKey)
|
setFromEnvVal(&cfg.SharedCredentialsFile, sharedCredsFileEnvKey)
|
||||||
setFromEnvVal(&cfg.SharedConfigFile, sharedConfigFileEnvKey)
|
setFromEnvVal(&cfg.SharedConfigFile, sharedConfigFileEnvKey)
|
||||||
|
|
||||||
|
8
vendor/github.com/aws/aws-sdk-go/aws/session/session.go
generated
vendored
8
vendor/github.com/aws/aws-sdk-go/aws/session/session.go
generated
vendored
@ -452,6 +452,14 @@ func mergeConfigSrcs(cfg, userCfg *aws.Config, envCfg envConfig, sharedCfg share
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if cfg.EnableEndpointDiscovery == nil {
|
||||||
|
if envCfg.EnableEndpointDiscovery != nil {
|
||||||
|
cfg.WithEndpointDiscovery(*envCfg.EnableEndpointDiscovery)
|
||||||
|
} else if envCfg.EnableSharedConfig && sharedCfg.EnableEndpointDiscovery != nil {
|
||||||
|
cfg.WithEndpointDiscovery(*sharedCfg.EnableEndpointDiscovery)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Configure credentials if not already set
|
// Configure credentials if not already set
|
||||||
if cfg.Credentials == credentials.AnonymousCredentials && userCfg.Credentials == nil {
|
if cfg.Credentials == credentials.AnonymousCredentials && userCfg.Credentials == nil {
|
||||||
|
|
||||||
|
15
vendor/github.com/aws/aws-sdk-go/aws/session/shared_config.go
generated
vendored
15
vendor/github.com/aws/aws-sdk-go/aws/session/shared_config.go
generated
vendored
@ -26,6 +26,9 @@ const (
|
|||||||
// Additional Config fields
|
// Additional Config fields
|
||||||
regionKey = `region`
|
regionKey = `region`
|
||||||
|
|
||||||
|
// endpoint discovery group
|
||||||
|
enableEndpointDiscoveryKey = `endpoint_discovery_enabled` // optional
|
||||||
|
|
||||||
// DefaultSharedConfigProfile is the default profile to be used when
|
// DefaultSharedConfigProfile is the default profile to be used when
|
||||||
// loading configuration from the config files if another profile name
|
// loading configuration from the config files if another profile name
|
||||||
// is not provided.
|
// is not provided.
|
||||||
@ -62,6 +65,12 @@ type sharedConfig struct {
|
|||||||
//
|
//
|
||||||
// region
|
// region
|
||||||
Region string
|
Region string
|
||||||
|
|
||||||
|
// EnableEndpointDiscovery can be enabled in the shared config by setting
|
||||||
|
// endpoint_discovery_enabled to true
|
||||||
|
//
|
||||||
|
// endpoint_discovery_enabled = true
|
||||||
|
EnableEndpointDiscovery *bool
|
||||||
}
|
}
|
||||||
|
|
||||||
type sharedConfigFile struct {
|
type sharedConfigFile struct {
|
||||||
@ -219,6 +228,12 @@ func (cfg *sharedConfig) setFromIniFile(profile string, file sharedConfigFile) e
|
|||||||
cfg.Region = v
|
cfg.Region = v
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Endpoint discovery
|
||||||
|
if section.Has(enableEndpointDiscoveryKey) {
|
||||||
|
v := section.Bool(enableEndpointDiscoveryKey)
|
||||||
|
cfg.EnableEndpointDiscovery = &v
|
||||||
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
1
vendor/github.com/aws/aws-sdk-go/aws/signer/v4/v4.go
generated
vendored
1
vendor/github.com/aws/aws-sdk-go/aws/signer/v4/v4.go
generated
vendored
@ -134,6 +134,7 @@ var requiredSignedHeaders = rules{
|
|||||||
"X-Amz-Server-Side-Encryption-Customer-Key": struct{}{},
|
"X-Amz-Server-Side-Encryption-Customer-Key": struct{}{},
|
||||||
"X-Amz-Server-Side-Encryption-Customer-Key-Md5": struct{}{},
|
"X-Amz-Server-Side-Encryption-Customer-Key-Md5": struct{}{},
|
||||||
"X-Amz-Storage-Class": struct{}{},
|
"X-Amz-Storage-Class": struct{}{},
|
||||||
|
"X-Amz-Tagging": struct{}{},
|
||||||
"X-Amz-Website-Redirect-Location": struct{}{},
|
"X-Amz-Website-Redirect-Location": struct{}{},
|
||||||
"X-Amz-Content-Sha256": struct{}{},
|
"X-Amz-Content-Sha256": struct{}{},
|
||||||
},
|
},
|
||||||
|
2
vendor/github.com/aws/aws-sdk-go/aws/version.go
generated
vendored
2
vendor/github.com/aws/aws-sdk-go/aws/version.go
generated
vendored
@ -5,4 +5,4 @@ package aws
|
|||||||
const SDKName = "aws-sdk-go"
|
const SDKName = "aws-sdk-go"
|
||||||
|
|
||||||
// SDKVersion is the version of this SDK
|
// SDKVersion is the version of this SDK
|
||||||
const SDKVersion = "1.15.62"
|
const SDKVersion = "1.15.81"
|
||||||
|
4
vendor/github.com/aws/aws-sdk-go/internal/ini/comment_token.go
generated
vendored
4
vendor/github.com/aws/aws-sdk-go/internal/ini/comment_token.go
generated
vendored
@ -12,10 +12,6 @@ func isComment(b []rune) bool {
|
|||||||
return true
|
return true
|
||||||
case '#':
|
case '#':
|
||||||
return true
|
return true
|
||||||
case '/':
|
|
||||||
if len(b) > 1 {
|
|
||||||
return b[1] == '/'
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return false
|
return false
|
||||||
|
3
vendor/github.com/aws/aws-sdk-go/internal/ini/doc.go
generated
vendored
3
vendor/github.com/aws/aws-sdk-go/internal/ini/doc.go
generated
vendored
@ -24,7 +24,6 @@
|
|||||||
//
|
//
|
||||||
// SkipState will skip (NL WS)+
|
// SkipState will skip (NL WS)+
|
||||||
//
|
//
|
||||||
// comment -> # comment' | ; comment' | / comment_slash
|
// comment -> # comment' | ; comment'
|
||||||
// comment_slash -> / comment'
|
|
||||||
// comment' -> epsilon | value
|
// comment' -> epsilon | value
|
||||||
package ini
|
package ini
|
||||||
|
45
vendor/github.com/aws/aws-sdk-go/internal/ini/ini_parser.go
generated
vendored
45
vendor/github.com/aws/aws-sdk-go/internal/ini/ini_parser.go
generated
vendored
@ -25,8 +25,7 @@ const (
|
|||||||
// SkipTokenState will skip any token and push the previous
|
// SkipTokenState will skip any token and push the previous
|
||||||
// state onto the stack.
|
// state onto the stack.
|
||||||
SkipTokenState
|
SkipTokenState
|
||||||
// comment -> # comment' | ; comment' | / comment_slash
|
// comment -> # comment' | ; comment'
|
||||||
// comment_slash -> / comment'
|
|
||||||
// comment' -> MarkComplete | value
|
// comment' -> MarkComplete | value
|
||||||
CommentState
|
CommentState
|
||||||
// MarkComplete state will complete statements and move that
|
// MarkComplete state will complete statements and move that
|
||||||
@ -58,7 +57,7 @@ var parseTable = map[ASTKind]map[TokenType]int{
|
|||||||
TokenOp: StatementPrimeState,
|
TokenOp: StatementPrimeState,
|
||||||
TokenLit: ValueState,
|
TokenLit: ValueState,
|
||||||
TokenSep: OpenScopeState,
|
TokenSep: OpenScopeState,
|
||||||
TokenWS: SkipTokenState,
|
TokenWS: ValueState,
|
||||||
TokenNL: SkipState,
|
TokenNL: SkipState,
|
||||||
TokenComment: CommentState,
|
TokenComment: CommentState,
|
||||||
TokenNone: MarkCompleteState,
|
TokenNone: MarkCompleteState,
|
||||||
@ -88,8 +87,9 @@ var parseTable = map[ASTKind]map[TokenType]int{
|
|||||||
},
|
},
|
||||||
ASTKindSectionStatement: map[TokenType]int{
|
ASTKindSectionStatement: map[TokenType]int{
|
||||||
TokenLit: SectionState,
|
TokenLit: SectionState,
|
||||||
|
TokenOp: SectionState,
|
||||||
TokenSep: CloseScopeState,
|
TokenSep: CloseScopeState,
|
||||||
TokenWS: SkipTokenState,
|
TokenWS: SectionState,
|
||||||
TokenNL: SkipTokenState,
|
TokenNL: SkipTokenState,
|
||||||
},
|
},
|
||||||
ASTKindCompletedSectionStatement: map[TokenType]int{
|
ASTKindCompletedSectionStatement: map[TokenType]int{
|
||||||
@ -157,6 +157,12 @@ loop:
|
|||||||
|
|
||||||
step := parseTable[k.Kind][tok.Type()]
|
step := parseTable[k.Kind][tok.Type()]
|
||||||
if s.ShouldSkip(tok) {
|
if s.ShouldSkip(tok) {
|
||||||
|
// being in a skip state with no tokens will break out of
|
||||||
|
// the parse loop since there is nothing left to process.
|
||||||
|
if len(tokens) == 0 {
|
||||||
|
break loop
|
||||||
|
}
|
||||||
|
|
||||||
step = SkipTokenState
|
step = SkipTokenState
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -192,6 +198,7 @@ loop:
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
k = trimSpaces(k)
|
||||||
expr := newEqualExpr(k, tok)
|
expr := newEqualExpr(k, tok)
|
||||||
stack.Push(expr)
|
stack.Push(expr)
|
||||||
case ValueState:
|
case ValueState:
|
||||||
@ -214,6 +221,9 @@ loop:
|
|||||||
// assiging a value to some key
|
// assiging a value to some key
|
||||||
k.AppendChild(newExpression(tok))
|
k.AppendChild(newExpression(tok))
|
||||||
stack.Push(newExprStatement(k))
|
stack.Push(newExprStatement(k))
|
||||||
|
case ASTKindExpr:
|
||||||
|
k.Root.raw = append(k.Root.raw, tok.Raw()...)
|
||||||
|
stack.Push(k)
|
||||||
case ASTKindExprStatement:
|
case ASTKindExprStatement:
|
||||||
root := k.GetRoot()
|
root := k.GetRoot()
|
||||||
children := root.GetChildren()
|
children := root.GetChildren()
|
||||||
@ -248,6 +258,7 @@ loop:
|
|||||||
return nil, NewParseError("expected ']'")
|
return nil, NewParseError("expected ']'")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
k = trimSpaces(k)
|
||||||
stack.Push(newCompletedSectionStatement(k))
|
stack.Push(newCompletedSectionStatement(k))
|
||||||
case SectionState:
|
case SectionState:
|
||||||
var stmt AST
|
var stmt AST
|
||||||
@ -263,7 +274,6 @@ loop:
|
|||||||
// the label of the section
|
// the label of the section
|
||||||
stmt = newSectionStatement(tok)
|
stmt = newSectionStatement(tok)
|
||||||
case ASTKindSectionStatement:
|
case ASTKindSectionStatement:
|
||||||
k.Root.raw = append(k.Root.raw, ' ')
|
|
||||||
k.Root.raw = append(k.Root.raw, tok.Raw()...)
|
k.Root.raw = append(k.Root.raw, tok.Raw()...)
|
||||||
stmt = k
|
stmt = k
|
||||||
default:
|
default:
|
||||||
@ -310,3 +320,28 @@ loop:
|
|||||||
// returns a sublist which exludes the start symbol
|
// returns a sublist which exludes the start symbol
|
||||||
return stack.List(), nil
|
return stack.List(), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// trimSpaces will trim spaces on the left and right hand side of
|
||||||
|
// the literal.
|
||||||
|
func trimSpaces(k AST) AST {
|
||||||
|
// trim left hand side of spaces
|
||||||
|
for i := 0; i < len(k.Root.raw); i++ {
|
||||||
|
if !isWhitespace(k.Root.raw[i]) {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
|
||||||
|
k.Root.raw = k.Root.raw[1:]
|
||||||
|
i--
|
||||||
|
}
|
||||||
|
|
||||||
|
// trim right hand side of spaces
|
||||||
|
for i := len(k.Root.raw) - 1; i >= 0; i-- {
|
||||||
|
if !isWhitespace(k.Root.raw[i]) {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
|
||||||
|
k.Root.raw = k.Root.raw[:len(k.Root.raw)-1]
|
||||||
|
}
|
||||||
|
|
||||||
|
return k
|
||||||
|
}
|
||||||
|
13
vendor/github.com/aws/aws-sdk-go/internal/ini/literal_tokens.go
generated
vendored
13
vendor/github.com/aws/aws-sdk-go/internal/ini/literal_tokens.go
generated
vendored
@ -166,9 +166,6 @@ func newValue(t ValueType, base int, raw []rune) (Value, error) {
|
|||||||
switch t {
|
switch t {
|
||||||
case DecimalType:
|
case DecimalType:
|
||||||
v.decimal, err = strconv.ParseFloat(string(raw), 64)
|
v.decimal, err = strconv.ParseFloat(string(raw), 64)
|
||||||
if err != nil {
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
case IntegerType:
|
case IntegerType:
|
||||||
if base != 10 {
|
if base != 10 {
|
||||||
raw = raw[2:]
|
raw = raw[2:]
|
||||||
@ -183,6 +180,16 @@ func newValue(t ValueType, base int, raw []rune) (Value, error) {
|
|||||||
v.boolean = runeCompare(v.raw, runesTrue)
|
v.boolean = runeCompare(v.raw, runesTrue)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// issue 2253
|
||||||
|
//
|
||||||
|
// if the value trying to be parsed is too large, then we will use
|
||||||
|
// the 'StringType' and raw value instead.
|
||||||
|
if nerr, ok := err.(*strconv.NumError); ok && nerr.Err == strconv.ErrRange {
|
||||||
|
v.Type = StringType
|
||||||
|
v.str = string(raw)
|
||||||
|
err = nil
|
||||||
|
}
|
||||||
|
|
||||||
return v, err
|
return v, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
9
vendor/github.com/aws/aws-sdk-go/internal/ini/skipper.go
generated
vendored
9
vendor/github.com/aws/aws-sdk-go/internal/ini/skipper.go
generated
vendored
@ -5,10 +5,10 @@ package ini
|
|||||||
// files. See example below
|
// files. See example below
|
||||||
//
|
//
|
||||||
// [ foo ]
|
// [ foo ]
|
||||||
// nested = // this section will be skipped
|
// nested = ; this section will be skipped
|
||||||
// a=b
|
// a=b
|
||||||
// c=d
|
// c=d
|
||||||
// bar=baz // this will be included
|
// bar=baz ; this will be included
|
||||||
type skipper struct {
|
type skipper struct {
|
||||||
shouldSkip bool
|
shouldSkip bool
|
||||||
TokenSet bool
|
TokenSet bool
|
||||||
@ -22,7 +22,10 @@ func newSkipper() skipper {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (s *skipper) ShouldSkip(tok Token) bool {
|
func (s *skipper) ShouldSkip(tok Token) bool {
|
||||||
if s.shouldSkip && s.prevTok.Type() == TokenNL && tok.Type() != TokenWS {
|
if s.shouldSkip &&
|
||||||
|
s.prevTok.Type() == TokenNL &&
|
||||||
|
tok.Type() != TokenWS {
|
||||||
|
|
||||||
s.Continue()
|
s.Continue()
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
5
vendor/github.com/aws/aws-sdk-go/internal/ini/statement.go
generated
vendored
5
vendor/github.com/aws/aws-sdk-go/internal/ini/statement.go
generated
vendored
@ -18,9 +18,8 @@ func newExprStatement(ast AST) AST {
|
|||||||
// CommentStatement represents a comment in the ini defintion.
|
// CommentStatement represents a comment in the ini defintion.
|
||||||
//
|
//
|
||||||
// grammar:
|
// grammar:
|
||||||
// comment -> #comment' | ;comment' | /comment_slash
|
// comment -> #comment' | ;comment'
|
||||||
// comment_slash -> /comment'
|
// comment' -> epsilon | value
|
||||||
// comment' -> value
|
|
||||||
func newCommentStatement(tok Token) AST {
|
func newCommentStatement(tok Token) AST {
|
||||||
return newAST(ASTKindCommentStatement, newExpression(tok))
|
return newAST(ASTKindCommentStatement, newExpression(tok))
|
||||||
}
|
}
|
||||||
|
5
vendor/github.com/aws/aws-sdk-go/internal/ini/visitor.go
generated
vendored
5
vendor/github.com/aws/aws-sdk-go/internal/ini/visitor.go
generated
vendored
@ -141,6 +141,11 @@ func (t Section) ValueType(k string) (ValueType, bool) {
|
|||||||
return v.Type, ok
|
return v.Type, ok
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Bool returns a bool value at k
|
||||||
|
func (t Section) Bool(k string) bool {
|
||||||
|
return t.values[k].BoolValue()
|
||||||
|
}
|
||||||
|
|
||||||
// Int returns an integer value at k
|
// Int returns an integer value at k
|
||||||
func (t Section) Int(k string) int64 {
|
func (t Section) Int(k string) int64 {
|
||||||
return t.values[k].IntValue()
|
return t.values[k].IntValue()
|
||||||
|
2
vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/build.go
generated
vendored
2
vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/build.go
generated
vendored
@ -87,7 +87,7 @@ func (b *xmlBuilder) buildValue(value reflect.Value, current *XMLNode, tag refle
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// buildStruct adds a struct and its fields to the current XMLNode. All fields any any nested
|
// buildStruct adds a struct and its fields to the current XMLNode. All fields and any nested
|
||||||
// types are converted to XMLNodes also.
|
// types are converted to XMLNodes also.
|
||||||
func (b *xmlBuilder) buildStruct(value reflect.Value, current *XMLNode, tag reflect.StructTag) error {
|
func (b *xmlBuilder) buildStruct(value reflect.Value, current *XMLNode, tag reflect.StructTag) error {
|
||||||
if !value.IsValid() {
|
if !value.IsValid() {
|
||||||
|
1036
vendor/github.com/aws/aws-sdk-go/service/s3/api.go
generated
vendored
1036
vendor/github.com/aws/aws-sdk-go/service/s3/api.go
generated
vendored
File diff suppressed because it is too large
Load Diff
16
vendor/github.com/aws/aws-sdk-go/service/s3/s3iface/interface.go
generated
vendored
16
vendor/github.com/aws/aws-sdk-go/service/s3/s3iface/interface.go
generated
vendored
@ -136,6 +136,10 @@ type S3API interface {
|
|||||||
DeleteObjectsWithContext(aws.Context, *s3.DeleteObjectsInput, ...request.Option) (*s3.DeleteObjectsOutput, error)
|
DeleteObjectsWithContext(aws.Context, *s3.DeleteObjectsInput, ...request.Option) (*s3.DeleteObjectsOutput, error)
|
||||||
DeleteObjectsRequest(*s3.DeleteObjectsInput) (*request.Request, *s3.DeleteObjectsOutput)
|
DeleteObjectsRequest(*s3.DeleteObjectsInput) (*request.Request, *s3.DeleteObjectsOutput)
|
||||||
|
|
||||||
|
DeletePublicAccessBlock(*s3.DeletePublicAccessBlockInput) (*s3.DeletePublicAccessBlockOutput, error)
|
||||||
|
DeletePublicAccessBlockWithContext(aws.Context, *s3.DeletePublicAccessBlockInput, ...request.Option) (*s3.DeletePublicAccessBlockOutput, error)
|
||||||
|
DeletePublicAccessBlockRequest(*s3.DeletePublicAccessBlockInput) (*request.Request, *s3.DeletePublicAccessBlockOutput)
|
||||||
|
|
||||||
GetBucketAccelerateConfiguration(*s3.GetBucketAccelerateConfigurationInput) (*s3.GetBucketAccelerateConfigurationOutput, error)
|
GetBucketAccelerateConfiguration(*s3.GetBucketAccelerateConfigurationInput) (*s3.GetBucketAccelerateConfigurationOutput, error)
|
||||||
GetBucketAccelerateConfigurationWithContext(aws.Context, *s3.GetBucketAccelerateConfigurationInput, ...request.Option) (*s3.GetBucketAccelerateConfigurationOutput, error)
|
GetBucketAccelerateConfigurationWithContext(aws.Context, *s3.GetBucketAccelerateConfigurationInput, ...request.Option) (*s3.GetBucketAccelerateConfigurationOutput, error)
|
||||||
GetBucketAccelerateConfigurationRequest(*s3.GetBucketAccelerateConfigurationInput) (*request.Request, *s3.GetBucketAccelerateConfigurationOutput)
|
GetBucketAccelerateConfigurationRequest(*s3.GetBucketAccelerateConfigurationInput) (*request.Request, *s3.GetBucketAccelerateConfigurationOutput)
|
||||||
@ -192,6 +196,10 @@ type S3API interface {
|
|||||||
GetBucketPolicyWithContext(aws.Context, *s3.GetBucketPolicyInput, ...request.Option) (*s3.GetBucketPolicyOutput, error)
|
GetBucketPolicyWithContext(aws.Context, *s3.GetBucketPolicyInput, ...request.Option) (*s3.GetBucketPolicyOutput, error)
|
||||||
GetBucketPolicyRequest(*s3.GetBucketPolicyInput) (*request.Request, *s3.GetBucketPolicyOutput)
|
GetBucketPolicyRequest(*s3.GetBucketPolicyInput) (*request.Request, *s3.GetBucketPolicyOutput)
|
||||||
|
|
||||||
|
GetBucketPolicyStatus(*s3.GetBucketPolicyStatusInput) (*s3.GetBucketPolicyStatusOutput, error)
|
||||||
|
GetBucketPolicyStatusWithContext(aws.Context, *s3.GetBucketPolicyStatusInput, ...request.Option) (*s3.GetBucketPolicyStatusOutput, error)
|
||||||
|
GetBucketPolicyStatusRequest(*s3.GetBucketPolicyStatusInput) (*request.Request, *s3.GetBucketPolicyStatusOutput)
|
||||||
|
|
||||||
GetBucketReplication(*s3.GetBucketReplicationInput) (*s3.GetBucketReplicationOutput, error)
|
GetBucketReplication(*s3.GetBucketReplicationInput) (*s3.GetBucketReplicationOutput, error)
|
||||||
GetBucketReplicationWithContext(aws.Context, *s3.GetBucketReplicationInput, ...request.Option) (*s3.GetBucketReplicationOutput, error)
|
GetBucketReplicationWithContext(aws.Context, *s3.GetBucketReplicationInput, ...request.Option) (*s3.GetBucketReplicationOutput, error)
|
||||||
GetBucketReplicationRequest(*s3.GetBucketReplicationInput) (*request.Request, *s3.GetBucketReplicationOutput)
|
GetBucketReplicationRequest(*s3.GetBucketReplicationInput) (*request.Request, *s3.GetBucketReplicationOutput)
|
||||||
@ -228,6 +236,10 @@ type S3API interface {
|
|||||||
GetObjectTorrentWithContext(aws.Context, *s3.GetObjectTorrentInput, ...request.Option) (*s3.GetObjectTorrentOutput, error)
|
GetObjectTorrentWithContext(aws.Context, *s3.GetObjectTorrentInput, ...request.Option) (*s3.GetObjectTorrentOutput, error)
|
||||||
GetObjectTorrentRequest(*s3.GetObjectTorrentInput) (*request.Request, *s3.GetObjectTorrentOutput)
|
GetObjectTorrentRequest(*s3.GetObjectTorrentInput) (*request.Request, *s3.GetObjectTorrentOutput)
|
||||||
|
|
||||||
|
GetPublicAccessBlock(*s3.GetPublicAccessBlockInput) (*s3.GetPublicAccessBlockOutput, error)
|
||||||
|
GetPublicAccessBlockWithContext(aws.Context, *s3.GetPublicAccessBlockInput, ...request.Option) (*s3.GetPublicAccessBlockOutput, error)
|
||||||
|
GetPublicAccessBlockRequest(*s3.GetPublicAccessBlockInput) (*request.Request, *s3.GetPublicAccessBlockOutput)
|
||||||
|
|
||||||
HeadBucket(*s3.HeadBucketInput) (*s3.HeadBucketOutput, error)
|
HeadBucket(*s3.HeadBucketInput) (*s3.HeadBucketOutput, error)
|
||||||
HeadBucketWithContext(aws.Context, *s3.HeadBucketInput, ...request.Option) (*s3.HeadBucketOutput, error)
|
HeadBucketWithContext(aws.Context, *s3.HeadBucketInput, ...request.Option) (*s3.HeadBucketOutput, error)
|
||||||
HeadBucketRequest(*s3.HeadBucketInput) (*request.Request, *s3.HeadBucketOutput)
|
HeadBucketRequest(*s3.HeadBucketInput) (*request.Request, *s3.HeadBucketOutput)
|
||||||
@ -371,6 +383,10 @@ type S3API interface {
|
|||||||
PutObjectTaggingWithContext(aws.Context, *s3.PutObjectTaggingInput, ...request.Option) (*s3.PutObjectTaggingOutput, error)
|
PutObjectTaggingWithContext(aws.Context, *s3.PutObjectTaggingInput, ...request.Option) (*s3.PutObjectTaggingOutput, error)
|
||||||
PutObjectTaggingRequest(*s3.PutObjectTaggingInput) (*request.Request, *s3.PutObjectTaggingOutput)
|
PutObjectTaggingRequest(*s3.PutObjectTaggingInput) (*request.Request, *s3.PutObjectTaggingOutput)
|
||||||
|
|
||||||
|
PutPublicAccessBlock(*s3.PutPublicAccessBlockInput) (*s3.PutPublicAccessBlockOutput, error)
|
||||||
|
PutPublicAccessBlockWithContext(aws.Context, *s3.PutPublicAccessBlockInput, ...request.Option) (*s3.PutPublicAccessBlockOutput, error)
|
||||||
|
PutPublicAccessBlockRequest(*s3.PutPublicAccessBlockInput) (*request.Request, *s3.PutPublicAccessBlockOutput)
|
||||||
|
|
||||||
RestoreObject(*s3.RestoreObjectInput) (*s3.RestoreObjectOutput, error)
|
RestoreObject(*s3.RestoreObjectInput) (*s3.RestoreObjectOutput, error)
|
||||||
RestoreObjectWithContext(aws.Context, *s3.RestoreObjectInput, ...request.Option) (*s3.RestoreObjectOutput, error)
|
RestoreObjectWithContext(aws.Context, *s3.RestoreObjectInput, ...request.Option) (*s3.RestoreObjectOutput, error)
|
||||||
RestoreObjectRequest(*s3.RestoreObjectInput) (*request.Request, *s3.RestoreObjectOutput)
|
RestoreObjectRequest(*s3.RestoreObjectInput) (*request.Request, *s3.RestoreObjectOutput)
|
||||||
|
4
vendor/github.com/djherbis/times/.travis.yml
generated
vendored
4
vendor/github.com/djherbis/times/.travis.yml
generated
vendored
@ -1,8 +1,8 @@
|
|||||||
language: go
|
language: go
|
||||||
go:
|
go:
|
||||||
- 1.5
|
- tip
|
||||||
before_install:
|
before_install:
|
||||||
- go get github.com/golang/lint/golint
|
- go get -u golang.org/x/lint/golint
|
||||||
- go get github.com/axw/gocov/gocov
|
- go get github.com/axw/gocov/gocov
|
||||||
- go get github.com/mattn/goveralls
|
- go get github.com/mattn/goveralls
|
||||||
- if ! go get code.google.com/p/go.tools/cmd/cover; then go get golang.org/x/tools/cmd/cover;
|
- if ! go get code.google.com/p/go.tools/cmd/cover; then go get golang.org/x/tools/cmd/cover;
|
||||||
|
1
vendor/github.com/djherbis/times/README.md
generated
vendored
1
vendor/github.com/djherbis/times/README.md
generated
vendored
@ -7,6 +7,7 @@ times
|
|||||||
[![Build Status](https://travis-ci.org/djherbis/times.svg?branch=master)](https://travis-ci.org/djherbis/times)
|
[![Build Status](https://travis-ci.org/djherbis/times.svg?branch=master)](https://travis-ci.org/djherbis/times)
|
||||||
[![Coverage Status](https://coveralls.io/repos/djherbis/times/badge.svg?branch=master)](https://coveralls.io/r/djherbis/times?branch=master)
|
[![Coverage Status](https://coveralls.io/repos/djherbis/times/badge.svg?branch=master)](https://coveralls.io/r/djherbis/times?branch=master)
|
||||||
[![Go Report Card](https://goreportcard.com/badge/github.com/djherbis/times)](https://goreportcard.com/report/github.com/djherbis/times)
|
[![Go Report Card](https://goreportcard.com/badge/github.com/djherbis/times)](https://goreportcard.com/report/github.com/djherbis/times)
|
||||||
|
[![Sourcegraph](https://sourcegraph.com/github.com/djherbis/times/-/badge.svg)](https://sourcegraph.com/github.com/djherbis/times?badge)
|
||||||
|
|
||||||
Usage
|
Usage
|
||||||
------------
|
------------
|
||||||
|
68
vendor/github.com/djherbis/times/ctime_windows.go
generated
vendored
68
vendor/github.com/djherbis/times/ctime_windows.go
generated
vendored
@ -7,6 +7,26 @@ import (
|
|||||||
"unsafe"
|
"unsafe"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// Stat returns the Timespec for the given filename.
|
||||||
|
func Stat(name string) (Timespec, error) {
|
||||||
|
ts, err := platformSpecficStat(name)
|
||||||
|
if err == nil {
|
||||||
|
return ts, err
|
||||||
|
}
|
||||||
|
|
||||||
|
return stat(name, os.Stat)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Lstat returns the Timespec for the given filename, and does not follow Symlinks.
|
||||||
|
func Lstat(name string) (Timespec, error) {
|
||||||
|
ts, err := platformSpecficLstat(name)
|
||||||
|
if err == nil {
|
||||||
|
return ts, err
|
||||||
|
}
|
||||||
|
|
||||||
|
return stat(name, os.Lstat)
|
||||||
|
}
|
||||||
|
|
||||||
type timespecEx struct {
|
type timespecEx struct {
|
||||||
atime
|
atime
|
||||||
mtime
|
mtime
|
||||||
@ -33,20 +53,54 @@ func statFile(h syscall.Handle) (Timespec, error) {
|
|||||||
return t, nil
|
return t, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
const hasPlatformSpecificStat = true
|
func platformSpecficLstat(name string) (Timespec, error) {
|
||||||
|
if findProcErr != nil {
|
||||||
|
return nil, findProcErr
|
||||||
|
}
|
||||||
|
|
||||||
|
isSym, err := isSymlink(name)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
var attrs = uint32(syscall.FILE_FLAG_BACKUP_SEMANTICS)
|
||||||
|
if isSym {
|
||||||
|
attrs |= syscall.FILE_FLAG_OPEN_REPARSE_POINT
|
||||||
|
}
|
||||||
|
|
||||||
|
return openHandleAndStat(name, attrs)
|
||||||
|
}
|
||||||
|
|
||||||
|
func isSymlink(name string) (bool, error) {
|
||||||
|
fi, err := os.Lstat(name)
|
||||||
|
if err != nil {
|
||||||
|
return false, err
|
||||||
|
}
|
||||||
|
return fi.Mode()&os.ModeSymlink != 0, nil
|
||||||
|
}
|
||||||
|
|
||||||
func platformSpecficStat(name string) (Timespec, error) {
|
func platformSpecficStat(name string) (Timespec, error) {
|
||||||
if findProcErr != nil {
|
if findProcErr != nil {
|
||||||
return nil, findProcErr
|
return nil, findProcErr
|
||||||
}
|
}
|
||||||
|
|
||||||
f, err := os.Open(name)
|
return openHandleAndStat(name, syscall.FILE_FLAG_BACKUP_SEMANTICS)
|
||||||
if err != nil {
|
}
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
defer f.Close()
|
|
||||||
|
|
||||||
return statFile(syscall.Handle(f.Fd()))
|
func openHandleAndStat(name string, attrs uint32) (Timespec, error) {
|
||||||
|
pathp, e := syscall.UTF16PtrFromString(name)
|
||||||
|
if e != nil {
|
||||||
|
return nil, e
|
||||||
|
}
|
||||||
|
h, e := syscall.CreateFile(pathp,
|
||||||
|
syscall.FILE_WRITE_ATTRIBUTES, syscall.FILE_SHARE_WRITE, nil,
|
||||||
|
syscall.OPEN_EXISTING, attrs, 0)
|
||||||
|
if e != nil {
|
||||||
|
return nil, e
|
||||||
|
}
|
||||||
|
defer syscall.Close(h)
|
||||||
|
|
||||||
|
return statFile(h)
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
11
vendor/github.com/djherbis/times/times.go
generated
vendored
11
vendor/github.com/djherbis/times/times.go
generated
vendored
@ -11,15 +11,10 @@ func Get(fi os.FileInfo) Timespec {
|
|||||||
return getTimespec(fi)
|
return getTimespec(fi)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Stat returns the Timespec for the given filename.
|
type statFunc func(string) (os.FileInfo, error)
|
||||||
func Stat(name string) (Timespec, error) {
|
|
||||||
if hasPlatformSpecificStat {
|
|
||||||
if ts, err := platformSpecficStat(name); err == nil {
|
|
||||||
return ts, nil
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fi, err := os.Stat(name)
|
func stat(name string, sf statFunc) (Timespec, error) {
|
||||||
|
fi, err := sf(name)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
13
vendor/github.com/djherbis/times/use_generic_stat.go
generated
vendored
13
vendor/github.com/djherbis/times/use_generic_stat.go
generated
vendored
@ -2,9 +2,14 @@
|
|||||||
|
|
||||||
package times
|
package times
|
||||||
|
|
||||||
const hasPlatformSpecificStat = false
|
import "os"
|
||||||
|
|
||||||
// do not use, only here to prevent "undefined" method error.
|
// Stat returns the Timespec for the given filename.
|
||||||
func platformSpecficStat(name string) (Timespec, error) {
|
func Stat(name string) (Timespec, error) {
|
||||||
return nil, nil
|
return stat(name, os.Stat)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Lstat returns the Timespec for the given filename, and does not follow Symlinks.
|
||||||
|
func Lstat(name string) (Timespec, error) {
|
||||||
|
return stat(name, os.Lstat)
|
||||||
}
|
}
|
||||||
|
12
vendor/github.com/nsf/termbox-go/api_windows.go
generated
vendored
12
vendor/github.com/nsf/termbox-go/api_windows.go
generated
vendored
@ -42,7 +42,7 @@ func Init() error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
orig_size = get_term_size(out)
|
orig_size, orig_window = get_term_size(out)
|
||||||
win_size := get_win_size(out)
|
win_size := get_win_size(out)
|
||||||
|
|
||||||
err = set_console_screen_buffer_size(out, win_size)
|
err = set_console_screen_buffer_size(out, win_size)
|
||||||
@ -50,13 +50,18 @@ func Init() error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
err = fix_win_size(out, win_size)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
err = get_console_cursor_info(out, &orig_cursor_info)
|
err = get_console_cursor_info(out, &orig_cursor_info)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
show_cursor(false)
|
show_cursor(false)
|
||||||
term_size = get_term_size(out)
|
term_size, _ = get_term_size(out)
|
||||||
back_buffer.init(int(term_size.x), int(term_size.y))
|
back_buffer.init(int(term_size.x), int(term_size.y))
|
||||||
front_buffer.init(int(term_size.x), int(term_size.y))
|
front_buffer.init(int(term_size.x), int(term_size.y))
|
||||||
back_buffer.clear()
|
back_buffer.clear()
|
||||||
@ -86,9 +91,10 @@ func Close() {
|
|||||||
}
|
}
|
||||||
<-cancel_done_comm
|
<-cancel_done_comm
|
||||||
|
|
||||||
|
set_console_screen_buffer_size(out, orig_size)
|
||||||
|
set_console_window_info(out, &orig_window)
|
||||||
set_console_cursor_info(out, &orig_cursor_info)
|
set_console_cursor_info(out, &orig_cursor_info)
|
||||||
set_console_cursor_position(out, coord{})
|
set_console_cursor_position(out, coord{})
|
||||||
set_console_screen_buffer_size(out, orig_size)
|
|
||||||
set_console_mode(in, orig_mode)
|
set_console_mode(in, orig_mode)
|
||||||
syscall.Close(in)
|
syscall.Close(in)
|
||||||
syscall.Close(out)
|
syscall.Close(out)
|
||||||
|
45
vendor/github.com/nsf/termbox-go/termbox_windows.go
generated
vendored
45
vendor/github.com/nsf/termbox-go/termbox_windows.go
generated
vendored
@ -76,6 +76,10 @@ func (this coord) uintptr() uintptr {
|
|||||||
return uintptr(*(*int32)(unsafe.Pointer(&this)))
|
return uintptr(*(*int32)(unsafe.Pointer(&this)))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (this *small_rect) uintptr() uintptr {
|
||||||
|
return uintptr(unsafe.Pointer(this))
|
||||||
|
}
|
||||||
|
|
||||||
var kernel32 = syscall.NewLazyDLL("kernel32.dll")
|
var kernel32 = syscall.NewLazyDLL("kernel32.dll")
|
||||||
var moduser32 = syscall.NewLazyDLL("user32.dll")
|
var moduser32 = syscall.NewLazyDLL("user32.dll")
|
||||||
var is_cjk = runewidth.IsEastAsian()
|
var is_cjk = runewidth.IsEastAsian()
|
||||||
@ -83,6 +87,7 @@ var is_cjk = runewidth.IsEastAsian()
|
|||||||
var (
|
var (
|
||||||
proc_set_console_active_screen_buffer = kernel32.NewProc("SetConsoleActiveScreenBuffer")
|
proc_set_console_active_screen_buffer = kernel32.NewProc("SetConsoleActiveScreenBuffer")
|
||||||
proc_set_console_screen_buffer_size = kernel32.NewProc("SetConsoleScreenBufferSize")
|
proc_set_console_screen_buffer_size = kernel32.NewProc("SetConsoleScreenBufferSize")
|
||||||
|
proc_set_console_window_info = kernel32.NewProc("SetConsoleWindowInfo")
|
||||||
proc_create_console_screen_buffer = kernel32.NewProc("CreateConsoleScreenBuffer")
|
proc_create_console_screen_buffer = kernel32.NewProc("CreateConsoleScreenBuffer")
|
||||||
proc_get_console_screen_buffer_info = kernel32.NewProc("GetConsoleScreenBufferInfo")
|
proc_get_console_screen_buffer_info = kernel32.NewProc("GetConsoleScreenBufferInfo")
|
||||||
proc_write_console_output = kernel32.NewProc("WriteConsoleOutputW")
|
proc_write_console_output = kernel32.NewProc("WriteConsoleOutputW")
|
||||||
@ -129,6 +134,21 @@ func set_console_screen_buffer_size(h syscall.Handle, size coord) (err error) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func set_console_window_info(h syscall.Handle, window *small_rect) (err error) {
|
||||||
|
var absolute uint32
|
||||||
|
absolute = 1
|
||||||
|
r0, _, e1 := syscall.Syscall(proc_set_console_window_info.Addr(),
|
||||||
|
3, uintptr(h), uintptr(absolute), window.uintptr())
|
||||||
|
if int(r0) == 0 {
|
||||||
|
if e1 != 0 {
|
||||||
|
err = error(e1)
|
||||||
|
} else {
|
||||||
|
err = syscall.EINVAL
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
func create_console_screen_buffer() (h syscall.Handle, err error) {
|
func create_console_screen_buffer() (h syscall.Handle, err error) {
|
||||||
r0, _, e1 := syscall.Syscall6(proc_create_console_screen_buffer.Addr(),
|
r0, _, e1 := syscall.Syscall6(proc_create_console_screen_buffer.Addr(),
|
||||||
5, uintptr(generic_read|generic_write), 0, 0, console_textmode_buffer, 0, 0)
|
5, uintptr(generic_read|generic_write), 0, 0, console_textmode_buffer, 0, 0)
|
||||||
@ -278,6 +298,7 @@ func set_console_mode(h syscall.Handle, mode dword) (err error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func fill_console_output_character(h syscall.Handle, char wchar, n int) (err error) {
|
func fill_console_output_character(h syscall.Handle, char wchar, n int) (err error) {
|
||||||
|
tmp_coord = coord{0, 0}
|
||||||
r0, _, e1 := syscall.Syscall6(proc_fill_console_output_character.Addr(),
|
r0, _, e1 := syscall.Syscall6(proc_fill_console_output_character.Addr(),
|
||||||
5, uintptr(h), uintptr(char), uintptr(n), tmp_coord.uintptr(),
|
5, uintptr(h), uintptr(char), uintptr(n), tmp_coord.uintptr(),
|
||||||
uintptr(unsafe.Pointer(&tmp_arg)), 0)
|
uintptr(unsafe.Pointer(&tmp_arg)), 0)
|
||||||
@ -292,6 +313,7 @@ func fill_console_output_character(h syscall.Handle, char wchar, n int) (err err
|
|||||||
}
|
}
|
||||||
|
|
||||||
func fill_console_output_attribute(h syscall.Handle, attr word, n int) (err error) {
|
func fill_console_output_attribute(h syscall.Handle, attr word, n int) (err error) {
|
||||||
|
tmp_coord = coord{0, 0}
|
||||||
r0, _, e1 := syscall.Syscall6(proc_fill_console_output_attribute.Addr(),
|
r0, _, e1 := syscall.Syscall6(proc_fill_console_output_attribute.Addr(),
|
||||||
5, uintptr(h), uintptr(attr), uintptr(n), tmp_coord.uintptr(),
|
5, uintptr(h), uintptr(attr), uintptr(n), tmp_coord.uintptr(),
|
||||||
uintptr(unsafe.Pointer(&tmp_arg)), 0)
|
uintptr(unsafe.Pointer(&tmp_arg)), 0)
|
||||||
@ -372,6 +394,7 @@ type input_event struct {
|
|||||||
var (
|
var (
|
||||||
orig_cursor_info console_cursor_info
|
orig_cursor_info console_cursor_info
|
||||||
orig_size coord
|
orig_size coord
|
||||||
|
orig_window small_rect
|
||||||
orig_mode dword
|
orig_mode dword
|
||||||
orig_screen syscall.Handle
|
orig_screen syscall.Handle
|
||||||
back_buffer cellbuf
|
back_buffer cellbuf
|
||||||
@ -413,12 +436,12 @@ func get_cursor_position(out syscall.Handle) coord {
|
|||||||
return tmp_info.cursor_position
|
return tmp_info.cursor_position
|
||||||
}
|
}
|
||||||
|
|
||||||
func get_term_size(out syscall.Handle) coord {
|
func get_term_size(out syscall.Handle) (coord, small_rect) {
|
||||||
err := get_console_screen_buffer_info(out, &tmp_info)
|
err := get_console_screen_buffer_info(out, &tmp_info)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
return tmp_info.size
|
return tmp_info.size, tmp_info.window
|
||||||
}
|
}
|
||||||
|
|
||||||
func get_win_min_size(out syscall.Handle) coord {
|
func get_win_min_size(out syscall.Handle) coord {
|
||||||
@ -466,10 +489,20 @@ func get_win_size(out syscall.Handle) coord {
|
|||||||
return size
|
return size
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func fix_win_size(out syscall.Handle, size coord) (err error) {
|
||||||
|
window := small_rect{}
|
||||||
|
window.top = 0
|
||||||
|
window.bottom = size.y - 1
|
||||||
|
window.left = 0
|
||||||
|
window.right = size.x - 1
|
||||||
|
return set_console_window_info(out, &window)
|
||||||
|
}
|
||||||
|
|
||||||
func update_size_maybe() {
|
func update_size_maybe() {
|
||||||
size := get_win_size(out)
|
size := get_win_size(out)
|
||||||
if size.x != term_size.x || size.y != term_size.y {
|
if size.x != term_size.x || size.y != term_size.y {
|
||||||
set_console_screen_buffer_size(out, size)
|
set_console_screen_buffer_size(out, size)
|
||||||
|
fix_win_size(out, size)
|
||||||
term_size = size
|
term_size = size
|
||||||
back_buffer.resize(int(size.x), int(size.y))
|
back_buffer.resize(int(size.x), int(size.y))
|
||||||
front_buffer.resize(int(size.x), int(size.y))
|
front_buffer.resize(int(size.x), int(size.y))
|
||||||
@ -490,8 +523,8 @@ var color_table_bg = []word{
|
|||||||
background_green,
|
background_green,
|
||||||
background_red | background_green, // yellow
|
background_red | background_green, // yellow
|
||||||
background_blue,
|
background_blue,
|
||||||
background_red | background_blue, // magenta
|
background_red | background_blue, // magenta
|
||||||
background_green | background_blue, // cyan
|
background_green | background_blue, // cyan
|
||||||
background_red | background_blue | background_green, // white
|
background_red | background_blue | background_green, // white
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -502,8 +535,8 @@ var color_table_fg = []word{
|
|||||||
foreground_green,
|
foreground_green,
|
||||||
foreground_red | foreground_green, // yellow
|
foreground_red | foreground_green, // yellow
|
||||||
foreground_blue,
|
foreground_blue,
|
||||||
foreground_red | foreground_blue, // magenta
|
foreground_red | foreground_blue, // magenta
|
||||||
foreground_green | foreground_blue, // cyan
|
foreground_green | foreground_blue, // cyan
|
||||||
foreground_red | foreground_blue | foreground_green, // white
|
foreground_red | foreground_blue | foreground_green, // white
|
||||||
}
|
}
|
||||||
|
|
||||||
|
2
vendor/golang.org/x/crypto/scrypt/scrypt.go
generated
vendored
2
vendor/golang.org/x/crypto/scrypt/scrypt.go
generated
vendored
@ -29,7 +29,7 @@ func blockXOR(dst, src []uint32, n int) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// salsaXOR applies Salsa20/8 to the XOR of 16 numbers from tmp and in,
|
// salsaXOR applies Salsa20/8 to the XOR of 16 numbers from tmp and in,
|
||||||
// and puts the result into both both tmp and out.
|
// and puts the result into both tmp and out.
|
||||||
func salsaXOR(tmp *[16]uint32, in, out []uint32) {
|
func salsaXOR(tmp *[16]uint32, in, out []uint32) {
|
||||||
w0 := tmp[0] ^ in[0]
|
w0 := tmp[0] ^ in[0]
|
||||||
w1 := tmp[1] ^ in[1]
|
w1 := tmp[1] ^ in[1]
|
||||||
|
120
vendor/golang.org/x/crypto/ssh/agent/client.go
generated
vendored
120
vendor/golang.org/x/crypto/ssh/agent/client.go
generated
vendored
@ -25,10 +25,22 @@ import (
|
|||||||
"math/big"
|
"math/big"
|
||||||
"sync"
|
"sync"
|
||||||
|
|
||||||
|
"crypto"
|
||||||
"golang.org/x/crypto/ed25519"
|
"golang.org/x/crypto/ed25519"
|
||||||
"golang.org/x/crypto/ssh"
|
"golang.org/x/crypto/ssh"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// SignatureFlags represent additional flags that can be passed to the signature
|
||||||
|
// requests an defined in [PROTOCOL.agent] section 4.5.1.
|
||||||
|
type SignatureFlags uint32
|
||||||
|
|
||||||
|
// SignatureFlag values as defined in [PROTOCOL.agent] section 5.3.
|
||||||
|
const (
|
||||||
|
SignatureFlagReserved SignatureFlags = 1 << iota
|
||||||
|
SignatureFlagRsaSha256
|
||||||
|
SignatureFlagRsaSha512
|
||||||
|
)
|
||||||
|
|
||||||
// Agent represents the capabilities of an ssh-agent.
|
// Agent represents the capabilities of an ssh-agent.
|
||||||
type Agent interface {
|
type Agent interface {
|
||||||
// List returns the identities known to the agent.
|
// List returns the identities known to the agent.
|
||||||
@ -57,6 +69,26 @@ type Agent interface {
|
|||||||
Signers() ([]ssh.Signer, error)
|
Signers() ([]ssh.Signer, error)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type ExtendedAgent interface {
|
||||||
|
Agent
|
||||||
|
|
||||||
|
// SignWithFlags signs like Sign, but allows for additional flags to be sent/received
|
||||||
|
SignWithFlags(key ssh.PublicKey, data []byte, flags SignatureFlags) (*ssh.Signature, error)
|
||||||
|
|
||||||
|
// Extension processes a custom extension request. Standard-compliant agents are not
|
||||||
|
// required to support any extensions, but this method allows agents to implement
|
||||||
|
// vendor-specific methods or add experimental features. See [PROTOCOL.agent] section 4.7.
|
||||||
|
// If agent extensions are unsupported entirely this method MUST return an
|
||||||
|
// ErrExtensionUnsupported error. Similarly, if just the specific extensionType in
|
||||||
|
// the request is unsupported by the agent then ErrExtensionUnsupported MUST be
|
||||||
|
// returned.
|
||||||
|
//
|
||||||
|
// In the case of success, since [PROTOCOL.agent] section 4.7 specifies that the contents
|
||||||
|
// of the response are unspecified (including the type of the message), the complete
|
||||||
|
// response will be returned as a []byte slice, including the "type" byte of the message.
|
||||||
|
Extension(extensionType string, contents []byte) ([]byte, error)
|
||||||
|
}
|
||||||
|
|
||||||
// ConstraintExtension describes an optional constraint defined by users.
|
// ConstraintExtension describes an optional constraint defined by users.
|
||||||
type ConstraintExtension struct {
|
type ConstraintExtension struct {
|
||||||
// ExtensionName consist of a UTF-8 string suffixed by the
|
// ExtensionName consist of a UTF-8 string suffixed by the
|
||||||
@ -179,6 +211,23 @@ type constrainExtensionAgentMsg struct {
|
|||||||
Rest []byte `ssh:"rest"`
|
Rest []byte `ssh:"rest"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// See [PROTOCOL.agent], section 4.7
|
||||||
|
const agentExtension = 27
|
||||||
|
const agentExtensionFailure = 28
|
||||||
|
|
||||||
|
// ErrExtensionUnsupported indicates that an extension defined in
|
||||||
|
// [PROTOCOL.agent] section 4.7 is unsupported by the agent. Specifically this
|
||||||
|
// error indicates that the agent returned a standard SSH_AGENT_FAILURE message
|
||||||
|
// as the result of a SSH_AGENTC_EXTENSION request. Note that the protocol
|
||||||
|
// specification (and therefore this error) does not distinguish between a
|
||||||
|
// specific extension being unsupported and extensions being unsupported entirely.
|
||||||
|
var ErrExtensionUnsupported = errors.New("agent: extension unsupported")
|
||||||
|
|
||||||
|
type extensionAgentMsg struct {
|
||||||
|
ExtensionType string `sshtype:"27"`
|
||||||
|
Contents []byte
|
||||||
|
}
|
||||||
|
|
||||||
// Key represents a protocol 2 public key as defined in
|
// Key represents a protocol 2 public key as defined in
|
||||||
// [PROTOCOL.agent], section 2.5.2.
|
// [PROTOCOL.agent], section 2.5.2.
|
||||||
type Key struct {
|
type Key struct {
|
||||||
@ -260,7 +309,7 @@ type client struct {
|
|||||||
|
|
||||||
// NewClient returns an Agent that talks to an ssh-agent process over
|
// NewClient returns an Agent that talks to an ssh-agent process over
|
||||||
// the given connection.
|
// the given connection.
|
||||||
func NewClient(rw io.ReadWriter) Agent {
|
func NewClient(rw io.ReadWriter) ExtendedAgent {
|
||||||
return &client{conn: rw}
|
return &client{conn: rw}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -268,6 +317,21 @@ func NewClient(rw io.ReadWriter) Agent {
|
|||||||
// unmarshaled into reply and replyType is set to the first byte of
|
// unmarshaled into reply and replyType is set to the first byte of
|
||||||
// the reply, which contains the type of the message.
|
// the reply, which contains the type of the message.
|
||||||
func (c *client) call(req []byte) (reply interface{}, err error) {
|
func (c *client) call(req []byte) (reply interface{}, err error) {
|
||||||
|
buf, err := c.callRaw(req)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
reply, err = unmarshal(buf)
|
||||||
|
if err != nil {
|
||||||
|
return nil, clientErr(err)
|
||||||
|
}
|
||||||
|
return reply, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// callRaw sends an RPC to the agent. On success, the raw
|
||||||
|
// bytes of the response are returned; no unmarshalling is
|
||||||
|
// performed on the response.
|
||||||
|
func (c *client) callRaw(req []byte) (reply []byte, err error) {
|
||||||
c.mu.Lock()
|
c.mu.Lock()
|
||||||
defer c.mu.Unlock()
|
defer c.mu.Unlock()
|
||||||
|
|
||||||
@ -284,18 +348,14 @@ func (c *client) call(req []byte) (reply interface{}, err error) {
|
|||||||
}
|
}
|
||||||
respSize := binary.BigEndian.Uint32(respSizeBuf[:])
|
respSize := binary.BigEndian.Uint32(respSizeBuf[:])
|
||||||
if respSize > maxAgentResponseBytes {
|
if respSize > maxAgentResponseBytes {
|
||||||
return nil, clientErr(err)
|
return nil, clientErr(errors.New("response too large"))
|
||||||
}
|
}
|
||||||
|
|
||||||
buf := make([]byte, respSize)
|
buf := make([]byte, respSize)
|
||||||
if _, err = io.ReadFull(c.conn, buf); err != nil {
|
if _, err = io.ReadFull(c.conn, buf); err != nil {
|
||||||
return nil, clientErr(err)
|
return nil, clientErr(err)
|
||||||
}
|
}
|
||||||
reply, err = unmarshal(buf)
|
return buf, nil
|
||||||
if err != nil {
|
|
||||||
return nil, clientErr(err)
|
|
||||||
}
|
|
||||||
return reply, err
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *client) simpleCall(req []byte) error {
|
func (c *client) simpleCall(req []byte) error {
|
||||||
@ -369,9 +429,14 @@ func (c *client) List() ([]*Key, error) {
|
|||||||
// Sign has the agent sign the data using a protocol 2 key as defined
|
// Sign has the agent sign the data using a protocol 2 key as defined
|
||||||
// in [PROTOCOL.agent] section 2.6.2.
|
// in [PROTOCOL.agent] section 2.6.2.
|
||||||
func (c *client) Sign(key ssh.PublicKey, data []byte) (*ssh.Signature, error) {
|
func (c *client) Sign(key ssh.PublicKey, data []byte) (*ssh.Signature, error) {
|
||||||
|
return c.SignWithFlags(key, data, 0)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *client) SignWithFlags(key ssh.PublicKey, data []byte, flags SignatureFlags) (*ssh.Signature, error) {
|
||||||
req := ssh.Marshal(signRequestAgentMsg{
|
req := ssh.Marshal(signRequestAgentMsg{
|
||||||
KeyBlob: key.Marshal(),
|
KeyBlob: key.Marshal(),
|
||||||
Data: data,
|
Data: data,
|
||||||
|
Flags: uint32(flags),
|
||||||
})
|
})
|
||||||
|
|
||||||
msg, err := c.call(req)
|
msg, err := c.call(req)
|
||||||
@ -681,3 +746,44 @@ func (s *agentKeyringSigner) Sign(rand io.Reader, data []byte) (*ssh.Signature,
|
|||||||
// The agent has its own entropy source, so the rand argument is ignored.
|
// The agent has its own entropy source, so the rand argument is ignored.
|
||||||
return s.agent.Sign(s.pub, data)
|
return s.agent.Sign(s.pub, data)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (s *agentKeyringSigner) SignWithOpts(rand io.Reader, data []byte, opts crypto.SignerOpts) (*ssh.Signature, error) {
|
||||||
|
var flags SignatureFlags
|
||||||
|
if opts != nil {
|
||||||
|
switch opts.HashFunc() {
|
||||||
|
case crypto.SHA256:
|
||||||
|
flags = SignatureFlagRsaSha256
|
||||||
|
case crypto.SHA512:
|
||||||
|
flags = SignatureFlagRsaSha512
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return s.agent.SignWithFlags(s.pub, data, flags)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Calls an extension method. It is up to the agent implementation as to whether or not
|
||||||
|
// any particular extension is supported and may always return an error. Because the
|
||||||
|
// type of the response is up to the implementation, this returns the bytes of the
|
||||||
|
// response and does not attempt any type of unmarshalling.
|
||||||
|
func (c *client) Extension(extensionType string, contents []byte) ([]byte, error) {
|
||||||
|
req := ssh.Marshal(extensionAgentMsg{
|
||||||
|
ExtensionType: extensionType,
|
||||||
|
Contents: contents,
|
||||||
|
})
|
||||||
|
buf, err := c.callRaw(req)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
if len(buf) == 0 {
|
||||||
|
return nil, errors.New("agent: failure; empty response")
|
||||||
|
}
|
||||||
|
// [PROTOCOL.agent] section 4.7 indicates that an SSH_AGENT_FAILURE message
|
||||||
|
// represents an agent that does not support the extension
|
||||||
|
if buf[0] == agentFailure {
|
||||||
|
return nil, ErrExtensionUnsupported
|
||||||
|
}
|
||||||
|
if buf[0] == agentExtensionFailure {
|
||||||
|
return nil, errors.New("agent: generic extension failure")
|
||||||
|
}
|
||||||
|
|
||||||
|
return buf, nil
|
||||||
|
}
|
||||||
|
28
vendor/golang.org/x/crypto/ssh/agent/keyring.go
generated
vendored
28
vendor/golang.org/x/crypto/ssh/agent/keyring.go
generated
vendored
@ -182,6 +182,10 @@ func (r *keyring) Add(key AddedKey) error {
|
|||||||
|
|
||||||
// Sign returns a signature for the data.
|
// Sign returns a signature for the data.
|
||||||
func (r *keyring) Sign(key ssh.PublicKey, data []byte) (*ssh.Signature, error) {
|
func (r *keyring) Sign(key ssh.PublicKey, data []byte) (*ssh.Signature, error) {
|
||||||
|
return r.SignWithFlags(key, data, 0)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (r *keyring) SignWithFlags(key ssh.PublicKey, data []byte, flags SignatureFlags) (*ssh.Signature, error) {
|
||||||
r.mu.Lock()
|
r.mu.Lock()
|
||||||
defer r.mu.Unlock()
|
defer r.mu.Unlock()
|
||||||
if r.locked {
|
if r.locked {
|
||||||
@ -192,7 +196,24 @@ func (r *keyring) Sign(key ssh.PublicKey, data []byte) (*ssh.Signature, error) {
|
|||||||
wanted := key.Marshal()
|
wanted := key.Marshal()
|
||||||
for _, k := range r.keys {
|
for _, k := range r.keys {
|
||||||
if bytes.Equal(k.signer.PublicKey().Marshal(), wanted) {
|
if bytes.Equal(k.signer.PublicKey().Marshal(), wanted) {
|
||||||
return k.signer.Sign(rand.Reader, data)
|
if flags == 0 {
|
||||||
|
return k.signer.Sign(rand.Reader, data)
|
||||||
|
} else {
|
||||||
|
if algorithmSigner, ok := k.signer.(ssh.AlgorithmSigner); !ok {
|
||||||
|
return nil, fmt.Errorf("agent: signature does not support non-default signature algorithm: %T", k.signer)
|
||||||
|
} else {
|
||||||
|
var algorithm string
|
||||||
|
switch flags {
|
||||||
|
case SignatureFlagRsaSha256:
|
||||||
|
algorithm = ssh.SigAlgoRSASHA2256
|
||||||
|
case SignatureFlagRsaSha512:
|
||||||
|
algorithm = ssh.SigAlgoRSASHA2512
|
||||||
|
default:
|
||||||
|
return nil, fmt.Errorf("agent: unsupported signature flags: %d", flags)
|
||||||
|
}
|
||||||
|
return algorithmSigner.SignWithAlgorithm(rand.Reader, data, algorithm)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return nil, errors.New("not found")
|
return nil, errors.New("not found")
|
||||||
@ -213,3 +234,8 @@ func (r *keyring) Signers() ([]ssh.Signer, error) {
|
|||||||
}
|
}
|
||||||
return s, nil
|
return s, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// The keyring does not support any extensions
|
||||||
|
func (r *keyring) Extension(extensionType string, contents []byte) ([]byte, error) {
|
||||||
|
return nil, ErrExtensionUnsupported
|
||||||
|
}
|
||||||
|
46
vendor/golang.org/x/crypto/ssh/agent/server.go
generated
vendored
46
vendor/golang.org/x/crypto/ssh/agent/server.go
generated
vendored
@ -128,7 +128,14 @@ func (s *server) processRequest(data []byte) (interface{}, error) {
|
|||||||
Blob: req.KeyBlob,
|
Blob: req.KeyBlob,
|
||||||
}
|
}
|
||||||
|
|
||||||
sig, err := s.agent.Sign(k, req.Data) // TODO(hanwen): flags.
|
var sig *ssh.Signature
|
||||||
|
var err error
|
||||||
|
if extendedAgent, ok := s.agent.(ExtendedAgent); ok {
|
||||||
|
sig, err = extendedAgent.SignWithFlags(k, req.Data, SignatureFlags(req.Flags))
|
||||||
|
} else {
|
||||||
|
sig, err = s.agent.Sign(k, req.Data)
|
||||||
|
}
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@ -150,6 +157,43 @@ func (s *server) processRequest(data []byte) (interface{}, error) {
|
|||||||
|
|
||||||
case agentAddIDConstrained, agentAddIdentity:
|
case agentAddIDConstrained, agentAddIdentity:
|
||||||
return nil, s.insertIdentity(data)
|
return nil, s.insertIdentity(data)
|
||||||
|
|
||||||
|
case agentExtension:
|
||||||
|
// Return a stub object where the whole contents of the response gets marshaled.
|
||||||
|
var responseStub struct {
|
||||||
|
Rest []byte `ssh:"rest"`
|
||||||
|
}
|
||||||
|
|
||||||
|
if extendedAgent, ok := s.agent.(ExtendedAgent); !ok {
|
||||||
|
// If this agent doesn't implement extensions, [PROTOCOL.agent] section 4.7
|
||||||
|
// requires that we return a standard SSH_AGENT_FAILURE message.
|
||||||
|
responseStub.Rest = []byte{agentFailure}
|
||||||
|
} else {
|
||||||
|
var req extensionAgentMsg
|
||||||
|
if err := ssh.Unmarshal(data, &req); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
res, err := extendedAgent.Extension(req.ExtensionType, req.Contents)
|
||||||
|
if err != nil {
|
||||||
|
// If agent extensions are unsupported, return a standard SSH_AGENT_FAILURE
|
||||||
|
// message as required by [PROTOCOL.agent] section 4.7.
|
||||||
|
if err == ErrExtensionUnsupported {
|
||||||
|
responseStub.Rest = []byte{agentFailure}
|
||||||
|
} else {
|
||||||
|
// As the result of any other error processing an extension request,
|
||||||
|
// [PROTOCOL.agent] section 4.7 requires that we return a
|
||||||
|
// SSH_AGENT_EXTENSION_FAILURE code.
|
||||||
|
responseStub.Rest = []byte{agentExtensionFailure}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if len(res) == 0 {
|
||||||
|
return nil, nil
|
||||||
|
}
|
||||||
|
responseStub.Rest = res
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return responseStub, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil, fmt.Errorf("unknown opcode %d", data[0])
|
return nil, fmt.Errorf("unknown opcode %d", data[0])
|
||||||
|
16
vendor/golang.org/x/crypto/ssh/certs.go
generated
vendored
16
vendor/golang.org/x/crypto/ssh/certs.go
generated
vendored
@ -222,6 +222,11 @@ type openSSHCertSigner struct {
|
|||||||
signer Signer
|
signer Signer
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type algorithmOpenSSHCertSigner struct {
|
||||||
|
*openSSHCertSigner
|
||||||
|
algorithmSigner AlgorithmSigner
|
||||||
|
}
|
||||||
|
|
||||||
// NewCertSigner returns a Signer that signs with the given Certificate, whose
|
// NewCertSigner returns a Signer that signs with the given Certificate, whose
|
||||||
// private key is held by signer. It returns an error if the public key in cert
|
// private key is held by signer. It returns an error if the public key in cert
|
||||||
// doesn't match the key used by signer.
|
// doesn't match the key used by signer.
|
||||||
@ -230,7 +235,12 @@ func NewCertSigner(cert *Certificate, signer Signer) (Signer, error) {
|
|||||||
return nil, errors.New("ssh: signer and cert have different public key")
|
return nil, errors.New("ssh: signer and cert have different public key")
|
||||||
}
|
}
|
||||||
|
|
||||||
return &openSSHCertSigner{cert, signer}, nil
|
if algorithmSigner, ok := signer.(AlgorithmSigner); ok {
|
||||||
|
return &algorithmOpenSSHCertSigner{
|
||||||
|
&openSSHCertSigner{cert, signer}, algorithmSigner}, nil
|
||||||
|
} else {
|
||||||
|
return &openSSHCertSigner{cert, signer}, nil
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *openSSHCertSigner) Sign(rand io.Reader, data []byte) (*Signature, error) {
|
func (s *openSSHCertSigner) Sign(rand io.Reader, data []byte) (*Signature, error) {
|
||||||
@ -241,6 +251,10 @@ func (s *openSSHCertSigner) PublicKey() PublicKey {
|
|||||||
return s.pub
|
return s.pub
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (s *algorithmOpenSSHCertSigner) SignWithAlgorithm(rand io.Reader, data []byte, algorithm string) (*Signature, error) {
|
||||||
|
return s.algorithmSigner.SignWithAlgorithm(rand, data, algorithm)
|
||||||
|
}
|
||||||
|
|
||||||
const sourceAddressCriticalOption = "source-address"
|
const sourceAddressCriticalOption = "source-address"
|
||||||
|
|
||||||
// CertChecker does the work of verifying a certificate. Its methods
|
// CertChecker does the work of verifying a certificate. Its methods
|
||||||
|
2
vendor/golang.org/x/crypto/ssh/client.go
generated
vendored
2
vendor/golang.org/x/crypto/ssh/client.go
generated
vendored
@ -185,7 +185,7 @@ func Dial(network, addr string, config *ClientConfig) (*Client, error) {
|
|||||||
// keys. A HostKeyCallback must return nil if the host key is OK, or
|
// keys. A HostKeyCallback must return nil if the host key is OK, or
|
||||||
// an error to reject it. It receives the hostname as passed to Dial
|
// an error to reject it. It receives the hostname as passed to Dial
|
||||||
// or NewClientConn. The remote address is the RemoteAddr of the
|
// or NewClientConn. The remote address is the RemoteAddr of the
|
||||||
// net.Conn underlying the the SSH connection.
|
// net.Conn underlying the SSH connection.
|
||||||
type HostKeyCallback func(hostname string, remote net.Addr, key PublicKey) error
|
type HostKeyCallback func(hostname string, remote net.Addr, key PublicKey) error
|
||||||
|
|
||||||
// BannerCallback is the function type used for treat the banner sent by
|
// BannerCallback is the function type used for treat the banner sent by
|
||||||
|
89
vendor/golang.org/x/crypto/ssh/keys.go
generated
vendored
89
vendor/golang.org/x/crypto/ssh/keys.go
generated
vendored
@ -38,6 +38,16 @@ const (
|
|||||||
KeyAlgoED25519 = "ssh-ed25519"
|
KeyAlgoED25519 = "ssh-ed25519"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// These constants represent non-default signature algorithms that are supported
|
||||||
|
// as algorithm parameters to AlgorithmSigner.SignWithAlgorithm methods. See
|
||||||
|
// [PROTOCOL.agent] section 4.5.1 and
|
||||||
|
// https://tools.ietf.org/html/draft-ietf-curdle-rsa-sha2-10
|
||||||
|
const (
|
||||||
|
SigAlgoRSA = "ssh-rsa"
|
||||||
|
SigAlgoRSASHA2256 = "rsa-sha2-256"
|
||||||
|
SigAlgoRSASHA2512 = "rsa-sha2-512"
|
||||||
|
)
|
||||||
|
|
||||||
// parsePubKey parses a public key of the given algorithm.
|
// parsePubKey parses a public key of the given algorithm.
|
||||||
// Use ParsePublicKey for keys with prepended algorithm.
|
// Use ParsePublicKey for keys with prepended algorithm.
|
||||||
func parsePubKey(in []byte, algo string) (pubKey PublicKey, rest []byte, err error) {
|
func parsePubKey(in []byte, algo string) (pubKey PublicKey, rest []byte, err error) {
|
||||||
@ -301,6 +311,19 @@ type Signer interface {
|
|||||||
Sign(rand io.Reader, data []byte) (*Signature, error)
|
Sign(rand io.Reader, data []byte) (*Signature, error)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// A AlgorithmSigner is a Signer that also supports specifying a specific
|
||||||
|
// algorithm to use for signing.
|
||||||
|
type AlgorithmSigner interface {
|
||||||
|
Signer
|
||||||
|
|
||||||
|
// SignWithAlgorithm is like Signer.Sign, but allows specification of a
|
||||||
|
// non-default signing algorithm. See the SigAlgo* constants in this
|
||||||
|
// package for signature algorithms supported by this package. Callers may
|
||||||
|
// pass an empty string for the algorithm in which case the AlgorithmSigner
|
||||||
|
// will use its default algorithm.
|
||||||
|
SignWithAlgorithm(rand io.Reader, data []byte, algorithm string) (*Signature, error)
|
||||||
|
}
|
||||||
|
|
||||||
type rsaPublicKey rsa.PublicKey
|
type rsaPublicKey rsa.PublicKey
|
||||||
|
|
||||||
func (r *rsaPublicKey) Type() string {
|
func (r *rsaPublicKey) Type() string {
|
||||||
@ -349,13 +372,21 @@ func (r *rsaPublicKey) Marshal() []byte {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (r *rsaPublicKey) Verify(data []byte, sig *Signature) error {
|
func (r *rsaPublicKey) Verify(data []byte, sig *Signature) error {
|
||||||
if sig.Format != r.Type() {
|
var hash crypto.Hash
|
||||||
|
switch sig.Format {
|
||||||
|
case SigAlgoRSA:
|
||||||
|
hash = crypto.SHA1
|
||||||
|
case SigAlgoRSASHA2256:
|
||||||
|
hash = crypto.SHA256
|
||||||
|
case SigAlgoRSASHA2512:
|
||||||
|
hash = crypto.SHA512
|
||||||
|
default:
|
||||||
return fmt.Errorf("ssh: signature type %s for key type %s", sig.Format, r.Type())
|
return fmt.Errorf("ssh: signature type %s for key type %s", sig.Format, r.Type())
|
||||||
}
|
}
|
||||||
h := crypto.SHA1.New()
|
h := hash.New()
|
||||||
h.Write(data)
|
h.Write(data)
|
||||||
digest := h.Sum(nil)
|
digest := h.Sum(nil)
|
||||||
return rsa.VerifyPKCS1v15((*rsa.PublicKey)(r), crypto.SHA1, digest, sig.Blob)
|
return rsa.VerifyPKCS1v15((*rsa.PublicKey)(r), hash, digest, sig.Blob)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (r *rsaPublicKey) CryptoPublicKey() crypto.PublicKey {
|
func (r *rsaPublicKey) CryptoPublicKey() crypto.PublicKey {
|
||||||
@ -459,6 +490,14 @@ func (k *dsaPrivateKey) PublicKey() PublicKey {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (k *dsaPrivateKey) Sign(rand io.Reader, data []byte) (*Signature, error) {
|
func (k *dsaPrivateKey) Sign(rand io.Reader, data []byte) (*Signature, error) {
|
||||||
|
return k.SignWithAlgorithm(rand, data, "")
|
||||||
|
}
|
||||||
|
|
||||||
|
func (k *dsaPrivateKey) SignWithAlgorithm(rand io.Reader, data []byte, algorithm string) (*Signature, error) {
|
||||||
|
if algorithm != "" && algorithm != k.PublicKey().Type() {
|
||||||
|
return nil, fmt.Errorf("ssh: unsupported signature algorithm %s", algorithm)
|
||||||
|
}
|
||||||
|
|
||||||
h := crypto.SHA1.New()
|
h := crypto.SHA1.New()
|
||||||
h.Write(data)
|
h.Write(data)
|
||||||
digest := h.Sum(nil)
|
digest := h.Sum(nil)
|
||||||
@ -691,16 +730,42 @@ func (s *wrappedSigner) PublicKey() PublicKey {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (s *wrappedSigner) Sign(rand io.Reader, data []byte) (*Signature, error) {
|
func (s *wrappedSigner) Sign(rand io.Reader, data []byte) (*Signature, error) {
|
||||||
|
return s.SignWithAlgorithm(rand, data, "")
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *wrappedSigner) SignWithAlgorithm(rand io.Reader, data []byte, algorithm string) (*Signature, error) {
|
||||||
var hashFunc crypto.Hash
|
var hashFunc crypto.Hash
|
||||||
|
|
||||||
switch key := s.pubKey.(type) {
|
if _, ok := s.pubKey.(*rsaPublicKey); ok {
|
||||||
case *rsaPublicKey, *dsaPublicKey:
|
// RSA keys support a few hash functions determined by the requested signature algorithm
|
||||||
hashFunc = crypto.SHA1
|
switch algorithm {
|
||||||
case *ecdsaPublicKey:
|
case "", SigAlgoRSA:
|
||||||
hashFunc = ecHash(key.Curve)
|
algorithm = SigAlgoRSA
|
||||||
case ed25519PublicKey:
|
hashFunc = crypto.SHA1
|
||||||
default:
|
case SigAlgoRSASHA2256:
|
||||||
return nil, fmt.Errorf("ssh: unsupported key type %T", key)
|
hashFunc = crypto.SHA256
|
||||||
|
case SigAlgoRSASHA2512:
|
||||||
|
hashFunc = crypto.SHA512
|
||||||
|
default:
|
||||||
|
return nil, fmt.Errorf("ssh: unsupported signature algorithm %s", algorithm)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// The only supported algorithm for all other key types is the same as the type of the key
|
||||||
|
if algorithm == "" {
|
||||||
|
algorithm = s.pubKey.Type()
|
||||||
|
} else if algorithm != s.pubKey.Type() {
|
||||||
|
return nil, fmt.Errorf("ssh: unsupported signature algorithm %s", algorithm)
|
||||||
|
}
|
||||||
|
|
||||||
|
switch key := s.pubKey.(type) {
|
||||||
|
case *dsaPublicKey:
|
||||||
|
hashFunc = crypto.SHA1
|
||||||
|
case *ecdsaPublicKey:
|
||||||
|
hashFunc = ecHash(key.Curve)
|
||||||
|
case ed25519PublicKey:
|
||||||
|
default:
|
||||||
|
return nil, fmt.Errorf("ssh: unsupported key type %T", key)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var digest []byte
|
var digest []byte
|
||||||
@ -745,7 +810,7 @@ func (s *wrappedSigner) Sign(rand io.Reader, data []byte) (*Signature, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
return &Signature{
|
return &Signature{
|
||||||
Format: s.pubKey.Type(),
|
Format: algorithm,
|
||||||
Blob: signature,
|
Blob: signature,
|
||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
1
vendor/golang.org/x/crypto/ssh/server.go
generated
vendored
1
vendor/golang.org/x/crypto/ssh/server.go
generated
vendored
@ -484,6 +484,7 @@ userAuthLoop:
|
|||||||
// sig.Format. This is usually the same, but
|
// sig.Format. This is usually the same, but
|
||||||
// for certs, the names differ.
|
// for certs, the names differ.
|
||||||
if !isAcceptableAlgo(sig.Format) {
|
if !isAcceptableAlgo(sig.Format) {
|
||||||
|
authErr = fmt.Errorf("ssh: algorithm %q not accepted", sig.Format)
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
signedData := buildDataSignedForAuth(sessionID, userAuthReq, algoBytes, pubKeyData)
|
signedData := buildDataSignedForAuth(sessionID, userAuthReq, algoBytes, pubKeyData)
|
||||||
|
5
vendor/golang.org/x/net/context/ctxhttp/ctxhttp.go
generated
vendored
5
vendor/golang.org/x/net/context/ctxhttp/ctxhttp.go
generated
vendored
@ -2,18 +2,15 @@
|
|||||||
// Use of this source code is governed by a BSD-style
|
// Use of this source code is governed by a BSD-style
|
||||||
// license that can be found in the LICENSE file.
|
// license that can be found in the LICENSE file.
|
||||||
|
|
||||||
// +build go1.7
|
|
||||||
|
|
||||||
// Package ctxhttp provides helper functions for performing context-aware HTTP requests.
|
// Package ctxhttp provides helper functions for performing context-aware HTTP requests.
|
||||||
package ctxhttp // import "golang.org/x/net/context/ctxhttp"
|
package ctxhttp // import "golang.org/x/net/context/ctxhttp"
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"context"
|
||||||
"io"
|
"io"
|
||||||
"net/http"
|
"net/http"
|
||||||
"net/url"
|
"net/url"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"golang.org/x/net/context"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// Do sends an HTTP request with the provided http.Client and returns
|
// Do sends an HTTP request with the provided http.Client and returns
|
||||||
|
147
vendor/golang.org/x/net/context/ctxhttp/ctxhttp_pre17.go
generated
vendored
147
vendor/golang.org/x/net/context/ctxhttp/ctxhttp_pre17.go
generated
vendored
@ -1,147 +0,0 @@
|
|||||||
// Copyright 2015 The Go Authors. All rights reserved.
|
|
||||||
// Use of this source code is governed by a BSD-style
|
|
||||||
// license that can be found in the LICENSE file.
|
|
||||||
|
|
||||||
// +build !go1.7
|
|
||||||
|
|
||||||
package ctxhttp // import "golang.org/x/net/context/ctxhttp"
|
|
||||||
|
|
||||||
import (
|
|
||||||
"io"
|
|
||||||
"net/http"
|
|
||||||
"net/url"
|
|
||||||
"strings"
|
|
||||||
|
|
||||||
"golang.org/x/net/context"
|
|
||||||
)
|
|
||||||
|
|
||||||
func nop() {}
|
|
||||||
|
|
||||||
var (
|
|
||||||
testHookContextDoneBeforeHeaders = nop
|
|
||||||
testHookDoReturned = nop
|
|
||||||
testHookDidBodyClose = nop
|
|
||||||
)
|
|
||||||
|
|
||||||
// Do sends an HTTP request with the provided http.Client and returns an HTTP response.
|
|
||||||
// If the client is nil, http.DefaultClient is used.
|
|
||||||
// If the context is canceled or times out, ctx.Err() will be returned.
|
|
||||||
func Do(ctx context.Context, client *http.Client, req *http.Request) (*http.Response, error) {
|
|
||||||
if client == nil {
|
|
||||||
client = http.DefaultClient
|
|
||||||
}
|
|
||||||
|
|
||||||
// TODO(djd): Respect any existing value of req.Cancel.
|
|
||||||
cancel := make(chan struct{})
|
|
||||||
req.Cancel = cancel
|
|
||||||
|
|
||||||
type responseAndError struct {
|
|
||||||
resp *http.Response
|
|
||||||
err error
|
|
||||||
}
|
|
||||||
result := make(chan responseAndError, 1)
|
|
||||||
|
|
||||||
// Make local copies of test hooks closed over by goroutines below.
|
|
||||||
// Prevents data races in tests.
|
|
||||||
testHookDoReturned := testHookDoReturned
|
|
||||||
testHookDidBodyClose := testHookDidBodyClose
|
|
||||||
|
|
||||||
go func() {
|
|
||||||
resp, err := client.Do(req)
|
|
||||||
testHookDoReturned()
|
|
||||||
result <- responseAndError{resp, err}
|
|
||||||
}()
|
|
||||||
|
|
||||||
var resp *http.Response
|
|
||||||
|
|
||||||
select {
|
|
||||||
case <-ctx.Done():
|
|
||||||
testHookContextDoneBeforeHeaders()
|
|
||||||
close(cancel)
|
|
||||||
// Clean up after the goroutine calling client.Do:
|
|
||||||
go func() {
|
|
||||||
if r := <-result; r.resp != nil {
|
|
||||||
testHookDidBodyClose()
|
|
||||||
r.resp.Body.Close()
|
|
||||||
}
|
|
||||||
}()
|
|
||||||
return nil, ctx.Err()
|
|
||||||
case r := <-result:
|
|
||||||
var err error
|
|
||||||
resp, err = r.resp, r.err
|
|
||||||
if err != nil {
|
|
||||||
return resp, err
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
c := make(chan struct{})
|
|
||||||
go func() {
|
|
||||||
select {
|
|
||||||
case <-ctx.Done():
|
|
||||||
close(cancel)
|
|
||||||
case <-c:
|
|
||||||
// The response's Body is closed.
|
|
||||||
}
|
|
||||||
}()
|
|
||||||
resp.Body = ¬ifyingReader{resp.Body, c}
|
|
||||||
|
|
||||||
return resp, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// Get issues a GET request via the Do function.
|
|
||||||
func Get(ctx context.Context, client *http.Client, url string) (*http.Response, error) {
|
|
||||||
req, err := http.NewRequest("GET", url, nil)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return Do(ctx, client, req)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Head issues a HEAD request via the Do function.
|
|
||||||
func Head(ctx context.Context, client *http.Client, url string) (*http.Response, error) {
|
|
||||||
req, err := http.NewRequest("HEAD", url, nil)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return Do(ctx, client, req)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Post issues a POST request via the Do function.
|
|
||||||
func Post(ctx context.Context, client *http.Client, url string, bodyType string, body io.Reader) (*http.Response, error) {
|
|
||||||
req, err := http.NewRequest("POST", url, body)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
req.Header.Set("Content-Type", bodyType)
|
|
||||||
return Do(ctx, client, req)
|
|
||||||
}
|
|
||||||
|
|
||||||
// PostForm issues a POST request via the Do function.
|
|
||||||
func PostForm(ctx context.Context, client *http.Client, url string, data url.Values) (*http.Response, error) {
|
|
||||||
return Post(ctx, client, url, "application/x-www-form-urlencoded", strings.NewReader(data.Encode()))
|
|
||||||
}
|
|
||||||
|
|
||||||
// notifyingReader is an io.ReadCloser that closes the notify channel after
|
|
||||||
// Close is called or a Read fails on the underlying ReadCloser.
|
|
||||||
type notifyingReader struct {
|
|
||||||
io.ReadCloser
|
|
||||||
notify chan<- struct{}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (r *notifyingReader) Read(p []byte) (int, error) {
|
|
||||||
n, err := r.ReadCloser.Read(p)
|
|
||||||
if err != nil && r.notify != nil {
|
|
||||||
close(r.notify)
|
|
||||||
r.notify = nil
|
|
||||||
}
|
|
||||||
return n, err
|
|
||||||
}
|
|
||||||
|
|
||||||
func (r *notifyingReader) Close() error {
|
|
||||||
err := r.ReadCloser.Close()
|
|
||||||
if r.notify != nil {
|
|
||||||
close(r.notify)
|
|
||||||
r.notify = nil
|
|
||||||
}
|
|
||||||
return err
|
|
||||||
}
|
|
82
vendor/golang.org/x/net/http2/configure_transport.go
generated
vendored
82
vendor/golang.org/x/net/http2/configure_transport.go
generated
vendored
@ -1,82 +0,0 @@
|
|||||||
// Copyright 2015 The Go Authors. All rights reserved.
|
|
||||||
// Use of this source code is governed by a BSD-style
|
|
||||||
// license that can be found in the LICENSE file.
|
|
||||||
|
|
||||||
// +build go1.6
|
|
||||||
|
|
||||||
package http2
|
|
||||||
|
|
||||||
import (
|
|
||||||
"crypto/tls"
|
|
||||||
"fmt"
|
|
||||||
"net/http"
|
|
||||||
)
|
|
||||||
|
|
||||||
func configureTransport(t1 *http.Transport) (*Transport, error) {
|
|
||||||
connPool := new(clientConnPool)
|
|
||||||
t2 := &Transport{
|
|
||||||
ConnPool: noDialClientConnPool{connPool},
|
|
||||||
t1: t1,
|
|
||||||
}
|
|
||||||
connPool.t = t2
|
|
||||||
if err := registerHTTPSProtocol(t1, noDialH2RoundTripper{t2}); err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
if t1.TLSClientConfig == nil {
|
|
||||||
t1.TLSClientConfig = new(tls.Config)
|
|
||||||
}
|
|
||||||
if !strSliceContains(t1.TLSClientConfig.NextProtos, "h2") {
|
|
||||||
t1.TLSClientConfig.NextProtos = append([]string{"h2"}, t1.TLSClientConfig.NextProtos...)
|
|
||||||
}
|
|
||||||
if !strSliceContains(t1.TLSClientConfig.NextProtos, "http/1.1") {
|
|
||||||
t1.TLSClientConfig.NextProtos = append(t1.TLSClientConfig.NextProtos, "http/1.1")
|
|
||||||
}
|
|
||||||
upgradeFn := func(authority string, c *tls.Conn) http.RoundTripper {
|
|
||||||
addr := authorityAddr("https", authority)
|
|
||||||
if used, err := connPool.addConnIfNeeded(addr, t2, c); err != nil {
|
|
||||||
go c.Close()
|
|
||||||
return erringRoundTripper{err}
|
|
||||||
} else if !used {
|
|
||||||
// Turns out we don't need this c.
|
|
||||||
// For example, two goroutines made requests to the same host
|
|
||||||
// at the same time, both kicking off TCP dials. (since protocol
|
|
||||||
// was unknown)
|
|
||||||
go c.Close()
|
|
||||||
}
|
|
||||||
return t2
|
|
||||||
}
|
|
||||||
if m := t1.TLSNextProto; len(m) == 0 {
|
|
||||||
t1.TLSNextProto = map[string]func(string, *tls.Conn) http.RoundTripper{
|
|
||||||
"h2": upgradeFn,
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
m["h2"] = upgradeFn
|
|
||||||
}
|
|
||||||
return t2, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// registerHTTPSProtocol calls Transport.RegisterProtocol but
|
|
||||||
// converting panics into errors.
|
|
||||||
func registerHTTPSProtocol(t *http.Transport, rt noDialH2RoundTripper) (err error) {
|
|
||||||
defer func() {
|
|
||||||
if e := recover(); e != nil {
|
|
||||||
err = fmt.Errorf("%v", e)
|
|
||||||
}
|
|
||||||
}()
|
|
||||||
t.RegisterProtocol("https", rt)
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// noDialH2RoundTripper is a RoundTripper which only tries to complete the request
|
|
||||||
// if there's already has a cached connection to the host.
|
|
||||||
// (The field is exported so it can be accessed via reflect from net/http; tested
|
|
||||||
// by TestNoDialH2RoundTripperType)
|
|
||||||
type noDialH2RoundTripper struct{ *Transport }
|
|
||||||
|
|
||||||
func (rt noDialH2RoundTripper) RoundTrip(req *http.Request) (*http.Response, error) {
|
|
||||||
res, err := rt.Transport.RoundTrip(req)
|
|
||||||
if isNoCachedConnError(err) {
|
|
||||||
return nil, http.ErrSkipAltProtocol
|
|
||||||
}
|
|
||||||
return res, err
|
|
||||||
}
|
|
2
vendor/golang.org/x/net/http2/frame.go
generated
vendored
2
vendor/golang.org/x/net/http2/frame.go
generated
vendored
@ -1477,7 +1477,7 @@ func (fr *Framer) maxHeaderStringLen() int {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// readMetaFrame returns 0 or more CONTINUATION frames from fr and
|
// readMetaFrame returns 0 or more CONTINUATION frames from fr and
|
||||||
// merge them into into the provided hf and returns a MetaHeadersFrame
|
// merge them into the provided hf and returns a MetaHeadersFrame
|
||||||
// with the decoded hpack values.
|
// with the decoded hpack values.
|
||||||
func (fr *Framer) readMetaFrame(hf *HeadersFrame) (*MetaHeadersFrame, error) {
|
func (fr *Framer) readMetaFrame(hf *HeadersFrame) (*MetaHeadersFrame, error) {
|
||||||
if fr.AllowIllegalReads {
|
if fr.AllowIllegalReads {
|
||||||
|
11
vendor/golang.org/x/net/http2/go111.go
generated
vendored
11
vendor/golang.org/x/net/http2/go111.go
generated
vendored
@ -6,19 +6,22 @@
|
|||||||
|
|
||||||
package http2
|
package http2
|
||||||
|
|
||||||
import "net/textproto"
|
import (
|
||||||
|
"net/http/httptrace"
|
||||||
|
"net/textproto"
|
||||||
|
)
|
||||||
|
|
||||||
func traceHasWroteHeaderField(trace *clientTrace) bool {
|
func traceHasWroteHeaderField(trace *httptrace.ClientTrace) bool {
|
||||||
return trace != nil && trace.WroteHeaderField != nil
|
return trace != nil && trace.WroteHeaderField != nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func traceWroteHeaderField(trace *clientTrace, k, v string) {
|
func traceWroteHeaderField(trace *httptrace.ClientTrace, k, v string) {
|
||||||
if trace != nil && trace.WroteHeaderField != nil {
|
if trace != nil && trace.WroteHeaderField != nil {
|
||||||
trace.WroteHeaderField(k, []string{v})
|
trace.WroteHeaderField(k, []string{v})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func traceGot1xxResponseFunc(trace *clientTrace) func(int, textproto.MIMEHeader) error {
|
func traceGot1xxResponseFunc(trace *httptrace.ClientTrace) func(int, textproto.MIMEHeader) error {
|
||||||
if trace != nil {
|
if trace != nil {
|
||||||
return trace.Got1xxResponse
|
return trace.Got1xxResponse
|
||||||
}
|
}
|
||||||
|
16
vendor/golang.org/x/net/http2/go16.go
generated
vendored
16
vendor/golang.org/x/net/http2/go16.go
generated
vendored
@ -1,16 +0,0 @@
|
|||||||
// Copyright 2016 The Go Authors. All rights reserved.
|
|
||||||
// Use of this source code is governed by a BSD-style
|
|
||||||
// license that can be found in the LICENSE file.
|
|
||||||
|
|
||||||
// +build go1.6
|
|
||||||
|
|
||||||
package http2
|
|
||||||
|
|
||||||
import (
|
|
||||||
"net/http"
|
|
||||||
"time"
|
|
||||||
)
|
|
||||||
|
|
||||||
func transportExpectContinueTimeout(t1 *http.Transport) time.Duration {
|
|
||||||
return t1.ExpectContinueTimeout
|
|
||||||
}
|
|
121
vendor/golang.org/x/net/http2/go17.go
generated
vendored
121
vendor/golang.org/x/net/http2/go17.go
generated
vendored
@ -1,121 +0,0 @@
|
|||||||
// Copyright 2016 The Go Authors. All rights reserved.
|
|
||||||
// Use of this source code is governed by a BSD-style
|
|
||||||
// license that can be found in the LICENSE file.
|
|
||||||
|
|
||||||
// +build go1.7
|
|
||||||
|
|
||||||
package http2
|
|
||||||
|
|
||||||
import (
|
|
||||||
"context"
|
|
||||||
"net"
|
|
||||||
"net/http"
|
|
||||||
"net/http/httptrace"
|
|
||||||
"time"
|
|
||||||
)
|
|
||||||
|
|
||||||
type contextContext interface {
|
|
||||||
context.Context
|
|
||||||
}
|
|
||||||
|
|
||||||
var errCanceled = context.Canceled
|
|
||||||
|
|
||||||
func serverConnBaseContext(c net.Conn, opts *ServeConnOpts) (ctx contextContext, cancel func()) {
|
|
||||||
ctx, cancel = context.WithCancel(context.Background())
|
|
||||||
ctx = context.WithValue(ctx, http.LocalAddrContextKey, c.LocalAddr())
|
|
||||||
if hs := opts.baseConfig(); hs != nil {
|
|
||||||
ctx = context.WithValue(ctx, http.ServerContextKey, hs)
|
|
||||||
}
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
func contextWithCancel(ctx contextContext) (_ contextContext, cancel func()) {
|
|
||||||
return context.WithCancel(ctx)
|
|
||||||
}
|
|
||||||
|
|
||||||
func requestWithContext(req *http.Request, ctx contextContext) *http.Request {
|
|
||||||
return req.WithContext(ctx)
|
|
||||||
}
|
|
||||||
|
|
||||||
type clientTrace httptrace.ClientTrace
|
|
||||||
|
|
||||||
func reqContext(r *http.Request) context.Context { return r.Context() }
|
|
||||||
|
|
||||||
func (t *Transport) idleConnTimeout() time.Duration {
|
|
||||||
if t.t1 != nil {
|
|
||||||
return t.t1.IdleConnTimeout
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func setResponseUncompressed(res *http.Response) { res.Uncompressed = true }
|
|
||||||
|
|
||||||
func traceGetConn(req *http.Request, hostPort string) {
|
|
||||||
trace := httptrace.ContextClientTrace(req.Context())
|
|
||||||
if trace == nil || trace.GetConn == nil {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
trace.GetConn(hostPort)
|
|
||||||
}
|
|
||||||
|
|
||||||
func traceGotConn(req *http.Request, cc *ClientConn) {
|
|
||||||
trace := httptrace.ContextClientTrace(req.Context())
|
|
||||||
if trace == nil || trace.GotConn == nil {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
ci := httptrace.GotConnInfo{Conn: cc.tconn}
|
|
||||||
cc.mu.Lock()
|
|
||||||
ci.Reused = cc.nextStreamID > 1
|
|
||||||
ci.WasIdle = len(cc.streams) == 0 && ci.Reused
|
|
||||||
if ci.WasIdle && !cc.lastActive.IsZero() {
|
|
||||||
ci.IdleTime = time.Now().Sub(cc.lastActive)
|
|
||||||
}
|
|
||||||
cc.mu.Unlock()
|
|
||||||
|
|
||||||
trace.GotConn(ci)
|
|
||||||
}
|
|
||||||
|
|
||||||
func traceWroteHeaders(trace *clientTrace) {
|
|
||||||
if trace != nil && trace.WroteHeaders != nil {
|
|
||||||
trace.WroteHeaders()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func traceGot100Continue(trace *clientTrace) {
|
|
||||||
if trace != nil && trace.Got100Continue != nil {
|
|
||||||
trace.Got100Continue()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func traceWait100Continue(trace *clientTrace) {
|
|
||||||
if trace != nil && trace.Wait100Continue != nil {
|
|
||||||
trace.Wait100Continue()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func traceWroteRequest(trace *clientTrace, err error) {
|
|
||||||
if trace != nil && trace.WroteRequest != nil {
|
|
||||||
trace.WroteRequest(httptrace.WroteRequestInfo{Err: err})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func traceFirstResponseByte(trace *clientTrace) {
|
|
||||||
if trace != nil && trace.GotFirstResponseByte != nil {
|
|
||||||
trace.GotFirstResponseByte()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func requestTrace(req *http.Request) *clientTrace {
|
|
||||||
trace := httptrace.ContextClientTrace(req.Context())
|
|
||||||
return (*clientTrace)(trace)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Ping sends a PING frame to the server and waits for the ack.
|
|
||||||
func (cc *ClientConn) Ping(ctx context.Context) error {
|
|
||||||
return cc.ping(ctx)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Shutdown gracefully closes the client connection, waiting for running streams to complete.
|
|
||||||
func (cc *ClientConn) Shutdown(ctx context.Context) error {
|
|
||||||
return cc.shutdown(ctx)
|
|
||||||
}
|
|
36
vendor/golang.org/x/net/http2/go17_not18.go
generated
vendored
36
vendor/golang.org/x/net/http2/go17_not18.go
generated
vendored
@ -1,36 +0,0 @@
|
|||||||
// Copyright 2016 The Go Authors. All rights reserved.
|
|
||||||
// Use of this source code is governed by a BSD-style
|
|
||||||
// license that can be found in the LICENSE file.
|
|
||||||
|
|
||||||
// +build go1.7,!go1.8
|
|
||||||
|
|
||||||
package http2
|
|
||||||
|
|
||||||
import "crypto/tls"
|
|
||||||
|
|
||||||
// temporary copy of Go 1.7's private tls.Config.clone:
|
|
||||||
func cloneTLSConfig(c *tls.Config) *tls.Config {
|
|
||||||
return &tls.Config{
|
|
||||||
Rand: c.Rand,
|
|
||||||
Time: c.Time,
|
|
||||||
Certificates: c.Certificates,
|
|
||||||
NameToCertificate: c.NameToCertificate,
|
|
||||||
GetCertificate: c.GetCertificate,
|
|
||||||
RootCAs: c.RootCAs,
|
|
||||||
NextProtos: c.NextProtos,
|
|
||||||
ServerName: c.ServerName,
|
|
||||||
ClientAuth: c.ClientAuth,
|
|
||||||
ClientCAs: c.ClientCAs,
|
|
||||||
InsecureSkipVerify: c.InsecureSkipVerify,
|
|
||||||
CipherSuites: c.CipherSuites,
|
|
||||||
PreferServerCipherSuites: c.PreferServerCipherSuites,
|
|
||||||
SessionTicketsDisabled: c.SessionTicketsDisabled,
|
|
||||||
SessionTicketKey: c.SessionTicketKey,
|
|
||||||
ClientSessionCache: c.ClientSessionCache,
|
|
||||||
MinVersion: c.MinVersion,
|
|
||||||
MaxVersion: c.MaxVersion,
|
|
||||||
CurvePreferences: c.CurvePreferences,
|
|
||||||
DynamicRecordSizingDisabled: c.DynamicRecordSizingDisabled,
|
|
||||||
Renegotiation: c.Renegotiation,
|
|
||||||
}
|
|
||||||
}
|
|
56
vendor/golang.org/x/net/http2/go18.go
generated
vendored
56
vendor/golang.org/x/net/http2/go18.go
generated
vendored
@ -1,56 +0,0 @@
|
|||||||
// Copyright 2015 The Go Authors. All rights reserved.
|
|
||||||
// Use of this source code is governed by a BSD-style
|
|
||||||
// license that can be found in the LICENSE file.
|
|
||||||
|
|
||||||
// +build go1.8
|
|
||||||
|
|
||||||
package http2
|
|
||||||
|
|
||||||
import (
|
|
||||||
"crypto/tls"
|
|
||||||
"io"
|
|
||||||
"net/http"
|
|
||||||
)
|
|
||||||
|
|
||||||
func cloneTLSConfig(c *tls.Config) *tls.Config {
|
|
||||||
c2 := c.Clone()
|
|
||||||
c2.GetClientCertificate = c.GetClientCertificate // golang.org/issue/19264
|
|
||||||
return c2
|
|
||||||
}
|
|
||||||
|
|
||||||
var _ http.Pusher = (*responseWriter)(nil)
|
|
||||||
|
|
||||||
// Push implements http.Pusher.
|
|
||||||
func (w *responseWriter) Push(target string, opts *http.PushOptions) error {
|
|
||||||
internalOpts := pushOptions{}
|
|
||||||
if opts != nil {
|
|
||||||
internalOpts.Method = opts.Method
|
|
||||||
internalOpts.Header = opts.Header
|
|
||||||
}
|
|
||||||
return w.push(target, internalOpts)
|
|
||||||
}
|
|
||||||
|
|
||||||
func configureServer18(h1 *http.Server, h2 *Server) error {
|
|
||||||
if h2.IdleTimeout == 0 {
|
|
||||||
if h1.IdleTimeout != 0 {
|
|
||||||
h2.IdleTimeout = h1.IdleTimeout
|
|
||||||
} else {
|
|
||||||
h2.IdleTimeout = h1.ReadTimeout
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func shouldLogPanic(panicValue interface{}) bool {
|
|
||||||
return panicValue != nil && panicValue != http.ErrAbortHandler
|
|
||||||
}
|
|
||||||
|
|
||||||
func reqGetBody(req *http.Request) func() (io.ReadCloser, error) {
|
|
||||||
return req.GetBody
|
|
||||||
}
|
|
||||||
|
|
||||||
func reqBodyIsNoBody(body io.ReadCloser) bool {
|
|
||||||
return body == http.NoBody
|
|
||||||
}
|
|
||||||
|
|
||||||
func go18httpNoBody() io.ReadCloser { return http.NoBody } // for tests only
|
|
16
vendor/golang.org/x/net/http2/go19.go
generated
vendored
16
vendor/golang.org/x/net/http2/go19.go
generated
vendored
@ -1,16 +0,0 @@
|
|||||||
// Copyright 2015 The Go Authors. All rights reserved.
|
|
||||||
// Use of this source code is governed by a BSD-style
|
|
||||||
// license that can be found in the LICENSE file.
|
|
||||||
|
|
||||||
// +build go1.9
|
|
||||||
|
|
||||||
package http2
|
|
||||||
|
|
||||||
import (
|
|
||||||
"net/http"
|
|
||||||
)
|
|
||||||
|
|
||||||
func configureServer19(s *http.Server, conf *Server) error {
|
|
||||||
s.RegisterOnShutdown(conf.state.startGracefulShutdown)
|
|
||||||
return nil
|
|
||||||
}
|
|
11
vendor/golang.org/x/net/http2/not_go111.go
generated
vendored
11
vendor/golang.org/x/net/http2/not_go111.go
generated
vendored
@ -6,12 +6,15 @@
|
|||||||
|
|
||||||
package http2
|
package http2
|
||||||
|
|
||||||
import "net/textproto"
|
import (
|
||||||
|
"net/http/httptrace"
|
||||||
|
"net/textproto"
|
||||||
|
)
|
||||||
|
|
||||||
func traceHasWroteHeaderField(trace *clientTrace) bool { return false }
|
func traceHasWroteHeaderField(trace *httptrace.ClientTrace) bool { return false }
|
||||||
|
|
||||||
func traceWroteHeaderField(trace *clientTrace, k, v string) {}
|
func traceWroteHeaderField(trace *httptrace.ClientTrace, k, v string) {}
|
||||||
|
|
||||||
func traceGot1xxResponseFunc(trace *clientTrace) func(int, textproto.MIMEHeader) error {
|
func traceGot1xxResponseFunc(trace *httptrace.ClientTrace) func(int, textproto.MIMEHeader) error {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
21
vendor/golang.org/x/net/http2/not_go16.go
generated
vendored
21
vendor/golang.org/x/net/http2/not_go16.go
generated
vendored
@ -1,21 +0,0 @@
|
|||||||
// Copyright 2015 The Go Authors. All rights reserved.
|
|
||||||
// Use of this source code is governed by a BSD-style
|
|
||||||
// license that can be found in the LICENSE file.
|
|
||||||
|
|
||||||
// +build !go1.6
|
|
||||||
|
|
||||||
package http2
|
|
||||||
|
|
||||||
import (
|
|
||||||
"net/http"
|
|
||||||
"time"
|
|
||||||
)
|
|
||||||
|
|
||||||
func configureTransport(t1 *http.Transport) (*Transport, error) {
|
|
||||||
return nil, errTransportVersion
|
|
||||||
}
|
|
||||||
|
|
||||||
func transportExpectContinueTimeout(t1 *http.Transport) time.Duration {
|
|
||||||
return 0
|
|
||||||
|
|
||||||
}
|
|
95
vendor/golang.org/x/net/http2/not_go17.go
generated
vendored
95
vendor/golang.org/x/net/http2/not_go17.go
generated
vendored
@ -1,95 +0,0 @@
|
|||||||
// Copyright 2016 The Go Authors. All rights reserved.
|
|
||||||
// Use of this source code is governed by a BSD-style
|
|
||||||
// license that can be found in the LICENSE file.
|
|
||||||
|
|
||||||
// +build !go1.7
|
|
||||||
|
|
||||||
package http2
|
|
||||||
|
|
||||||
import (
|
|
||||||
"crypto/tls"
|
|
||||||
"errors"
|
|
||||||
"net"
|
|
||||||
"net/http"
|
|
||||||
"time"
|
|
||||||
)
|
|
||||||
|
|
||||||
type contextContext interface {
|
|
||||||
Done() <-chan struct{}
|
|
||||||
Err() error
|
|
||||||
}
|
|
||||||
|
|
||||||
var errCanceled = errors.New("canceled")
|
|
||||||
|
|
||||||
type fakeContext struct{}
|
|
||||||
|
|
||||||
func (fakeContext) Done() <-chan struct{} { return nil }
|
|
||||||
func (fakeContext) Err() error { panic("should not be called") }
|
|
||||||
|
|
||||||
func reqContext(r *http.Request) fakeContext {
|
|
||||||
return fakeContext{}
|
|
||||||
}
|
|
||||||
|
|
||||||
func setResponseUncompressed(res *http.Response) {
|
|
||||||
// Nothing.
|
|
||||||
}
|
|
||||||
|
|
||||||
type clientTrace struct{}
|
|
||||||
|
|
||||||
func requestTrace(*http.Request) *clientTrace { return nil }
|
|
||||||
func traceGetConn(*http.Request, string) {}
|
|
||||||
func traceGotConn(*http.Request, *ClientConn) {}
|
|
||||||
func traceFirstResponseByte(*clientTrace) {}
|
|
||||||
func traceWroteHeaders(*clientTrace) {}
|
|
||||||
func traceWroteRequest(*clientTrace, error) {}
|
|
||||||
func traceGot100Continue(trace *clientTrace) {}
|
|
||||||
func traceWait100Continue(trace *clientTrace) {}
|
|
||||||
|
|
||||||
func nop() {}
|
|
||||||
|
|
||||||
func serverConnBaseContext(c net.Conn, opts *ServeConnOpts) (ctx contextContext, cancel func()) {
|
|
||||||
return nil, nop
|
|
||||||
}
|
|
||||||
|
|
||||||
func contextWithCancel(ctx contextContext) (_ contextContext, cancel func()) {
|
|
||||||
return ctx, nop
|
|
||||||
}
|
|
||||||
|
|
||||||
func requestWithContext(req *http.Request, ctx contextContext) *http.Request {
|
|
||||||
return req
|
|
||||||
}
|
|
||||||
|
|
||||||
// temporary copy of Go 1.6's private tls.Config.clone:
|
|
||||||
func cloneTLSConfig(c *tls.Config) *tls.Config {
|
|
||||||
return &tls.Config{
|
|
||||||
Rand: c.Rand,
|
|
||||||
Time: c.Time,
|
|
||||||
Certificates: c.Certificates,
|
|
||||||
NameToCertificate: c.NameToCertificate,
|
|
||||||
GetCertificate: c.GetCertificate,
|
|
||||||
RootCAs: c.RootCAs,
|
|
||||||
NextProtos: c.NextProtos,
|
|
||||||
ServerName: c.ServerName,
|
|
||||||
ClientAuth: c.ClientAuth,
|
|
||||||
ClientCAs: c.ClientCAs,
|
|
||||||
InsecureSkipVerify: c.InsecureSkipVerify,
|
|
||||||
CipherSuites: c.CipherSuites,
|
|
||||||
PreferServerCipherSuites: c.PreferServerCipherSuites,
|
|
||||||
SessionTicketsDisabled: c.SessionTicketsDisabled,
|
|
||||||
SessionTicketKey: c.SessionTicketKey,
|
|
||||||
ClientSessionCache: c.ClientSessionCache,
|
|
||||||
MinVersion: c.MinVersion,
|
|
||||||
MaxVersion: c.MaxVersion,
|
|
||||||
CurvePreferences: c.CurvePreferences,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (cc *ClientConn) Ping(ctx contextContext) error {
|
|
||||||
return cc.ping(ctx)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (cc *ClientConn) Shutdown(ctx contextContext) error {
|
|
||||||
return cc.shutdown(ctx)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (t *Transport) idleConnTimeout() time.Duration { return 0 }
|
|
29
vendor/golang.org/x/net/http2/not_go18.go
generated
vendored
29
vendor/golang.org/x/net/http2/not_go18.go
generated
vendored
@ -1,29 +0,0 @@
|
|||||||
// Copyright 2016 The Go Authors. All rights reserved.
|
|
||||||
// Use of this source code is governed by a BSD-style
|
|
||||||
// license that can be found in the LICENSE file.
|
|
||||||
|
|
||||||
// +build !go1.8
|
|
||||||
|
|
||||||
package http2
|
|
||||||
|
|
||||||
import (
|
|
||||||
"io"
|
|
||||||
"net/http"
|
|
||||||
)
|
|
||||||
|
|
||||||
func configureServer18(h1 *http.Server, h2 *Server) error {
|
|
||||||
// No IdleTimeout to sync prior to Go 1.8.
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func shouldLogPanic(panicValue interface{}) bool {
|
|
||||||
return panicValue != nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func reqGetBody(req *http.Request) func() (io.ReadCloser, error) {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func reqBodyIsNoBody(io.ReadCloser) bool { return false }
|
|
||||||
|
|
||||||
func go18httpNoBody() io.ReadCloser { return nil } // for tests only
|
|
16
vendor/golang.org/x/net/http2/not_go19.go
generated
vendored
16
vendor/golang.org/x/net/http2/not_go19.go
generated
vendored
@ -1,16 +0,0 @@
|
|||||||
// Copyright 2016 The Go Authors. All rights reserved.
|
|
||||||
// Use of this source code is governed by a BSD-style
|
|
||||||
// license that can be found in the LICENSE file.
|
|
||||||
|
|
||||||
// +build !go1.9
|
|
||||||
|
|
||||||
package http2
|
|
||||||
|
|
||||||
import (
|
|
||||||
"net/http"
|
|
||||||
)
|
|
||||||
|
|
||||||
func configureServer19(s *http.Server, conf *Server) error {
|
|
||||||
// not supported prior to go1.9
|
|
||||||
return nil
|
|
||||||
}
|
|
47
vendor/golang.org/x/net/http2/server.go
generated
vendored
47
vendor/golang.org/x/net/http2/server.go
generated
vendored
@ -28,6 +28,7 @@ package http2
|
|||||||
import (
|
import (
|
||||||
"bufio"
|
"bufio"
|
||||||
"bytes"
|
"bytes"
|
||||||
|
"context"
|
||||||
"crypto/tls"
|
"crypto/tls"
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
@ -209,12 +210,14 @@ func ConfigureServer(s *http.Server, conf *Server) error {
|
|||||||
conf = new(Server)
|
conf = new(Server)
|
||||||
}
|
}
|
||||||
conf.state = &serverInternalState{activeConns: make(map[*serverConn]struct{})}
|
conf.state = &serverInternalState{activeConns: make(map[*serverConn]struct{})}
|
||||||
if err := configureServer18(s, conf); err != nil {
|
if h1, h2 := s, conf; h2.IdleTimeout == 0 {
|
||||||
return err
|
if h1.IdleTimeout != 0 {
|
||||||
}
|
h2.IdleTimeout = h1.IdleTimeout
|
||||||
if err := configureServer19(s, conf); err != nil {
|
} else {
|
||||||
return err
|
h2.IdleTimeout = h1.ReadTimeout
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
s.RegisterOnShutdown(conf.state.startGracefulShutdown)
|
||||||
|
|
||||||
if s.TLSConfig == nil {
|
if s.TLSConfig == nil {
|
||||||
s.TLSConfig = new(tls.Config)
|
s.TLSConfig = new(tls.Config)
|
||||||
@ -435,6 +438,15 @@ func (s *Server) ServeConn(c net.Conn, opts *ServeConnOpts) {
|
|||||||
sc.serve()
|
sc.serve()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func serverConnBaseContext(c net.Conn, opts *ServeConnOpts) (ctx context.Context, cancel func()) {
|
||||||
|
ctx, cancel = context.WithCancel(context.Background())
|
||||||
|
ctx = context.WithValue(ctx, http.LocalAddrContextKey, c.LocalAddr())
|
||||||
|
if hs := opts.baseConfig(); hs != nil {
|
||||||
|
ctx = context.WithValue(ctx, http.ServerContextKey, hs)
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
func (sc *serverConn) rejectConn(err ErrCode, debug string) {
|
func (sc *serverConn) rejectConn(err ErrCode, debug string) {
|
||||||
sc.vlogf("http2: server rejecting conn: %v, %s", err, debug)
|
sc.vlogf("http2: server rejecting conn: %v, %s", err, debug)
|
||||||
// ignoring errors. hanging up anyway.
|
// ignoring errors. hanging up anyway.
|
||||||
@ -450,7 +462,7 @@ type serverConn struct {
|
|||||||
conn net.Conn
|
conn net.Conn
|
||||||
bw *bufferedWriter // writing to conn
|
bw *bufferedWriter // writing to conn
|
||||||
handler http.Handler
|
handler http.Handler
|
||||||
baseCtx contextContext
|
baseCtx context.Context
|
||||||
framer *Framer
|
framer *Framer
|
||||||
doneServing chan struct{} // closed when serverConn.serve ends
|
doneServing chan struct{} // closed when serverConn.serve ends
|
||||||
readFrameCh chan readFrameResult // written by serverConn.readFrames
|
readFrameCh chan readFrameResult // written by serverConn.readFrames
|
||||||
@ -530,7 +542,7 @@ type stream struct {
|
|||||||
id uint32
|
id uint32
|
||||||
body *pipe // non-nil if expecting DATA frames
|
body *pipe // non-nil if expecting DATA frames
|
||||||
cw closeWaiter // closed wait stream transitions to closed state
|
cw closeWaiter // closed wait stream transitions to closed state
|
||||||
ctx contextContext
|
ctx context.Context
|
||||||
cancelCtx func()
|
cancelCtx func()
|
||||||
|
|
||||||
// owned by serverConn's serve loop:
|
// owned by serverConn's serve loop:
|
||||||
@ -1110,7 +1122,7 @@ func (sc *serverConn) startFrameWrite(wr FrameWriteRequest) {
|
|||||||
|
|
||||||
// errHandlerPanicked is the error given to any callers blocked in a read from
|
// errHandlerPanicked is the error given to any callers blocked in a read from
|
||||||
// Request.Body when the main goroutine panics. Since most handlers read in the
|
// Request.Body when the main goroutine panics. Since most handlers read in the
|
||||||
// the main ServeHTTP goroutine, this will show up rarely.
|
// main ServeHTTP goroutine, this will show up rarely.
|
||||||
var errHandlerPanicked = errors.New("http2: handler panicked")
|
var errHandlerPanicked = errors.New("http2: handler panicked")
|
||||||
|
|
||||||
// wroteFrame is called on the serve goroutine with the result of
|
// wroteFrame is called on the serve goroutine with the result of
|
||||||
@ -1882,7 +1894,7 @@ func (sc *serverConn) newStream(id, pusherID uint32, state streamState) *stream
|
|||||||
panic("internal error: cannot create stream with id 0")
|
panic("internal error: cannot create stream with id 0")
|
||||||
}
|
}
|
||||||
|
|
||||||
ctx, cancelCtx := contextWithCancel(sc.baseCtx)
|
ctx, cancelCtx := context.WithCancel(sc.baseCtx)
|
||||||
st := &stream{
|
st := &stream{
|
||||||
sc: sc,
|
sc: sc,
|
||||||
id: id,
|
id: id,
|
||||||
@ -2048,7 +2060,7 @@ func (sc *serverConn) newWriterAndRequestNoBody(st *stream, rp requestParam) (*r
|
|||||||
Body: body,
|
Body: body,
|
||||||
Trailer: trailer,
|
Trailer: trailer,
|
||||||
}
|
}
|
||||||
req = requestWithContext(req, st.ctx)
|
req = req.WithContext(st.ctx)
|
||||||
|
|
||||||
rws := responseWriterStatePool.Get().(*responseWriterState)
|
rws := responseWriterStatePool.Get().(*responseWriterState)
|
||||||
bwSave := rws.bw
|
bwSave := rws.bw
|
||||||
@ -2076,7 +2088,7 @@ func (sc *serverConn) runHandler(rw *responseWriter, req *http.Request, handler
|
|||||||
stream: rw.rws.stream,
|
stream: rw.rws.stream,
|
||||||
})
|
})
|
||||||
// Same as net/http:
|
// Same as net/http:
|
||||||
if shouldLogPanic(e) {
|
if e != nil && e != http.ErrAbortHandler {
|
||||||
const size = 64 << 10
|
const size = 64 << 10
|
||||||
buf := make([]byte, size)
|
buf := make([]byte, size)
|
||||||
buf = buf[:runtime.Stack(buf, false)]
|
buf = buf[:runtime.Stack(buf, false)]
|
||||||
@ -2638,14 +2650,9 @@ var (
|
|||||||
ErrPushLimitReached = errors.New("http2: push would exceed peer's SETTINGS_MAX_CONCURRENT_STREAMS")
|
ErrPushLimitReached = errors.New("http2: push would exceed peer's SETTINGS_MAX_CONCURRENT_STREAMS")
|
||||||
)
|
)
|
||||||
|
|
||||||
// pushOptions is the internal version of http.PushOptions, which we
|
var _ http.Pusher = (*responseWriter)(nil)
|
||||||
// cannot include here because it's only defined in Go 1.8 and later.
|
|
||||||
type pushOptions struct {
|
|
||||||
Method string
|
|
||||||
Header http.Header
|
|
||||||
}
|
|
||||||
|
|
||||||
func (w *responseWriter) push(target string, opts pushOptions) error {
|
func (w *responseWriter) Push(target string, opts *http.PushOptions) error {
|
||||||
st := w.rws.stream
|
st := w.rws.stream
|
||||||
sc := st.sc
|
sc := st.sc
|
||||||
sc.serveG.checkNotOn()
|
sc.serveG.checkNotOn()
|
||||||
@ -2656,6 +2663,10 @@ func (w *responseWriter) push(target string, opts pushOptions) error {
|
|||||||
return ErrRecursivePush
|
return ErrRecursivePush
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if opts == nil {
|
||||||
|
opts = new(http.PushOptions)
|
||||||
|
}
|
||||||
|
|
||||||
// Default options.
|
// Default options.
|
||||||
if opts.Method == "" {
|
if opts.Method == "" {
|
||||||
opts.Method = "GET"
|
opts.Method = "GET"
|
||||||
|
177
vendor/golang.org/x/net/http2/transport.go
generated
vendored
177
vendor/golang.org/x/net/http2/transport.go
generated
vendored
@ -10,6 +10,7 @@ import (
|
|||||||
"bufio"
|
"bufio"
|
||||||
"bytes"
|
"bytes"
|
||||||
"compress/gzip"
|
"compress/gzip"
|
||||||
|
"context"
|
||||||
"crypto/rand"
|
"crypto/rand"
|
||||||
"crypto/tls"
|
"crypto/tls"
|
||||||
"errors"
|
"errors"
|
||||||
@ -21,6 +22,7 @@ import (
|
|||||||
mathrand "math/rand"
|
mathrand "math/rand"
|
||||||
"net"
|
"net"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
"net/http/httptrace"
|
||||||
"net/textproto"
|
"net/textproto"
|
||||||
"sort"
|
"sort"
|
||||||
"strconv"
|
"strconv"
|
||||||
@ -118,16 +120,56 @@ func (t *Transport) disableCompression() bool {
|
|||||||
return t.DisableCompression || (t.t1 != nil && t.t1.DisableCompression)
|
return t.DisableCompression || (t.t1 != nil && t.t1.DisableCompression)
|
||||||
}
|
}
|
||||||
|
|
||||||
var errTransportVersion = errors.New("http2: ConfigureTransport is only supported starting at Go 1.6")
|
|
||||||
|
|
||||||
// ConfigureTransport configures a net/http HTTP/1 Transport to use HTTP/2.
|
// ConfigureTransport configures a net/http HTTP/1 Transport to use HTTP/2.
|
||||||
// It requires Go 1.6 or later and returns an error if the net/http package is too old
|
// It returns an error if t1 has already been HTTP/2-enabled.
|
||||||
// or if t1 has already been HTTP/2-enabled.
|
|
||||||
func ConfigureTransport(t1 *http.Transport) error {
|
func ConfigureTransport(t1 *http.Transport) error {
|
||||||
_, err := configureTransport(t1) // in configure_transport.go (go1.6) or not_go16.go
|
_, err := configureTransport(t1)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func configureTransport(t1 *http.Transport) (*Transport, error) {
|
||||||
|
connPool := new(clientConnPool)
|
||||||
|
t2 := &Transport{
|
||||||
|
ConnPool: noDialClientConnPool{connPool},
|
||||||
|
t1: t1,
|
||||||
|
}
|
||||||
|
connPool.t = t2
|
||||||
|
if err := registerHTTPSProtocol(t1, noDialH2RoundTripper{t2}); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
if t1.TLSClientConfig == nil {
|
||||||
|
t1.TLSClientConfig = new(tls.Config)
|
||||||
|
}
|
||||||
|
if !strSliceContains(t1.TLSClientConfig.NextProtos, "h2") {
|
||||||
|
t1.TLSClientConfig.NextProtos = append([]string{"h2"}, t1.TLSClientConfig.NextProtos...)
|
||||||
|
}
|
||||||
|
if !strSliceContains(t1.TLSClientConfig.NextProtos, "http/1.1") {
|
||||||
|
t1.TLSClientConfig.NextProtos = append(t1.TLSClientConfig.NextProtos, "http/1.1")
|
||||||
|
}
|
||||||
|
upgradeFn := func(authority string, c *tls.Conn) http.RoundTripper {
|
||||||
|
addr := authorityAddr("https", authority)
|
||||||
|
if used, err := connPool.addConnIfNeeded(addr, t2, c); err != nil {
|
||||||
|
go c.Close()
|
||||||
|
return erringRoundTripper{err}
|
||||||
|
} else if !used {
|
||||||
|
// Turns out we don't need this c.
|
||||||
|
// For example, two goroutines made requests to the same host
|
||||||
|
// at the same time, both kicking off TCP dials. (since protocol
|
||||||
|
// was unknown)
|
||||||
|
go c.Close()
|
||||||
|
}
|
||||||
|
return t2
|
||||||
|
}
|
||||||
|
if m := t1.TLSNextProto; len(m) == 0 {
|
||||||
|
t1.TLSNextProto = map[string]func(string, *tls.Conn) http.RoundTripper{
|
||||||
|
"h2": upgradeFn,
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
m["h2"] = upgradeFn
|
||||||
|
}
|
||||||
|
return t2, nil
|
||||||
|
}
|
||||||
|
|
||||||
func (t *Transport) connPool() ClientConnPool {
|
func (t *Transport) connPool() ClientConnPool {
|
||||||
t.connPoolOnce.Do(t.initConnPool)
|
t.connPoolOnce.Do(t.initConnPool)
|
||||||
return t.connPoolOrDef
|
return t.connPoolOrDef
|
||||||
@ -192,7 +234,7 @@ type ClientConn struct {
|
|||||||
type clientStream struct {
|
type clientStream struct {
|
||||||
cc *ClientConn
|
cc *ClientConn
|
||||||
req *http.Request
|
req *http.Request
|
||||||
trace *clientTrace // or nil
|
trace *httptrace.ClientTrace // or nil
|
||||||
ID uint32
|
ID uint32
|
||||||
resc chan resAndError
|
resc chan resAndError
|
||||||
bufPipe pipe // buffered pipe with the flow-controlled response payload
|
bufPipe pipe // buffered pipe with the flow-controlled response payload
|
||||||
@ -226,7 +268,7 @@ type clientStream struct {
|
|||||||
// channel to be signaled. A non-nil error is returned only if the request was
|
// channel to be signaled. A non-nil error is returned only if the request was
|
||||||
// canceled.
|
// canceled.
|
||||||
func awaitRequestCancel(req *http.Request, done <-chan struct{}) error {
|
func awaitRequestCancel(req *http.Request, done <-chan struct{}) error {
|
||||||
ctx := reqContext(req)
|
ctx := req.Context()
|
||||||
if req.Cancel == nil && ctx.Done() == nil {
|
if req.Cancel == nil && ctx.Done() == nil {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
@ -401,8 +443,8 @@ func (t *Transport) RoundTripOpt(req *http.Request, opt RoundTripOpt) (*http.Res
|
|||||||
select {
|
select {
|
||||||
case <-time.After(time.Second * time.Duration(backoff)):
|
case <-time.After(time.Second * time.Duration(backoff)):
|
||||||
continue
|
continue
|
||||||
case <-reqContext(req).Done():
|
case <-req.Context().Done():
|
||||||
return nil, reqContext(req).Err()
|
return nil, req.Context().Err()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -439,16 +481,15 @@ func shouldRetryRequest(req *http.Request, err error, afterBodyWrite bool) (*htt
|
|||||||
}
|
}
|
||||||
// If the Body is nil (or http.NoBody), it's safe to reuse
|
// If the Body is nil (or http.NoBody), it's safe to reuse
|
||||||
// this request and its Body.
|
// this request and its Body.
|
||||||
if req.Body == nil || reqBodyIsNoBody(req.Body) {
|
if req.Body == nil || req.Body == http.NoBody {
|
||||||
return req, nil
|
return req, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// If the request body can be reset back to its original
|
// If the request body can be reset back to its original
|
||||||
// state via the optional req.GetBody, do that.
|
// state via the optional req.GetBody, do that.
|
||||||
getBody := reqGetBody(req) // Go 1.8: getBody = req.GetBody
|
if req.GetBody != nil {
|
||||||
if getBody != nil {
|
|
||||||
// TODO: consider a req.Body.Close here? or audit that all caller paths do?
|
// TODO: consider a req.Body.Close here? or audit that all caller paths do?
|
||||||
body, err := getBody()
|
body, err := req.GetBody()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@ -494,7 +535,7 @@ func (t *Transport) dialClientConn(addr string, singleUse bool) (*ClientConn, er
|
|||||||
func (t *Transport) newTLSConfig(host string) *tls.Config {
|
func (t *Transport) newTLSConfig(host string) *tls.Config {
|
||||||
cfg := new(tls.Config)
|
cfg := new(tls.Config)
|
||||||
if t.TLSClientConfig != nil {
|
if t.TLSClientConfig != nil {
|
||||||
*cfg = *cloneTLSConfig(t.TLSClientConfig)
|
*cfg = *t.TLSClientConfig.Clone()
|
||||||
}
|
}
|
||||||
if !strSliceContains(cfg.NextProtos, NextProtoTLS) {
|
if !strSliceContains(cfg.NextProtos, NextProtoTLS) {
|
||||||
cfg.NextProtos = append([]string{NextProtoTLS}, cfg.NextProtos...)
|
cfg.NextProtos = append([]string{NextProtoTLS}, cfg.NextProtos...)
|
||||||
@ -545,7 +586,7 @@ func (t *Transport) expectContinueTimeout() time.Duration {
|
|||||||
if t.t1 == nil {
|
if t.t1 == nil {
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
return transportExpectContinueTimeout(t.t1)
|
return t.t1.ExpectContinueTimeout
|
||||||
}
|
}
|
||||||
|
|
||||||
func (t *Transport) NewClientConn(c net.Conn) (*ClientConn, error) {
|
func (t *Transport) NewClientConn(c net.Conn) (*ClientConn, error) {
|
||||||
@ -711,8 +752,7 @@ func (cc *ClientConn) closeIfIdle() {
|
|||||||
var shutdownEnterWaitStateHook = func() {}
|
var shutdownEnterWaitStateHook = func() {}
|
||||||
|
|
||||||
// Shutdown gracefully close the client connection, waiting for running streams to complete.
|
// Shutdown gracefully close the client connection, waiting for running streams to complete.
|
||||||
// Public implementation is in go17.go and not_go17.go
|
func (cc *ClientConn) Shutdown(ctx context.Context) error {
|
||||||
func (cc *ClientConn) shutdown(ctx contextContext) error {
|
|
||||||
if err := cc.sendGoAway(); err != nil {
|
if err := cc.sendGoAway(); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@ -882,7 +922,7 @@ func checkConnHeaders(req *http.Request) error {
|
|||||||
// req.ContentLength, where 0 actually means zero (not unknown) and -1
|
// req.ContentLength, where 0 actually means zero (not unknown) and -1
|
||||||
// means unknown.
|
// means unknown.
|
||||||
func actualContentLength(req *http.Request) int64 {
|
func actualContentLength(req *http.Request) int64 {
|
||||||
if req.Body == nil || reqBodyIsNoBody(req.Body) {
|
if req.Body == nil || req.Body == http.NoBody {
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
if req.ContentLength != 0 {
|
if req.ContentLength != 0 {
|
||||||
@ -952,7 +992,7 @@ func (cc *ClientConn) roundTrip(req *http.Request) (res *http.Response, gotErrAf
|
|||||||
|
|
||||||
cs := cc.newStream()
|
cs := cc.newStream()
|
||||||
cs.req = req
|
cs.req = req
|
||||||
cs.trace = requestTrace(req)
|
cs.trace = httptrace.ContextClientTrace(req.Context())
|
||||||
cs.requestedGzip = requestedGzip
|
cs.requestedGzip = requestedGzip
|
||||||
bodyWriter := cc.t.getBodyWriterState(cs, body)
|
bodyWriter := cc.t.getBodyWriterState(cs, body)
|
||||||
cs.on100 = bodyWriter.on100
|
cs.on100 = bodyWriter.on100
|
||||||
@ -990,7 +1030,7 @@ func (cc *ClientConn) roundTrip(req *http.Request) (res *http.Response, gotErrAf
|
|||||||
|
|
||||||
readLoopResCh := cs.resc
|
readLoopResCh := cs.resc
|
||||||
bodyWritten := false
|
bodyWritten := false
|
||||||
ctx := reqContext(req)
|
ctx := req.Context()
|
||||||
|
|
||||||
handleReadLoopResponse := func(re resAndError) (*http.Response, bool, error) {
|
handleReadLoopResponse := func(re resAndError) (*http.Response, bool, error) {
|
||||||
res := re.res
|
res := re.res
|
||||||
@ -1060,6 +1100,7 @@ func (cc *ClientConn) roundTrip(req *http.Request) (res *http.Response, gotErrAf
|
|||||||
default:
|
default:
|
||||||
}
|
}
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
cc.forgetStreamID(cs.ID)
|
||||||
return nil, cs.getStartedWrite(), err
|
return nil, cs.getStartedWrite(), err
|
||||||
}
|
}
|
||||||
bodyWritten = true
|
bodyWritten = true
|
||||||
@ -1181,6 +1222,7 @@ func (cs *clientStream) writeRequestBody(body io.Reader, bodyCloser io.Closer) (
|
|||||||
sawEOF = true
|
sawEOF = true
|
||||||
err = nil
|
err = nil
|
||||||
} else if err != nil {
|
} else if err != nil {
|
||||||
|
cc.writeStreamReset(cs.ID, ErrCodeCancel, err)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1416,7 +1458,7 @@ func (cc *ClientConn) encodeHeaders(req *http.Request, addGzipHeader bool, trail
|
|||||||
return nil, errRequestHeaderListSize
|
return nil, errRequestHeaderListSize
|
||||||
}
|
}
|
||||||
|
|
||||||
trace := requestTrace(req)
|
trace := httptrace.ContextClientTrace(req.Context())
|
||||||
traceHeaders := traceHasWroteHeaderField(trace)
|
traceHeaders := traceHasWroteHeaderField(trace)
|
||||||
|
|
||||||
// Header list size is ok. Write the headers.
|
// Header list size is ok. Write the headers.
|
||||||
@ -1839,7 +1881,7 @@ func (rl *clientConnReadLoop) handleResponse(cs *clientStream, f *MetaHeadersFra
|
|||||||
res.Header.Del("Content-Length")
|
res.Header.Del("Content-Length")
|
||||||
res.ContentLength = -1
|
res.ContentLength = -1
|
||||||
res.Body = &gzipReader{body: res.Body}
|
res.Body = &gzipReader{body: res.Body}
|
||||||
setResponseUncompressed(res)
|
res.Uncompressed = true
|
||||||
}
|
}
|
||||||
return res, nil
|
return res, nil
|
||||||
}
|
}
|
||||||
@ -2216,8 +2258,7 @@ func (rl *clientConnReadLoop) processResetStream(f *RSTStreamFrame) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Ping sends a PING frame to the server and waits for the ack.
|
// Ping sends a PING frame to the server and waits for the ack.
|
||||||
// Public implementation is in go17.go and not_go17.go
|
func (cc *ClientConn) Ping(ctx context.Context) error {
|
||||||
func (cc *ClientConn) ping(ctx contextContext) error {
|
|
||||||
c := make(chan struct{})
|
c := make(chan struct{})
|
||||||
// Generate a random payload
|
// Generate a random payload
|
||||||
var p [8]byte
|
var p [8]byte
|
||||||
@ -2451,3 +2492,91 @@ func (s bodyWriterState) scheduleBodyWrite() {
|
|||||||
func isConnectionCloseRequest(req *http.Request) bool {
|
func isConnectionCloseRequest(req *http.Request) bool {
|
||||||
return req.Close || httpguts.HeaderValuesContainsToken(req.Header["Connection"], "close")
|
return req.Close || httpguts.HeaderValuesContainsToken(req.Header["Connection"], "close")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// registerHTTPSProtocol calls Transport.RegisterProtocol but
|
||||||
|
// converting panics into errors.
|
||||||
|
func registerHTTPSProtocol(t *http.Transport, rt noDialH2RoundTripper) (err error) {
|
||||||
|
defer func() {
|
||||||
|
if e := recover(); e != nil {
|
||||||
|
err = fmt.Errorf("%v", e)
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
t.RegisterProtocol("https", rt)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// noDialH2RoundTripper is a RoundTripper which only tries to complete the request
|
||||||
|
// if there's already has a cached connection to the host.
|
||||||
|
// (The field is exported so it can be accessed via reflect from net/http; tested
|
||||||
|
// by TestNoDialH2RoundTripperType)
|
||||||
|
type noDialH2RoundTripper struct{ *Transport }
|
||||||
|
|
||||||
|
func (rt noDialH2RoundTripper) RoundTrip(req *http.Request) (*http.Response, error) {
|
||||||
|
res, err := rt.Transport.RoundTrip(req)
|
||||||
|
if isNoCachedConnError(err) {
|
||||||
|
return nil, http.ErrSkipAltProtocol
|
||||||
|
}
|
||||||
|
return res, err
|
||||||
|
}
|
||||||
|
|
||||||
|
func (t *Transport) idleConnTimeout() time.Duration {
|
||||||
|
if t.t1 != nil {
|
||||||
|
return t.t1.IdleConnTimeout
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
func traceGetConn(req *http.Request, hostPort string) {
|
||||||
|
trace := httptrace.ContextClientTrace(req.Context())
|
||||||
|
if trace == nil || trace.GetConn == nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
trace.GetConn(hostPort)
|
||||||
|
}
|
||||||
|
|
||||||
|
func traceGotConn(req *http.Request, cc *ClientConn) {
|
||||||
|
trace := httptrace.ContextClientTrace(req.Context())
|
||||||
|
if trace == nil || trace.GotConn == nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
ci := httptrace.GotConnInfo{Conn: cc.tconn}
|
||||||
|
cc.mu.Lock()
|
||||||
|
ci.Reused = cc.nextStreamID > 1
|
||||||
|
ci.WasIdle = len(cc.streams) == 0 && ci.Reused
|
||||||
|
if ci.WasIdle && !cc.lastActive.IsZero() {
|
||||||
|
ci.IdleTime = time.Now().Sub(cc.lastActive)
|
||||||
|
}
|
||||||
|
cc.mu.Unlock()
|
||||||
|
|
||||||
|
trace.GotConn(ci)
|
||||||
|
}
|
||||||
|
|
||||||
|
func traceWroteHeaders(trace *httptrace.ClientTrace) {
|
||||||
|
if trace != nil && trace.WroteHeaders != nil {
|
||||||
|
trace.WroteHeaders()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func traceGot100Continue(trace *httptrace.ClientTrace) {
|
||||||
|
if trace != nil && trace.Got100Continue != nil {
|
||||||
|
trace.Got100Continue()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func traceWait100Continue(trace *httptrace.ClientTrace) {
|
||||||
|
if trace != nil && trace.Wait100Continue != nil {
|
||||||
|
trace.Wait100Continue()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func traceWroteRequest(trace *httptrace.ClientTrace, err error) {
|
||||||
|
if trace != nil && trace.WroteRequest != nil {
|
||||||
|
trace.WroteRequest(httptrace.WroteRequestInfo{Err: err})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func traceFirstResponseByte(trace *httptrace.ClientTrace) {
|
||||||
|
if trace != nil && trace.GotFirstResponseByte != nil {
|
||||||
|
trace.GotFirstResponseByte()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
2
vendor/golang.org/x/net/http2/write.go
generated
vendored
2
vendor/golang.org/x/net/http2/write.go
generated
vendored
@ -329,7 +329,7 @@ func (wu writeWindowUpdate) writeFrame(ctx writeContext) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// encodeHeaders encodes an http.Header. If keys is not nil, then (k, h[k])
|
// encodeHeaders encodes an http.Header. If keys is not nil, then (k, h[k])
|
||||||
// is encoded only only if k is in keys.
|
// is encoded only if k is in keys.
|
||||||
func encodeHeaders(enc *hpack.Encoder, h http.Header, keys []string) {
|
func encodeHeaders(enc *hpack.Encoder, h http.Header, keys []string) {
|
||||||
if keys == nil {
|
if keys == nil {
|
||||||
sorter := sorterPool.Get().(*sorter)
|
sorter := sorterPool.Get().(*sorter)
|
||||||
|
3
vendor/golang.org/x/net/webdav/file.go
generated
vendored
3
vendor/golang.org/x/net/webdav/file.go
generated
vendored
@ -5,6 +5,7 @@
|
|||||||
package webdav
|
package webdav
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"context"
|
||||||
"encoding/xml"
|
"encoding/xml"
|
||||||
"io"
|
"io"
|
||||||
"net/http"
|
"net/http"
|
||||||
@ -14,8 +15,6 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
"sync"
|
"sync"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"golang.org/x/net/context"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// slashClean is equivalent to but slightly more efficient than
|
// slashClean is equivalent to but slightly more efficient than
|
||||||
|
17
vendor/golang.org/x/net/webdav/file_go1.6.go
generated
vendored
17
vendor/golang.org/x/net/webdav/file_go1.6.go
generated
vendored
@ -1,17 +0,0 @@
|
|||||||
// Copyright 2016 The Go Authors. All rights reserved.
|
|
||||||
// Use of this source code is governed by a BSD-style
|
|
||||||
// license that can be found in the LICENSE file.
|
|
||||||
|
|
||||||
// +build !go1.7
|
|
||||||
|
|
||||||
package webdav
|
|
||||||
|
|
||||||
import (
|
|
||||||
"net/http"
|
|
||||||
|
|
||||||
"golang.org/x/net/context"
|
|
||||||
)
|
|
||||||
|
|
||||||
func getContext(r *http.Request) context.Context {
|
|
||||||
return context.Background()
|
|
||||||
}
|
|
16
vendor/golang.org/x/net/webdav/file_go1.7.go
generated
vendored
16
vendor/golang.org/x/net/webdav/file_go1.7.go
generated
vendored
@ -1,16 +0,0 @@
|
|||||||
// Copyright 2016 The Go Authors. All rights reserved.
|
|
||||||
// Use of this source code is governed by a BSD-style
|
|
||||||
// license that can be found in the LICENSE file.
|
|
||||||
|
|
||||||
// +build go1.7
|
|
||||||
|
|
||||||
package webdav
|
|
||||||
|
|
||||||
import (
|
|
||||||
"context"
|
|
||||||
"net/http"
|
|
||||||
)
|
|
||||||
|
|
||||||
func getContext(r *http.Request) context.Context {
|
|
||||||
return r.Context()
|
|
||||||
}
|
|
3
vendor/golang.org/x/net/webdav/prop.go
generated
vendored
3
vendor/golang.org/x/net/webdav/prop.go
generated
vendored
@ -6,6 +6,7 @@ package webdav
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
"bytes"
|
||||||
|
"context"
|
||||||
"encoding/xml"
|
"encoding/xml"
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
@ -15,8 +16,6 @@ import (
|
|||||||
"os"
|
"os"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
"golang.org/x/net/context"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// Proppatch describes a property update instruction as defined in RFC 4918.
|
// Proppatch describes a property update instruction as defined in RFC 4918.
|
||||||
|
18
vendor/golang.org/x/net/webdav/webdav.go
generated
vendored
18
vendor/golang.org/x/net/webdav/webdav.go
generated
vendored
@ -174,7 +174,7 @@ func (h *Handler) handleOptions(w http.ResponseWriter, r *http.Request) (status
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return status, err
|
return status, err
|
||||||
}
|
}
|
||||||
ctx := getContext(r)
|
ctx := r.Context()
|
||||||
allow := "OPTIONS, LOCK, PUT, MKCOL"
|
allow := "OPTIONS, LOCK, PUT, MKCOL"
|
||||||
if fi, err := h.FileSystem.Stat(ctx, reqPath); err == nil {
|
if fi, err := h.FileSystem.Stat(ctx, reqPath); err == nil {
|
||||||
if fi.IsDir() {
|
if fi.IsDir() {
|
||||||
@ -197,7 +197,7 @@ func (h *Handler) handleGetHeadPost(w http.ResponseWriter, r *http.Request) (sta
|
|||||||
return status, err
|
return status, err
|
||||||
}
|
}
|
||||||
// TODO: check locks for read-only access??
|
// TODO: check locks for read-only access??
|
||||||
ctx := getContext(r)
|
ctx := r.Context()
|
||||||
f, err := h.FileSystem.OpenFile(ctx, reqPath, os.O_RDONLY, 0)
|
f, err := h.FileSystem.OpenFile(ctx, reqPath, os.O_RDONLY, 0)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return http.StatusNotFound, err
|
return http.StatusNotFound, err
|
||||||
@ -231,7 +231,7 @@ func (h *Handler) handleDelete(w http.ResponseWriter, r *http.Request) (status i
|
|||||||
}
|
}
|
||||||
defer release()
|
defer release()
|
||||||
|
|
||||||
ctx := getContext(r)
|
ctx := r.Context()
|
||||||
|
|
||||||
// TODO: return MultiStatus where appropriate.
|
// TODO: return MultiStatus where appropriate.
|
||||||
|
|
||||||
@ -262,7 +262,7 @@ func (h *Handler) handlePut(w http.ResponseWriter, r *http.Request) (status int,
|
|||||||
defer release()
|
defer release()
|
||||||
// TODO(rost): Support the If-Match, If-None-Match headers? See bradfitz'
|
// TODO(rost): Support the If-Match, If-None-Match headers? See bradfitz'
|
||||||
// comments in http.checkEtag.
|
// comments in http.checkEtag.
|
||||||
ctx := getContext(r)
|
ctx := r.Context()
|
||||||
|
|
||||||
f, err := h.FileSystem.OpenFile(ctx, reqPath, os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0666)
|
f, err := h.FileSystem.OpenFile(ctx, reqPath, os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0666)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -300,7 +300,7 @@ func (h *Handler) handleMkcol(w http.ResponseWriter, r *http.Request) (status in
|
|||||||
}
|
}
|
||||||
defer release()
|
defer release()
|
||||||
|
|
||||||
ctx := getContext(r)
|
ctx := r.Context()
|
||||||
|
|
||||||
if r.ContentLength > 0 {
|
if r.ContentLength > 0 {
|
||||||
return http.StatusUnsupportedMediaType, nil
|
return http.StatusUnsupportedMediaType, nil
|
||||||
@ -344,7 +344,7 @@ func (h *Handler) handleCopyMove(w http.ResponseWriter, r *http.Request) (status
|
|||||||
return http.StatusForbidden, errDestinationEqualsSource
|
return http.StatusForbidden, errDestinationEqualsSource
|
||||||
}
|
}
|
||||||
|
|
||||||
ctx := getContext(r)
|
ctx := r.Context()
|
||||||
|
|
||||||
if r.Method == "COPY" {
|
if r.Method == "COPY" {
|
||||||
// Section 7.5.1 says that a COPY only needs to lock the destination,
|
// Section 7.5.1 says that a COPY only needs to lock the destination,
|
||||||
@ -399,7 +399,7 @@ func (h *Handler) handleLock(w http.ResponseWriter, r *http.Request) (retStatus
|
|||||||
return status, err
|
return status, err
|
||||||
}
|
}
|
||||||
|
|
||||||
ctx := getContext(r)
|
ctx := r.Context()
|
||||||
token, ld, now, created := "", LockDetails{}, time.Now(), false
|
token, ld, now, created := "", LockDetails{}, time.Now(), false
|
||||||
if li == (lockInfo{}) {
|
if li == (lockInfo{}) {
|
||||||
// An empty lockInfo means to refresh the lock.
|
// An empty lockInfo means to refresh the lock.
|
||||||
@ -511,7 +511,7 @@ func (h *Handler) handlePropfind(w http.ResponseWriter, r *http.Request) (status
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return status, err
|
return status, err
|
||||||
}
|
}
|
||||||
ctx := getContext(r)
|
ctx := r.Context()
|
||||||
fi, err := h.FileSystem.Stat(ctx, reqPath)
|
fi, err := h.FileSystem.Stat(ctx, reqPath)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if os.IsNotExist(err) {
|
if os.IsNotExist(err) {
|
||||||
@ -581,7 +581,7 @@ func (h *Handler) handleProppatch(w http.ResponseWriter, r *http.Request) (statu
|
|||||||
}
|
}
|
||||||
defer release()
|
defer release()
|
||||||
|
|
||||||
ctx := getContext(r)
|
ctx := r.Context()
|
||||||
|
|
||||||
if _, err := h.FileSystem.Stat(ctx, reqPath); err != nil {
|
if _, err := h.FileSystem.Stat(ctx, reqPath); err != nil {
|
||||||
if os.IsNotExist(err) {
|
if os.IsNotExist(err) {
|
||||||
|
13
vendor/golang.org/x/oauth2/README.md
generated
vendored
13
vendor/golang.org/x/oauth2/README.md
generated
vendored
@ -24,7 +24,9 @@ See godoc for further documentation and examples.
|
|||||||
|
|
||||||
In change 96e89be (March 2015), we removed the `oauth2.Context2` type in favor
|
In change 96e89be (March 2015), we removed the `oauth2.Context2` type in favor
|
||||||
of the [`context.Context`](https://golang.org/x/net/context#Context) type from
|
of the [`context.Context`](https://golang.org/x/net/context#Context) type from
|
||||||
the `golang.org/x/net/context` package
|
the `golang.org/x/net/context` package. Later replaced by the standard `context` package
|
||||||
|
of the [`context.Context`](https://golang.org/pkg/context#Context) type.
|
||||||
|
|
||||||
|
|
||||||
This means it's no longer possible to use the "Classic App Engine"
|
This means it's no longer possible to use the "Classic App Engine"
|
||||||
`appengine.Context` type with the `oauth2` package. (You're using
|
`appengine.Context` type with the `oauth2` package. (You're using
|
||||||
@ -44,7 +46,7 @@ with the `oauth2` package.
|
|||||||
|
|
||||||
```go
|
```go
|
||||||
import (
|
import (
|
||||||
"golang.org/x/net/context"
|
"context"
|
||||||
"golang.org/x/oauth2"
|
"golang.org/x/oauth2"
|
||||||
"golang.org/x/oauth2/google"
|
"golang.org/x/oauth2/google"
|
||||||
newappengine "google.golang.org/appengine"
|
newappengine "google.golang.org/appengine"
|
||||||
@ -68,6 +70,13 @@ func handler(w http.ResponseWriter, r *http.Request) {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Policy for new packages
|
||||||
|
|
||||||
|
We no longer accept new provider-specific packages in this repo. For
|
||||||
|
defining provider endpoints and provider-specific OAuth2 behavior, we
|
||||||
|
encourage you to create packages elsewhere. We'll keep the existing
|
||||||
|
packages for compatibility.
|
||||||
|
|
||||||
## Report Issues / Send Patches
|
## Report Issues / Send Patches
|
||||||
|
|
||||||
This repository uses Gerrit for code changes. To learn how to submit changes to
|
This repository uses Gerrit for code changes. To learn how to submit changes to
|
||||||
|
89
vendor/golang.org/x/oauth2/google/appengine.go
generated
vendored
89
vendor/golang.org/x/oauth2/google/appengine.go
generated
vendored
@ -5,85 +5,34 @@
|
|||||||
package google
|
package google
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"sort"
|
"context"
|
||||||
"strings"
|
|
||||||
"sync"
|
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"golang.org/x/net/context"
|
|
||||||
"golang.org/x/oauth2"
|
"golang.org/x/oauth2"
|
||||||
)
|
)
|
||||||
|
|
||||||
// appengineFlex is set at init time by appengineflex_hook.go. If true, we are on App Engine Flex.
|
// Set at init time by appengine_gen1.go. If nil, we're not on App Engine standard first generation (<= Go 1.9) or App Engine flexible.
|
||||||
var appengineFlex bool
|
|
||||||
|
|
||||||
// Set at init time by appengine_hook.go. If nil, we're not on App Engine.
|
|
||||||
var appengineTokenFunc func(c context.Context, scopes ...string) (token string, expiry time.Time, err error)
|
var appengineTokenFunc func(c context.Context, scopes ...string) (token string, expiry time.Time, err error)
|
||||||
|
|
||||||
// Set at init time by appengine_hook.go. If nil, we're not on App Engine.
|
// Set at init time by appengine_gen1.go. If nil, we're not on App Engine standard first generation (<= Go 1.9) or App Engine flexible.
|
||||||
var appengineAppIDFunc func(c context.Context) string
|
var appengineAppIDFunc func(c context.Context) string
|
||||||
|
|
||||||
// AppEngineTokenSource returns a token source that fetches tokens
|
// AppEngineTokenSource returns a token source that fetches tokens from either
|
||||||
// issued to the current App Engine application's service account.
|
// the current application's service account or from the metadata server,
|
||||||
// If you are implementing a 3-legged OAuth 2.0 flow on App Engine
|
// depending on the App Engine environment. See below for environment-specific
|
||||||
// that involves user accounts, see oauth2.Config instead.
|
// details. If you are implementing a 3-legged OAuth 2.0 flow on App Engine that
|
||||||
|
// involves user accounts, see oauth2.Config instead.
|
||||||
//
|
//
|
||||||
// The provided context must have come from appengine.NewContext.
|
// First generation App Engine runtimes (<= Go 1.9):
|
||||||
|
// AppEngineTokenSource returns a token source that fetches tokens issued to the
|
||||||
|
// current App Engine application's service account. The provided context must have
|
||||||
|
// come from appengine.NewContext.
|
||||||
|
//
|
||||||
|
// Second generation App Engine runtimes (>= Go 1.11) and App Engine flexible:
|
||||||
|
// AppEngineTokenSource is DEPRECATED on second generation runtimes and on the
|
||||||
|
// flexible environment. It delegates to ComputeTokenSource, and the provided
|
||||||
|
// context and scopes are not used. Please use DefaultTokenSource (or ComputeTokenSource,
|
||||||
|
// which DefaultTokenSource will use in this case) instead.
|
||||||
func AppEngineTokenSource(ctx context.Context, scope ...string) oauth2.TokenSource {
|
func AppEngineTokenSource(ctx context.Context, scope ...string) oauth2.TokenSource {
|
||||||
if appengineTokenFunc == nil {
|
return appEngineTokenSource(ctx, scope...)
|
||||||
panic("google: AppEngineTokenSource can only be used on App Engine.")
|
|
||||||
}
|
|
||||||
scopes := append([]string{}, scope...)
|
|
||||||
sort.Strings(scopes)
|
|
||||||
return &appEngineTokenSource{
|
|
||||||
ctx: ctx,
|
|
||||||
scopes: scopes,
|
|
||||||
key: strings.Join(scopes, " "),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// aeTokens helps the fetched tokens to be reused until their expiration.
|
|
||||||
var (
|
|
||||||
aeTokensMu sync.Mutex
|
|
||||||
aeTokens = make(map[string]*tokenLock) // key is space-separated scopes
|
|
||||||
)
|
|
||||||
|
|
||||||
type tokenLock struct {
|
|
||||||
mu sync.Mutex // guards t; held while fetching or updating t
|
|
||||||
t *oauth2.Token
|
|
||||||
}
|
|
||||||
|
|
||||||
type appEngineTokenSource struct {
|
|
||||||
ctx context.Context
|
|
||||||
scopes []string
|
|
||||||
key string // to aeTokens map; space-separated scopes
|
|
||||||
}
|
|
||||||
|
|
||||||
func (ts *appEngineTokenSource) Token() (*oauth2.Token, error) {
|
|
||||||
if appengineTokenFunc == nil {
|
|
||||||
panic("google: AppEngineTokenSource can only be used on App Engine.")
|
|
||||||
}
|
|
||||||
|
|
||||||
aeTokensMu.Lock()
|
|
||||||
tok, ok := aeTokens[ts.key]
|
|
||||||
if !ok {
|
|
||||||
tok = &tokenLock{}
|
|
||||||
aeTokens[ts.key] = tok
|
|
||||||
}
|
|
||||||
aeTokensMu.Unlock()
|
|
||||||
|
|
||||||
tok.mu.Lock()
|
|
||||||
defer tok.mu.Unlock()
|
|
||||||
if tok.t.Valid() {
|
|
||||||
return tok.t, nil
|
|
||||||
}
|
|
||||||
access, exp, err := appengineTokenFunc(ts.ctx, ts.scopes...)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
tok.t = &oauth2.Token{
|
|
||||||
AccessToken: access,
|
|
||||||
Expiry: exp,
|
|
||||||
}
|
|
||||||
return tok.t, nil
|
|
||||||
}
|
}
|
||||||
|
77
vendor/golang.org/x/oauth2/google/appengine_gen1.go
generated
vendored
Normal file
77
vendor/golang.org/x/oauth2/google/appengine_gen1.go
generated
vendored
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
// Copyright 2018 The Go Authors. All rights reserved.
|
||||||
|
// Use of this source code is governed by a BSD-style
|
||||||
|
// license that can be found in the LICENSE file.
|
||||||
|
|
||||||
|
// +build appengine
|
||||||
|
|
||||||
|
// This file applies to App Engine first generation runtimes (<= Go 1.9).
|
||||||
|
|
||||||
|
package google
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
"sort"
|
||||||
|
"strings"
|
||||||
|
"sync"
|
||||||
|
|
||||||
|
"golang.org/x/oauth2"
|
||||||
|
"google.golang.org/appengine"
|
||||||
|
)
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
appengineTokenFunc = appengine.AccessToken
|
||||||
|
appengineAppIDFunc = appengine.AppID
|
||||||
|
}
|
||||||
|
|
||||||
|
// See comment on AppEngineTokenSource in appengine.go.
|
||||||
|
func appEngineTokenSource(ctx context.Context, scope ...string) oauth2.TokenSource {
|
||||||
|
scopes := append([]string{}, scope...)
|
||||||
|
sort.Strings(scopes)
|
||||||
|
return &gaeTokenSource{
|
||||||
|
ctx: ctx,
|
||||||
|
scopes: scopes,
|
||||||
|
key: strings.Join(scopes, " "),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// aeTokens helps the fetched tokens to be reused until their expiration.
|
||||||
|
var (
|
||||||
|
aeTokensMu sync.Mutex
|
||||||
|
aeTokens = make(map[string]*tokenLock) // key is space-separated scopes
|
||||||
|
)
|
||||||
|
|
||||||
|
type tokenLock struct {
|
||||||
|
mu sync.Mutex // guards t; held while fetching or updating t
|
||||||
|
t *oauth2.Token
|
||||||
|
}
|
||||||
|
|
||||||
|
type gaeTokenSource struct {
|
||||||
|
ctx context.Context
|
||||||
|
scopes []string
|
||||||
|
key string // to aeTokens map; space-separated scopes
|
||||||
|
}
|
||||||
|
|
||||||
|
func (ts *gaeTokenSource) Token() (*oauth2.Token, error) {
|
||||||
|
aeTokensMu.Lock()
|
||||||
|
tok, ok := aeTokens[ts.key]
|
||||||
|
if !ok {
|
||||||
|
tok = &tokenLock{}
|
||||||
|
aeTokens[ts.key] = tok
|
||||||
|
}
|
||||||
|
aeTokensMu.Unlock()
|
||||||
|
|
||||||
|
tok.mu.Lock()
|
||||||
|
defer tok.mu.Unlock()
|
||||||
|
if tok.t.Valid() {
|
||||||
|
return tok.t, nil
|
||||||
|
}
|
||||||
|
access, exp, err := appengineTokenFunc(ts.ctx, ts.scopes...)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
tok.t = &oauth2.Token{
|
||||||
|
AccessToken: access,
|
||||||
|
Expiry: exp,
|
||||||
|
}
|
||||||
|
return tok.t, nil
|
||||||
|
}
|
27
vendor/golang.org/x/oauth2/google/appengine_gen2_flex.go
generated
vendored
Normal file
27
vendor/golang.org/x/oauth2/google/appengine_gen2_flex.go
generated
vendored
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
// Copyright 2018 The Go Authors. All rights reserved.
|
||||||
|
// Use of this source code is governed by a BSD-style
|
||||||
|
// license that can be found in the LICENSE file.
|
||||||
|
|
||||||
|
// +build !appengine
|
||||||
|
|
||||||
|
// This file applies to App Engine second generation runtimes (>= Go 1.11) and App Engine flexible.
|
||||||
|
|
||||||
|
package google
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
"log"
|
||||||
|
"sync"
|
||||||
|
|
||||||
|
"golang.org/x/oauth2"
|
||||||
|
)
|
||||||
|
|
||||||
|
var logOnce sync.Once // only spam about deprecation once
|
||||||
|
|
||||||
|
// See comment on AppEngineTokenSource in appengine.go.
|
||||||
|
func appEngineTokenSource(ctx context.Context, scope ...string) oauth2.TokenSource {
|
||||||
|
logOnce.Do(func() {
|
||||||
|
log.Print("google: AppEngineTokenSource is deprecated on App Engine standard second generation runtimes (>= Go 1.11) and App Engine flexible. Please use DefaultTokenSource or ComputeTokenSource.")
|
||||||
|
})
|
||||||
|
return ComputeTokenSource("")
|
||||||
|
}
|
14
vendor/golang.org/x/oauth2/google/appengine_hook.go
generated
vendored
14
vendor/golang.org/x/oauth2/google/appengine_hook.go
generated
vendored
@ -1,14 +0,0 @@
|
|||||||
// Copyright 2015 The Go Authors. All rights reserved.
|
|
||||||
// Use of this source code is governed by a BSD-style
|
|
||||||
// license that can be found in the LICENSE file.
|
|
||||||
|
|
||||||
// +build appengine appenginevm
|
|
||||||
|
|
||||||
package google
|
|
||||||
|
|
||||||
import "google.golang.org/appengine"
|
|
||||||
|
|
||||||
func init() {
|
|
||||||
appengineTokenFunc = appengine.AccessToken
|
|
||||||
appengineAppIDFunc = appengine.AppID
|
|
||||||
}
|
|
11
vendor/golang.org/x/oauth2/google/appengineflex_hook.go
generated
vendored
11
vendor/golang.org/x/oauth2/google/appengineflex_hook.go
generated
vendored
@ -1,11 +0,0 @@
|
|||||||
// Copyright 2015 The Go Authors. All rights reserved.
|
|
||||||
// Use of this source code is governed by a BSD-style
|
|
||||||
// license that can be found in the LICENSE file.
|
|
||||||
|
|
||||||
// +build appenginevm
|
|
||||||
|
|
||||||
package google
|
|
||||||
|
|
||||||
func init() {
|
|
||||||
appengineFlex = true // Flex doesn't support appengine.AccessToken; depend on metadata server.
|
|
||||||
}
|
|
56
vendor/golang.org/x/oauth2/google/default.go
generated
vendored
56
vendor/golang.org/x/oauth2/google/default.go
generated
vendored
@ -5,6 +5,7 @@
|
|||||||
package google
|
package google
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"context"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"fmt"
|
"fmt"
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
@ -14,10 +15,28 @@ import (
|
|||||||
"runtime"
|
"runtime"
|
||||||
|
|
||||||
"cloud.google.com/go/compute/metadata"
|
"cloud.google.com/go/compute/metadata"
|
||||||
"golang.org/x/net/context"
|
|
||||||
"golang.org/x/oauth2"
|
"golang.org/x/oauth2"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// Credentials holds Google credentials, including "Application Default Credentials".
|
||||||
|
// For more details, see:
|
||||||
|
// https://developers.google.com/accounts/docs/application-default-credentials
|
||||||
|
type Credentials struct {
|
||||||
|
ProjectID string // may be empty
|
||||||
|
TokenSource oauth2.TokenSource
|
||||||
|
|
||||||
|
// JSON contains the raw bytes from a JSON credentials file.
|
||||||
|
// This field may be nil if authentication is provided by the
|
||||||
|
// environment and not with a credentials file, e.g. when code is
|
||||||
|
// running on Google Cloud Platform.
|
||||||
|
JSON []byte
|
||||||
|
}
|
||||||
|
|
||||||
|
// DefaultCredentials is the old name of Credentials.
|
||||||
|
//
|
||||||
|
// Deprecated: use Credentials instead.
|
||||||
|
type DefaultCredentials = Credentials
|
||||||
|
|
||||||
// DefaultClient returns an HTTP Client that uses the
|
// DefaultClient returns an HTTP Client that uses the
|
||||||
// DefaultTokenSource to obtain authentication credentials.
|
// DefaultTokenSource to obtain authentication credentials.
|
||||||
func DefaultClient(ctx context.Context, scope ...string) (*http.Client, error) {
|
func DefaultClient(ctx context.Context, scope ...string) (*http.Client, error) {
|
||||||
@ -39,8 +58,23 @@ func DefaultTokenSource(ctx context.Context, scope ...string) (oauth2.TokenSourc
|
|||||||
return creds.TokenSource, nil
|
return creds.TokenSource, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// Common implementation for FindDefaultCredentials.
|
// FindDefaultCredentials searches for "Application Default Credentials".
|
||||||
func findDefaultCredentials(ctx context.Context, scopes []string) (*DefaultCredentials, error) {
|
//
|
||||||
|
// It looks for credentials in the following places,
|
||||||
|
// preferring the first location found:
|
||||||
|
//
|
||||||
|
// 1. A JSON file whose path is specified by the
|
||||||
|
// GOOGLE_APPLICATION_CREDENTIALS environment variable.
|
||||||
|
// 2. A JSON file in a location known to the gcloud command-line tool.
|
||||||
|
// On Windows, this is %APPDATA%/gcloud/application_default_credentials.json.
|
||||||
|
// On other systems, $HOME/.config/gcloud/application_default_credentials.json.
|
||||||
|
// 3. On Google App Engine standard first generation runtimes (<= Go 1.9) it uses
|
||||||
|
// the appengine.AccessToken function.
|
||||||
|
// 4. On Google Compute Engine, Google App Engine standard second generation runtimes
|
||||||
|
// (>= Go 1.11), and Google App Engine flexible environment, it fetches
|
||||||
|
// credentials from the metadata server.
|
||||||
|
// (In this final case any provided scopes are ignored.)
|
||||||
|
func FindDefaultCredentials(ctx context.Context, scopes ...string) (*Credentials, error) {
|
||||||
// First, try the environment variable.
|
// First, try the environment variable.
|
||||||
const envVar = "GOOGLE_APPLICATION_CREDENTIALS"
|
const envVar = "GOOGLE_APPLICATION_CREDENTIALS"
|
||||||
if filename := os.Getenv(envVar); filename != "" {
|
if filename := os.Getenv(envVar); filename != "" {
|
||||||
@ -59,15 +93,18 @@ func findDefaultCredentials(ctx context.Context, scopes []string) (*DefaultCrede
|
|||||||
return nil, fmt.Errorf("google: error getting credentials using well-known file (%v): %v", filename, err)
|
return nil, fmt.Errorf("google: error getting credentials using well-known file (%v): %v", filename, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Third, if we're on Google App Engine use those credentials.
|
// Third, if we're on a Google App Engine standard first generation runtime (<= Go 1.9)
|
||||||
if appengineTokenFunc != nil && !appengineFlex {
|
// use those credentials. App Engine standard second generation runtimes (>= Go 1.11)
|
||||||
|
// and App Engine flexible use ComputeTokenSource and the metadata server.
|
||||||
|
if appengineTokenFunc != nil {
|
||||||
return &DefaultCredentials{
|
return &DefaultCredentials{
|
||||||
ProjectID: appengineAppIDFunc(ctx),
|
ProjectID: appengineAppIDFunc(ctx),
|
||||||
TokenSource: AppEngineTokenSource(ctx, scopes...),
|
TokenSource: AppEngineTokenSource(ctx, scopes...),
|
||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// Fourth, if we're on Google Compute Engine use the metadata server.
|
// Fourth, if we're on Google Compute Engine, an App Engine standard second generation runtime,
|
||||||
|
// or App Engine flexible, use the metadata server.
|
||||||
if metadata.OnGCE() {
|
if metadata.OnGCE() {
|
||||||
id, _ := metadata.ProjectID()
|
id, _ := metadata.ProjectID()
|
||||||
return &DefaultCredentials{
|
return &DefaultCredentials{
|
||||||
@ -81,8 +118,11 @@ func findDefaultCredentials(ctx context.Context, scopes []string) (*DefaultCrede
|
|||||||
return nil, fmt.Errorf("google: could not find default credentials. See %v for more information.", url)
|
return nil, fmt.Errorf("google: could not find default credentials. See %v for more information.", url)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Common implementation for CredentialsFromJSON.
|
// CredentialsFromJSON obtains Google credentials from a JSON value. The JSON can
|
||||||
func credentialsFromJSON(ctx context.Context, jsonData []byte, scopes []string) (*DefaultCredentials, error) {
|
// represent either a Google Developers Console client_credentials.json file (as in
|
||||||
|
// ConfigFromJSON) or a Google Developers service account key file (as in
|
||||||
|
// JWTConfigFromJSON).
|
||||||
|
func CredentialsFromJSON(ctx context.Context, jsonData []byte, scopes ...string) (*Credentials, error) {
|
||||||
var f credentialsFile
|
var f credentialsFile
|
||||||
if err := json.Unmarshal(jsonData, &f); err != nil {
|
if err := json.Unmarshal(jsonData, &f); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
@ -2,8 +2,6 @@
|
|||||||
// Use of this source code is governed by a BSD-style
|
// Use of this source code is governed by a BSD-style
|
||||||
// license that can be found in the LICENSE file.
|
// license that can be found in the LICENSE file.
|
||||||
|
|
||||||
// +build go1.9
|
|
||||||
|
|
||||||
// Package google provides support for making OAuth2 authorized and authenticated
|
// Package google provides support for making OAuth2 authorized and authenticated
|
||||||
// HTTP requests to Google APIs. It supports the Web server flow, client-side
|
// HTTP requests to Google APIs. It supports the Web server flow, client-side
|
||||||
// credentials, service accounts, Google Compute Engine service accounts, and Google
|
// credentials, service accounts, Google Compute Engine service accounts, and Google
|
43
vendor/golang.org/x/oauth2/google/doc_not_go19.go
generated
vendored
43
vendor/golang.org/x/oauth2/google/doc_not_go19.go
generated
vendored
@ -1,43 +0,0 @@
|
|||||||
// Copyright 2018 The Go Authors. All rights reserved.
|
|
||||||
// Use of this source code is governed by a BSD-style
|
|
||||||
// license that can be found in the LICENSE file.
|
|
||||||
|
|
||||||
// +build !go1.9
|
|
||||||
|
|
||||||
// Package google provides support for making OAuth2 authorized and authenticated
|
|
||||||
// HTTP requests to Google APIs. It supports the Web server flow, client-side
|
|
||||||
// credentials, service accounts, Google Compute Engine service accounts, and Google
|
|
||||||
// App Engine service accounts.
|
|
||||||
//
|
|
||||||
// A brief overview of the package follows. For more information, please read
|
|
||||||
// https://developers.google.com/accounts/docs/OAuth2
|
|
||||||
// and
|
|
||||||
// https://developers.google.com/accounts/docs/application-default-credentials.
|
|
||||||
//
|
|
||||||
// OAuth2 Configs
|
|
||||||
//
|
|
||||||
// Two functions in this package return golang.org/x/oauth2.Config values from Google credential
|
|
||||||
// data. Google supports two JSON formats for OAuth2 credentials: one is handled by ConfigFromJSON,
|
|
||||||
// the other by JWTConfigFromJSON. The returned Config can be used to obtain a TokenSource or
|
|
||||||
// create an http.Client.
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// Credentials
|
|
||||||
//
|
|
||||||
// The DefaultCredentials type represents Google Application Default Credentials, as
|
|
||||||
// well as other forms of credential.
|
|
||||||
//
|
|
||||||
// Use FindDefaultCredentials to obtain Application Default Credentials.
|
|
||||||
// FindDefaultCredentials looks in some well-known places for a credentials file, and
|
|
||||||
// will call AppEngineTokenSource or ComputeTokenSource as needed.
|
|
||||||
//
|
|
||||||
// DefaultClient and DefaultTokenSource are convenience methods. They first call FindDefaultCredentials,
|
|
||||||
// then use the credentials to construct an http.Client or an oauth2.TokenSource.
|
|
||||||
//
|
|
||||||
// Use CredentialsFromJSON to obtain credentials from either of the two JSON
|
|
||||||
// formats described in OAuth2 Configs, above. (The DefaultCredentials returned may
|
|
||||||
// not be "Application Default Credentials".) The TokenSource in the returned value
|
|
||||||
// is the same as the one obtained from the oauth2.Config returned from
|
|
||||||
// ConfigFromJSON or JWTConfigFromJSON, but the DefaultCredentials may contain
|
|
||||||
// additional information that is useful is some circumstances.
|
|
||||||
package google // import "golang.org/x/oauth2/google"
|
|
57
vendor/golang.org/x/oauth2/google/go19.go
generated
vendored
57
vendor/golang.org/x/oauth2/google/go19.go
generated
vendored
@ -1,57 +0,0 @@
|
|||||||
// Copyright 2018 The Go Authors. All rights reserved.
|
|
||||||
// Use of this source code is governed by a BSD-style
|
|
||||||
// license that can be found in the LICENSE file.
|
|
||||||
|
|
||||||
// +build go1.9
|
|
||||||
|
|
||||||
package google
|
|
||||||
|
|
||||||
import (
|
|
||||||
"golang.org/x/net/context"
|
|
||||||
"golang.org/x/oauth2"
|
|
||||||
)
|
|
||||||
|
|
||||||
// Credentials holds Google credentials, including "Application Default Credentials".
|
|
||||||
// For more details, see:
|
|
||||||
// https://developers.google.com/accounts/docs/application-default-credentials
|
|
||||||
type Credentials struct {
|
|
||||||
ProjectID string // may be empty
|
|
||||||
TokenSource oauth2.TokenSource
|
|
||||||
|
|
||||||
// JSON contains the raw bytes from a JSON credentials file.
|
|
||||||
// This field may be nil if authentication is provided by the
|
|
||||||
// environment and not with a credentials file, e.g. when code is
|
|
||||||
// running on Google Cloud Platform.
|
|
||||||
JSON []byte
|
|
||||||
}
|
|
||||||
|
|
||||||
// DefaultCredentials is the old name of Credentials.
|
|
||||||
//
|
|
||||||
// Deprecated: use Credentials instead.
|
|
||||||
type DefaultCredentials = Credentials
|
|
||||||
|
|
||||||
// FindDefaultCredentials searches for "Application Default Credentials".
|
|
||||||
//
|
|
||||||
// It looks for credentials in the following places,
|
|
||||||
// preferring the first location found:
|
|
||||||
//
|
|
||||||
// 1. A JSON file whose path is specified by the
|
|
||||||
// GOOGLE_APPLICATION_CREDENTIALS environment variable.
|
|
||||||
// 2. A JSON file in a location known to the gcloud command-line tool.
|
|
||||||
// On Windows, this is %APPDATA%/gcloud/application_default_credentials.json.
|
|
||||||
// On other systems, $HOME/.config/gcloud/application_default_credentials.json.
|
|
||||||
// 3. On Google App Engine it uses the appengine.AccessToken function.
|
|
||||||
// 4. On Google Compute Engine and Google App Engine Managed VMs, it fetches
|
|
||||||
// credentials from the metadata server.
|
|
||||||
// (In this final case any provided scopes are ignored.)
|
|
||||||
func FindDefaultCredentials(ctx context.Context, scopes ...string) (*Credentials, error) {
|
|
||||||
return findDefaultCredentials(ctx, scopes)
|
|
||||||
}
|
|
||||||
|
|
||||||
// CredentialsFromJSON obtains Google credentials from a JSON value. The JSON can
|
|
||||||
// represent either a Google Developers Console client_credentials.json file (as in
|
|
||||||
// ConfigFromJSON) or a Google Developers service account key file (as in
|
|
||||||
// JWTConfigFromJSON).
|
|
||||||
func CredentialsFromJSON(ctx context.Context, jsonData []byte, scopes ...string) (*Credentials, error) {
|
|
||||||
return credentialsFromJSON(ctx, jsonData, scopes)
|
|
||||||
}
|
|
2
vendor/golang.org/x/oauth2/google/google.go
generated
vendored
2
vendor/golang.org/x/oauth2/google/google.go
generated
vendored
@ -5,6 +5,7 @@
|
|||||||
package google
|
package google
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"context"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
@ -12,7 +13,6 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
|
|
||||||
"cloud.google.com/go/compute/metadata"
|
"cloud.google.com/go/compute/metadata"
|
||||||
"golang.org/x/net/context"
|
|
||||||
"golang.org/x/oauth2"
|
"golang.org/x/oauth2"
|
||||||
"golang.org/x/oauth2/jwt"
|
"golang.org/x/oauth2/jwt"
|
||||||
)
|
)
|
||||||
|
54
vendor/golang.org/x/oauth2/google/not_go19.go
generated
vendored
54
vendor/golang.org/x/oauth2/google/not_go19.go
generated
vendored
@ -1,54 +0,0 @@
|
|||||||
// Copyright 2018 The Go Authors. All rights reserved.
|
|
||||||
// Use of this source code is governed by a BSD-style
|
|
||||||
// license that can be found in the LICENSE file.
|
|
||||||
|
|
||||||
// +build !go1.9
|
|
||||||
|
|
||||||
package google
|
|
||||||
|
|
||||||
import (
|
|
||||||
"golang.org/x/net/context"
|
|
||||||
"golang.org/x/oauth2"
|
|
||||||
)
|
|
||||||
|
|
||||||
// DefaultCredentials holds Google credentials, including "Application Default Credentials".
|
|
||||||
// For more details, see:
|
|
||||||
// https://developers.google.com/accounts/docs/application-default-credentials
|
|
||||||
type DefaultCredentials struct {
|
|
||||||
ProjectID string // may be empty
|
|
||||||
TokenSource oauth2.TokenSource
|
|
||||||
|
|
||||||
// JSON contains the raw bytes from a JSON credentials file.
|
|
||||||
// This field may be nil if authentication is provided by the
|
|
||||||
// environment and not with a credentials file, e.g. when code is
|
|
||||||
// running on Google Cloud Platform.
|
|
||||||
JSON []byte
|
|
||||||
}
|
|
||||||
|
|
||||||
// FindDefaultCredentials searches for "Application Default Credentials".
|
|
||||||
//
|
|
||||||
// It looks for credentials in the following places,
|
|
||||||
// preferring the first location found:
|
|
||||||
//
|
|
||||||
// 1. A JSON file whose path is specified by the
|
|
||||||
// GOOGLE_APPLICATION_CREDENTIALS environment variable.
|
|
||||||
// 2. A JSON file in a location known to the gcloud command-line tool.
|
|
||||||
// On Windows, this is %APPDATA%/gcloud/application_default_credentials.json.
|
|
||||||
// On other systems, $HOME/.config/gcloud/application_default_credentials.json.
|
|
||||||
// 3. On Google App Engine it uses the appengine.AccessToken function.
|
|
||||||
// 4. On Google Compute Engine and Google App Engine Managed VMs, it fetches
|
|
||||||
// credentials from the metadata server.
|
|
||||||
// (In this final case any provided scopes are ignored.)
|
|
||||||
func FindDefaultCredentials(ctx context.Context, scopes ...string) (*DefaultCredentials, error) {
|
|
||||||
return findDefaultCredentials(ctx, scopes)
|
|
||||||
}
|
|
||||||
|
|
||||||
// CredentialsFromJSON obtains Google credentials from a JSON value. The JSON can
|
|
||||||
// represent either a Google Developers Console client_credentials.json file (as in
|
|
||||||
// ConfigFromJSON) or a Google Developers service account key file (as in
|
|
||||||
// JWTConfigFromJSON).
|
|
||||||
//
|
|
||||||
// Note: despite the name, the returned credentials may not be Application Default Credentials.
|
|
||||||
func CredentialsFromJSON(ctx context.Context, jsonData []byte, scopes ...string) (*DefaultCredentials, error) {
|
|
||||||
return credentialsFromJSON(ctx, jsonData, scopes)
|
|
||||||
}
|
|
2
vendor/golang.org/x/oauth2/google/sdk.go
generated
vendored
2
vendor/golang.org/x/oauth2/google/sdk.go
generated
vendored
@ -6,6 +6,7 @@ package google
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"bufio"
|
"bufio"
|
||||||
|
"context"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
@ -18,7 +19,6 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"golang.org/x/net/context"
|
|
||||||
"golang.org/x/oauth2"
|
"golang.org/x/oauth2"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
2
vendor/golang.org/x/oauth2/internal/oauth2.go
generated
vendored
2
vendor/golang.org/x/oauth2/internal/oauth2.go
generated
vendored
@ -26,7 +26,7 @@ func ParseKey(key []byte) (*rsa.PrivateKey, error) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
parsedKey, err = x509.ParsePKCS1PrivateKey(key)
|
parsedKey, err = x509.ParsePKCS1PrivateKey(key)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("private key should be a PEM or plain PKSC1 or PKCS8; parse error: %v", err)
|
return nil, fmt.Errorf("private key should be a PEM or plain PKCS1 or PKCS8; parse error: %v", err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
parsed, ok := parsedKey.(*rsa.PrivateKey)
|
parsed, ok := parsedKey.(*rsa.PrivateKey)
|
||||||
|
3
vendor/golang.org/x/oauth2/internal/token.go
generated
vendored
3
vendor/golang.org/x/oauth2/internal/token.go
generated
vendored
@ -5,6 +5,7 @@
|
|||||||
package internal
|
package internal
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"context"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
@ -17,7 +18,6 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"golang.org/x/net/context"
|
|
||||||
"golang.org/x/net/context/ctxhttp"
|
"golang.org/x/net/context/ctxhttp"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -134,6 +134,7 @@ var brokenAuthHeaderProviders = []string{
|
|||||||
"https://stackoverflow.com/oauth/access_token",
|
"https://stackoverflow.com/oauth/access_token",
|
||||||
"https://account.health.nokia.com",
|
"https://account.health.nokia.com",
|
||||||
"https://accounts.zoho.com",
|
"https://accounts.zoho.com",
|
||||||
|
"https://gitter.im/login/oauth/token",
|
||||||
}
|
}
|
||||||
|
|
||||||
// brokenAuthHeaderDomains lists broken providers that issue dynamic endpoints.
|
// brokenAuthHeaderDomains lists broken providers that issue dynamic endpoints.
|
||||||
|
3
vendor/golang.org/x/oauth2/internal/transport.go
generated
vendored
3
vendor/golang.org/x/oauth2/internal/transport.go
generated
vendored
@ -5,9 +5,8 @@
|
|||||||
package internal
|
package internal
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"context"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
"golang.org/x/net/context"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// HTTPClient is the context key to use with golang.org/x/net/context's
|
// HTTPClient is the context key to use with golang.org/x/net/context's
|
||||||
|
2
vendor/golang.org/x/oauth2/jwt/jwt.go
generated
vendored
2
vendor/golang.org/x/oauth2/jwt/jwt.go
generated
vendored
@ -9,6 +9,7 @@
|
|||||||
package jwt
|
package jwt
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"context"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"fmt"
|
"fmt"
|
||||||
"io"
|
"io"
|
||||||
@ -18,7 +19,6 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"golang.org/x/net/context"
|
|
||||||
"golang.org/x/oauth2"
|
"golang.org/x/oauth2"
|
||||||
"golang.org/x/oauth2/internal"
|
"golang.org/x/oauth2/internal"
|
||||||
"golang.org/x/oauth2/jws"
|
"golang.org/x/oauth2/jws"
|
||||||
|
8
vendor/golang.org/x/oauth2/oauth2.go
generated
vendored
8
vendor/golang.org/x/oauth2/oauth2.go
generated
vendored
@ -10,13 +10,13 @@ package oauth2 // import "golang.org/x/oauth2"
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
"bytes"
|
||||||
|
"context"
|
||||||
"errors"
|
"errors"
|
||||||
"net/http"
|
"net/http"
|
||||||
"net/url"
|
"net/url"
|
||||||
"strings"
|
"strings"
|
||||||
"sync"
|
"sync"
|
||||||
|
|
||||||
"golang.org/x/net/context"
|
|
||||||
"golang.org/x/oauth2/internal"
|
"golang.org/x/oauth2/internal"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -164,8 +164,7 @@ func (c *Config) AuthCodeURL(state string, opts ...AuthCodeOption) string {
|
|||||||
// and when other authorization grant types are not available."
|
// and when other authorization grant types are not available."
|
||||||
// See https://tools.ietf.org/html/rfc6749#section-4.3 for more info.
|
// See https://tools.ietf.org/html/rfc6749#section-4.3 for more info.
|
||||||
//
|
//
|
||||||
// The HTTP client to use is derived from the context.
|
// The provided context optionally controls which HTTP client is used. See the HTTPClient variable.
|
||||||
// If nil, http.DefaultClient is used.
|
|
||||||
func (c *Config) PasswordCredentialsToken(ctx context.Context, username, password string) (*Token, error) {
|
func (c *Config) PasswordCredentialsToken(ctx context.Context, username, password string) (*Token, error) {
|
||||||
v := url.Values{
|
v := url.Values{
|
||||||
"grant_type": {"password"},
|
"grant_type": {"password"},
|
||||||
@ -183,8 +182,7 @@ func (c *Config) PasswordCredentialsToken(ctx context.Context, username, passwor
|
|||||||
// It is used after a resource provider redirects the user back
|
// It is used after a resource provider redirects the user back
|
||||||
// to the Redirect URI (the URL obtained from AuthCodeURL).
|
// to the Redirect URI (the URL obtained from AuthCodeURL).
|
||||||
//
|
//
|
||||||
// The HTTP client to use is derived from the context.
|
// The provided context optionally controls which HTTP client is used. See the HTTPClient variable.
|
||||||
// If a client is not provided via the context, http.DefaultClient is used.
|
|
||||||
//
|
//
|
||||||
// The code will be in the *http.Request.FormValue("code"). Before
|
// The code will be in the *http.Request.FormValue("code"). Before
|
||||||
// calling Exchange, be sure to validate FormValue("state").
|
// calling Exchange, be sure to validate FormValue("state").
|
||||||
|
2
vendor/golang.org/x/oauth2/token.go
generated
vendored
2
vendor/golang.org/x/oauth2/token.go
generated
vendored
@ -5,6 +5,7 @@
|
|||||||
package oauth2
|
package oauth2
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
"net/http"
|
"net/http"
|
||||||
"net/url"
|
"net/url"
|
||||||
@ -12,7 +13,6 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"golang.org/x/net/context"
|
|
||||||
"golang.org/x/oauth2/internal"
|
"golang.org/x/oauth2/internal"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
12
vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s
generated
vendored
12
vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s
generated
vendored
@ -15,12 +15,6 @@
|
|||||||
// Just jump to package syscall's implementation for all these functions.
|
// Just jump to package syscall's implementation for all these functions.
|
||||||
// The runtime may know about them.
|
// The runtime may know about them.
|
||||||
|
|
||||||
TEXT ·Syscall(SB),NOSPLIT,$0-56
|
|
||||||
BR syscall·Syscall(SB)
|
|
||||||
|
|
||||||
TEXT ·Syscall6(SB),NOSPLIT,$0-80
|
|
||||||
BR syscall·Syscall6(SB)
|
|
||||||
|
|
||||||
TEXT ·SyscallNoError(SB),NOSPLIT,$0-48
|
TEXT ·SyscallNoError(SB),NOSPLIT,$0-48
|
||||||
BL runtime·entersyscall(SB)
|
BL runtime·entersyscall(SB)
|
||||||
MOVD a1+8(FP), R3
|
MOVD a1+8(FP), R3
|
||||||
@ -36,12 +30,6 @@ TEXT ·SyscallNoError(SB),NOSPLIT,$0-48
|
|||||||
BL runtime·exitsyscall(SB)
|
BL runtime·exitsyscall(SB)
|
||||||
RET
|
RET
|
||||||
|
|
||||||
TEXT ·RawSyscall(SB),NOSPLIT,$0-56
|
|
||||||
BR syscall·RawSyscall(SB)
|
|
||||||
|
|
||||||
TEXT ·RawSyscall6(SB),NOSPLIT,$0-80
|
|
||||||
BR syscall·RawSyscall6(SB)
|
|
||||||
|
|
||||||
TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-48
|
TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-48
|
||||||
MOVD a1+8(FP), R3
|
MOVD a1+8(FP), R3
|
||||||
MOVD a2+16(FP), R4
|
MOVD a2+16(FP), R4
|
||||||
|
6
vendor/golang.org/x/sys/unix/mkerrors.sh
generated
vendored
6
vendor/golang.org/x/sys/unix/mkerrors.sh
generated
vendored
@ -101,7 +101,7 @@ includes_DragonFly='
|
|||||||
'
|
'
|
||||||
|
|
||||||
includes_FreeBSD='
|
includes_FreeBSD='
|
||||||
#include <sys/capability.h>
|
#include <sys/capsicum.h>
|
||||||
#include <sys/param.h>
|
#include <sys/param.h>
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <sys/event.h>
|
#include <sys/event.h>
|
||||||
@ -187,6 +187,7 @@ struct ltchars {
|
|||||||
#include <linux/if_alg.h>
|
#include <linux/if_alg.h>
|
||||||
#include <linux/if_arp.h>
|
#include <linux/if_arp.h>
|
||||||
#include <linux/if_ether.h>
|
#include <linux/if_ether.h>
|
||||||
|
#include <linux/if_ppp.h>
|
||||||
#include <linux/if_tun.h>
|
#include <linux/if_tun.h>
|
||||||
#include <linux/if_packet.h>
|
#include <linux/if_packet.h>
|
||||||
#include <linux/if_addr.h>
|
#include <linux/if_addr.h>
|
||||||
@ -197,6 +198,7 @@ struct ltchars {
|
|||||||
#include <linux/keyctl.h>
|
#include <linux/keyctl.h>
|
||||||
#include <linux/magic.h>
|
#include <linux/magic.h>
|
||||||
#include <linux/memfd.h>
|
#include <linux/memfd.h>
|
||||||
|
#include <linux/module.h>
|
||||||
#include <linux/netfilter/nfnetlink.h>
|
#include <linux/netfilter/nfnetlink.h>
|
||||||
#include <linux/netlink.h>
|
#include <linux/netlink.h>
|
||||||
#include <linux/net_namespace.h>
|
#include <linux/net_namespace.h>
|
||||||
@ -449,6 +451,7 @@ ccflags="$@"
|
|||||||
$2 ~ /^KEXEC_/ ||
|
$2 ~ /^KEXEC_/ ||
|
||||||
$2 ~ /^LINUX_REBOOT_CMD_/ ||
|
$2 ~ /^LINUX_REBOOT_CMD_/ ||
|
||||||
$2 ~ /^LINUX_REBOOT_MAGIC[12]$/ ||
|
$2 ~ /^LINUX_REBOOT_MAGIC[12]$/ ||
|
||||||
|
$2 ~ /^MODULE_INIT_/ ||
|
||||||
$2 !~ "NLA_TYPE_MASK" &&
|
$2 !~ "NLA_TYPE_MASK" &&
|
||||||
$2 ~ /^(NETLINK|NLM|NLMSG|NLA|IFA|IFAN|RT|RTC|RTCF|RTN|RTPROT|RTNH|ARPHRD|ETH_P|NETNSA)_/ ||
|
$2 ~ /^(NETLINK|NLM|NLMSG|NLA|IFA|IFAN|RT|RTC|RTCF|RTN|RTPROT|RTNH|ARPHRD|ETH_P|NETNSA)_/ ||
|
||||||
$2 ~ /^SIOC/ ||
|
$2 ~ /^SIOC/ ||
|
||||||
@ -498,6 +501,7 @@ ccflags="$@"
|
|||||||
$2 ~ /^(HDIO|WIN|SMART)_/ ||
|
$2 ~ /^(HDIO|WIN|SMART)_/ ||
|
||||||
$2 !~ "WMESGLEN" &&
|
$2 !~ "WMESGLEN" &&
|
||||||
$2 ~ /^W[A-Z0-9]+$/ ||
|
$2 ~ /^W[A-Z0-9]+$/ ||
|
||||||
|
$2 ~/^PPPIOC/ ||
|
||||||
$2 ~ /^BLK[A-Z]*(GET$|SET$|BUF$|PART$|SIZE)/ {printf("\t%s = C.%s\n", $2, $2)}
|
$2 ~ /^BLK[A-Z]*(GET$|SET$|BUF$|PART$|SIZE)/ {printf("\t%s = C.%s\n", $2, $2)}
|
||||||
$2 ~ /^__WCOREFLAG$/ {next}
|
$2 ~ /^__WCOREFLAG$/ {next}
|
||||||
$2 ~ /^__W[A-Z0-9]+$/ {printf("\t%s = C.%s\n", substr($2,3), $2)}
|
$2 ~ /^__W[A-Z0-9]+$/ {printf("\t%s = C.%s\n", substr($2,3), $2)}
|
||||||
|
8
vendor/golang.org/x/sys/unix/mkpost.go
generated
vendored
8
vendor/golang.org/x/sys/unix/mkpost.go
generated
vendored
@ -46,6 +46,10 @@ func main() {
|
|||||||
valRegex := regexp.MustCompile(`type (Fsid|Sigset_t) struct {(\s+)X__val(\s+\S+\s+)}`)
|
valRegex := regexp.MustCompile(`type (Fsid|Sigset_t) struct {(\s+)X__val(\s+\S+\s+)}`)
|
||||||
b = valRegex.ReplaceAll(b, []byte("type $1 struct {${2}Val$3}"))
|
b = valRegex.ReplaceAll(b, []byte("type $1 struct {${2}Val$3}"))
|
||||||
|
|
||||||
|
// Intentionally export __fds_bits field in FdSet
|
||||||
|
fdSetRegex := regexp.MustCompile(`type (FdSet) struct {(\s+)X__fds_bits(\s+\S+\s+)}`)
|
||||||
|
b = fdSetRegex.ReplaceAll(b, []byte("type $1 struct {${2}Bits$3}"))
|
||||||
|
|
||||||
// If we have empty Ptrace structs, we should delete them. Only s390x emits
|
// If we have empty Ptrace structs, we should delete them. Only s390x emits
|
||||||
// nonempty Ptrace structs.
|
// nonempty Ptrace structs.
|
||||||
ptraceRexexp := regexp.MustCompile(`type Ptrace((Psw|Fpregs|Per) struct {\s*})`)
|
ptraceRexexp := regexp.MustCompile(`type Ptrace((Psw|Fpregs|Per) struct {\s*})`)
|
||||||
@ -65,6 +69,10 @@ func main() {
|
|||||||
convertUtsnameRegex := regexp.MustCompile(`((Sys|Node|Domain)name|Release|Version|Machine)(\s+)\[(\d+)\]u?int8`)
|
convertUtsnameRegex := regexp.MustCompile(`((Sys|Node|Domain)name|Release|Version|Machine)(\s+)\[(\d+)\]u?int8`)
|
||||||
b = convertUtsnameRegex.ReplaceAll(b, []byte("$1$3[$4]byte"))
|
b = convertUtsnameRegex.ReplaceAll(b, []byte("$1$3[$4]byte"))
|
||||||
|
|
||||||
|
// Convert [1024]int8 to [1024]byte in Ptmget members
|
||||||
|
convertPtmget := regexp.MustCompile(`([SC]n)(\s+)\[(\d+)\]u?int8`)
|
||||||
|
b = convertPtmget.ReplaceAll(b, []byte("$1[$3]byte"))
|
||||||
|
|
||||||
// Remove spare fields (e.g. in Statx_t)
|
// Remove spare fields (e.g. in Statx_t)
|
||||||
spareFieldsRegex := regexp.MustCompile(`X__spare\S*`)
|
spareFieldsRegex := regexp.MustCompile(`X__spare\S*`)
|
||||||
b = spareFieldsRegex.ReplaceAll(b, []byte("_"))
|
b = spareFieldsRegex.ReplaceAll(b, []byte("_"))
|
||||||
|
93
vendor/golang.org/x/sys/unix/openbsd_pledge.go
generated
vendored
93
vendor/golang.org/x/sys/unix/openbsd_pledge.go
generated
vendored
@ -30,15 +30,9 @@ func Pledge(promises, execpromises string) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
// If OpenBSD <= 5.9, pledge is not available.
|
err = pledgeAvailable(maj, min, execpromises)
|
||||||
if (maj == 5 && min != 9) || maj < 5 {
|
if err != nil {
|
||||||
return fmt.Errorf("pledge syscall is not available on OpenBSD %d.%d", maj, min)
|
return err
|
||||||
}
|
|
||||||
|
|
||||||
// If OpenBSD <= 6.2 and execpromises is not empty
|
|
||||||
// return an error - execpromises is not available before 6.3
|
|
||||||
if (maj < 6 || (maj == 6 && min <= 2)) && execpromises != "" {
|
|
||||||
return fmt.Errorf("cannot use execpromises on OpenBSD %d.%d", maj, min)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
pptr, err := syscall.BytePtrFromString(promises)
|
pptr, err := syscall.BytePtrFromString(promises)
|
||||||
@ -67,6 +61,70 @@ func Pledge(promises, execpromises string) error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// PledgePromises implements the pledge syscall.
|
||||||
|
//
|
||||||
|
// This changes the promises and leaves the execpromises untouched.
|
||||||
|
//
|
||||||
|
// For more information see pledge(2).
|
||||||
|
func PledgePromises(promises string) error {
|
||||||
|
maj, min, err := majmin()
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
err = pledgeAvailable(maj, min, "")
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// This variable holds the execpromises and is always nil.
|
||||||
|
var expr unsafe.Pointer
|
||||||
|
|
||||||
|
pptr, err := syscall.BytePtrFromString(promises)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
_, _, e := syscall.Syscall(SYS_PLEDGE, uintptr(unsafe.Pointer(pptr)), uintptr(expr), 0)
|
||||||
|
if e != 0 {
|
||||||
|
return e
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// PledgeExecpromises implements the pledge syscall.
|
||||||
|
//
|
||||||
|
// This changes the execpromises and leaves the promises untouched.
|
||||||
|
//
|
||||||
|
// For more information see pledge(2).
|
||||||
|
func PledgeExecpromises(execpromises string) error {
|
||||||
|
maj, min, err := majmin()
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
err = pledgeAvailable(maj, min, execpromises)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// This variable holds the promises and is always nil.
|
||||||
|
var pptr unsafe.Pointer
|
||||||
|
|
||||||
|
exptr, err := syscall.BytePtrFromString(execpromises)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
_, _, e := syscall.Syscall(SYS_PLEDGE, uintptr(pptr), uintptr(unsafe.Pointer(exptr)), 0)
|
||||||
|
if e != 0 {
|
||||||
|
return e
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
// majmin returns major and minor version number for an OpenBSD system.
|
// majmin returns major and minor version number for an OpenBSD system.
|
||||||
func majmin() (major int, minor int, err error) {
|
func majmin() (major int, minor int, err error) {
|
||||||
var v Utsname
|
var v Utsname
|
||||||
@ -89,3 +147,20 @@ func majmin() (major int, minor int, err error) {
|
|||||||
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// pledgeAvailable checks for availability of the pledge(2) syscall
|
||||||
|
// based on the running OpenBSD version.
|
||||||
|
func pledgeAvailable(maj, min int, execpromises string) error {
|
||||||
|
// If OpenBSD <= 5.9, pledge is not available.
|
||||||
|
if (maj == 5 && min != 9) || maj < 5 {
|
||||||
|
return fmt.Errorf("pledge syscall is not available on OpenBSD %d.%d", maj, min)
|
||||||
|
}
|
||||||
|
|
||||||
|
// If OpenBSD <= 6.2 and execpromises is not empty,
|
||||||
|
// return an error - execpromises is not available before 6.3
|
||||||
|
if (maj < 6 || (maj == 6 && min <= 2)) && execpromises != "" {
|
||||||
|
return fmt.Errorf("cannot use execpromises on OpenBSD %d.%d", maj, min)
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
8
vendor/golang.org/x/sys/unix/syscall_dragonfly.go
generated
vendored
8
vendor/golang.org/x/sys/unix/syscall_dragonfly.go
generated
vendored
@ -248,11 +248,13 @@ func Uname(uname *Utsname) error {
|
|||||||
//sys Dup(fd int) (nfd int, err error)
|
//sys Dup(fd int) (nfd int, err error)
|
||||||
//sys Dup2(from int, to int) (err error)
|
//sys Dup2(from int, to int) (err error)
|
||||||
//sys Exit(code int)
|
//sys Exit(code int)
|
||||||
|
//sys Faccessat(dirfd int, path string, mode uint32, flags int) (err error)
|
||||||
//sys Fchdir(fd int) (err error)
|
//sys Fchdir(fd int) (err error)
|
||||||
//sys Fchflags(fd int, flags int) (err error)
|
//sys Fchflags(fd int, flags int) (err error)
|
||||||
//sys Fchmod(fd int, mode uint32) (err error)
|
//sys Fchmod(fd int, mode uint32) (err error)
|
||||||
//sys Fchmodat(dirfd int, path string, mode uint32, flags int) (err error)
|
//sys Fchmodat(dirfd int, path string, mode uint32, flags int) (err error)
|
||||||
//sys Fchown(fd int, uid int, gid int) (err error)
|
//sys Fchown(fd int, uid int, gid int) (err error)
|
||||||
|
//sys Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error)
|
||||||
//sys Flock(fd int, how int) (err error)
|
//sys Flock(fd int, how int) (err error)
|
||||||
//sys Fpathconf(fd int, name int) (val int, err error)
|
//sys Fpathconf(fd int, name int) (val int, err error)
|
||||||
//sys Fstat(fd int, stat *Stat_t) (err error)
|
//sys Fstat(fd int, stat *Stat_t) (err error)
|
||||||
@ -280,13 +282,17 @@ func Uname(uname *Utsname) error {
|
|||||||
//sys Kqueue() (fd int, err error)
|
//sys Kqueue() (fd int, err error)
|
||||||
//sys Lchown(path string, uid int, gid int) (err error)
|
//sys Lchown(path string, uid int, gid int) (err error)
|
||||||
//sys Link(path string, link string) (err error)
|
//sys Link(path string, link string) (err error)
|
||||||
|
//sys Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error)
|
||||||
//sys Listen(s int, backlog int) (err error)
|
//sys Listen(s int, backlog int) (err error)
|
||||||
//sys Lstat(path string, stat *Stat_t) (err error)
|
//sys Lstat(path string, stat *Stat_t) (err error)
|
||||||
//sys Mkdir(path string, mode uint32) (err error)
|
//sys Mkdir(path string, mode uint32) (err error)
|
||||||
|
//sys Mkdirat(dirfd int, path string, mode uint32) (err error)
|
||||||
//sys Mkfifo(path string, mode uint32) (err error)
|
//sys Mkfifo(path string, mode uint32) (err error)
|
||||||
//sys Mknod(path string, mode uint32, dev int) (err error)
|
//sys Mknod(path string, mode uint32, dev int) (err error)
|
||||||
|
//sys Mknodat(fd int, path string, mode uint32, dev int) (err error)
|
||||||
//sys Nanosleep(time *Timespec, leftover *Timespec) (err error)
|
//sys Nanosleep(time *Timespec, leftover *Timespec) (err error)
|
||||||
//sys Open(path string, mode int, perm uint32) (fd int, err error)
|
//sys Open(path string, mode int, perm uint32) (fd int, err error)
|
||||||
|
//sys Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error)
|
||||||
//sys Pathconf(path string, name int) (val int, err error)
|
//sys Pathconf(path string, name int) (val int, err error)
|
||||||
//sys read(fd int, p []byte) (n int, err error)
|
//sys read(fd int, p []byte) (n int, err error)
|
||||||
//sys Readlink(path string, buf []byte) (n int, err error)
|
//sys Readlink(path string, buf []byte) (n int, err error)
|
||||||
@ -312,11 +318,13 @@ func Uname(uname *Utsname) error {
|
|||||||
//sys Stat(path string, stat *Stat_t) (err error)
|
//sys Stat(path string, stat *Stat_t) (err error)
|
||||||
//sys Statfs(path string, stat *Statfs_t) (err error)
|
//sys Statfs(path string, stat *Statfs_t) (err error)
|
||||||
//sys Symlink(path string, link string) (err error)
|
//sys Symlink(path string, link string) (err error)
|
||||||
|
//sys Symlinkat(oldpath string, newdirfd int, newpath string) (err error)
|
||||||
//sys Sync() (err error)
|
//sys Sync() (err error)
|
||||||
//sys Truncate(path string, length int64) (err error)
|
//sys Truncate(path string, length int64) (err error)
|
||||||
//sys Umask(newmask int) (oldmask int)
|
//sys Umask(newmask int) (oldmask int)
|
||||||
//sys Undelete(path string) (err error)
|
//sys Undelete(path string) (err error)
|
||||||
//sys Unlink(path string) (err error)
|
//sys Unlink(path string) (err error)
|
||||||
|
//sys Unlinkat(dirfd int, path string, flags int) (err error)
|
||||||
//sys Unmount(path string, flags int) (err error)
|
//sys Unmount(path string, flags int) (err error)
|
||||||
//sys write(fd int, p []byte) (n int, err error)
|
//sys write(fd int, p []byte) (n int, err error)
|
||||||
//sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error)
|
//sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error)
|
||||||
|
78
vendor/golang.org/x/sys/unix/syscall_linux.go
generated
vendored
78
vendor/golang.org/x/sys/unix/syscall_linux.go
generated
vendored
@ -12,6 +12,8 @@
|
|||||||
package unix
|
package unix
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"encoding/binary"
|
||||||
|
"net"
|
||||||
"syscall"
|
"syscall"
|
||||||
"unsafe"
|
"unsafe"
|
||||||
)
|
)
|
||||||
@ -55,6 +57,15 @@ func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) {
|
|||||||
// ioctl itself should not be exposed directly, but additional get/set
|
// ioctl itself should not be exposed directly, but additional get/set
|
||||||
// functions for specific types are permissible.
|
// functions for specific types are permissible.
|
||||||
|
|
||||||
|
// IoctlSetPointerInt performs an ioctl operation which sets an
|
||||||
|
// integer value on fd, using the specified request number. The ioctl
|
||||||
|
// argument is called with a pointer to the integer value, rather than
|
||||||
|
// passing the integer value directly.
|
||||||
|
func IoctlSetPointerInt(fd int, req uint, value int) error {
|
||||||
|
v := int32(value)
|
||||||
|
return ioctl(fd, req, uintptr(unsafe.Pointer(&v)))
|
||||||
|
}
|
||||||
|
|
||||||
// IoctlSetInt performs an ioctl operation which sets an integer value
|
// IoctlSetInt performs an ioctl operation which sets an integer value
|
||||||
// on fd, using the specified request number.
|
// on fd, using the specified request number.
|
||||||
func IoctlSetInt(fd int, req uint, value int) error {
|
func IoctlSetInt(fd int, req uint, value int) error {
|
||||||
@ -710,6 +721,51 @@ func (sa *SockaddrXDP) sockaddr() (unsafe.Pointer, _Socklen, error) {
|
|||||||
return unsafe.Pointer(&sa.raw), SizeofSockaddrXDP, nil
|
return unsafe.Pointer(&sa.raw), SizeofSockaddrXDP, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// This constant mirrors the #define of PX_PROTO_OE in
|
||||||
|
// linux/if_pppox.h. We're defining this by hand here instead of
|
||||||
|
// autogenerating through mkerrors.sh because including
|
||||||
|
// linux/if_pppox.h causes some declaration conflicts with other
|
||||||
|
// includes (linux/if_pppox.h includes linux/in.h, which conflicts
|
||||||
|
// with netinet/in.h). Given that we only need a single zero constant
|
||||||
|
// out of that file, it's cleaner to just define it by hand here.
|
||||||
|
const px_proto_oe = 0
|
||||||
|
|
||||||
|
type SockaddrPPPoE struct {
|
||||||
|
SID uint16
|
||||||
|
Remote net.HardwareAddr
|
||||||
|
Dev string
|
||||||
|
raw RawSockaddrPPPoX
|
||||||
|
}
|
||||||
|
|
||||||
|
func (sa *SockaddrPPPoE) sockaddr() (unsafe.Pointer, _Socklen, error) {
|
||||||
|
if len(sa.Remote) != 6 {
|
||||||
|
return nil, 0, EINVAL
|
||||||
|
}
|
||||||
|
if len(sa.Dev) > IFNAMSIZ-1 {
|
||||||
|
return nil, 0, EINVAL
|
||||||
|
}
|
||||||
|
|
||||||
|
*(*uint16)(unsafe.Pointer(&sa.raw[0])) = AF_PPPOX
|
||||||
|
// This next field is in host-endian byte order. We can't use the
|
||||||
|
// same unsafe pointer cast as above, because this value is not
|
||||||
|
// 32-bit aligned and some architectures don't allow unaligned
|
||||||
|
// access.
|
||||||
|
//
|
||||||
|
// However, the value of px_proto_oe is 0, so we can use
|
||||||
|
// encoding/binary helpers to write the bytes without worrying
|
||||||
|
// about the ordering.
|
||||||
|
binary.BigEndian.PutUint32(sa.raw[2:6], px_proto_oe)
|
||||||
|
// This field is deliberately big-endian, unlike the previous
|
||||||
|
// one. The kernel expects SID to be in network byte order.
|
||||||
|
binary.BigEndian.PutUint16(sa.raw[6:8], sa.SID)
|
||||||
|
copy(sa.raw[8:14], sa.Remote)
|
||||||
|
for i := 14; i < 14+IFNAMSIZ; i++ {
|
||||||
|
sa.raw[i] = 0
|
||||||
|
}
|
||||||
|
copy(sa.raw[14:], sa.Dev)
|
||||||
|
return unsafe.Pointer(&sa.raw), SizeofSockaddrPPPoX, nil
|
||||||
|
}
|
||||||
|
|
||||||
func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) {
|
func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) {
|
||||||
switch rsa.Addr.Family {
|
switch rsa.Addr.Family {
|
||||||
case AF_NETLINK:
|
case AF_NETLINK:
|
||||||
@ -820,6 +876,22 @@ func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) {
|
|||||||
SharedUmemFD: pp.Shared_umem_fd,
|
SharedUmemFD: pp.Shared_umem_fd,
|
||||||
}
|
}
|
||||||
return sa, nil
|
return sa, nil
|
||||||
|
case AF_PPPOX:
|
||||||
|
pp := (*RawSockaddrPPPoX)(unsafe.Pointer(rsa))
|
||||||
|
if binary.BigEndian.Uint32(pp[2:6]) != px_proto_oe {
|
||||||
|
return nil, EINVAL
|
||||||
|
}
|
||||||
|
sa := &SockaddrPPPoE{
|
||||||
|
SID: binary.BigEndian.Uint16(pp[6:8]),
|
||||||
|
Remote: net.HardwareAddr(pp[8:14]),
|
||||||
|
}
|
||||||
|
for i := 14; i < 14+IFNAMSIZ; i++ {
|
||||||
|
if pp[i] == 0 {
|
||||||
|
sa.Dev = string(pp[14:i])
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return sa, nil
|
||||||
}
|
}
|
||||||
return nil, EAFNOSUPPORT
|
return nil, EAFNOSUPPORT
|
||||||
}
|
}
|
||||||
@ -1304,6 +1376,7 @@ func Mount(source string, target string, fstype string, flags uintptr, data stri
|
|||||||
//sys ClockGettime(clockid int32, time *Timespec) (err error)
|
//sys ClockGettime(clockid int32, time *Timespec) (err error)
|
||||||
//sys Close(fd int) (err error)
|
//sys Close(fd int) (err error)
|
||||||
//sys CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error)
|
//sys CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error)
|
||||||
|
//sys DeleteModule(name string, flags int) (err error)
|
||||||
//sys Dup(oldfd int) (fd int, err error)
|
//sys Dup(oldfd int) (fd int, err error)
|
||||||
//sys Dup3(oldfd int, newfd int, flags int) (err error)
|
//sys Dup3(oldfd int, newfd int, flags int) (err error)
|
||||||
//sysnb EpollCreate1(flag int) (fd int, err error)
|
//sysnb EpollCreate1(flag int) (fd int, err error)
|
||||||
@ -1317,6 +1390,7 @@ func Mount(source string, target string, fstype string, flags uintptr, data stri
|
|||||||
//sys fcntl(fd int, cmd int, arg int) (val int, err error)
|
//sys fcntl(fd int, cmd int, arg int) (val int, err error)
|
||||||
//sys Fdatasync(fd int) (err error)
|
//sys Fdatasync(fd int) (err error)
|
||||||
//sys Fgetxattr(fd int, attr string, dest []byte) (sz int, err error)
|
//sys Fgetxattr(fd int, attr string, dest []byte) (sz int, err error)
|
||||||
|
//sys FinitModule(fd int, params string, flags int) (err error)
|
||||||
//sys Flistxattr(fd int, dest []byte) (sz int, err error)
|
//sys Flistxattr(fd int, dest []byte) (sz int, err error)
|
||||||
//sys Flock(fd int, how int) (err error)
|
//sys Flock(fd int, how int) (err error)
|
||||||
//sys Fremovexattr(fd int, attr string) (err error)
|
//sys Fremovexattr(fd int, attr string) (err error)
|
||||||
@ -1338,6 +1412,7 @@ func Getpgrp() (pid int) {
|
|||||||
//sysnb Getsid(pid int) (sid int, err error)
|
//sysnb Getsid(pid int) (sid int, err error)
|
||||||
//sysnb Gettid() (tid int)
|
//sysnb Gettid() (tid int)
|
||||||
//sys Getxattr(path string, attr string, dest []byte) (sz int, err error)
|
//sys Getxattr(path string, attr string, dest []byte) (sz int, err error)
|
||||||
|
//sys InitModule(moduleImage []byte, params string) (err error)
|
||||||
//sys InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error)
|
//sys InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error)
|
||||||
//sysnb InotifyInit1(flags int) (fd int, err error)
|
//sysnb InotifyInit1(flags int) (fd int, err error)
|
||||||
//sysnb InotifyRmWatch(fd int, watchdesc uint32) (success int, err error)
|
//sysnb InotifyRmWatch(fd int, watchdesc uint32) (success int, err error)
|
||||||
@ -1527,8 +1602,6 @@ func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
|
|||||||
// ClockNanosleep
|
// ClockNanosleep
|
||||||
// ClockSettime
|
// ClockSettime
|
||||||
// Clone
|
// Clone
|
||||||
// CreateModule
|
|
||||||
// DeleteModule
|
|
||||||
// EpollCtlOld
|
// EpollCtlOld
|
||||||
// EpollPwait
|
// EpollPwait
|
||||||
// EpollWaitOld
|
// EpollWaitOld
|
||||||
@ -1572,7 +1645,6 @@ func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
|
|||||||
// Pselect6
|
// Pselect6
|
||||||
// Ptrace
|
// Ptrace
|
||||||
// Putpmsg
|
// Putpmsg
|
||||||
// QueryModule
|
|
||||||
// Quotactl
|
// Quotactl
|
||||||
// Readahead
|
// Readahead
|
||||||
// Readv
|
// Readv
|
||||||
|
18
vendor/golang.org/x/sys/unix/syscall_netbsd.go
generated
vendored
18
vendor/golang.org/x/sys/unix/syscall_netbsd.go
generated
vendored
@ -13,6 +13,7 @@
|
|||||||
package unix
|
package unix
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"runtime"
|
||||||
"syscall"
|
"syscall"
|
||||||
"unsafe"
|
"unsafe"
|
||||||
)
|
)
|
||||||
@ -190,6 +191,13 @@ func IoctlGetTermios(fd int, req uint) (*Termios, error) {
|
|||||||
return &value, err
|
return &value, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func IoctlGetPtmget(fd int, req uint) (*Ptmget, error) {
|
||||||
|
var value Ptmget
|
||||||
|
err := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))
|
||||||
|
runtime.KeepAlive(value)
|
||||||
|
return &value, err
|
||||||
|
}
|
||||||
|
|
||||||
func Uname(uname *Utsname) error {
|
func Uname(uname *Utsname) error {
|
||||||
mib := []_C_int{CTL_KERN, KERN_OSTYPE}
|
mib := []_C_int{CTL_KERN, KERN_OSTYPE}
|
||||||
n := unsafe.Sizeof(uname.Sysname)
|
n := unsafe.Sizeof(uname.Sysname)
|
||||||
@ -269,6 +277,7 @@ func Uname(uname *Utsname) error {
|
|||||||
//sys Fchmod(fd int, mode uint32) (err error)
|
//sys Fchmod(fd int, mode uint32) (err error)
|
||||||
//sys Fchmodat(dirfd int, path string, mode uint32, flags int) (err error)
|
//sys Fchmodat(dirfd int, path string, mode uint32, flags int) (err error)
|
||||||
//sys Fchown(fd int, uid int, gid int) (err error)
|
//sys Fchown(fd int, uid int, gid int) (err error)
|
||||||
|
//sys Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error)
|
||||||
//sys Flock(fd int, how int) (err error)
|
//sys Flock(fd int, how int) (err error)
|
||||||
//sys Fpathconf(fd int, name int) (val int, err error)
|
//sys Fpathconf(fd int, name int) (val int, err error)
|
||||||
//sys Fstat(fd int, stat *Stat_t) (err error)
|
//sys Fstat(fd int, stat *Stat_t) (err error)
|
||||||
@ -293,19 +302,26 @@ func Uname(uname *Utsname) error {
|
|||||||
//sys Kqueue() (fd int, err error)
|
//sys Kqueue() (fd int, err error)
|
||||||
//sys Lchown(path string, uid int, gid int) (err error)
|
//sys Lchown(path string, uid int, gid int) (err error)
|
||||||
//sys Link(path string, link string) (err error)
|
//sys Link(path string, link string) (err error)
|
||||||
|
//sys Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error)
|
||||||
//sys Listen(s int, backlog int) (err error)
|
//sys Listen(s int, backlog int) (err error)
|
||||||
//sys Lstat(path string, stat *Stat_t) (err error)
|
//sys Lstat(path string, stat *Stat_t) (err error)
|
||||||
//sys Mkdir(path string, mode uint32) (err error)
|
//sys Mkdir(path string, mode uint32) (err error)
|
||||||
|
//sys Mkdirat(dirfd int, path string, mode uint32) (err error)
|
||||||
//sys Mkfifo(path string, mode uint32) (err error)
|
//sys Mkfifo(path string, mode uint32) (err error)
|
||||||
|
//sys Mkfifoat(dirfd int, path string, mode uint32) (err error)
|
||||||
//sys Mknod(path string, mode uint32, dev int) (err error)
|
//sys Mknod(path string, mode uint32, dev int) (err error)
|
||||||
|
//sys Mknodat(dirfd int, path string, mode uint32, dev int) (err error)
|
||||||
//sys Nanosleep(time *Timespec, leftover *Timespec) (err error)
|
//sys Nanosleep(time *Timespec, leftover *Timespec) (err error)
|
||||||
//sys Open(path string, mode int, perm uint32) (fd int, err error)
|
//sys Open(path string, mode int, perm uint32) (fd int, err error)
|
||||||
|
//sys Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error)
|
||||||
//sys Pathconf(path string, name int) (val int, err error)
|
//sys Pathconf(path string, name int) (val int, err error)
|
||||||
//sys Pread(fd int, p []byte, offset int64) (n int, err error)
|
//sys Pread(fd int, p []byte, offset int64) (n int, err error)
|
||||||
//sys Pwrite(fd int, p []byte, offset int64) (n int, err error)
|
//sys Pwrite(fd int, p []byte, offset int64) (n int, err error)
|
||||||
//sys read(fd int, p []byte) (n int, err error)
|
//sys read(fd int, p []byte) (n int, err error)
|
||||||
//sys Readlink(path string, buf []byte) (n int, err error)
|
//sys Readlink(path string, buf []byte) (n int, err error)
|
||||||
|
//sys Readlinkat(dirfd int, path string, buf []byte) (n int, err error)
|
||||||
//sys Rename(from string, to string) (err error)
|
//sys Rename(from string, to string) (err error)
|
||||||
|
//sys Renameat(fromfd int, from string, tofd int, to string) (err error)
|
||||||
//sys Revoke(path string) (err error)
|
//sys Revoke(path string) (err error)
|
||||||
//sys Rmdir(path string) (err error)
|
//sys Rmdir(path string) (err error)
|
||||||
//sys Seek(fd int, offset int64, whence int) (newoffset int64, err error) = SYS_LSEEK
|
//sys Seek(fd int, offset int64, whence int) (newoffset int64, err error) = SYS_LSEEK
|
||||||
@ -323,10 +339,12 @@ func Uname(uname *Utsname) error {
|
|||||||
//sysnb Setuid(uid int) (err error)
|
//sysnb Setuid(uid int) (err error)
|
||||||
//sys Stat(path string, stat *Stat_t) (err error)
|
//sys Stat(path string, stat *Stat_t) (err error)
|
||||||
//sys Symlink(path string, link string) (err error)
|
//sys Symlink(path string, link string) (err error)
|
||||||
|
//sys Symlinkat(oldpath string, newdirfd int, newpath string) (err error)
|
||||||
//sys Sync() (err error)
|
//sys Sync() (err error)
|
||||||
//sys Truncate(path string, length int64) (err error)
|
//sys Truncate(path string, length int64) (err error)
|
||||||
//sys Umask(newmask int) (oldmask int)
|
//sys Umask(newmask int) (oldmask int)
|
||||||
//sys Unlink(path string) (err error)
|
//sys Unlink(path string) (err error)
|
||||||
|
//sys Unlinkat(dirfd int, path string, flags int) (err error)
|
||||||
//sys Unmount(path string, flags int) (err error)
|
//sys Unmount(path string, flags int) (err error)
|
||||||
//sys write(fd int, p []byte) (n int, err error)
|
//sys write(fd int, p []byte) (n int, err error)
|
||||||
//sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error)
|
//sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error)
|
||||||
|
20
vendor/golang.org/x/sys/unix/syscall_openbsd.go
generated
vendored
20
vendor/golang.org/x/sys/unix/syscall_openbsd.go
generated
vendored
@ -233,6 +233,7 @@ func Uname(uname *Utsname) error {
|
|||||||
//sys Fchmod(fd int, mode uint32) (err error)
|
//sys Fchmod(fd int, mode uint32) (err error)
|
||||||
//sys Fchmodat(dirfd int, path string, mode uint32, flags int) (err error)
|
//sys Fchmodat(dirfd int, path string, mode uint32, flags int) (err error)
|
||||||
//sys Fchown(fd int, uid int, gid int) (err error)
|
//sys Fchown(fd int, uid int, gid int) (err error)
|
||||||
|
//sys Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error)
|
||||||
//sys Flock(fd int, how int) (err error)
|
//sys Flock(fd int, how int) (err error)
|
||||||
//sys Fpathconf(fd int, name int) (val int, err error)
|
//sys Fpathconf(fd int, name int) (val int, err error)
|
||||||
//sys Fstat(fd int, stat *Stat_t) (err error)
|
//sys Fstat(fd int, stat *Stat_t) (err error)
|
||||||
@ -259,11 +260,15 @@ func Uname(uname *Utsname) error {
|
|||||||
//sys Kqueue() (fd int, err error)
|
//sys Kqueue() (fd int, err error)
|
||||||
//sys Lchown(path string, uid int, gid int) (err error)
|
//sys Lchown(path string, uid int, gid int) (err error)
|
||||||
//sys Link(path string, link string) (err error)
|
//sys Link(path string, link string) (err error)
|
||||||
|
//sys Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error)
|
||||||
//sys Listen(s int, backlog int) (err error)
|
//sys Listen(s int, backlog int) (err error)
|
||||||
//sys Lstat(path string, stat *Stat_t) (err error)
|
//sys Lstat(path string, stat *Stat_t) (err error)
|
||||||
//sys Mkdir(path string, mode uint32) (err error)
|
//sys Mkdir(path string, mode uint32) (err error)
|
||||||
|
//sys Mkdirat(dirfd int, path string, mode uint32) (err error)
|
||||||
//sys Mkfifo(path string, mode uint32) (err error)
|
//sys Mkfifo(path string, mode uint32) (err error)
|
||||||
|
//sys Mkfifoat(dirfd int, path string, mode uint32) (err error)
|
||||||
//sys Mknod(path string, mode uint32, dev int) (err error)
|
//sys Mknod(path string, mode uint32, dev int) (err error)
|
||||||
|
//sys Mknodat(dirfd int, path string, mode uint32, dev int) (err error)
|
||||||
//sys Nanosleep(time *Timespec, leftover *Timespec) (err error)
|
//sys Nanosleep(time *Timespec, leftover *Timespec) (err error)
|
||||||
//sys Open(path string, mode int, perm uint32) (fd int, err error)
|
//sys Open(path string, mode int, perm uint32) (fd int, err error)
|
||||||
//sys Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error)
|
//sys Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error)
|
||||||
@ -272,7 +277,9 @@ func Uname(uname *Utsname) error {
|
|||||||
//sys Pwrite(fd int, p []byte, offset int64) (n int, err error)
|
//sys Pwrite(fd int, p []byte, offset int64) (n int, err error)
|
||||||
//sys read(fd int, p []byte) (n int, err error)
|
//sys read(fd int, p []byte) (n int, err error)
|
||||||
//sys Readlink(path string, buf []byte) (n int, err error)
|
//sys Readlink(path string, buf []byte) (n int, err error)
|
||||||
|
//sys Readlinkat(dirfd int, path string, buf []byte) (n int, err error)
|
||||||
//sys Rename(from string, to string) (err error)
|
//sys Rename(from string, to string) (err error)
|
||||||
|
//sys Renameat(fromfd int, from string, tofd int, to string) (err error)
|
||||||
//sys Revoke(path string) (err error)
|
//sys Revoke(path string) (err error)
|
||||||
//sys Rmdir(path string) (err error)
|
//sys Rmdir(path string) (err error)
|
||||||
//sys Seek(fd int, offset int64, whence int) (newoffset int64, err error) = SYS_LSEEK
|
//sys Seek(fd int, offset int64, whence int) (newoffset int64, err error) = SYS_LSEEK
|
||||||
@ -295,10 +302,12 @@ func Uname(uname *Utsname) error {
|
|||||||
//sys Stat(path string, stat *Stat_t) (err error)
|
//sys Stat(path string, stat *Stat_t) (err error)
|
||||||
//sys Statfs(path string, stat *Statfs_t) (err error)
|
//sys Statfs(path string, stat *Statfs_t) (err error)
|
||||||
//sys Symlink(path string, link string) (err error)
|
//sys Symlink(path string, link string) (err error)
|
||||||
|
//sys Symlinkat(oldpath string, newdirfd int, newpath string) (err error)
|
||||||
//sys Sync() (err error)
|
//sys Sync() (err error)
|
||||||
//sys Truncate(path string, length int64) (err error)
|
//sys Truncate(path string, length int64) (err error)
|
||||||
//sys Umask(newmask int) (oldmask int)
|
//sys Umask(newmask int) (oldmask int)
|
||||||
//sys Unlink(path string) (err error)
|
//sys Unlink(path string) (err error)
|
||||||
|
//sys Unlinkat(dirfd int, path string, flags int) (err error)
|
||||||
//sys Unmount(path string, flags int) (err error)
|
//sys Unmount(path string, flags int) (err error)
|
||||||
//sys write(fd int, p []byte) (n int, err error)
|
//sys write(fd int, p []byte) (n int, err error)
|
||||||
//sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error)
|
//sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error)
|
||||||
@ -321,15 +330,11 @@ func Uname(uname *Utsname) error {
|
|||||||
// clock_settime
|
// clock_settime
|
||||||
// closefrom
|
// closefrom
|
||||||
// execve
|
// execve
|
||||||
// faccessat
|
|
||||||
// fchmodat
|
|
||||||
// fchownat
|
|
||||||
// fcntl
|
// fcntl
|
||||||
// fhopen
|
// fhopen
|
||||||
// fhstat
|
// fhstat
|
||||||
// fhstatfs
|
// fhstatfs
|
||||||
// fork
|
// fork
|
||||||
// fstatat
|
|
||||||
// futimens
|
// futimens
|
||||||
// getfh
|
// getfh
|
||||||
// getgid
|
// getgid
|
||||||
@ -343,12 +348,8 @@ func Uname(uname *Utsname) error {
|
|||||||
// lfs_markv
|
// lfs_markv
|
||||||
// lfs_segclean
|
// lfs_segclean
|
||||||
// lfs_segwait
|
// lfs_segwait
|
||||||
// linkat
|
|
||||||
// mincore
|
// mincore
|
||||||
// minherit
|
// minherit
|
||||||
// mkdirat
|
|
||||||
// mkfifoat
|
|
||||||
// mknodat
|
|
||||||
// mount
|
// mount
|
||||||
// mquery
|
// mquery
|
||||||
// msgctl
|
// msgctl
|
||||||
@ -361,7 +362,6 @@ func Uname(uname *Utsname) error {
|
|||||||
// profil
|
// profil
|
||||||
// pwritev
|
// pwritev
|
||||||
// quotactl
|
// quotactl
|
||||||
// readlinkat
|
|
||||||
// readv
|
// readv
|
||||||
// reboot
|
// reboot
|
||||||
// renameat
|
// renameat
|
||||||
@ -382,13 +382,11 @@ func Uname(uname *Utsname) error {
|
|||||||
// sigprocmask
|
// sigprocmask
|
||||||
// sigreturn
|
// sigreturn
|
||||||
// sigsuspend
|
// sigsuspend
|
||||||
// symlinkat
|
|
||||||
// sysarch
|
// sysarch
|
||||||
// syscall
|
// syscall
|
||||||
// threxit
|
// threxit
|
||||||
// thrsigdivert
|
// thrsigdivert
|
||||||
// thrsleep
|
// thrsleep
|
||||||
// thrwakeup
|
// thrwakeup
|
||||||
// unlinkat
|
|
||||||
// vfork
|
// vfork
|
||||||
// writev
|
// writev
|
||||||
|
2
vendor/golang.org/x/sys/unix/syscall_unix_gc.go
generated
vendored
2
vendor/golang.org/x/sys/unix/syscall_unix_gc.go
generated
vendored
@ -3,7 +3,7 @@
|
|||||||
// license that can be found in the LICENSE file.
|
// license that can be found in the LICENSE file.
|
||||||
|
|
||||||
// +build darwin dragonfly freebsd linux netbsd openbsd solaris
|
// +build darwin dragonfly freebsd linux netbsd openbsd solaris
|
||||||
// +build !gccgo
|
// +build !gccgo,!ppc64le,!ppc64
|
||||||
|
|
||||||
package unix
|
package unix
|
||||||
|
|
||||||
|
24
vendor/golang.org/x/sys/unix/syscall_unix_gc_ppc64x.go
generated
vendored
Normal file
24
vendor/golang.org/x/sys/unix/syscall_unix_gc_ppc64x.go
generated
vendored
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
// Copyright 2018 The Go Authors. All rights reserved.
|
||||||
|
// Use of this source code is governed by a BSD-style
|
||||||
|
// license that can be found in the LICENSE file.
|
||||||
|
|
||||||
|
// +build linux
|
||||||
|
// +build ppc64le ppc64
|
||||||
|
// +build !gccgo
|
||||||
|
|
||||||
|
package unix
|
||||||
|
|
||||||
|
import "syscall"
|
||||||
|
|
||||||
|
func Syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) {
|
||||||
|
return syscall.Syscall(trap, a1, a2, a3)
|
||||||
|
}
|
||||||
|
func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) {
|
||||||
|
return syscall.Syscall6(trap, a1, a2, a3, a4, a5, a6)
|
||||||
|
}
|
||||||
|
func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) {
|
||||||
|
return syscall.RawSyscall(trap, a1, a2, a3)
|
||||||
|
}
|
||||||
|
func RawSyscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) {
|
||||||
|
return syscall.RawSyscall6(trap, a1, a2, a3, a4, a5, a6)
|
||||||
|
}
|
2
vendor/golang.org/x/sys/unix/types_freebsd.go
generated
vendored
2
vendor/golang.org/x/sys/unix/types_freebsd.go
generated
vendored
@ -26,7 +26,7 @@ package unix
|
|||||||
#include <termios.h>
|
#include <termios.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <sys/capability.h>
|
#include <sys/capsicum.h>
|
||||||
#include <sys/event.h>
|
#include <sys/event.h>
|
||||||
#include <sys/mman.h>
|
#include <sys/mman.h>
|
||||||
#include <sys/mount.h>
|
#include <sys/mount.h>
|
||||||
|
2
vendor/golang.org/x/sys/unix/types_netbsd.go
generated
vendored
2
vendor/golang.org/x/sys/unix/types_netbsd.go
generated
vendored
@ -248,6 +248,8 @@ type Termios C.struct_termios
|
|||||||
|
|
||||||
type Winsize C.struct_winsize
|
type Winsize C.struct_winsize
|
||||||
|
|
||||||
|
type Ptmget C.struct_ptmget
|
||||||
|
|
||||||
// fchmodat-like syscalls.
|
// fchmodat-like syscalls.
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
15
vendor/golang.org/x/sys/unix/xattr_bsd.go
generated
vendored
15
vendor/golang.org/x/sys/unix/xattr_bsd.go
generated
vendored
@ -81,7 +81,10 @@ func Lgetxattr(link string, attr string, dest []byte) (sz int, err error) {
|
|||||||
// flags are unused on FreeBSD
|
// flags are unused on FreeBSD
|
||||||
|
|
||||||
func Fsetxattr(fd int, attr string, data []byte, flags int) (err error) {
|
func Fsetxattr(fd int, attr string, data []byte, flags int) (err error) {
|
||||||
d := unsafe.Pointer(&data[0])
|
var d unsafe.Pointer
|
||||||
|
if len(data) > 0 {
|
||||||
|
d = unsafe.Pointer(&data[0])
|
||||||
|
}
|
||||||
datasiz := len(data)
|
datasiz := len(data)
|
||||||
|
|
||||||
nsid, a, err := xattrnamespace(attr)
|
nsid, a, err := xattrnamespace(attr)
|
||||||
@ -94,7 +97,10 @@ func Fsetxattr(fd int, attr string, data []byte, flags int) (err error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func Setxattr(file string, attr string, data []byte, flags int) (err error) {
|
func Setxattr(file string, attr string, data []byte, flags int) (err error) {
|
||||||
d := unsafe.Pointer(&data[0])
|
var d unsafe.Pointer
|
||||||
|
if len(data) > 0 {
|
||||||
|
d = unsafe.Pointer(&data[0])
|
||||||
|
}
|
||||||
datasiz := len(data)
|
datasiz := len(data)
|
||||||
|
|
||||||
nsid, a, err := xattrnamespace(attr)
|
nsid, a, err := xattrnamespace(attr)
|
||||||
@ -107,7 +113,10 @@ func Setxattr(file string, attr string, data []byte, flags int) (err error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func Lsetxattr(link string, attr string, data []byte, flags int) (err error) {
|
func Lsetxattr(link string, attr string, data []byte, flags int) (err error) {
|
||||||
d := unsafe.Pointer(&data[0])
|
var d unsafe.Pointer
|
||||||
|
if len(data) > 0 {
|
||||||
|
d = unsafe.Pointer(&data[0])
|
||||||
|
}
|
||||||
datasiz := len(data)
|
datasiz := len(data)
|
||||||
|
|
||||||
nsid, a, err := xattrnamespace(attr)
|
nsid, a, err := xattrnamespace(attr)
|
||||||
|
36
vendor/golang.org/x/sys/unix/zerrors_linux_386.go
generated
vendored
36
vendor/golang.org/x/sys/unix/zerrors_linux_386.go
generated
vendored
@ -1023,6 +1023,8 @@ const (
|
|||||||
MNT_DETACH = 0x2
|
MNT_DETACH = 0x2
|
||||||
MNT_EXPIRE = 0x4
|
MNT_EXPIRE = 0x4
|
||||||
MNT_FORCE = 0x1
|
MNT_FORCE = 0x1
|
||||||
|
MODULE_INIT_IGNORE_MODVERSIONS = 0x1
|
||||||
|
MODULE_INIT_IGNORE_VERMAGIC = 0x2
|
||||||
MSDOS_SUPER_MAGIC = 0x4d44
|
MSDOS_SUPER_MAGIC = 0x4d44
|
||||||
MSG_BATCH = 0x40000
|
MSG_BATCH = 0x40000
|
||||||
MSG_CMSG_CLOEXEC = 0x40000000
|
MSG_CMSG_CLOEXEC = 0x40000000
|
||||||
@ -1291,6 +1293,36 @@ const (
|
|||||||
PERF_EVENT_IOC_SET_FILTER = 0x40042406
|
PERF_EVENT_IOC_SET_FILTER = 0x40042406
|
||||||
PERF_EVENT_IOC_SET_OUTPUT = 0x2405
|
PERF_EVENT_IOC_SET_OUTPUT = 0x2405
|
||||||
PIPEFS_MAGIC = 0x50495045
|
PIPEFS_MAGIC = 0x50495045
|
||||||
|
PPPIOCATTACH = 0x4004743d
|
||||||
|
PPPIOCATTCHAN = 0x40047438
|
||||||
|
PPPIOCCONNECT = 0x4004743a
|
||||||
|
PPPIOCDETACH = 0x4004743c
|
||||||
|
PPPIOCDISCONN = 0x7439
|
||||||
|
PPPIOCGASYNCMAP = 0x80047458
|
||||||
|
PPPIOCGCHAN = 0x80047437
|
||||||
|
PPPIOCGDEBUG = 0x80047441
|
||||||
|
PPPIOCGFLAGS = 0x8004745a
|
||||||
|
PPPIOCGIDLE = 0x8008743f
|
||||||
|
PPPIOCGL2TPSTATS = 0x80487436
|
||||||
|
PPPIOCGMRU = 0x80047453
|
||||||
|
PPPIOCGNPMODE = 0xc008744c
|
||||||
|
PPPIOCGRASYNCMAP = 0x80047455
|
||||||
|
PPPIOCGUNIT = 0x80047456
|
||||||
|
PPPIOCGXASYNCMAP = 0x80207450
|
||||||
|
PPPIOCNEWUNIT = 0xc004743e
|
||||||
|
PPPIOCSACTIVE = 0x40087446
|
||||||
|
PPPIOCSASYNCMAP = 0x40047457
|
||||||
|
PPPIOCSCOMPRESS = 0x400c744d
|
||||||
|
PPPIOCSDEBUG = 0x40047440
|
||||||
|
PPPIOCSFLAGS = 0x40047459
|
||||||
|
PPPIOCSMAXCID = 0x40047451
|
||||||
|
PPPIOCSMRRU = 0x4004743b
|
||||||
|
PPPIOCSMRU = 0x40047452
|
||||||
|
PPPIOCSNPMODE = 0x4008744b
|
||||||
|
PPPIOCSPASS = 0x40087447
|
||||||
|
PPPIOCSRASYNCMAP = 0x40047454
|
||||||
|
PPPIOCSXASYNCMAP = 0x4020744f
|
||||||
|
PPPIOCXFERUNIT = 0x744e
|
||||||
PRIO_PGRP = 0x1
|
PRIO_PGRP = 0x1
|
||||||
PRIO_PROCESS = 0x0
|
PRIO_PROCESS = 0x0
|
||||||
PRIO_USER = 0x2
|
PRIO_USER = 0x2
|
||||||
@ -1694,6 +1726,7 @@ const (
|
|||||||
SCM_TIMESTAMPNS = 0x23
|
SCM_TIMESTAMPNS = 0x23
|
||||||
SCM_TXTIME = 0x3d
|
SCM_TXTIME = 0x3d
|
||||||
SCM_WIFI_STATUS = 0x29
|
SCM_WIFI_STATUS = 0x29
|
||||||
|
SC_LOG_FLUSH = 0x100000
|
||||||
SECCOMP_MODE_DISABLED = 0x0
|
SECCOMP_MODE_DISABLED = 0x0
|
||||||
SECCOMP_MODE_FILTER = 0x2
|
SECCOMP_MODE_FILTER = 0x2
|
||||||
SECCOMP_MODE_STRICT = 0x1
|
SECCOMP_MODE_STRICT = 0x1
|
||||||
@ -1749,6 +1782,9 @@ const (
|
|||||||
SIOCGMIIPHY = 0x8947
|
SIOCGMIIPHY = 0x8947
|
||||||
SIOCGMIIREG = 0x8948
|
SIOCGMIIREG = 0x8948
|
||||||
SIOCGPGRP = 0x8904
|
SIOCGPGRP = 0x8904
|
||||||
|
SIOCGPPPCSTATS = 0x89f2
|
||||||
|
SIOCGPPPSTATS = 0x89f0
|
||||||
|
SIOCGPPPVER = 0x89f1
|
||||||
SIOCGRARP = 0x8961
|
SIOCGRARP = 0x8961
|
||||||
SIOCGSKNS = 0x894c
|
SIOCGSKNS = 0x894c
|
||||||
SIOCGSTAMP = 0x8906
|
SIOCGSTAMP = 0x8906
|
||||||
|
36
vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go
generated
vendored
36
vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go
generated
vendored
@ -1023,6 +1023,8 @@ const (
|
|||||||
MNT_DETACH = 0x2
|
MNT_DETACH = 0x2
|
||||||
MNT_EXPIRE = 0x4
|
MNT_EXPIRE = 0x4
|
||||||
MNT_FORCE = 0x1
|
MNT_FORCE = 0x1
|
||||||
|
MODULE_INIT_IGNORE_MODVERSIONS = 0x1
|
||||||
|
MODULE_INIT_IGNORE_VERMAGIC = 0x2
|
||||||
MSDOS_SUPER_MAGIC = 0x4d44
|
MSDOS_SUPER_MAGIC = 0x4d44
|
||||||
MSG_BATCH = 0x40000
|
MSG_BATCH = 0x40000
|
||||||
MSG_CMSG_CLOEXEC = 0x40000000
|
MSG_CMSG_CLOEXEC = 0x40000000
|
||||||
@ -1291,6 +1293,36 @@ const (
|
|||||||
PERF_EVENT_IOC_SET_FILTER = 0x40082406
|
PERF_EVENT_IOC_SET_FILTER = 0x40082406
|
||||||
PERF_EVENT_IOC_SET_OUTPUT = 0x2405
|
PERF_EVENT_IOC_SET_OUTPUT = 0x2405
|
||||||
PIPEFS_MAGIC = 0x50495045
|
PIPEFS_MAGIC = 0x50495045
|
||||||
|
PPPIOCATTACH = 0x4004743d
|
||||||
|
PPPIOCATTCHAN = 0x40047438
|
||||||
|
PPPIOCCONNECT = 0x4004743a
|
||||||
|
PPPIOCDETACH = 0x4004743c
|
||||||
|
PPPIOCDISCONN = 0x7439
|
||||||
|
PPPIOCGASYNCMAP = 0x80047458
|
||||||
|
PPPIOCGCHAN = 0x80047437
|
||||||
|
PPPIOCGDEBUG = 0x80047441
|
||||||
|
PPPIOCGFLAGS = 0x8004745a
|
||||||
|
PPPIOCGIDLE = 0x8010743f
|
||||||
|
PPPIOCGL2TPSTATS = 0x80487436
|
||||||
|
PPPIOCGMRU = 0x80047453
|
||||||
|
PPPIOCGNPMODE = 0xc008744c
|
||||||
|
PPPIOCGRASYNCMAP = 0x80047455
|
||||||
|
PPPIOCGUNIT = 0x80047456
|
||||||
|
PPPIOCGXASYNCMAP = 0x80207450
|
||||||
|
PPPIOCNEWUNIT = 0xc004743e
|
||||||
|
PPPIOCSACTIVE = 0x40107446
|
||||||
|
PPPIOCSASYNCMAP = 0x40047457
|
||||||
|
PPPIOCSCOMPRESS = 0x4010744d
|
||||||
|
PPPIOCSDEBUG = 0x40047440
|
||||||
|
PPPIOCSFLAGS = 0x40047459
|
||||||
|
PPPIOCSMAXCID = 0x40047451
|
||||||
|
PPPIOCSMRRU = 0x4004743b
|
||||||
|
PPPIOCSMRU = 0x40047452
|
||||||
|
PPPIOCSNPMODE = 0x4008744b
|
||||||
|
PPPIOCSPASS = 0x40107447
|
||||||
|
PPPIOCSRASYNCMAP = 0x40047454
|
||||||
|
PPPIOCSXASYNCMAP = 0x4020744f
|
||||||
|
PPPIOCXFERUNIT = 0x744e
|
||||||
PRIO_PGRP = 0x1
|
PRIO_PGRP = 0x1
|
||||||
PRIO_PROCESS = 0x0
|
PRIO_PROCESS = 0x0
|
||||||
PRIO_USER = 0x2
|
PRIO_USER = 0x2
|
||||||
@ -1695,6 +1727,7 @@ const (
|
|||||||
SCM_TIMESTAMPNS = 0x23
|
SCM_TIMESTAMPNS = 0x23
|
||||||
SCM_TXTIME = 0x3d
|
SCM_TXTIME = 0x3d
|
||||||
SCM_WIFI_STATUS = 0x29
|
SCM_WIFI_STATUS = 0x29
|
||||||
|
SC_LOG_FLUSH = 0x100000
|
||||||
SECCOMP_MODE_DISABLED = 0x0
|
SECCOMP_MODE_DISABLED = 0x0
|
||||||
SECCOMP_MODE_FILTER = 0x2
|
SECCOMP_MODE_FILTER = 0x2
|
||||||
SECCOMP_MODE_STRICT = 0x1
|
SECCOMP_MODE_STRICT = 0x1
|
||||||
@ -1750,6 +1783,9 @@ const (
|
|||||||
SIOCGMIIPHY = 0x8947
|
SIOCGMIIPHY = 0x8947
|
||||||
SIOCGMIIREG = 0x8948
|
SIOCGMIIREG = 0x8948
|
||||||
SIOCGPGRP = 0x8904
|
SIOCGPGRP = 0x8904
|
||||||
|
SIOCGPPPCSTATS = 0x89f2
|
||||||
|
SIOCGPPPSTATS = 0x89f0
|
||||||
|
SIOCGPPPVER = 0x89f1
|
||||||
SIOCGRARP = 0x8961
|
SIOCGRARP = 0x8961
|
||||||
SIOCGSKNS = 0x894c
|
SIOCGSKNS = 0x894c
|
||||||
SIOCGSTAMP = 0x8906
|
SIOCGSTAMP = 0x8906
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user