mirror of
https://github.com/rclone/rclone
synced 2025-01-03 03:46:24 +01:00
vendor: update github.com/t3rm1n4l/go-mega and dependencies
This is to fix a crash reported in #3140
This commit is contained in:
parent
48c09608ea
commit
8f89b03d7b
13
go.mod
13
go.mod
@ -46,18 +46,19 @@ require (
|
|||||||
github.com/spf13/cobra v0.0.4-0.20190321000552-67fc4837d267
|
github.com/spf13/cobra v0.0.4-0.20190321000552-67fc4837d267
|
||||||
github.com/spf13/pflag v1.0.3
|
github.com/spf13/pflag v1.0.3
|
||||||
github.com/stretchr/testify v1.3.0
|
github.com/stretchr/testify v1.3.0
|
||||||
github.com/t3rm1n4l/go-mega v0.0.0-20190205172012-55a226cf41da
|
github.com/t3rm1n4l/go-mega v0.0.0-20190430100803-72151b53bb44
|
||||||
github.com/xanzy/ssh-agent v0.2.1
|
github.com/xanzy/ssh-agent v0.2.1
|
||||||
github.com/yunify/qingstor-sdk-go v2.2.15+incompatible
|
github.com/yunify/qingstor-sdk-go v2.2.15+incompatible
|
||||||
go.etcd.io/bbolt v1.3.2 // indirect
|
go.etcd.io/bbolt v1.3.2 // indirect
|
||||||
go.opencensus.io v0.20.2 // indirect
|
go.opencensus.io v0.20.2 // indirect
|
||||||
golang.org/x/crypto v0.0.0-20190411191339-88737f569e3a
|
golang.org/x/crypto v0.0.0-20190426145343-a29dc8fdc734
|
||||||
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3
|
golang.org/x/net v0.0.0-20190424112056-4829fb13d2c6
|
||||||
golang.org/x/oauth2 v0.0.0-20190402181905-9f3314589c9a
|
golang.org/x/oauth2 v0.0.0-20190402181905-9f3314589c9a
|
||||||
golang.org/x/sync v0.0.0-20190412183630-56d357773e84
|
golang.org/x/sync v0.0.0-20190423024810-112230192c58
|
||||||
golang.org/x/sys v0.0.0-20190412213103-97732733099d
|
golang.org/x/sys v0.0.0-20190429190828-d89cdac9e872
|
||||||
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2
|
golang.org/x/text v0.3.2
|
||||||
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4
|
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4
|
||||||
|
golang.org/x/tools v0.0.0-20190430004104-b9fed7929fc1 // indirect
|
||||||
google.golang.org/api v0.3.2
|
google.golang.org/api v0.3.2
|
||||||
google.golang.org/appengine v1.5.0 // indirect
|
google.golang.org/appengine v1.5.0 // indirect
|
||||||
google.golang.org/grpc v1.20.0 // indirect
|
google.golang.org/grpc v1.20.0 // indirect
|
||||||
|
14
go.sum
14
go.sum
@ -195,6 +195,8 @@ github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0
|
|||||||
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
|
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
|
||||||
github.com/t3rm1n4l/go-mega v0.0.0-20190205172012-55a226cf41da h1:hWHAUYEtxnj8tb2pHj5WPGEIE8leSi/3cMND8fUjsBE=
|
github.com/t3rm1n4l/go-mega v0.0.0-20190205172012-55a226cf41da h1:hWHAUYEtxnj8tb2pHj5WPGEIE8leSi/3cMND8fUjsBE=
|
||||||
github.com/t3rm1n4l/go-mega v0.0.0-20190205172012-55a226cf41da/go.mod h1:XWL4vDyd3JKmJx+hZWUVgCNmmhZ2dTBcaNDcxH465s0=
|
github.com/t3rm1n4l/go-mega v0.0.0-20190205172012-55a226cf41da/go.mod h1:XWL4vDyd3JKmJx+hZWUVgCNmmhZ2dTBcaNDcxH465s0=
|
||||||
|
github.com/t3rm1n4l/go-mega v0.0.0-20190430100803-72151b53bb44 h1:NP4ucpwRJ0wmpu2/KBu7ymYQq2qKn6/Wlqpt8zhuZrs=
|
||||||
|
github.com/t3rm1n4l/go-mega v0.0.0-20190430100803-72151b53bb44/go.mod h1:XWL4vDyd3JKmJx+hZWUVgCNmmhZ2dTBcaNDcxH465s0=
|
||||||
github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0=
|
github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0=
|
||||||
github.com/xanzy/ssh-agent v0.2.1 h1:TCbipTQL2JiiCprBWx9frJ2eJlCYT00NmctrHxVAr70=
|
github.com/xanzy/ssh-agent v0.2.1 h1:TCbipTQL2JiiCprBWx9frJ2eJlCYT00NmctrHxVAr70=
|
||||||
github.com/xanzy/ssh-agent v0.2.1/go.mod h1:mLlQY/MoOhWBj+gOGMQkOeiEvkx+8pJSI+0Bx9h2kr4=
|
github.com/xanzy/ssh-agent v0.2.1/go.mod h1:mLlQY/MoOhWBj+gOGMQkOeiEvkx+8pJSI+0Bx9h2kr4=
|
||||||
@ -214,6 +216,8 @@ golang.org/x/crypto v0.0.0-20190219172222-a4c6cb3142f2/go.mod h1:6SG95UA2DQfeDnf
|
|||||||
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
||||||
golang.org/x/crypto v0.0.0-20190411191339-88737f569e3a h1:Igim7XhdOpBnWPuYJ70XcNpq8q3BCACtVgNfoJxOV7g=
|
golang.org/x/crypto v0.0.0-20190411191339-88737f569e3a h1:Igim7XhdOpBnWPuYJ70XcNpq8q3BCACtVgNfoJxOV7g=
|
||||||
golang.org/x/crypto v0.0.0-20190411191339-88737f569e3a/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE=
|
golang.org/x/crypto v0.0.0-20190411191339-88737f569e3a/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE=
|
||||||
|
golang.org/x/crypto v0.0.0-20190426145343-a29dc8fdc734 h1:p/H982KKEjUnLJkM3tt/LemDnOc1GiZL5FCVlORJ5zo=
|
||||||
|
golang.org/x/crypto v0.0.0-20190426145343-a29dc8fdc734/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||||
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||||
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
|
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
|
||||||
golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
|
golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
|
||||||
@ -229,6 +233,8 @@ golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73r
|
|||||||
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||||
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3 h1:0GoQqolDA55aaLxZyTzK/Y2ePZzZTUrRacwib7cNsYQ=
|
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3 h1:0GoQqolDA55aaLxZyTzK/Y2ePZzZTUrRacwib7cNsYQ=
|
||||||
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||||
|
golang.org/x/net v0.0.0-20190424112056-4829fb13d2c6 h1:FP8hkuE6yUEaJnK7O2eTuejKWwW+Rhfj80dQ2JcKxCU=
|
||||||
|
golang.org/x/net v0.0.0-20190424112056-4829fb13d2c6/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||||
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
|
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
|
||||||
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
|
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
|
||||||
golang.org/x/oauth2 v0.0.0-20190402181905-9f3314589c9a h1:tImsplftrFpALCYumobsd0K86vlAs/eXGFms2txfJfA=
|
golang.org/x/oauth2 v0.0.0-20190402181905-9f3314589c9a h1:tImsplftrFpALCYumobsd0K86vlAs/eXGFms2txfJfA=
|
||||||
@ -239,6 +245,8 @@ golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJ
|
|||||||
golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
golang.org/x/sync v0.0.0-20190412183630-56d357773e84 h1:IqXQ59gzdXv58Jmm2xn0tSOR9i6HqroaOFRQ3wR/dJQ=
|
golang.org/x/sync v0.0.0-20190412183630-56d357773e84 h1:IqXQ59gzdXv58Jmm2xn0tSOR9i6HqroaOFRQ3wR/dJQ=
|
||||||
golang.org/x/sync v0.0.0-20190412183630-56d357773e84/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
golang.org/x/sync v0.0.0-20190412183630-56d357773e84/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
|
golang.org/x/sync v0.0.0-20190423024810-112230192c58 h1:8gQV6CLnAEikrhgkHFbMAEhagSSnXWGV915qUMm9mrU=
|
||||||
|
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||||
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||||
golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||||
@ -250,19 +258,25 @@ golang.org/x/sys v0.0.0-20190221075227-b4e8571b14e0/go.mod h1:STP8DvDyc/dI5b8T5h
|
|||||||
golang.org/x/sys v0.0.0-20190403152447-81d4e9dc473e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20190403152447-81d4e9dc473e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
golang.org/x/sys v0.0.0-20190412213103-97732733099d h1:+R4KGOnez64A81RvjARKc4UT5/tI9ujCIVX+P5KiHuI=
|
golang.org/x/sys v0.0.0-20190412213103-97732733099d h1:+R4KGOnez64A81RvjARKc4UT5/tI9ujCIVX+P5KiHuI=
|
||||||
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
|
golang.org/x/sys v0.0.0-20190429190828-d89cdac9e872 h1:cGjJzUd8RgBw428LXP65YXni0aiGNA4Bl+ls8SmLOm8=
|
||||||
|
golang.org/x/sys v0.0.0-20190429190828-d89cdac9e872/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
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/text v0.3.1-0.20180807135948-17ff2d5776d2 h1:z99zHgr7hKfrUcX/KsoJk5FJfjTceCKIp96+biqP4To=
|
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2 h1:z99zHgr7hKfrUcX/KsoJk5FJfjTceCKIp96+biqP4To=
|
||||||
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||||
|
golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs=
|
||||||
|
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
|
||||||
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
||||||
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4 h1:SvFZT6jyqRaOeXpc5h/JSfZenJ2O330aBsf7JfSUXmQ=
|
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4 h1:SvFZT6jyqRaOeXpc5h/JSfZenJ2O330aBsf7JfSUXmQ=
|
||||||
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
||||||
golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||||
|
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||||
golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||||
golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
|
golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
|
||||||
golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
|
golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
|
||||||
golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
|
golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
|
||||||
golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
|
golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
|
||||||
|
golang.org/x/tools v0.0.0-20190430004104-b9fed7929fc1/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
|
||||||
google.golang.org/api v0.3.1/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk=
|
google.golang.org/api v0.3.1/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk=
|
||||||
google.golang.org/api v0.3.2 h1:iTp+3yyl/KOtxa/d1/JUE0GGSoR6FuW5udver22iwpw=
|
google.golang.org/api v0.3.2 h1:iTp+3yyl/KOtxa/d1/JUE0GGSoR6FuW5udver22iwpw=
|
||||||
google.golang.org/api v0.3.2/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk=
|
google.golang.org/api v0.3.2/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk=
|
||||||
|
5
vendor/github.com/t3rm1n4l/go-mega/.travis.yml
generated
vendored
5
vendor/github.com/t3rm1n4l/go-mega/.travis.yml
generated
vendored
@ -4,9 +4,8 @@ osx_image: xcode7.3
|
|||||||
os:
|
os:
|
||||||
- linux
|
- linux
|
||||||
go:
|
go:
|
||||||
- 1.9.x
|
|
||||||
- 1.10.x
|
|
||||||
- 1.11.x
|
- 1.11.x
|
||||||
|
- 1.12.x
|
||||||
- tip
|
- tip
|
||||||
install:
|
install:
|
||||||
- make build_dep
|
- make build_dep
|
||||||
@ -19,7 +18,7 @@ matrix:
|
|||||||
- go: tip
|
- go: tip
|
||||||
include:
|
include:
|
||||||
- os: osx
|
- os: osx
|
||||||
go: "1.11.x"
|
go: "1.12.x"
|
||||||
env:
|
env:
|
||||||
global:
|
global:
|
||||||
- secure: RzsF80V1i69FVJwKSF8WrFzk5bRUKtPxRkhjiLOO0b1usFg0EIY6XFp3s/VTR6oT91LRXml3Bp7wHHrkPvGnHyUyuxj6loj3gIrsX8cZHUtjyQX/Szfi9MOJpbdJvfCcHByEh9YGldAz//9zvEo5oGuI29Luur3cv+BJNJElmHg=
|
- secure: RzsF80V1i69FVJwKSF8WrFzk5bRUKtPxRkhjiLOO0b1usFg0EIY6XFp3s/VTR6oT91LRXml3Bp7wHHrkPvGnHyUyuxj6loj3gIrsX8cZHUtjyQX/Szfi9MOJpbdJvfCcHByEh9YGldAz//9zvEo5oGuI29Luur3cv+BJNJElmHg=
|
||||||
|
285
vendor/github.com/t3rm1n4l/go-mega/mega.go
generated
vendored
285
vendor/github.com/t3rm1n4l/go-mega/mega.go
generated
vendored
@ -336,7 +336,10 @@ func newMegaFS() *MegaFS {
|
|||||||
|
|
||||||
func New() *Mega {
|
func New() *Mega {
|
||||||
max := big.NewInt(0x100000000)
|
max := big.NewInt(0x100000000)
|
||||||
bigx, _ := rand.Int(rand.Reader, max)
|
bigx, err := rand.Int(rand.Reader, max)
|
||||||
|
if err != nil {
|
||||||
|
panic(err) // this should be returned, but this is a public interface
|
||||||
|
}
|
||||||
cfg := newConfig()
|
cfg := newConfig()
|
||||||
mgfs := newMegaFS()
|
mgfs := newMegaFS()
|
||||||
m := &Mega{
|
m := &Mega{
|
||||||
@ -496,7 +499,10 @@ func (m *Mega) prelogin(email string) error {
|
|||||||
if len(res[0].Salt) == 0 {
|
if len(res[0].Salt) == 0 {
|
||||||
return errors.New("prelogin: no salt returned")
|
return errors.New("prelogin: no salt returned")
|
||||||
}
|
}
|
||||||
m.accountSalt = base64urldecode([]byte(res[0].Salt))
|
m.accountSalt, err = base64urldecode([]byte(res[0].Salt))
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
}
|
}
|
||||||
m.accountVersion = res[0].Version
|
m.accountVersion = res[0].Version
|
||||||
|
|
||||||
@ -512,8 +518,14 @@ func (m *Mega) login(email string, passwd string) error {
|
|||||||
|
|
||||||
email = strings.ToLower(email) // mega uses lowercased emails for login purposes
|
email = strings.ToLower(email) // mega uses lowercased emails for login purposes
|
||||||
|
|
||||||
passkey := password_key(passwd)
|
passkey, err := password_key(passwd)
|
||||||
uhandle := stringhash(email, passkey)
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
uhandle, err := stringhash(email, passkey)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
m.uh = make([]byte, len(uhandle))
|
m.uh = make([]byte, len(uhandle))
|
||||||
copy(m.uh, uhandle)
|
copy(m.uh, uhandle)
|
||||||
|
|
||||||
@ -536,9 +548,11 @@ func (m *Mega) login(email string, passwd string) error {
|
|||||||
msg[0].SessionKey = string(base64urlencode(sessionKey))
|
msg[0].SessionKey = string(base64urlencode(sessionKey))
|
||||||
}
|
}
|
||||||
|
|
||||||
req, _ := json.Marshal(msg)
|
req, err := json.Marshal(msg)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
result, err = m.api_request(req)
|
result, err = m.api_request(req)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@ -548,8 +562,14 @@ func (m *Mega) login(email string, passwd string) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
m.k = base64urldecode([]byte(res[0].Key))
|
m.k, err = base64urldecode([]byte(res[0].Key))
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
cipher, err := aes.NewCipher(passkey)
|
cipher, err := aes.NewCipher(passkey)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
cipher.Decrypt(m.k, m.k)
|
cipher.Decrypt(m.k, m.k)
|
||||||
m.sid, err = decryptSessionId([]byte(res[0].Privk), []byte(res[0].Csid), m.k)
|
m.sid, err = decryptSessionId([]byte(res[0].Privk), []byte(res[0].Csid), m.k)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -634,9 +654,11 @@ func (m *Mega) GetUser() (UserResp, error) {
|
|||||||
|
|
||||||
msg[0].Cmd = "ug"
|
msg[0].Cmd = "ug"
|
||||||
|
|
||||||
req, _ := json.Marshal(msg)
|
req, err := json.Marshal(msg)
|
||||||
|
if err != nil {
|
||||||
|
return res[0], err
|
||||||
|
}
|
||||||
result, err := m.api_request(req)
|
result, err := m.api_request(req)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return res[0], err
|
return res[0], err
|
||||||
}
|
}
|
||||||
@ -654,7 +676,10 @@ func (m *Mega) GetQuota() (QuotaResp, error) {
|
|||||||
msg[0].Xfer = 1
|
msg[0].Xfer = 1
|
||||||
msg[0].Strg = 1
|
msg[0].Strg = 1
|
||||||
|
|
||||||
req, _ := json.Marshal(msg)
|
req, err := json.Marshal(msg)
|
||||||
|
if err != nil {
|
||||||
|
return res[0], err
|
||||||
|
}
|
||||||
result, err := m.api_request(req)
|
result, err := m.api_request(req)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return res[0], err
|
return res[0], err
|
||||||
@ -671,7 +696,10 @@ func (m *Mega) addFSNode(itm FSNode) (*Node, error) {
|
|||||||
var node, parent *Node
|
var node, parent *Node
|
||||||
var err error
|
var err error
|
||||||
|
|
||||||
master_aes, _ := aes.NewCipher(m.k)
|
master_aes, err := aes.NewCipher(m.k)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
switch {
|
switch {
|
||||||
case itm.T == FOLDER || itm.T == FILE:
|
case itm.T == FOLDER || itm.T == FILE:
|
||||||
@ -680,43 +708,73 @@ func (m *Mega) addFSNode(itm FSNode) (*Node, error) {
|
|||||||
switch {
|
switch {
|
||||||
// File or folder owned by current user
|
// File or folder owned by current user
|
||||||
case args[0] == itm.User:
|
case args[0] == itm.User:
|
||||||
buf := base64urldecode([]byte(args[1]))
|
buf, err := base64urldecode([]byte(args[1]))
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
err = blockDecrypt(master_aes, buf, buf)
|
err = blockDecrypt(master_aes, buf, buf)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
compkey = bytes_to_a32(buf)
|
compkey, err = bytes_to_a32(buf)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
// Shared folder
|
// Shared folder
|
||||||
case itm.SUser != "" && itm.SKey != "":
|
case itm.SUser != "" && itm.SKey != "":
|
||||||
sk := base64urldecode([]byte(itm.SKey))
|
sk, err := base64urldecode([]byte(itm.SKey))
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
err = blockDecrypt(master_aes, sk, sk)
|
err = blockDecrypt(master_aes, sk, sk)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
sk_aes, _ := aes.NewCipher(sk)
|
sk_aes, err := aes.NewCipher(sk)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
m.FS.skmap[itm.Hash] = itm.SKey
|
m.FS.skmap[itm.Hash] = itm.SKey
|
||||||
buf := base64urldecode([]byte(args[1]))
|
buf, err := base64urldecode([]byte(args[1]))
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
err = blockDecrypt(sk_aes, buf, buf)
|
err = blockDecrypt(sk_aes, buf, buf)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
compkey = bytes_to_a32(buf)
|
compkey, err = bytes_to_a32(buf)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
// Shared file
|
// Shared file
|
||||||
default:
|
default:
|
||||||
k := m.FS.skmap[args[0]]
|
k := m.FS.skmap[args[0]]
|
||||||
b := base64urldecode([]byte(k))
|
b, err := base64urldecode([]byte(k))
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
err = blockDecrypt(master_aes, b, b)
|
err = blockDecrypt(master_aes, b, b)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
block, _ := aes.NewCipher(b)
|
block, err := aes.NewCipher(b)
|
||||||
buf := base64urldecode([]byte(args[1]))
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
buf, err := base64urldecode([]byte(args[1]))
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
err = blockDecrypt(block, buf, buf)
|
err = blockDecrypt(block, buf, buf)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
compkey = bytes_to_a32(buf)
|
compkey, err = bytes_to_a32(buf)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
switch {
|
switch {
|
||||||
@ -726,10 +784,16 @@ func (m *Mega) addFSNode(itm FSNode) (*Node, error) {
|
|||||||
key = compkey
|
key = compkey
|
||||||
}
|
}
|
||||||
|
|
||||||
attr, err = decryptAttr(a32_to_bytes(key), []byte(itm.Attr))
|
bkey, err := a32_to_bytes(key)
|
||||||
// FIXME:
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
// FIXME:
|
||||||
attr.Name = "BAD ATTRIBUTE"
|
attr.Name = "BAD ATTRIBUTE"
|
||||||
|
} else {
|
||||||
|
attr, err = decryptAttr(bkey, []byte(itm.Attr))
|
||||||
|
// FIXME:
|
||||||
|
if err != nil {
|
||||||
|
attr.Name = "BAD ATTRIBUTE"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -769,15 +833,33 @@ func (m *Mega) addFSNode(itm FSNode) (*Node, error) {
|
|||||||
switch {
|
switch {
|
||||||
case itm.T == FILE:
|
case itm.T == FILE:
|
||||||
var meta NodeMeta
|
var meta NodeMeta
|
||||||
meta.key = a32_to_bytes(key)
|
meta.key, err = a32_to_bytes(key)
|
||||||
meta.iv = a32_to_bytes([]uint32{compkey[4], compkey[5], 0, 0})
|
if err != nil {
|
||||||
meta.mac = a32_to_bytes([]uint32{compkey[6], compkey[7]})
|
return nil, err
|
||||||
meta.compkey = a32_to_bytes(compkey)
|
}
|
||||||
|
meta.iv, err = a32_to_bytes([]uint32{compkey[4], compkey[5], 0, 0})
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
meta.mac, err = a32_to_bytes([]uint32{compkey[6], compkey[7]})
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
meta.compkey, err = a32_to_bytes(compkey)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
node.meta = meta
|
node.meta = meta
|
||||||
case itm.T == FOLDER:
|
case itm.T == FOLDER:
|
||||||
var meta NodeMeta
|
var meta NodeMeta
|
||||||
meta.key = a32_to_bytes(key)
|
meta.key, err = a32_to_bytes(key)
|
||||||
meta.compkey = a32_to_bytes(compkey)
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
meta.compkey, err = a32_to_bytes(compkey)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
node.meta = meta
|
node.meta = meta
|
||||||
case itm.T == ROOT:
|
case itm.T == ROOT:
|
||||||
attr.Name = "Cloud Drive"
|
attr.Name = "Cloud Drive"
|
||||||
@ -814,9 +896,11 @@ func (m *Mega) getFileSystem() error {
|
|||||||
msg[0].Cmd = "f"
|
msg[0].Cmd = "f"
|
||||||
msg[0].C = 1
|
msg[0].C = 1
|
||||||
|
|
||||||
req, _ := json.Marshal(msg)
|
req, err := json.Marshal(msg)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
result, err := m.api_request(req)
|
result, err := m.api_request(req)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@ -908,9 +992,15 @@ func (m *Mega) NewDownload(src *Node) (*Download, error) {
|
|||||||
|
|
||||||
mac_enc := cipher.NewCBCEncrypter(aes_block, zero_iv)
|
mac_enc := cipher.NewCBCEncrypter(aes_block, zero_iv)
|
||||||
m.FS.mutex.Lock()
|
m.FS.mutex.Lock()
|
||||||
t := bytes_to_a32(src.meta.iv)
|
t, err := bytes_to_a32(src.meta.iv)
|
||||||
m.FS.mutex.Unlock()
|
m.FS.mutex.Unlock()
|
||||||
iv := a32_to_bytes([]uint32{t[0], t[1], t[0], t[1]})
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
iv, err := a32_to_bytes([]uint32{t[0], t[1], t[0], t[1]})
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
d := &Download{
|
d := &Download{
|
||||||
m: m,
|
m: m,
|
||||||
@ -992,10 +1082,17 @@ func (d *Download) DownloadChunk(id int) (chunk []byte, err error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Decrypt the block
|
// Decrypt the block
|
||||||
ctr_iv := bytes_to_a32(d.src.meta.iv)
|
ctr_iv, err := bytes_to_a32(d.src.meta.iv)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
ctr_iv[2] = uint32(uint64(chk_start) / 0x1000000000)
|
ctr_iv[2] = uint32(uint64(chk_start) / 0x1000000000)
|
||||||
ctr_iv[3] = uint32(chk_start / 0x10)
|
ctr_iv[3] = uint32(chk_start / 0x10)
|
||||||
ctr_aes := cipher.NewCTR(d.aes_block, a32_to_bytes(ctr_iv))
|
bctr_iv, err := a32_to_bytes(ctr_iv)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
ctr_aes := cipher.NewCTR(d.aes_block, bctr_iv)
|
||||||
ctr_aes.XORKeyStream(chunk, chunk)
|
ctr_aes.XORKeyStream(chunk, chunk)
|
||||||
|
|
||||||
// Update the chunk_macs
|
// Update the chunk_macs
|
||||||
@ -1035,8 +1132,15 @@ func (d *Download) Finish() (err error) {
|
|||||||
d.mac_enc.CryptBlocks(mac_data, v)
|
d.mac_enc.CryptBlocks(mac_data, v)
|
||||||
}
|
}
|
||||||
|
|
||||||
tmac := bytes_to_a32(mac_data)
|
tmac, err := bytes_to_a32(mac_data)
|
||||||
if bytes.Equal(a32_to_bytes([]uint32{tmac[0] ^ tmac[1], tmac[2] ^ tmac[3]}), d.src.meta.mac) == false {
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
btmac, err := a32_to_bytes([]uint32{tmac[0] ^ tmac[1], tmac[2] ^ tmac[3]})
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if bytes.Equal(btmac, d.src.meta.mac) == false {
|
||||||
return EMACMISMATCH
|
return EMACMISMATCH
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1188,12 +1292,24 @@ func (m *Mega) NewUpload(parent *Node, name string, fileSize int64) (*Upload, er
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
kbytes := a32_to_bytes(ukey[:4])
|
kbytes, err := a32_to_bytes(ukey[:4])
|
||||||
kiv := a32_to_bytes([]uint32{ukey[4], ukey[5], 0, 0})
|
if err != nil {
|
||||||
aes_block, _ := aes.NewCipher(kbytes)
|
return nil, err
|
||||||
|
}
|
||||||
|
kiv, err := a32_to_bytes([]uint32{ukey[4], ukey[5], 0, 0})
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
aes_block, err := aes.NewCipher(kbytes)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
mac_enc := cipher.NewCBCEncrypter(aes_block, zero_iv)
|
mac_enc := cipher.NewCBCEncrypter(aes_block, zero_iv)
|
||||||
iv := a32_to_bytes([]uint32{ukey[4], ukey[5], ukey[4], ukey[5]})
|
iv, err := a32_to_bytes([]uint32{ukey[4], ukey[5], ukey[4], ukey[5]})
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
chunks := getChunkSizes(fileSize)
|
chunks := getChunkSizes(fileSize)
|
||||||
|
|
||||||
@ -1243,10 +1359,17 @@ func (u *Upload) UploadChunk(id int, chunk []byte) (err error) {
|
|||||||
if len(chunk) != chk_size {
|
if len(chunk) != chk_size {
|
||||||
return errors.New("upload chunk is wrong size")
|
return errors.New("upload chunk is wrong size")
|
||||||
}
|
}
|
||||||
ctr_iv := bytes_to_a32(u.kiv)
|
ctr_iv, err := bytes_to_a32(u.kiv)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
ctr_iv[2] = uint32(uint64(chk_start) / 0x1000000000)
|
ctr_iv[2] = uint32(uint64(chk_start) / 0x1000000000)
|
||||||
ctr_iv[3] = uint32(chk_start / 0x10)
|
ctr_iv[3] = uint32(chk_start / 0x10)
|
||||||
ctr_aes := cipher.NewCTR(u.aes_block, a32_to_bytes(ctr_iv))
|
bctr_iv, err := a32_to_bytes(ctr_iv)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
ctr_aes := cipher.NewCTR(u.aes_block, bctr_iv)
|
||||||
|
|
||||||
enc := cipher.NewCBCEncrypter(u.aes_block, u.iv)
|
enc := cipher.NewCBCEncrypter(u.aes_block, u.iv)
|
||||||
|
|
||||||
@ -1324,7 +1447,10 @@ func (u *Upload) Finish() (node *Node, err error) {
|
|||||||
u.mac_enc.CryptBlocks(mac_data, v)
|
u.mac_enc.CryptBlocks(mac_data, v)
|
||||||
}
|
}
|
||||||
|
|
||||||
t := bytes_to_a32(mac_data)
|
t, err := bytes_to_a32(mac_data)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
meta_mac := []uint32{t[0] ^ t[1], t[2] ^ t[3]}
|
meta_mac := []uint32{t[0] ^ t[1], t[2] ^ t[3]}
|
||||||
|
|
||||||
attr := FileAttr{u.name}
|
attr := FileAttr{u.name}
|
||||||
@ -1338,7 +1464,10 @@ func (u *Upload) Finish() (node *Node, err error) {
|
|||||||
u.ukey[2] ^ meta_mac[0], u.ukey[3] ^ meta_mac[1],
|
u.ukey[2] ^ meta_mac[0], u.ukey[3] ^ meta_mac[1],
|
||||||
u.ukey[4], u.ukey[5], meta_mac[0], meta_mac[1]}
|
u.ukey[4], u.ukey[5], meta_mac[0], meta_mac[1]}
|
||||||
|
|
||||||
buf := a32_to_bytes(key)
|
buf, err := a32_to_bytes(key)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
master_aes, err := aes.NewCipher(u.m.k)
|
master_aes, err := aes.NewCipher(u.m.k)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
@ -1488,9 +1617,11 @@ func (m *Mega) Move(src *Node, parent *Node) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
request, _ := json.Marshal(msg)
|
request, err := json.Marshal(msg)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
_, err = m.api_request(request)
|
_, err = m.api_request(request)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@ -1515,11 +1646,17 @@ func (m *Mega) Rename(src *Node, name string) error {
|
|||||||
}
|
}
|
||||||
var msg [1]FileAttrMsg
|
var msg [1]FileAttrMsg
|
||||||
|
|
||||||
master_aes, _ := aes.NewCipher(m.k)
|
master_aes, err := aes.NewCipher(m.k)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
attr := FileAttr{name}
|
attr := FileAttr{name}
|
||||||
attr_data, _ := encryptAttr(src.meta.key, attr)
|
attr_data, err := encryptAttr(src.meta.key, attr)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
key := make([]byte, len(src.meta.compkey))
|
key := make([]byte, len(src.meta.compkey))
|
||||||
err := blockEncrypt(master_aes, key, src.meta.compkey)
|
err = blockEncrypt(master_aes, key, src.meta.compkey)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@ -1533,12 +1670,18 @@ func (m *Mega) Rename(src *Node, name string) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
req, _ := json.Marshal(msg)
|
req, err := json.Marshal(msg)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
_, err = m.api_request(req)
|
_, err = m.api_request(req)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
src.name = name
|
src.name = name
|
||||||
|
|
||||||
return err
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create a directory in the filesystem
|
// Create a directory in the filesystem
|
||||||
@ -1557,12 +1700,21 @@ func (m *Mega) CreateDir(name string, parent *Node) (*Node, error) {
|
|||||||
compkey[i] = uint32(mrand.Int31())
|
compkey[i] = uint32(mrand.Int31())
|
||||||
}
|
}
|
||||||
|
|
||||||
master_aes, _ := aes.NewCipher(m.k)
|
master_aes, err := aes.NewCipher(m.k)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
attr := FileAttr{name}
|
attr := FileAttr{name}
|
||||||
ukey := a32_to_bytes(compkey[:4])
|
ukey, err := a32_to_bytes(compkey[:4])
|
||||||
attr_data, _ := encryptAttr(ukey, attr)
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
attr_data, err := encryptAttr(ukey, attr)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
key := make([]byte, len(ukey))
|
key := make([]byte, len(ukey))
|
||||||
err := blockEncrypt(master_aes, key, ukey)
|
err = blockEncrypt(master_aes, key, ukey)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@ -1578,7 +1730,10 @@ func (m *Mega) CreateDir(name string, parent *Node) (*Node, error) {
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
req, _ := json.Marshal(msg)
|
req, err := json.Marshal(msg)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
result, err := m.api_request(req)
|
result, err := m.api_request(req)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
@ -1614,14 +1769,20 @@ func (m *Mega) Delete(node *Node, destroy bool) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
req, _ := json.Marshal(msg)
|
req, err := json.Marshal(msg)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
_, err = m.api_request(req)
|
_, err = m.api_request(req)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
parent := m.FS.lookup[node.hash]
|
parent := m.FS.lookup[node.hash]
|
||||||
parent.removeChild(node)
|
parent.removeChild(node)
|
||||||
delete(m.FS.lookup, node.hash)
|
delete(m.FS.lookup, node.hash)
|
||||||
|
|
||||||
return err
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// process an add node event
|
// process an add node event
|
||||||
@ -1830,9 +1991,11 @@ func (m *Mega) getLink(n *Node) (string, error) {
|
|||||||
msg[0].Cmd = "l"
|
msg[0].Cmd = "l"
|
||||||
msg[0].N = n.GetHash()
|
msg[0].N = n.GetHash()
|
||||||
|
|
||||||
req, _ := json.Marshal(msg)
|
req, err := json.Marshal(msg)
|
||||||
|
if err != nil {
|
||||||
|
return "", err
|
||||||
|
}
|
||||||
result, err := m.api_request(req)
|
result, err := m.api_request(req)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
|
121
vendor/github.com/t3rm1n4l/go-mega/utils.go
generated
vendored
121
vendor/github.com/t3rm1n4l/go-mega/utils.go
generated
vendored
@ -37,27 +37,33 @@ func newHttpClient(timeout time.Duration) *http.Client {
|
|||||||
|
|
||||||
// bytes_to_a32 converts the byte slice b to uint32 slice considering
|
// bytes_to_a32 converts the byte slice b to uint32 slice considering
|
||||||
// the bytes to be in big endian order.
|
// the bytes to be in big endian order.
|
||||||
func bytes_to_a32(b []byte) []uint32 {
|
func bytes_to_a32(b []byte) ([]uint32, error) {
|
||||||
length := len(b) + 3
|
length := len(b) + 3
|
||||||
a := make([]uint32, length/4)
|
a := make([]uint32, length/4)
|
||||||
buf := bytes.NewBuffer(b)
|
buf := bytes.NewBuffer(b)
|
||||||
for i, _ := range a {
|
for i, _ := range a {
|
||||||
_ = binary.Read(buf, binary.BigEndian, &a[i])
|
err := binary.Read(buf, binary.BigEndian, &a[i])
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return a
|
return a, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// a32_to_bytes converts the uint32 slice a to byte slice where each
|
// a32_to_bytes converts the uint32 slice a to byte slice where each
|
||||||
// uint32 is decoded in big endian order.
|
// uint32 is decoded in big endian order.
|
||||||
func a32_to_bytes(a []uint32) []byte {
|
func a32_to_bytes(a []uint32) ([]byte, error) {
|
||||||
buf := new(bytes.Buffer)
|
buf := new(bytes.Buffer)
|
||||||
buf.Grow(len(a) * 4) // To prevent reallocations in Write
|
buf.Grow(len(a) * 4) // To prevent reallocations in Write
|
||||||
for _, v := range a {
|
for _, v := range a {
|
||||||
_ = binary.Write(buf, binary.BigEndian, v)
|
err := binary.Write(buf, binary.BigEndian, v)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return buf.Bytes()
|
return buf.Bytes(), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// base64urlencode encodes byte slice b using base64 url encoding.
|
// base64urlencode encodes byte slice b using base64 url encoding.
|
||||||
@ -79,7 +85,7 @@ func base64urlencode(b []byte) []byte {
|
|||||||
|
|
||||||
// base64urldecode decodes the byte slice b using base64 url decoding.
|
// base64urldecode decodes the byte slice b using base64 url decoding.
|
||||||
// It adds required '=' padding before decoding.
|
// It adds required '=' padding before decoding.
|
||||||
func base64urldecode(b []byte) []byte {
|
func base64urldecode(b []byte) ([]byte, error) {
|
||||||
enc := base64.URLEncoding
|
enc := base64.URLEncoding
|
||||||
padSize := 4 - len(b)%4
|
padSize := 4 - len(b)%4
|
||||||
|
|
||||||
@ -92,18 +98,29 @@ func base64urldecode(b []byte) []byte {
|
|||||||
|
|
||||||
decSize := enc.DecodedLen(len(b))
|
decSize := enc.DecodedLen(len(b))
|
||||||
buf := make([]byte, decSize)
|
buf := make([]byte, decSize)
|
||||||
n, _ := enc.Decode(buf, b)
|
n, err := enc.Decode(buf, b)
|
||||||
return buf[:n]
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return buf[:n], err
|
||||||
}
|
}
|
||||||
|
|
||||||
// base64_to_a32 converts base64 encoded byte slice b to uint32 slice.
|
// base64_to_a32 converts base64 encoded byte slice b to uint32 slice.
|
||||||
func base64_to_a32(b []byte) []uint32 {
|
func base64_to_a32(b []byte) ([]uint32, error) {
|
||||||
return bytes_to_a32(base64urldecode(b))
|
d, err := base64urldecode(b)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return bytes_to_a32(d)
|
||||||
}
|
}
|
||||||
|
|
||||||
// a32_to_base64 converts uint32 slice to base64 encoded byte slice.
|
// a32_to_base64 converts uint32 slice to base64 encoded byte slice.
|
||||||
func a32_to_base64(a []uint32) []byte {
|
func a32_to_base64(a []uint32) ([]byte, error) {
|
||||||
return base64urlencode(a32_to_bytes(a))
|
d, err := a32_to_bytes(a)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return base64urlencode(d), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// paddnull pads byte slice b such that the size of resulting byte
|
// paddnull pads byte slice b such that the size of resulting byte
|
||||||
@ -121,10 +138,16 @@ func paddnull(b []byte, q int) []byte {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// password_key calculates password hash from the user password.
|
// password_key calculates password hash from the user password.
|
||||||
func password_key(p string) []byte {
|
func password_key(p string) ([]byte, error) {
|
||||||
a := bytes_to_a32(paddnull([]byte(p), 4))
|
a, err := bytes_to_a32(paddnull([]byte(p), 4))
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
pkey := a32_to_bytes([]uint32{0x93C467E3, 0x7DB0C7A4, 0xD1BE3F81, 0x0152CB56})
|
pkey, err := a32_to_bytes([]uint32{0x93C467E3, 0x7DB0C7A4, 0xD1BE3F81, 0x0152CB56})
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
n := (len(a) + 3) / 4
|
n := (len(a) + 3) / 4
|
||||||
|
|
||||||
@ -137,7 +160,14 @@ func password_key(p string) []byte {
|
|||||||
key[k] = a[k+j]
|
key[k] = a[k+j]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ciphers[j/4], _ = aes.NewCipher(a32_to_bytes(key)) // Uses AES in ECB mode
|
bkey, err := a32_to_bytes(key)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
ciphers[j/4], err = aes.NewCipher(bkey) // Uses AES in ECB mode
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for i := 65536; i > 0; i-- {
|
for i := 65536; i > 0; i-- {
|
||||||
@ -146,24 +176,36 @@ func password_key(p string) []byte {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return pkey
|
return pkey, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// stringhash computes generic string hash. Uses k as the key for AES
|
// stringhash computes generic string hash. Uses k as the key for AES
|
||||||
// cipher.
|
// cipher.
|
||||||
func stringhash(s string, k []byte) []byte {
|
func stringhash(s string, k []byte) ([]byte, error) {
|
||||||
a := bytes_to_a32(paddnull([]byte(s), 4))
|
a, err := bytes_to_a32(paddnull([]byte(s), 4))
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
h := []uint32{0, 0, 0, 0}
|
h := []uint32{0, 0, 0, 0}
|
||||||
for i, v := range a {
|
for i, v := range a {
|
||||||
h[i&3] ^= v
|
h[i&3] ^= v
|
||||||
}
|
}
|
||||||
|
|
||||||
hb := a32_to_bytes(h)
|
hb, err := a32_to_bytes(h)
|
||||||
cipher, _ := aes.NewCipher(k)
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
cipher, err := aes.NewCipher(k)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
for i := 16384; i > 0; i-- {
|
for i := 16384; i > 0; i-- {
|
||||||
cipher.Encrypt(hb, hb)
|
cipher.Encrypt(hb, hb)
|
||||||
}
|
}
|
||||||
ha := bytes_to_a32(paddnull(hb, 4))
|
ha, err := bytes_to_a32(paddnull(hb, 4))
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
return a32_to_base64([]uint32{ha[0], ha[2]})
|
return a32_to_base64([]uint32{ha[0], ha[2]})
|
||||||
}
|
}
|
||||||
@ -232,14 +274,23 @@ func blockEncrypt(blk cipher.Block, dst, src []byte) error {
|
|||||||
// key.
|
// key.
|
||||||
func decryptSessionId(privk []byte, csid []byte, mk []byte) ([]byte, error) {
|
func decryptSessionId(privk []byte, csid []byte, mk []byte) ([]byte, error) {
|
||||||
|
|
||||||
block, _ := aes.NewCipher(mk)
|
block, err := aes.NewCipher(mk)
|
||||||
pk := base64urldecode(privk)
|
if err != nil {
|
||||||
err := blockDecrypt(block, pk, pk)
|
return nil, err
|
||||||
|
}
|
||||||
|
pk, err := base64urldecode(privk)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = blockDecrypt(block, pk, pk)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
c := base64urldecode(csid)
|
c, err := base64urldecode(csid)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
m, _ := getMPI(c)
|
m, _ := getMPI(c)
|
||||||
|
|
||||||
@ -283,10 +334,17 @@ func decryptAttr(key []byte, data []byte) (attr FileAttr, err error) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return attr, err
|
return attr, err
|
||||||
}
|
}
|
||||||
iv := a32_to_bytes([]uint32{0, 0, 0, 0})
|
iv, err := a32_to_bytes([]uint32{0, 0, 0, 0})
|
||||||
|
if err != nil {
|
||||||
|
return attr, err
|
||||||
|
}
|
||||||
mode := cipher.NewCBCDecrypter(block, iv)
|
mode := cipher.NewCBCDecrypter(block, iv)
|
||||||
buf := make([]byte, len(data))
|
buf := make([]byte, len(data))
|
||||||
mode.CryptBlocks(buf, base64urldecode([]byte(data)))
|
ddata, err := base64urldecode([]byte(data))
|
||||||
|
if err != nil {
|
||||||
|
return attr, err
|
||||||
|
}
|
||||||
|
mode.CryptBlocks(buf, ddata)
|
||||||
|
|
||||||
if string(buf[:4]) == "MEGA" {
|
if string(buf[:4]) == "MEGA" {
|
||||||
str := strings.TrimRight(string(buf[4:]), "\x00")
|
str := strings.TrimRight(string(buf[4:]), "\x00")
|
||||||
@ -313,7 +371,10 @@ func encryptAttr(key []byte, attr FileAttr) (b []byte, err error) {
|
|||||||
attrib = append(attrib, data...)
|
attrib = append(attrib, data...)
|
||||||
attrib = paddnull(attrib, 16)
|
attrib = paddnull(attrib, 16)
|
||||||
|
|
||||||
iv := a32_to_bytes([]uint32{0, 0, 0, 0})
|
iv, err := a32_to_bytes([]uint32{0, 0, 0, 0})
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
mode := cipher.NewCBCEncrypter(block, iv)
|
mode := cipher.NewCBCEncrypter(block, iv)
|
||||||
mode.CryptBlocks(attrib, attrib)
|
mode.CryptBlocks(attrib, attrib)
|
||||||
|
|
||||||
|
90
vendor/golang.org/x/crypto/curve25519/ladderstep_amd64.s
generated
vendored
90
vendor/golang.org/x/crypto/curve25519/ladderstep_amd64.s
generated
vendored
@ -121,18 +121,18 @@ TEXT ·ladderstep(SB),0,$296-8
|
|||||||
ADDQ AX,R12
|
ADDQ AX,R12
|
||||||
ADCQ DX,R13
|
ADCQ DX,R13
|
||||||
MOVQ $REDMASK51,DX
|
MOVQ $REDMASK51,DX
|
||||||
SHLQ $13,CX:SI
|
SHLQ $13,SI,CX
|
||||||
ANDQ DX,SI
|
ANDQ DX,SI
|
||||||
SHLQ $13,R9:R8
|
SHLQ $13,R8,R9
|
||||||
ANDQ DX,R8
|
ANDQ DX,R8
|
||||||
ADDQ CX,R8
|
ADDQ CX,R8
|
||||||
SHLQ $13,R11:R10
|
SHLQ $13,R10,R11
|
||||||
ANDQ DX,R10
|
ANDQ DX,R10
|
||||||
ADDQ R9,R10
|
ADDQ R9,R10
|
||||||
SHLQ $13,R13:R12
|
SHLQ $13,R12,R13
|
||||||
ANDQ DX,R12
|
ANDQ DX,R12
|
||||||
ADDQ R11,R12
|
ADDQ R11,R12
|
||||||
SHLQ $13,R15:R14
|
SHLQ $13,R14,R15
|
||||||
ANDQ DX,R14
|
ANDQ DX,R14
|
||||||
ADDQ R13,R14
|
ADDQ R13,R14
|
||||||
IMUL3Q $19,R15,CX
|
IMUL3Q $19,R15,CX
|
||||||
@ -236,18 +236,18 @@ TEXT ·ladderstep(SB),0,$296-8
|
|||||||
ADDQ AX,R12
|
ADDQ AX,R12
|
||||||
ADCQ DX,R13
|
ADCQ DX,R13
|
||||||
MOVQ $REDMASK51,DX
|
MOVQ $REDMASK51,DX
|
||||||
SHLQ $13,CX:SI
|
SHLQ $13,SI,CX
|
||||||
ANDQ DX,SI
|
ANDQ DX,SI
|
||||||
SHLQ $13,R9:R8
|
SHLQ $13,R8,R9
|
||||||
ANDQ DX,R8
|
ANDQ DX,R8
|
||||||
ADDQ CX,R8
|
ADDQ CX,R8
|
||||||
SHLQ $13,R11:R10
|
SHLQ $13,R10,R11
|
||||||
ANDQ DX,R10
|
ANDQ DX,R10
|
||||||
ADDQ R9,R10
|
ADDQ R9,R10
|
||||||
SHLQ $13,R13:R12
|
SHLQ $13,R12,R13
|
||||||
ANDQ DX,R12
|
ANDQ DX,R12
|
||||||
ADDQ R11,R12
|
ADDQ R11,R12
|
||||||
SHLQ $13,R15:R14
|
SHLQ $13,R14,R15
|
||||||
ANDQ DX,R14
|
ANDQ DX,R14
|
||||||
ADDQ R13,R14
|
ADDQ R13,R14
|
||||||
IMUL3Q $19,R15,CX
|
IMUL3Q $19,R15,CX
|
||||||
@ -441,18 +441,18 @@ TEXT ·ladderstep(SB),0,$296-8
|
|||||||
ADDQ AX,R12
|
ADDQ AX,R12
|
||||||
ADCQ DX,R13
|
ADCQ DX,R13
|
||||||
MOVQ $REDMASK51,DX
|
MOVQ $REDMASK51,DX
|
||||||
SHLQ $13,CX:SI
|
SHLQ $13,SI,CX
|
||||||
ANDQ DX,SI
|
ANDQ DX,SI
|
||||||
SHLQ $13,R9:R8
|
SHLQ $13,R8,R9
|
||||||
ANDQ DX,R8
|
ANDQ DX,R8
|
||||||
ADDQ CX,R8
|
ADDQ CX,R8
|
||||||
SHLQ $13,R11:R10
|
SHLQ $13,R10,R11
|
||||||
ANDQ DX,R10
|
ANDQ DX,R10
|
||||||
ADDQ R9,R10
|
ADDQ R9,R10
|
||||||
SHLQ $13,R13:R12
|
SHLQ $13,R12,R13
|
||||||
ANDQ DX,R12
|
ANDQ DX,R12
|
||||||
ADDQ R11,R12
|
ADDQ R11,R12
|
||||||
SHLQ $13,R15:R14
|
SHLQ $13,R14,R15
|
||||||
ANDQ DX,R14
|
ANDQ DX,R14
|
||||||
ADDQ R13,R14
|
ADDQ R13,R14
|
||||||
IMUL3Q $19,R15,CX
|
IMUL3Q $19,R15,CX
|
||||||
@ -591,18 +591,18 @@ TEXT ·ladderstep(SB),0,$296-8
|
|||||||
ADDQ AX,R12
|
ADDQ AX,R12
|
||||||
ADCQ DX,R13
|
ADCQ DX,R13
|
||||||
MOVQ $REDMASK51,DX
|
MOVQ $REDMASK51,DX
|
||||||
SHLQ $13,CX:SI
|
SHLQ $13,SI,CX
|
||||||
ANDQ DX,SI
|
ANDQ DX,SI
|
||||||
SHLQ $13,R9:R8
|
SHLQ $13,R8,R9
|
||||||
ANDQ DX,R8
|
ANDQ DX,R8
|
||||||
ADDQ CX,R8
|
ADDQ CX,R8
|
||||||
SHLQ $13,R11:R10
|
SHLQ $13,R10,R11
|
||||||
ANDQ DX,R10
|
ANDQ DX,R10
|
||||||
ADDQ R9,R10
|
ADDQ R9,R10
|
||||||
SHLQ $13,R13:R12
|
SHLQ $13,R12,R13
|
||||||
ANDQ DX,R12
|
ANDQ DX,R12
|
||||||
ADDQ R11,R12
|
ADDQ R11,R12
|
||||||
SHLQ $13,R15:R14
|
SHLQ $13,R14,R15
|
||||||
ANDQ DX,R14
|
ANDQ DX,R14
|
||||||
ADDQ R13,R14
|
ADDQ R13,R14
|
||||||
IMUL3Q $19,R15,CX
|
IMUL3Q $19,R15,CX
|
||||||
@ -731,18 +731,18 @@ TEXT ·ladderstep(SB),0,$296-8
|
|||||||
ADDQ AX,R12
|
ADDQ AX,R12
|
||||||
ADCQ DX,R13
|
ADCQ DX,R13
|
||||||
MOVQ $REDMASK51,DX
|
MOVQ $REDMASK51,DX
|
||||||
SHLQ $13,CX:SI
|
SHLQ $13,SI,CX
|
||||||
ANDQ DX,SI
|
ANDQ DX,SI
|
||||||
SHLQ $13,R9:R8
|
SHLQ $13,R8,R9
|
||||||
ANDQ DX,R8
|
ANDQ DX,R8
|
||||||
ADDQ CX,R8
|
ADDQ CX,R8
|
||||||
SHLQ $13,R11:R10
|
SHLQ $13,R10,R11
|
||||||
ANDQ DX,R10
|
ANDQ DX,R10
|
||||||
ADDQ R9,R10
|
ADDQ R9,R10
|
||||||
SHLQ $13,R13:R12
|
SHLQ $13,R12,R13
|
||||||
ANDQ DX,R12
|
ANDQ DX,R12
|
||||||
ADDQ R11,R12
|
ADDQ R11,R12
|
||||||
SHLQ $13,R15:R14
|
SHLQ $13,R14,R15
|
||||||
ANDQ DX,R14
|
ANDQ DX,R14
|
||||||
ADDQ R13,R14
|
ADDQ R13,R14
|
||||||
IMUL3Q $19,R15,CX
|
IMUL3Q $19,R15,CX
|
||||||
@ -846,18 +846,18 @@ TEXT ·ladderstep(SB),0,$296-8
|
|||||||
ADDQ AX,R12
|
ADDQ AX,R12
|
||||||
ADCQ DX,R13
|
ADCQ DX,R13
|
||||||
MOVQ $REDMASK51,DX
|
MOVQ $REDMASK51,DX
|
||||||
SHLQ $13,CX:SI
|
SHLQ $13,SI,CX
|
||||||
ANDQ DX,SI
|
ANDQ DX,SI
|
||||||
SHLQ $13,R9:R8
|
SHLQ $13,R8,R9
|
||||||
ANDQ DX,R8
|
ANDQ DX,R8
|
||||||
ADDQ CX,R8
|
ADDQ CX,R8
|
||||||
SHLQ $13,R11:R10
|
SHLQ $13,R10,R11
|
||||||
ANDQ DX,R10
|
ANDQ DX,R10
|
||||||
ADDQ R9,R10
|
ADDQ R9,R10
|
||||||
SHLQ $13,R13:R12
|
SHLQ $13,R12,R13
|
||||||
ANDQ DX,R12
|
ANDQ DX,R12
|
||||||
ADDQ R11,R12
|
ADDQ R11,R12
|
||||||
SHLQ $13,R15:R14
|
SHLQ $13,R14,R15
|
||||||
ANDQ DX,R14
|
ANDQ DX,R14
|
||||||
ADDQ R13,R14
|
ADDQ R13,R14
|
||||||
IMUL3Q $19,R15,CX
|
IMUL3Q $19,R15,CX
|
||||||
@ -996,18 +996,18 @@ TEXT ·ladderstep(SB),0,$296-8
|
|||||||
ADDQ AX,R12
|
ADDQ AX,R12
|
||||||
ADCQ DX,R13
|
ADCQ DX,R13
|
||||||
MOVQ $REDMASK51,DX
|
MOVQ $REDMASK51,DX
|
||||||
SHLQ $13,CX:SI
|
SHLQ $13,SI,CX
|
||||||
ANDQ DX,SI
|
ANDQ DX,SI
|
||||||
SHLQ $13,R9:R8
|
SHLQ $13,R8,R9
|
||||||
ANDQ DX,R8
|
ANDQ DX,R8
|
||||||
ADDQ CX,R8
|
ADDQ CX,R8
|
||||||
SHLQ $13,R11:R10
|
SHLQ $13,R10,R11
|
||||||
ANDQ DX,R10
|
ANDQ DX,R10
|
||||||
ADDQ R9,R10
|
ADDQ R9,R10
|
||||||
SHLQ $13,R13:R12
|
SHLQ $13,R12,R13
|
||||||
ANDQ DX,R12
|
ANDQ DX,R12
|
||||||
ADDQ R11,R12
|
ADDQ R11,R12
|
||||||
SHLQ $13,R15:R14
|
SHLQ $13,R14,R15
|
||||||
ANDQ DX,R14
|
ANDQ DX,R14
|
||||||
ADDQ R13,R14
|
ADDQ R13,R14
|
||||||
IMUL3Q $19,R15,CX
|
IMUL3Q $19,R15,CX
|
||||||
@ -1146,18 +1146,18 @@ TEXT ·ladderstep(SB),0,$296-8
|
|||||||
ADDQ AX,R12
|
ADDQ AX,R12
|
||||||
ADCQ DX,R13
|
ADCQ DX,R13
|
||||||
MOVQ $REDMASK51,DX
|
MOVQ $REDMASK51,DX
|
||||||
SHLQ $13,CX:SI
|
SHLQ $13,SI,CX
|
||||||
ANDQ DX,SI
|
ANDQ DX,SI
|
||||||
SHLQ $13,R9:R8
|
SHLQ $13,R8,R9
|
||||||
ANDQ DX,R8
|
ANDQ DX,R8
|
||||||
ADDQ CX,R8
|
ADDQ CX,R8
|
||||||
SHLQ $13,R11:R10
|
SHLQ $13,R10,R11
|
||||||
ANDQ DX,R10
|
ANDQ DX,R10
|
||||||
ADDQ R9,R10
|
ADDQ R9,R10
|
||||||
SHLQ $13,R13:R12
|
SHLQ $13,R12,R13
|
||||||
ANDQ DX,R12
|
ANDQ DX,R12
|
||||||
ADDQ R11,R12
|
ADDQ R11,R12
|
||||||
SHLQ $13,R15:R14
|
SHLQ $13,R14,R15
|
||||||
ANDQ DX,R14
|
ANDQ DX,R14
|
||||||
ADDQ R13,R14
|
ADDQ R13,R14
|
||||||
IMUL3Q $19,R15,CX
|
IMUL3Q $19,R15,CX
|
||||||
@ -1332,18 +1332,18 @@ TEXT ·ladderstep(SB),0,$296-8
|
|||||||
ADDQ AX,R12
|
ADDQ AX,R12
|
||||||
ADCQ DX,R13
|
ADCQ DX,R13
|
||||||
MOVQ $REDMASK51,DX
|
MOVQ $REDMASK51,DX
|
||||||
SHLQ $13,CX:SI
|
SHLQ $13,SI,CX
|
||||||
ANDQ DX,SI
|
ANDQ DX,SI
|
||||||
SHLQ $13,R9:R8
|
SHLQ $13,R8,R9
|
||||||
ANDQ DX,R8
|
ANDQ DX,R8
|
||||||
ADDQ CX,R8
|
ADDQ CX,R8
|
||||||
SHLQ $13,R11:R10
|
SHLQ $13,R10,R11
|
||||||
ANDQ DX,R10
|
ANDQ DX,R10
|
||||||
ADDQ R9,R10
|
ADDQ R9,R10
|
||||||
SHLQ $13,R13:R12
|
SHLQ $13,R12,R13
|
||||||
ANDQ DX,R12
|
ANDQ DX,R12
|
||||||
ADDQ R11,R12
|
ADDQ R11,R12
|
||||||
SHLQ $13,R15:R14
|
SHLQ $13,R14,R15
|
||||||
ANDQ DX,R14
|
ANDQ DX,R14
|
||||||
ADDQ R13,R14
|
ADDQ R13,R14
|
||||||
IMUL3Q $19,R15,CX
|
IMUL3Q $19,R15,CX
|
||||||
|
10
vendor/golang.org/x/crypto/curve25519/mul_amd64.s
generated
vendored
10
vendor/golang.org/x/crypto/curve25519/mul_amd64.s
generated
vendored
@ -124,18 +124,18 @@ TEXT ·mul(SB),0,$16-24
|
|||||||
ADDQ AX,R14
|
ADDQ AX,R14
|
||||||
ADCQ DX,R15
|
ADCQ DX,R15
|
||||||
MOVQ $REDMASK51,SI
|
MOVQ $REDMASK51,SI
|
||||||
SHLQ $13,R9:R8
|
SHLQ $13,R8,R9
|
||||||
ANDQ SI,R8
|
ANDQ SI,R8
|
||||||
SHLQ $13,R11:R10
|
SHLQ $13,R10,R11
|
||||||
ANDQ SI,R10
|
ANDQ SI,R10
|
||||||
ADDQ R9,R10
|
ADDQ R9,R10
|
||||||
SHLQ $13,R13:R12
|
SHLQ $13,R12,R13
|
||||||
ANDQ SI,R12
|
ANDQ SI,R12
|
||||||
ADDQ R11,R12
|
ADDQ R11,R12
|
||||||
SHLQ $13,R15:R14
|
SHLQ $13,R14,R15
|
||||||
ANDQ SI,R14
|
ANDQ SI,R14
|
||||||
ADDQ R13,R14
|
ADDQ R13,R14
|
||||||
SHLQ $13,BP:BX
|
SHLQ $13,BX,BP
|
||||||
ANDQ SI,BX
|
ANDQ SI,BX
|
||||||
ADDQ R15,BX
|
ADDQ R15,BX
|
||||||
IMUL3Q $19,BP,DX
|
IMUL3Q $19,BP,DX
|
||||||
|
10
vendor/golang.org/x/crypto/curve25519/square_amd64.s
generated
vendored
10
vendor/golang.org/x/crypto/curve25519/square_amd64.s
generated
vendored
@ -87,18 +87,18 @@ TEXT ·square(SB),7,$0-16
|
|||||||
ADDQ AX,R13
|
ADDQ AX,R13
|
||||||
ADCQ DX,R14
|
ADCQ DX,R14
|
||||||
MOVQ $REDMASK51,SI
|
MOVQ $REDMASK51,SI
|
||||||
SHLQ $13,R8:CX
|
SHLQ $13,CX,R8
|
||||||
ANDQ SI,CX
|
ANDQ SI,CX
|
||||||
SHLQ $13,R10:R9
|
SHLQ $13,R9,R10
|
||||||
ANDQ SI,R9
|
ANDQ SI,R9
|
||||||
ADDQ R8,R9
|
ADDQ R8,R9
|
||||||
SHLQ $13,R12:R11
|
SHLQ $13,R11,R12
|
||||||
ANDQ SI,R11
|
ANDQ SI,R11
|
||||||
ADDQ R10,R11
|
ADDQ R10,R11
|
||||||
SHLQ $13,R14:R13
|
SHLQ $13,R13,R14
|
||||||
ANDQ SI,R13
|
ANDQ SI,R13
|
||||||
ADDQ R12,R13
|
ADDQ R12,R13
|
||||||
SHLQ $13,BX:R15
|
SHLQ $13,R15,BX
|
||||||
ANDQ SI,R15
|
ANDQ SI,R15
|
||||||
ADDQ R14,R15
|
ADDQ R14,R15
|
||||||
IMUL3Q $19,BX,DX
|
IMUL3Q $19,BX,DX
|
||||||
|
97
vendor/golang.org/x/crypto/scrypt/scrypt.go
generated
vendored
97
vendor/golang.org/x/crypto/scrypt/scrypt.go
generated
vendored
@ -10,6 +10,7 @@ package scrypt // import "golang.org/x/crypto/scrypt"
|
|||||||
import (
|
import (
|
||||||
"crypto/sha256"
|
"crypto/sha256"
|
||||||
"errors"
|
"errors"
|
||||||
|
"math/bits"
|
||||||
|
|
||||||
"golang.org/x/crypto/pbkdf2"
|
"golang.org/x/crypto/pbkdf2"
|
||||||
)
|
)
|
||||||
@ -52,77 +53,45 @@ func salsaXOR(tmp *[16]uint32, in, out []uint32) {
|
|||||||
x9, x10, x11, x12, x13, x14, x15 := w9, w10, w11, w12, w13, w14, w15
|
x9, x10, x11, x12, x13, x14, x15 := w9, w10, w11, w12, w13, w14, w15
|
||||||
|
|
||||||
for i := 0; i < 8; i += 2 {
|
for i := 0; i < 8; i += 2 {
|
||||||
u := x0 + x12
|
x4 ^= bits.RotateLeft32(x0+x12, 7)
|
||||||
x4 ^= u<<7 | u>>(32-7)
|
x8 ^= bits.RotateLeft32(x4+x0, 9)
|
||||||
u = x4 + x0
|
x12 ^= bits.RotateLeft32(x8+x4, 13)
|
||||||
x8 ^= u<<9 | u>>(32-9)
|
x0 ^= bits.RotateLeft32(x12+x8, 18)
|
||||||
u = x8 + x4
|
|
||||||
x12 ^= u<<13 | u>>(32-13)
|
|
||||||
u = x12 + x8
|
|
||||||
x0 ^= u<<18 | u>>(32-18)
|
|
||||||
|
|
||||||
u = x5 + x1
|
x9 ^= bits.RotateLeft32(x5+x1, 7)
|
||||||
x9 ^= u<<7 | u>>(32-7)
|
x13 ^= bits.RotateLeft32(x9+x5, 9)
|
||||||
u = x9 + x5
|
x1 ^= bits.RotateLeft32(x13+x9, 13)
|
||||||
x13 ^= u<<9 | u>>(32-9)
|
x5 ^= bits.RotateLeft32(x1+x13, 18)
|
||||||
u = x13 + x9
|
|
||||||
x1 ^= u<<13 | u>>(32-13)
|
|
||||||
u = x1 + x13
|
|
||||||
x5 ^= u<<18 | u>>(32-18)
|
|
||||||
|
|
||||||
u = x10 + x6
|
x14 ^= bits.RotateLeft32(x10+x6, 7)
|
||||||
x14 ^= u<<7 | u>>(32-7)
|
x2 ^= bits.RotateLeft32(x14+x10, 9)
|
||||||
u = x14 + x10
|
x6 ^= bits.RotateLeft32(x2+x14, 13)
|
||||||
x2 ^= u<<9 | u>>(32-9)
|
x10 ^= bits.RotateLeft32(x6+x2, 18)
|
||||||
u = x2 + x14
|
|
||||||
x6 ^= u<<13 | u>>(32-13)
|
|
||||||
u = x6 + x2
|
|
||||||
x10 ^= u<<18 | u>>(32-18)
|
|
||||||
|
|
||||||
u = x15 + x11
|
x3 ^= bits.RotateLeft32(x15+x11, 7)
|
||||||
x3 ^= u<<7 | u>>(32-7)
|
x7 ^= bits.RotateLeft32(x3+x15, 9)
|
||||||
u = x3 + x15
|
x11 ^= bits.RotateLeft32(x7+x3, 13)
|
||||||
x7 ^= u<<9 | u>>(32-9)
|
x15 ^= bits.RotateLeft32(x11+x7, 18)
|
||||||
u = x7 + x3
|
|
||||||
x11 ^= u<<13 | u>>(32-13)
|
|
||||||
u = x11 + x7
|
|
||||||
x15 ^= u<<18 | u>>(32-18)
|
|
||||||
|
|
||||||
u = x0 + x3
|
x1 ^= bits.RotateLeft32(x0+x3, 7)
|
||||||
x1 ^= u<<7 | u>>(32-7)
|
x2 ^= bits.RotateLeft32(x1+x0, 9)
|
||||||
u = x1 + x0
|
x3 ^= bits.RotateLeft32(x2+x1, 13)
|
||||||
x2 ^= u<<9 | u>>(32-9)
|
x0 ^= bits.RotateLeft32(x3+x2, 18)
|
||||||
u = x2 + x1
|
|
||||||
x3 ^= u<<13 | u>>(32-13)
|
|
||||||
u = x3 + x2
|
|
||||||
x0 ^= u<<18 | u>>(32-18)
|
|
||||||
|
|
||||||
u = x5 + x4
|
x6 ^= bits.RotateLeft32(x5+x4, 7)
|
||||||
x6 ^= u<<7 | u>>(32-7)
|
x7 ^= bits.RotateLeft32(x6+x5, 9)
|
||||||
u = x6 + x5
|
x4 ^= bits.RotateLeft32(x7+x6, 13)
|
||||||
x7 ^= u<<9 | u>>(32-9)
|
x5 ^= bits.RotateLeft32(x4+x7, 18)
|
||||||
u = x7 + x6
|
|
||||||
x4 ^= u<<13 | u>>(32-13)
|
|
||||||
u = x4 + x7
|
|
||||||
x5 ^= u<<18 | u>>(32-18)
|
|
||||||
|
|
||||||
u = x10 + x9
|
x11 ^= bits.RotateLeft32(x10+x9, 7)
|
||||||
x11 ^= u<<7 | u>>(32-7)
|
x8 ^= bits.RotateLeft32(x11+x10, 9)
|
||||||
u = x11 + x10
|
x9 ^= bits.RotateLeft32(x8+x11, 13)
|
||||||
x8 ^= u<<9 | u>>(32-9)
|
x10 ^= bits.RotateLeft32(x9+x8, 18)
|
||||||
u = x8 + x11
|
|
||||||
x9 ^= u<<13 | u>>(32-13)
|
|
||||||
u = x9 + x8
|
|
||||||
x10 ^= u<<18 | u>>(32-18)
|
|
||||||
|
|
||||||
u = x15 + x14
|
x12 ^= bits.RotateLeft32(x15+x14, 7)
|
||||||
x12 ^= u<<7 | u>>(32-7)
|
x13 ^= bits.RotateLeft32(x12+x15, 9)
|
||||||
u = x12 + x15
|
x14 ^= bits.RotateLeft32(x13+x12, 13)
|
||||||
x13 ^= u<<9 | u>>(32-9)
|
x15 ^= bits.RotateLeft32(x14+x13, 18)
|
||||||
u = x13 + x12
|
|
||||||
x14 ^= u<<13 | u>>(32-13)
|
|
||||||
u = x14 + x13
|
|
||||||
x15 ^= u<<18 | u>>(32-18)
|
|
||||||
}
|
}
|
||||||
x0 += w0
|
x0 += w0
|
||||||
x1 += w1
|
x1 += w1
|
||||||
|
20
vendor/golang.org/x/crypto/ssh/common.go
generated
vendored
20
vendor/golang.org/x/crypto/ssh/common.go
generated
vendored
@ -109,6 +109,7 @@ func findCommon(what string, client []string, server []string) (common string, e
|
|||||||
return "", fmt.Errorf("ssh: no common algorithm for %s; client offered: %v, server offered: %v", what, client, server)
|
return "", fmt.Errorf("ssh: no common algorithm for %s; client offered: %v, server offered: %v", what, client, server)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// directionAlgorithms records algorithm choices in one direction (either read or write)
|
||||||
type directionAlgorithms struct {
|
type directionAlgorithms struct {
|
||||||
Cipher string
|
Cipher string
|
||||||
MAC string
|
MAC string
|
||||||
@ -137,7 +138,7 @@ type algorithms struct {
|
|||||||
r directionAlgorithms
|
r directionAlgorithms
|
||||||
}
|
}
|
||||||
|
|
||||||
func findAgreedAlgorithms(clientKexInit, serverKexInit *kexInitMsg) (algs *algorithms, err error) {
|
func findAgreedAlgorithms(isClient bool, clientKexInit, serverKexInit *kexInitMsg) (algs *algorithms, err error) {
|
||||||
result := &algorithms{}
|
result := &algorithms{}
|
||||||
|
|
||||||
result.kex, err = findCommon("key exchange", clientKexInit.KexAlgos, serverKexInit.KexAlgos)
|
result.kex, err = findCommon("key exchange", clientKexInit.KexAlgos, serverKexInit.KexAlgos)
|
||||||
@ -150,32 +151,37 @@ func findAgreedAlgorithms(clientKexInit, serverKexInit *kexInitMsg) (algs *algor
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
result.w.Cipher, err = findCommon("client to server cipher", clientKexInit.CiphersClientServer, serverKexInit.CiphersClientServer)
|
stoc, ctos := &result.w, &result.r
|
||||||
|
if isClient {
|
||||||
|
ctos, stoc = stoc, ctos
|
||||||
|
}
|
||||||
|
|
||||||
|
ctos.Cipher, err = findCommon("client to server cipher", clientKexInit.CiphersClientServer, serverKexInit.CiphersClientServer)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
result.r.Cipher, err = findCommon("server to client cipher", clientKexInit.CiphersServerClient, serverKexInit.CiphersServerClient)
|
stoc.Cipher, err = findCommon("server to client cipher", clientKexInit.CiphersServerClient, serverKexInit.CiphersServerClient)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
result.w.MAC, err = findCommon("client to server MAC", clientKexInit.MACsClientServer, serverKexInit.MACsClientServer)
|
ctos.MAC, err = findCommon("client to server MAC", clientKexInit.MACsClientServer, serverKexInit.MACsClientServer)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
result.r.MAC, err = findCommon("server to client MAC", clientKexInit.MACsServerClient, serverKexInit.MACsServerClient)
|
stoc.MAC, err = findCommon("server to client MAC", clientKexInit.MACsServerClient, serverKexInit.MACsServerClient)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
result.w.Compression, err = findCommon("client to server compression", clientKexInit.CompressionClientServer, serverKexInit.CompressionClientServer)
|
ctos.Compression, err = findCommon("client to server compression", clientKexInit.CompressionClientServer, serverKexInit.CompressionClientServer)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
result.r.Compression, err = findCommon("server to client compression", clientKexInit.CompressionServerClient, serverKexInit.CompressionServerClient)
|
stoc.Compression, err = findCommon("server to client compression", clientKexInit.CompressionServerClient, serverKexInit.CompressionServerClient)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
5
vendor/golang.org/x/crypto/ssh/handshake.go
generated
vendored
5
vendor/golang.org/x/crypto/ssh/handshake.go
generated
vendored
@ -543,7 +543,8 @@ func (t *handshakeTransport) enterKeyExchange(otherInitPacket []byte) error {
|
|||||||
|
|
||||||
clientInit := otherInit
|
clientInit := otherInit
|
||||||
serverInit := t.sentInitMsg
|
serverInit := t.sentInitMsg
|
||||||
if len(t.hostKeys) == 0 {
|
isClient := len(t.hostKeys) == 0
|
||||||
|
if isClient {
|
||||||
clientInit, serverInit = serverInit, clientInit
|
clientInit, serverInit = serverInit, clientInit
|
||||||
|
|
||||||
magics.clientKexInit = t.sentInitPacket
|
magics.clientKexInit = t.sentInitPacket
|
||||||
@ -551,7 +552,7 @@ func (t *handshakeTransport) enterKeyExchange(otherInitPacket []byte) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var err error
|
var err error
|
||||||
t.algorithms, err = findAgreedAlgorithms(clientInit, serverInit)
|
t.algorithms, err = findAgreedAlgorithms(isClient, clientInit, serverInit)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
59
vendor/golang.org/x/net/html/parse.go
generated
vendored
59
vendor/golang.org/x/net/html/parse.go
generated
vendored
@ -630,7 +630,16 @@ func inHeadIM(p *parser) bool {
|
|||||||
p.oe.pop()
|
p.oe.pop()
|
||||||
p.acknowledgeSelfClosingTag()
|
p.acknowledgeSelfClosingTag()
|
||||||
return true
|
return true
|
||||||
case a.Script, a.Title, a.Noscript, a.Noframes, a.Style:
|
case a.Noscript:
|
||||||
|
p.addElement()
|
||||||
|
if p.scripting {
|
||||||
|
p.setOriginalIM()
|
||||||
|
p.im = textIM
|
||||||
|
} else {
|
||||||
|
p.im = inHeadNoscriptIM
|
||||||
|
}
|
||||||
|
return true
|
||||||
|
case a.Script, a.Title, a.Noframes, a.Style:
|
||||||
p.addElement()
|
p.addElement()
|
||||||
p.setOriginalIM()
|
p.setOriginalIM()
|
||||||
p.im = textIM
|
p.im = textIM
|
||||||
@ -692,6 +701,49 @@ func inHeadIM(p *parser) bool {
|
|||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 12.2.6.4.5.
|
||||||
|
func inHeadNoscriptIM(p *parser) bool {
|
||||||
|
switch p.tok.Type {
|
||||||
|
case DoctypeToken:
|
||||||
|
// Ignore the token.
|
||||||
|
return true
|
||||||
|
case StartTagToken:
|
||||||
|
switch p.tok.DataAtom {
|
||||||
|
case a.Html:
|
||||||
|
return inBodyIM(p)
|
||||||
|
case a.Basefont, a.Bgsound, a.Link, a.Meta, a.Noframes, a.Style:
|
||||||
|
return inHeadIM(p)
|
||||||
|
case a.Head, a.Noscript:
|
||||||
|
// Ignore the token.
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
case EndTagToken:
|
||||||
|
switch p.tok.DataAtom {
|
||||||
|
case a.Noscript, a.Br:
|
||||||
|
default:
|
||||||
|
// Ignore the token.
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
case TextToken:
|
||||||
|
s := strings.TrimLeft(p.tok.Data, whitespace)
|
||||||
|
if len(s) == 0 {
|
||||||
|
// It was all whitespace.
|
||||||
|
return inHeadIM(p)
|
||||||
|
}
|
||||||
|
case CommentToken:
|
||||||
|
return inHeadIM(p)
|
||||||
|
}
|
||||||
|
p.oe.pop()
|
||||||
|
if p.top().DataAtom != a.Head {
|
||||||
|
panic("html: the new current node will be a head element.")
|
||||||
|
}
|
||||||
|
p.im = inHeadIM
|
||||||
|
if p.tok.DataAtom == a.Noscript {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
// Section 12.2.6.4.6.
|
// Section 12.2.6.4.6.
|
||||||
func afterHeadIM(p *parser) bool {
|
func afterHeadIM(p *parser) bool {
|
||||||
switch p.tok.Type {
|
switch p.tok.Type {
|
||||||
@ -1692,8 +1744,9 @@ func inCellIM(p *parser) bool {
|
|||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
// Close the cell and reprocess.
|
// Close the cell and reprocess.
|
||||||
p.popUntil(tableScope, a.Td, a.Th)
|
if p.popUntil(tableScope, a.Td, a.Th) {
|
||||||
p.clearActiveFormattingElements()
|
p.clearActiveFormattingElements()
|
||||||
|
}
|
||||||
p.im = inRowIM
|
p.im = inRowIM
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
18
vendor/golang.org/x/net/http2/server.go
generated
vendored
18
vendor/golang.org/x/net/http2/server.go
generated
vendored
@ -2307,7 +2307,16 @@ type chunkWriter struct{ rws *responseWriterState }
|
|||||||
|
|
||||||
func (cw chunkWriter) Write(p []byte) (n int, err error) { return cw.rws.writeChunk(p) }
|
func (cw chunkWriter) Write(p []byte) (n int, err error) { return cw.rws.writeChunk(p) }
|
||||||
|
|
||||||
func (rws *responseWriterState) hasTrailers() bool { return len(rws.trailers) != 0 }
|
func (rws *responseWriterState) hasTrailers() bool { return len(rws.trailers) > 0 }
|
||||||
|
|
||||||
|
func (rws *responseWriterState) hasNonemptyTrailers() bool {
|
||||||
|
for _, trailer := range rws.trailers {
|
||||||
|
if _, ok := rws.handlerHeader[trailer]; ok {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
// declareTrailer is called for each Trailer header when the
|
// declareTrailer is called for each Trailer header when the
|
||||||
// response header is written. It notes that a header will need to be
|
// response header is written. It notes that a header will need to be
|
||||||
@ -2407,7 +2416,10 @@ func (rws *responseWriterState) writeChunk(p []byte) (n int, err error) {
|
|||||||
rws.promoteUndeclaredTrailers()
|
rws.promoteUndeclaredTrailers()
|
||||||
}
|
}
|
||||||
|
|
||||||
endStream := rws.handlerDone && !rws.hasTrailers()
|
// only send trailers if they have actually been defined by the
|
||||||
|
// server handler.
|
||||||
|
hasNonemptyTrailers := rws.hasNonemptyTrailers()
|
||||||
|
endStream := rws.handlerDone && !hasNonemptyTrailers
|
||||||
if len(p) > 0 || endStream {
|
if len(p) > 0 || endStream {
|
||||||
// only send a 0 byte DATA frame if we're ending the stream.
|
// only send a 0 byte DATA frame if we're ending the stream.
|
||||||
if err := rws.conn.writeDataFromHandler(rws.stream, p, endStream); err != nil {
|
if err := rws.conn.writeDataFromHandler(rws.stream, p, endStream); err != nil {
|
||||||
@ -2416,7 +2428,7 @@ func (rws *responseWriterState) writeChunk(p []byte) (n int, err error) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if rws.handlerDone && rws.hasTrailers() {
|
if rws.handlerDone && hasNonemptyTrailers {
|
||||||
err = rws.conn.writeHeaders(rws.stream, &writeResHeaders{
|
err = rws.conn.writeHeaders(rws.stream, &writeResHeaders{
|
||||||
streamID: rws.stream.id,
|
streamID: rws.stream.id,
|
||||||
h: rws.handlerHeader,
|
h: rws.handlerHeader,
|
||||||
|
8
vendor/golang.org/x/net/idna/idna.go → vendor/golang.org/x/net/idna/idna10.0.0.go
generated
vendored
8
vendor/golang.org/x/net/idna/idna.go → vendor/golang.org/x/net/idna/idna10.0.0.go
generated
vendored
@ -4,14 +4,16 @@
|
|||||||
// 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.10
|
||||||
|
|
||||||
// Package idna implements IDNA2008 using the compatibility processing
|
// Package idna implements IDNA2008 using the compatibility processing
|
||||||
// defined by UTS (Unicode Technical Standard) #46, which defines a standard to
|
// defined by UTS (Unicode Technical Standard) #46, which defines a standard to
|
||||||
// deal with the transition from IDNA2003.
|
// deal with the transition from IDNA2003.
|
||||||
//
|
//
|
||||||
// IDNA2008 (Internationalized Domain Names for Applications), is defined in RFC
|
// IDNA2008 (Internationalized Domain Names for Applications), is defined in RFC
|
||||||
// 5890, RFC 5891, RFC 5892, RFC 5893 and RFC 5894.
|
// 5890, RFC 5891, RFC 5892, RFC 5893 and RFC 5894.
|
||||||
// UTS #46 is defined in http://www.unicode.org/reports/tr46.
|
// UTS #46 is defined in https://www.unicode.org/reports/tr46.
|
||||||
// See http://unicode.org/cldr/utility/idna.jsp for a visualization of the
|
// See https://unicode.org/cldr/utility/idna.jsp for a visualization of the
|
||||||
// differences between these two standards.
|
// differences between these two standards.
|
||||||
package idna // import "golang.org/x/net/idna"
|
package idna // import "golang.org/x/net/idna"
|
||||||
|
|
||||||
@ -297,7 +299,7 @@ func (e runeError) Error() string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// process implements the algorithm described in section 4 of UTS #46,
|
// process implements the algorithm described in section 4 of UTS #46,
|
||||||
// see http://www.unicode.org/reports/tr46.
|
// see https://www.unicode.org/reports/tr46.
|
||||||
func (p *Profile) process(s string, toASCII bool) (string, error) {
|
func (p *Profile) process(s string, toASCII bool) (string, error) {
|
||||||
var err error
|
var err error
|
||||||
var isBidi bool
|
var isBidi bool
|
682
vendor/golang.org/x/net/idna/idna9.0.0.go
generated
vendored
Normal file
682
vendor/golang.org/x/net/idna/idna9.0.0.go
generated
vendored
Normal file
@ -0,0 +1,682 @@
|
|||||||
|
// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
|
||||||
|
|
||||||
|
// 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.10
|
||||||
|
|
||||||
|
// Package idna implements IDNA2008 using the compatibility processing
|
||||||
|
// defined by UTS (Unicode Technical Standard) #46, which defines a standard to
|
||||||
|
// deal with the transition from IDNA2003.
|
||||||
|
//
|
||||||
|
// IDNA2008 (Internationalized Domain Names for Applications), is defined in RFC
|
||||||
|
// 5890, RFC 5891, RFC 5892, RFC 5893 and RFC 5894.
|
||||||
|
// UTS #46 is defined in https://www.unicode.org/reports/tr46.
|
||||||
|
// See https://unicode.org/cldr/utility/idna.jsp for a visualization of the
|
||||||
|
// differences between these two standards.
|
||||||
|
package idna // import "golang.org/x/net/idna"
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"strings"
|
||||||
|
"unicode/utf8"
|
||||||
|
|
||||||
|
"golang.org/x/text/secure/bidirule"
|
||||||
|
"golang.org/x/text/unicode/norm"
|
||||||
|
)
|
||||||
|
|
||||||
|
// NOTE: Unlike common practice in Go APIs, the functions will return a
|
||||||
|
// sanitized domain name in case of errors. Browsers sometimes use a partially
|
||||||
|
// evaluated string as lookup.
|
||||||
|
// TODO: the current error handling is, in my opinion, the least opinionated.
|
||||||
|
// Other strategies are also viable, though:
|
||||||
|
// Option 1) Return an empty string in case of error, but allow the user to
|
||||||
|
// specify explicitly which errors to ignore.
|
||||||
|
// Option 2) Return the partially evaluated string if it is itself a valid
|
||||||
|
// string, otherwise return the empty string in case of error.
|
||||||
|
// Option 3) Option 1 and 2.
|
||||||
|
// Option 4) Always return an empty string for now and implement Option 1 as
|
||||||
|
// needed, and document that the return string may not be empty in case of
|
||||||
|
// error in the future.
|
||||||
|
// I think Option 1 is best, but it is quite opinionated.
|
||||||
|
|
||||||
|
// ToASCII is a wrapper for Punycode.ToASCII.
|
||||||
|
func ToASCII(s string) (string, error) {
|
||||||
|
return Punycode.process(s, true)
|
||||||
|
}
|
||||||
|
|
||||||
|
// ToUnicode is a wrapper for Punycode.ToUnicode.
|
||||||
|
func ToUnicode(s string) (string, error) {
|
||||||
|
return Punycode.process(s, false)
|
||||||
|
}
|
||||||
|
|
||||||
|
// An Option configures a Profile at creation time.
|
||||||
|
type Option func(*options)
|
||||||
|
|
||||||
|
// Transitional sets a Profile to use the Transitional mapping as defined in UTS
|
||||||
|
// #46. This will cause, for example, "ß" to be mapped to "ss". Using the
|
||||||
|
// transitional mapping provides a compromise between IDNA2003 and IDNA2008
|
||||||
|
// compatibility. It is used by most browsers when resolving domain names. This
|
||||||
|
// option is only meaningful if combined with MapForLookup.
|
||||||
|
func Transitional(transitional bool) Option {
|
||||||
|
return func(o *options) { o.transitional = true }
|
||||||
|
}
|
||||||
|
|
||||||
|
// VerifyDNSLength sets whether a Profile should fail if any of the IDN parts
|
||||||
|
// are longer than allowed by the RFC.
|
||||||
|
func VerifyDNSLength(verify bool) Option {
|
||||||
|
return func(o *options) { o.verifyDNSLength = verify }
|
||||||
|
}
|
||||||
|
|
||||||
|
// RemoveLeadingDots removes leading label separators. Leading runes that map to
|
||||||
|
// dots, such as U+3002 IDEOGRAPHIC FULL STOP, are removed as well.
|
||||||
|
//
|
||||||
|
// This is the behavior suggested by the UTS #46 and is adopted by some
|
||||||
|
// browsers.
|
||||||
|
func RemoveLeadingDots(remove bool) Option {
|
||||||
|
return func(o *options) { o.removeLeadingDots = remove }
|
||||||
|
}
|
||||||
|
|
||||||
|
// ValidateLabels sets whether to check the mandatory label validation criteria
|
||||||
|
// as defined in Section 5.4 of RFC 5891. This includes testing for correct use
|
||||||
|
// of hyphens ('-'), normalization, validity of runes, and the context rules.
|
||||||
|
func ValidateLabels(enable bool) Option {
|
||||||
|
return func(o *options) {
|
||||||
|
// Don't override existing mappings, but set one that at least checks
|
||||||
|
// normalization if it is not set.
|
||||||
|
if o.mapping == nil && enable {
|
||||||
|
o.mapping = normalize
|
||||||
|
}
|
||||||
|
o.trie = trie
|
||||||
|
o.validateLabels = enable
|
||||||
|
o.fromPuny = validateFromPunycode
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// StrictDomainName limits the set of permissable ASCII characters to those
|
||||||
|
// allowed in domain names as defined in RFC 1034 (A-Z, a-z, 0-9 and the
|
||||||
|
// hyphen). This is set by default for MapForLookup and ValidateForRegistration.
|
||||||
|
//
|
||||||
|
// This option is useful, for instance, for browsers that allow characters
|
||||||
|
// outside this range, for example a '_' (U+005F LOW LINE). See
|
||||||
|
// http://www.rfc-editor.org/std/std3.txt for more details This option
|
||||||
|
// corresponds to the UseSTD3ASCIIRules option in UTS #46.
|
||||||
|
func StrictDomainName(use bool) Option {
|
||||||
|
return func(o *options) {
|
||||||
|
o.trie = trie
|
||||||
|
o.useSTD3Rules = use
|
||||||
|
o.fromPuny = validateFromPunycode
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// NOTE: the following options pull in tables. The tables should not be linked
|
||||||
|
// in as long as the options are not used.
|
||||||
|
|
||||||
|
// BidiRule enables the Bidi rule as defined in RFC 5893. Any application
|
||||||
|
// that relies on proper validation of labels should include this rule.
|
||||||
|
func BidiRule() Option {
|
||||||
|
return func(o *options) { o.bidirule = bidirule.ValidString }
|
||||||
|
}
|
||||||
|
|
||||||
|
// ValidateForRegistration sets validation options to verify that a given IDN is
|
||||||
|
// properly formatted for registration as defined by Section 4 of RFC 5891.
|
||||||
|
func ValidateForRegistration() Option {
|
||||||
|
return func(o *options) {
|
||||||
|
o.mapping = validateRegistration
|
||||||
|
StrictDomainName(true)(o)
|
||||||
|
ValidateLabels(true)(o)
|
||||||
|
VerifyDNSLength(true)(o)
|
||||||
|
BidiRule()(o)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// MapForLookup sets validation and mapping options such that a given IDN is
|
||||||
|
// transformed for domain name lookup according to the requirements set out in
|
||||||
|
// Section 5 of RFC 5891. The mappings follow the recommendations of RFC 5894,
|
||||||
|
// RFC 5895 and UTS 46. It does not add the Bidi Rule. Use the BidiRule option
|
||||||
|
// to add this check.
|
||||||
|
//
|
||||||
|
// The mappings include normalization and mapping case, width and other
|
||||||
|
// compatibility mappings.
|
||||||
|
func MapForLookup() Option {
|
||||||
|
return func(o *options) {
|
||||||
|
o.mapping = validateAndMap
|
||||||
|
StrictDomainName(true)(o)
|
||||||
|
ValidateLabels(true)(o)
|
||||||
|
RemoveLeadingDots(true)(o)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
type options struct {
|
||||||
|
transitional bool
|
||||||
|
useSTD3Rules bool
|
||||||
|
validateLabels bool
|
||||||
|
verifyDNSLength bool
|
||||||
|
removeLeadingDots bool
|
||||||
|
|
||||||
|
trie *idnaTrie
|
||||||
|
|
||||||
|
// fromPuny calls validation rules when converting A-labels to U-labels.
|
||||||
|
fromPuny func(p *Profile, s string) error
|
||||||
|
|
||||||
|
// mapping implements a validation and mapping step as defined in RFC 5895
|
||||||
|
// or UTS 46, tailored to, for example, domain registration or lookup.
|
||||||
|
mapping func(p *Profile, s string) (string, error)
|
||||||
|
|
||||||
|
// bidirule, if specified, checks whether s conforms to the Bidi Rule
|
||||||
|
// defined in RFC 5893.
|
||||||
|
bidirule func(s string) bool
|
||||||
|
}
|
||||||
|
|
||||||
|
// A Profile defines the configuration of a IDNA mapper.
|
||||||
|
type Profile struct {
|
||||||
|
options
|
||||||
|
}
|
||||||
|
|
||||||
|
func apply(o *options, opts []Option) {
|
||||||
|
for _, f := range opts {
|
||||||
|
f(o)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// New creates a new Profile.
|
||||||
|
//
|
||||||
|
// With no options, the returned Profile is the most permissive and equals the
|
||||||
|
// Punycode Profile. Options can be passed to further restrict the Profile. The
|
||||||
|
// MapForLookup and ValidateForRegistration options set a collection of options,
|
||||||
|
// for lookup and registration purposes respectively, which can be tailored by
|
||||||
|
// adding more fine-grained options, where later options override earlier
|
||||||
|
// options.
|
||||||
|
func New(o ...Option) *Profile {
|
||||||
|
p := &Profile{}
|
||||||
|
apply(&p.options, o)
|
||||||
|
return p
|
||||||
|
}
|
||||||
|
|
||||||
|
// ToASCII converts a domain or domain label to its ASCII form. For example,
|
||||||
|
// ToASCII("bücher.example.com") is "xn--bcher-kva.example.com", and
|
||||||
|
// ToASCII("golang") is "golang". If an error is encountered it will return
|
||||||
|
// an error and a (partially) processed result.
|
||||||
|
func (p *Profile) ToASCII(s string) (string, error) {
|
||||||
|
return p.process(s, true)
|
||||||
|
}
|
||||||
|
|
||||||
|
// ToUnicode converts a domain or domain label to its Unicode form. For example,
|
||||||
|
// ToUnicode("xn--bcher-kva.example.com") is "bücher.example.com", and
|
||||||
|
// ToUnicode("golang") is "golang". If an error is encountered it will return
|
||||||
|
// an error and a (partially) processed result.
|
||||||
|
func (p *Profile) ToUnicode(s string) (string, error) {
|
||||||
|
pp := *p
|
||||||
|
pp.transitional = false
|
||||||
|
return pp.process(s, false)
|
||||||
|
}
|
||||||
|
|
||||||
|
// String reports a string with a description of the profile for debugging
|
||||||
|
// purposes. The string format may change with different versions.
|
||||||
|
func (p *Profile) String() string {
|
||||||
|
s := ""
|
||||||
|
if p.transitional {
|
||||||
|
s = "Transitional"
|
||||||
|
} else {
|
||||||
|
s = "NonTransitional"
|
||||||
|
}
|
||||||
|
if p.useSTD3Rules {
|
||||||
|
s += ":UseSTD3Rules"
|
||||||
|
}
|
||||||
|
if p.validateLabels {
|
||||||
|
s += ":ValidateLabels"
|
||||||
|
}
|
||||||
|
if p.verifyDNSLength {
|
||||||
|
s += ":VerifyDNSLength"
|
||||||
|
}
|
||||||
|
return s
|
||||||
|
}
|
||||||
|
|
||||||
|
var (
|
||||||
|
// Punycode is a Profile that does raw punycode processing with a minimum
|
||||||
|
// of validation.
|
||||||
|
Punycode *Profile = punycode
|
||||||
|
|
||||||
|
// Lookup is the recommended profile for looking up domain names, according
|
||||||
|
// to Section 5 of RFC 5891. The exact configuration of this profile may
|
||||||
|
// change over time.
|
||||||
|
Lookup *Profile = lookup
|
||||||
|
|
||||||
|
// Display is the recommended profile for displaying domain names.
|
||||||
|
// The configuration of this profile may change over time.
|
||||||
|
Display *Profile = display
|
||||||
|
|
||||||
|
// Registration is the recommended profile for checking whether a given
|
||||||
|
// IDN is valid for registration, according to Section 4 of RFC 5891.
|
||||||
|
Registration *Profile = registration
|
||||||
|
|
||||||
|
punycode = &Profile{}
|
||||||
|
lookup = &Profile{options{
|
||||||
|
transitional: true,
|
||||||
|
useSTD3Rules: true,
|
||||||
|
validateLabels: true,
|
||||||
|
removeLeadingDots: true,
|
||||||
|
trie: trie,
|
||||||
|
fromPuny: validateFromPunycode,
|
||||||
|
mapping: validateAndMap,
|
||||||
|
bidirule: bidirule.ValidString,
|
||||||
|
}}
|
||||||
|
display = &Profile{options{
|
||||||
|
useSTD3Rules: true,
|
||||||
|
validateLabels: true,
|
||||||
|
removeLeadingDots: true,
|
||||||
|
trie: trie,
|
||||||
|
fromPuny: validateFromPunycode,
|
||||||
|
mapping: validateAndMap,
|
||||||
|
bidirule: bidirule.ValidString,
|
||||||
|
}}
|
||||||
|
registration = &Profile{options{
|
||||||
|
useSTD3Rules: true,
|
||||||
|
validateLabels: true,
|
||||||
|
verifyDNSLength: true,
|
||||||
|
trie: trie,
|
||||||
|
fromPuny: validateFromPunycode,
|
||||||
|
mapping: validateRegistration,
|
||||||
|
bidirule: bidirule.ValidString,
|
||||||
|
}}
|
||||||
|
|
||||||
|
// TODO: profiles
|
||||||
|
// Register: recommended for approving domain names: don't do any mappings
|
||||||
|
// but rather reject on invalid input. Bundle or block deviation characters.
|
||||||
|
)
|
||||||
|
|
||||||
|
type labelError struct{ label, code_ string }
|
||||||
|
|
||||||
|
func (e labelError) code() string { return e.code_ }
|
||||||
|
func (e labelError) Error() string {
|
||||||
|
return fmt.Sprintf("idna: invalid label %q", e.label)
|
||||||
|
}
|
||||||
|
|
||||||
|
type runeError rune
|
||||||
|
|
||||||
|
func (e runeError) code() string { return "P1" }
|
||||||
|
func (e runeError) Error() string {
|
||||||
|
return fmt.Sprintf("idna: disallowed rune %U", e)
|
||||||
|
}
|
||||||
|
|
||||||
|
// process implements the algorithm described in section 4 of UTS #46,
|
||||||
|
// see https://www.unicode.org/reports/tr46.
|
||||||
|
func (p *Profile) process(s string, toASCII bool) (string, error) {
|
||||||
|
var err error
|
||||||
|
if p.mapping != nil {
|
||||||
|
s, err = p.mapping(p, s)
|
||||||
|
}
|
||||||
|
// Remove leading empty labels.
|
||||||
|
if p.removeLeadingDots {
|
||||||
|
for ; len(s) > 0 && s[0] == '.'; s = s[1:] {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// It seems like we should only create this error on ToASCII, but the
|
||||||
|
// UTS 46 conformance tests suggests we should always check this.
|
||||||
|
if err == nil && p.verifyDNSLength && s == "" {
|
||||||
|
err = &labelError{s, "A4"}
|
||||||
|
}
|
||||||
|
labels := labelIter{orig: s}
|
||||||
|
for ; !labels.done(); labels.next() {
|
||||||
|
label := labels.label()
|
||||||
|
if label == "" {
|
||||||
|
// Empty labels are not okay. The label iterator skips the last
|
||||||
|
// label if it is empty.
|
||||||
|
if err == nil && p.verifyDNSLength {
|
||||||
|
err = &labelError{s, "A4"}
|
||||||
|
}
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
if strings.HasPrefix(label, acePrefix) {
|
||||||
|
u, err2 := decode(label[len(acePrefix):])
|
||||||
|
if err2 != nil {
|
||||||
|
if err == nil {
|
||||||
|
err = err2
|
||||||
|
}
|
||||||
|
// Spec says keep the old label.
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
labels.set(u)
|
||||||
|
if err == nil && p.validateLabels {
|
||||||
|
err = p.fromPuny(p, u)
|
||||||
|
}
|
||||||
|
if err == nil {
|
||||||
|
// This should be called on NonTransitional, according to the
|
||||||
|
// spec, but that currently does not have any effect. Use the
|
||||||
|
// original profile to preserve options.
|
||||||
|
err = p.validateLabel(u)
|
||||||
|
}
|
||||||
|
} else if err == nil {
|
||||||
|
err = p.validateLabel(label)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if toASCII {
|
||||||
|
for labels.reset(); !labels.done(); labels.next() {
|
||||||
|
label := labels.label()
|
||||||
|
if !ascii(label) {
|
||||||
|
a, err2 := encode(acePrefix, label)
|
||||||
|
if err == nil {
|
||||||
|
err = err2
|
||||||
|
}
|
||||||
|
label = a
|
||||||
|
labels.set(a)
|
||||||
|
}
|
||||||
|
n := len(label)
|
||||||
|
if p.verifyDNSLength && err == nil && (n == 0 || n > 63) {
|
||||||
|
err = &labelError{label, "A4"}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
s = labels.result()
|
||||||
|
if toASCII && p.verifyDNSLength && err == nil {
|
||||||
|
// Compute the length of the domain name minus the root label and its dot.
|
||||||
|
n := len(s)
|
||||||
|
if n > 0 && s[n-1] == '.' {
|
||||||
|
n--
|
||||||
|
}
|
||||||
|
if len(s) < 1 || n > 253 {
|
||||||
|
err = &labelError{s, "A4"}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return s, err
|
||||||
|
}
|
||||||
|
|
||||||
|
func normalize(p *Profile, s string) (string, error) {
|
||||||
|
return norm.NFC.String(s), nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func validateRegistration(p *Profile, s string) (string, error) {
|
||||||
|
if !norm.NFC.IsNormalString(s) {
|
||||||
|
return s, &labelError{s, "V1"}
|
||||||
|
}
|
||||||
|
for i := 0; i < len(s); {
|
||||||
|
v, sz := trie.lookupString(s[i:])
|
||||||
|
// Copy bytes not copied so far.
|
||||||
|
switch p.simplify(info(v).category()) {
|
||||||
|
// TODO: handle the NV8 defined in the Unicode idna data set to allow
|
||||||
|
// for strict conformance to IDNA2008.
|
||||||
|
case valid, deviation:
|
||||||
|
case disallowed, mapped, unknown, ignored:
|
||||||
|
r, _ := utf8.DecodeRuneInString(s[i:])
|
||||||
|
return s, runeError(r)
|
||||||
|
}
|
||||||
|
i += sz
|
||||||
|
}
|
||||||
|
return s, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func validateAndMap(p *Profile, s string) (string, error) {
|
||||||
|
var (
|
||||||
|
err error
|
||||||
|
b []byte
|
||||||
|
k int
|
||||||
|
)
|
||||||
|
for i := 0; i < len(s); {
|
||||||
|
v, sz := trie.lookupString(s[i:])
|
||||||
|
start := i
|
||||||
|
i += sz
|
||||||
|
// Copy bytes not copied so far.
|
||||||
|
switch p.simplify(info(v).category()) {
|
||||||
|
case valid:
|
||||||
|
continue
|
||||||
|
case disallowed:
|
||||||
|
if err == nil {
|
||||||
|
r, _ := utf8.DecodeRuneInString(s[start:])
|
||||||
|
err = runeError(r)
|
||||||
|
}
|
||||||
|
continue
|
||||||
|
case mapped, deviation:
|
||||||
|
b = append(b, s[k:start]...)
|
||||||
|
b = info(v).appendMapping(b, s[start:i])
|
||||||
|
case ignored:
|
||||||
|
b = append(b, s[k:start]...)
|
||||||
|
// drop the rune
|
||||||
|
case unknown:
|
||||||
|
b = append(b, s[k:start]...)
|
||||||
|
b = append(b, "\ufffd"...)
|
||||||
|
}
|
||||||
|
k = i
|
||||||
|
}
|
||||||
|
if k == 0 {
|
||||||
|
// No changes so far.
|
||||||
|
s = norm.NFC.String(s)
|
||||||
|
} else {
|
||||||
|
b = append(b, s[k:]...)
|
||||||
|
if norm.NFC.QuickSpan(b) != len(b) {
|
||||||
|
b = norm.NFC.Bytes(b)
|
||||||
|
}
|
||||||
|
// TODO: the punycode converters require strings as input.
|
||||||
|
s = string(b)
|
||||||
|
}
|
||||||
|
return s, err
|
||||||
|
}
|
||||||
|
|
||||||
|
// A labelIter allows iterating over domain name labels.
|
||||||
|
type labelIter struct {
|
||||||
|
orig string
|
||||||
|
slice []string
|
||||||
|
curStart int
|
||||||
|
curEnd int
|
||||||
|
i int
|
||||||
|
}
|
||||||
|
|
||||||
|
func (l *labelIter) reset() {
|
||||||
|
l.curStart = 0
|
||||||
|
l.curEnd = 0
|
||||||
|
l.i = 0
|
||||||
|
}
|
||||||
|
|
||||||
|
func (l *labelIter) done() bool {
|
||||||
|
return l.curStart >= len(l.orig)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (l *labelIter) result() string {
|
||||||
|
if l.slice != nil {
|
||||||
|
return strings.Join(l.slice, ".")
|
||||||
|
}
|
||||||
|
return l.orig
|
||||||
|
}
|
||||||
|
|
||||||
|
func (l *labelIter) label() string {
|
||||||
|
if l.slice != nil {
|
||||||
|
return l.slice[l.i]
|
||||||
|
}
|
||||||
|
p := strings.IndexByte(l.orig[l.curStart:], '.')
|
||||||
|
l.curEnd = l.curStart + p
|
||||||
|
if p == -1 {
|
||||||
|
l.curEnd = len(l.orig)
|
||||||
|
}
|
||||||
|
return l.orig[l.curStart:l.curEnd]
|
||||||
|
}
|
||||||
|
|
||||||
|
// next sets the value to the next label. It skips the last label if it is empty.
|
||||||
|
func (l *labelIter) next() {
|
||||||
|
l.i++
|
||||||
|
if l.slice != nil {
|
||||||
|
if l.i >= len(l.slice) || l.i == len(l.slice)-1 && l.slice[l.i] == "" {
|
||||||
|
l.curStart = len(l.orig)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
l.curStart = l.curEnd + 1
|
||||||
|
if l.curStart == len(l.orig)-1 && l.orig[l.curStart] == '.' {
|
||||||
|
l.curStart = len(l.orig)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (l *labelIter) set(s string) {
|
||||||
|
if l.slice == nil {
|
||||||
|
l.slice = strings.Split(l.orig, ".")
|
||||||
|
}
|
||||||
|
l.slice[l.i] = s
|
||||||
|
}
|
||||||
|
|
||||||
|
// acePrefix is the ASCII Compatible Encoding prefix.
|
||||||
|
const acePrefix = "xn--"
|
||||||
|
|
||||||
|
func (p *Profile) simplify(cat category) category {
|
||||||
|
switch cat {
|
||||||
|
case disallowedSTD3Mapped:
|
||||||
|
if p.useSTD3Rules {
|
||||||
|
cat = disallowed
|
||||||
|
} else {
|
||||||
|
cat = mapped
|
||||||
|
}
|
||||||
|
case disallowedSTD3Valid:
|
||||||
|
if p.useSTD3Rules {
|
||||||
|
cat = disallowed
|
||||||
|
} else {
|
||||||
|
cat = valid
|
||||||
|
}
|
||||||
|
case deviation:
|
||||||
|
if !p.transitional {
|
||||||
|
cat = valid
|
||||||
|
}
|
||||||
|
case validNV8, validXV8:
|
||||||
|
// TODO: handle V2008
|
||||||
|
cat = valid
|
||||||
|
}
|
||||||
|
return cat
|
||||||
|
}
|
||||||
|
|
||||||
|
func validateFromPunycode(p *Profile, s string) error {
|
||||||
|
if !norm.NFC.IsNormalString(s) {
|
||||||
|
return &labelError{s, "V1"}
|
||||||
|
}
|
||||||
|
for i := 0; i < len(s); {
|
||||||
|
v, sz := trie.lookupString(s[i:])
|
||||||
|
if c := p.simplify(info(v).category()); c != valid && c != deviation {
|
||||||
|
return &labelError{s, "V6"}
|
||||||
|
}
|
||||||
|
i += sz
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
const (
|
||||||
|
zwnj = "\u200c"
|
||||||
|
zwj = "\u200d"
|
||||||
|
)
|
||||||
|
|
||||||
|
type joinState int8
|
||||||
|
|
||||||
|
const (
|
||||||
|
stateStart joinState = iota
|
||||||
|
stateVirama
|
||||||
|
stateBefore
|
||||||
|
stateBeforeVirama
|
||||||
|
stateAfter
|
||||||
|
stateFAIL
|
||||||
|
)
|
||||||
|
|
||||||
|
var joinStates = [][numJoinTypes]joinState{
|
||||||
|
stateStart: {
|
||||||
|
joiningL: stateBefore,
|
||||||
|
joiningD: stateBefore,
|
||||||
|
joinZWNJ: stateFAIL,
|
||||||
|
joinZWJ: stateFAIL,
|
||||||
|
joinVirama: stateVirama,
|
||||||
|
},
|
||||||
|
stateVirama: {
|
||||||
|
joiningL: stateBefore,
|
||||||
|
joiningD: stateBefore,
|
||||||
|
},
|
||||||
|
stateBefore: {
|
||||||
|
joiningL: stateBefore,
|
||||||
|
joiningD: stateBefore,
|
||||||
|
joiningT: stateBefore,
|
||||||
|
joinZWNJ: stateAfter,
|
||||||
|
joinZWJ: stateFAIL,
|
||||||
|
joinVirama: stateBeforeVirama,
|
||||||
|
},
|
||||||
|
stateBeforeVirama: {
|
||||||
|
joiningL: stateBefore,
|
||||||
|
joiningD: stateBefore,
|
||||||
|
joiningT: stateBefore,
|
||||||
|
},
|
||||||
|
stateAfter: {
|
||||||
|
joiningL: stateFAIL,
|
||||||
|
joiningD: stateBefore,
|
||||||
|
joiningT: stateAfter,
|
||||||
|
joiningR: stateStart,
|
||||||
|
joinZWNJ: stateFAIL,
|
||||||
|
joinZWJ: stateFAIL,
|
||||||
|
joinVirama: stateAfter, // no-op as we can't accept joiners here
|
||||||
|
},
|
||||||
|
stateFAIL: {
|
||||||
|
0: stateFAIL,
|
||||||
|
joiningL: stateFAIL,
|
||||||
|
joiningD: stateFAIL,
|
||||||
|
joiningT: stateFAIL,
|
||||||
|
joiningR: stateFAIL,
|
||||||
|
joinZWNJ: stateFAIL,
|
||||||
|
joinZWJ: stateFAIL,
|
||||||
|
joinVirama: stateFAIL,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
// validateLabel validates the criteria from Section 4.1. Item 1, 4, and 6 are
|
||||||
|
// already implicitly satisfied by the overall implementation.
|
||||||
|
func (p *Profile) validateLabel(s string) error {
|
||||||
|
if s == "" {
|
||||||
|
if p.verifyDNSLength {
|
||||||
|
return &labelError{s, "A4"}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
if p.bidirule != nil && !p.bidirule(s) {
|
||||||
|
return &labelError{s, "B"}
|
||||||
|
}
|
||||||
|
if !p.validateLabels {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
trie := p.trie // p.validateLabels is only set if trie is set.
|
||||||
|
if len(s) > 4 && s[2] == '-' && s[3] == '-' {
|
||||||
|
return &labelError{s, "V2"}
|
||||||
|
}
|
||||||
|
if s[0] == '-' || s[len(s)-1] == '-' {
|
||||||
|
return &labelError{s, "V3"}
|
||||||
|
}
|
||||||
|
// TODO: merge the use of this in the trie.
|
||||||
|
v, sz := trie.lookupString(s)
|
||||||
|
x := info(v)
|
||||||
|
if x.isModifier() {
|
||||||
|
return &labelError{s, "V5"}
|
||||||
|
}
|
||||||
|
// Quickly return in the absence of zero-width (non) joiners.
|
||||||
|
if strings.Index(s, zwj) == -1 && strings.Index(s, zwnj) == -1 {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
st := stateStart
|
||||||
|
for i := 0; ; {
|
||||||
|
jt := x.joinType()
|
||||||
|
if s[i:i+sz] == zwj {
|
||||||
|
jt = joinZWJ
|
||||||
|
} else if s[i:i+sz] == zwnj {
|
||||||
|
jt = joinZWNJ
|
||||||
|
}
|
||||||
|
st = joinStates[st][jt]
|
||||||
|
if x.isViramaModifier() {
|
||||||
|
st = joinStates[st][joinVirama]
|
||||||
|
}
|
||||||
|
if i += sz; i == len(s) {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
v, sz = trie.lookupString(s[i:])
|
||||||
|
x = info(v)
|
||||||
|
}
|
||||||
|
if st == stateFAIL || st == stateAfter {
|
||||||
|
return &labelError{s, "C"}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func ascii(s string) bool {
|
||||||
|
for i := 0; i < len(s); i++ {
|
||||||
|
if s[i] >= utf8.RuneSelf {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true
|
||||||
|
}
|
@ -1,11 +1,13 @@
|
|||||||
// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
|
// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
|
||||||
|
|
||||||
|
// +build go1.10,!go1.13
|
||||||
|
|
||||||
package idna
|
package idna
|
||||||
|
|
||||||
// UnicodeVersion is the Unicode version from which the tables in this package are derived.
|
// UnicodeVersion is the Unicode version from which the tables in this package are derived.
|
||||||
const UnicodeVersion = "10.0.0"
|
const UnicodeVersion = "10.0.0"
|
||||||
|
|
||||||
var mappings string = "" + // Size: 8176 bytes
|
var mappings string = "" + // Size: 8175 bytes
|
||||||
"\x00\x01 \x03 ̈\x01a\x03 ̄\x012\x013\x03 ́\x03 ̧\x011\x01o\x051⁄4\x051⁄2" +
|
"\x00\x01 \x03 ̈\x01a\x03 ̄\x012\x013\x03 ́\x03 ̧\x011\x01o\x051⁄4\x051⁄2" +
|
||||||
"\x053⁄4\x03i̇\x03l·\x03ʼn\x01s\x03dž\x03ⱥ\x03ⱦ\x01h\x01j\x01r\x01w\x01y" +
|
"\x053⁄4\x03i̇\x03l·\x03ʼn\x01s\x03dž\x03ⱥ\x03ⱦ\x01h\x01j\x01r\x01w\x01y" +
|
||||||
"\x03 ̆\x03 ̇\x03 ̊\x03 ̨\x03 ̃\x03 ̋\x01l\x01x\x04̈́\x03 ι\x01;\x05 ̈́" +
|
"\x03 ̆\x03 ̇\x03 ̊\x03 ̨\x03 ̃\x03 ̋\x01l\x01x\x04̈́\x03 ι\x01;\x05 ̈́" +
|
||||||
@ -4554,4 +4556,4 @@ var idnaSparseValues = [1915]valueRange{
|
|||||||
{value: 0x0040, lo: 0xb0, hi: 0xbf},
|
{value: 0x0040, lo: 0xb0, hi: 0xbf},
|
||||||
}
|
}
|
||||||
|
|
||||||
// Total table size 42115 bytes (41KiB); checksum: F4A1FA4E
|
// Total table size 42114 bytes (41KiB); checksum: 355A58A4
|
4653
vendor/golang.org/x/net/idna/tables11.0.0.go
generated
vendored
Normal file
4653
vendor/golang.org/x/net/idna/tables11.0.0.go
generated
vendored
Normal file
File diff suppressed because it is too large
Load Diff
4486
vendor/golang.org/x/net/idna/tables9.0.0.go
generated
vendored
Normal file
4486
vendor/golang.org/x/net/idna/tables9.0.0.go
generated
vendored
Normal file
File diff suppressed because it is too large
Load Diff
2
vendor/golang.org/x/net/internal/socket/cmsghdr.go
generated
vendored
2
vendor/golang.org/x/net/internal/socket/cmsghdr.go
generated
vendored
@ -2,7 +2,7 @@
|
|||||||
// 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 darwin dragonfly freebsd linux netbsd openbsd solaris
|
// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
|
||||||
|
|
||||||
package socket
|
package socket
|
||||||
|
|
||||||
|
2
vendor/golang.org/x/net/internal/socket/cmsghdr_bsd.go
generated
vendored
2
vendor/golang.org/x/net/internal/socket/cmsghdr_bsd.go
generated
vendored
@ -2,7 +2,7 @@
|
|||||||
// 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 darwin dragonfly freebsd netbsd openbsd
|
// +build aix darwin dragonfly freebsd netbsd openbsd
|
||||||
|
|
||||||
package socket
|
package socket
|
||||||
|
|
||||||
|
2
vendor/golang.org/x/net/internal/socket/cmsghdr_stub.go
generated
vendored
2
vendor/golang.org/x/net/internal/socket/cmsghdr_stub.go
generated
vendored
@ -2,7 +2,7 @@
|
|||||||
// 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 !darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris
|
// +build !aix,!darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris
|
||||||
|
|
||||||
package socket
|
package socket
|
||||||
|
|
||||||
|
47
vendor/golang.org/x/net/internal/socket/defs_aix.go
generated
vendored
Normal file
47
vendor/golang.org/x/net/internal/socket/defs_aix.go
generated
vendored
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
// Copyright 2019 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 ignore
|
||||||
|
|
||||||
|
// +godefs map struct_in_addr [4]byte /* in_addr */
|
||||||
|
// +godefs map struct_in6_addr [16]byte /* in6_addr */
|
||||||
|
|
||||||
|
package socket
|
||||||
|
|
||||||
|
/*
|
||||||
|
#include <sys/socket.h>
|
||||||
|
|
||||||
|
#include <netinet/in.h>
|
||||||
|
*/
|
||||||
|
import "C"
|
||||||
|
|
||||||
|
const (
|
||||||
|
sysAF_UNSPEC = C.AF_UNSPEC
|
||||||
|
sysAF_INET = C.AF_INET
|
||||||
|
sysAF_INET6 = C.AF_INET6
|
||||||
|
|
||||||
|
sysSOCK_RAW = C.SOCK_RAW
|
||||||
|
)
|
||||||
|
|
||||||
|
type iovec C.struct_iovec
|
||||||
|
|
||||||
|
type msghdr C.struct_msghdr
|
||||||
|
|
||||||
|
type mmsghdr C.struct_mmsghdr
|
||||||
|
|
||||||
|
type cmsghdr C.struct_cmsghdr
|
||||||
|
|
||||||
|
type sockaddrInet C.struct_sockaddr_in
|
||||||
|
|
||||||
|
type sockaddrInet6 C.struct_sockaddr_in6
|
||||||
|
|
||||||
|
const (
|
||||||
|
sizeofIovec = C.sizeof_struct_iovec
|
||||||
|
sizeofMsghdr = C.sizeof_struct_msghdr
|
||||||
|
sizeofMmsghdr = C.sizeof_struct_mmsghdr
|
||||||
|
sizeofCmsghdr = C.sizeof_struct_cmsghdr
|
||||||
|
|
||||||
|
sizeofSockaddrInet = C.sizeof_struct_sockaddr_in
|
||||||
|
sizeofSockaddrInet6 = C.sizeof_struct_sockaddr_in6
|
||||||
|
)
|
2
vendor/golang.org/x/net/internal/socket/error_unix.go
generated
vendored
2
vendor/golang.org/x/net/internal/socket/error_unix.go
generated
vendored
@ -2,7 +2,7 @@
|
|||||||
// 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 darwin dragonfly freebsd linux netbsd openbsd solaris
|
// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
|
||||||
|
|
||||||
package socket
|
package socket
|
||||||
|
|
||||||
|
2
vendor/golang.org/x/net/internal/socket/iovec_64bit.go
generated
vendored
2
vendor/golang.org/x/net/internal/socket/iovec_64bit.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 arm64 amd64 ppc64 ppc64le mips64 mips64le s390x
|
// +build arm64 amd64 ppc64 ppc64le mips64 mips64le s390x
|
||||||
// +build darwin dragonfly freebsd linux netbsd openbsd
|
// +build aix darwin dragonfly freebsd linux netbsd openbsd
|
||||||
|
|
||||||
package socket
|
package socket
|
||||||
|
|
||||||
|
2
vendor/golang.org/x/net/internal/socket/iovec_stub.go
generated
vendored
2
vendor/golang.org/x/net/internal/socket/iovec_stub.go
generated
vendored
@ -2,7 +2,7 @@
|
|||||||
// 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 !darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris
|
// +build !aix,!darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris
|
||||||
|
|
||||||
package socket
|
package socket
|
||||||
|
|
||||||
|
2
vendor/golang.org/x/net/internal/socket/mmsghdr_stub.go
generated
vendored
2
vendor/golang.org/x/net/internal/socket/mmsghdr_stub.go
generated
vendored
@ -2,7 +2,7 @@
|
|||||||
// 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 !linux,!netbsd
|
// +build !aix,!linux,!netbsd
|
||||||
|
|
||||||
package socket
|
package socket
|
||||||
|
|
||||||
|
2
vendor/golang.org/x/net/internal/socket/mmsghdr_unix.go
generated
vendored
2
vendor/golang.org/x/net/internal/socket/mmsghdr_unix.go
generated
vendored
@ -2,7 +2,7 @@
|
|||||||
// 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 linux netbsd
|
// +build aix linux netbsd
|
||||||
|
|
||||||
package socket
|
package socket
|
||||||
|
|
||||||
|
2
vendor/golang.org/x/net/internal/socket/msghdr_bsd.go
generated
vendored
2
vendor/golang.org/x/net/internal/socket/msghdr_bsd.go
generated
vendored
@ -2,7 +2,7 @@
|
|||||||
// 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 darwin dragonfly freebsd netbsd openbsd
|
// +build aix darwin dragonfly freebsd netbsd openbsd
|
||||||
|
|
||||||
package socket
|
package socket
|
||||||
|
|
||||||
|
2
vendor/golang.org/x/net/internal/socket/msghdr_bsdvar.go
generated
vendored
2
vendor/golang.org/x/net/internal/socket/msghdr_bsdvar.go
generated
vendored
@ -2,7 +2,7 @@
|
|||||||
// 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 darwin dragonfly freebsd netbsd
|
// +build aix darwin dragonfly freebsd netbsd
|
||||||
|
|
||||||
package socket
|
package socket
|
||||||
|
|
||||||
|
2
vendor/golang.org/x/net/internal/socket/msghdr_stub.go
generated
vendored
2
vendor/golang.org/x/net/internal/socket/msghdr_stub.go
generated
vendored
@ -2,7 +2,7 @@
|
|||||||
// 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 !darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris
|
// +build !aix,!darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris
|
||||||
|
|
||||||
package socket
|
package socket
|
||||||
|
|
||||||
|
2
vendor/golang.org/x/net/internal/socket/rawconn_msg.go
generated
vendored
2
vendor/golang.org/x/net/internal/socket/rawconn_msg.go
generated
vendored
@ -2,7 +2,7 @@
|
|||||||
// 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 darwin dragonfly freebsd linux netbsd openbsd solaris windows
|
// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris windows
|
||||||
|
|
||||||
package socket
|
package socket
|
||||||
|
|
||||||
|
2
vendor/golang.org/x/net/internal/socket/rawconn_nomsg.go
generated
vendored
2
vendor/golang.org/x/net/internal/socket/rawconn_nomsg.go
generated
vendored
@ -2,7 +2,7 @@
|
|||||||
// 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 !darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris,!windows
|
// +build !aix,!darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris,!windows
|
||||||
|
|
||||||
package socket
|
package socket
|
||||||
|
|
||||||
|
2
vendor/golang.org/x/net/internal/socket/sys_bsd.go
generated
vendored
2
vendor/golang.org/x/net/internal/socket/sys_bsd.go
generated
vendored
@ -2,7 +2,7 @@
|
|||||||
// 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 darwin dragonfly freebsd openbsd
|
// +build aix darwin dragonfly freebsd openbsd
|
||||||
|
|
||||||
package socket
|
package socket
|
||||||
|
|
||||||
|
5
vendor/golang.org/x/net/internal/socket/sys_bsdvar.go
generated
vendored
5
vendor/golang.org/x/net/internal/socket/sys_bsdvar.go
generated
vendored
@ -2,7 +2,7 @@
|
|||||||
// 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 freebsd netbsd openbsd
|
// +build aix freebsd netbsd openbsd
|
||||||
|
|
||||||
package socket
|
package socket
|
||||||
|
|
||||||
@ -15,6 +15,9 @@ func probeProtocolStack() int {
|
|||||||
if (runtime.GOOS == "netbsd" || runtime.GOOS == "openbsd") && runtime.GOARCH == "arm" {
|
if (runtime.GOOS == "netbsd" || runtime.GOOS == "openbsd") && runtime.GOARCH == "arm" {
|
||||||
return 8
|
return 8
|
||||||
}
|
}
|
||||||
|
if runtime.GOOS == "aix" {
|
||||||
|
return 1
|
||||||
|
}
|
||||||
var p uintptr
|
var p uintptr
|
||||||
return int(unsafe.Sizeof(p))
|
return int(unsafe.Sizeof(p))
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
// 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.12
|
// +build aix go1.12,darwin
|
||||||
|
|
||||||
package socket
|
package socket
|
||||||
|
|
2
vendor/golang.org/x/net/internal/socket/sys_posix.go
generated
vendored
2
vendor/golang.org/x/net/internal/socket/sys_posix.go
generated
vendored
@ -2,7 +2,7 @@
|
|||||||
// 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 darwin dragonfly freebsd linux netbsd openbsd solaris windows
|
// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris windows
|
||||||
|
|
||||||
package socket
|
package socket
|
||||||
|
|
||||||
|
2
vendor/golang.org/x/net/internal/socket/sys_stub.go
generated
vendored
2
vendor/golang.org/x/net/internal/socket/sys_stub.go
generated
vendored
@ -2,7 +2,7 @@
|
|||||||
// 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 !darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris,!windows
|
// +build !aix,!darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris,!windows
|
||||||
|
|
||||||
package socket
|
package socket
|
||||||
|
|
||||||
|
69
vendor/golang.org/x/net/internal/socket/zsys_aix_ppc64.go
generated
vendored
Normal file
69
vendor/golang.org/x/net/internal/socket/zsys_aix_ppc64.go
generated
vendored
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
|
||||||
|
// cgo -godefs defs_aix.go
|
||||||
|
|
||||||
|
// Added for go1.11 compatibility
|
||||||
|
// +build aix
|
||||||
|
|
||||||
|
package socket
|
||||||
|
|
||||||
|
const (
|
||||||
|
sysAF_UNSPEC = 0x0
|
||||||
|
sysAF_INET = 0x2
|
||||||
|
sysAF_INET6 = 0x18
|
||||||
|
|
||||||
|
sysSOCK_RAW = 0x3
|
||||||
|
)
|
||||||
|
|
||||||
|
type iovec struct {
|
||||||
|
Base *byte
|
||||||
|
Len uint64
|
||||||
|
}
|
||||||
|
|
||||||
|
type msghdr struct {
|
||||||
|
Name *byte
|
||||||
|
Namelen uint32
|
||||||
|
Iov *iovec
|
||||||
|
Iovlen int32
|
||||||
|
Control *byte
|
||||||
|
Controllen uint32
|
||||||
|
Flags int32
|
||||||
|
}
|
||||||
|
|
||||||
|
type mmsghdr struct {
|
||||||
|
Hdr msghdr
|
||||||
|
Len uint32
|
||||||
|
Pad_cgo_0 [4]byte
|
||||||
|
}
|
||||||
|
|
||||||
|
type cmsghdr struct {
|
||||||
|
Len uint32
|
||||||
|
Level int32
|
||||||
|
Type int32
|
||||||
|
}
|
||||||
|
|
||||||
|
type sockaddrInet struct {
|
||||||
|
Len uint8
|
||||||
|
Family uint8
|
||||||
|
Port uint16
|
||||||
|
Addr [4]byte /* in_addr */
|
||||||
|
Zero [8]uint8
|
||||||
|
}
|
||||||
|
|
||||||
|
type sockaddrInet6 struct {
|
||||||
|
Len uint8
|
||||||
|
Family uint8
|
||||||
|
Port uint16
|
||||||
|
Flowinfo uint32
|
||||||
|
Addr [16]byte /* in6_addr */
|
||||||
|
Scope_id uint32
|
||||||
|
}
|
||||||
|
|
||||||
|
const (
|
||||||
|
sizeofIovec = 0x10
|
||||||
|
sizeofMsghdr = 0x30
|
||||||
|
sizeofMmsghdr = 0x38
|
||||||
|
sizeofCmsghdr = 0xc
|
||||||
|
|
||||||
|
sizeofSockaddrInet = 0x10
|
||||||
|
sizeofSockaddrInet6 = 0x1c
|
||||||
|
)
|
2
vendor/golang.org/x/net/ipv4/control_bsd.go
generated
vendored
2
vendor/golang.org/x/net/ipv4/control_bsd.go
generated
vendored
@ -2,7 +2,7 @@
|
|||||||
// 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 darwin dragonfly freebsd netbsd openbsd
|
// +build aix darwin dragonfly freebsd netbsd openbsd
|
||||||
|
|
||||||
package ipv4
|
package ipv4
|
||||||
|
|
||||||
|
2
vendor/golang.org/x/net/ipv4/control_stub.go
generated
vendored
2
vendor/golang.org/x/net/ipv4/control_stub.go
generated
vendored
@ -2,7 +2,7 @@
|
|||||||
// 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 !darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris,!windows
|
// +build !aix,!darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris,!windows
|
||||||
|
|
||||||
package ipv4
|
package ipv4
|
||||||
|
|
||||||
|
2
vendor/golang.org/x/net/ipv4/control_unix.go
generated
vendored
2
vendor/golang.org/x/net/ipv4/control_unix.go
generated
vendored
@ -2,7 +2,7 @@
|
|||||||
// 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 darwin dragonfly freebsd linux netbsd openbsd solaris
|
// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
|
||||||
|
|
||||||
package ipv4
|
package ipv4
|
||||||
|
|
||||||
|
39
vendor/golang.org/x/net/ipv4/defs_aix.go
generated
vendored
Normal file
39
vendor/golang.org/x/net/ipv4/defs_aix.go
generated
vendored
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
// Copyright 2019 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 ignore
|
||||||
|
|
||||||
|
// +godefs map struct_in_addr [4]byte /* in_addr */
|
||||||
|
|
||||||
|
package ipv4
|
||||||
|
|
||||||
|
/*
|
||||||
|
#include <netinet/in.h>
|
||||||
|
*/
|
||||||
|
import "C"
|
||||||
|
|
||||||
|
const (
|
||||||
|
sysIP_OPTIONS = C.IP_OPTIONS
|
||||||
|
sysIP_HDRINCL = C.IP_HDRINCL
|
||||||
|
sysIP_TOS = C.IP_TOS
|
||||||
|
sysIP_TTL = C.IP_TTL
|
||||||
|
sysIP_RECVOPTS = C.IP_RECVOPTS
|
||||||
|
sysIP_RECVRETOPTS = C.IP_RECVRETOPTS
|
||||||
|
sysIP_RECVDSTADDR = C.IP_RECVDSTADDR
|
||||||
|
sysIP_RETOPTS = C.IP_RETOPTS
|
||||||
|
// IP_RECVIF is defined on AIX but doesn't work.
|
||||||
|
// IP_RECVINTERFACE must be used instead.
|
||||||
|
sysIP_RECVIF = C.IP_RECVINTERFACE
|
||||||
|
sysIP_RECVTTL = C.IP_RECVTTL
|
||||||
|
|
||||||
|
sysIP_MULTICAST_IF = C.IP_MULTICAST_IF
|
||||||
|
sysIP_MULTICAST_TTL = C.IP_MULTICAST_TTL
|
||||||
|
sysIP_MULTICAST_LOOP = C.IP_MULTICAST_LOOP
|
||||||
|
sysIP_ADD_MEMBERSHIP = C.IP_ADD_MEMBERSHIP
|
||||||
|
sysIP_DROP_MEMBERSHIP = C.IP_DROP_MEMBERSHIP
|
||||||
|
|
||||||
|
sizeofIPMreq = C.sizeof_struct_ip_mreq
|
||||||
|
)
|
||||||
|
|
||||||
|
type ipMreq C.struct_ip_mreq
|
3
vendor/golang.org/x/net/ipv4/doc.go
generated
vendored
3
vendor/golang.org/x/net/ipv4/doc.go
generated
vendored
@ -241,5 +241,4 @@
|
|||||||
// IncludeSourceSpecificGroup may return an error.
|
// IncludeSourceSpecificGroup may return an error.
|
||||||
package ipv4 // import "golang.org/x/net/ipv4"
|
package ipv4 // import "golang.org/x/net/ipv4"
|
||||||
|
|
||||||
// BUG(mikio): This package is not implemented on AIX, JS, NaCl and
|
// BUG(mikio): This package is not implemented on JS, NaCl and Plan 9.
|
||||||
// Plan 9.
|
|
||||||
|
5
vendor/golang.org/x/net/ipv4/helper.go
generated
vendored
5
vendor/golang.org/x/net/ipv4/helper.go
generated
vendored
@ -24,14 +24,15 @@ var (
|
|||||||
errNoSuchMulticastInterface = errors.New("no such multicast interface")
|
errNoSuchMulticastInterface = errors.New("no such multicast interface")
|
||||||
errNotImplemented = errors.New("not implemented on " + runtime.GOOS + "/" + runtime.GOARCH)
|
errNotImplemented = errors.New("not implemented on " + runtime.GOOS + "/" + runtime.GOARCH)
|
||||||
|
|
||||||
// See http://www.freebsd.org/doc/en/books/porters-handbook/freebsd-versions.html.
|
// See https://www.freebsd.org/doc/en/books/porters-handbook/versions.html.
|
||||||
freebsdVersion uint32
|
freebsdVersion uint32
|
||||||
compatFreeBSD32 bool // 386 emulation on amd64
|
compatFreeBSD32 bool // 386 emulation on amd64
|
||||||
)
|
)
|
||||||
|
|
||||||
// See golang.org/issue/30899.
|
// See golang.org/issue/30899.
|
||||||
func adjustFreeBSD32(m *socket.Message) {
|
func adjustFreeBSD32(m *socket.Message) {
|
||||||
if freebsdVersion >= 1103000 {
|
// FreeBSD 12.0-RELEASE is affected by https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=236737
|
||||||
|
if 1200086 <= freebsdVersion && freebsdVersion < 1201000 {
|
||||||
l := (m.NN + 4 - 1) &^ (4 - 1)
|
l := (m.NN + 4 - 1) &^ (4 - 1)
|
||||||
if m.NN < l && l <= len(m.OOB) {
|
if m.NN < l && l <= len(m.OOB) {
|
||||||
m.NN = l
|
m.NN = l
|
||||||
|
2
vendor/golang.org/x/net/ipv4/payload_cmsg.go
generated
vendored
2
vendor/golang.org/x/net/ipv4/payload_cmsg.go
generated
vendored
@ -2,7 +2,7 @@
|
|||||||
// 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 darwin dragonfly freebsd linux netbsd openbsd solaris
|
// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
|
||||||
|
|
||||||
package ipv4
|
package ipv4
|
||||||
|
|
||||||
|
2
vendor/golang.org/x/net/ipv4/payload_nocmsg.go
generated
vendored
2
vendor/golang.org/x/net/ipv4/payload_nocmsg.go
generated
vendored
@ -2,7 +2,7 @@
|
|||||||
// 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 !darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris
|
// +build !aix,!darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris
|
||||||
|
|
||||||
package ipv4
|
package ipv4
|
||||||
|
|
||||||
|
2
vendor/golang.org/x/net/ipv4/sockopt_posix.go
generated
vendored
2
vendor/golang.org/x/net/ipv4/sockopt_posix.go
generated
vendored
@ -2,7 +2,7 @@
|
|||||||
// 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 darwin dragonfly freebsd linux netbsd openbsd solaris windows
|
// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris windows
|
||||||
|
|
||||||
package ipv4
|
package ipv4
|
||||||
|
|
||||||
|
2
vendor/golang.org/x/net/ipv4/sockopt_stub.go
generated
vendored
2
vendor/golang.org/x/net/ipv4/sockopt_stub.go
generated
vendored
@ -2,7 +2,7 @@
|
|||||||
// 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 !darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris,!windows
|
// +build !aix,!darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris,!windows
|
||||||
|
|
||||||
package ipv4
|
package ipv4
|
||||||
|
|
||||||
|
38
vendor/golang.org/x/net/ipv4/sys_aix.go
generated
vendored
Normal file
38
vendor/golang.org/x/net/ipv4/sys_aix.go
generated
vendored
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
// Copyright 2019 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.
|
||||||
|
|
||||||
|
// Added for go1.11 compatibility
|
||||||
|
// +build aix
|
||||||
|
|
||||||
|
package ipv4
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net"
|
||||||
|
"syscall"
|
||||||
|
|
||||||
|
"golang.org/x/net/internal/iana"
|
||||||
|
"golang.org/x/net/internal/socket"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
ctlOpts = [ctlMax]ctlOpt{
|
||||||
|
ctlTTL: {sysIP_RECVTTL, 1, marshalTTL, parseTTL},
|
||||||
|
ctlDst: {sysIP_RECVDSTADDR, net.IPv4len, marshalDst, parseDst},
|
||||||
|
ctlInterface: {sysIP_RECVIF, syscall.SizeofSockaddrDatalink, marshalInterface, parseInterface},
|
||||||
|
}
|
||||||
|
|
||||||
|
sockOpts = map[int]*sockOpt{
|
||||||
|
ssoTOS: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_TOS, Len: 4}},
|
||||||
|
ssoTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_TTL, Len: 4}},
|
||||||
|
ssoMulticastTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_MULTICAST_TTL, Len: 1}},
|
||||||
|
ssoMulticastInterface: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_MULTICAST_IF, Len: 4}},
|
||||||
|
ssoMulticastLoopback: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_MULTICAST_LOOP, Len: 1}},
|
||||||
|
ssoReceiveTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_RECVTTL, Len: 4}},
|
||||||
|
ssoReceiveDst: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_RECVDSTADDR, Len: 4}},
|
||||||
|
ssoReceiveInterface: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_RECVIF, Len: 4}},
|
||||||
|
ssoHeaderPrepend: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_HDRINCL, Len: 4}},
|
||||||
|
ssoJoinGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_ADD_MEMBERSHIP, Len: sizeofIPMreq}, typ: ssoTypeIPMreq},
|
||||||
|
ssoLeaveGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_DROP_MEMBERSHIP, Len: sizeofIPMreq}, typ: ssoTypeIPMreq},
|
||||||
|
}
|
||||||
|
)
|
2
vendor/golang.org/x/net/ipv4/sys_asmreq.go
generated
vendored
2
vendor/golang.org/x/net/ipv4/sys_asmreq.go
generated
vendored
@ -2,7 +2,7 @@
|
|||||||
// 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 darwin dragonfly freebsd netbsd openbsd solaris windows
|
// +build aix darwin dragonfly freebsd netbsd openbsd solaris windows
|
||||||
|
|
||||||
package ipv4
|
package ipv4
|
||||||
|
|
||||||
|
2
vendor/golang.org/x/net/ipv4/sys_asmreq_stub.go
generated
vendored
2
vendor/golang.org/x/net/ipv4/sys_asmreq_stub.go
generated
vendored
@ -2,7 +2,7 @@
|
|||||||
// 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 !darwin,!dragonfly,!freebsd,!netbsd,!openbsd,!solaris,!windows
|
// +build !aix,!darwin,!dragonfly,!freebsd,!netbsd,!openbsd,!solaris,!windows
|
||||||
|
|
||||||
package ipv4
|
package ipv4
|
||||||
|
|
||||||
|
2
vendor/golang.org/x/net/ipv4/sys_stub.go
generated
vendored
2
vendor/golang.org/x/net/ipv4/sys_stub.go
generated
vendored
@ -2,7 +2,7 @@
|
|||||||
// 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 !darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris,!windows
|
// +build !aix,!darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris,!windows
|
||||||
|
|
||||||
package ipv4
|
package ipv4
|
||||||
|
|
||||||
|
33
vendor/golang.org/x/net/ipv4/zsys_aix_ppc64.go
generated
vendored
Normal file
33
vendor/golang.org/x/net/ipv4/zsys_aix_ppc64.go
generated
vendored
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
|
||||||
|
// cgo -godefs defs_aix.go
|
||||||
|
|
||||||
|
// Added for go1.11 compatibility
|
||||||
|
// +build aix
|
||||||
|
|
||||||
|
package ipv4
|
||||||
|
|
||||||
|
const (
|
||||||
|
sysIP_OPTIONS = 0x1
|
||||||
|
sysIP_HDRINCL = 0x2
|
||||||
|
sysIP_TOS = 0x3
|
||||||
|
sysIP_TTL = 0x4
|
||||||
|
sysIP_RECVOPTS = 0x5
|
||||||
|
sysIP_RECVRETOPTS = 0x6
|
||||||
|
sysIP_RECVDSTADDR = 0x7
|
||||||
|
sysIP_RETOPTS = 0x8
|
||||||
|
sysIP_RECVIF = 0x20
|
||||||
|
sysIP_RECVTTL = 0x22
|
||||||
|
|
||||||
|
sysIP_MULTICAST_IF = 0x9
|
||||||
|
sysIP_MULTICAST_TTL = 0xa
|
||||||
|
sysIP_MULTICAST_LOOP = 0xb
|
||||||
|
sysIP_ADD_MEMBERSHIP = 0xc
|
||||||
|
sysIP_DROP_MEMBERSHIP = 0xd
|
||||||
|
|
||||||
|
sizeofIPMreq = 0x8
|
||||||
|
)
|
||||||
|
|
||||||
|
type ipMreq struct {
|
||||||
|
Multiaddr [4]byte /* in_addr */
|
||||||
|
Interface [4]byte /* in_addr */
|
||||||
|
}
|
4
vendor/golang.org/x/net/publicsuffix/list.go
generated
vendored
4
vendor/golang.org/x/net/publicsuffix/list.go
generated
vendored
@ -165,6 +165,10 @@ func nodeLabel(i uint32) string {
|
|||||||
// EffectiveTLDPlusOne returns the effective top level domain plus one more
|
// EffectiveTLDPlusOne returns the effective top level domain plus one more
|
||||||
// label. For example, the eTLD+1 for "foo.bar.golang.org" is "golang.org".
|
// label. For example, the eTLD+1 for "foo.bar.golang.org" is "golang.org".
|
||||||
func EffectiveTLDPlusOne(domain string) (string, error) {
|
func EffectiveTLDPlusOne(domain string) (string, error) {
|
||||||
|
if strings.HasPrefix(domain, ".") || strings.HasSuffix(domain, ".") || strings.Contains(domain, "..") {
|
||||||
|
return "", fmt.Errorf("publicsuffix: empty label in domain %q", domain)
|
||||||
|
}
|
||||||
|
|
||||||
suffix, _ := PublicSuffix(domain)
|
suffix, _ := PublicSuffix(domain)
|
||||||
if len(domain) <= len(suffix) {
|
if len(domain) <= len(suffix) {
|
||||||
return "", fmt.Errorf("publicsuffix: cannot derive eTLD+1 for domain %q", domain)
|
return "", fmt.Errorf("publicsuffix: cannot derive eTLD+1 for domain %q", domain)
|
||||||
|
29
vendor/golang.org/x/sys/unix/asm_openbsd_arm64.s
generated
vendored
Normal file
29
vendor/golang.org/x/sys/unix/asm_openbsd_arm64.s
generated
vendored
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
// Copyright 2019 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 !gccgo
|
||||||
|
|
||||||
|
#include "textflag.h"
|
||||||
|
|
||||||
|
//
|
||||||
|
// System call support for arm64, OpenBSD
|
||||||
|
//
|
||||||
|
|
||||||
|
// Just jump to package syscall's implementation for all these functions.
|
||||||
|
// The runtime may know about them.
|
||||||
|
|
||||||
|
TEXT ·Syscall(SB),NOSPLIT,$0-56
|
||||||
|
JMP syscall·Syscall(SB)
|
||||||
|
|
||||||
|
TEXT ·Syscall6(SB),NOSPLIT,$0-80
|
||||||
|
JMP syscall·Syscall6(SB)
|
||||||
|
|
||||||
|
TEXT ·Syscall9(SB),NOSPLIT,$0-104
|
||||||
|
JMP syscall·Syscall9(SB)
|
||||||
|
|
||||||
|
TEXT ·RawSyscall(SB),NOSPLIT,$0-56
|
||||||
|
JMP syscall·RawSyscall(SB)
|
||||||
|
|
||||||
|
TEXT ·RawSyscall6(SB),NOSPLIT,$0-80
|
||||||
|
JMP syscall·RawSyscall6(SB)
|
15
vendor/golang.org/x/sys/unix/mkall.sh
generated
vendored
15
vendor/golang.org/x/sys/unix/mkall.sh
generated
vendored
@ -149,21 +149,30 @@ netbsd_arm)
|
|||||||
openbsd_386)
|
openbsd_386)
|
||||||
mkerrors="$mkerrors -m32"
|
mkerrors="$mkerrors -m32"
|
||||||
mksyscall="go run mksyscall.go -l32 -openbsd"
|
mksyscall="go run mksyscall.go -l32 -openbsd"
|
||||||
mksysctl="./mksysctl_openbsd.pl"
|
mksysctl="go run mksysctl_openbsd.go"
|
||||||
mksysnum="go run mksysnum.go 'https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master'"
|
mksysnum="go run mksysnum.go 'https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master'"
|
||||||
mktypes="GOARCH=$GOARCH go tool cgo -godefs"
|
mktypes="GOARCH=$GOARCH go tool cgo -godefs"
|
||||||
;;
|
;;
|
||||||
openbsd_amd64)
|
openbsd_amd64)
|
||||||
mkerrors="$mkerrors -m64"
|
mkerrors="$mkerrors -m64"
|
||||||
mksyscall="go run mksyscall.go -openbsd"
|
mksyscall="go run mksyscall.go -openbsd"
|
||||||
mksysctl="./mksysctl_openbsd.pl"
|
mksysctl="go run mksysctl_openbsd.go"
|
||||||
mksysnum="go run mksysnum.go 'https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master'"
|
mksysnum="go run mksysnum.go 'https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master'"
|
||||||
mktypes="GOARCH=$GOARCH go tool cgo -godefs"
|
mktypes="GOARCH=$GOARCH go tool cgo -godefs"
|
||||||
;;
|
;;
|
||||||
openbsd_arm)
|
openbsd_arm)
|
||||||
mkerrors="$mkerrors"
|
mkerrors="$mkerrors"
|
||||||
mksyscall="go run mksyscall.go -l32 -openbsd -arm"
|
mksyscall="go run mksyscall.go -l32 -openbsd -arm"
|
||||||
mksysctl="./mksysctl_openbsd.pl"
|
mksysctl="go run mksysctl_openbsd.go"
|
||||||
|
mksysnum="go run mksysnum.go 'https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master'"
|
||||||
|
# Let the type of C char be signed for making the bare syscall
|
||||||
|
# API consistent across platforms.
|
||||||
|
mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char"
|
||||||
|
;;
|
||||||
|
openbsd_arm64)
|
||||||
|
mkerrors="$mkerrors -m64"
|
||||||
|
mksyscall="go run mksyscall.go -openbsd"
|
||||||
|
mksysctl="go run mksysctl_openbsd.go"
|
||||||
mksysnum="go run mksysnum.go 'https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master'"
|
mksysnum="go run mksysnum.go 'https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master'"
|
||||||
# Let the type of C char be signed for making the bare syscall
|
# Let the type of C char be signed for making the bare syscall
|
||||||
# API consistent across platforms.
|
# API consistent across platforms.
|
||||||
|
2
vendor/golang.org/x/sys/unix/mkerrors.sh
generated
vendored
2
vendor/golang.org/x/sys/unix/mkerrors.sh
generated
vendored
@ -222,6 +222,7 @@ struct ltchars {
|
|||||||
#include <linux/hdreg.h>
|
#include <linux/hdreg.h>
|
||||||
#include <linux/rtc.h>
|
#include <linux/rtc.h>
|
||||||
#include <linux/if_xdp.h>
|
#include <linux/if_xdp.h>
|
||||||
|
#include <linux/cryptouser.h>
|
||||||
#include <mtd/ubi-user.h>
|
#include <mtd/ubi-user.h>
|
||||||
#include <net/route.h>
|
#include <net/route.h>
|
||||||
|
|
||||||
@ -499,6 +500,7 @@ ccflags="$@"
|
|||||||
$2 ~ /^NFN/ ||
|
$2 ~ /^NFN/ ||
|
||||||
$2 ~ /^XDP_/ ||
|
$2 ~ /^XDP_/ ||
|
||||||
$2 ~ /^(HDIO|WIN|SMART)_/ ||
|
$2 ~ /^(HDIO|WIN|SMART)_/ ||
|
||||||
|
$2 ~ /^CRYPTO_/ ||
|
||||||
$2 !~ "WMESGLEN" &&
|
$2 !~ "WMESGLEN" &&
|
||||||
$2 ~ /^W[A-Z0-9]+$/ ||
|
$2 ~ /^W[A-Z0-9]+$/ ||
|
||||||
$2 ~/^PPPIOC/ ||
|
$2 ~/^PPPIOC/ ||
|
||||||
|
13
vendor/golang.org/x/sys/unix/mksyscall_aix_ppc.go
generated
vendored
13
vendor/golang.org/x/sys/unix/mksyscall_aix_ppc.go
generated
vendored
@ -214,6 +214,11 @@ func main() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if funct != "fcntl" && funct != "FcntlInt" && funct != "readlen" && funct != "writelen" {
|
if funct != "fcntl" && funct != "FcntlInt" && funct != "readlen" && funct != "writelen" {
|
||||||
|
if sysname == "select" {
|
||||||
|
// select is a keyword of Go. Its name is
|
||||||
|
// changed to c_select.
|
||||||
|
cExtern += "#define c_select select\n"
|
||||||
|
}
|
||||||
// Imports of system calls from libc
|
// Imports of system calls from libc
|
||||||
cExtern += fmt.Sprintf("%s %s", cRettype, sysname)
|
cExtern += fmt.Sprintf("%s %s", cRettype, sysname)
|
||||||
cIn := strings.Join(cIn, ", ")
|
cIn := strings.Join(cIn, ", ")
|
||||||
@ -328,7 +333,13 @@ func main() {
|
|||||||
} else {
|
} else {
|
||||||
call += ""
|
call += ""
|
||||||
}
|
}
|
||||||
call += fmt.Sprintf("C.%s(%s)", sysname, arglist)
|
if sysname == "select" {
|
||||||
|
// select is a keyword of Go. Its name is
|
||||||
|
// changed to c_select.
|
||||||
|
call += fmt.Sprintf("C.c_%s(%s)", sysname, arglist)
|
||||||
|
} else {
|
||||||
|
call += fmt.Sprintf("C.%s(%s)", sysname, arglist)
|
||||||
|
}
|
||||||
|
|
||||||
// Assign return values.
|
// Assign return values.
|
||||||
body := ""
|
body := ""
|
||||||
|
14
vendor/golang.org/x/sys/unix/mksyscall_aix_ppc64.go
generated
vendored
14
vendor/golang.org/x/sys/unix/mksyscall_aix_ppc64.go
generated
vendored
@ -282,6 +282,11 @@ func main() {
|
|||||||
if !onlyCommon {
|
if !onlyCommon {
|
||||||
// GCCGO Prototype Generation
|
// GCCGO Prototype Generation
|
||||||
// Imports of system calls from libc
|
// Imports of system calls from libc
|
||||||
|
if sysname == "select" {
|
||||||
|
// select is a keyword of Go. Its name is
|
||||||
|
// changed to c_select.
|
||||||
|
cExtern += "#define c_select select\n"
|
||||||
|
}
|
||||||
cExtern += fmt.Sprintf("%s %s", cRettype, sysname)
|
cExtern += fmt.Sprintf("%s %s", cRettype, sysname)
|
||||||
cIn := strings.Join(cIn, ", ")
|
cIn := strings.Join(cIn, ", ")
|
||||||
cExtern += fmt.Sprintf("(%s);\n", cIn)
|
cExtern += fmt.Sprintf("(%s);\n", cIn)
|
||||||
@ -490,7 +495,14 @@ func main() {
|
|||||||
|
|
||||||
// GCCGO function generation
|
// GCCGO function generation
|
||||||
argsgccgolist := strings.Join(argsgccgo, ", ")
|
argsgccgolist := strings.Join(argsgccgo, ", ")
|
||||||
callgccgo := fmt.Sprintf("C.%s(%s)", sysname, argsgccgolist)
|
var callgccgo string
|
||||||
|
if sysname == "select" {
|
||||||
|
// select is a keyword of Go. Its name is
|
||||||
|
// changed to c_select.
|
||||||
|
callgccgo = fmt.Sprintf("C.c_%s(%s)", sysname, argsgccgolist)
|
||||||
|
} else {
|
||||||
|
callgccgo = fmt.Sprintf("C.%s(%s)", sysname, argsgccgolist)
|
||||||
|
}
|
||||||
textgccgo += callProto
|
textgccgo += callProto
|
||||||
textgccgo += fmt.Sprintf("\tr1 = uintptr(%s)\n", callgccgo)
|
textgccgo += fmt.Sprintf("\tr1 = uintptr(%s)\n", callgccgo)
|
||||||
textgccgo += "\te1 = syscall.GetErrno()\n"
|
textgccgo += "\te1 = syscall.GetErrno()\n"
|
||||||
|
355
vendor/golang.org/x/sys/unix/mksysctl_openbsd.go
generated
vendored
Normal file
355
vendor/golang.org/x/sys/unix/mksysctl_openbsd.go
generated
vendored
Normal file
@ -0,0 +1,355 @@
|
|||||||
|
// Copyright 2019 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 ignore
|
||||||
|
|
||||||
|
// Parse the header files for OpenBSD and generate a Go usable sysctl MIB.
|
||||||
|
//
|
||||||
|
// Build a MIB with each entry being an array containing the level, type and
|
||||||
|
// a hash that will contain additional entries if the current entry is a node.
|
||||||
|
// We then walk this MIB and create a flattened sysctl name to OID hash.
|
||||||
|
|
||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"bufio"
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
"path/filepath"
|
||||||
|
"regexp"
|
||||||
|
"sort"
|
||||||
|
"strings"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
goos, goarch string
|
||||||
|
)
|
||||||
|
|
||||||
|
// cmdLine returns this programs's commandline arguments.
|
||||||
|
func cmdLine() string {
|
||||||
|
return "go run mksysctl_openbsd.go " + strings.Join(os.Args[1:], " ")
|
||||||
|
}
|
||||||
|
|
||||||
|
// buildTags returns build tags.
|
||||||
|
func buildTags() string {
|
||||||
|
return fmt.Sprintf("%s,%s", goarch, goos)
|
||||||
|
}
|
||||||
|
|
||||||
|
// reMatch performs regular expression match and stores the substring slice to value pointed by m.
|
||||||
|
func reMatch(re *regexp.Regexp, str string, m *[]string) bool {
|
||||||
|
*m = re.FindStringSubmatch(str)
|
||||||
|
if *m != nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
type nodeElement struct {
|
||||||
|
n int
|
||||||
|
t string
|
||||||
|
pE *map[string]nodeElement
|
||||||
|
}
|
||||||
|
|
||||||
|
var (
|
||||||
|
debugEnabled bool
|
||||||
|
mib map[string]nodeElement
|
||||||
|
node *map[string]nodeElement
|
||||||
|
nodeMap map[string]string
|
||||||
|
sysCtl []string
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
ctlNames1RE = regexp.MustCompile(`^#define\s+(CTL_NAMES)\s+{`)
|
||||||
|
ctlNames2RE = regexp.MustCompile(`^#define\s+(CTL_(.*)_NAMES)\s+{`)
|
||||||
|
ctlNames3RE = regexp.MustCompile(`^#define\s+((.*)CTL_NAMES)\s+{`)
|
||||||
|
netInetRE = regexp.MustCompile(`^netinet/`)
|
||||||
|
netInet6RE = regexp.MustCompile(`^netinet6/`)
|
||||||
|
netRE = regexp.MustCompile(`^net/`)
|
||||||
|
bracesRE = regexp.MustCompile(`{.*}`)
|
||||||
|
ctlTypeRE = regexp.MustCompile(`{\s+"(\w+)",\s+(CTLTYPE_[A-Z]+)\s+}`)
|
||||||
|
fsNetKernRE = regexp.MustCompile(`^(fs|net|kern)_`)
|
||||||
|
)
|
||||||
|
|
||||||
|
func debug(s string) {
|
||||||
|
if debugEnabled {
|
||||||
|
fmt.Fprintln(os.Stderr, s)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Walk the MIB and build a sysctl name to OID mapping.
|
||||||
|
func buildSysctl(pNode *map[string]nodeElement, name string, oid []int) {
|
||||||
|
lNode := pNode // local copy of pointer to node
|
||||||
|
var keys []string
|
||||||
|
for k := range *lNode {
|
||||||
|
keys = append(keys, k)
|
||||||
|
}
|
||||||
|
sort.Strings(keys)
|
||||||
|
|
||||||
|
for _, key := range keys {
|
||||||
|
nodename := name
|
||||||
|
if name != "" {
|
||||||
|
nodename += "."
|
||||||
|
}
|
||||||
|
nodename += key
|
||||||
|
|
||||||
|
nodeoid := append(oid, (*pNode)[key].n)
|
||||||
|
|
||||||
|
if (*pNode)[key].t == `CTLTYPE_NODE` {
|
||||||
|
if _, ok := nodeMap[nodename]; ok {
|
||||||
|
lNode = &mib
|
||||||
|
ctlName := nodeMap[nodename]
|
||||||
|
for _, part := range strings.Split(ctlName, ".") {
|
||||||
|
lNode = ((*lNode)[part]).pE
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
lNode = (*pNode)[key].pE
|
||||||
|
}
|
||||||
|
buildSysctl(lNode, nodename, nodeoid)
|
||||||
|
} else if (*pNode)[key].t != "" {
|
||||||
|
oidStr := []string{}
|
||||||
|
for j := range nodeoid {
|
||||||
|
oidStr = append(oidStr, fmt.Sprintf("%d", nodeoid[j]))
|
||||||
|
}
|
||||||
|
text := "\t{ \"" + nodename + "\", []_C_int{ " + strings.Join(oidStr, ", ") + " } }, \n"
|
||||||
|
sysCtl = append(sysCtl, text)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
// Get the OS (using GOOS_TARGET if it exist)
|
||||||
|
goos = os.Getenv("GOOS_TARGET")
|
||||||
|
if goos == "" {
|
||||||
|
goos = os.Getenv("GOOS")
|
||||||
|
}
|
||||||
|
// Get the architecture (using GOARCH_TARGET if it exists)
|
||||||
|
goarch = os.Getenv("GOARCH_TARGET")
|
||||||
|
if goarch == "" {
|
||||||
|
goarch = os.Getenv("GOARCH")
|
||||||
|
}
|
||||||
|
// Check if GOOS and GOARCH environment variables are defined
|
||||||
|
if goarch == "" || goos == "" {
|
||||||
|
fmt.Fprintf(os.Stderr, "GOARCH or GOOS not defined in environment\n")
|
||||||
|
os.Exit(1)
|
||||||
|
}
|
||||||
|
|
||||||
|
mib = make(map[string]nodeElement)
|
||||||
|
headers := [...]string{
|
||||||
|
`sys/sysctl.h`,
|
||||||
|
`sys/socket.h`,
|
||||||
|
`sys/tty.h`,
|
||||||
|
`sys/malloc.h`,
|
||||||
|
`sys/mount.h`,
|
||||||
|
`sys/namei.h`,
|
||||||
|
`sys/sem.h`,
|
||||||
|
`sys/shm.h`,
|
||||||
|
`sys/vmmeter.h`,
|
||||||
|
`uvm/uvmexp.h`,
|
||||||
|
`uvm/uvm_param.h`,
|
||||||
|
`uvm/uvm_swap_encrypt.h`,
|
||||||
|
`ddb/db_var.h`,
|
||||||
|
`net/if.h`,
|
||||||
|
`net/if_pfsync.h`,
|
||||||
|
`net/pipex.h`,
|
||||||
|
`netinet/in.h`,
|
||||||
|
`netinet/icmp_var.h`,
|
||||||
|
`netinet/igmp_var.h`,
|
||||||
|
`netinet/ip_ah.h`,
|
||||||
|
`netinet/ip_carp.h`,
|
||||||
|
`netinet/ip_divert.h`,
|
||||||
|
`netinet/ip_esp.h`,
|
||||||
|
`netinet/ip_ether.h`,
|
||||||
|
`netinet/ip_gre.h`,
|
||||||
|
`netinet/ip_ipcomp.h`,
|
||||||
|
`netinet/ip_ipip.h`,
|
||||||
|
`netinet/pim_var.h`,
|
||||||
|
`netinet/tcp_var.h`,
|
||||||
|
`netinet/udp_var.h`,
|
||||||
|
`netinet6/in6.h`,
|
||||||
|
`netinet6/ip6_divert.h`,
|
||||||
|
`netinet6/pim6_var.h`,
|
||||||
|
`netinet/icmp6.h`,
|
||||||
|
`netmpls/mpls.h`,
|
||||||
|
}
|
||||||
|
|
||||||
|
ctls := [...]string{
|
||||||
|
`kern`,
|
||||||
|
`vm`,
|
||||||
|
`fs`,
|
||||||
|
`net`,
|
||||||
|
//debug /* Special handling required */
|
||||||
|
`hw`,
|
||||||
|
//machdep /* Arch specific */
|
||||||
|
`user`,
|
||||||
|
`ddb`,
|
||||||
|
//vfs /* Special handling required */
|
||||||
|
`fs.posix`,
|
||||||
|
`kern.forkstat`,
|
||||||
|
`kern.intrcnt`,
|
||||||
|
`kern.malloc`,
|
||||||
|
`kern.nchstats`,
|
||||||
|
`kern.seminfo`,
|
||||||
|
`kern.shminfo`,
|
||||||
|
`kern.timecounter`,
|
||||||
|
`kern.tty`,
|
||||||
|
`kern.watchdog`,
|
||||||
|
`net.bpf`,
|
||||||
|
`net.ifq`,
|
||||||
|
`net.inet`,
|
||||||
|
`net.inet.ah`,
|
||||||
|
`net.inet.carp`,
|
||||||
|
`net.inet.divert`,
|
||||||
|
`net.inet.esp`,
|
||||||
|
`net.inet.etherip`,
|
||||||
|
`net.inet.gre`,
|
||||||
|
`net.inet.icmp`,
|
||||||
|
`net.inet.igmp`,
|
||||||
|
`net.inet.ip`,
|
||||||
|
`net.inet.ip.ifq`,
|
||||||
|
`net.inet.ipcomp`,
|
||||||
|
`net.inet.ipip`,
|
||||||
|
`net.inet.mobileip`,
|
||||||
|
`net.inet.pfsync`,
|
||||||
|
`net.inet.pim`,
|
||||||
|
`net.inet.tcp`,
|
||||||
|
`net.inet.udp`,
|
||||||
|
`net.inet6`,
|
||||||
|
`net.inet6.divert`,
|
||||||
|
`net.inet6.ip6`,
|
||||||
|
`net.inet6.icmp6`,
|
||||||
|
`net.inet6.pim6`,
|
||||||
|
`net.inet6.tcp6`,
|
||||||
|
`net.inet6.udp6`,
|
||||||
|
`net.mpls`,
|
||||||
|
`net.mpls.ifq`,
|
||||||
|
`net.key`,
|
||||||
|
`net.pflow`,
|
||||||
|
`net.pfsync`,
|
||||||
|
`net.pipex`,
|
||||||
|
`net.rt`,
|
||||||
|
`vm.swapencrypt`,
|
||||||
|
//vfsgenctl /* Special handling required */
|
||||||
|
}
|
||||||
|
|
||||||
|
// Node name "fixups"
|
||||||
|
ctlMap := map[string]string{
|
||||||
|
"ipproto": "net.inet",
|
||||||
|
"net.inet.ipproto": "net.inet",
|
||||||
|
"net.inet6.ipv6proto": "net.inet6",
|
||||||
|
"net.inet6.ipv6": "net.inet6.ip6",
|
||||||
|
"net.inet.icmpv6": "net.inet6.icmp6",
|
||||||
|
"net.inet6.divert6": "net.inet6.divert",
|
||||||
|
"net.inet6.tcp6": "net.inet.tcp",
|
||||||
|
"net.inet6.udp6": "net.inet.udp",
|
||||||
|
"mpls": "net.mpls",
|
||||||
|
"swpenc": "vm.swapencrypt",
|
||||||
|
}
|
||||||
|
|
||||||
|
// Node mappings
|
||||||
|
nodeMap = map[string]string{
|
||||||
|
"net.inet.ip.ifq": "net.ifq",
|
||||||
|
"net.inet.pfsync": "net.pfsync",
|
||||||
|
"net.mpls.ifq": "net.ifq",
|
||||||
|
}
|
||||||
|
|
||||||
|
mCtls := make(map[string]bool)
|
||||||
|
for _, ctl := range ctls {
|
||||||
|
mCtls[ctl] = true
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, header := range headers {
|
||||||
|
debug("Processing " + header)
|
||||||
|
file, err := os.Open(filepath.Join("/usr/include", header))
|
||||||
|
if err != nil {
|
||||||
|
fmt.Fprintf(os.Stderr, "%v\n", err)
|
||||||
|
os.Exit(1)
|
||||||
|
}
|
||||||
|
s := bufio.NewScanner(file)
|
||||||
|
for s.Scan() {
|
||||||
|
var sub []string
|
||||||
|
if reMatch(ctlNames1RE, s.Text(), &sub) ||
|
||||||
|
reMatch(ctlNames2RE, s.Text(), &sub) ||
|
||||||
|
reMatch(ctlNames3RE, s.Text(), &sub) {
|
||||||
|
if sub[1] == `CTL_NAMES` {
|
||||||
|
// Top level.
|
||||||
|
node = &mib
|
||||||
|
} else {
|
||||||
|
// Node.
|
||||||
|
nodename := strings.ToLower(sub[2])
|
||||||
|
ctlName := ""
|
||||||
|
if reMatch(netInetRE, header, &sub) {
|
||||||
|
ctlName = "net.inet." + nodename
|
||||||
|
} else if reMatch(netInet6RE, header, &sub) {
|
||||||
|
ctlName = "net.inet6." + nodename
|
||||||
|
} else if reMatch(netRE, header, &sub) {
|
||||||
|
ctlName = "net." + nodename
|
||||||
|
} else {
|
||||||
|
ctlName = nodename
|
||||||
|
ctlName = fsNetKernRE.ReplaceAllString(ctlName, `$1.`)
|
||||||
|
}
|
||||||
|
|
||||||
|
if val, ok := ctlMap[ctlName]; ok {
|
||||||
|
ctlName = val
|
||||||
|
}
|
||||||
|
if _, ok := mCtls[ctlName]; !ok {
|
||||||
|
debug("Ignoring " + ctlName + "...")
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
// Walk down from the top of the MIB.
|
||||||
|
node = &mib
|
||||||
|
for _, part := range strings.Split(ctlName, ".") {
|
||||||
|
if _, ok := (*node)[part]; !ok {
|
||||||
|
debug("Missing node " + part)
|
||||||
|
(*node)[part] = nodeElement{n: 0, t: "", pE: &map[string]nodeElement{}}
|
||||||
|
}
|
||||||
|
node = (*node)[part].pE
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Populate current node with entries.
|
||||||
|
i := -1
|
||||||
|
for !strings.HasPrefix(s.Text(), "}") {
|
||||||
|
s.Scan()
|
||||||
|
if reMatch(bracesRE, s.Text(), &sub) {
|
||||||
|
i++
|
||||||
|
}
|
||||||
|
if !reMatch(ctlTypeRE, s.Text(), &sub) {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
(*node)[sub[1]] = nodeElement{n: i, t: sub[2], pE: &map[string]nodeElement{}}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
err = s.Err()
|
||||||
|
if err != nil {
|
||||||
|
fmt.Fprintf(os.Stderr, "%v\n", err)
|
||||||
|
os.Exit(1)
|
||||||
|
}
|
||||||
|
file.Close()
|
||||||
|
}
|
||||||
|
buildSysctl(&mib, "", []int{})
|
||||||
|
|
||||||
|
sort.Strings(sysCtl)
|
||||||
|
text := strings.Join(sysCtl, "")
|
||||||
|
|
||||||
|
fmt.Printf(srcTemplate, cmdLine(), buildTags(), text)
|
||||||
|
}
|
||||||
|
|
||||||
|
const srcTemplate = `// %s
|
||||||
|
// Code generated by the command above; DO NOT EDIT.
|
||||||
|
|
||||||
|
// +build %s
|
||||||
|
|
||||||
|
package unix
|
||||||
|
|
||||||
|
type mibentry struct {
|
||||||
|
ctlname string
|
||||||
|
ctloid []_C_int
|
||||||
|
}
|
||||||
|
|
||||||
|
var sysctlMib = []mibentry {
|
||||||
|
%s
|
||||||
|
}
|
||||||
|
`
|
265
vendor/golang.org/x/sys/unix/mksysctl_openbsd.pl
generated
vendored
265
vendor/golang.org/x/sys/unix/mksysctl_openbsd.pl
generated
vendored
@ -1,265 +0,0 @@
|
|||||||
#!/usr/bin/env perl
|
|
||||||
|
|
||||||
# Copyright 2011 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.
|
|
||||||
|
|
||||||
#
|
|
||||||
# Parse the header files for OpenBSD and generate a Go usable sysctl MIB.
|
|
||||||
#
|
|
||||||
# Build a MIB with each entry being an array containing the level, type and
|
|
||||||
# a hash that will contain additional entries if the current entry is a node.
|
|
||||||
# We then walk this MIB and create a flattened sysctl name to OID hash.
|
|
||||||
#
|
|
||||||
|
|
||||||
use strict;
|
|
||||||
|
|
||||||
if($ENV{'GOARCH'} eq "" || $ENV{'GOOS'} eq "") {
|
|
||||||
print STDERR "GOARCH or GOOS not defined in environment\n";
|
|
||||||
exit 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
my $debug = 0;
|
|
||||||
my %ctls = ();
|
|
||||||
|
|
||||||
my @headers = qw (
|
|
||||||
sys/sysctl.h
|
|
||||||
sys/socket.h
|
|
||||||
sys/tty.h
|
|
||||||
sys/malloc.h
|
|
||||||
sys/mount.h
|
|
||||||
sys/namei.h
|
|
||||||
sys/sem.h
|
|
||||||
sys/shm.h
|
|
||||||
sys/vmmeter.h
|
|
||||||
uvm/uvmexp.h
|
|
||||||
uvm/uvm_param.h
|
|
||||||
uvm/uvm_swap_encrypt.h
|
|
||||||
ddb/db_var.h
|
|
||||||
net/if.h
|
|
||||||
net/if_pfsync.h
|
|
||||||
net/pipex.h
|
|
||||||
netinet/in.h
|
|
||||||
netinet/icmp_var.h
|
|
||||||
netinet/igmp_var.h
|
|
||||||
netinet/ip_ah.h
|
|
||||||
netinet/ip_carp.h
|
|
||||||
netinet/ip_divert.h
|
|
||||||
netinet/ip_esp.h
|
|
||||||
netinet/ip_ether.h
|
|
||||||
netinet/ip_gre.h
|
|
||||||
netinet/ip_ipcomp.h
|
|
||||||
netinet/ip_ipip.h
|
|
||||||
netinet/pim_var.h
|
|
||||||
netinet/tcp_var.h
|
|
||||||
netinet/udp_var.h
|
|
||||||
netinet6/in6.h
|
|
||||||
netinet6/ip6_divert.h
|
|
||||||
netinet6/pim6_var.h
|
|
||||||
netinet/icmp6.h
|
|
||||||
netmpls/mpls.h
|
|
||||||
);
|
|
||||||
|
|
||||||
my @ctls = qw (
|
|
||||||
kern
|
|
||||||
vm
|
|
||||||
fs
|
|
||||||
net
|
|
||||||
#debug # Special handling required
|
|
||||||
hw
|
|
||||||
#machdep # Arch specific
|
|
||||||
user
|
|
||||||
ddb
|
|
||||||
#vfs # Special handling required
|
|
||||||
fs.posix
|
|
||||||
kern.forkstat
|
|
||||||
kern.intrcnt
|
|
||||||
kern.malloc
|
|
||||||
kern.nchstats
|
|
||||||
kern.seminfo
|
|
||||||
kern.shminfo
|
|
||||||
kern.timecounter
|
|
||||||
kern.tty
|
|
||||||
kern.watchdog
|
|
||||||
net.bpf
|
|
||||||
net.ifq
|
|
||||||
net.inet
|
|
||||||
net.inet.ah
|
|
||||||
net.inet.carp
|
|
||||||
net.inet.divert
|
|
||||||
net.inet.esp
|
|
||||||
net.inet.etherip
|
|
||||||
net.inet.gre
|
|
||||||
net.inet.icmp
|
|
||||||
net.inet.igmp
|
|
||||||
net.inet.ip
|
|
||||||
net.inet.ip.ifq
|
|
||||||
net.inet.ipcomp
|
|
||||||
net.inet.ipip
|
|
||||||
net.inet.mobileip
|
|
||||||
net.inet.pfsync
|
|
||||||
net.inet.pim
|
|
||||||
net.inet.tcp
|
|
||||||
net.inet.udp
|
|
||||||
net.inet6
|
|
||||||
net.inet6.divert
|
|
||||||
net.inet6.ip6
|
|
||||||
net.inet6.icmp6
|
|
||||||
net.inet6.pim6
|
|
||||||
net.inet6.tcp6
|
|
||||||
net.inet6.udp6
|
|
||||||
net.mpls
|
|
||||||
net.mpls.ifq
|
|
||||||
net.key
|
|
||||||
net.pflow
|
|
||||||
net.pfsync
|
|
||||||
net.pipex
|
|
||||||
net.rt
|
|
||||||
vm.swapencrypt
|
|
||||||
#vfsgenctl # Special handling required
|
|
||||||
);
|
|
||||||
|
|
||||||
# Node name "fixups"
|
|
||||||
my %ctl_map = (
|
|
||||||
"ipproto" => "net.inet",
|
|
||||||
"net.inet.ipproto" => "net.inet",
|
|
||||||
"net.inet6.ipv6proto" => "net.inet6",
|
|
||||||
"net.inet6.ipv6" => "net.inet6.ip6",
|
|
||||||
"net.inet.icmpv6" => "net.inet6.icmp6",
|
|
||||||
"net.inet6.divert6" => "net.inet6.divert",
|
|
||||||
"net.inet6.tcp6" => "net.inet.tcp",
|
|
||||||
"net.inet6.udp6" => "net.inet.udp",
|
|
||||||
"mpls" => "net.mpls",
|
|
||||||
"swpenc" => "vm.swapencrypt"
|
|
||||||
);
|
|
||||||
|
|
||||||
# Node mappings
|
|
||||||
my %node_map = (
|
|
||||||
"net.inet.ip.ifq" => "net.ifq",
|
|
||||||
"net.inet.pfsync" => "net.pfsync",
|
|
||||||
"net.mpls.ifq" => "net.ifq"
|
|
||||||
);
|
|
||||||
|
|
||||||
my $ctlname;
|
|
||||||
my %mib = ();
|
|
||||||
my %sysctl = ();
|
|
||||||
my $node;
|
|
||||||
|
|
||||||
sub debug() {
|
|
||||||
print STDERR "$_[0]\n" if $debug;
|
|
||||||
}
|
|
||||||
|
|
||||||
# Walk the MIB and build a sysctl name to OID mapping.
|
|
||||||
sub build_sysctl() {
|
|
||||||
my ($node, $name, $oid) = @_;
|
|
||||||
my %node = %{$node};
|
|
||||||
my @oid = @{$oid};
|
|
||||||
|
|
||||||
foreach my $key (sort keys %node) {
|
|
||||||
my @node = @{$node{$key}};
|
|
||||||
my $nodename = $name.($name ne '' ? '.' : '').$key;
|
|
||||||
my @nodeoid = (@oid, $node[0]);
|
|
||||||
if ($node[1] eq 'CTLTYPE_NODE') {
|
|
||||||
if (exists $node_map{$nodename}) {
|
|
||||||
$node = \%mib;
|
|
||||||
$ctlname = $node_map{$nodename};
|
|
||||||
foreach my $part (split /\./, $ctlname) {
|
|
||||||
$node = \%{@{$$node{$part}}[2]};
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
$node = $node[2];
|
|
||||||
}
|
|
||||||
&build_sysctl($node, $nodename, \@nodeoid);
|
|
||||||
} elsif ($node[1] ne '') {
|
|
||||||
$sysctl{$nodename} = \@nodeoid;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach my $ctl (@ctls) {
|
|
||||||
$ctls{$ctl} = $ctl;
|
|
||||||
}
|
|
||||||
|
|
||||||
# Build MIB
|
|
||||||
foreach my $header (@headers) {
|
|
||||||
&debug("Processing $header...");
|
|
||||||
open HEADER, "/usr/include/$header" ||
|
|
||||||
print STDERR "Failed to open $header\n";
|
|
||||||
while (<HEADER>) {
|
|
||||||
if ($_ =~ /^#define\s+(CTL_NAMES)\s+{/ ||
|
|
||||||
$_ =~ /^#define\s+(CTL_(.*)_NAMES)\s+{/ ||
|
|
||||||
$_ =~ /^#define\s+((.*)CTL_NAMES)\s+{/) {
|
|
||||||
if ($1 eq 'CTL_NAMES') {
|
|
||||||
# Top level.
|
|
||||||
$node = \%mib;
|
|
||||||
} else {
|
|
||||||
# Node.
|
|
||||||
my $nodename = lc($2);
|
|
||||||
if ($header =~ /^netinet\//) {
|
|
||||||
$ctlname = "net.inet.$nodename";
|
|
||||||
} elsif ($header =~ /^netinet6\//) {
|
|
||||||
$ctlname = "net.inet6.$nodename";
|
|
||||||
} elsif ($header =~ /^net\//) {
|
|
||||||
$ctlname = "net.$nodename";
|
|
||||||
} else {
|
|
||||||
$ctlname = "$nodename";
|
|
||||||
$ctlname =~ s/^(fs|net|kern)_/$1\./;
|
|
||||||
}
|
|
||||||
if (exists $ctl_map{$ctlname}) {
|
|
||||||
$ctlname = $ctl_map{$ctlname};
|
|
||||||
}
|
|
||||||
if (not exists $ctls{$ctlname}) {
|
|
||||||
&debug("Ignoring $ctlname...");
|
|
||||||
next;
|
|
||||||
}
|
|
||||||
|
|
||||||
# Walk down from the top of the MIB.
|
|
||||||
$node = \%mib;
|
|
||||||
foreach my $part (split /\./, $ctlname) {
|
|
||||||
if (not exists $$node{$part}) {
|
|
||||||
&debug("Missing node $part");
|
|
||||||
$$node{$part} = [ 0, '', {} ];
|
|
||||||
}
|
|
||||||
$node = \%{@{$$node{$part}}[2]};
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# Populate current node with entries.
|
|
||||||
my $i = -1;
|
|
||||||
while (defined($_) && $_ !~ /^}/) {
|
|
||||||
$_ = <HEADER>;
|
|
||||||
$i++ if $_ =~ /{.*}/;
|
|
||||||
next if $_ !~ /{\s+"(\w+)",\s+(CTLTYPE_[A-Z]+)\s+}/;
|
|
||||||
$$node{$1} = [ $i, $2, {} ];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
close HEADER;
|
|
||||||
}
|
|
||||||
|
|
||||||
&build_sysctl(\%mib, "", []);
|
|
||||||
|
|
||||||
print <<EOF;
|
|
||||||
// mksysctl_openbsd.pl
|
|
||||||
// Code generated by the command above; DO NOT EDIT.
|
|
||||||
|
|
||||||
// +build $ENV{'GOARCH'},$ENV{'GOOS'}
|
|
||||||
|
|
||||||
package unix;
|
|
||||||
|
|
||||||
type mibentry struct {
|
|
||||||
ctlname string
|
|
||||||
ctloid []_C_int
|
|
||||||
}
|
|
||||||
|
|
||||||
var sysctlMib = []mibentry {
|
|
||||||
EOF
|
|
||||||
|
|
||||||
foreach my $name (sort keys %sysctl) {
|
|
||||||
my @oid = @{$sysctl{$name}};
|
|
||||||
print "\t{ \"$name\", []_C_int{ ", join(', ', @oid), " } }, \n";
|
|
||||||
}
|
|
||||||
|
|
||||||
print <<EOF;
|
|
||||||
}
|
|
||||||
EOF
|
|
@ -2,9 +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 openbsd
|
|
||||||
// +build 386 amd64 arm
|
|
||||||
|
|
||||||
package unix
|
package unix
|
||||||
|
|
||||||
import (
|
import (
|
3
vendor/golang.org/x/sys/unix/sockcmsg_unix.go
generated
vendored
3
vendor/golang.org/x/sys/unix/sockcmsg_unix.go
generated
vendored
@ -18,6 +18,9 @@ func cmsgAlignOf(salen int) int {
|
|||||||
salign := SizeofPtr
|
salign := SizeofPtr
|
||||||
|
|
||||||
switch runtime.GOOS {
|
switch runtime.GOOS {
|
||||||
|
case "aix":
|
||||||
|
// There is no alignment on AIX.
|
||||||
|
salign = 1
|
||||||
case "darwin", "dragonfly", "solaris":
|
case "darwin", "dragonfly", "solaris":
|
||||||
// NOTE: It seems like 64-bit Darwin, DragonFly BSD and
|
// NOTE: It seems like 64-bit Darwin, DragonFly BSD and
|
||||||
// Solaris kernels still require 32-bit aligned access to
|
// Solaris kernels still require 32-bit aligned access to
|
||||||
|
20
vendor/golang.org/x/sys/unix/syscall_aix.go
generated
vendored
20
vendor/golang.org/x/sys/unix/syscall_aix.go
generated
vendored
@ -444,8 +444,6 @@ func IoctlGetTermios(fd int, req uint) (*Termios, error) {
|
|||||||
//sysnb Times(tms *Tms) (ticks uintptr, err error)
|
//sysnb Times(tms *Tms) (ticks uintptr, err error)
|
||||||
//sysnb Umask(mask int) (oldmask int)
|
//sysnb Umask(mask int) (oldmask int)
|
||||||
//sysnb Uname(buf *Utsname) (err error)
|
//sysnb Uname(buf *Utsname) (err error)
|
||||||
//TODO umount
|
|
||||||
// //sys Unmount(target string, flags int) (err error) = umount
|
|
||||||
//sys Unlink(path string) (err error)
|
//sys Unlink(path string) (err error)
|
||||||
//sys Unlinkat(dirfd int, path string, flags int) (err error)
|
//sys Unlinkat(dirfd int, path string, flags int) (err error)
|
||||||
//sys Ustat(dev int, ubuf *Ustat_t) (err error)
|
//sys Ustat(dev int, ubuf *Ustat_t) (err error)
|
||||||
@ -470,8 +468,7 @@ func IoctlGetTermios(fd int, req uint) (*Termios, error) {
|
|||||||
//sys Pause() (err error)
|
//sys Pause() (err error)
|
||||||
//sys Pread(fd int, p []byte, offset int64) (n int, err error) = pread64
|
//sys Pread(fd int, p []byte, offset int64) (n int, err error) = pread64
|
||||||
//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = pwrite64
|
//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = pwrite64
|
||||||
//TODO Select
|
//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error)
|
||||||
// //sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error)
|
|
||||||
//sys Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error)
|
//sys Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error)
|
||||||
//sysnb Setregid(rgid int, egid int) (err error)
|
//sysnb Setregid(rgid int, egid int) (err error)
|
||||||
//sysnb Setreuid(ruid int, euid int) (err error)
|
//sysnb Setreuid(ruid int, euid int) (err error)
|
||||||
@ -493,8 +490,10 @@ func IoctlGetTermios(fd int, req uint) (*Termios, error) {
|
|||||||
//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error)
|
//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error)
|
||||||
//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error)
|
//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error)
|
||||||
//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error)
|
//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error)
|
||||||
//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error)
|
|
||||||
//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error)
|
// In order to use msghdr structure with Control, Controllen, nrecvmsg and nsendmsg must be used.
|
||||||
|
//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) = nrecvmsg
|
||||||
|
//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) = nsendmsg
|
||||||
|
|
||||||
//sys munmap(addr uintptr, length uintptr) (err error)
|
//sys munmap(addr uintptr, length uintptr) (err error)
|
||||||
|
|
||||||
@ -547,3 +546,12 @@ func Poll(fds []PollFd, timeout int) (n int, err error) {
|
|||||||
//sys Utime(path string, buf *Utimbuf) (err error)
|
//sys Utime(path string, buf *Utimbuf) (err error)
|
||||||
|
|
||||||
//sys Getsystemcfg(label int) (n uint64)
|
//sys Getsystemcfg(label int) (n uint64)
|
||||||
|
|
||||||
|
//sys umount(target string) (err error)
|
||||||
|
func Unmount(target string, flags int) (err error) {
|
||||||
|
if flags != 0 {
|
||||||
|
// AIX doesn't have any flags for umount.
|
||||||
|
return ENOSYS
|
||||||
|
}
|
||||||
|
return umount(target)
|
||||||
|
}
|
||||||
|
76
vendor/golang.org/x/sys/unix/syscall_linux.go
generated
vendored
76
vendor/golang.org/x/sys/unix/syscall_linux.go
generated
vendored
@ -1662,6 +1662,82 @@ func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
|
|||||||
return EACCES
|
return EACCES
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//sys nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) = SYS_NAME_TO_HANDLE_AT
|
||||||
|
//sys openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) = SYS_OPEN_BY_HANDLE_AT
|
||||||
|
|
||||||
|
// fileHandle is the argument to nameToHandleAt and openByHandleAt. We
|
||||||
|
// originally tried to generate it via unix/linux/types.go with "type
|
||||||
|
// fileHandle C.struct_file_handle" but that generated empty structs
|
||||||
|
// for mips64 and mips64le. Instead, hard code it for now (it's the
|
||||||
|
// same everywhere else) until the mips64 generator issue is fixed.
|
||||||
|
type fileHandle struct {
|
||||||
|
Bytes uint32
|
||||||
|
Type int32
|
||||||
|
}
|
||||||
|
|
||||||
|
// FileHandle represents the C struct file_handle used by
|
||||||
|
// name_to_handle_at (see NameToHandleAt) and open_by_handle_at (see
|
||||||
|
// OpenByHandleAt).
|
||||||
|
type FileHandle struct {
|
||||||
|
*fileHandle
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewFileHandle constructs a FileHandle.
|
||||||
|
func NewFileHandle(handleType int32, handle []byte) FileHandle {
|
||||||
|
const hdrSize = unsafe.Sizeof(fileHandle{})
|
||||||
|
buf := make([]byte, hdrSize+uintptr(len(handle)))
|
||||||
|
copy(buf[hdrSize:], handle)
|
||||||
|
fh := (*fileHandle)(unsafe.Pointer(&buf[0]))
|
||||||
|
fh.Type = handleType
|
||||||
|
fh.Bytes = uint32(len(handle))
|
||||||
|
return FileHandle{fh}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (fh *FileHandle) Size() int { return int(fh.fileHandle.Bytes) }
|
||||||
|
func (fh *FileHandle) Type() int32 { return fh.fileHandle.Type }
|
||||||
|
func (fh *FileHandle) Bytes() []byte {
|
||||||
|
n := fh.Size()
|
||||||
|
if n == 0 {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return (*[1 << 30]byte)(unsafe.Pointer(uintptr(unsafe.Pointer(&fh.fileHandle.Type)) + 4))[:n:n]
|
||||||
|
}
|
||||||
|
|
||||||
|
// NameToHandleAt wraps the name_to_handle_at system call; it obtains
|
||||||
|
// a handle for a path name.
|
||||||
|
func NameToHandleAt(dirfd int, path string, flags int) (handle FileHandle, mountID int, err error) {
|
||||||
|
var mid _C_int
|
||||||
|
// Try first with a small buffer, assuming the handle will
|
||||||
|
// only be 32 bytes.
|
||||||
|
size := uint32(32 + unsafe.Sizeof(fileHandle{}))
|
||||||
|
didResize := false
|
||||||
|
for {
|
||||||
|
buf := make([]byte, size)
|
||||||
|
fh := (*fileHandle)(unsafe.Pointer(&buf[0]))
|
||||||
|
fh.Bytes = size - uint32(unsafe.Sizeof(fileHandle{}))
|
||||||
|
err = nameToHandleAt(dirfd, path, fh, &mid, flags)
|
||||||
|
if err == EOVERFLOW {
|
||||||
|
if didResize {
|
||||||
|
// We shouldn't need to resize more than once
|
||||||
|
return
|
||||||
|
}
|
||||||
|
didResize = true
|
||||||
|
size = fh.Bytes + uint32(unsafe.Sizeof(fileHandle{}))
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
if err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
return FileHandle{fh}, int(mid), nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// OpenByHandleAt wraps the open_by_handle_at system call; it opens a
|
||||||
|
// file via a handle as previously returned by NameToHandleAt.
|
||||||
|
func OpenByHandleAt(mountFD int, handle FileHandle, flags int) (fd int, err error) {
|
||||||
|
return openByHandleAt(mountFD, handle.fileHandle, flags)
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Unimplemented
|
* Unimplemented
|
||||||
*/
|
*/
|
||||||
|
37
vendor/golang.org/x/sys/unix/syscall_openbsd_arm64.go
generated
vendored
Normal file
37
vendor/golang.org/x/sys/unix/syscall_openbsd_arm64.go
generated
vendored
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
// Copyright 2019 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 arm64,openbsd
|
||||||
|
|
||||||
|
package unix
|
||||||
|
|
||||||
|
func setTimespec(sec, nsec int64) Timespec {
|
||||||
|
return Timespec{Sec: sec, Nsec: nsec}
|
||||||
|
}
|
||||||
|
|
||||||
|
func setTimeval(sec, usec int64) Timeval {
|
||||||
|
return Timeval{Sec: sec, Usec: usec}
|
||||||
|
}
|
||||||
|
|
||||||
|
func SetKevent(k *Kevent_t, fd, mode, flags int) {
|
||||||
|
k.Ident = uint64(fd)
|
||||||
|
k.Filter = int16(mode)
|
||||||
|
k.Flags = uint16(flags)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (iov *Iovec) SetLen(length int) {
|
||||||
|
iov.Len = uint64(length)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (msghdr *Msghdr) SetControllen(length int) {
|
||||||
|
msghdr.Controllen = uint32(length)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (cmsg *Cmsghdr) SetLen(length int) {
|
||||||
|
cmsg.Len = uint32(length)
|
||||||
|
}
|
||||||
|
|
||||||
|
// SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions
|
||||||
|
// of openbsd/amd64 the syscall is called sysctl instead of __sysctl.
|
||||||
|
const SYS___SYSCTL = SYS_SYSCTL
|
@ -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 openbsd
|
|
||||||
|
|
||||||
package unix
|
package unix
|
||||||
|
|
||||||
import (
|
import (
|
2
vendor/golang.org/x/sys/unix/zerrors_aix_ppc.go
generated
vendored
2
vendor/golang.org/x/sys/unix/zerrors_aix_ppc.go
generated
vendored
@ -926,6 +926,8 @@ const (
|
|||||||
TCSETSF = 0x5404
|
TCSETSF = 0x5404
|
||||||
TCSETSW = 0x5403
|
TCSETSW = 0x5403
|
||||||
TCXONC = 0x540b
|
TCXONC = 0x540b
|
||||||
|
TIMER_ABSTIME = 0x3e7
|
||||||
|
TIMER_MAX = 0x20
|
||||||
TIOC = 0x5400
|
TIOC = 0x5400
|
||||||
TIOCCBRK = 0x2000747a
|
TIOCCBRK = 0x2000747a
|
||||||
TIOCCDTR = 0x20007478
|
TIOCCDTR = 0x20007478
|
||||||
|
4
vendor/golang.org/x/sys/unix/zerrors_aix_ppc64.go
generated
vendored
4
vendor/golang.org/x/sys/unix/zerrors_aix_ppc64.go
generated
vendored
@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
// +build ppc64,aix
|
// +build ppc64,aix
|
||||||
|
|
||||||
// Created by cgo -godefs - DO NOT EDIT
|
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
|
||||||
// cgo -godefs -- -maix64 _const.go
|
// cgo -godefs -- -maix64 _const.go
|
||||||
|
|
||||||
package unix
|
package unix
|
||||||
@ -926,6 +926,8 @@ const (
|
|||||||
TCSETSF = 0x5404
|
TCSETSF = 0x5404
|
||||||
TCSETSW = 0x5403
|
TCSETSW = 0x5403
|
||||||
TCXONC = 0x540b
|
TCXONC = 0x540b
|
||||||
|
TIMER_ABSTIME = 0x3e7
|
||||||
|
TIMER_MAX = 0x20
|
||||||
TIOC = 0x5400
|
TIOC = 0x5400
|
||||||
TIOCCBRK = 0x2000747a
|
TIOCCBRK = 0x2000747a
|
||||||
TIOCCDTR = 0x20007478
|
TIOCCDTR = 0x20007478
|
||||||
|
4
vendor/golang.org/x/sys/unix/zerrors_linux_386.go
generated
vendored
4
vendor/golang.org/x/sys/unix/zerrors_linux_386.go
generated
vendored
@ -320,6 +320,10 @@ const (
|
|||||||
CRDLY = 0x600
|
CRDLY = 0x600
|
||||||
CREAD = 0x80
|
CREAD = 0x80
|
||||||
CRTSCTS = 0x80000000
|
CRTSCTS = 0x80000000
|
||||||
|
CRYPTO_MAX_NAME = 0x40
|
||||||
|
CRYPTO_MSG_MAX = 0x15
|
||||||
|
CRYPTO_NR_MSGTYPES = 0x6
|
||||||
|
CRYPTO_REPORT_MAXSIZE = 0x160
|
||||||
CS5 = 0x0
|
CS5 = 0x0
|
||||||
CS6 = 0x10
|
CS6 = 0x10
|
||||||
CS7 = 0x20
|
CS7 = 0x20
|
||||||
|
4
vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go
generated
vendored
4
vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go
generated
vendored
@ -320,6 +320,10 @@ const (
|
|||||||
CRDLY = 0x600
|
CRDLY = 0x600
|
||||||
CREAD = 0x80
|
CREAD = 0x80
|
||||||
CRTSCTS = 0x80000000
|
CRTSCTS = 0x80000000
|
||||||
|
CRYPTO_MAX_NAME = 0x40
|
||||||
|
CRYPTO_MSG_MAX = 0x15
|
||||||
|
CRYPTO_NR_MSGTYPES = 0x6
|
||||||
|
CRYPTO_REPORT_MAXSIZE = 0x160
|
||||||
CS5 = 0x0
|
CS5 = 0x0
|
||||||
CS6 = 0x10
|
CS6 = 0x10
|
||||||
CS7 = 0x20
|
CS7 = 0x20
|
||||||
|
4
vendor/golang.org/x/sys/unix/zerrors_linux_arm.go
generated
vendored
4
vendor/golang.org/x/sys/unix/zerrors_linux_arm.go
generated
vendored
@ -320,6 +320,10 @@ const (
|
|||||||
CRDLY = 0x600
|
CRDLY = 0x600
|
||||||
CREAD = 0x80
|
CREAD = 0x80
|
||||||
CRTSCTS = 0x80000000
|
CRTSCTS = 0x80000000
|
||||||
|
CRYPTO_MAX_NAME = 0x40
|
||||||
|
CRYPTO_MSG_MAX = 0x15
|
||||||
|
CRYPTO_NR_MSGTYPES = 0x6
|
||||||
|
CRYPTO_REPORT_MAXSIZE = 0x160
|
||||||
CS5 = 0x0
|
CS5 = 0x0
|
||||||
CS6 = 0x10
|
CS6 = 0x10
|
||||||
CS7 = 0x20
|
CS7 = 0x20
|
||||||
|
4
vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go
generated
vendored
4
vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go
generated
vendored
@ -320,6 +320,10 @@ const (
|
|||||||
CRDLY = 0x600
|
CRDLY = 0x600
|
||||||
CREAD = 0x80
|
CREAD = 0x80
|
||||||
CRTSCTS = 0x80000000
|
CRTSCTS = 0x80000000
|
||||||
|
CRYPTO_MAX_NAME = 0x40
|
||||||
|
CRYPTO_MSG_MAX = 0x15
|
||||||
|
CRYPTO_NR_MSGTYPES = 0x6
|
||||||
|
CRYPTO_REPORT_MAXSIZE = 0x160
|
||||||
CS5 = 0x0
|
CS5 = 0x0
|
||||||
CS6 = 0x10
|
CS6 = 0x10
|
||||||
CS7 = 0x20
|
CS7 = 0x20
|
||||||
|
4
vendor/golang.org/x/sys/unix/zerrors_linux_mips.go
generated
vendored
4
vendor/golang.org/x/sys/unix/zerrors_linux_mips.go
generated
vendored
@ -320,6 +320,10 @@ const (
|
|||||||
CRDLY = 0x600
|
CRDLY = 0x600
|
||||||
CREAD = 0x80
|
CREAD = 0x80
|
||||||
CRTSCTS = 0x80000000
|
CRTSCTS = 0x80000000
|
||||||
|
CRYPTO_MAX_NAME = 0x40
|
||||||
|
CRYPTO_MSG_MAX = 0x15
|
||||||
|
CRYPTO_NR_MSGTYPES = 0x6
|
||||||
|
CRYPTO_REPORT_MAXSIZE = 0x160
|
||||||
CS5 = 0x0
|
CS5 = 0x0
|
||||||
CS6 = 0x10
|
CS6 = 0x10
|
||||||
CS7 = 0x20
|
CS7 = 0x20
|
||||||
|
4
vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go
generated
vendored
4
vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go
generated
vendored
@ -320,6 +320,10 @@ const (
|
|||||||
CRDLY = 0x600
|
CRDLY = 0x600
|
||||||
CREAD = 0x80
|
CREAD = 0x80
|
||||||
CRTSCTS = 0x80000000
|
CRTSCTS = 0x80000000
|
||||||
|
CRYPTO_MAX_NAME = 0x40
|
||||||
|
CRYPTO_MSG_MAX = 0x15
|
||||||
|
CRYPTO_NR_MSGTYPES = 0x6
|
||||||
|
CRYPTO_REPORT_MAXSIZE = 0x160
|
||||||
CS5 = 0x0
|
CS5 = 0x0
|
||||||
CS6 = 0x10
|
CS6 = 0x10
|
||||||
CS7 = 0x20
|
CS7 = 0x20
|
||||||
|
4
vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go
generated
vendored
4
vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go
generated
vendored
@ -320,6 +320,10 @@ const (
|
|||||||
CRDLY = 0x600
|
CRDLY = 0x600
|
||||||
CREAD = 0x80
|
CREAD = 0x80
|
||||||
CRTSCTS = 0x80000000
|
CRTSCTS = 0x80000000
|
||||||
|
CRYPTO_MAX_NAME = 0x40
|
||||||
|
CRYPTO_MSG_MAX = 0x15
|
||||||
|
CRYPTO_NR_MSGTYPES = 0x6
|
||||||
|
CRYPTO_REPORT_MAXSIZE = 0x160
|
||||||
CS5 = 0x0
|
CS5 = 0x0
|
||||||
CS6 = 0x10
|
CS6 = 0x10
|
||||||
CS7 = 0x20
|
CS7 = 0x20
|
||||||
|
4
vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go
generated
vendored
4
vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go
generated
vendored
@ -320,6 +320,10 @@ const (
|
|||||||
CRDLY = 0x600
|
CRDLY = 0x600
|
||||||
CREAD = 0x80
|
CREAD = 0x80
|
||||||
CRTSCTS = 0x80000000
|
CRTSCTS = 0x80000000
|
||||||
|
CRYPTO_MAX_NAME = 0x40
|
||||||
|
CRYPTO_MSG_MAX = 0x15
|
||||||
|
CRYPTO_NR_MSGTYPES = 0x6
|
||||||
|
CRYPTO_REPORT_MAXSIZE = 0x160
|
||||||
CS5 = 0x0
|
CS5 = 0x0
|
||||||
CS6 = 0x10
|
CS6 = 0x10
|
||||||
CS7 = 0x20
|
CS7 = 0x20
|
||||||
|
4
vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go
generated
vendored
4
vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go
generated
vendored
@ -320,6 +320,10 @@ const (
|
|||||||
CRDLY = 0x3000
|
CRDLY = 0x3000
|
||||||
CREAD = 0x800
|
CREAD = 0x800
|
||||||
CRTSCTS = 0x80000000
|
CRTSCTS = 0x80000000
|
||||||
|
CRYPTO_MAX_NAME = 0x40
|
||||||
|
CRYPTO_MSG_MAX = 0x15
|
||||||
|
CRYPTO_NR_MSGTYPES = 0x6
|
||||||
|
CRYPTO_REPORT_MAXSIZE = 0x160
|
||||||
CS5 = 0x0
|
CS5 = 0x0
|
||||||
CS6 = 0x100
|
CS6 = 0x100
|
||||||
CS7 = 0x200
|
CS7 = 0x200
|
||||||
|
4
vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go
generated
vendored
4
vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go
generated
vendored
@ -320,6 +320,10 @@ const (
|
|||||||
CRDLY = 0x3000
|
CRDLY = 0x3000
|
||||||
CREAD = 0x800
|
CREAD = 0x800
|
||||||
CRTSCTS = 0x80000000
|
CRTSCTS = 0x80000000
|
||||||
|
CRYPTO_MAX_NAME = 0x40
|
||||||
|
CRYPTO_MSG_MAX = 0x15
|
||||||
|
CRYPTO_NR_MSGTYPES = 0x6
|
||||||
|
CRYPTO_REPORT_MAXSIZE = 0x160
|
||||||
CS5 = 0x0
|
CS5 = 0x0
|
||||||
CS6 = 0x100
|
CS6 = 0x100
|
||||||
CS7 = 0x200
|
CS7 = 0x200
|
||||||
|
4
vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go
generated
vendored
4
vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go
generated
vendored
@ -320,6 +320,10 @@ const (
|
|||||||
CRDLY = 0x600
|
CRDLY = 0x600
|
||||||
CREAD = 0x80
|
CREAD = 0x80
|
||||||
CRTSCTS = 0x80000000
|
CRTSCTS = 0x80000000
|
||||||
|
CRYPTO_MAX_NAME = 0x40
|
||||||
|
CRYPTO_MSG_MAX = 0x15
|
||||||
|
CRYPTO_NR_MSGTYPES = 0x6
|
||||||
|
CRYPTO_REPORT_MAXSIZE = 0x160
|
||||||
CS5 = 0x0
|
CS5 = 0x0
|
||||||
CS6 = 0x10
|
CS6 = 0x10
|
||||||
CS7 = 0x20
|
CS7 = 0x20
|
||||||
|
4
vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go
generated
vendored
4
vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go
generated
vendored
@ -320,6 +320,10 @@ const (
|
|||||||
CRDLY = 0x600
|
CRDLY = 0x600
|
||||||
CREAD = 0x80
|
CREAD = 0x80
|
||||||
CRTSCTS = 0x80000000
|
CRTSCTS = 0x80000000
|
||||||
|
CRYPTO_MAX_NAME = 0x40
|
||||||
|
CRYPTO_MSG_MAX = 0x15
|
||||||
|
CRYPTO_NR_MSGTYPES = 0x6
|
||||||
|
CRYPTO_REPORT_MAXSIZE = 0x160
|
||||||
CS5 = 0x0
|
CS5 = 0x0
|
||||||
CS6 = 0x10
|
CS6 = 0x10
|
||||||
CS7 = 0x20
|
CS7 = 0x20
|
||||||
|
4
vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go
generated
vendored
4
vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go
generated
vendored
@ -323,6 +323,10 @@ const (
|
|||||||
CRDLY = 0x600
|
CRDLY = 0x600
|
||||||
CREAD = 0x80
|
CREAD = 0x80
|
||||||
CRTSCTS = 0x80000000
|
CRTSCTS = 0x80000000
|
||||||
|
CRYPTO_MAX_NAME = 0x40
|
||||||
|
CRYPTO_MSG_MAX = 0x15
|
||||||
|
CRYPTO_NR_MSGTYPES = 0x6
|
||||||
|
CRYPTO_REPORT_MAXSIZE = 0x160
|
||||||
CS5 = 0x0
|
CS5 = 0x0
|
||||||
CS6 = 0x10
|
CS6 = 0x10
|
||||||
CS7 = 0x20
|
CS7 = 0x20
|
||||||
|
1789
vendor/golang.org/x/sys/unix/zerrors_openbsd_arm64.go
generated
vendored
Normal file
1789
vendor/golang.org/x/sys/unix/zerrors_openbsd_arm64.go
generated
vendored
Normal file
File diff suppressed because it is too large
Load Diff
42
vendor/golang.org/x/sys/unix/zsyscall_aix_ppc.go
generated
vendored
42
vendor/golang.org/x/sys/unix/zsyscall_aix_ppc.go
generated
vendored
@ -83,6 +83,8 @@ int lstat(uintptr_t, uintptr_t);
|
|||||||
int pause();
|
int pause();
|
||||||
int pread64(int, uintptr_t, size_t, long long);
|
int pread64(int, uintptr_t, size_t, long long);
|
||||||
int pwrite64(int, uintptr_t, size_t, long long);
|
int pwrite64(int, uintptr_t, size_t, long long);
|
||||||
|
#define c_select select
|
||||||
|
int select(int, uintptr_t, uintptr_t, uintptr_t, uintptr_t);
|
||||||
int pselect(int, uintptr_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t);
|
int pselect(int, uintptr_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t);
|
||||||
int setregid(int, int);
|
int setregid(int, int);
|
||||||
int setreuid(int, int);
|
int setreuid(int, int);
|
||||||
@ -103,8 +105,8 @@ int getpeername(int, uintptr_t, uintptr_t);
|
|||||||
int getsockname(int, uintptr_t, uintptr_t);
|
int getsockname(int, uintptr_t, uintptr_t);
|
||||||
int recvfrom(int, uintptr_t, size_t, int, uintptr_t, uintptr_t);
|
int recvfrom(int, uintptr_t, size_t, int, uintptr_t, uintptr_t);
|
||||||
int sendto(int, uintptr_t, size_t, int, uintptr_t, uintptr_t);
|
int sendto(int, uintptr_t, size_t, int, uintptr_t, uintptr_t);
|
||||||
int recvmsg(int, uintptr_t, int);
|
int nrecvmsg(int, uintptr_t, int);
|
||||||
int sendmsg(int, uintptr_t, int);
|
int nsendmsg(int, uintptr_t, int);
|
||||||
int munmap(uintptr_t, uintptr_t);
|
int munmap(uintptr_t, uintptr_t);
|
||||||
int madvise(uintptr_t, size_t, int);
|
int madvise(uintptr_t, size_t, int);
|
||||||
int mprotect(uintptr_t, size_t, int);
|
int mprotect(uintptr_t, size_t, int);
|
||||||
@ -118,6 +120,8 @@ int poll(uintptr_t, int, int);
|
|||||||
int gettimeofday(uintptr_t, uintptr_t);
|
int gettimeofday(uintptr_t, uintptr_t);
|
||||||
int time(uintptr_t);
|
int time(uintptr_t);
|
||||||
int utime(uintptr_t, uintptr_t);
|
int utime(uintptr_t, uintptr_t);
|
||||||
|
unsigned long long getsystemcfg(int);
|
||||||
|
int umount(uintptr_t);
|
||||||
int getrlimit64(int, uintptr_t);
|
int getrlimit64(int, uintptr_t);
|
||||||
int setrlimit64(int, uintptr_t);
|
int setrlimit64(int, uintptr_t);
|
||||||
long long lseek64(int, long long, int);
|
long long lseek64(int, long long, int);
|
||||||
@ -1004,6 +1008,17 @@ func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
|
|||||||
|
|
||||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
|
func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) {
|
||||||
|
r0, er := C.c_select(C.int(nfd), C.uintptr_t(uintptr(unsafe.Pointer(r))), C.uintptr_t(uintptr(unsafe.Pointer(w))), C.uintptr_t(uintptr(unsafe.Pointer(e))), C.uintptr_t(uintptr(unsafe.Pointer(timeout))))
|
||||||
|
n = int(r0)
|
||||||
|
if r0 == -1 && er != nil {
|
||||||
|
err = er
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
func Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {
|
func Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {
|
||||||
r0, er := C.pselect(C.int(nfd), C.uintptr_t(uintptr(unsafe.Pointer(r))), C.uintptr_t(uintptr(unsafe.Pointer(w))), C.uintptr_t(uintptr(unsafe.Pointer(e))), C.uintptr_t(uintptr(unsafe.Pointer(timeout))), C.uintptr_t(uintptr(unsafe.Pointer(sigmask))))
|
r0, er := C.pselect(C.int(nfd), C.uintptr_t(uintptr(unsafe.Pointer(r))), C.uintptr_t(uintptr(unsafe.Pointer(w))), C.uintptr_t(uintptr(unsafe.Pointer(e))), C.uintptr_t(uintptr(unsafe.Pointer(timeout))), C.uintptr_t(uintptr(unsafe.Pointer(sigmask))))
|
||||||
n = int(r0)
|
n = int(r0)
|
||||||
@ -1225,7 +1240,7 @@ func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (
|
|||||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {
|
func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {
|
||||||
r0, er := C.recvmsg(C.int(s), C.uintptr_t(uintptr(unsafe.Pointer(msg))), C.int(flags))
|
r0, er := C.nrecvmsg(C.int(s), C.uintptr_t(uintptr(unsafe.Pointer(msg))), C.int(flags))
|
||||||
n = int(r0)
|
n = int(r0)
|
||||||
if r0 == -1 && er != nil {
|
if r0 == -1 && er != nil {
|
||||||
err = er
|
err = er
|
||||||
@ -1236,7 +1251,7 @@ func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {
|
|||||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {
|
func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {
|
||||||
r0, er := C.sendmsg(C.int(s), C.uintptr_t(uintptr(unsafe.Pointer(msg))), C.int(flags))
|
r0, er := C.nsendmsg(C.int(s), C.uintptr_t(uintptr(unsafe.Pointer(msg))), C.int(flags))
|
||||||
n = int(r0)
|
n = int(r0)
|
||||||
if r0 == -1 && er != nil {
|
if r0 == -1 && er != nil {
|
||||||
err = er
|
err = er
|
||||||
@ -1409,6 +1424,25 @@ func Utime(path string, buf *Utimbuf) (err error) {
|
|||||||
|
|
||||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
|
func Getsystemcfg(label int) (n uint64) {
|
||||||
|
r0, _ := C.getsystemcfg(C.int(label))
|
||||||
|
n = uint64(r0)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
|
func umount(target string) (err error) {
|
||||||
|
_p0 := uintptr(unsafe.Pointer(C.CString(target)))
|
||||||
|
r0, er := C.umount(C.uintptr_t(_p0))
|
||||||
|
if r0 == -1 && er != nil {
|
||||||
|
err = er
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
func Getrlimit(resource int, rlim *Rlimit) (err error) {
|
func Getrlimit(resource int, rlim *Rlimit) (err error) {
|
||||||
r0, er := C.getrlimit64(C.int(resource), C.uintptr_t(uintptr(unsafe.Pointer(rlim))))
|
r0, er := C.getrlimit64(C.int(resource), C.uintptr_t(uintptr(unsafe.Pointer(rlim))))
|
||||||
if r0 == -1 && er != nil {
|
if r0 == -1 && er != nil {
|
||||||
|
30
vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64.go
generated
vendored
30
vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64.go
generated
vendored
@ -960,6 +960,17 @@ func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
|
|||||||
|
|
||||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
|
func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) {
|
||||||
|
r0, e1 := callselect(nfd, uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)))
|
||||||
|
n = int(r0)
|
||||||
|
if e1 != 0 {
|
||||||
|
err = errnoErr(e1)
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
func Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {
|
func Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {
|
||||||
r0, e1 := callpselect(nfd, uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)))
|
r0, e1 := callpselect(nfd, uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)))
|
||||||
n = int(r0)
|
n = int(r0)
|
||||||
@ -1189,7 +1200,7 @@ func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (
|
|||||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {
|
func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {
|
||||||
r0, e1 := callrecvmsg(s, uintptr(unsafe.Pointer(msg)), flags)
|
r0, e1 := callnrecvmsg(s, uintptr(unsafe.Pointer(msg)), flags)
|
||||||
n = int(r0)
|
n = int(r0)
|
||||||
if e1 != 0 {
|
if e1 != 0 {
|
||||||
err = errnoErr(e1)
|
err = errnoErr(e1)
|
||||||
@ -1200,7 +1211,7 @@ func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {
|
|||||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {
|
func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {
|
||||||
r0, e1 := callsendmsg(s, uintptr(unsafe.Pointer(msg)), flags)
|
r0, e1 := callnsendmsg(s, uintptr(unsafe.Pointer(msg)), flags)
|
||||||
n = int(r0)
|
n = int(r0)
|
||||||
if e1 != 0 {
|
if e1 != 0 {
|
||||||
err = errnoErr(e1)
|
err = errnoErr(e1)
|
||||||
@ -1375,6 +1386,21 @@ func Getsystemcfg(label int) (n uint64) {
|
|||||||
|
|
||||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
|
func umount(target string) (err error) {
|
||||||
|
var _p0 *byte
|
||||||
|
_p0, err = BytePtrFromString(target)
|
||||||
|
if err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
_, e1 := callumount(uintptr(unsafe.Pointer(_p0)))
|
||||||
|
if e1 != 0 {
|
||||||
|
err = errnoErr(e1)
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
func Getrlimit(resource int, rlim *Rlimit) (err error) {
|
func Getrlimit(resource int, rlim *Rlimit) (err error) {
|
||||||
_, e1 := callgetrlimit(resource, uintptr(unsafe.Pointer(rlim)))
|
_, e1 := callgetrlimit(resource, uintptr(unsafe.Pointer(rlim)))
|
||||||
if e1 != 0 {
|
if e1 != 0 {
|
||||||
|
40
vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gc.go
generated
vendored
40
vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gc.go
generated
vendored
@ -85,6 +85,7 @@ import (
|
|||||||
//go:cgo_import_dynamic libc_pause pause "libc.a/shr_64.o"
|
//go:cgo_import_dynamic libc_pause pause "libc.a/shr_64.o"
|
||||||
//go:cgo_import_dynamic libc_pread64 pread64 "libc.a/shr_64.o"
|
//go:cgo_import_dynamic libc_pread64 pread64 "libc.a/shr_64.o"
|
||||||
//go:cgo_import_dynamic libc_pwrite64 pwrite64 "libc.a/shr_64.o"
|
//go:cgo_import_dynamic libc_pwrite64 pwrite64 "libc.a/shr_64.o"
|
||||||
|
//go:cgo_import_dynamic libc_select select "libc.a/shr_64.o"
|
||||||
//go:cgo_import_dynamic libc_pselect pselect "libc.a/shr_64.o"
|
//go:cgo_import_dynamic libc_pselect pselect "libc.a/shr_64.o"
|
||||||
//go:cgo_import_dynamic libc_setregid setregid "libc.a/shr_64.o"
|
//go:cgo_import_dynamic libc_setregid setregid "libc.a/shr_64.o"
|
||||||
//go:cgo_import_dynamic libc_setreuid setreuid "libc.a/shr_64.o"
|
//go:cgo_import_dynamic libc_setreuid setreuid "libc.a/shr_64.o"
|
||||||
@ -105,8 +106,8 @@ import (
|
|||||||
//go:cgo_import_dynamic libc_getsockname getsockname "libc.a/shr_64.o"
|
//go:cgo_import_dynamic libc_getsockname getsockname "libc.a/shr_64.o"
|
||||||
//go:cgo_import_dynamic libc_recvfrom recvfrom "libc.a/shr_64.o"
|
//go:cgo_import_dynamic libc_recvfrom recvfrom "libc.a/shr_64.o"
|
||||||
//go:cgo_import_dynamic libc_sendto sendto "libc.a/shr_64.o"
|
//go:cgo_import_dynamic libc_sendto sendto "libc.a/shr_64.o"
|
||||||
//go:cgo_import_dynamic libc_recvmsg recvmsg "libc.a/shr_64.o"
|
//go:cgo_import_dynamic libc_nrecvmsg nrecvmsg "libc.a/shr_64.o"
|
||||||
//go:cgo_import_dynamic libc_sendmsg sendmsg "libc.a/shr_64.o"
|
//go:cgo_import_dynamic libc_nsendmsg nsendmsg "libc.a/shr_64.o"
|
||||||
//go:cgo_import_dynamic libc_munmap munmap "libc.a/shr_64.o"
|
//go:cgo_import_dynamic libc_munmap munmap "libc.a/shr_64.o"
|
||||||
//go:cgo_import_dynamic libc_madvise madvise "libc.a/shr_64.o"
|
//go:cgo_import_dynamic libc_madvise madvise "libc.a/shr_64.o"
|
||||||
//go:cgo_import_dynamic libc_mprotect mprotect "libc.a/shr_64.o"
|
//go:cgo_import_dynamic libc_mprotect mprotect "libc.a/shr_64.o"
|
||||||
@ -121,6 +122,7 @@ import (
|
|||||||
//go:cgo_import_dynamic libc_time time "libc.a/shr_64.o"
|
//go:cgo_import_dynamic libc_time time "libc.a/shr_64.o"
|
||||||
//go:cgo_import_dynamic libc_utime utime "libc.a/shr_64.o"
|
//go:cgo_import_dynamic libc_utime utime "libc.a/shr_64.o"
|
||||||
//go:cgo_import_dynamic libc_getsystemcfg getsystemcfg "libc.a/shr_64.o"
|
//go:cgo_import_dynamic libc_getsystemcfg getsystemcfg "libc.a/shr_64.o"
|
||||||
|
//go:cgo_import_dynamic libc_umount umount "libc.a/shr_64.o"
|
||||||
//go:cgo_import_dynamic libc_getrlimit getrlimit "libc.a/shr_64.o"
|
//go:cgo_import_dynamic libc_getrlimit getrlimit "libc.a/shr_64.o"
|
||||||
//go:cgo_import_dynamic libc_setrlimit setrlimit "libc.a/shr_64.o"
|
//go:cgo_import_dynamic libc_setrlimit setrlimit "libc.a/shr_64.o"
|
||||||
//go:cgo_import_dynamic libc_lseek lseek "libc.a/shr_64.o"
|
//go:cgo_import_dynamic libc_lseek lseek "libc.a/shr_64.o"
|
||||||
@ -201,6 +203,7 @@ import (
|
|||||||
//go:linkname libc_pause libc_pause
|
//go:linkname libc_pause libc_pause
|
||||||
//go:linkname libc_pread64 libc_pread64
|
//go:linkname libc_pread64 libc_pread64
|
||||||
//go:linkname libc_pwrite64 libc_pwrite64
|
//go:linkname libc_pwrite64 libc_pwrite64
|
||||||
|
//go:linkname libc_select libc_select
|
||||||
//go:linkname libc_pselect libc_pselect
|
//go:linkname libc_pselect libc_pselect
|
||||||
//go:linkname libc_setregid libc_setregid
|
//go:linkname libc_setregid libc_setregid
|
||||||
//go:linkname libc_setreuid libc_setreuid
|
//go:linkname libc_setreuid libc_setreuid
|
||||||
@ -221,8 +224,8 @@ import (
|
|||||||
//go:linkname libc_getsockname libc_getsockname
|
//go:linkname libc_getsockname libc_getsockname
|
||||||
//go:linkname libc_recvfrom libc_recvfrom
|
//go:linkname libc_recvfrom libc_recvfrom
|
||||||
//go:linkname libc_sendto libc_sendto
|
//go:linkname libc_sendto libc_sendto
|
||||||
//go:linkname libc_recvmsg libc_recvmsg
|
//go:linkname libc_nrecvmsg libc_nrecvmsg
|
||||||
//go:linkname libc_sendmsg libc_sendmsg
|
//go:linkname libc_nsendmsg libc_nsendmsg
|
||||||
//go:linkname libc_munmap libc_munmap
|
//go:linkname libc_munmap libc_munmap
|
||||||
//go:linkname libc_madvise libc_madvise
|
//go:linkname libc_madvise libc_madvise
|
||||||
//go:linkname libc_mprotect libc_mprotect
|
//go:linkname libc_mprotect libc_mprotect
|
||||||
@ -237,6 +240,7 @@ import (
|
|||||||
//go:linkname libc_time libc_time
|
//go:linkname libc_time libc_time
|
||||||
//go:linkname libc_utime libc_utime
|
//go:linkname libc_utime libc_utime
|
||||||
//go:linkname libc_getsystemcfg libc_getsystemcfg
|
//go:linkname libc_getsystemcfg libc_getsystemcfg
|
||||||
|
//go:linkname libc_umount libc_umount
|
||||||
//go:linkname libc_getrlimit libc_getrlimit
|
//go:linkname libc_getrlimit libc_getrlimit
|
||||||
//go:linkname libc_setrlimit libc_setrlimit
|
//go:linkname libc_setrlimit libc_setrlimit
|
||||||
//go:linkname libc_lseek libc_lseek
|
//go:linkname libc_lseek libc_lseek
|
||||||
@ -320,6 +324,7 @@ var (
|
|||||||
libc_pause,
|
libc_pause,
|
||||||
libc_pread64,
|
libc_pread64,
|
||||||
libc_pwrite64,
|
libc_pwrite64,
|
||||||
|
libc_select,
|
||||||
libc_pselect,
|
libc_pselect,
|
||||||
libc_setregid,
|
libc_setregid,
|
||||||
libc_setreuid,
|
libc_setreuid,
|
||||||
@ -340,8 +345,8 @@ var (
|
|||||||
libc_getsockname,
|
libc_getsockname,
|
||||||
libc_recvfrom,
|
libc_recvfrom,
|
||||||
libc_sendto,
|
libc_sendto,
|
||||||
libc_recvmsg,
|
libc_nrecvmsg,
|
||||||
libc_sendmsg,
|
libc_nsendmsg,
|
||||||
libc_munmap,
|
libc_munmap,
|
||||||
libc_madvise,
|
libc_madvise,
|
||||||
libc_mprotect,
|
libc_mprotect,
|
||||||
@ -356,6 +361,7 @@ var (
|
|||||||
libc_time,
|
libc_time,
|
||||||
libc_utime,
|
libc_utime,
|
||||||
libc_getsystemcfg,
|
libc_getsystemcfg,
|
||||||
|
libc_umount,
|
||||||
libc_getrlimit,
|
libc_getrlimit,
|
||||||
libc_setrlimit,
|
libc_setrlimit,
|
||||||
libc_lseek,
|
libc_lseek,
|
||||||
@ -893,6 +899,13 @@ func callpwrite64(fd int, _p0 uintptr, _lenp0 int, offset int64) (r1 uintptr, e1
|
|||||||
|
|
||||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
|
func callselect(nfd int, r uintptr, w uintptr, e uintptr, timeout uintptr) (r1 uintptr, e1 Errno) {
|
||||||
|
r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_select)), 5, uintptr(nfd), r, w, e, timeout, 0)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
func callpselect(nfd int, r uintptr, w uintptr, e uintptr, timeout uintptr, sigmask uintptr) (r1 uintptr, e1 Errno) {
|
func callpselect(nfd int, r uintptr, w uintptr, e uintptr, timeout uintptr, sigmask uintptr) (r1 uintptr, e1 Errno) {
|
||||||
r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_pselect)), 6, uintptr(nfd), r, w, e, timeout, sigmask)
|
r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_pselect)), 6, uintptr(nfd), r, w, e, timeout, sigmask)
|
||||||
return
|
return
|
||||||
@ -1033,15 +1046,15 @@ func callsendto(s int, _p0 uintptr, _lenp0 int, flags int, to uintptr, addrlen u
|
|||||||
|
|
||||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
func callrecvmsg(s int, msg uintptr, flags int) (r1 uintptr, e1 Errno) {
|
func callnrecvmsg(s int, msg uintptr, flags int) (r1 uintptr, e1 Errno) {
|
||||||
r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_recvmsg)), 3, uintptr(s), msg, uintptr(flags), 0, 0, 0)
|
r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_nrecvmsg)), 3, uintptr(s), msg, uintptr(flags), 0, 0, 0)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
func callsendmsg(s int, msg uintptr, flags int) (r1 uintptr, e1 Errno) {
|
func callnsendmsg(s int, msg uintptr, flags int) (r1 uintptr, e1 Errno) {
|
||||||
r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_sendmsg)), 3, uintptr(s), msg, uintptr(flags), 0, 0, 0)
|
r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_nsendmsg)), 3, uintptr(s), msg, uintptr(flags), 0, 0, 0)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1145,6 +1158,13 @@ func callgetsystemcfg(label int) (r1 uintptr, e1 Errno) {
|
|||||||
|
|
||||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
|
func callumount(_p0 uintptr) (r1 uintptr, e1 Errno) {
|
||||||
|
r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_umount)), 1, _p0, 0, 0, 0, 0, 0)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
func callgetrlimit(resource int, rlim uintptr) (r1 uintptr, e1 Errno) {
|
func callgetrlimit(resource int, rlim uintptr) (r1 uintptr, e1 Errno) {
|
||||||
r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getrlimit)), 2, uintptr(resource), rlim, 0, 0, 0, 0)
|
r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getrlimit)), 2, uintptr(resource), rlim, 0, 0, 0, 0)
|
||||||
return
|
return
|
||||||
|
31
vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gccgo.go
generated
vendored
31
vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gccgo.go
generated
vendored
@ -83,6 +83,8 @@ int lstat(uintptr_t, uintptr_t);
|
|||||||
int pause();
|
int pause();
|
||||||
int pread64(int, uintptr_t, size_t, long long);
|
int pread64(int, uintptr_t, size_t, long long);
|
||||||
int pwrite64(int, uintptr_t, size_t, long long);
|
int pwrite64(int, uintptr_t, size_t, long long);
|
||||||
|
#define c_select select
|
||||||
|
int select(int, uintptr_t, uintptr_t, uintptr_t, uintptr_t);
|
||||||
int pselect(int, uintptr_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t);
|
int pselect(int, uintptr_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t);
|
||||||
int setregid(int, int);
|
int setregid(int, int);
|
||||||
int setreuid(int, int);
|
int setreuid(int, int);
|
||||||
@ -103,8 +105,8 @@ int getpeername(int, uintptr_t, uintptr_t);
|
|||||||
int getsockname(int, uintptr_t, uintptr_t);
|
int getsockname(int, uintptr_t, uintptr_t);
|
||||||
int recvfrom(int, uintptr_t, size_t, int, uintptr_t, uintptr_t);
|
int recvfrom(int, uintptr_t, size_t, int, uintptr_t, uintptr_t);
|
||||||
int sendto(int, uintptr_t, size_t, int, uintptr_t, uintptr_t);
|
int sendto(int, uintptr_t, size_t, int, uintptr_t, uintptr_t);
|
||||||
int recvmsg(int, uintptr_t, int);
|
int nrecvmsg(int, uintptr_t, int);
|
||||||
int sendmsg(int, uintptr_t, int);
|
int nsendmsg(int, uintptr_t, int);
|
||||||
int munmap(uintptr_t, uintptr_t);
|
int munmap(uintptr_t, uintptr_t);
|
||||||
int madvise(uintptr_t, size_t, int);
|
int madvise(uintptr_t, size_t, int);
|
||||||
int mprotect(uintptr_t, size_t, int);
|
int mprotect(uintptr_t, size_t, int);
|
||||||
@ -119,6 +121,7 @@ int gettimeofday(uintptr_t, uintptr_t);
|
|||||||
int time(uintptr_t);
|
int time(uintptr_t);
|
||||||
int utime(uintptr_t, uintptr_t);
|
int utime(uintptr_t, uintptr_t);
|
||||||
unsigned long long getsystemcfg(int);
|
unsigned long long getsystemcfg(int);
|
||||||
|
int umount(uintptr_t);
|
||||||
int getrlimit(int, uintptr_t);
|
int getrlimit(int, uintptr_t);
|
||||||
int setrlimit(int, uintptr_t);
|
int setrlimit(int, uintptr_t);
|
||||||
long long lseek(int, long long, int);
|
long long lseek(int, long long, int);
|
||||||
@ -732,6 +735,14 @@ func callpwrite64(fd int, _p0 uintptr, _lenp0 int, offset int64) (r1 uintptr, e1
|
|||||||
|
|
||||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
|
func callselect(nfd int, r uintptr, w uintptr, e uintptr, timeout uintptr) (r1 uintptr, e1 Errno) {
|
||||||
|
r1 = uintptr(C.c_select(C.int(nfd), C.uintptr_t(r), C.uintptr_t(w), C.uintptr_t(e), C.uintptr_t(timeout)))
|
||||||
|
e1 = syscall.GetErrno()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
func callpselect(nfd int, r uintptr, w uintptr, e uintptr, timeout uintptr, sigmask uintptr) (r1 uintptr, e1 Errno) {
|
func callpselect(nfd int, r uintptr, w uintptr, e uintptr, timeout uintptr, sigmask uintptr) (r1 uintptr, e1 Errno) {
|
||||||
r1 = uintptr(C.pselect(C.int(nfd), C.uintptr_t(r), C.uintptr_t(w), C.uintptr_t(e), C.uintptr_t(timeout), C.uintptr_t(sigmask)))
|
r1 = uintptr(C.pselect(C.int(nfd), C.uintptr_t(r), C.uintptr_t(w), C.uintptr_t(e), C.uintptr_t(timeout), C.uintptr_t(sigmask)))
|
||||||
e1 = syscall.GetErrno()
|
e1 = syscall.GetErrno()
|
||||||
@ -892,16 +903,16 @@ func callsendto(s int, _p0 uintptr, _lenp0 int, flags int, to uintptr, addrlen u
|
|||||||
|
|
||||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
func callrecvmsg(s int, msg uintptr, flags int) (r1 uintptr, e1 Errno) {
|
func callnrecvmsg(s int, msg uintptr, flags int) (r1 uintptr, e1 Errno) {
|
||||||
r1 = uintptr(C.recvmsg(C.int(s), C.uintptr_t(msg), C.int(flags)))
|
r1 = uintptr(C.nrecvmsg(C.int(s), C.uintptr_t(msg), C.int(flags)))
|
||||||
e1 = syscall.GetErrno()
|
e1 = syscall.GetErrno()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
func callsendmsg(s int, msg uintptr, flags int) (r1 uintptr, e1 Errno) {
|
func callnsendmsg(s int, msg uintptr, flags int) (r1 uintptr, e1 Errno) {
|
||||||
r1 = uintptr(C.sendmsg(C.int(s), C.uintptr_t(msg), C.int(flags)))
|
r1 = uintptr(C.nsendmsg(C.int(s), C.uintptr_t(msg), C.int(flags)))
|
||||||
e1 = syscall.GetErrno()
|
e1 = syscall.GetErrno()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -1020,6 +1031,14 @@ func callgetsystemcfg(label int) (r1 uintptr, e1 Errno) {
|
|||||||
|
|
||||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
|
func callumount(_p0 uintptr) (r1 uintptr, e1 Errno) {
|
||||||
|
r1 = uintptr(C.umount(C.uintptr_t(_p0)))
|
||||||
|
e1 = syscall.GetErrno()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
func callgetrlimit(resource int, rlim uintptr) (r1 uintptr, e1 Errno) {
|
func callgetrlimit(resource int, rlim uintptr) (r1 uintptr, e1 Errno) {
|
||||||
r1 = uintptr(C.getrlimit(C.int(resource), C.uintptr_t(rlim)))
|
r1 = uintptr(C.getrlimit(C.int(resource), C.uintptr_t(rlim)))
|
||||||
e1 = syscall.GetErrno()
|
e1 = syscall.GetErrno()
|
||||||
|
26
vendor/golang.org/x/sys/unix/zsyscall_linux_386.go
generated
vendored
26
vendor/golang.org/x/sys/unix/zsyscall_linux_386.go
generated
vendored
@ -1679,6 +1679,32 @@ func faccessat(dirfd int, path string, mode uint32) (err error) {
|
|||||||
|
|
||||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
|
func nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) {
|
||||||
|
var _p0 *byte
|
||||||
|
_p0, err = BytePtrFromString(pathname)
|
||||||
|
if err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
_, _, e1 := Syscall6(SYS_NAME_TO_HANDLE_AT, uintptr(dirFD), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(fh)), uintptr(unsafe.Pointer(mountID)), uintptr(flags), 0)
|
||||||
|
if e1 != 0 {
|
||||||
|
err = errnoErr(e1)
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
|
func openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) {
|
||||||
|
r0, _, e1 := Syscall(SYS_OPEN_BY_HANDLE_AT, uintptr(mountFD), uintptr(unsafe.Pointer(fh)), uintptr(flags))
|
||||||
|
fd = int(r0)
|
||||||
|
if e1 != 0 {
|
||||||
|
err = errnoErr(e1)
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
func pipe(p *[2]_C_int) (err error) {
|
func pipe(p *[2]_C_int) (err error) {
|
||||||
_, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0)
|
_, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0)
|
||||||
if e1 != 0 {
|
if e1 != 0 {
|
||||||
|
26
vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go
generated
vendored
26
vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go
generated
vendored
@ -1679,6 +1679,32 @@ func faccessat(dirfd int, path string, mode uint32) (err error) {
|
|||||||
|
|
||||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
|
func nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) {
|
||||||
|
var _p0 *byte
|
||||||
|
_p0, err = BytePtrFromString(pathname)
|
||||||
|
if err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
_, _, e1 := Syscall6(SYS_NAME_TO_HANDLE_AT, uintptr(dirFD), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(fh)), uintptr(unsafe.Pointer(mountID)), uintptr(flags), 0)
|
||||||
|
if e1 != 0 {
|
||||||
|
err = errnoErr(e1)
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
|
func openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) {
|
||||||
|
r0, _, e1 := Syscall(SYS_OPEN_BY_HANDLE_AT, uintptr(mountFD), uintptr(unsafe.Pointer(fh)), uintptr(flags))
|
||||||
|
fd = int(r0)
|
||||||
|
if e1 != 0 {
|
||||||
|
err = errnoErr(e1)
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
func Dup2(oldfd int, newfd int) (err error) {
|
func Dup2(oldfd int, newfd int) (err error) {
|
||||||
_, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0)
|
_, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0)
|
||||||
if e1 != 0 {
|
if e1 != 0 {
|
||||||
|
26
vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go
generated
vendored
26
vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go
generated
vendored
@ -1679,6 +1679,32 @@ func faccessat(dirfd int, path string, mode uint32) (err error) {
|
|||||||
|
|
||||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
|
func nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) {
|
||||||
|
var _p0 *byte
|
||||||
|
_p0, err = BytePtrFromString(pathname)
|
||||||
|
if err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
_, _, e1 := Syscall6(SYS_NAME_TO_HANDLE_AT, uintptr(dirFD), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(fh)), uintptr(unsafe.Pointer(mountID)), uintptr(flags), 0)
|
||||||
|
if e1 != 0 {
|
||||||
|
err = errnoErr(e1)
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
|
func openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) {
|
||||||
|
r0, _, e1 := Syscall(SYS_OPEN_BY_HANDLE_AT, uintptr(mountFD), uintptr(unsafe.Pointer(fh)), uintptr(flags))
|
||||||
|
fd = int(r0)
|
||||||
|
if e1 != 0 {
|
||||||
|
err = errnoErr(e1)
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
func pipe(p *[2]_C_int) (err error) {
|
func pipe(p *[2]_C_int) (err error) {
|
||||||
_, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0)
|
_, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0)
|
||||||
if e1 != 0 {
|
if e1 != 0 {
|
||||||
|
26
vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go
generated
vendored
26
vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go
generated
vendored
@ -1679,6 +1679,32 @@ func faccessat(dirfd int, path string, mode uint32) (err error) {
|
|||||||
|
|
||||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
|
func nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) {
|
||||||
|
var _p0 *byte
|
||||||
|
_p0, err = BytePtrFromString(pathname)
|
||||||
|
if err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
_, _, e1 := Syscall6(SYS_NAME_TO_HANDLE_AT, uintptr(dirFD), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(fh)), uintptr(unsafe.Pointer(mountID)), uintptr(flags), 0)
|
||||||
|
if e1 != 0 {
|
||||||
|
err = errnoErr(e1)
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
|
func openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) {
|
||||||
|
r0, _, e1 := Syscall(SYS_OPEN_BY_HANDLE_AT, uintptr(mountFD), uintptr(unsafe.Pointer(fh)), uintptr(flags))
|
||||||
|
fd = int(r0)
|
||||||
|
if e1 != 0 {
|
||||||
|
err = errnoErr(e1)
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {
|
func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {
|
||||||
var _p0 unsafe.Pointer
|
var _p0 unsafe.Pointer
|
||||||
if len(events) > 0 {
|
if len(events) > 0 {
|
||||||
|
26
vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go
generated
vendored
26
vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go
generated
vendored
@ -1679,6 +1679,32 @@ func faccessat(dirfd int, path string, mode uint32) (err error) {
|
|||||||
|
|
||||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
|
func nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) {
|
||||||
|
var _p0 *byte
|
||||||
|
_p0, err = BytePtrFromString(pathname)
|
||||||
|
if err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
_, _, e1 := Syscall6(SYS_NAME_TO_HANDLE_AT, uintptr(dirFD), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(fh)), uintptr(unsafe.Pointer(mountID)), uintptr(flags), 0)
|
||||||
|
if e1 != 0 {
|
||||||
|
err = errnoErr(e1)
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
|
func openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) {
|
||||||
|
r0, _, e1 := Syscall(SYS_OPEN_BY_HANDLE_AT, uintptr(mountFD), uintptr(unsafe.Pointer(fh)), uintptr(flags))
|
||||||
|
fd = int(r0)
|
||||||
|
if e1 != 0 {
|
||||||
|
err = errnoErr(e1)
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
func Dup2(oldfd int, newfd int) (err error) {
|
func Dup2(oldfd int, newfd int) (err error) {
|
||||||
_, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0)
|
_, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0)
|
||||||
if e1 != 0 {
|
if e1 != 0 {
|
||||||
|
26
vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go
generated
vendored
26
vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go
generated
vendored
@ -1679,6 +1679,32 @@ func faccessat(dirfd int, path string, mode uint32) (err error) {
|
|||||||
|
|
||||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
|
func nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) {
|
||||||
|
var _p0 *byte
|
||||||
|
_p0, err = BytePtrFromString(pathname)
|
||||||
|
if err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
_, _, e1 := Syscall6(SYS_NAME_TO_HANDLE_AT, uintptr(dirFD), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(fh)), uintptr(unsafe.Pointer(mountID)), uintptr(flags), 0)
|
||||||
|
if e1 != 0 {
|
||||||
|
err = errnoErr(e1)
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
|
func openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) {
|
||||||
|
r0, _, e1 := Syscall(SYS_OPEN_BY_HANDLE_AT, uintptr(mountFD), uintptr(unsafe.Pointer(fh)), uintptr(flags))
|
||||||
|
fd = int(r0)
|
||||||
|
if e1 != 0 {
|
||||||
|
err = errnoErr(e1)
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
func Dup2(oldfd int, newfd int) (err error) {
|
func Dup2(oldfd int, newfd int) (err error) {
|
||||||
_, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0)
|
_, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0)
|
||||||
if e1 != 0 {
|
if e1 != 0 {
|
||||||
|
26
vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go
generated
vendored
26
vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go
generated
vendored
@ -1679,6 +1679,32 @@ func faccessat(dirfd int, path string, mode uint32) (err error) {
|
|||||||
|
|
||||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
|
func nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) {
|
||||||
|
var _p0 *byte
|
||||||
|
_p0, err = BytePtrFromString(pathname)
|
||||||
|
if err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
_, _, e1 := Syscall6(SYS_NAME_TO_HANDLE_AT, uintptr(dirFD), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(fh)), uintptr(unsafe.Pointer(mountID)), uintptr(flags), 0)
|
||||||
|
if e1 != 0 {
|
||||||
|
err = errnoErr(e1)
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
|
func openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) {
|
||||||
|
r0, _, e1 := Syscall(SYS_OPEN_BY_HANDLE_AT, uintptr(mountFD), uintptr(unsafe.Pointer(fh)), uintptr(flags))
|
||||||
|
fd = int(r0)
|
||||||
|
if e1 != 0 {
|
||||||
|
err = errnoErr(e1)
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
func Dup2(oldfd int, newfd int) (err error) {
|
func Dup2(oldfd int, newfd int) (err error) {
|
||||||
_, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0)
|
_, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0)
|
||||||
if e1 != 0 {
|
if e1 != 0 {
|
||||||
|
26
vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go
generated
vendored
26
vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go
generated
vendored
@ -1679,6 +1679,32 @@ func faccessat(dirfd int, path string, mode uint32) (err error) {
|
|||||||
|
|
||||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
|
func nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) {
|
||||||
|
var _p0 *byte
|
||||||
|
_p0, err = BytePtrFromString(pathname)
|
||||||
|
if err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
_, _, e1 := Syscall6(SYS_NAME_TO_HANDLE_AT, uintptr(dirFD), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(fh)), uintptr(unsafe.Pointer(mountID)), uintptr(flags), 0)
|
||||||
|
if e1 != 0 {
|
||||||
|
err = errnoErr(e1)
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
|
func openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) {
|
||||||
|
r0, _, e1 := Syscall(SYS_OPEN_BY_HANDLE_AT, uintptr(mountFD), uintptr(unsafe.Pointer(fh)), uintptr(flags))
|
||||||
|
fd = int(r0)
|
||||||
|
if e1 != 0 {
|
||||||
|
err = errnoErr(e1)
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
func Dup2(oldfd int, newfd int) (err error) {
|
func Dup2(oldfd int, newfd int) (err error) {
|
||||||
_, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0)
|
_, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0)
|
||||||
if e1 != 0 {
|
if e1 != 0 {
|
||||||
|
26
vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go
generated
vendored
26
vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go
generated
vendored
@ -1679,6 +1679,32 @@ func faccessat(dirfd int, path string, mode uint32) (err error) {
|
|||||||
|
|
||||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
|
func nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) {
|
||||||
|
var _p0 *byte
|
||||||
|
_p0, err = BytePtrFromString(pathname)
|
||||||
|
if err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
_, _, e1 := Syscall6(SYS_NAME_TO_HANDLE_AT, uintptr(dirFD), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(fh)), uintptr(unsafe.Pointer(mountID)), uintptr(flags), 0)
|
||||||
|
if e1 != 0 {
|
||||||
|
err = errnoErr(e1)
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
|
func openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) {
|
||||||
|
r0, _, e1 := Syscall(SYS_OPEN_BY_HANDLE_AT, uintptr(mountFD), uintptr(unsafe.Pointer(fh)), uintptr(flags))
|
||||||
|
fd = int(r0)
|
||||||
|
if e1 != 0 {
|
||||||
|
err = errnoErr(e1)
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
func Dup2(oldfd int, newfd int) (err error) {
|
func Dup2(oldfd int, newfd int) (err error) {
|
||||||
_, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0)
|
_, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0)
|
||||||
if e1 != 0 {
|
if e1 != 0 {
|
||||||
|
26
vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go
generated
vendored
26
vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go
generated
vendored
@ -1679,6 +1679,32 @@ func faccessat(dirfd int, path string, mode uint32) (err error) {
|
|||||||
|
|
||||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
|
func nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) {
|
||||||
|
var _p0 *byte
|
||||||
|
_p0, err = BytePtrFromString(pathname)
|
||||||
|
if err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
_, _, e1 := Syscall6(SYS_NAME_TO_HANDLE_AT, uintptr(dirFD), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(fh)), uintptr(unsafe.Pointer(mountID)), uintptr(flags), 0)
|
||||||
|
if e1 != 0 {
|
||||||
|
err = errnoErr(e1)
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
|
func openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) {
|
||||||
|
r0, _, e1 := Syscall(SYS_OPEN_BY_HANDLE_AT, uintptr(mountFD), uintptr(unsafe.Pointer(fh)), uintptr(flags))
|
||||||
|
fd = int(r0)
|
||||||
|
if e1 != 0 {
|
||||||
|
err = errnoErr(e1)
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
func Dup2(oldfd int, newfd int) (err error) {
|
func Dup2(oldfd int, newfd int) (err error) {
|
||||||
_, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0)
|
_, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0)
|
||||||
if e1 != 0 {
|
if e1 != 0 {
|
||||||
|
26
vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go
generated
vendored
26
vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go
generated
vendored
@ -1679,6 +1679,32 @@ func faccessat(dirfd int, path string, mode uint32) (err error) {
|
|||||||
|
|
||||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
|
func nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) {
|
||||||
|
var _p0 *byte
|
||||||
|
_p0, err = BytePtrFromString(pathname)
|
||||||
|
if err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
_, _, e1 := Syscall6(SYS_NAME_TO_HANDLE_AT, uintptr(dirFD), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(fh)), uintptr(unsafe.Pointer(mountID)), uintptr(flags), 0)
|
||||||
|
if e1 != 0 {
|
||||||
|
err = errnoErr(e1)
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
|
func openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) {
|
||||||
|
r0, _, e1 := Syscall(SYS_OPEN_BY_HANDLE_AT, uintptr(mountFD), uintptr(unsafe.Pointer(fh)), uintptr(flags))
|
||||||
|
fd = int(r0)
|
||||||
|
if e1 != 0 {
|
||||||
|
err = errnoErr(e1)
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {
|
func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {
|
||||||
var _p0 unsafe.Pointer
|
var _p0 unsafe.Pointer
|
||||||
if len(events) > 0 {
|
if len(events) > 0 {
|
||||||
|
26
vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go
generated
vendored
26
vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go
generated
vendored
@ -1679,6 +1679,32 @@ func faccessat(dirfd int, path string, mode uint32) (err error) {
|
|||||||
|
|
||||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
|
func nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) {
|
||||||
|
var _p0 *byte
|
||||||
|
_p0, err = BytePtrFromString(pathname)
|
||||||
|
if err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
_, _, e1 := Syscall6(SYS_NAME_TO_HANDLE_AT, uintptr(dirFD), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(fh)), uintptr(unsafe.Pointer(mountID)), uintptr(flags), 0)
|
||||||
|
if e1 != 0 {
|
||||||
|
err = errnoErr(e1)
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
|
func openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) {
|
||||||
|
r0, _, e1 := Syscall(SYS_OPEN_BY_HANDLE_AT, uintptr(mountFD), uintptr(unsafe.Pointer(fh)), uintptr(flags))
|
||||||
|
fd = int(r0)
|
||||||
|
if e1 != 0 {
|
||||||
|
err = errnoErr(e1)
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
func Dup2(oldfd int, newfd int) (err error) {
|
func Dup2(oldfd int, newfd int) (err error) {
|
||||||
_, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0)
|
_, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0)
|
||||||
if e1 != 0 {
|
if e1 != 0 {
|
||||||
|
26
vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go
generated
vendored
26
vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go
generated
vendored
@ -1679,6 +1679,32 @@ func faccessat(dirfd int, path string, mode uint32) (err error) {
|
|||||||
|
|
||||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
|
func nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) {
|
||||||
|
var _p0 *byte
|
||||||
|
_p0, err = BytePtrFromString(pathname)
|
||||||
|
if err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
_, _, e1 := Syscall6(SYS_NAME_TO_HANDLE_AT, uintptr(dirFD), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(fh)), uintptr(unsafe.Pointer(mountID)), uintptr(flags), 0)
|
||||||
|
if e1 != 0 {
|
||||||
|
err = errnoErr(e1)
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
|
func openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) {
|
||||||
|
r0, _, e1 := Syscall(SYS_OPEN_BY_HANDLE_AT, uintptr(mountFD), uintptr(unsafe.Pointer(fh)), uintptr(flags))
|
||||||
|
fd = int(r0)
|
||||||
|
if e1 != 0 {
|
||||||
|
err = errnoErr(e1)
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {
|
func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {
|
||||||
var _p0 unsafe.Pointer
|
var _p0 unsafe.Pointer
|
||||||
if len(events) > 0 {
|
if len(events) > 0 {
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user