MM-20608 Updating x/crypto to support ACMEv2 (#13201)
* Updating x/crypto to support ACMEv2 * Revert test code.
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
fdec1ef1f5
Коммит
0907530528
2
Makefile
2
Makefile
@@ -80,7 +80,7 @@ TESTFLAGSEE ?= -short
|
|||||||
TE_PACKAGES=$(shell $(GO) list ./...)
|
TE_PACKAGES=$(shell $(GO) list ./...)
|
||||||
|
|
||||||
# Plugins Packages
|
# Plugins Packages
|
||||||
PLUGIN_PACKAGES=mattermost-plugin-zoom-v1.1.2
|
PLUGIN_PACKAGES?=mattermost-plugin-zoom-v1.1.2
|
||||||
PLUGIN_PACKAGES += mattermost-plugin-autolink-v1.1.1
|
PLUGIN_PACKAGES += mattermost-plugin-autolink-v1.1.1
|
||||||
PLUGIN_PACKAGES += mattermost-plugin-nps-v1.0.3
|
PLUGIN_PACKAGES += mattermost-plugin-nps-v1.0.3
|
||||||
PLUGIN_PACKAGES += mattermost-plugin-custom-attributes-v1.0.2
|
PLUGIN_PACKAGES += mattermost-plugin-custom-attributes-v1.0.2
|
||||||
|
|||||||
4
go.mod
4
go.mod
@@ -85,9 +85,9 @@ require (
|
|||||||
go.uber.org/atomic v1.4.0 // indirect
|
go.uber.org/atomic v1.4.0 // indirect
|
||||||
go.uber.org/multierr v1.2.0 // indirect
|
go.uber.org/multierr v1.2.0 // indirect
|
||||||
go.uber.org/zap v1.10.0
|
go.uber.org/zap v1.10.0
|
||||||
golang.org/x/crypto v0.0.0-20191001170739-f9e2070545dc
|
golang.org/x/crypto v0.0.0-20191119213627-4f8c1d86b1ba
|
||||||
golang.org/x/image v0.0.0-20190910094157-69e4b8554b2a
|
golang.org/x/image v0.0.0-20190910094157-69e4b8554b2a
|
||||||
golang.org/x/net v0.0.0-20191002035440-2ec189313ef0
|
golang.org/x/net v0.0.0-20191119073136-fc4aabc6c914
|
||||||
golang.org/x/sys v0.0.0-20191002091554-b397fe3ad8ed // indirect
|
golang.org/x/sys v0.0.0-20191002091554-b397fe3ad8ed // indirect
|
||||||
golang.org/x/text v0.3.2
|
golang.org/x/text v0.3.2
|
||||||
golang.org/x/tools v0.0.0-20191002161851-3769738f410b
|
golang.org/x/tools v0.0.0-20191002161851-3769738f410b
|
||||||
|
|||||||
8
go.sum
8
go.sum
@@ -440,8 +440,8 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk
|
|||||||
golang.org/x/crypto v0.0.0-20190513172903-22d7a77e9e5f/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
golang.org/x/crypto v0.0.0-20190513172903-22d7a77e9e5f/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||||
golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||||
golang.org/x/crypto v0.0.0-20190923035154-9ee001bba392/go.mod h1:/lpIB1dKB+9EgE3H3cr1v9wB50oz8l4C4h62xy7jSTY=
|
golang.org/x/crypto v0.0.0-20190923035154-9ee001bba392/go.mod h1:/lpIB1dKB+9EgE3H3cr1v9wB50oz8l4C4h62xy7jSTY=
|
||||||
golang.org/x/crypto v0.0.0-20191001170739-f9e2070545dc h1:KyTYo8xkh/2WdbFLUyQwBS0Jfn3qfZ9QmuPbok2oENE=
|
golang.org/x/crypto v0.0.0-20191119213627-4f8c1d86b1ba h1:9bFeDpN3gTqNanMVqNcoR/pJQuP5uroC3t1D7eXozTE=
|
||||||
golang.org/x/crypto v0.0.0-20191001170739-f9e2070545dc/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
golang.org/x/crypto v0.0.0-20191119213627-4f8c1d86b1ba/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
||||||
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/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs=
|
golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs=
|
||||||
golang.org/x/image v0.0.0-20190321063152-3fc05d484e9f h1:FO4MZ3N56GnxbqxGKqh+YTzUWQ2sDwtFQEZgLOxh9Jc=
|
golang.org/x/image v0.0.0-20190321063152-3fc05d484e9f h1:FO4MZ3N56GnxbqxGKqh+YTzUWQ2sDwtFQEZgLOxh9Jc=
|
||||||
@@ -474,8 +474,8 @@ golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR
|
|||||||
golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||||
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||||
golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||||
golang.org/x/net v0.0.0-20191002035440-2ec189313ef0 h1:2mqDk8w/o6UmeUCu5Qiq2y7iMf6anbx+YA8d1JFoFrs=
|
golang.org/x/net v0.0.0-20191119073136-fc4aabc6c914 h1:MlY3mEfbnWGmUi4rtHOtNnnnN4UJRGSyLPx+DXA5Sq4=
|
||||||
golang.org/x/net v0.0.0-20191002035440-2ec189313ef0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
golang.org/x/net v0.0.0-20191119073136-fc4aabc6c914/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||||
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-20181017192945-9dcd33a902f4/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
|
golang.org/x/oauth2 v0.0.0-20181017192945-9dcd33a902f4/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
|
||||||
golang.org/x/oauth2 v0.0.0-20181203162652-d668ce993890/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
|
golang.org/x/oauth2 v0.0.0-20181203162652-d668ce993890/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
|
||||||
|
|||||||
2
vendor/golang.org/x/crypto/acme/acme.go
сгенерированный
поставляемый
2
vendor/golang.org/x/crypto/acme/acme.go
сгенерированный
поставляемый
@@ -44,7 +44,7 @@ import (
|
|||||||
|
|
||||||
const (
|
const (
|
||||||
// LetsEncryptURL is the Directory endpoint of Let's Encrypt CA.
|
// LetsEncryptURL is the Directory endpoint of Let's Encrypt CA.
|
||||||
LetsEncryptURL = "https://acme-v01.api.letsencrypt.org/directory"
|
LetsEncryptURL = "https://acme-v02.api.letsencrypt.org/directory"
|
||||||
|
|
||||||
// ALPNProto is the ALPN protocol name used by a CA server when validating
|
// ALPNProto is the ALPN protocol name used by a CA server when validating
|
||||||
// tls-alpn-01 challenges.
|
// tls-alpn-01 challenges.
|
||||||
|
|||||||
276
vendor/golang.org/x/crypto/acme/autocert/autocert.go
сгенерированный
поставляемый
276
vendor/golang.org/x/crypto/acme/autocert/autocert.go
сгенерированный
поставляемый
@@ -35,6 +35,9 @@ import (
|
|||||||
"golang.org/x/net/idna"
|
"golang.org/x/net/idna"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// DefaultACMEDirectory is the default ACME Directory URL used when the Manager's Client is nil.
|
||||||
|
const DefaultACMEDirectory = "https://acme-v02.api.letsencrypt.org/directory"
|
||||||
|
|
||||||
// createCertRetryAfter is how much time to wait before removing a failed state
|
// createCertRetryAfter is how much time to wait before removing a failed state
|
||||||
// entry due to an unsuccessful createCert call.
|
// entry due to an unsuccessful createCert call.
|
||||||
// This is a variable instead of a const for testing.
|
// This is a variable instead of a const for testing.
|
||||||
@@ -135,9 +138,10 @@ type Manager struct {
|
|||||||
// Client is used to perform low-level operations, such as account registration
|
// Client is used to perform low-level operations, such as account registration
|
||||||
// and requesting new certificates.
|
// and requesting new certificates.
|
||||||
//
|
//
|
||||||
// If Client is nil, a zero-value acme.Client is used with acme.LetsEncryptURL
|
// If Client is nil, a zero-value acme.Client is used with DefaultACMEDirectory
|
||||||
// as directory endpoint. If the Client.Key is nil, a new ECDSA P-256 key is
|
// as the directory endpoint.
|
||||||
// generated and, if Cache is not nil, stored in cache.
|
// If the Client.Key is nil, a new ECDSA P-256 key is generated and,
|
||||||
|
// if Cache is not nil, stored in cache.
|
||||||
//
|
//
|
||||||
// Mutating the field after the first call of GetCertificate method will have no effect.
|
// Mutating the field after the first call of GetCertificate method will have no effect.
|
||||||
Client *acme.Client
|
Client *acme.Client
|
||||||
@@ -174,8 +178,8 @@ type Manager struct {
|
|||||||
renewalMu sync.Mutex
|
renewalMu sync.Mutex
|
||||||
renewal map[certKey]*domainRenewal
|
renewal map[certKey]*domainRenewal
|
||||||
|
|
||||||
// tokensMu guards the rest of the fields: tryHTTP01, certTokens and httpTokens.
|
// challengeMu guards tryHTTP01, certTokens and httpTokens.
|
||||||
tokensMu sync.RWMutex
|
challengeMu sync.RWMutex
|
||||||
// tryHTTP01 indicates whether the Manager should try "http-01" challenge type
|
// tryHTTP01 indicates whether the Manager should try "http-01" challenge type
|
||||||
// during the authorization flow.
|
// during the authorization flow.
|
||||||
tryHTTP01 bool
|
tryHTTP01 bool
|
||||||
@@ -188,6 +192,7 @@ type Manager struct {
|
|||||||
// and is keyed by the domain name which matches the ClientHello server name.
|
// and is keyed by the domain name which matches the ClientHello server name.
|
||||||
// The entries are stored for the duration of the authorization flow.
|
// The entries are stored for the duration of the authorization flow.
|
||||||
certTokens map[string]*tls.Certificate
|
certTokens map[string]*tls.Certificate
|
||||||
|
|
||||||
// nowFunc, if not nil, returns the current time. This may be set for
|
// nowFunc, if not nil, returns the current time. This may be set for
|
||||||
// testing purposes.
|
// testing purposes.
|
||||||
nowFunc func() time.Time
|
nowFunc func() time.Time
|
||||||
@@ -267,8 +272,8 @@ func (m *Manager) GetCertificate(hello *tls.ClientHelloInfo) (*tls.Certificate,
|
|||||||
|
|
||||||
// Check whether this is a token cert requested for TLS-ALPN challenge.
|
// Check whether this is a token cert requested for TLS-ALPN challenge.
|
||||||
if wantsTokenCert(hello) {
|
if wantsTokenCert(hello) {
|
||||||
m.tokensMu.RLock()
|
m.challengeMu.RLock()
|
||||||
defer m.tokensMu.RUnlock()
|
defer m.challengeMu.RUnlock()
|
||||||
if cert := m.certTokens[name]; cert != nil {
|
if cert := m.certTokens[name]; cert != nil {
|
||||||
return cert, nil
|
return cert, nil
|
||||||
}
|
}
|
||||||
@@ -376,8 +381,8 @@ func supportsECDSA(hello *tls.ClientHelloInfo) bool {
|
|||||||
// If HTTPHandler is never called, the Manager will only use the "tls-alpn-01"
|
// If HTTPHandler is never called, the Manager will only use the "tls-alpn-01"
|
||||||
// challenge for domain verification.
|
// challenge for domain verification.
|
||||||
func (m *Manager) HTTPHandler(fallback http.Handler) http.Handler {
|
func (m *Manager) HTTPHandler(fallback http.Handler) http.Handler {
|
||||||
m.tokensMu.Lock()
|
m.challengeMu.Lock()
|
||||||
defer m.tokensMu.Unlock()
|
defer m.challengeMu.Unlock()
|
||||||
m.tryHTTP01 = true
|
m.tryHTTP01 = true
|
||||||
|
|
||||||
if fallback == nil {
|
if fallback == nil {
|
||||||
@@ -640,71 +645,64 @@ func (m *Manager) certState(ck certKey) (*certState, error) {
|
|||||||
// authorizedCert starts the domain ownership verification process and requests a new cert upon success.
|
// authorizedCert starts the domain ownership verification process and requests a new cert upon success.
|
||||||
// The key argument is the certificate private key.
|
// The key argument is the certificate private key.
|
||||||
func (m *Manager) authorizedCert(ctx context.Context, key crypto.Signer, ck certKey) (der [][]byte, leaf *x509.Certificate, err error) {
|
func (m *Manager) authorizedCert(ctx context.Context, key crypto.Signer, ck certKey) (der [][]byte, leaf *x509.Certificate, err error) {
|
||||||
client, err := m.acmeClient(ctx)
|
|
||||||
if err != nil {
|
|
||||||
return nil, nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
if err := m.verify(ctx, client, ck.domain); err != nil {
|
|
||||||
return nil, nil, err
|
|
||||||
}
|
|
||||||
csr, err := certRequest(key, ck.domain, m.ExtraExtensions)
|
csr, err := certRequest(key, ck.domain, m.ExtraExtensions)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, nil, err
|
return nil, nil, err
|
||||||
}
|
}
|
||||||
der, _, err = client.CreateCert(ctx, csr, 0, true)
|
|
||||||
if err != nil {
|
|
||||||
return nil, nil, err
|
|
||||||
}
|
|
||||||
leaf, err = validCert(ck, der, key, m.now())
|
|
||||||
if err != nil {
|
|
||||||
return nil, nil, err
|
|
||||||
}
|
|
||||||
return der, leaf, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// revokePendingAuthz revokes all authorizations idenfied by the elements of uri slice.
|
|
||||||
// It ignores revocation errors.
|
|
||||||
func (m *Manager) revokePendingAuthz(ctx context.Context, uri []string) {
|
|
||||||
client, err := m.acmeClient(ctx)
|
client, err := m.acmeClient(ctx)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return nil, nil, err
|
||||||
}
|
|
||||||
for _, u := range uri {
|
|
||||||
client.RevokeAuthorization(ctx, u)
|
|
||||||
}
|
}
|
||||||
|
dir, err := client.Discover(ctx)
|
||||||
|
if err != nil {
|
||||||
|
return nil, nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
// verify runs the identifier (domain) authorization flow
|
var chain [][]byte
|
||||||
|
switch {
|
||||||
|
// Pre-RFC legacy CA.
|
||||||
|
case dir.OrderURL == "":
|
||||||
|
if err := m.verify(ctx, client, ck.domain); err != nil {
|
||||||
|
return nil, nil, err
|
||||||
|
}
|
||||||
|
der, _, err := client.CreateCert(ctx, csr, 0, true)
|
||||||
|
if err != nil {
|
||||||
|
return nil, nil, err
|
||||||
|
}
|
||||||
|
chain = der
|
||||||
|
// RFC 8555 compliant CA.
|
||||||
|
default:
|
||||||
|
o, err := m.verifyRFC(ctx, client, ck.domain)
|
||||||
|
if err != nil {
|
||||||
|
return nil, nil, err
|
||||||
|
}
|
||||||
|
der, _, err := client.CreateOrderCert(ctx, o.FinalizeURL, csr, true)
|
||||||
|
if err != nil {
|
||||||
|
return nil, nil, err
|
||||||
|
}
|
||||||
|
chain = der
|
||||||
|
}
|
||||||
|
leaf, err = validCert(ck, chain, key, m.now())
|
||||||
|
if err != nil {
|
||||||
|
return nil, nil, err
|
||||||
|
}
|
||||||
|
return chain, leaf, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// verify runs the identifier (domain) pre-authorization flow for legacy CAs
|
||||||
// using each applicable ACME challenge type.
|
// using each applicable ACME challenge type.
|
||||||
func (m *Manager) verify(ctx context.Context, client *acme.Client, domain string) error {
|
func (m *Manager) verify(ctx context.Context, client *acme.Client, domain string) error {
|
||||||
// The list of challenge types we'll try to fulfill
|
// Remove all hanging authorizations to reduce rate limit quotas
|
||||||
// in this specific order.
|
// after we're done.
|
||||||
challengeTypes := []string{"tls-alpn-01"}
|
var authzURLs []string
|
||||||
m.tokensMu.RLock()
|
|
||||||
if m.tryHTTP01 {
|
|
||||||
challengeTypes = append(challengeTypes, "http-01")
|
|
||||||
}
|
|
||||||
m.tokensMu.RUnlock()
|
|
||||||
|
|
||||||
// Keep track of pending authzs and revoke the ones that did not validate.
|
|
||||||
pendingAuthzs := make(map[string]bool)
|
|
||||||
defer func() {
|
defer func() {
|
||||||
var uri []string
|
go m.deactivatePendingAuthz(authzURLs)
|
||||||
for k, pending := range pendingAuthzs {
|
|
||||||
if pending {
|
|
||||||
uri = append(uri, k)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if len(uri) > 0 {
|
|
||||||
// Use "detached" background context.
|
|
||||||
// The revocations need not happen in the current verification flow.
|
|
||||||
go m.revokePendingAuthz(context.Background(), uri)
|
|
||||||
}
|
|
||||||
}()
|
}()
|
||||||
|
|
||||||
// errs accumulates challenge failure errors, printed if all fail
|
// errs accumulates challenge failure errors, printed if all fail
|
||||||
errs := make(map[*acme.Challenge]error)
|
errs := make(map[*acme.Challenge]error)
|
||||||
|
challengeTypes := m.supportedChallengeTypes()
|
||||||
var nextTyp int // challengeType index of the next challenge type to try
|
var nextTyp int // challengeType index of the next challenge type to try
|
||||||
for {
|
for {
|
||||||
// Start domain authorization and get the challenge.
|
// Start domain authorization and get the challenge.
|
||||||
@@ -712,6 +710,7 @@ func (m *Manager) verify(ctx context.Context, client *acme.Client, domain string
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
authzURLs = append(authzURLs, authz.URI)
|
||||||
// No point in accepting challenges if the authorization status
|
// No point in accepting challenges if the authorization status
|
||||||
// is in a final state.
|
// is in a final state.
|
||||||
switch authz.Status {
|
switch authz.Status {
|
||||||
@@ -721,8 +720,6 @@ func (m *Manager) verify(ctx context.Context, client *acme.Client, domain string
|
|||||||
return fmt.Errorf("acme/autocert: invalid authorization %q", authz.URI)
|
return fmt.Errorf("acme/autocert: invalid authorization %q", authz.URI)
|
||||||
}
|
}
|
||||||
|
|
||||||
pendingAuthzs[authz.URI] = true
|
|
||||||
|
|
||||||
// Pick the next preferred challenge.
|
// Pick the next preferred challenge.
|
||||||
var chal *acme.Challenge
|
var chal *acme.Challenge
|
||||||
for chal == nil && nextTyp < len(challengeTypes) {
|
for chal == nil && nextTyp < len(challengeTypes) {
|
||||||
@@ -752,11 +749,126 @@ func (m *Manager) verify(ctx context.Context, client *acme.Client, domain string
|
|||||||
errs[chal] = err
|
errs[chal] = err
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
delete(pendingAuthzs, authz.URI)
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// verifyRFC runs the identifier (domain) order-based authorization flow for RFC compliant CAs
|
||||||
|
// using each applicable ACME challenge type.
|
||||||
|
func (m *Manager) verifyRFC(ctx context.Context, client *acme.Client, domain string) (*acme.Order, error) {
|
||||||
|
// Try each supported challenge type starting with a new order each time.
|
||||||
|
// The nextTyp index of the next challenge type to try is shared across
|
||||||
|
// all order authorizations: if we've tried a challenge type once and it didn't work,
|
||||||
|
// it will most likely not work on another order's authorization either.
|
||||||
|
challengeTypes := m.supportedChallengeTypes()
|
||||||
|
nextTyp := 0 // challengeTypes index
|
||||||
|
AuthorizeOrderLoop:
|
||||||
|
for {
|
||||||
|
o, err := client.AuthorizeOrder(ctx, acme.DomainIDs(domain))
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
// Remove all hanging authorizations to reduce rate limit quotas
|
||||||
|
// after we're done.
|
||||||
|
defer func(urls []string) {
|
||||||
|
go m.deactivatePendingAuthz(urls)
|
||||||
|
}(o.AuthzURLs)
|
||||||
|
|
||||||
|
// Check if there's actually anything we need to do.
|
||||||
|
switch o.Status {
|
||||||
|
case acme.StatusReady:
|
||||||
|
// Already authorized.
|
||||||
|
return o, nil
|
||||||
|
case acme.StatusPending:
|
||||||
|
// Continue normal Order-based flow.
|
||||||
|
default:
|
||||||
|
return nil, fmt.Errorf("acme/autocert: invalid new order status %q; order URL: %q", o.Status, o.URI)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Satisfy all pending authorizations.
|
||||||
|
for _, zurl := range o.AuthzURLs {
|
||||||
|
z, err := client.GetAuthorization(ctx, zurl)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
if z.Status != acme.StatusPending {
|
||||||
|
// We are interested only in pending authorizations.
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
// Pick the next preferred challenge.
|
||||||
|
var chal *acme.Challenge
|
||||||
|
for chal == nil && nextTyp < len(challengeTypes) {
|
||||||
|
chal = pickChallenge(challengeTypes[nextTyp], z.Challenges)
|
||||||
|
nextTyp++
|
||||||
|
}
|
||||||
|
if chal == nil {
|
||||||
|
return nil, fmt.Errorf("acme/autocert: unable to satisfy %q for domain %q: no viable challenge type found", z.URI, domain)
|
||||||
|
}
|
||||||
|
// Respond to the challenge and wait for validation result.
|
||||||
|
cleanup, err := m.fulfill(ctx, client, chal, domain)
|
||||||
|
if err != nil {
|
||||||
|
continue AuthorizeOrderLoop
|
||||||
|
}
|
||||||
|
defer cleanup()
|
||||||
|
if _, err := client.Accept(ctx, chal); err != nil {
|
||||||
|
continue AuthorizeOrderLoop
|
||||||
|
}
|
||||||
|
if _, err := client.WaitAuthorization(ctx, z.URI); err != nil {
|
||||||
|
continue AuthorizeOrderLoop
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// All authorizations are satisfied.
|
||||||
|
// Wait for the CA to update the order status.
|
||||||
|
o, err = client.WaitOrder(ctx, o.URI)
|
||||||
|
if err != nil {
|
||||||
|
continue AuthorizeOrderLoop
|
||||||
|
}
|
||||||
|
return o, nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func pickChallenge(typ string, chal []*acme.Challenge) *acme.Challenge {
|
||||||
|
for _, c := range chal {
|
||||||
|
if c.Type == typ {
|
||||||
|
return c
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *Manager) supportedChallengeTypes() []string {
|
||||||
|
m.challengeMu.RLock()
|
||||||
|
defer m.challengeMu.RUnlock()
|
||||||
|
typ := []string{"tls-alpn-01"}
|
||||||
|
if m.tryHTTP01 {
|
||||||
|
typ = append(typ, "http-01")
|
||||||
|
}
|
||||||
|
return typ
|
||||||
|
}
|
||||||
|
|
||||||
|
// deactivatePendingAuthz relinquishes all authorizations identified by the elements
|
||||||
|
// of the provided uri slice which are in "pending" state.
|
||||||
|
// It ignores revocation errors.
|
||||||
|
//
|
||||||
|
// deactivatePendingAuthz takes no context argument and instead runs with its own
|
||||||
|
// "detached" context because deactivations are done in a goroutine separate from
|
||||||
|
// that of the main issuance or renewal flow.
|
||||||
|
func (m *Manager) deactivatePendingAuthz(uri []string) {
|
||||||
|
ctx, cancel := context.WithTimeout(context.Background(), 5*time.Minute)
|
||||||
|
defer cancel()
|
||||||
|
client, err := m.acmeClient(ctx)
|
||||||
|
if err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
for _, u := range uri {
|
||||||
|
z, err := client.GetAuthorization(ctx, u)
|
||||||
|
if err == nil && z.Status == acme.StatusPending {
|
||||||
|
client.RevokeAuthorization(ctx, u)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// fulfill provisions a response to the challenge chal.
|
// fulfill provisions a response to the challenge chal.
|
||||||
// The cleanup is non-nil only if provisioning succeeded.
|
// The cleanup is non-nil only if provisioning succeeded.
|
||||||
func (m *Manager) fulfill(ctx context.Context, client *acme.Client, chal *acme.Challenge, domain string) (cleanup func(), err error) {
|
func (m *Manager) fulfill(ctx context.Context, client *acme.Client, chal *acme.Challenge, domain string) (cleanup func(), err error) {
|
||||||
@@ -780,20 +892,11 @@ func (m *Manager) fulfill(ctx context.Context, client *acme.Client, chal *acme.C
|
|||||||
return nil, fmt.Errorf("acme/autocert: unknown challenge type %q", chal.Type)
|
return nil, fmt.Errorf("acme/autocert: unknown challenge type %q", chal.Type)
|
||||||
}
|
}
|
||||||
|
|
||||||
func pickChallenge(typ string, chal []*acme.Challenge) *acme.Challenge {
|
|
||||||
for _, c := range chal {
|
|
||||||
if c.Type == typ {
|
|
||||||
return c
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// putCertToken stores the token certificate with the specified name
|
// putCertToken stores the token certificate with the specified name
|
||||||
// in both m.certTokens map and m.Cache.
|
// in both m.certTokens map and m.Cache.
|
||||||
func (m *Manager) putCertToken(ctx context.Context, name string, cert *tls.Certificate) {
|
func (m *Manager) putCertToken(ctx context.Context, name string, cert *tls.Certificate) {
|
||||||
m.tokensMu.Lock()
|
m.challengeMu.Lock()
|
||||||
defer m.tokensMu.Unlock()
|
defer m.challengeMu.Unlock()
|
||||||
if m.certTokens == nil {
|
if m.certTokens == nil {
|
||||||
m.certTokens = make(map[string]*tls.Certificate)
|
m.certTokens = make(map[string]*tls.Certificate)
|
||||||
}
|
}
|
||||||
@@ -804,8 +907,8 @@ func (m *Manager) putCertToken(ctx context.Context, name string, cert *tls.Certi
|
|||||||
// deleteCertToken removes the token certificate with the specified name
|
// deleteCertToken removes the token certificate with the specified name
|
||||||
// from both m.certTokens map and m.Cache.
|
// from both m.certTokens map and m.Cache.
|
||||||
func (m *Manager) deleteCertToken(name string) {
|
func (m *Manager) deleteCertToken(name string) {
|
||||||
m.tokensMu.Lock()
|
m.challengeMu.Lock()
|
||||||
defer m.tokensMu.Unlock()
|
defer m.challengeMu.Unlock()
|
||||||
delete(m.certTokens, name)
|
delete(m.certTokens, name)
|
||||||
if m.Cache != nil {
|
if m.Cache != nil {
|
||||||
ck := certKey{domain: name, isToken: true}
|
ck := certKey{domain: name, isToken: true}
|
||||||
@@ -816,8 +919,8 @@ func (m *Manager) deleteCertToken(name string) {
|
|||||||
// httpToken retrieves an existing http-01 token value from an in-memory map
|
// httpToken retrieves an existing http-01 token value from an in-memory map
|
||||||
// or the optional cache.
|
// or the optional cache.
|
||||||
func (m *Manager) httpToken(ctx context.Context, tokenPath string) ([]byte, error) {
|
func (m *Manager) httpToken(ctx context.Context, tokenPath string) ([]byte, error) {
|
||||||
m.tokensMu.RLock()
|
m.challengeMu.RLock()
|
||||||
defer m.tokensMu.RUnlock()
|
defer m.challengeMu.RUnlock()
|
||||||
if v, ok := m.httpTokens[tokenPath]; ok {
|
if v, ok := m.httpTokens[tokenPath]; ok {
|
||||||
return v, nil
|
return v, nil
|
||||||
}
|
}
|
||||||
@@ -832,8 +935,8 @@ func (m *Manager) httpToken(ctx context.Context, tokenPath string) ([]byte, erro
|
|||||||
//
|
//
|
||||||
// It ignores any error returned from Cache.Put.
|
// It ignores any error returned from Cache.Put.
|
||||||
func (m *Manager) putHTTPToken(ctx context.Context, tokenPath, val string) {
|
func (m *Manager) putHTTPToken(ctx context.Context, tokenPath, val string) {
|
||||||
m.tokensMu.Lock()
|
m.challengeMu.Lock()
|
||||||
defer m.tokensMu.Unlock()
|
defer m.challengeMu.Unlock()
|
||||||
if m.httpTokens == nil {
|
if m.httpTokens == nil {
|
||||||
m.httpTokens = make(map[string][]byte)
|
m.httpTokens = make(map[string][]byte)
|
||||||
}
|
}
|
||||||
@@ -849,8 +952,8 @@ func (m *Manager) putHTTPToken(ctx context.Context, tokenPath, val string) {
|
|||||||
//
|
//
|
||||||
// If m.Cache is non-nil, it blocks until Cache.Delete returns without a timeout.
|
// If m.Cache is non-nil, it blocks until Cache.Delete returns without a timeout.
|
||||||
func (m *Manager) deleteHTTPToken(tokenPath string) {
|
func (m *Manager) deleteHTTPToken(tokenPath string) {
|
||||||
m.tokensMu.Lock()
|
m.challengeMu.Lock()
|
||||||
defer m.tokensMu.Unlock()
|
defer m.challengeMu.Unlock()
|
||||||
delete(m.httpTokens, tokenPath)
|
delete(m.httpTokens, tokenPath)
|
||||||
if m.Cache != nil {
|
if m.Cache != nil {
|
||||||
m.Cache.Delete(context.Background(), httpTokenCacheKey(tokenPath))
|
m.Cache.Delete(context.Background(), httpTokenCacheKey(tokenPath))
|
||||||
@@ -949,7 +1052,7 @@ func (m *Manager) acmeClient(ctx context.Context) (*acme.Client, error) {
|
|||||||
|
|
||||||
client := m.Client
|
client := m.Client
|
||||||
if client == nil {
|
if client == nil {
|
||||||
client = &acme.Client{DirectoryURL: acme.LetsEncryptURL}
|
client = &acme.Client{DirectoryURL: DefaultACMEDirectory}
|
||||||
}
|
}
|
||||||
if client.Key == nil {
|
if client.Key == nil {
|
||||||
var err error
|
var err error
|
||||||
@@ -967,14 +1070,23 @@ func (m *Manager) acmeClient(ctx context.Context) (*acme.Client, error) {
|
|||||||
}
|
}
|
||||||
a := &acme.Account{Contact: contact}
|
a := &acme.Account{Contact: contact}
|
||||||
_, err := client.Register(ctx, a, m.Prompt)
|
_, err := client.Register(ctx, a, m.Prompt)
|
||||||
if ae, ok := err.(*acme.Error); err == nil || ok && ae.StatusCode == http.StatusConflict {
|
if err == nil || isAccountAlreadyExist(err) {
|
||||||
// conflict indicates the key is already registered
|
|
||||||
m.client = client
|
m.client = client
|
||||||
err = nil
|
err = nil
|
||||||
}
|
}
|
||||||
return m.client, err
|
return m.client, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// isAccountAlreadyExist reports whether the err, as returned from acme.Client.Register,
|
||||||
|
// indicates the account has already been registered.
|
||||||
|
func isAccountAlreadyExist(err error) bool {
|
||||||
|
if err == acme.ErrAccountAlreadyExists {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
ae, ok := err.(*acme.Error)
|
||||||
|
return ok && ae.StatusCode == http.StatusConflict
|
||||||
|
}
|
||||||
|
|
||||||
func (m *Manager) hostPolicy() HostPolicy {
|
func (m *Manager) hostPolicy() HostPolicy {
|
||||||
if m.HostPolicy != nil {
|
if m.HostPolicy != nil {
|
||||||
return m.HostPolicy
|
return m.HostPolicy
|
||||||
|
|||||||
4
vendor/golang.org/x/crypto/openpgp/elgamal/elgamal.go
сгенерированный
поставляемый
4
vendor/golang.org/x/crypto/openpgp/elgamal/elgamal.go
сгенерированный
поставляемый
@@ -76,7 +76,9 @@ func Encrypt(random io.Reader, pub *PublicKey, msg []byte) (c1, c2 *big.Int, err
|
|||||||
// Bleichenbacher, Advances in Cryptology (Crypto '98),
|
// Bleichenbacher, Advances in Cryptology (Crypto '98),
|
||||||
func Decrypt(priv *PrivateKey, c1, c2 *big.Int) (msg []byte, err error) {
|
func Decrypt(priv *PrivateKey, c1, c2 *big.Int) (msg []byte, err error) {
|
||||||
s := new(big.Int).Exp(c1, priv.X, priv.P)
|
s := new(big.Int).Exp(c1, priv.X, priv.P)
|
||||||
s.ModInverse(s, priv.P)
|
if s.ModInverse(s, priv.P) == nil {
|
||||||
|
return nil, errors.New("elgamal: invalid private key")
|
||||||
|
}
|
||||||
s.Mul(s, c2)
|
s.Mul(s, c2)
|
||||||
s.Mod(s, priv.P)
|
s.Mod(s, priv.P)
|
||||||
em := s.Bytes()
|
em := s.Bytes()
|
||||||
|
|||||||
6
vendor/golang.org/x/crypto/openpgp/packet/encrypted_key.go
сгенерированный
поставляемый
6
vendor/golang.org/x/crypto/openpgp/packet/encrypted_key.go
сгенерированный
поставляемый
@@ -5,6 +5,7 @@
|
|||||||
package packet
|
package packet
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"crypto"
|
||||||
"crypto/rsa"
|
"crypto/rsa"
|
||||||
"encoding/binary"
|
"encoding/binary"
|
||||||
"io"
|
"io"
|
||||||
@@ -78,8 +79,9 @@ func (e *EncryptedKey) Decrypt(priv *PrivateKey, config *Config) error {
|
|||||||
// padding oracle attacks.
|
// padding oracle attacks.
|
||||||
switch priv.PubKeyAlgo {
|
switch priv.PubKeyAlgo {
|
||||||
case PubKeyAlgoRSA, PubKeyAlgoRSAEncryptOnly:
|
case PubKeyAlgoRSA, PubKeyAlgoRSAEncryptOnly:
|
||||||
k := priv.PrivateKey.(*rsa.PrivateKey)
|
// Supports both *rsa.PrivateKey and crypto.Decrypter
|
||||||
b, err = rsa.DecryptPKCS1v15(config.Random(), k, padToKeySize(&k.PublicKey, e.encryptedMPI1.bytes))
|
k := priv.PrivateKey.(crypto.Decrypter)
|
||||||
|
b, err = k.Decrypt(config.Random(), padToKeySize(k.Public().(*rsa.PublicKey), e.encryptedMPI1.bytes), nil)
|
||||||
case PubKeyAlgoElGamal:
|
case PubKeyAlgoElGamal:
|
||||||
c1 := new(big.Int).SetBytes(e.encryptedMPI1.bytes)
|
c1 := new(big.Int).SetBytes(e.encryptedMPI1.bytes)
|
||||||
c2 := new(big.Int).SetBytes(e.encryptedMPI2.bytes)
|
c2 := new(big.Int).SetBytes(e.encryptedMPI2.bytes)
|
||||||
|
|||||||
2
vendor/golang.org/x/crypto/openpgp/packet/private_key.go
сгенерированный
поставляемый
2
vendor/golang.org/x/crypto/openpgp/packet/private_key.go
сгенерированный
поставляемый
@@ -31,7 +31,7 @@ type PrivateKey struct {
|
|||||||
encryptedData []byte
|
encryptedData []byte
|
||||||
cipher CipherFunction
|
cipher CipherFunction
|
||||||
s2k func(out, in []byte)
|
s2k func(out, in []byte)
|
||||||
PrivateKey interface{} // An *{rsa|dsa|ecdsa}.PrivateKey or a crypto.Signer.
|
PrivateKey interface{} // An *{rsa|dsa|ecdsa}.PrivateKey or crypto.Signer/crypto.Decrypter (Decryptor RSA only).
|
||||||
sha1Checksum bool
|
sha1Checksum bool
|
||||||
iv []byte
|
iv []byte
|
||||||
}
|
}
|
||||||
|
|||||||
4
vendor/golang.org/x/net/html/parse.go
сгенерированный
поставляемый
4
vendor/golang.org/x/net/html/parse.go
сгенерированный
поставляемый
@@ -881,7 +881,7 @@ func inBodyIM(p *parser) bool {
|
|||||||
p.addElement()
|
p.addElement()
|
||||||
p.im = inFramesetIM
|
p.im = inFramesetIM
|
||||||
return true
|
return true
|
||||||
case a.Address, a.Article, a.Aside, a.Blockquote, a.Center, a.Details, a.Dir, a.Div, a.Dl, a.Fieldset, a.Figcaption, a.Figure, a.Footer, a.Header, a.Hgroup, a.Menu, a.Nav, a.Ol, a.P, a.Section, a.Summary, a.Ul:
|
case a.Address, a.Article, a.Aside, a.Blockquote, a.Center, a.Details, a.Dialog, a.Dir, a.Div, a.Dl, a.Fieldset, a.Figcaption, a.Figure, a.Footer, a.Header, a.Hgroup, a.Menu, a.Nav, a.Ol, a.P, a.Section, a.Summary, a.Ul:
|
||||||
p.popUntil(buttonScope, a.P)
|
p.popUntil(buttonScope, a.P)
|
||||||
p.addElement()
|
p.addElement()
|
||||||
case a.H1, a.H2, a.H3, a.H4, a.H5, a.H6:
|
case a.H1, a.H2, a.H3, a.H4, a.H5, a.H6:
|
||||||
@@ -1137,7 +1137,7 @@ func inBodyIM(p *parser) bool {
|
|||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
return true
|
return true
|
||||||
case a.Address, a.Article, a.Aside, a.Blockquote, a.Button, a.Center, a.Details, a.Dir, a.Div, a.Dl, a.Fieldset, a.Figcaption, a.Figure, a.Footer, a.Header, a.Hgroup, a.Listing, a.Menu, a.Nav, a.Ol, a.Pre, a.Section, a.Summary, a.Ul:
|
case a.Address, a.Article, a.Aside, a.Blockquote, a.Button, a.Center, a.Details, a.Dialog, a.Dir, a.Div, a.Dl, a.Fieldset, a.Figcaption, a.Figure, a.Footer, a.Header, a.Hgroup, a.Listing, a.Menu, a.Nav, a.Ol, a.Pre, a.Section, a.Summary, a.Ul:
|
||||||
p.popUntil(defaultScope, p.tok.DataAtom)
|
p.popUntil(defaultScope, p.tok.DataAtom)
|
||||||
case a.Form:
|
case a.Form:
|
||||||
if p.oe.contains(a.Template) {
|
if p.oe.contains(a.Template) {
|
||||||
|
|||||||
7
vendor/golang.org/x/net/http2/pipe.go
сгенерированный
поставляемый
7
vendor/golang.org/x/net/http2/pipe.go
сгенерированный
поставляемый
@@ -17,6 +17,7 @@ type pipe struct {
|
|||||||
mu sync.Mutex
|
mu sync.Mutex
|
||||||
c sync.Cond // c.L lazily initialized to &p.mu
|
c sync.Cond // c.L lazily initialized to &p.mu
|
||||||
b pipeBuffer // nil when done reading
|
b pipeBuffer // nil when done reading
|
||||||
|
unread int // bytes unread when done
|
||||||
err error // read error once empty. non-nil means closed.
|
err error // read error once empty. non-nil means closed.
|
||||||
breakErr error // immediate read error (caller doesn't see rest of b)
|
breakErr error // immediate read error (caller doesn't see rest of b)
|
||||||
donec chan struct{} // closed on error
|
donec chan struct{} // closed on error
|
||||||
@@ -33,7 +34,7 @@ func (p *pipe) Len() int {
|
|||||||
p.mu.Lock()
|
p.mu.Lock()
|
||||||
defer p.mu.Unlock()
|
defer p.mu.Unlock()
|
||||||
if p.b == nil {
|
if p.b == nil {
|
||||||
return 0
|
return p.unread
|
||||||
}
|
}
|
||||||
return p.b.Len()
|
return p.b.Len()
|
||||||
}
|
}
|
||||||
@@ -80,6 +81,7 @@ func (p *pipe) Write(d []byte) (n int, err error) {
|
|||||||
return 0, errClosedPipeWrite
|
return 0, errClosedPipeWrite
|
||||||
}
|
}
|
||||||
if p.breakErr != nil {
|
if p.breakErr != nil {
|
||||||
|
p.unread += len(d)
|
||||||
return len(d), nil // discard when there is no reader
|
return len(d), nil // discard when there is no reader
|
||||||
}
|
}
|
||||||
return p.b.Write(d)
|
return p.b.Write(d)
|
||||||
@@ -117,6 +119,9 @@ func (p *pipe) closeWithError(dst *error, err error, fn func()) {
|
|||||||
}
|
}
|
||||||
p.readFn = fn
|
p.readFn = fn
|
||||||
if dst == &p.breakErr {
|
if dst == &p.breakErr {
|
||||||
|
if p.b != nil {
|
||||||
|
p.unread += p.b.Len()
|
||||||
|
}
|
||||||
p.b = nil
|
p.b = nil
|
||||||
}
|
}
|
||||||
*dst = err
|
*dst = err
|
||||||
|
|||||||
8
vendor/golang.org/x/net/http2/server.go
сгенерированный
поставляемый
8
vendor/golang.org/x/net/http2/server.go
сгенерированный
поставляемый
@@ -252,7 +252,7 @@ func ConfigureServer(s *http.Server, conf *Server) error {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if !haveRequired {
|
if !haveRequired {
|
||||||
return fmt.Errorf("http2: TLSConfig.CipherSuites is missing an HTTP/2-required AES_128_GCM_SHA256 cipher.")
|
return fmt.Errorf("http2: TLSConfig.CipherSuites is missing an HTTP/2-required AES_128_GCM_SHA256 cipher (need at least one of TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 or TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256).")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2415,7 +2415,11 @@ func (rws *responseWriterState) writeChunk(p []byte) (n int, err error) {
|
|||||||
clen = strconv.Itoa(len(p))
|
clen = strconv.Itoa(len(p))
|
||||||
}
|
}
|
||||||
_, hasContentType := rws.snapHeader["Content-Type"]
|
_, hasContentType := rws.snapHeader["Content-Type"]
|
||||||
if !hasContentType && bodyAllowedForStatus(rws.status) && len(p) > 0 {
|
// If the Content-Encoding is non-blank, we shouldn't
|
||||||
|
// sniff the body. See Issue golang.org/issue/31753.
|
||||||
|
ce := rws.snapHeader.Get("Content-Encoding")
|
||||||
|
hasCE := len(ce) > 0
|
||||||
|
if !hasCE && !hasContentType && bodyAllowedForStatus(rws.status) && len(p) > 0 {
|
||||||
ctype = http.DetectContentType(p)
|
ctype = http.DetectContentType(p)
|
||||||
}
|
}
|
||||||
var date string
|
var date string
|
||||||
|
|||||||
26
vendor/golang.org/x/net/http2/transport.go
сгенерированный
поставляемый
26
vendor/golang.org/x/net/http2/transport.go
сгенерированный
поставляемый
@@ -603,7 +603,7 @@ func (t *Transport) expectContinueTimeout() time.Duration {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (t *Transport) NewClientConn(c net.Conn) (*ClientConn, error) {
|
func (t *Transport) NewClientConn(c net.Conn) (*ClientConn, error) {
|
||||||
return t.newClientConn(c, false)
|
return t.newClientConn(c, t.disableKeepAlives())
|
||||||
}
|
}
|
||||||
|
|
||||||
func (t *Transport) newClientConn(c net.Conn, singleUse bool) (*ClientConn, error) {
|
func (t *Transport) newClientConn(c net.Conn, singleUse bool) (*ClientConn, error) {
|
||||||
@@ -1478,7 +1478,29 @@ func (cc *ClientConn) encodeHeaders(req *http.Request, addGzipHeader bool, trail
|
|||||||
if vv[0] == "" {
|
if vv[0] == "" {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
} else if strings.EqualFold(k, "cookie") {
|
||||||
|
// Per 8.1.2.5 To allow for better compression efficiency, the
|
||||||
|
// Cookie header field MAY be split into separate header fields,
|
||||||
|
// each with one or more cookie-pairs.
|
||||||
|
for _, v := range vv {
|
||||||
|
for {
|
||||||
|
p := strings.IndexByte(v, ';')
|
||||||
|
if p < 0 {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
f("cookie", v[:p])
|
||||||
|
p++
|
||||||
|
// strip space after semicolon if any.
|
||||||
|
for p+1 <= len(v) && v[p] == ' ' {
|
||||||
|
p++
|
||||||
|
}
|
||||||
|
v = v[p:]
|
||||||
|
}
|
||||||
|
if len(v) > 0 {
|
||||||
|
f("cookie", v)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, v := range vv {
|
for _, v := range vv {
|
||||||
|
|||||||
9
vendor/golang.org/x/net/http2/writesched_random.go
сгенерированный
поставляемый
9
vendor/golang.org/x/net/http2/writesched_random.go
сгенерированный
поставляемый
@@ -19,7 +19,8 @@ type randomWriteScheduler struct {
|
|||||||
zero writeQueue
|
zero writeQueue
|
||||||
|
|
||||||
// sq contains the stream-specific queues, keyed by stream ID.
|
// sq contains the stream-specific queues, keyed by stream ID.
|
||||||
// When a stream is idle or closed, it's deleted from the map.
|
// When a stream is idle, closed, or emptied, it's deleted
|
||||||
|
// from the map.
|
||||||
sq map[uint32]*writeQueue
|
sq map[uint32]*writeQueue
|
||||||
|
|
||||||
// pool of empty queues for reuse.
|
// pool of empty queues for reuse.
|
||||||
@@ -63,8 +64,12 @@ func (ws *randomWriteScheduler) Pop() (FrameWriteRequest, bool) {
|
|||||||
return ws.zero.shift(), true
|
return ws.zero.shift(), true
|
||||||
}
|
}
|
||||||
// Iterate over all non-idle streams until finding one that can be consumed.
|
// Iterate over all non-idle streams until finding one that can be consumed.
|
||||||
for _, q := range ws.sq {
|
for streamID, q := range ws.sq {
|
||||||
if wr, ok := q.consume(math.MaxInt32); ok {
|
if wr, ok := q.consume(math.MaxInt32); ok {
|
||||||
|
if q.empty() {
|
||||||
|
delete(ws.sq, streamID)
|
||||||
|
ws.queuePool.put(q)
|
||||||
|
}
|
||||||
return wr, true
|
return wr, true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
2
vendor/golang.org/x/net/idna/tables11.0.0.go
сгенерированный
поставляемый
2
vendor/golang.org/x/net/idna/tables11.0.0.go
сгенерированный
поставляемый
@@ -1,6 +1,6 @@
|
|||||||
// 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.13
|
// +build go1.13,!go1.14
|
||||||
|
|
||||||
package idna
|
package idna
|
||||||
|
|
||||||
|
|||||||
4733
vendor/golang.org/x/net/idna/tables12.00.go
сгенерированный
поставляемый
Обычный файл
4733
vendor/golang.org/x/net/idna/tables12.00.go
сгенерированный
поставляемый
Обычный файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
12
vendor/golang.org/x/net/internal/socket/norace.go
сгенерированный
поставляемый
Обычный файл
12
vendor/golang.org/x/net/internal/socket/norace.go
сгенерированный
поставляемый
Обычный файл
@@ -0,0 +1,12 @@
|
|||||||
|
// 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 !race
|
||||||
|
|
||||||
|
package socket
|
||||||
|
|
||||||
|
func (m *Message) raceRead() {
|
||||||
|
}
|
||||||
|
func (m *Message) raceWrite() {
|
||||||
|
}
|
||||||
37
vendor/golang.org/x/net/internal/socket/race.go
сгенерированный
поставляемый
Обычный файл
37
vendor/golang.org/x/net/internal/socket/race.go
сгенерированный
поставляемый
Обычный файл
@@ -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 race
|
||||||
|
|
||||||
|
package socket
|
||||||
|
|
||||||
|
import (
|
||||||
|
"runtime"
|
||||||
|
"unsafe"
|
||||||
|
)
|
||||||
|
|
||||||
|
// This package reads and writes the Message buffers using a
|
||||||
|
// direct system call, which the race detector can't see.
|
||||||
|
// These functions tell the race detector what is going on during the syscall.
|
||||||
|
|
||||||
|
func (m *Message) raceRead() {
|
||||||
|
for _, b := range m.Buffers {
|
||||||
|
if len(b) > 0 {
|
||||||
|
runtime.RaceReadRange(unsafe.Pointer(&b[0]), len(b))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if b := m.OOB; len(b) > 0 {
|
||||||
|
runtime.RaceReadRange(unsafe.Pointer(&b[0]), len(b))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func (m *Message) raceWrite() {
|
||||||
|
for _, b := range m.Buffers {
|
||||||
|
if len(b) > 0 {
|
||||||
|
runtime.RaceWriteRange(unsafe.Pointer(&b[0]), len(b))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if b := m.OOB; len(b) > 0 {
|
||||||
|
runtime.RaceWriteRange(unsafe.Pointer(&b[0]), len(b))
|
||||||
|
}
|
||||||
|
}
|
||||||
6
vendor/golang.org/x/net/internal/socket/rawconn_mmsg.go
сгенерированный
поставляемый
6
vendor/golang.org/x/net/internal/socket/rawconn_mmsg.go
сгенерированный
поставляемый
@@ -13,6 +13,9 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func (c *Conn) recvMsgs(ms []Message, flags int) (int, error) {
|
func (c *Conn) recvMsgs(ms []Message, flags int) (int, error) {
|
||||||
|
for i := range ms {
|
||||||
|
ms[i].raceWrite()
|
||||||
|
}
|
||||||
hs := make(mmsghdrs, len(ms))
|
hs := make(mmsghdrs, len(ms))
|
||||||
var parseFn func([]byte, string) (net.Addr, error)
|
var parseFn func([]byte, string) (net.Addr, error)
|
||||||
if c.network != "tcp" {
|
if c.network != "tcp" {
|
||||||
@@ -43,6 +46,9 @@ func (c *Conn) recvMsgs(ms []Message, flags int) (int, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (c *Conn) sendMsgs(ms []Message, flags int) (int, error) {
|
func (c *Conn) sendMsgs(ms []Message, flags int) (int, error) {
|
||||||
|
for i := range ms {
|
||||||
|
ms[i].raceRead()
|
||||||
|
}
|
||||||
hs := make(mmsghdrs, len(ms))
|
hs := make(mmsghdrs, len(ms))
|
||||||
var marshalFn func(net.Addr) []byte
|
var marshalFn func(net.Addr) []byte
|
||||||
if c.network != "tcp" {
|
if c.network != "tcp" {
|
||||||
|
|||||||
2
vendor/golang.org/x/net/internal/socket/rawconn_msg.go
сгенерированный
поставляемый
2
vendor/golang.org/x/net/internal/socket/rawconn_msg.go
сгенерированный
поставляемый
@@ -12,6 +12,7 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func (c *Conn) recvMsg(m *Message, flags int) error {
|
func (c *Conn) recvMsg(m *Message, flags int) error {
|
||||||
|
m.raceWrite()
|
||||||
var h msghdr
|
var h msghdr
|
||||||
vs := make([]iovec, len(m.Buffers))
|
vs := make([]iovec, len(m.Buffers))
|
||||||
var sa []byte
|
var sa []byte
|
||||||
@@ -48,6 +49,7 @@ func (c *Conn) recvMsg(m *Message, flags int) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (c *Conn) sendMsg(m *Message, flags int) error {
|
func (c *Conn) sendMsg(m *Message, flags int) error {
|
||||||
|
m.raceRead()
|
||||||
var h msghdr
|
var h msghdr
|
||||||
vs := make([]iovec, len(m.Buffers))
|
vs := make([]iovec, len(m.Buffers))
|
||||||
var sa []byte
|
var sa []byte
|
||||||
|
|||||||
27
vendor/golang.org/x/net/internal/socket/sys_dragonfly.go
сгенерированный
поставляемый
27
vendor/golang.org/x/net/internal/socket/sys_dragonfly.go
сгенерированный
поставляемый
@@ -4,4 +4,29 @@
|
|||||||
|
|
||||||
package socket
|
package socket
|
||||||
|
|
||||||
func probeProtocolStack() int { return 4 }
|
import (
|
||||||
|
"sync"
|
||||||
|
"syscall"
|
||||||
|
"unsafe"
|
||||||
|
)
|
||||||
|
|
||||||
|
// See version list in https://github.com/DragonFlyBSD/DragonFlyBSD/blob/master/sys/sys/param.h
|
||||||
|
var (
|
||||||
|
osreldateOnce sync.Once
|
||||||
|
osreldate uint32
|
||||||
|
)
|
||||||
|
|
||||||
|
// First __DragonFly_version after September 2019 ABI changes
|
||||||
|
// http://lists.dragonflybsd.org/pipermail/users/2019-September/358280.html
|
||||||
|
const _dragonflyABIChangeVersion = 500705
|
||||||
|
|
||||||
|
func probeProtocolStack() int {
|
||||||
|
osreldateOnce.Do(func() { osreldate, _ = syscall.SysctlUint32("kern.osreldate") })
|
||||||
|
var p uintptr
|
||||||
|
if int(unsafe.Sizeof(p)) == 8 && osreldate >= _dragonflyABIChangeVersion {
|
||||||
|
return int(unsafe.Sizeof(p))
|
||||||
|
}
|
||||||
|
// 64-bit Dragonfly before the September 2019 ABI changes still requires
|
||||||
|
// 32-bit aligned access to network subsystem.
|
||||||
|
return 4
|
||||||
|
}
|
||||||
|
|||||||
6
vendor/golang.org/x/net/internal/timeseries/timeseries.go
сгенерированный
поставляемый
6
vendor/golang.org/x/net/internal/timeseries/timeseries.go
сгенерированный
поставляемый
@@ -403,9 +403,9 @@ func (ts *timeSeries) extract(l *tsLevel, start, finish time.Time, num int, resu
|
|||||||
|
|
||||||
// Where should scanning start?
|
// Where should scanning start?
|
||||||
if dstStart.After(srcStart) {
|
if dstStart.After(srcStart) {
|
||||||
advance := dstStart.Sub(srcStart) / srcInterval
|
advance := int(dstStart.Sub(srcStart) / srcInterval)
|
||||||
srcIndex += int(advance)
|
srcIndex += advance
|
||||||
srcStart = srcStart.Add(advance * srcInterval)
|
srcStart = srcStart.Add(time.Duration(advance) * srcInterval)
|
||||||
}
|
}
|
||||||
|
|
||||||
// The i'th value is computed as show below.
|
// The i'th value is computed as show below.
|
||||||
|
|||||||
3
vendor/golang.org/x/net/ipv4/control_bsd.go
сгенерированный
поставляемый
3
vendor/golang.org/x/net/ipv4/control_bsd.go
сгенерированный
поставляемый
@@ -35,6 +35,7 @@ func marshalInterface(b []byte, cm *ControlMessage) []byte {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func parseInterface(cm *ControlMessage, b []byte) {
|
func parseInterface(cm *ControlMessage, b []byte) {
|
||||||
sadl := (*syscall.SockaddrDatalink)(unsafe.Pointer(&b[0]))
|
var sadl syscall.SockaddrDatalink
|
||||||
|
copy((*[unsafe.Sizeof(sadl)]byte)(unsafe.Pointer(&sadl))[:], b)
|
||||||
cm.IfIndex = int(sadl.Index)
|
cm.IfIndex = int(sadl.Index)
|
||||||
}
|
}
|
||||||
|
|||||||
7
vendor/golang.org/x/net/ipv4/sys_bpf.go
сгенерированный
поставляемый
7
vendor/golang.org/x/net/ipv4/sys_bpf.go
сгенерированный
поставляемый
@@ -11,13 +11,14 @@ import (
|
|||||||
|
|
||||||
"golang.org/x/net/bpf"
|
"golang.org/x/net/bpf"
|
||||||
"golang.org/x/net/internal/socket"
|
"golang.org/x/net/internal/socket"
|
||||||
|
"golang.org/x/sys/unix"
|
||||||
)
|
)
|
||||||
|
|
||||||
func (so *sockOpt) setAttachFilter(c *socket.Conn, f []bpf.RawInstruction) error {
|
func (so *sockOpt) setAttachFilter(c *socket.Conn, f []bpf.RawInstruction) error {
|
||||||
prog := sockFProg{
|
prog := unix.SockFprog{
|
||||||
Len: uint16(len(f)),
|
Len: uint16(len(f)),
|
||||||
Filter: (*sockFilter)(unsafe.Pointer(&f[0])),
|
Filter: (*unix.SockFilter)(unsafe.Pointer(&f[0])),
|
||||||
}
|
}
|
||||||
b := (*[sizeofSockFprog]byte)(unsafe.Pointer(&prog))[:sizeofSockFprog]
|
b := (*[unix.SizeofSockFprog]byte)(unsafe.Pointer(&prog))[:unix.SizeofSockFprog]
|
||||||
return so.Set(c, b)
|
return so.Set(c, b)
|
||||||
}
|
}
|
||||||
|
|||||||
3
vendor/golang.org/x/net/ipv4/sys_linux.go
сгенерированный
поставляемый
3
vendor/golang.org/x/net/ipv4/sys_linux.go
сгенерированный
поставляемый
@@ -11,6 +11,7 @@ import (
|
|||||||
|
|
||||||
"golang.org/x/net/internal/iana"
|
"golang.org/x/net/internal/iana"
|
||||||
"golang.org/x/net/internal/socket"
|
"golang.org/x/net/internal/socket"
|
||||||
|
"golang.org/x/sys/unix"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
@@ -35,7 +36,7 @@ var (
|
|||||||
ssoLeaveSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysMCAST_LEAVE_SOURCE_GROUP, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq},
|
ssoLeaveSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysMCAST_LEAVE_SOURCE_GROUP, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq},
|
||||||
ssoBlockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysMCAST_BLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq},
|
ssoBlockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysMCAST_BLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq},
|
||||||
ssoUnblockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysMCAST_UNBLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq},
|
ssoUnblockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysMCAST_UNBLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq},
|
||||||
ssoAttachFilter: {Option: socket.Option{Level: sysSOL_SOCKET, Name: sysSO_ATTACH_FILTER, Len: sizeofSockFprog}},
|
ssoAttachFilter: {Option: socket.Option{Level: unix.SOL_SOCKET, Name: unix.SO_ATTACH_FILTER, Len: unix.SizeofSockFprog}},
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
93
vendor/golang.org/x/net/ipv4/zsys_freebsd_arm64.go
сгенерированный
поставляемый
Обычный файл
93
vendor/golang.org/x/net/ipv4/zsys_freebsd_arm64.go
сгенерированный
поставляемый
Обычный файл
@@ -0,0 +1,93 @@
|
|||||||
|
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
|
||||||
|
// cgo -godefs defs_freebsd.go
|
||||||
|
|
||||||
|
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_SENDSRCADDR = 0x7
|
||||||
|
sysIP_RETOPTS = 0x8
|
||||||
|
sysIP_RECVIF = 0x14
|
||||||
|
sysIP_ONESBCAST = 0x17
|
||||||
|
sysIP_BINDANY = 0x18
|
||||||
|
sysIP_RECVTTL = 0x41
|
||||||
|
sysIP_MINTTL = 0x42
|
||||||
|
sysIP_DONTFRAG = 0x43
|
||||||
|
sysIP_RECVTOS = 0x44
|
||||||
|
|
||||||
|
sysIP_MULTICAST_IF = 0x9
|
||||||
|
sysIP_MULTICAST_TTL = 0xa
|
||||||
|
sysIP_MULTICAST_LOOP = 0xb
|
||||||
|
sysIP_ADD_MEMBERSHIP = 0xc
|
||||||
|
sysIP_DROP_MEMBERSHIP = 0xd
|
||||||
|
sysIP_MULTICAST_VIF = 0xe
|
||||||
|
sysIP_ADD_SOURCE_MEMBERSHIP = 0x46
|
||||||
|
sysIP_DROP_SOURCE_MEMBERSHIP = 0x47
|
||||||
|
sysIP_BLOCK_SOURCE = 0x48
|
||||||
|
sysIP_UNBLOCK_SOURCE = 0x49
|
||||||
|
sysMCAST_JOIN_GROUP = 0x50
|
||||||
|
sysMCAST_LEAVE_GROUP = 0x51
|
||||||
|
sysMCAST_JOIN_SOURCE_GROUP = 0x52
|
||||||
|
sysMCAST_LEAVE_SOURCE_GROUP = 0x53
|
||||||
|
sysMCAST_BLOCK_SOURCE = 0x54
|
||||||
|
sysMCAST_UNBLOCK_SOURCE = 0x55
|
||||||
|
|
||||||
|
sizeofSockaddrStorage = 0x80
|
||||||
|
sizeofSockaddrInet = 0x10
|
||||||
|
|
||||||
|
sizeofIPMreq = 0x8
|
||||||
|
sizeofIPMreqn = 0xc
|
||||||
|
sizeofIPMreqSource = 0xc
|
||||||
|
sizeofGroupReq = 0x88
|
||||||
|
sizeofGroupSourceReq = 0x108
|
||||||
|
)
|
||||||
|
|
||||||
|
type sockaddrStorage struct {
|
||||||
|
Len uint8
|
||||||
|
Family uint8
|
||||||
|
X__ss_pad1 [6]uint8
|
||||||
|
X__ss_align int64
|
||||||
|
X__ss_pad2 [112]uint8
|
||||||
|
}
|
||||||
|
|
||||||
|
type sockaddrInet struct {
|
||||||
|
Len uint8
|
||||||
|
Family uint8
|
||||||
|
Port uint16
|
||||||
|
Addr [4]byte /* in_addr */
|
||||||
|
Zero [8]uint8
|
||||||
|
}
|
||||||
|
|
||||||
|
type ipMreq struct {
|
||||||
|
Multiaddr [4]byte /* in_addr */
|
||||||
|
Interface [4]byte /* in_addr */
|
||||||
|
}
|
||||||
|
|
||||||
|
type ipMreqn struct {
|
||||||
|
Multiaddr [4]byte /* in_addr */
|
||||||
|
Address [4]byte /* in_addr */
|
||||||
|
Ifindex int32
|
||||||
|
}
|
||||||
|
|
||||||
|
type ipMreqSource struct {
|
||||||
|
Multiaddr [4]byte /* in_addr */
|
||||||
|
Sourceaddr [4]byte /* in_addr */
|
||||||
|
Interface [4]byte /* in_addr */
|
||||||
|
}
|
||||||
|
|
||||||
|
type groupReq struct {
|
||||||
|
Interface uint32
|
||||||
|
Group sockaddrStorage
|
||||||
|
}
|
||||||
|
|
||||||
|
type groupSourceReq struct {
|
||||||
|
Interface uint32
|
||||||
|
Group sockaddrStorage
|
||||||
|
Source sockaddrStorage
|
||||||
|
}
|
||||||
18
vendor/golang.org/x/net/ipv4/zsys_linux_386.go
сгенерированный
поставляемый
18
vendor/golang.org/x/net/ipv4/zsys_linux_386.go
сгенерированный
поставляемый
@@ -55,9 +55,6 @@ const (
|
|||||||
sysSO_EE_ORIGIN_TXSTATUS = 0x4
|
sysSO_EE_ORIGIN_TXSTATUS = 0x4
|
||||||
sysSO_EE_ORIGIN_TIMESTAMPING = 0x4
|
sysSO_EE_ORIGIN_TIMESTAMPING = 0x4
|
||||||
|
|
||||||
sysSOL_SOCKET = 0x1
|
|
||||||
sysSO_ATTACH_FILTER = 0x1a
|
|
||||||
|
|
||||||
sizeofKernelSockaddrStorage = 0x80
|
sizeofKernelSockaddrStorage = 0x80
|
||||||
sizeofSockaddrInet = 0x10
|
sizeofSockaddrInet = 0x10
|
||||||
sizeofInetPktinfo = 0xc
|
sizeofInetPktinfo = 0xc
|
||||||
@@ -70,8 +67,6 @@ const (
|
|||||||
sizeofGroupSourceReq = 0x104
|
sizeofGroupSourceReq = 0x104
|
||||||
|
|
||||||
sizeofICMPFilter = 0x4
|
sizeofICMPFilter = 0x4
|
||||||
|
|
||||||
sizeofSockFprog = 0x8
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type kernelSockaddrStorage struct {
|
type kernelSockaddrStorage struct {
|
||||||
@@ -133,16 +128,3 @@ type groupSourceReq struct {
|
|||||||
type icmpFilter struct {
|
type icmpFilter struct {
|
||||||
Data uint32
|
Data uint32
|
||||||
}
|
}
|
||||||
|
|
||||||
type sockFProg struct {
|
|
||||||
Len uint16
|
|
||||||
Pad_cgo_0 [2]byte
|
|
||||||
Filter *sockFilter
|
|
||||||
}
|
|
||||||
|
|
||||||
type sockFilter struct {
|
|
||||||
Code uint16
|
|
||||||
Jt uint8
|
|
||||||
Jf uint8
|
|
||||||
K uint32
|
|
||||||
}
|
|
||||||
|
|||||||
18
vendor/golang.org/x/net/ipv4/zsys_linux_amd64.go
сгенерированный
поставляемый
18
vendor/golang.org/x/net/ipv4/zsys_linux_amd64.go
сгенерированный
поставляемый
@@ -55,9 +55,6 @@ const (
|
|||||||
sysSO_EE_ORIGIN_TXSTATUS = 0x4
|
sysSO_EE_ORIGIN_TXSTATUS = 0x4
|
||||||
sysSO_EE_ORIGIN_TIMESTAMPING = 0x4
|
sysSO_EE_ORIGIN_TIMESTAMPING = 0x4
|
||||||
|
|
||||||
sysSOL_SOCKET = 0x1
|
|
||||||
sysSO_ATTACH_FILTER = 0x1a
|
|
||||||
|
|
||||||
sizeofKernelSockaddrStorage = 0x80
|
sizeofKernelSockaddrStorage = 0x80
|
||||||
sizeofSockaddrInet = 0x10
|
sizeofSockaddrInet = 0x10
|
||||||
sizeofInetPktinfo = 0xc
|
sizeofInetPktinfo = 0xc
|
||||||
@@ -70,8 +67,6 @@ const (
|
|||||||
sizeofGroupSourceReq = 0x108
|
sizeofGroupSourceReq = 0x108
|
||||||
|
|
||||||
sizeofICMPFilter = 0x4
|
sizeofICMPFilter = 0x4
|
||||||
|
|
||||||
sizeofSockFprog = 0x10
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type kernelSockaddrStorage struct {
|
type kernelSockaddrStorage struct {
|
||||||
@@ -135,16 +130,3 @@ type groupSourceReq struct {
|
|||||||
type icmpFilter struct {
|
type icmpFilter struct {
|
||||||
Data uint32
|
Data uint32
|
||||||
}
|
}
|
||||||
|
|
||||||
type sockFProg struct {
|
|
||||||
Len uint16
|
|
||||||
Pad_cgo_0 [6]byte
|
|
||||||
Filter *sockFilter
|
|
||||||
}
|
|
||||||
|
|
||||||
type sockFilter struct {
|
|
||||||
Code uint16
|
|
||||||
Jt uint8
|
|
||||||
Jf uint8
|
|
||||||
K uint32
|
|
||||||
}
|
|
||||||
|
|||||||
18
vendor/golang.org/x/net/ipv4/zsys_linux_arm.go
сгенерированный
поставляемый
18
vendor/golang.org/x/net/ipv4/zsys_linux_arm.go
сгенерированный
поставляемый
@@ -55,9 +55,6 @@ const (
|
|||||||
sysSO_EE_ORIGIN_TXSTATUS = 0x4
|
sysSO_EE_ORIGIN_TXSTATUS = 0x4
|
||||||
sysSO_EE_ORIGIN_TIMESTAMPING = 0x4
|
sysSO_EE_ORIGIN_TIMESTAMPING = 0x4
|
||||||
|
|
||||||
sysSOL_SOCKET = 0x1
|
|
||||||
sysSO_ATTACH_FILTER = 0x1a
|
|
||||||
|
|
||||||
sizeofKernelSockaddrStorage = 0x80
|
sizeofKernelSockaddrStorage = 0x80
|
||||||
sizeofSockaddrInet = 0x10
|
sizeofSockaddrInet = 0x10
|
||||||
sizeofInetPktinfo = 0xc
|
sizeofInetPktinfo = 0xc
|
||||||
@@ -70,8 +67,6 @@ const (
|
|||||||
sizeofGroupSourceReq = 0x104
|
sizeofGroupSourceReq = 0x104
|
||||||
|
|
||||||
sizeofICMPFilter = 0x4
|
sizeofICMPFilter = 0x4
|
||||||
|
|
||||||
sizeofSockFprog = 0x8
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type kernelSockaddrStorage struct {
|
type kernelSockaddrStorage struct {
|
||||||
@@ -133,16 +128,3 @@ type groupSourceReq struct {
|
|||||||
type icmpFilter struct {
|
type icmpFilter struct {
|
||||||
Data uint32
|
Data uint32
|
||||||
}
|
}
|
||||||
|
|
||||||
type sockFProg struct {
|
|
||||||
Len uint16
|
|
||||||
Pad_cgo_0 [2]byte
|
|
||||||
Filter *sockFilter
|
|
||||||
}
|
|
||||||
|
|
||||||
type sockFilter struct {
|
|
||||||
Code uint16
|
|
||||||
Jt uint8
|
|
||||||
Jf uint8
|
|
||||||
K uint32
|
|
||||||
}
|
|
||||||
|
|||||||
18
vendor/golang.org/x/net/ipv4/zsys_linux_arm64.go
сгенерированный
поставляемый
18
vendor/golang.org/x/net/ipv4/zsys_linux_arm64.go
сгенерированный
поставляемый
@@ -55,9 +55,6 @@ const (
|
|||||||
sysSO_EE_ORIGIN_TXSTATUS = 0x4
|
sysSO_EE_ORIGIN_TXSTATUS = 0x4
|
||||||
sysSO_EE_ORIGIN_TIMESTAMPING = 0x4
|
sysSO_EE_ORIGIN_TIMESTAMPING = 0x4
|
||||||
|
|
||||||
sysSOL_SOCKET = 0x1
|
|
||||||
sysSO_ATTACH_FILTER = 0x1a
|
|
||||||
|
|
||||||
sizeofKernelSockaddrStorage = 0x80
|
sizeofKernelSockaddrStorage = 0x80
|
||||||
sizeofSockaddrInet = 0x10
|
sizeofSockaddrInet = 0x10
|
||||||
sizeofInetPktinfo = 0xc
|
sizeofInetPktinfo = 0xc
|
||||||
@@ -70,8 +67,6 @@ const (
|
|||||||
sizeofGroupSourceReq = 0x108
|
sizeofGroupSourceReq = 0x108
|
||||||
|
|
||||||
sizeofICMPFilter = 0x4
|
sizeofICMPFilter = 0x4
|
||||||
|
|
||||||
sizeofSockFprog = 0x10
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type kernelSockaddrStorage struct {
|
type kernelSockaddrStorage struct {
|
||||||
@@ -135,16 +130,3 @@ type groupSourceReq struct {
|
|||||||
type icmpFilter struct {
|
type icmpFilter struct {
|
||||||
Data uint32
|
Data uint32
|
||||||
}
|
}
|
||||||
|
|
||||||
type sockFProg struct {
|
|
||||||
Len uint16
|
|
||||||
Pad_cgo_0 [6]byte
|
|
||||||
Filter *sockFilter
|
|
||||||
}
|
|
||||||
|
|
||||||
type sockFilter struct {
|
|
||||||
Code uint16
|
|
||||||
Jt uint8
|
|
||||||
Jf uint8
|
|
||||||
K uint32
|
|
||||||
}
|
|
||||||
|
|||||||
18
vendor/golang.org/x/net/ipv4/zsys_linux_mips.go
сгенерированный
поставляемый
18
vendor/golang.org/x/net/ipv4/zsys_linux_mips.go
сгенерированный
поставляемый
@@ -55,9 +55,6 @@ const (
|
|||||||
sysSO_EE_ORIGIN_TXSTATUS = 0x4
|
sysSO_EE_ORIGIN_TXSTATUS = 0x4
|
||||||
sysSO_EE_ORIGIN_TIMESTAMPING = 0x4
|
sysSO_EE_ORIGIN_TIMESTAMPING = 0x4
|
||||||
|
|
||||||
sysSOL_SOCKET = 0x1
|
|
||||||
sysSO_ATTACH_FILTER = 0x1a
|
|
||||||
|
|
||||||
sizeofKernelSockaddrStorage = 0x80
|
sizeofKernelSockaddrStorage = 0x80
|
||||||
sizeofSockaddrInet = 0x10
|
sizeofSockaddrInet = 0x10
|
||||||
sizeofInetPktinfo = 0xc
|
sizeofInetPktinfo = 0xc
|
||||||
@@ -70,8 +67,6 @@ const (
|
|||||||
sizeofGroupSourceReq = 0x104
|
sizeofGroupSourceReq = 0x104
|
||||||
|
|
||||||
sizeofICMPFilter = 0x4
|
sizeofICMPFilter = 0x4
|
||||||
|
|
||||||
sizeofSockFprog = 0x8
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type kernelSockaddrStorage struct {
|
type kernelSockaddrStorage struct {
|
||||||
@@ -133,16 +128,3 @@ type groupSourceReq struct {
|
|||||||
type icmpFilter struct {
|
type icmpFilter struct {
|
||||||
Data uint32
|
Data uint32
|
||||||
}
|
}
|
||||||
|
|
||||||
type sockFProg struct {
|
|
||||||
Len uint16
|
|
||||||
Pad_cgo_0 [2]byte
|
|
||||||
Filter *sockFilter
|
|
||||||
}
|
|
||||||
|
|
||||||
type sockFilter struct {
|
|
||||||
Code uint16
|
|
||||||
Jt uint8
|
|
||||||
Jf uint8
|
|
||||||
K uint32
|
|
||||||
}
|
|
||||||
|
|||||||
18
vendor/golang.org/x/net/ipv4/zsys_linux_mips64.go
сгенерированный
поставляемый
18
vendor/golang.org/x/net/ipv4/zsys_linux_mips64.go
сгенерированный
поставляемый
@@ -55,9 +55,6 @@ const (
|
|||||||
sysSO_EE_ORIGIN_TXSTATUS = 0x4
|
sysSO_EE_ORIGIN_TXSTATUS = 0x4
|
||||||
sysSO_EE_ORIGIN_TIMESTAMPING = 0x4
|
sysSO_EE_ORIGIN_TIMESTAMPING = 0x4
|
||||||
|
|
||||||
sysSOL_SOCKET = 0x1
|
|
||||||
sysSO_ATTACH_FILTER = 0x1a
|
|
||||||
|
|
||||||
sizeofKernelSockaddrStorage = 0x80
|
sizeofKernelSockaddrStorage = 0x80
|
||||||
sizeofSockaddrInet = 0x10
|
sizeofSockaddrInet = 0x10
|
||||||
sizeofInetPktinfo = 0xc
|
sizeofInetPktinfo = 0xc
|
||||||
@@ -70,8 +67,6 @@ const (
|
|||||||
sizeofGroupSourceReq = 0x108
|
sizeofGroupSourceReq = 0x108
|
||||||
|
|
||||||
sizeofICMPFilter = 0x4
|
sizeofICMPFilter = 0x4
|
||||||
|
|
||||||
sizeofSockFprog = 0x10
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type kernelSockaddrStorage struct {
|
type kernelSockaddrStorage struct {
|
||||||
@@ -135,16 +130,3 @@ type groupSourceReq struct {
|
|||||||
type icmpFilter struct {
|
type icmpFilter struct {
|
||||||
Data uint32
|
Data uint32
|
||||||
}
|
}
|
||||||
|
|
||||||
type sockFProg struct {
|
|
||||||
Len uint16
|
|
||||||
Pad_cgo_0 [6]byte
|
|
||||||
Filter *sockFilter
|
|
||||||
}
|
|
||||||
|
|
||||||
type sockFilter struct {
|
|
||||||
Code uint16
|
|
||||||
Jt uint8
|
|
||||||
Jf uint8
|
|
||||||
K uint32
|
|
||||||
}
|
|
||||||
|
|||||||
18
vendor/golang.org/x/net/ipv4/zsys_linux_mips64le.go
сгенерированный
поставляемый
18
vendor/golang.org/x/net/ipv4/zsys_linux_mips64le.go
сгенерированный
поставляемый
@@ -55,9 +55,6 @@ const (
|
|||||||
sysSO_EE_ORIGIN_TXSTATUS = 0x4
|
sysSO_EE_ORIGIN_TXSTATUS = 0x4
|
||||||
sysSO_EE_ORIGIN_TIMESTAMPING = 0x4
|
sysSO_EE_ORIGIN_TIMESTAMPING = 0x4
|
||||||
|
|
||||||
sysSOL_SOCKET = 0x1
|
|
||||||
sysSO_ATTACH_FILTER = 0x1a
|
|
||||||
|
|
||||||
sizeofKernelSockaddrStorage = 0x80
|
sizeofKernelSockaddrStorage = 0x80
|
||||||
sizeofSockaddrInet = 0x10
|
sizeofSockaddrInet = 0x10
|
||||||
sizeofInetPktinfo = 0xc
|
sizeofInetPktinfo = 0xc
|
||||||
@@ -70,8 +67,6 @@ const (
|
|||||||
sizeofGroupSourceReq = 0x108
|
sizeofGroupSourceReq = 0x108
|
||||||
|
|
||||||
sizeofICMPFilter = 0x4
|
sizeofICMPFilter = 0x4
|
||||||
|
|
||||||
sizeofSockFprog = 0x10
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type kernelSockaddrStorage struct {
|
type kernelSockaddrStorage struct {
|
||||||
@@ -135,16 +130,3 @@ type groupSourceReq struct {
|
|||||||
type icmpFilter struct {
|
type icmpFilter struct {
|
||||||
Data uint32
|
Data uint32
|
||||||
}
|
}
|
||||||
|
|
||||||
type sockFProg struct {
|
|
||||||
Len uint16
|
|
||||||
Pad_cgo_0 [6]byte
|
|
||||||
Filter *sockFilter
|
|
||||||
}
|
|
||||||
|
|
||||||
type sockFilter struct {
|
|
||||||
Code uint16
|
|
||||||
Jt uint8
|
|
||||||
Jf uint8
|
|
||||||
K uint32
|
|
||||||
}
|
|
||||||
|
|||||||
18
vendor/golang.org/x/net/ipv4/zsys_linux_mipsle.go
сгенерированный
поставляемый
18
vendor/golang.org/x/net/ipv4/zsys_linux_mipsle.go
сгенерированный
поставляемый
@@ -55,9 +55,6 @@ const (
|
|||||||
sysSO_EE_ORIGIN_TXSTATUS = 0x4
|
sysSO_EE_ORIGIN_TXSTATUS = 0x4
|
||||||
sysSO_EE_ORIGIN_TIMESTAMPING = 0x4
|
sysSO_EE_ORIGIN_TIMESTAMPING = 0x4
|
||||||
|
|
||||||
sysSOL_SOCKET = 0x1
|
|
||||||
sysSO_ATTACH_FILTER = 0x1a
|
|
||||||
|
|
||||||
sizeofKernelSockaddrStorage = 0x80
|
sizeofKernelSockaddrStorage = 0x80
|
||||||
sizeofSockaddrInet = 0x10
|
sizeofSockaddrInet = 0x10
|
||||||
sizeofInetPktinfo = 0xc
|
sizeofInetPktinfo = 0xc
|
||||||
@@ -70,8 +67,6 @@ const (
|
|||||||
sizeofGroupSourceReq = 0x104
|
sizeofGroupSourceReq = 0x104
|
||||||
|
|
||||||
sizeofICMPFilter = 0x4
|
sizeofICMPFilter = 0x4
|
||||||
|
|
||||||
sizeofSockFprog = 0x8
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type kernelSockaddrStorage struct {
|
type kernelSockaddrStorage struct {
|
||||||
@@ -133,16 +128,3 @@ type groupSourceReq struct {
|
|||||||
type icmpFilter struct {
|
type icmpFilter struct {
|
||||||
Data uint32
|
Data uint32
|
||||||
}
|
}
|
||||||
|
|
||||||
type sockFProg struct {
|
|
||||||
Len uint16
|
|
||||||
Pad_cgo_0 [2]byte
|
|
||||||
Filter *sockFilter
|
|
||||||
}
|
|
||||||
|
|
||||||
type sockFilter struct {
|
|
||||||
Code uint16
|
|
||||||
Jt uint8
|
|
||||||
Jf uint8
|
|
||||||
K uint32
|
|
||||||
}
|
|
||||||
|
|||||||
18
vendor/golang.org/x/net/ipv4/zsys_linux_ppc.go
сгенерированный
поставляемый
18
vendor/golang.org/x/net/ipv4/zsys_linux_ppc.go
сгенерированный
поставляемый
@@ -55,9 +55,6 @@ const (
|
|||||||
sysSO_EE_ORIGIN_TXSTATUS = 0x4
|
sysSO_EE_ORIGIN_TXSTATUS = 0x4
|
||||||
sysSO_EE_ORIGIN_TIMESTAMPING = 0x4
|
sysSO_EE_ORIGIN_TIMESTAMPING = 0x4
|
||||||
|
|
||||||
sysSOL_SOCKET = 0x1
|
|
||||||
sysSO_ATTACH_FILTER = 0x1a
|
|
||||||
|
|
||||||
sizeofKernelSockaddrStorage = 0x80
|
sizeofKernelSockaddrStorage = 0x80
|
||||||
sizeofSockaddrInet = 0x10
|
sizeofSockaddrInet = 0x10
|
||||||
sizeofInetPktinfo = 0xc
|
sizeofInetPktinfo = 0xc
|
||||||
@@ -70,8 +67,6 @@ const (
|
|||||||
sizeofGroupSourceReq = 0x104
|
sizeofGroupSourceReq = 0x104
|
||||||
|
|
||||||
sizeofICMPFilter = 0x4
|
sizeofICMPFilter = 0x4
|
||||||
|
|
||||||
sizeofSockFprog = 0x8
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type kernelSockaddrStorage struct {
|
type kernelSockaddrStorage struct {
|
||||||
@@ -133,16 +128,3 @@ type groupSourceReq struct {
|
|||||||
type icmpFilter struct {
|
type icmpFilter struct {
|
||||||
Data uint32
|
Data uint32
|
||||||
}
|
}
|
||||||
|
|
||||||
type sockFProg struct {
|
|
||||||
Len uint16
|
|
||||||
Pad_cgo_0 [2]byte
|
|
||||||
Filter *sockFilter
|
|
||||||
}
|
|
||||||
|
|
||||||
type sockFilter struct {
|
|
||||||
Code uint16
|
|
||||||
Jt uint8
|
|
||||||
Jf uint8
|
|
||||||
K uint32
|
|
||||||
}
|
|
||||||
|
|||||||
18
vendor/golang.org/x/net/ipv4/zsys_linux_ppc64.go
сгенерированный
поставляемый
18
vendor/golang.org/x/net/ipv4/zsys_linux_ppc64.go
сгенерированный
поставляемый
@@ -55,9 +55,6 @@ const (
|
|||||||
sysSO_EE_ORIGIN_TXSTATUS = 0x4
|
sysSO_EE_ORIGIN_TXSTATUS = 0x4
|
||||||
sysSO_EE_ORIGIN_TIMESTAMPING = 0x4
|
sysSO_EE_ORIGIN_TIMESTAMPING = 0x4
|
||||||
|
|
||||||
sysSOL_SOCKET = 0x1
|
|
||||||
sysSO_ATTACH_FILTER = 0x1a
|
|
||||||
|
|
||||||
sizeofKernelSockaddrStorage = 0x80
|
sizeofKernelSockaddrStorage = 0x80
|
||||||
sizeofSockaddrInet = 0x10
|
sizeofSockaddrInet = 0x10
|
||||||
sizeofInetPktinfo = 0xc
|
sizeofInetPktinfo = 0xc
|
||||||
@@ -70,8 +67,6 @@ const (
|
|||||||
sizeofGroupSourceReq = 0x108
|
sizeofGroupSourceReq = 0x108
|
||||||
|
|
||||||
sizeofICMPFilter = 0x4
|
sizeofICMPFilter = 0x4
|
||||||
|
|
||||||
sizeofSockFprog = 0x10
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type kernelSockaddrStorage struct {
|
type kernelSockaddrStorage struct {
|
||||||
@@ -135,16 +130,3 @@ type groupSourceReq struct {
|
|||||||
type icmpFilter struct {
|
type icmpFilter struct {
|
||||||
Data uint32
|
Data uint32
|
||||||
}
|
}
|
||||||
|
|
||||||
type sockFProg struct {
|
|
||||||
Len uint16
|
|
||||||
Pad_cgo_0 [6]byte
|
|
||||||
Filter *sockFilter
|
|
||||||
}
|
|
||||||
|
|
||||||
type sockFilter struct {
|
|
||||||
Code uint16
|
|
||||||
Jt uint8
|
|
||||||
Jf uint8
|
|
||||||
K uint32
|
|
||||||
}
|
|
||||||
|
|||||||
18
vendor/golang.org/x/net/ipv4/zsys_linux_ppc64le.go
сгенерированный
поставляемый
18
vendor/golang.org/x/net/ipv4/zsys_linux_ppc64le.go
сгенерированный
поставляемый
@@ -55,9 +55,6 @@ const (
|
|||||||
sysSO_EE_ORIGIN_TXSTATUS = 0x4
|
sysSO_EE_ORIGIN_TXSTATUS = 0x4
|
||||||
sysSO_EE_ORIGIN_TIMESTAMPING = 0x4
|
sysSO_EE_ORIGIN_TIMESTAMPING = 0x4
|
||||||
|
|
||||||
sysSOL_SOCKET = 0x1
|
|
||||||
sysSO_ATTACH_FILTER = 0x1a
|
|
||||||
|
|
||||||
sizeofKernelSockaddrStorage = 0x80
|
sizeofKernelSockaddrStorage = 0x80
|
||||||
sizeofSockaddrInet = 0x10
|
sizeofSockaddrInet = 0x10
|
||||||
sizeofInetPktinfo = 0xc
|
sizeofInetPktinfo = 0xc
|
||||||
@@ -70,8 +67,6 @@ const (
|
|||||||
sizeofGroupSourceReq = 0x108
|
sizeofGroupSourceReq = 0x108
|
||||||
|
|
||||||
sizeofICMPFilter = 0x4
|
sizeofICMPFilter = 0x4
|
||||||
|
|
||||||
sizeofSockFprog = 0x10
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type kernelSockaddrStorage struct {
|
type kernelSockaddrStorage struct {
|
||||||
@@ -135,16 +130,3 @@ type groupSourceReq struct {
|
|||||||
type icmpFilter struct {
|
type icmpFilter struct {
|
||||||
Data uint32
|
Data uint32
|
||||||
}
|
}
|
||||||
|
|
||||||
type sockFProg struct {
|
|
||||||
Len uint16
|
|
||||||
Pad_cgo_0 [6]byte
|
|
||||||
Filter *sockFilter
|
|
||||||
}
|
|
||||||
|
|
||||||
type sockFilter struct {
|
|
||||||
Code uint16
|
|
||||||
Jt uint8
|
|
||||||
Jf uint8
|
|
||||||
K uint32
|
|
||||||
}
|
|
||||||
|
|||||||
17
vendor/golang.org/x/net/ipv4/zsys_linux_riscv64.go
сгенерированный
поставляемый
17
vendor/golang.org/x/net/ipv4/zsys_linux_riscv64.go
сгенерированный
поставляемый
@@ -57,9 +57,6 @@ const (
|
|||||||
sysSO_EE_ORIGIN_TXSTATUS = 0x4
|
sysSO_EE_ORIGIN_TXSTATUS = 0x4
|
||||||
sysSO_EE_ORIGIN_TIMESTAMPING = 0x4
|
sysSO_EE_ORIGIN_TIMESTAMPING = 0x4
|
||||||
|
|
||||||
sysSOL_SOCKET = 0x1
|
|
||||||
sysSO_ATTACH_FILTER = 0x1a
|
|
||||||
|
|
||||||
sizeofKernelSockaddrStorage = 0x80
|
sizeofKernelSockaddrStorage = 0x80
|
||||||
sizeofSockaddrInet = 0x10
|
sizeofSockaddrInet = 0x10
|
||||||
sizeofInetPktinfo = 0xc
|
sizeofInetPktinfo = 0xc
|
||||||
@@ -72,8 +69,6 @@ const (
|
|||||||
sizeofGroupSourceReq = 0x108
|
sizeofGroupSourceReq = 0x108
|
||||||
|
|
||||||
sizeofICMPFilter = 0x4
|
sizeofICMPFilter = 0x4
|
||||||
|
|
||||||
sizeofSockFprog = 0x10
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type kernelSockaddrStorage struct {
|
type kernelSockaddrStorage struct {
|
||||||
@@ -137,15 +132,3 @@ type groupSourceReq struct {
|
|||||||
type icmpFilter struct {
|
type icmpFilter struct {
|
||||||
Data uint32
|
Data uint32
|
||||||
}
|
}
|
||||||
|
|
||||||
type sockFProg struct {
|
|
||||||
Len uint16
|
|
||||||
Filter *sockFilter
|
|
||||||
}
|
|
||||||
|
|
||||||
type sockFilter struct {
|
|
||||||
Code uint16
|
|
||||||
Jt uint8
|
|
||||||
Jf uint8
|
|
||||||
K uint32
|
|
||||||
}
|
|
||||||
|
|||||||
18
vendor/golang.org/x/net/ipv4/zsys_linux_s390x.go
сгенерированный
поставляемый
18
vendor/golang.org/x/net/ipv4/zsys_linux_s390x.go
сгенерированный
поставляемый
@@ -55,9 +55,6 @@ const (
|
|||||||
sysSO_EE_ORIGIN_TXSTATUS = 0x4
|
sysSO_EE_ORIGIN_TXSTATUS = 0x4
|
||||||
sysSO_EE_ORIGIN_TIMESTAMPING = 0x4
|
sysSO_EE_ORIGIN_TIMESTAMPING = 0x4
|
||||||
|
|
||||||
sysSOL_SOCKET = 0x1
|
|
||||||
sysSO_ATTACH_FILTER = 0x1a
|
|
||||||
|
|
||||||
sizeofKernelSockaddrStorage = 0x80
|
sizeofKernelSockaddrStorage = 0x80
|
||||||
sizeofSockaddrInet = 0x10
|
sizeofSockaddrInet = 0x10
|
||||||
sizeofInetPktinfo = 0xc
|
sizeofInetPktinfo = 0xc
|
||||||
@@ -70,8 +67,6 @@ const (
|
|||||||
sizeofGroupSourceReq = 0x108
|
sizeofGroupSourceReq = 0x108
|
||||||
|
|
||||||
sizeofICMPFilter = 0x4
|
sizeofICMPFilter = 0x4
|
||||||
|
|
||||||
sizeofSockFprog = 0x10
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type kernelSockaddrStorage struct {
|
type kernelSockaddrStorage struct {
|
||||||
@@ -135,16 +130,3 @@ type groupSourceReq struct {
|
|||||||
type icmpFilter struct {
|
type icmpFilter struct {
|
||||||
Data uint32
|
Data uint32
|
||||||
}
|
}
|
||||||
|
|
||||||
type sockFProg struct {
|
|
||||||
Len uint16
|
|
||||||
Pad_cgo_0 [6]byte
|
|
||||||
Filter *sockFilter
|
|
||||||
}
|
|
||||||
|
|
||||||
type sockFilter struct {
|
|
||||||
Code uint16
|
|
||||||
Jt uint8
|
|
||||||
Jf uint8
|
|
||||||
K uint32
|
|
||||||
}
|
|
||||||
|
|||||||
7
vendor/golang.org/x/net/ipv6/sys_bpf.go
сгенерированный
поставляемый
7
vendor/golang.org/x/net/ipv6/sys_bpf.go
сгенерированный
поставляемый
@@ -11,13 +11,14 @@ import (
|
|||||||
|
|
||||||
"golang.org/x/net/bpf"
|
"golang.org/x/net/bpf"
|
||||||
"golang.org/x/net/internal/socket"
|
"golang.org/x/net/internal/socket"
|
||||||
|
"golang.org/x/sys/unix"
|
||||||
)
|
)
|
||||||
|
|
||||||
func (so *sockOpt) setAttachFilter(c *socket.Conn, f []bpf.RawInstruction) error {
|
func (so *sockOpt) setAttachFilter(c *socket.Conn, f []bpf.RawInstruction) error {
|
||||||
prog := sockFProg{
|
prog := unix.SockFprog{
|
||||||
Len: uint16(len(f)),
|
Len: uint16(len(f)),
|
||||||
Filter: (*sockFilter)(unsafe.Pointer(&f[0])),
|
Filter: (*unix.SockFilter)(unsafe.Pointer(&f[0])),
|
||||||
}
|
}
|
||||||
b := (*[sizeofSockFprog]byte)(unsafe.Pointer(&prog))[:sizeofSockFprog]
|
b := (*[unix.SizeofSockFprog]byte)(unsafe.Pointer(&prog))[:unix.SizeofSockFprog]
|
||||||
return so.Set(c, b)
|
return so.Set(c, b)
|
||||||
}
|
}
|
||||||
|
|||||||
3
vendor/golang.org/x/net/ipv6/sys_linux.go
сгенерированный
поставляемый
3
vendor/golang.org/x/net/ipv6/sys_linux.go
сгенерированный
поставляемый
@@ -11,6 +11,7 @@ import (
|
|||||||
|
|
||||||
"golang.org/x/net/internal/iana"
|
"golang.org/x/net/internal/iana"
|
||||||
"golang.org/x/net/internal/socket"
|
"golang.org/x/net/internal/socket"
|
||||||
|
"golang.org/x/sys/unix"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
@@ -40,7 +41,7 @@ var (
|
|||||||
ssoLeaveSourceGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysMCAST_LEAVE_SOURCE_GROUP, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq},
|
ssoLeaveSourceGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysMCAST_LEAVE_SOURCE_GROUP, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq},
|
||||||
ssoBlockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysMCAST_BLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq},
|
ssoBlockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysMCAST_BLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq},
|
||||||
ssoUnblockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysMCAST_UNBLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq},
|
ssoUnblockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysMCAST_UNBLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq},
|
||||||
ssoAttachFilter: {Option: socket.Option{Level: sysSOL_SOCKET, Name: sysSO_ATTACH_FILTER, Len: sizeofSockFprog}},
|
ssoAttachFilter: {Option: socket.Option{Level: unix.SOL_SOCKET, Name: unix.SO_ATTACH_FILTER, Len: unix.SizeofSockFprog}},
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
122
vendor/golang.org/x/net/ipv6/zsys_freebsd_arm64.go
сгенерированный
поставляемый
Обычный файл
122
vendor/golang.org/x/net/ipv6/zsys_freebsd_arm64.go
сгенерированный
поставляемый
Обычный файл
@@ -0,0 +1,122 @@
|
|||||||
|
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
|
||||||
|
// cgo -godefs defs_freebsd.go
|
||||||
|
|
||||||
|
package ipv6
|
||||||
|
|
||||||
|
const (
|
||||||
|
sysIPV6_UNICAST_HOPS = 0x4
|
||||||
|
sysIPV6_MULTICAST_IF = 0x9
|
||||||
|
sysIPV6_MULTICAST_HOPS = 0xa
|
||||||
|
sysIPV6_MULTICAST_LOOP = 0xb
|
||||||
|
sysIPV6_JOIN_GROUP = 0xc
|
||||||
|
sysIPV6_LEAVE_GROUP = 0xd
|
||||||
|
sysIPV6_PORTRANGE = 0xe
|
||||||
|
sysICMP6_FILTER = 0x12
|
||||||
|
|
||||||
|
sysIPV6_CHECKSUM = 0x1a
|
||||||
|
sysIPV6_V6ONLY = 0x1b
|
||||||
|
|
||||||
|
sysIPV6_IPSEC_POLICY = 0x1c
|
||||||
|
|
||||||
|
sysIPV6_RTHDRDSTOPTS = 0x23
|
||||||
|
|
||||||
|
sysIPV6_RECVPKTINFO = 0x24
|
||||||
|
sysIPV6_RECVHOPLIMIT = 0x25
|
||||||
|
sysIPV6_RECVRTHDR = 0x26
|
||||||
|
sysIPV6_RECVHOPOPTS = 0x27
|
||||||
|
sysIPV6_RECVDSTOPTS = 0x28
|
||||||
|
|
||||||
|
sysIPV6_USE_MIN_MTU = 0x2a
|
||||||
|
sysIPV6_RECVPATHMTU = 0x2b
|
||||||
|
|
||||||
|
sysIPV6_PATHMTU = 0x2c
|
||||||
|
|
||||||
|
sysIPV6_PKTINFO = 0x2e
|
||||||
|
sysIPV6_HOPLIMIT = 0x2f
|
||||||
|
sysIPV6_NEXTHOP = 0x30
|
||||||
|
sysIPV6_HOPOPTS = 0x31
|
||||||
|
sysIPV6_DSTOPTS = 0x32
|
||||||
|
sysIPV6_RTHDR = 0x33
|
||||||
|
|
||||||
|
sysIPV6_RECVTCLASS = 0x39
|
||||||
|
|
||||||
|
sysIPV6_AUTOFLOWLABEL = 0x3b
|
||||||
|
|
||||||
|
sysIPV6_TCLASS = 0x3d
|
||||||
|
sysIPV6_DONTFRAG = 0x3e
|
||||||
|
|
||||||
|
sysIPV6_PREFER_TEMPADDR = 0x3f
|
||||||
|
|
||||||
|
sysIPV6_BINDANY = 0x40
|
||||||
|
|
||||||
|
sysIPV6_MSFILTER = 0x4a
|
||||||
|
|
||||||
|
sysMCAST_JOIN_GROUP = 0x50
|
||||||
|
sysMCAST_LEAVE_GROUP = 0x51
|
||||||
|
sysMCAST_JOIN_SOURCE_GROUP = 0x52
|
||||||
|
sysMCAST_LEAVE_SOURCE_GROUP = 0x53
|
||||||
|
sysMCAST_BLOCK_SOURCE = 0x54
|
||||||
|
sysMCAST_UNBLOCK_SOURCE = 0x55
|
||||||
|
|
||||||
|
sysIPV6_PORTRANGE_DEFAULT = 0x0
|
||||||
|
sysIPV6_PORTRANGE_HIGH = 0x1
|
||||||
|
sysIPV6_PORTRANGE_LOW = 0x2
|
||||||
|
|
||||||
|
sizeofSockaddrStorage = 0x80
|
||||||
|
sizeofSockaddrInet6 = 0x1c
|
||||||
|
sizeofInet6Pktinfo = 0x14
|
||||||
|
sizeofIPv6Mtuinfo = 0x20
|
||||||
|
|
||||||
|
sizeofIPv6Mreq = 0x14
|
||||||
|
sizeofGroupReq = 0x88
|
||||||
|
sizeofGroupSourceReq = 0x108
|
||||||
|
|
||||||
|
sizeofICMPv6Filter = 0x20
|
||||||
|
)
|
||||||
|
|
||||||
|
type sockaddrStorage struct {
|
||||||
|
Len uint8
|
||||||
|
Family uint8
|
||||||
|
X__ss_pad1 [6]uint8
|
||||||
|
X__ss_align int64
|
||||||
|
X__ss_pad2 [112]uint8
|
||||||
|
}
|
||||||
|
|
||||||
|
type sockaddrInet6 struct {
|
||||||
|
Len uint8
|
||||||
|
Family uint8
|
||||||
|
Port uint16
|
||||||
|
Flowinfo uint32
|
||||||
|
Addr [16]byte /* in6_addr */
|
||||||
|
Scope_id uint32
|
||||||
|
}
|
||||||
|
|
||||||
|
type inet6Pktinfo struct {
|
||||||
|
Addr [16]byte /* in6_addr */
|
||||||
|
Ifindex uint32
|
||||||
|
}
|
||||||
|
|
||||||
|
type ipv6Mtuinfo struct {
|
||||||
|
Addr sockaddrInet6
|
||||||
|
Mtu uint32
|
||||||
|
}
|
||||||
|
|
||||||
|
type ipv6Mreq struct {
|
||||||
|
Multiaddr [16]byte /* in6_addr */
|
||||||
|
Interface uint32
|
||||||
|
}
|
||||||
|
|
||||||
|
type groupReq struct {
|
||||||
|
Interface uint32
|
||||||
|
Group sockaddrStorage
|
||||||
|
}
|
||||||
|
|
||||||
|
type groupSourceReq struct {
|
||||||
|
Interface uint32
|
||||||
|
Group sockaddrStorage
|
||||||
|
Source sockaddrStorage
|
||||||
|
}
|
||||||
|
|
||||||
|
type icmpv6Filter struct {
|
||||||
|
Filt [8]uint32
|
||||||
|
}
|
||||||
18
vendor/golang.org/x/net/ipv6/zsys_linux_386.go
сгенерированный
поставляемый
18
vendor/golang.org/x/net/ipv6/zsys_linux_386.go
сгенерированный
поставляемый
@@ -84,9 +84,6 @@ const (
|
|||||||
sysICMPV6_FILTER_BLOCKOTHERS = 0x3
|
sysICMPV6_FILTER_BLOCKOTHERS = 0x3
|
||||||
sysICMPV6_FILTER_PASSONLY = 0x4
|
sysICMPV6_FILTER_PASSONLY = 0x4
|
||||||
|
|
||||||
sysSOL_SOCKET = 0x1
|
|
||||||
sysSO_ATTACH_FILTER = 0x1a
|
|
||||||
|
|
||||||
sizeofKernelSockaddrStorage = 0x80
|
sizeofKernelSockaddrStorage = 0x80
|
||||||
sizeofSockaddrInet6 = 0x1c
|
sizeofSockaddrInet6 = 0x1c
|
||||||
sizeofInet6Pktinfo = 0x14
|
sizeofInet6Pktinfo = 0x14
|
||||||
@@ -98,8 +95,6 @@ const (
|
|||||||
sizeofGroupSourceReq = 0x104
|
sizeofGroupSourceReq = 0x104
|
||||||
|
|
||||||
sizeofICMPv6Filter = 0x20
|
sizeofICMPv6Filter = 0x20
|
||||||
|
|
||||||
sizeofSockFprog = 0x8
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type kernelSockaddrStorage struct {
|
type kernelSockaddrStorage struct {
|
||||||
@@ -155,16 +150,3 @@ type groupSourceReq struct {
|
|||||||
type icmpv6Filter struct {
|
type icmpv6Filter struct {
|
||||||
Data [8]uint32
|
Data [8]uint32
|
||||||
}
|
}
|
||||||
|
|
||||||
type sockFProg struct {
|
|
||||||
Len uint16
|
|
||||||
Pad_cgo_0 [2]byte
|
|
||||||
Filter *sockFilter
|
|
||||||
}
|
|
||||||
|
|
||||||
type sockFilter struct {
|
|
||||||
Code uint16
|
|
||||||
Jt uint8
|
|
||||||
Jf uint8
|
|
||||||
K uint32
|
|
||||||
}
|
|
||||||
|
|||||||
18
vendor/golang.org/x/net/ipv6/zsys_linux_amd64.go
сгенерированный
поставляемый
18
vendor/golang.org/x/net/ipv6/zsys_linux_amd64.go
сгенерированный
поставляемый
@@ -84,9 +84,6 @@ const (
|
|||||||
sysICMPV6_FILTER_BLOCKOTHERS = 0x3
|
sysICMPV6_FILTER_BLOCKOTHERS = 0x3
|
||||||
sysICMPV6_FILTER_PASSONLY = 0x4
|
sysICMPV6_FILTER_PASSONLY = 0x4
|
||||||
|
|
||||||
sysSOL_SOCKET = 0x1
|
|
||||||
sysSO_ATTACH_FILTER = 0x1a
|
|
||||||
|
|
||||||
sizeofKernelSockaddrStorage = 0x80
|
sizeofKernelSockaddrStorage = 0x80
|
||||||
sizeofSockaddrInet6 = 0x1c
|
sizeofSockaddrInet6 = 0x1c
|
||||||
sizeofInet6Pktinfo = 0x14
|
sizeofInet6Pktinfo = 0x14
|
||||||
@@ -98,8 +95,6 @@ const (
|
|||||||
sizeofGroupSourceReq = 0x108
|
sizeofGroupSourceReq = 0x108
|
||||||
|
|
||||||
sizeofICMPv6Filter = 0x20
|
sizeofICMPv6Filter = 0x20
|
||||||
|
|
||||||
sizeofSockFprog = 0x10
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type kernelSockaddrStorage struct {
|
type kernelSockaddrStorage struct {
|
||||||
@@ -157,16 +152,3 @@ type groupSourceReq struct {
|
|||||||
type icmpv6Filter struct {
|
type icmpv6Filter struct {
|
||||||
Data [8]uint32
|
Data [8]uint32
|
||||||
}
|
}
|
||||||
|
|
||||||
type sockFProg struct {
|
|
||||||
Len uint16
|
|
||||||
Pad_cgo_0 [6]byte
|
|
||||||
Filter *sockFilter
|
|
||||||
}
|
|
||||||
|
|
||||||
type sockFilter struct {
|
|
||||||
Code uint16
|
|
||||||
Jt uint8
|
|
||||||
Jf uint8
|
|
||||||
K uint32
|
|
||||||
}
|
|
||||||
|
|||||||
18
vendor/golang.org/x/net/ipv6/zsys_linux_arm.go
сгенерированный
поставляемый
18
vendor/golang.org/x/net/ipv6/zsys_linux_arm.go
сгенерированный
поставляемый
@@ -84,9 +84,6 @@ const (
|
|||||||
sysICMPV6_FILTER_BLOCKOTHERS = 0x3
|
sysICMPV6_FILTER_BLOCKOTHERS = 0x3
|
||||||
sysICMPV6_FILTER_PASSONLY = 0x4
|
sysICMPV6_FILTER_PASSONLY = 0x4
|
||||||
|
|
||||||
sysSOL_SOCKET = 0x1
|
|
||||||
sysSO_ATTACH_FILTER = 0x1a
|
|
||||||
|
|
||||||
sizeofKernelSockaddrStorage = 0x80
|
sizeofKernelSockaddrStorage = 0x80
|
||||||
sizeofSockaddrInet6 = 0x1c
|
sizeofSockaddrInet6 = 0x1c
|
||||||
sizeofInet6Pktinfo = 0x14
|
sizeofInet6Pktinfo = 0x14
|
||||||
@@ -98,8 +95,6 @@ const (
|
|||||||
sizeofGroupSourceReq = 0x104
|
sizeofGroupSourceReq = 0x104
|
||||||
|
|
||||||
sizeofICMPv6Filter = 0x20
|
sizeofICMPv6Filter = 0x20
|
||||||
|
|
||||||
sizeofSockFprog = 0x8
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type kernelSockaddrStorage struct {
|
type kernelSockaddrStorage struct {
|
||||||
@@ -155,16 +150,3 @@ type groupSourceReq struct {
|
|||||||
type icmpv6Filter struct {
|
type icmpv6Filter struct {
|
||||||
Data [8]uint32
|
Data [8]uint32
|
||||||
}
|
}
|
||||||
|
|
||||||
type sockFProg struct {
|
|
||||||
Len uint16
|
|
||||||
Pad_cgo_0 [2]byte
|
|
||||||
Filter *sockFilter
|
|
||||||
}
|
|
||||||
|
|
||||||
type sockFilter struct {
|
|
||||||
Code uint16
|
|
||||||
Jt uint8
|
|
||||||
Jf uint8
|
|
||||||
K uint32
|
|
||||||
}
|
|
||||||
|
|||||||
18
vendor/golang.org/x/net/ipv6/zsys_linux_arm64.go
сгенерированный
поставляемый
18
vendor/golang.org/x/net/ipv6/zsys_linux_arm64.go
сгенерированный
поставляемый
@@ -84,9 +84,6 @@ const (
|
|||||||
sysICMPV6_FILTER_BLOCKOTHERS = 0x3
|
sysICMPV6_FILTER_BLOCKOTHERS = 0x3
|
||||||
sysICMPV6_FILTER_PASSONLY = 0x4
|
sysICMPV6_FILTER_PASSONLY = 0x4
|
||||||
|
|
||||||
sysSOL_SOCKET = 0x1
|
|
||||||
sysSO_ATTACH_FILTER = 0x1a
|
|
||||||
|
|
||||||
sizeofKernelSockaddrStorage = 0x80
|
sizeofKernelSockaddrStorage = 0x80
|
||||||
sizeofSockaddrInet6 = 0x1c
|
sizeofSockaddrInet6 = 0x1c
|
||||||
sizeofInet6Pktinfo = 0x14
|
sizeofInet6Pktinfo = 0x14
|
||||||
@@ -98,8 +95,6 @@ const (
|
|||||||
sizeofGroupSourceReq = 0x108
|
sizeofGroupSourceReq = 0x108
|
||||||
|
|
||||||
sizeofICMPv6Filter = 0x20
|
sizeofICMPv6Filter = 0x20
|
||||||
|
|
||||||
sizeofSockFprog = 0x10
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type kernelSockaddrStorage struct {
|
type kernelSockaddrStorage struct {
|
||||||
@@ -157,16 +152,3 @@ type groupSourceReq struct {
|
|||||||
type icmpv6Filter struct {
|
type icmpv6Filter struct {
|
||||||
Data [8]uint32
|
Data [8]uint32
|
||||||
}
|
}
|
||||||
|
|
||||||
type sockFProg struct {
|
|
||||||
Len uint16
|
|
||||||
Pad_cgo_0 [6]byte
|
|
||||||
Filter *sockFilter
|
|
||||||
}
|
|
||||||
|
|
||||||
type sockFilter struct {
|
|
||||||
Code uint16
|
|
||||||
Jt uint8
|
|
||||||
Jf uint8
|
|
||||||
K uint32
|
|
||||||
}
|
|
||||||
|
|||||||
18
vendor/golang.org/x/net/ipv6/zsys_linux_mips.go
сгенерированный
поставляемый
18
vendor/golang.org/x/net/ipv6/zsys_linux_mips.go
сгенерированный
поставляемый
@@ -84,9 +84,6 @@ const (
|
|||||||
sysICMPV6_FILTER_BLOCKOTHERS = 0x3
|
sysICMPV6_FILTER_BLOCKOTHERS = 0x3
|
||||||
sysICMPV6_FILTER_PASSONLY = 0x4
|
sysICMPV6_FILTER_PASSONLY = 0x4
|
||||||
|
|
||||||
sysSOL_SOCKET = 0x1
|
|
||||||
sysSO_ATTACH_FILTER = 0x1a
|
|
||||||
|
|
||||||
sizeofKernelSockaddrStorage = 0x80
|
sizeofKernelSockaddrStorage = 0x80
|
||||||
sizeofSockaddrInet6 = 0x1c
|
sizeofSockaddrInet6 = 0x1c
|
||||||
sizeofInet6Pktinfo = 0x14
|
sizeofInet6Pktinfo = 0x14
|
||||||
@@ -98,8 +95,6 @@ const (
|
|||||||
sizeofGroupSourceReq = 0x104
|
sizeofGroupSourceReq = 0x104
|
||||||
|
|
||||||
sizeofICMPv6Filter = 0x20
|
sizeofICMPv6Filter = 0x20
|
||||||
|
|
||||||
sizeofSockFprog = 0x8
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type kernelSockaddrStorage struct {
|
type kernelSockaddrStorage struct {
|
||||||
@@ -155,16 +150,3 @@ type groupSourceReq struct {
|
|||||||
type icmpv6Filter struct {
|
type icmpv6Filter struct {
|
||||||
Data [8]uint32
|
Data [8]uint32
|
||||||
}
|
}
|
||||||
|
|
||||||
type sockFProg struct {
|
|
||||||
Len uint16
|
|
||||||
Pad_cgo_0 [2]byte
|
|
||||||
Filter *sockFilter
|
|
||||||
}
|
|
||||||
|
|
||||||
type sockFilter struct {
|
|
||||||
Code uint16
|
|
||||||
Jt uint8
|
|
||||||
Jf uint8
|
|
||||||
K uint32
|
|
||||||
}
|
|
||||||
|
|||||||
18
vendor/golang.org/x/net/ipv6/zsys_linux_mips64.go
сгенерированный
поставляемый
18
vendor/golang.org/x/net/ipv6/zsys_linux_mips64.go
сгенерированный
поставляемый
@@ -84,9 +84,6 @@ const (
|
|||||||
sysICMPV6_FILTER_BLOCKOTHERS = 0x3
|
sysICMPV6_FILTER_BLOCKOTHERS = 0x3
|
||||||
sysICMPV6_FILTER_PASSONLY = 0x4
|
sysICMPV6_FILTER_PASSONLY = 0x4
|
||||||
|
|
||||||
sysSOL_SOCKET = 0x1
|
|
||||||
sysSO_ATTACH_FILTER = 0x1a
|
|
||||||
|
|
||||||
sizeofKernelSockaddrStorage = 0x80
|
sizeofKernelSockaddrStorage = 0x80
|
||||||
sizeofSockaddrInet6 = 0x1c
|
sizeofSockaddrInet6 = 0x1c
|
||||||
sizeofInet6Pktinfo = 0x14
|
sizeofInet6Pktinfo = 0x14
|
||||||
@@ -98,8 +95,6 @@ const (
|
|||||||
sizeofGroupSourceReq = 0x108
|
sizeofGroupSourceReq = 0x108
|
||||||
|
|
||||||
sizeofICMPv6Filter = 0x20
|
sizeofICMPv6Filter = 0x20
|
||||||
|
|
||||||
sizeofSockFprog = 0x10
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type kernelSockaddrStorage struct {
|
type kernelSockaddrStorage struct {
|
||||||
@@ -157,16 +152,3 @@ type groupSourceReq struct {
|
|||||||
type icmpv6Filter struct {
|
type icmpv6Filter struct {
|
||||||
Data [8]uint32
|
Data [8]uint32
|
||||||
}
|
}
|
||||||
|
|
||||||
type sockFProg struct {
|
|
||||||
Len uint16
|
|
||||||
Pad_cgo_0 [6]byte
|
|
||||||
Filter *sockFilter
|
|
||||||
}
|
|
||||||
|
|
||||||
type sockFilter struct {
|
|
||||||
Code uint16
|
|
||||||
Jt uint8
|
|
||||||
Jf uint8
|
|
||||||
K uint32
|
|
||||||
}
|
|
||||||
|
|||||||
18
vendor/golang.org/x/net/ipv6/zsys_linux_mips64le.go
сгенерированный
поставляемый
18
vendor/golang.org/x/net/ipv6/zsys_linux_mips64le.go
сгенерированный
поставляемый
@@ -84,9 +84,6 @@ const (
|
|||||||
sysICMPV6_FILTER_BLOCKOTHERS = 0x3
|
sysICMPV6_FILTER_BLOCKOTHERS = 0x3
|
||||||
sysICMPV6_FILTER_PASSONLY = 0x4
|
sysICMPV6_FILTER_PASSONLY = 0x4
|
||||||
|
|
||||||
sysSOL_SOCKET = 0x1
|
|
||||||
sysSO_ATTACH_FILTER = 0x1a
|
|
||||||
|
|
||||||
sizeofKernelSockaddrStorage = 0x80
|
sizeofKernelSockaddrStorage = 0x80
|
||||||
sizeofSockaddrInet6 = 0x1c
|
sizeofSockaddrInet6 = 0x1c
|
||||||
sizeofInet6Pktinfo = 0x14
|
sizeofInet6Pktinfo = 0x14
|
||||||
@@ -98,8 +95,6 @@ const (
|
|||||||
sizeofGroupSourceReq = 0x108
|
sizeofGroupSourceReq = 0x108
|
||||||
|
|
||||||
sizeofICMPv6Filter = 0x20
|
sizeofICMPv6Filter = 0x20
|
||||||
|
|
||||||
sizeofSockFprog = 0x10
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type kernelSockaddrStorage struct {
|
type kernelSockaddrStorage struct {
|
||||||
@@ -157,16 +152,3 @@ type groupSourceReq struct {
|
|||||||
type icmpv6Filter struct {
|
type icmpv6Filter struct {
|
||||||
Data [8]uint32
|
Data [8]uint32
|
||||||
}
|
}
|
||||||
|
|
||||||
type sockFProg struct {
|
|
||||||
Len uint16
|
|
||||||
Pad_cgo_0 [6]byte
|
|
||||||
Filter *sockFilter
|
|
||||||
}
|
|
||||||
|
|
||||||
type sockFilter struct {
|
|
||||||
Code uint16
|
|
||||||
Jt uint8
|
|
||||||
Jf uint8
|
|
||||||
K uint32
|
|
||||||
}
|
|
||||||
|
|||||||
18
vendor/golang.org/x/net/ipv6/zsys_linux_mipsle.go
сгенерированный
поставляемый
18
vendor/golang.org/x/net/ipv6/zsys_linux_mipsle.go
сгенерированный
поставляемый
@@ -84,9 +84,6 @@ const (
|
|||||||
sysICMPV6_FILTER_BLOCKOTHERS = 0x3
|
sysICMPV6_FILTER_BLOCKOTHERS = 0x3
|
||||||
sysICMPV6_FILTER_PASSONLY = 0x4
|
sysICMPV6_FILTER_PASSONLY = 0x4
|
||||||
|
|
||||||
sysSOL_SOCKET = 0x1
|
|
||||||
sysSO_ATTACH_FILTER = 0x1a
|
|
||||||
|
|
||||||
sizeofKernelSockaddrStorage = 0x80
|
sizeofKernelSockaddrStorage = 0x80
|
||||||
sizeofSockaddrInet6 = 0x1c
|
sizeofSockaddrInet6 = 0x1c
|
||||||
sizeofInet6Pktinfo = 0x14
|
sizeofInet6Pktinfo = 0x14
|
||||||
@@ -98,8 +95,6 @@ const (
|
|||||||
sizeofGroupSourceReq = 0x104
|
sizeofGroupSourceReq = 0x104
|
||||||
|
|
||||||
sizeofICMPv6Filter = 0x20
|
sizeofICMPv6Filter = 0x20
|
||||||
|
|
||||||
sizeofSockFprog = 0x8
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type kernelSockaddrStorage struct {
|
type kernelSockaddrStorage struct {
|
||||||
@@ -155,16 +150,3 @@ type groupSourceReq struct {
|
|||||||
type icmpv6Filter struct {
|
type icmpv6Filter struct {
|
||||||
Data [8]uint32
|
Data [8]uint32
|
||||||
}
|
}
|
||||||
|
|
||||||
type sockFProg struct {
|
|
||||||
Len uint16
|
|
||||||
Pad_cgo_0 [2]byte
|
|
||||||
Filter *sockFilter
|
|
||||||
}
|
|
||||||
|
|
||||||
type sockFilter struct {
|
|
||||||
Code uint16
|
|
||||||
Jt uint8
|
|
||||||
Jf uint8
|
|
||||||
K uint32
|
|
||||||
}
|
|
||||||
|
|||||||
18
vendor/golang.org/x/net/ipv6/zsys_linux_ppc.go
сгенерированный
поставляемый
18
vendor/golang.org/x/net/ipv6/zsys_linux_ppc.go
сгенерированный
поставляемый
@@ -84,9 +84,6 @@ const (
|
|||||||
sysICMPV6_FILTER_BLOCKOTHERS = 0x3
|
sysICMPV6_FILTER_BLOCKOTHERS = 0x3
|
||||||
sysICMPV6_FILTER_PASSONLY = 0x4
|
sysICMPV6_FILTER_PASSONLY = 0x4
|
||||||
|
|
||||||
sysSOL_SOCKET = 0x1
|
|
||||||
sysSO_ATTACH_FILTER = 0x1a
|
|
||||||
|
|
||||||
sizeofKernelSockaddrStorage = 0x80
|
sizeofKernelSockaddrStorage = 0x80
|
||||||
sizeofSockaddrInet6 = 0x1c
|
sizeofSockaddrInet6 = 0x1c
|
||||||
sizeofInet6Pktinfo = 0x14
|
sizeofInet6Pktinfo = 0x14
|
||||||
@@ -98,8 +95,6 @@ const (
|
|||||||
sizeofGroupSourceReq = 0x104
|
sizeofGroupSourceReq = 0x104
|
||||||
|
|
||||||
sizeofICMPv6Filter = 0x20
|
sizeofICMPv6Filter = 0x20
|
||||||
|
|
||||||
sizeofSockFprog = 0x8
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type kernelSockaddrStorage struct {
|
type kernelSockaddrStorage struct {
|
||||||
@@ -155,16 +150,3 @@ type groupSourceReq struct {
|
|||||||
type icmpv6Filter struct {
|
type icmpv6Filter struct {
|
||||||
Data [8]uint32
|
Data [8]uint32
|
||||||
}
|
}
|
||||||
|
|
||||||
type sockFProg struct {
|
|
||||||
Len uint16
|
|
||||||
Pad_cgo_0 [2]byte
|
|
||||||
Filter *sockFilter
|
|
||||||
}
|
|
||||||
|
|
||||||
type sockFilter struct {
|
|
||||||
Code uint16
|
|
||||||
Jt uint8
|
|
||||||
Jf uint8
|
|
||||||
K uint32
|
|
||||||
}
|
|
||||||
|
|||||||
18
vendor/golang.org/x/net/ipv6/zsys_linux_ppc64.go
сгенерированный
поставляемый
18
vendor/golang.org/x/net/ipv6/zsys_linux_ppc64.go
сгенерированный
поставляемый
@@ -84,9 +84,6 @@ const (
|
|||||||
sysICMPV6_FILTER_BLOCKOTHERS = 0x3
|
sysICMPV6_FILTER_BLOCKOTHERS = 0x3
|
||||||
sysICMPV6_FILTER_PASSONLY = 0x4
|
sysICMPV6_FILTER_PASSONLY = 0x4
|
||||||
|
|
||||||
sysSOL_SOCKET = 0x1
|
|
||||||
sysSO_ATTACH_FILTER = 0x1a
|
|
||||||
|
|
||||||
sizeofKernelSockaddrStorage = 0x80
|
sizeofKernelSockaddrStorage = 0x80
|
||||||
sizeofSockaddrInet6 = 0x1c
|
sizeofSockaddrInet6 = 0x1c
|
||||||
sizeofInet6Pktinfo = 0x14
|
sizeofInet6Pktinfo = 0x14
|
||||||
@@ -98,8 +95,6 @@ const (
|
|||||||
sizeofGroupSourceReq = 0x108
|
sizeofGroupSourceReq = 0x108
|
||||||
|
|
||||||
sizeofICMPv6Filter = 0x20
|
sizeofICMPv6Filter = 0x20
|
||||||
|
|
||||||
sizeofSockFprog = 0x10
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type kernelSockaddrStorage struct {
|
type kernelSockaddrStorage struct {
|
||||||
@@ -157,16 +152,3 @@ type groupSourceReq struct {
|
|||||||
type icmpv6Filter struct {
|
type icmpv6Filter struct {
|
||||||
Data [8]uint32
|
Data [8]uint32
|
||||||
}
|
}
|
||||||
|
|
||||||
type sockFProg struct {
|
|
||||||
Len uint16
|
|
||||||
Pad_cgo_0 [6]byte
|
|
||||||
Filter *sockFilter
|
|
||||||
}
|
|
||||||
|
|
||||||
type sockFilter struct {
|
|
||||||
Code uint16
|
|
||||||
Jt uint8
|
|
||||||
Jf uint8
|
|
||||||
K uint32
|
|
||||||
}
|
|
||||||
|
|||||||
18
vendor/golang.org/x/net/ipv6/zsys_linux_ppc64le.go
сгенерированный
поставляемый
18
vendor/golang.org/x/net/ipv6/zsys_linux_ppc64le.go
сгенерированный
поставляемый
@@ -84,9 +84,6 @@ const (
|
|||||||
sysICMPV6_FILTER_BLOCKOTHERS = 0x3
|
sysICMPV6_FILTER_BLOCKOTHERS = 0x3
|
||||||
sysICMPV6_FILTER_PASSONLY = 0x4
|
sysICMPV6_FILTER_PASSONLY = 0x4
|
||||||
|
|
||||||
sysSOL_SOCKET = 0x1
|
|
||||||
sysSO_ATTACH_FILTER = 0x1a
|
|
||||||
|
|
||||||
sizeofKernelSockaddrStorage = 0x80
|
sizeofKernelSockaddrStorage = 0x80
|
||||||
sizeofSockaddrInet6 = 0x1c
|
sizeofSockaddrInet6 = 0x1c
|
||||||
sizeofInet6Pktinfo = 0x14
|
sizeofInet6Pktinfo = 0x14
|
||||||
@@ -98,8 +95,6 @@ const (
|
|||||||
sizeofGroupSourceReq = 0x108
|
sizeofGroupSourceReq = 0x108
|
||||||
|
|
||||||
sizeofICMPv6Filter = 0x20
|
sizeofICMPv6Filter = 0x20
|
||||||
|
|
||||||
sizeofSockFprog = 0x10
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type kernelSockaddrStorage struct {
|
type kernelSockaddrStorage struct {
|
||||||
@@ -157,16 +152,3 @@ type groupSourceReq struct {
|
|||||||
type icmpv6Filter struct {
|
type icmpv6Filter struct {
|
||||||
Data [8]uint32
|
Data [8]uint32
|
||||||
}
|
}
|
||||||
|
|
||||||
type sockFProg struct {
|
|
||||||
Len uint16
|
|
||||||
Pad_cgo_0 [6]byte
|
|
||||||
Filter *sockFilter
|
|
||||||
}
|
|
||||||
|
|
||||||
type sockFilter struct {
|
|
||||||
Code uint16
|
|
||||||
Jt uint8
|
|
||||||
Jf uint8
|
|
||||||
K uint32
|
|
||||||
}
|
|
||||||
|
|||||||
17
vendor/golang.org/x/net/ipv6/zsys_linux_riscv64.go
сгенерированный
поставляемый
17
vendor/golang.org/x/net/ipv6/zsys_linux_riscv64.go
сгенерированный
поставляемый
@@ -86,9 +86,6 @@ const (
|
|||||||
sysICMPV6_FILTER_BLOCKOTHERS = 0x3
|
sysICMPV6_FILTER_BLOCKOTHERS = 0x3
|
||||||
sysICMPV6_FILTER_PASSONLY = 0x4
|
sysICMPV6_FILTER_PASSONLY = 0x4
|
||||||
|
|
||||||
sysSOL_SOCKET = 0x1
|
|
||||||
sysSO_ATTACH_FILTER = 0x1a
|
|
||||||
|
|
||||||
sizeofKernelSockaddrStorage = 0x80
|
sizeofKernelSockaddrStorage = 0x80
|
||||||
sizeofSockaddrInet6 = 0x1c
|
sizeofSockaddrInet6 = 0x1c
|
||||||
sizeofInet6Pktinfo = 0x14
|
sizeofInet6Pktinfo = 0x14
|
||||||
@@ -100,8 +97,6 @@ const (
|
|||||||
sizeofGroupSourceReq = 0x108
|
sizeofGroupSourceReq = 0x108
|
||||||
|
|
||||||
sizeofICMPv6Filter = 0x20
|
sizeofICMPv6Filter = 0x20
|
||||||
|
|
||||||
sizeofSockFprog = 0x10
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type kernelSockaddrStorage struct {
|
type kernelSockaddrStorage struct {
|
||||||
@@ -159,15 +154,3 @@ type groupSourceReq struct {
|
|||||||
type icmpv6Filter struct {
|
type icmpv6Filter struct {
|
||||||
Data [8]uint32
|
Data [8]uint32
|
||||||
}
|
}
|
||||||
|
|
||||||
type sockFProg struct {
|
|
||||||
Len uint16
|
|
||||||
Filter *sockFilter
|
|
||||||
}
|
|
||||||
|
|
||||||
type sockFilter struct {
|
|
||||||
Code uint16
|
|
||||||
Jt uint8
|
|
||||||
Jf uint8
|
|
||||||
K uint32
|
|
||||||
}
|
|
||||||
|
|||||||
18
vendor/golang.org/x/net/ipv6/zsys_linux_s390x.go
сгенерированный
поставляемый
18
vendor/golang.org/x/net/ipv6/zsys_linux_s390x.go
сгенерированный
поставляемый
@@ -84,9 +84,6 @@ const (
|
|||||||
sysICMPV6_FILTER_BLOCKOTHERS = 0x3
|
sysICMPV6_FILTER_BLOCKOTHERS = 0x3
|
||||||
sysICMPV6_FILTER_PASSONLY = 0x4
|
sysICMPV6_FILTER_PASSONLY = 0x4
|
||||||
|
|
||||||
sysSOL_SOCKET = 0x1
|
|
||||||
sysSO_ATTACH_FILTER = 0x1a
|
|
||||||
|
|
||||||
sizeofKernelSockaddrStorage = 0x80
|
sizeofKernelSockaddrStorage = 0x80
|
||||||
sizeofSockaddrInet6 = 0x1c
|
sizeofSockaddrInet6 = 0x1c
|
||||||
sizeofInet6Pktinfo = 0x14
|
sizeofInet6Pktinfo = 0x14
|
||||||
@@ -98,8 +95,6 @@ const (
|
|||||||
sizeofGroupSourceReq = 0x108
|
sizeofGroupSourceReq = 0x108
|
||||||
|
|
||||||
sizeofICMPv6Filter = 0x20
|
sizeofICMPv6Filter = 0x20
|
||||||
|
|
||||||
sizeofSockFprog = 0x10
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type kernelSockaddrStorage struct {
|
type kernelSockaddrStorage struct {
|
||||||
@@ -157,16 +152,3 @@ type groupSourceReq struct {
|
|||||||
type icmpv6Filter struct {
|
type icmpv6Filter struct {
|
||||||
Data [8]uint32
|
Data [8]uint32
|
||||||
}
|
}
|
||||||
|
|
||||||
type sockFProg struct {
|
|
||||||
Len uint16
|
|
||||||
Pad_cgo_0 [6]byte
|
|
||||||
Filter *sockFilter
|
|
||||||
}
|
|
||||||
|
|
||||||
type sockFilter struct {
|
|
||||||
Code uint16
|
|
||||||
Jt uint8
|
|
||||||
Jf uint8
|
|
||||||
K uint32
|
|
||||||
}
|
|
||||||
|
|||||||
4
vendor/modules.txt
поставляемый
4
vendor/modules.txt
поставляемый
@@ -233,7 +233,7 @@ go.uber.org/zap/internal/bufferpool
|
|||||||
go.uber.org/zap/internal/color
|
go.uber.org/zap/internal/color
|
||||||
go.uber.org/zap/internal/exit
|
go.uber.org/zap/internal/exit
|
||||||
go.uber.org/zap/zapcore
|
go.uber.org/zap/zapcore
|
||||||
# golang.org/x/crypto v0.0.0-20191001170739-f9e2070545dc
|
# golang.org/x/crypto v0.0.0-20191119213627-4f8c1d86b1ba
|
||||||
golang.org/x/crypto/acme
|
golang.org/x/crypto/acme
|
||||||
golang.org/x/crypto/acme/autocert
|
golang.org/x/crypto/acme/autocert
|
||||||
golang.org/x/crypto/argon2
|
golang.org/x/crypto/argon2
|
||||||
@@ -262,7 +262,7 @@ golang.org/x/image/tiff/lzw
|
|||||||
golang.org/x/image/vp8
|
golang.org/x/image/vp8
|
||||||
golang.org/x/image/vp8l
|
golang.org/x/image/vp8l
|
||||||
golang.org/x/image/webp
|
golang.org/x/image/webp
|
||||||
# golang.org/x/net v0.0.0-20191002035440-2ec189313ef0
|
# golang.org/x/net v0.0.0-20191119073136-fc4aabc6c914
|
||||||
golang.org/x/net/bpf
|
golang.org/x/net/bpf
|
||||||
golang.org/x/net/context
|
golang.org/x/net/context
|
||||||
golang.org/x/net/html
|
golang.org/x/net/html
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user