OLD | NEW |
(Empty) | |
| 1 /* |
| 2 * Enumeration of all SSL-specific error codes. |
| 3 * |
| 4 * ***** BEGIN LICENSE BLOCK ***** |
| 5 * Version: MPL 1.1/GPL 2.0/LGPL 2.1 |
| 6 * |
| 7 * The contents of this file are subject to the Mozilla Public License Version |
| 8 * 1.1 (the "License"); you may not use this file except in compliance with |
| 9 * the License. You may obtain a copy of the License at |
| 10 * http://www.mozilla.org/MPL/ |
| 11 * |
| 12 * Software distributed under the License is distributed on an "AS IS" basis, |
| 13 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License |
| 14 * for the specific language governing rights and limitations under the |
| 15 * License. |
| 16 * |
| 17 * The Original Code is the Netscape security libraries. |
| 18 * |
| 19 * The Initial Developer of the Original Code is |
| 20 * Netscape Communications Corporation. |
| 21 * Portions created by the Initial Developer are Copyright (C) 1994-2000 |
| 22 * the Initial Developer. All Rights Reserved. |
| 23 * |
| 24 * Contributor(s): |
| 25 * |
| 26 * Alternatively, the contents of this file may be used under the terms of |
| 27 * either the GNU General Public License Version 2 or later (the "GPL"), or |
| 28 * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), |
| 29 * in which case the provisions of the GPL or the LGPL are applicable instead |
| 30 * of those above. If you wish to allow use of your version of this file only |
| 31 * under the terms of either the GPL or the LGPL, and not to allow others to |
| 32 * use your version of this file under the terms of the MPL, indicate your |
| 33 * decision by deleting the provisions above and replace them with the notice |
| 34 * and other provisions required by the GPL or the LGPL. If you do not delete |
| 35 * the provisions above, a recipient may use your version of this file under |
| 36 * the terms of any one of the MPL, the GPL or the LGPL. |
| 37 * |
| 38 * ***** END LICENSE BLOCK ***** */ |
| 39 /* $Id: sslerr.h,v 1.8 2009/11/06 20:11:28 nelson%bolyard.com Exp $ */ |
| 40 #ifndef __SSL_ERR_H_ |
| 41 #define __SSL_ERR_H_ |
| 42 |
| 43 |
| 44 #define SSL_ERROR_BASE (-0x3000) |
| 45 #define SSL_ERROR_LIMIT (SSL_ERROR_BASE + 1000) |
| 46 |
| 47 #define IS_SSL_ERROR(code) \ |
| 48 (((code) >= SSL_ERROR_BASE) && ((code) < SSL_ERROR_LIMIT)) |
| 49 |
| 50 #ifndef NO_SECURITY_ERROR_ENUM |
| 51 typedef enum { |
| 52 SSL_ERROR_EXPORT_ONLY_SERVER = (SSL_ERROR_BASE + 0), |
| 53 SSL_ERROR_US_ONLY_SERVER = (SSL_ERROR_BASE + 1), |
| 54 SSL_ERROR_NO_CYPHER_OVERLAP = (SSL_ERROR_BASE + 2), |
| 55 /* |
| 56 * Received an alert reporting what we did wrong. (more alerts below) |
| 57 */ |
| 58 SSL_ERROR_NO_CERTIFICATE /*_ALERT */ = (SSL_ERROR_BASE + 3), |
| 59 SSL_ERROR_BAD_CERTIFICATE = (SSL_ERROR_BASE + 4), |
| 60 /* error 5 is obsolete */ |
| 61 SSL_ERROR_BAD_CLIENT = (SSL_ERROR_BASE + 6), |
| 62 SSL_ERROR_BAD_SERVER = (SSL_ERROR_BASE + 7), |
| 63 SSL_ERROR_UNSUPPORTED_CERTIFICATE_TYPE = (SSL_ERROR_BASE + 8), |
| 64 SSL_ERROR_UNSUPPORTED_VERSION = (SSL_ERROR_BASE + 9), |
| 65 /* error 10 is obsolete */ |
| 66 SSL_ERROR_WRONG_CERTIFICATE = (SSL_ERROR_BASE + 11), |
| 67 SSL_ERROR_BAD_CERT_DOMAIN = (SSL_ERROR_BASE + 12), |
| 68 SSL_ERROR_POST_WARNING = (SSL_ERROR_BASE + 13), |
| 69 SSL_ERROR_SSL2_DISABLED = (SSL_ERROR_BASE + 14), |
| 70 SSL_ERROR_BAD_MAC_READ = (SSL_ERROR_BASE + 15), |
| 71 /* |
| 72 * Received an alert reporting what we did wrong. |
| 73 * (two more alerts above, and many more below) |
| 74 */ |
| 75 SSL_ERROR_BAD_MAC_ALERT = (SSL_ERROR_BASE + 16), |
| 76 SSL_ERROR_BAD_CERT_ALERT = (SSL_ERROR_BASE + 17), |
| 77 SSL_ERROR_REVOKED_CERT_ALERT = (SSL_ERROR_BASE + 18), |
| 78 SSL_ERROR_EXPIRED_CERT_ALERT = (SSL_ERROR_BASE + 19), |
| 79 |
| 80 SSL_ERROR_SSL_DISABLED = (SSL_ERROR_BASE + 20), |
| 81 SSL_ERROR_FORTEZZA_PQG = (SSL_ERROR_BASE + 21), |
| 82 SSL_ERROR_UNKNOWN_CIPHER_SUITE = (SSL_ERROR_BASE + 22), |
| 83 SSL_ERROR_NO_CIPHERS_SUPPORTED = (SSL_ERROR_BASE + 23), |
| 84 SSL_ERROR_BAD_BLOCK_PADDING = (SSL_ERROR_BASE + 24), |
| 85 SSL_ERROR_RX_RECORD_TOO_LONG = (SSL_ERROR_BASE + 25), |
| 86 SSL_ERROR_TX_RECORD_TOO_LONG = (SSL_ERROR_BASE + 26), |
| 87 /* |
| 88 * Received a malformed (too long or short) SSL handshake. |
| 89 */ |
| 90 SSL_ERROR_RX_MALFORMED_HELLO_REQUEST = (SSL_ERROR_BASE + 27), |
| 91 SSL_ERROR_RX_MALFORMED_CLIENT_HELLO = (SSL_ERROR_BASE + 28), |
| 92 SSL_ERROR_RX_MALFORMED_SERVER_HELLO = (SSL_ERROR_BASE + 29), |
| 93 SSL_ERROR_RX_MALFORMED_CERTIFICATE = (SSL_ERROR_BASE + 30), |
| 94 SSL_ERROR_RX_MALFORMED_SERVER_KEY_EXCH = (SSL_ERROR_BASE + 31), |
| 95 SSL_ERROR_RX_MALFORMED_CERT_REQUEST = (SSL_ERROR_BASE + 32), |
| 96 SSL_ERROR_RX_MALFORMED_HELLO_DONE = (SSL_ERROR_BASE + 33), |
| 97 SSL_ERROR_RX_MALFORMED_CERT_VERIFY = (SSL_ERROR_BASE + 34), |
| 98 SSL_ERROR_RX_MALFORMED_CLIENT_KEY_EXCH = (SSL_ERROR_BASE + 35), |
| 99 SSL_ERROR_RX_MALFORMED_FINISHED = (SSL_ERROR_BASE + 36), |
| 100 /* |
| 101 * Received a malformed (too long or short) SSL record. |
| 102 */ |
| 103 SSL_ERROR_RX_MALFORMED_CHANGE_CIPHER = (SSL_ERROR_BASE + 37), |
| 104 SSL_ERROR_RX_MALFORMED_ALERT = (SSL_ERROR_BASE + 38), |
| 105 SSL_ERROR_RX_MALFORMED_HANDSHAKE = (SSL_ERROR_BASE + 39), |
| 106 SSL_ERROR_RX_MALFORMED_APPLICATION_DATA = (SSL_ERROR_BASE + 40), |
| 107 /* |
| 108 * Received an SSL handshake that was inappropriate for the state we're in. |
| 109 * E.g. Server received message from server, or wrong state in state machine. |
| 110 */ |
| 111 SSL_ERROR_RX_UNEXPECTED_HELLO_REQUEST = (SSL_ERROR_BASE + 41), |
| 112 SSL_ERROR_RX_UNEXPECTED_CLIENT_HELLO = (SSL_ERROR_BASE + 42), |
| 113 SSL_ERROR_RX_UNEXPECTED_SERVER_HELLO = (SSL_ERROR_BASE + 43), |
| 114 SSL_ERROR_RX_UNEXPECTED_CERTIFICATE = (SSL_ERROR_BASE + 44), |
| 115 SSL_ERROR_RX_UNEXPECTED_SERVER_KEY_EXCH = (SSL_ERROR_BASE + 45), |
| 116 SSL_ERROR_RX_UNEXPECTED_CERT_REQUEST = (SSL_ERROR_BASE + 46), |
| 117 SSL_ERROR_RX_UNEXPECTED_HELLO_DONE = (SSL_ERROR_BASE + 47), |
| 118 SSL_ERROR_RX_UNEXPECTED_CERT_VERIFY = (SSL_ERROR_BASE + 48), |
| 119 SSL_ERROR_RX_UNEXPECTED_CLIENT_KEY_EXCH = (SSL_ERROR_BASE + 49), |
| 120 SSL_ERROR_RX_UNEXPECTED_FINISHED = (SSL_ERROR_BASE + 50), |
| 121 /* |
| 122 * Received an SSL record that was inappropriate for the state we're in. |
| 123 */ |
| 124 SSL_ERROR_RX_UNEXPECTED_CHANGE_CIPHER = (SSL_ERROR_BASE + 51), |
| 125 SSL_ERROR_RX_UNEXPECTED_ALERT = (SSL_ERROR_BASE + 52), |
| 126 SSL_ERROR_RX_UNEXPECTED_HANDSHAKE = (SSL_ERROR_BASE + 53), |
| 127 SSL_ERROR_RX_UNEXPECTED_APPLICATION_DATA= (SSL_ERROR_BASE + 54), |
| 128 /* |
| 129 * Received record/message with unknown discriminant. |
| 130 */ |
| 131 SSL_ERROR_RX_UNKNOWN_RECORD_TYPE = (SSL_ERROR_BASE + 55), |
| 132 SSL_ERROR_RX_UNKNOWN_HANDSHAKE = (SSL_ERROR_BASE + 56), |
| 133 SSL_ERROR_RX_UNKNOWN_ALERT = (SSL_ERROR_BASE + 57), |
| 134 /* |
| 135 * Received an alert reporting what we did wrong. (more alerts above) |
| 136 */ |
| 137 SSL_ERROR_CLOSE_NOTIFY_ALERT = (SSL_ERROR_BASE + 58), |
| 138 SSL_ERROR_HANDSHAKE_UNEXPECTED_ALERT = (SSL_ERROR_BASE + 59), |
| 139 SSL_ERROR_DECOMPRESSION_FAILURE_ALERT = (SSL_ERROR_BASE + 60), |
| 140 SSL_ERROR_HANDSHAKE_FAILURE_ALERT = (SSL_ERROR_BASE + 61), |
| 141 SSL_ERROR_ILLEGAL_PARAMETER_ALERT = (SSL_ERROR_BASE + 62), |
| 142 SSL_ERROR_UNSUPPORTED_CERT_ALERT = (SSL_ERROR_BASE + 63), |
| 143 SSL_ERROR_CERTIFICATE_UNKNOWN_ALERT = (SSL_ERROR_BASE + 64), |
| 144 |
| 145 SSL_ERROR_GENERATE_RANDOM_FAILURE = (SSL_ERROR_BASE + 65), |
| 146 SSL_ERROR_SIGN_HASHES_FAILURE = (SSL_ERROR_BASE + 66), |
| 147 SSL_ERROR_EXTRACT_PUBLIC_KEY_FAILURE = (SSL_ERROR_BASE + 67), |
| 148 SSL_ERROR_SERVER_KEY_EXCHANGE_FAILURE = (SSL_ERROR_BASE + 68), |
| 149 SSL_ERROR_CLIENT_KEY_EXCHANGE_FAILURE = (SSL_ERROR_BASE + 69), |
| 150 |
| 151 SSL_ERROR_ENCRYPTION_FAILURE = (SSL_ERROR_BASE + 70), |
| 152 SSL_ERROR_DECRYPTION_FAILURE = (SSL_ERROR_BASE + 71), |
| 153 SSL_ERROR_SOCKET_WRITE_FAILURE = (SSL_ERROR_BASE + 72), |
| 154 |
| 155 SSL_ERROR_MD5_DIGEST_FAILURE = (SSL_ERROR_BASE + 73), |
| 156 SSL_ERROR_SHA_DIGEST_FAILURE = (SSL_ERROR_BASE + 74), |
| 157 SSL_ERROR_MAC_COMPUTATION_FAILURE = (SSL_ERROR_BASE + 75), |
| 158 SSL_ERROR_SYM_KEY_CONTEXT_FAILURE = (SSL_ERROR_BASE + 76), |
| 159 SSL_ERROR_SYM_KEY_UNWRAP_FAILURE = (SSL_ERROR_BASE + 77), |
| 160 SSL_ERROR_PUB_KEY_SIZE_LIMIT_EXCEEDED = (SSL_ERROR_BASE + 78), |
| 161 SSL_ERROR_IV_PARAM_FAILURE = (SSL_ERROR_BASE + 79), |
| 162 SSL_ERROR_INIT_CIPHER_SUITE_FAILURE = (SSL_ERROR_BASE + 80), |
| 163 SSL_ERROR_SESSION_KEY_GEN_FAILURE = (SSL_ERROR_BASE + 81), |
| 164 SSL_ERROR_NO_SERVER_KEY_FOR_ALG = (SSL_ERROR_BASE + 82), |
| 165 SSL_ERROR_TOKEN_INSERTION_REMOVAL = (SSL_ERROR_BASE + 83), |
| 166 SSL_ERROR_TOKEN_SLOT_NOT_FOUND = (SSL_ERROR_BASE + 84), |
| 167 SSL_ERROR_NO_COMPRESSION_OVERLAP = (SSL_ERROR_BASE + 85), |
| 168 SSL_ERROR_HANDSHAKE_NOT_COMPLETED = (SSL_ERROR_BASE + 86), |
| 169 SSL_ERROR_BAD_HANDSHAKE_HASH_VALUE = (SSL_ERROR_BASE + 87), |
| 170 SSL_ERROR_CERT_KEA_MISMATCH = (SSL_ERROR_BASE + 88), |
| 171 SSL_ERROR_NO_TRUSTED_SSL_CLIENT_CA = (SSL_ERROR_BASE + 89), |
| 172 SSL_ERROR_SESSION_NOT_FOUND = (SSL_ERROR_BASE + 90), |
| 173 |
| 174 SSL_ERROR_DECRYPTION_FAILED_ALERT = (SSL_ERROR_BASE + 91), |
| 175 SSL_ERROR_RECORD_OVERFLOW_ALERT = (SSL_ERROR_BASE + 92), |
| 176 SSL_ERROR_UNKNOWN_CA_ALERT = (SSL_ERROR_BASE + 93), |
| 177 SSL_ERROR_ACCESS_DENIED_ALERT = (SSL_ERROR_BASE + 94), |
| 178 SSL_ERROR_DECODE_ERROR_ALERT = (SSL_ERROR_BASE + 95), |
| 179 SSL_ERROR_DECRYPT_ERROR_ALERT = (SSL_ERROR_BASE + 96), |
| 180 SSL_ERROR_EXPORT_RESTRICTION_ALERT = (SSL_ERROR_BASE + 97), |
| 181 SSL_ERROR_PROTOCOL_VERSION_ALERT = (SSL_ERROR_BASE + 98), |
| 182 SSL_ERROR_INSUFFICIENT_SECURITY_ALERT = (SSL_ERROR_BASE + 99), |
| 183 SSL_ERROR_INTERNAL_ERROR_ALERT = (SSL_ERROR_BASE + 100), |
| 184 SSL_ERROR_USER_CANCELED_ALERT = (SSL_ERROR_BASE + 101), |
| 185 SSL_ERROR_NO_RENEGOTIATION_ALERT = (SSL_ERROR_BASE + 102), |
| 186 |
| 187 SSL_ERROR_SERVER_CACHE_NOT_CONFIGURED = (SSL_ERROR_BASE + 103), |
| 188 |
| 189 SSL_ERROR_UNSUPPORTED_EXTENSION_ALERT = (SSL_ERROR_BASE + 104), |
| 190 SSL_ERROR_CERTIFICATE_UNOBTAINABLE_ALERT = (SSL_ERROR_BASE + 105), |
| 191 SSL_ERROR_UNRECOGNIZED_NAME_ALERT = (SSL_ERROR_BASE + 106), |
| 192 SSL_ERROR_BAD_CERT_STATUS_RESPONSE_ALERT = (SSL_ERROR_BASE + 107), |
| 193 SSL_ERROR_BAD_CERT_HASH_VALUE_ALERT = (SSL_ERROR_BASE + 108), |
| 194 |
| 195 SSL_ERROR_RX_UNEXPECTED_NEW_SESSION_TICKET = (SSL_ERROR_BASE + 109), |
| 196 SSL_ERROR_RX_MALFORMED_NEW_SESSION_TICKET = (SSL_ERROR_BASE + 110), |
| 197 |
| 198 SSL_ERROR_DECOMPRESSION_FAILURE = (SSL_ERROR_BASE + 111), |
| 199 SSL_ERROR_RENEGOTIATION_NOT_ALLOWED = (SSL_ERROR_BASE + 112), |
| 200 |
| 201 SSL_ERROR_END_OF_LIST /* let the c compiler determine the value of this. */ |
| 202 } SSLErrorCodes; |
| 203 #endif /* NO_SECURITY_ERROR_ENUM */ |
| 204 |
| 205 #endif /* __SSL_ERR_H_ */ |
OLD | NEW |