Absolute File Name: | /home/opencoverage/opencoverage/guest-scripts/openssh/src/ssherr.c |
Source code | Switch to Preprocessed file |
Line | Source | Count |
---|---|---|
1 | /* $OpenBSD: ssherr.c,v 1.8 2018/07/03 11:39:54 djm Exp $ */ | - |
2 | /* | - |
3 | * Copyright (c) 2011 Damien Miller | - |
4 | * | - |
5 | * Permission to use, copy, modify, and distribute this software for any | - |
6 | * purpose with or without fee is hereby granted, provided that the above | - |
7 | * copyright notice and this permission notice appear in all copies. | - |
8 | * | - |
9 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | - |
10 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | - |
11 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | - |
12 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | - |
13 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | - |
14 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | - |
15 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | - |
16 | */ | - |
17 | - | |
18 | #include <errno.h> | - |
19 | #include <string.h> | - |
20 | #include "ssherr.h" | - |
21 | - | |
22 | const char * | - |
23 | ssh_err(int n) | - |
24 | { | - |
25 | switch (n) { | - |
26 | case SSH_ERR_SUCCESS: never executed: case 0: | 0 |
27 | return "success"; never executed: return "success"; | 0 |
28 | case SSH_ERR_INTERNAL_ERROR: never executed: case -1: | 0 |
29 | return "unexpected internal error"; never executed: return "unexpected internal error"; | 0 |
30 | case SSH_ERR_ALLOC_FAIL: never executed: case -2: | 0 |
31 | return "memory allocation failed"; never executed: return "memory allocation failed"; | 0 |
32 | case SSH_ERR_MESSAGE_INCOMPLETE: never executed: case -3: | 0 |
33 | return "incomplete message"; never executed: return "incomplete message"; | 0 |
34 | case SSH_ERR_INVALID_FORMAT: never executed: case -4: | 0 |
35 | return "invalid format"; never executed: return "invalid format"; | 0 |
36 | case SSH_ERR_BIGNUM_IS_NEGATIVE: never executed: case -5: | 0 |
37 | return "bignum is negative"; never executed: return "bignum is negative"; | 0 |
38 | case SSH_ERR_STRING_TOO_LARGE: never executed: case -6: | 0 |
39 | return "string is too large"; never executed: return "string is too large"; | 0 |
40 | case SSH_ERR_BIGNUM_TOO_LARGE: never executed: case -7: | 0 |
41 | return "bignum is too large"; never executed: return "bignum is too large"; | 0 |
42 | case SSH_ERR_ECPOINT_TOO_LARGE: never executed: case -8: | 0 |
43 | return "elliptic curve point is too large"; never executed: return "elliptic curve point is too large"; | 0 |
44 | case SSH_ERR_NO_BUFFER_SPACE: never executed: case -9: | 0 |
45 | return "insufficient buffer space"; never executed: return "insufficient buffer space"; | 0 |
46 | case SSH_ERR_INVALID_ARGUMENT: never executed: case -10: | 0 |
47 | return "invalid argument"; never executed: return "invalid argument"; | 0 |
48 | case SSH_ERR_KEY_BITS_MISMATCH: never executed: case -11: | 0 |
49 | return "key bits do not match"; never executed: return "key bits do not match"; | 0 |
50 | case SSH_ERR_EC_CURVE_INVALID: never executed: case -12: | 0 |
51 | return "invalid elliptic curve"; never executed: return "invalid elliptic curve"; | 0 |
52 | case SSH_ERR_KEY_TYPE_MISMATCH: never executed: case -13: | 0 |
53 | return "key type does not match"; never executed: return "key type does not match"; | 0 |
54 | case SSH_ERR_KEY_TYPE_UNKNOWN: never executed: case -14: | 0 |
55 | return "unknown or unsupported key type"; never executed: return "unknown or unsupported key type"; | 0 |
56 | case SSH_ERR_EC_CURVE_MISMATCH: never executed: case -15: | 0 |
57 | return "elliptic curve does not match"; never executed: return "elliptic curve does not match"; | 0 |
58 | case SSH_ERR_EXPECTED_CERT: never executed: case -16: | 0 |
59 | return "plain key provided where certificate required"; never executed: return "plain key provided where certificate required"; | 0 |
60 | case SSH_ERR_KEY_LACKS_CERTBLOB: never executed: case -17: | 0 |
61 | return "key lacks certificate data"; never executed: return "key lacks certificate data"; | 0 |
62 | case SSH_ERR_KEY_CERT_UNKNOWN_TYPE: never executed: case -18: | 0 |
63 | return "unknown/unsupported certificate type"; never executed: return "unknown/unsupported certificate type"; | 0 |
64 | case SSH_ERR_KEY_CERT_INVALID_SIGN_KEY: never executed: case -19: | 0 |
65 | return "invalid certificate signing key"; never executed: return "invalid certificate signing key"; | 0 |
66 | case SSH_ERR_KEY_INVALID_EC_VALUE: never executed: case -20: | 0 |
67 | return "invalid elliptic curve value"; never executed: return "invalid elliptic curve value"; | 0 |
68 | case SSH_ERR_SIGNATURE_INVALID: never executed: case -21: | 0 |
69 | return "incorrect signature"; never executed: return "incorrect signature"; | 0 |
70 | case SSH_ERR_LIBCRYPTO_ERROR: never executed: case -22: | 0 |
71 | return "error in libcrypto"; /* XXX fetch and return */ never executed: return "error in libcrypto"; | 0 |
72 | case SSH_ERR_UNEXPECTED_TRAILING_DATA: never executed: case -23: | 0 |
73 | return "unexpected bytes remain after decoding"; never executed: return "unexpected bytes remain after decoding"; | 0 |
74 | case SSH_ERR_SYSTEM_ERROR: never executed: case -24: | 0 |
75 | return strerror(errno); never executed: return strerror( (*__errno_location ()) ); | 0 |
76 | case SSH_ERR_KEY_CERT_INVALID: never executed: case -25: | 0 |
77 | return "invalid certificate"; never executed: return "invalid certificate"; | 0 |
78 | case SSH_ERR_AGENT_COMMUNICATION: never executed: case -26: | 0 |
79 | return "communication with agent failed"; never executed: return "communication with agent failed"; | 0 |
80 | case SSH_ERR_AGENT_FAILURE: never executed: case -27: | 0 |
81 | return "agent refused operation"; never executed: return "agent refused operation"; | 0 |
82 | case SSH_ERR_DH_GEX_OUT_OF_RANGE: never executed: case -28: | 0 |
83 | return "DH GEX group out of range"; never executed: return "DH GEX group out of range"; | 0 |
84 | case SSH_ERR_DISCONNECTED: never executed: case -29: | 0 |
85 | return "disconnected"; never executed: return "disconnected"; | 0 |
86 | case SSH_ERR_MAC_INVALID: never executed: case -30: | 0 |
87 | return "message authentication code incorrect"; never executed: return "message authentication code incorrect"; | 0 |
88 | case SSH_ERR_NO_CIPHER_ALG_MATCH: never executed: case -31: | 0 |
89 | return "no matching cipher found"; never executed: return "no matching cipher found"; | 0 |
90 | case SSH_ERR_NO_MAC_ALG_MATCH: never executed: case -32: | 0 |
91 | return "no matching MAC found"; never executed: return "no matching MAC found"; | 0 |
92 | case SSH_ERR_NO_COMPRESS_ALG_MATCH: never executed: case -33: | 0 |
93 | return "no matching compression method found"; never executed: return "no matching compression method found"; | 0 |
94 | case SSH_ERR_NO_KEX_ALG_MATCH: never executed: case -34: | 0 |
95 | return "no matching key exchange method found"; never executed: return "no matching key exchange method found"; | 0 |
96 | case SSH_ERR_NO_HOSTKEY_ALG_MATCH: never executed: case -35: | 0 |
97 | return "no matching host key type found"; never executed: return "no matching host key type found"; | 0 |
98 | case SSH_ERR_PROTOCOL_MISMATCH: never executed: case -37: | 0 |
99 | return "protocol version mismatch"; never executed: return "protocol version mismatch"; | 0 |
100 | case SSH_ERR_NO_PROTOCOL_VERSION: never executed: case -38: | 0 |
101 | return "could not read protocol version"; never executed: return "could not read protocol version"; | 0 |
102 | case SSH_ERR_NO_HOSTKEY_LOADED: never executed: case -36: | 0 |
103 | return "could not load host key"; never executed: return "could not load host key"; | 0 |
104 | case SSH_ERR_NEED_REKEY: never executed: case -39: | 0 |
105 | return "rekeying not supported by peer"; never executed: return "rekeying not supported by peer"; | 0 |
106 | case SSH_ERR_PASSPHRASE_TOO_SHORT: never executed: case -40: | 0 |
107 | return "passphrase is too short (minimum five characters)"; never executed: return "passphrase is too short (minimum five characters)"; | 0 |
108 | case SSH_ERR_FILE_CHANGED: never executed: case -41: | 0 |
109 | return "file changed while reading"; never executed: return "file changed while reading"; | 0 |
110 | case SSH_ERR_KEY_UNKNOWN_CIPHER: never executed: case -42: | 0 |
111 | return "key encrypted using unsupported cipher"; never executed: return "key encrypted using unsupported cipher"; | 0 |
112 | case SSH_ERR_KEY_WRONG_PASSPHRASE: never executed: case -43: | 0 |
113 | return "incorrect passphrase supplied to decrypt private key"; never executed: return "incorrect passphrase supplied to decrypt private key"; | 0 |
114 | case SSH_ERR_KEY_BAD_PERMISSIONS: never executed: case -44: | 0 |
115 | return "bad permissions"; never executed: return "bad permissions"; | 0 |
116 | case SSH_ERR_KEY_CERT_MISMATCH: never executed: case -45: | 0 |
117 | return "certificate does not match key"; never executed: return "certificate does not match key"; | 0 |
118 | case SSH_ERR_KEY_NOT_FOUND: never executed: case -46: | 0 |
119 | return "key not found"; never executed: return "key not found"; | 0 |
120 | case SSH_ERR_AGENT_NOT_PRESENT: never executed: case -47: | 0 |
121 | return "agent not present"; never executed: return "agent not present"; | 0 |
122 | case SSH_ERR_AGENT_NO_IDENTITIES: never executed: case -48: | 0 |
123 | return "agent contains no identities"; never executed: return "agent contains no identities"; | 0 |
124 | case SSH_ERR_BUFFER_READ_ONLY: never executed: case -49: | 0 |
125 | return "internal error: buffer is read-only"; never executed: return "internal error: buffer is read-only"; | 0 |
126 | case SSH_ERR_KRL_BAD_MAGIC: never executed: case -50: | 0 |
127 | return "KRL file has invalid magic number"; never executed: return "KRL file has invalid magic number"; | 0 |
128 | case SSH_ERR_KEY_REVOKED: never executed: case -51: | 0 |
129 | return "Key is revoked"; never executed: return "Key is revoked"; | 0 |
130 | case SSH_ERR_CONN_CLOSED: never executed: case -52: | 0 |
131 | return "Connection closed"; never executed: return "Connection closed"; | 0 |
132 | case SSH_ERR_CONN_TIMEOUT: never executed: case -53: | 0 |
133 | return "Connection timed out"; never executed: return "Connection timed out"; | 0 |
134 | case SSH_ERR_CONN_CORRUPT: never executed: case -54: | 0 |
135 | return "Connection corrupted"; never executed: return "Connection corrupted"; | 0 |
136 | case SSH_ERR_PROTOCOL_ERROR: never executed: case -55: | 0 |
137 | return "Protocol error"; never executed: return "Protocol error"; | 0 |
138 | case SSH_ERR_KEY_LENGTH: never executed: case -56: | 0 |
139 | return "Invalid key length"; never executed: return "Invalid key length"; | 0 |
140 | case SSH_ERR_NUMBER_TOO_LARGE: never executed: case -57: | 0 |
141 | return "number is too large"; never executed: return "number is too large"; | 0 |
142 | case SSH_ERR_SIGN_ALG_UNSUPPORTED: never executed: case -58: | 0 |
143 | return "signature algorithm not supported"; never executed: return "signature algorithm not supported"; | 0 |
144 | default: never executed: default: | 0 |
145 | return "unknown error"; never executed: return "unknown error"; | 0 |
146 | } | - |
147 | } | - |
Source code | Switch to Preprocessed file |