src: add .code and SSL specific error properties · nodejs/node@ca9c0c9 (original) (raw)

`@@ -10,6 +10,7 @@ const {

`

10

10

`const DEFAULT_MIN_VERSION = tls.DEFAULT_MIN_VERSION;

`

11

11

``

12

12

`function test(cmin, cmax, cprot, smin, smax, sprot, expect) {

`

``

13

`+

assert(expect);

`

13

14

`connect({

`

14

15

`client: {

`

15

16

`checkServerIdentity: (servername, cert) => { },

`

`@@ -26,23 +27,18 @@ function test(cmin, cmax, cprot, smin, smax, sprot, expect) {

`

26

27

`secureProtocol: sprot,

`

27

28

`},

`

28

29

`}, common.mustCall((err, pair, cleanup) => {

`

29

``

`-

if (expect && expect.match(/^ERR/)) {

`

30

``

`-

assert.strictEqual(err.code, expect);

`

``

30

`+

if (err) {

`

``

31

`+

assert.strictEqual(err.code, expect, err + '.code !== ' + expect);

`

31

32

`return cleanup();

`

32

33

`}

`

33

34

``

34

``

`-

if (expect) {

`

35

``

`-

assert.ifError(pair.server.err);

`

36

``

`-

assert.ifError(pair.client.err);

`

37

``

`-

assert(pair.server.conn);

`

38

``

`-

assert(pair.client.conn);

`

39

``

`-

assert.strictEqual(pair.client.conn.getProtocol(), expect);

`

40

``

`-

assert.strictEqual(pair.server.conn.getProtocol(), expect);

`

41

``

`-

return cleanup();

`

42

``

`-

}

`

43

``

-

44

``

`-

assert(pair.server.err);

`

45

``

`-

assert(pair.client.err);

`

``

35

`+

assert.ifError(err);

`

``

36

`+

assert.ifError(pair.server.err);

`

``

37

`+

assert.ifError(pair.client.err);

`

``

38

`+

assert(pair.server.conn);

`

``

39

`+

assert(pair.client.conn);

`

``

40

`+

assert.strictEqual(pair.client.conn.getProtocol(), expect);

`

``

41

`+

assert.strictEqual(pair.server.conn.getProtocol(), expect);

`

46

42

`return cleanup();

`

47

43

`}));

`

48

44

`}

`

`@@ -83,17 +79,18 @@ test(U, U, 'TLS_method', U, U, 'TLSv1_method', 'TLSv1');

`

83

79

`test(U, U, 'TLSv1_2_method', U, U, 'SSLv23_method', 'TLSv1.2');

`

84

80

``

85

81

`if (DEFAULT_MIN_VERSION === 'TLSv1.2') {

`

86

``

`-

test(U, U, 'TLSv1_1_method', U, U, 'SSLv23_method', null);

`

87

``

`-

test(U, U, 'TLSv1_method', U, U, 'SSLv23_method', null);

`

88

``

`-

test(U, U, 'SSLv23_method', U, U, 'TLSv1_1_method', null);

`

89

``

`-

test(U, U, 'SSLv23_method', U, U, 'TLSv1_method', null);

`

``

82

`+

test(U, U, 'TLSv1_1_method', U, U, 'SSLv23_method', 'ECONNRESET');

`

``

83

`+

test(U, U, 'TLSv1_method', U, U, 'SSLv23_method', 'ECONNRESET');

`

``

84

`+

test(U, U, 'SSLv23_method', U, U, 'TLSv1_1_method',

`

``

85

`+

'ERR_SSL_VERSION_TOO_LOW');

`

``

86

`+

test(U, U, 'SSLv23_method', U, U, 'TLSv1_method', 'ERR_SSL_VERSION_TOO_LOW');

`

90

87

`}

`

91

88

``

92

89

`if (DEFAULT_MIN_VERSION === 'TLSv1.1') {

`

93

90

`test(U, U, 'TLSv1_1_method', U, U, 'SSLv23_method', 'TLSv1.1');

`

94

``

`-

test(U, U, 'TLSv1_method', U, U, 'SSLv23_method', null);

`

``

91

`+

test(U, U, 'TLSv1_method', U, U, 'SSLv23_method', 'ECONNRESET');

`

95

92

`test(U, U, 'SSLv23_method', U, U, 'TLSv1_1_method', 'TLSv1.1');

`

96

``

`-

test(U, U, 'SSLv23_method', U, U, 'TLSv1_method', null);

`

``

93

`+

test(U, U, 'SSLv23_method', U, U, 'TLSv1_method', 'ERR_SSL_VERSION_TOO_LOW');

`

97

94

`}

`

98

95

``

99

96

`if (DEFAULT_MIN_VERSION === 'TLSv1') {

`

`@@ -111,18 +108,18 @@ test(U, U, 'TLSv1_method', U, U, 'TLSv1_method', 'TLSv1');

`

111

108

``

112

109

`// The default default.

`

113

110

`if (DEFAULT_MIN_VERSION === 'TLSv1.2') {

`

114

``

`-

test(U, U, 'TLSv1_1_method', U, U, U, null);

`

115

``

`-

test(U, U, 'TLSv1_method', U, U, U, null);

`

116

``

`-

test(U, U, U, U, U, 'TLSv1_1_method', null);

`

117

``

`-

test(U, U, U, U, U, 'TLSv1_method', null);

`

``

111

`+

test(U, U, 'TLSv1_1_method', U, U, U, 'ECONNRESET');

`

``

112

`+

test(U, U, 'TLSv1_method', U, U, U, 'ECONNRESET');

`

``

113

`+

test(U, U, U, U, U, 'TLSv1_1_method', 'ERR_SSL_VERSION_TOO_LOW');

`

``

114

`+

test(U, U, U, U, U, 'TLSv1_method', 'ERR_SSL_VERSION_TOO_LOW');

`

118

115

`}

`

119

116

``

120

117

`// The default with --tls-v1.1.

`

121

118

`if (DEFAULT_MIN_VERSION === 'TLSv1.1') {

`

122

119

`test(U, U, 'TLSv1_1_method', U, U, U, 'TLSv1.1');

`

123

``

`-

test(U, U, 'TLSv1_method', U, U, U, null);

`

``

120

`+

test(U, U, 'TLSv1_method', U, U, U, 'ECONNRESET');

`

124

121

`test(U, U, U, U, U, 'TLSv1_1_method', 'TLSv1.1');

`

125

``

`-

test(U, U, U, U, U, 'TLSv1_method', null);

`

``

122

`+

test(U, U, U, U, U, 'TLSv1_method', 'ERR_SSL_VERSION_TOO_LOW');

`

126

123

`}

`

127

124

``

128

125

`// The default with --tls-v1.0.

`