ssherr.h 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. /* $OpenBSD: ssherr.h,v 1.8 2020/01/25 23:13:09 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. #ifndef _SSHERR_H
  18. #define _SSHERR_H
  19. /* XXX are these too granular? not granular enough? I can't decide - djm */
  20. /* Error codes */
  21. #define SSH_ERR_SUCCESS 0
  22. #define SSH_ERR_INTERNAL_ERROR -1
  23. #define SSH_ERR_ALLOC_FAIL -2
  24. #define SSH_ERR_MESSAGE_INCOMPLETE -3
  25. #define SSH_ERR_INVALID_FORMAT -4
  26. #define SSH_ERR_BIGNUM_IS_NEGATIVE -5
  27. #define SSH_ERR_STRING_TOO_LARGE -6
  28. #define SSH_ERR_BIGNUM_TOO_LARGE -7
  29. #define SSH_ERR_ECPOINT_TOO_LARGE -8
  30. #define SSH_ERR_NO_BUFFER_SPACE -9
  31. #define SSH_ERR_INVALID_ARGUMENT -10
  32. #define SSH_ERR_KEY_BITS_MISMATCH -11
  33. #define SSH_ERR_EC_CURVE_INVALID -12
  34. #define SSH_ERR_KEY_TYPE_MISMATCH -13
  35. #define SSH_ERR_KEY_TYPE_UNKNOWN -14 /* XXX UNSUPPORTED? */
  36. #define SSH_ERR_EC_CURVE_MISMATCH -15
  37. #define SSH_ERR_EXPECTED_CERT -16
  38. #define SSH_ERR_KEY_LACKS_CERTBLOB -17
  39. #define SSH_ERR_KEY_CERT_UNKNOWN_TYPE -18
  40. #define SSH_ERR_KEY_CERT_INVALID_SIGN_KEY -19
  41. #define SSH_ERR_KEY_INVALID_EC_VALUE -20
  42. #define SSH_ERR_SIGNATURE_INVALID -21
  43. #define SSH_ERR_LIBCRYPTO_ERROR -22
  44. #define SSH_ERR_UNEXPECTED_TRAILING_DATA -23
  45. #define SSH_ERR_SYSTEM_ERROR -24
  46. #define SSH_ERR_KEY_CERT_INVALID -25
  47. #define SSH_ERR_AGENT_COMMUNICATION -26
  48. #define SSH_ERR_AGENT_FAILURE -27
  49. #define SSH_ERR_DH_GEX_OUT_OF_RANGE -28
  50. #define SSH_ERR_DISCONNECTED -29
  51. #define SSH_ERR_MAC_INVALID -30
  52. #define SSH_ERR_NO_CIPHER_ALG_MATCH -31
  53. #define SSH_ERR_NO_MAC_ALG_MATCH -32
  54. #define SSH_ERR_NO_COMPRESS_ALG_MATCH -33
  55. #define SSH_ERR_NO_KEX_ALG_MATCH -34
  56. #define SSH_ERR_NO_HOSTKEY_ALG_MATCH -35
  57. #define SSH_ERR_NO_HOSTKEY_LOADED -36
  58. #define SSH_ERR_PROTOCOL_MISMATCH -37
  59. #define SSH_ERR_NO_PROTOCOL_VERSION -38
  60. #define SSH_ERR_NEED_REKEY -39
  61. #define SSH_ERR_PASSPHRASE_TOO_SHORT -40
  62. #define SSH_ERR_FILE_CHANGED -41
  63. #define SSH_ERR_KEY_UNKNOWN_CIPHER -42
  64. #define SSH_ERR_KEY_WRONG_PASSPHRASE -43
  65. #define SSH_ERR_KEY_BAD_PERMISSIONS -44
  66. #define SSH_ERR_KEY_CERT_MISMATCH -45
  67. #define SSH_ERR_KEY_NOT_FOUND -46
  68. #define SSH_ERR_AGENT_NOT_PRESENT -47
  69. #define SSH_ERR_AGENT_NO_IDENTITIES -48
  70. #define SSH_ERR_BUFFER_READ_ONLY -49
  71. #define SSH_ERR_KRL_BAD_MAGIC -50
  72. #define SSH_ERR_KEY_REVOKED -51
  73. #define SSH_ERR_CONN_CLOSED -52
  74. #define SSH_ERR_CONN_TIMEOUT -53
  75. #define SSH_ERR_CONN_CORRUPT -54
  76. #define SSH_ERR_PROTOCOL_ERROR -55
  77. #define SSH_ERR_KEY_LENGTH -56
  78. #define SSH_ERR_NUMBER_TOO_LARGE -57
  79. #define SSH_ERR_SIGN_ALG_UNSUPPORTED -58
  80. #define SSH_ERR_FEATURE_UNSUPPORTED -59
  81. #define SSH_ERR_DEVICE_NOT_FOUND -60
  82. /* Translate a numeric error code to a human-readable error string */
  83. const char *ssh_err(int n);
  84. #endif /* _SSHERR_H */