File: alert.go

package info (click to toggle)
golang-github-bifurcation-mint 0.0~git20200214.93c820e-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 632 kB
  • sloc: makefile: 3
file content (101 lines) | stat: -rw-r--r-- 4,035 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
// Copyright 2009 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.

package mint

import "strconv"

type Alert uint8

const (
	// alert level
	AlertLevelWarning = 1
	AlertLevelError   = 2
)

const (
	AlertCloseNotify                 Alert = 0
	AlertUnexpectedMessage           Alert = 10
	AlertBadRecordMAC                Alert = 20
	AlertDecryptionFailed            Alert = 21
	AlertRecordOverflow              Alert = 22
	AlertDecompressionFailure        Alert = 30
	AlertHandshakeFailure            Alert = 40
	AlertBadCertificate              Alert = 42
	AlertUnsupportedCertificate      Alert = 43
	AlertCertificateRevoked          Alert = 44
	AlertCertificateExpired          Alert = 45
	AlertCertificateUnknown          Alert = 46
	AlertIllegalParameter            Alert = 47
	AlertUnknownCA                   Alert = 48
	AlertAccessDenied                Alert = 49
	AlertDecodeError                 Alert = 50
	AlertDecryptError                Alert = 51
	AlertProtocolVersion             Alert = 70
	AlertInsufficientSecurity        Alert = 71
	AlertInternalError               Alert = 80
	AlertInappropriateFallback       Alert = 86
	AlertUserCanceled                Alert = 90
	AlertNoRenegotiation             Alert = 100
	AlertMissingExtension            Alert = 109
	AlertUnsupportedExtension        Alert = 110
	AlertCertificateUnobtainable     Alert = 111
	AlertUnrecognizedName            Alert = 112
	AlertBadCertificateStatsResponse Alert = 113
	AlertBadCertificateHashValue     Alert = 114
	AlertUnknownPSKIdentity          Alert = 115
	AlertNoApplicationProtocol       Alert = 120
	AlertStatelessRetry              Alert = 253
	AlertWouldBlock                  Alert = 254
	AlertNoAlert                     Alert = 255
)

var alertText = map[Alert]string{
	AlertCloseNotify:                 "close notify",
	AlertUnexpectedMessage:           "unexpected message",
	AlertBadRecordMAC:                "bad record MAC",
	AlertDecryptionFailed:            "decryption failed",
	AlertRecordOverflow:              "record overflow",
	AlertDecompressionFailure:        "decompression failure",
	AlertHandshakeFailure:            "handshake failure",
	AlertBadCertificate:              "bad certificate",
	AlertUnsupportedCertificate:      "unsupported certificate",
	AlertCertificateRevoked:          "revoked certificate",
	AlertCertificateExpired:          "expired certificate",
	AlertCertificateUnknown:          "unknown certificate",
	AlertIllegalParameter:            "illegal parameter",
	AlertUnknownCA:                   "unknown certificate authority",
	AlertAccessDenied:                "access denied",
	AlertDecodeError:                 "error decoding message",
	AlertDecryptError:                "error decrypting message",
	AlertProtocolVersion:             "protocol version not supported",
	AlertInsufficientSecurity:        "insufficient security level",
	AlertInternalError:               "internal error",
	AlertInappropriateFallback:       "inappropriate fallback",
	AlertUserCanceled:                "user canceled",
	AlertMissingExtension:            "missing extension",
	AlertUnsupportedExtension:        "unsupported extension",
	AlertCertificateUnobtainable:     "certificate unobtainable",
	AlertUnrecognizedName:            "unrecognized name",
	AlertBadCertificateStatsResponse: "bad certificate status response",
	AlertBadCertificateHashValue:     "bad certificate hash value",
	AlertUnknownPSKIdentity:          "unknown PSK identity",
	AlertNoApplicationProtocol:       "no application protocol",
	AlertNoRenegotiation:             "no renegotiation",
	AlertStatelessRetry:              "stateless retry",
	AlertWouldBlock:                  "would have blocked",
	AlertNoAlert:                     "no alert",
}

func (e Alert) String() string {
	s, ok := alertText[e]
	if ok {
		return s
	}
	return "alert(" + strconv.Itoa(int(e)) + ")"
}

func (e Alert) Error() string {
	return e.String()
}